{"id":286,"date":"2022-01-21T15:49:14","date_gmt":"2022-01-21T12:49:14","guid":{"rendered":"https:\/\/innowise-group.inno.ws\/?page_id=286"},"modified":"2026-06-03T10:28:37","modified_gmt":"2026-06-03T14:28:37","slug":"contact-us","status":"publish","type":"page","link":"https:\/\/innowise.com\/it\/contact-us\/","title":{"rendered":"Contattateci"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"286\" class=\"elementor elementor-286\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f3071c7 e-flex e-con-boxed e-con e-parent\" data-id=\"f3071c7\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-822a985 elementor-widget elementor-widget-shortcode\" data-id=\"822a985\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\n<div class=\"wpcf7 no-js\" id=\"wpcf7-f188684-o1\" lang=\"en-US\" dir=\"ltr\" data-wpcf7-id=\"188684\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/it\/wp-json\/wp\/v2\/pages\/286#wpcf7-f188684-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Contact form\" enctype=\"multipart\/form-data\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"188684\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"en_US\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f188684-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/><input type=\"hidden\" name=\"_wpcf7_recaptcha_response\" value=\"\" \/>\n<\/fieldset>\n<style>\n#form-templates .contact__info {\n  background-color: #f4f4f4;\n  padding: 70px 44px 70px 50px;\n  position: relative;\n  max-width: 540px;\n  width: 100%;\nborder: 1px solid #AEB1B7;\n}\n\n#form-templates .contact__info-background {\n  z-index: -1;\n  position: absolute;\n  top: 20px;\n  left: 20px;\n  width: 100%;\n  height: 100%;\n  border: 1px dashed #ef4557;\n}\n\n\n#form-templates .new-container{\ndisplay: flex;\njustify-content: space-between;\nflex-wrap: wrap;\n}\n\n\n#form-templates{\npadding: 100px 15px 100px 15px;        \n}\n\n#form-templates .contact__info-heading {\n  font-family: 'Sora' !important;\n  font-style: normal !important;\n  font-weight: 400 !important;\n  font-size: 36px !important;\n  line-height: 46px !important;\n  color: #2E2E2E !important;\n   margin-bottom: 60px !important;\n\n}\n\n\n#form-templates .message label{\ncolor: #585858 !important;   \n}\n\n.elementor-widget-container.form-template h2,.elementor-widget-container.form-template h1{\n font-size: 60px !important;\n  line-height: 70px !important;\n  font-family: \"Sora\", Sans-serif;\n  font-weight: 400;\n  margin: 0;  \n  margin-bottom: 20px;\n}\n\n\n\n\n.elementor-widget-container.form-template p{\n  font-family: \"Karla\", Sans-serif;\n  font-size: 22px;\n  font-weight: 400;\n  line-height: 28px;\n  color: var( --e-global-color-primary );\n  max-width: 700px;\n  margin: 0; \n  margin-bottom: 40px;\n} \n  \n\n\n.new-container #spinner{\nwidth: 50%;\nmax-width: 700px;\n}\n\n\n#form-templates .new-container #spinner div.contact-us__wrapper:nth-child(6){\ngap:30px; \n    \n}\n\n\n#form-templates .contact__info-heading {\n  margin-bottom: 67px;\n  font-size: 36px;\n  font-family: karla;\n  color:  #2E2E2E;\n\n  line-height: 49px;\n}\n\n#form-templates .contact__info-steps {\n  display: flex;\n  flex-direction: column;\n  max-width: 425x;\n  row-gap: 20px;\n  border-left: 1px solid #2e2e2e;\n}\n\n#form-templates .contact__info-block {\n  position: relative;\n  padding-left: 45px;\n}\n\n#form-templates .contact__info-block:last-child {\n  box-shadow: -1px 0 0 1px #f4f4f4;\n}\n\n#form-templates .contact__info-step {\n  position: absolute;\n  border: 1px solid #2e2e2e;\n  width: 40px;\n  height: 40px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border-radius: 20px;\n  left: -20px;\n  top: -8px;\n  background-color: #F4F4F4;\n  color:  #2E2E2E;\n\nfont-family: Karla;\nfont-weight: 700;\nfont-size: 18px;\nline-height: 28px;\n\n}\n\n.elementor-widget-global .contact__info-step {\n        color:  #2E2E2E;\n}\n\n#form-templates .contact__info-text {\n  margin: 0;\n  font-size: 16px;\n  line-height: 26px;\n  color: #2E2E2E;\n  font-family: karla;\n\n  width: 100%;\n}\n\n\n#form-templates .contact-us__send{\nflex-shrink:0;\nmargin-top:0;\n}\n\n\n\n@media screen and (max-width: 1279px) {\n    .new-container #spinner{\n        width: 100%;\n        max-width:100%;\n        margin-bottom:40px;\n    }\n    \n\n    .new-container .contact__info {\n        max-width: 700px !important;\n    }\n    \n}\n\n\n@media screen and (max-width: 1279px) {\n#form-templates{\npadding: 60px 15px 70px 15px;     \n}\n}\n\n\n\n@media screen and (max-width: 767px) {\n\n#form-templates .new-container #spinner div.contact-us__wrapper:nth-child(6){\ngap:20px; \n \n}\n\n\n  #form-templates .contact__info {\n    padding: 20px 20px 40px 40px;\n    margin: 0 auto;\n  }\n\n\n#form-templates{\npadding: 40px 15px 50px 15px;  \n    \n}\n\n  \n   .new-container #spinner{\n       \n    margin-bottom:30px;   \n   }\n   \n   \n   .elementor-widget-container.form-template h2,.elementor-widget-container.form-template h1{\n   font-size: 32px !important;\n    line-height: 42px !important;    \n   }\n   \n   \n   .elementor-widget-container.form-template p{\n       \n    font-size: 16px;\n    line-height: 20px;  \n    margin-bottom: 30px;\n \n       \n   }\n   \n   #form-templates .contact__info-heading{\n   font-size: 24px !important;\n    line-height: 49px !important;    \n       \n   }\n   \n\n.mailToContact{\nmargin-top: 10px !important;        \n}\n   \n\n  #form-templates .contact__info-heading {\n    font-size: 24px;\n    margin-bottom: 37px;\n  }\n\n  #form-templates .contact__info-background {\n    top: 10px;\n    left: 10px;\n  }\n\n  #form-templates .contact__info-text {\n    font-size: 12px;\n    line-height: 20px;\n  }\n  \n  \n  #form-templates .contact__info-heading {\n   margin-bottom: 35px !important;\n\n}\n\n}\n<\/style>\n\n<script>\nwindow.addEventListener('hashchange',function(e){if(window.history.pushState){window.history.pushState('','\/',window.location.pathname)}else{window.location.hash=''}})\n<\/script>\n\n\n<div id=\"form-templates\">\n<div class=\"elementor-widget-container form-template\">\n<a name=\"contact-form\"><\/a>\n<h1>Contact us<\/h1>\n<p><a id=\"calendlylink\" style=\"color: #c63031; border-bottom: 1px solid #c63031; padding: 0;\">Book a call<\/a> or fill out the form below and we\u2019ll get back to you once we\u2019ve processed your request.<\/p>\n<\/div>\n\n<div class=\"new-container\">\n\n\n<div class=\"contact-us__main\" id=\"spinner\" data-no-defer=\"1\">\n\n<div class=\"contact-us__wrapper\">\n\n<div class=\"name\">\n<label>Name<\/label>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"field_name\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required contact-us__name\" id=\"contact-name\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Name*\" value=\"\" type=\"text\" name=\"field_name\" \/><\/span>\n<\/div>\n\n<div class=\"company\">\n<label>Company<\/label>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"company\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required contact-us__company\" id=\"contact-company\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Company*\" value=\"\" type=\"text\" name=\"company\" \/><\/span>\n<\/div>\n\n<\/div>\n\n<div class=\"contact-us__wrapper\">\n\n<div class=\"email\">\n<label>Email<\/label>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"email\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email contact-us__email\" id=\"contact-email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Corporate email*\" value=\"\" type=\"email\" name=\"email\" \/><\/span>\n<\/div>\n\n<div class=\"phone\">\n<label>Phone<\/label>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"tel\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel contact-us__phone\" id=\"contact-phone\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Phone*\" value=\"\" type=\"tel\" name=\"tel\" \/><\/span>\n<\/div>\n\n<\/div>\n<div class=\"contact-us__wrapper subj\">\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-recipient\"><select class=\"wpcf7-form-control wpcf7-select\" id=\"form-field-subj_js\" aria-invalid=\"false\" name=\"your-recipient\"><option value=\"\">Subject*<\/option><option value=\"IT staff augmentation\">IT staff augmentation<\/option><option value=\"Turnkey product development\">Turnkey product development<\/option><option value=\"Support and enhancement\">Support and enhancement<\/option><option value=\"Careers\">Careers<\/option><option value=\"Other\">Other<\/option><\/select><\/span>\n\n<span class=\"wpcf7-form-control-wrap\" data-name=\"form-field-budget_js\"><select class=\"wpcf7-form-control wpcf7-select\" id=\"form-field-budget_js\" aria-invalid=\"false\" name=\"form-field-budget_js\"><option value=\"\">Project budget<\/option><option value=\"Under $15K\">Under $15K<\/option><option value=\"$15K-$30K\">$15K-$30K<\/option><option value=\"$30K-$100K\">$30K-$100K<\/option><option value=\"$100K-$250K\">$100K-$250K<\/option><option value=\"$250K-$500K\">$250K-$500K<\/option><option value=\"More than $500K\">More than $500K<\/option><\/select><\/span>\n\n<\/div>\n\n\n<div class=\"message\">\n<label>Message<\/label>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"message\"><textarea cols=\"40\" rows=\"1\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea wpcf7-validates-as-required contact-us__message\" id=\"contact-message\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Describe your needs in detail*\" name=\"message\"><\/textarea><\/span>\n<\/div>\n\n<div class=\"atvoice-wrap\">\n\n<div class=\"voice-wrap\">\n<span id=\"voice-mut\" class=\"voicetext\">Send us a voice message<\/span>\n         <div class=\"qc_voice_audio_wrapper\">\n            <div class=\"qc_voice_audio_container\">\n                <div class=\"qc_voice_audio_upload_main\" id=\"qc_audio_main\">\n                    <a class=\"qc_audio_record_button\" id=\"qc_audio_record\" href=\"#\" aria-label=\"Record an audio message\">\n                        <span class=\"dashicons dashicons-microphone\"><\/span> \u00a0<\/a> \n                <\/div>\n\n                <div class=\"qc_voice_audio_recorder\" id=\"qc_audio_recorder\" style=\"display:none\">\n\n                <\/div>\n                <div class=\"qc_voice_audio_display\" id=\"qc_audio_display\"  style=\"display:none\">\n                    <audio id=\"qc-audio\" controls src=\"\"><\/audio>\n                    <span title=\"Remove and back to main upload screen.\" class=\"qc_audio_remove_button dashicons dashicons-trash\"><\/span>\n                <\/div>\n            <\/div>\n            <input type=\"hidden\" value=\"\" name=\"qcwpvoicemessage\" id=\"qc_audio_url\" \/>\n        <\/div>\n        \n<\/div>\n\n\n<div class=\"attach-wrap\">\n<span class=\"voicetext\">Attach documents<\/span>\n\n<div class='attachment'>\n\n<div class=\"downloaded\">\n<span><\/span>\n<div class=\"deleteFile\"><\/div>\n<\/div>\n\n<div class=\"attachmentButton\" onclick=\"(function cl(e){if(e.target.nodeName == 'DIV'){e.target.parentNode.children[1].children[0].click(); }})(arguments[0]);\">\n\n<div class=\"innerText\">Upload file<\/div>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"att-files\"><input size=\"40\" class=\"wpcf7-form-control wpcf7-file\" accept=\".jpg,.png,.jpeg,.pdf\" aria-invalid=\"false\" type=\"file\" name=\"att-files\" \/><\/span>\n\n<div class=\"tip\" onclick=\"event.stopPropagation()\">\n<p>You can attach 1 file up to 2MB. Valid file formats: pdf, jpg, jpeg, png.<\/p>\n<\/div>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n\n\n<\/div>\n\n<div class=\"contact-us__wrapper\"> \n<p class=\"pp\">By clicking Send, you consent to Innowise processing your personal data per our<a href=\"\/privacy-notice\/\"> Privacy Policy <\/a>to provide you with relevant information. By submitting your phone number, you agree that we may contact you via voice calls, SMS, and messaging apps. Calling, message, and data rates may apply.<\/p>\n\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"scoring_point\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"utmCampaign\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"utmContent\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"utmMedium\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"utmSource\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"utmTerm\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"location\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"city\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"ip\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"Summ\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"gclid\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"rating\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"urlCompany\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"urlWithParams\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"audioMessageLink\" \/>\n<input class=\"wpcf7-form-control wpcf7-submit has-spinner contact-us__send\" id=\"contact-send-button\" type=\"submit\" value=\"Send\" \/>\n<\/div>\n\n<div class='mailToContact'>You can also send us your request <\/br>to <a href=\"mailto:contact@innowise.com\">contact@innowise.com<\/a><\/div>\n\n<\/div>\n\n<div class=\"elementor-widget-container\" style=\"z-index:1;\">\n<div class=\"contact__info\">\n  <div class=\"contact__info-background\"><\/div>\n  <h3 class=\"contact__info-heading\">What happens next?<\/h3>\n  <div class=\"contact__info-steps\">\n\n    <div class=\"contact__info-block\">\n      <div class=\"contact__info-step\">1<\/div>\n      <p class=\"contact__info-text\">Once we\u2019ve received and processed your request, we\u2019ll get back to you to detail your\n        project needs and sign an NDA to ensure confidentiality.<\/p>\n    <\/div>\n\n    <div class=\"contact__info-block\">\n      <div class=\"contact__info-step\">2<\/div>\n      <p class=\"contact__info-text\">After examining your wants, needs, and expectations, our team will devise a project\n        proposal with the scope of work, team size, time, and cost estimates.<\/p>\n    <\/div>\n\n    <div class=\"contact__info-block\">\n      <div class=\"contact__info-step\">3<\/div>\n      <p class=\"contact__info-text\">We\u2019ll arrange a meeting with you to discuss the offer and nail down the details.<\/p>\n    <\/div>\n\n    <div class=\"contact__info-block\">\n      <div class=\"contact__info-step\">4<\/div>\n      <p class=\"contact__info-text\">Finally, we\u2019ll sign a contract and start working on your project right away.<\/p>\n    <\/div>\n  <\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\n<\/div>\n\n<\/div><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3668d49a elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3668d49a\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-78165677\" data-id=\"78165677\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-37f63315 elementor-widget elementor-widget-html\" data-id=\"37f63315\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"contact__info-desktop\">\r\n  <h3 class=\"contact__info-desktop-heading\">What happens next?<\/h3>\r\n  <div class=\"contact__info-desktop-steps\">\r\n\r\n    <div class=\"contact__info-desktop-block\">\r\n      <div class=\"contact__info-desktop-step\">1<\/div>\r\n      <p class=\"contact__info-desktop-text\">Once we\u2019ve received and processed your request, we\u2019ll get back to you to detail your\r\n        project needs and sign an NDA to ensure confidentiality.<\/p>\r\n    <\/div>\r\n\r\n    <div class=\"contact__info-desktop-block\">\r\n      <div class=\"contact__info-desktop-step\">2<\/div>\r\n      <p class=\"contact__info-desktop-text\">After examining your wants, needs, and expectations, our team will devise a project\r\n        proposal with the scope of work, team size, time, and cost estimates.<\/p>\r\n    <\/div>\r\n\r\n    <div class=\"contact__info-desktop-block\">\r\n      <div class=\"contact__info-desktop-step\">3<\/div>\r\n      <p class=\"contact__info-desktop-text\">We\u2019ll arrange a meeting with you to discuss the offer and nail down the details.<\/p>\r\n    <\/div>\r\n\r\n    <div class=\"contact__info-desktop-block\">\r\n      <div class=\"contact__info-desktop-step\">4<\/div>\r\n      <p class=\"contact__info-desktop-text\">Finally, we\u2019ll sign a contract and start working on your project right away.<\/p>\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/div>\r\n\r\n<div class=\"contact__info-mobile\">\r\n  <div class=\"contact__info-mobile-background\"><\/div>\r\n  <h3 class=\"contact__info-mobile-heading\">What happens next?<\/h3>\r\n  <div class=\"contact__info-mobile-steps\">\r\n\r\n    <div class=\"contact__info-mobile-block\">\r\n      <div class=\"contact__info-mobile-step\">1<\/div>\r\n      <p class=\"contact__info-mobile-text\">Once we\u2019ve received and processed your request, we\u2019ll get back to you to\r\n        detail your project needs and sign an NDA to ensure confidentiality.<\/p>\r\n    <\/div>\r\n\r\n    <div class=\"contact__info-mobile-block\">\r\n      <div class=\"contact__info-mobile-step\">2<\/div>\r\n      <p class=\"contact__info-mobile-text\">After examining your wants, needs, and expectations, our team will devise a\r\n        project proposal with the scope of work, team size, time, and cost estimates.<\/p>\r\n    <\/div>\r\n\r\n    <div class=\"contact__info-mobile-block\">\r\n      <div class=\"contact__info-mobile-step\">3<\/div>\r\n      <p class=\"contact__info-mobile-text\">We\u2019ll arrange a meeting with you to discuss the offer and nail down the\r\n        details.<\/p>\r\n    <\/div>\r\n\r\n    <div class=\"contact__info-mobile-block\">\r\n      <div class=\"contact__info-mobile-step\">4<\/div>\r\n      <p class=\"contact__info-mobile-text\">Finally, we\u2019ll sign a contract and start working on your project right away.\r\n      <\/p>\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d5ca822 elementor-hidden-mobile elementor-widget elementor-widget-spacer\" data-id=\"d5ca822\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t<div class=\"elementor-element elementor-element-e5bf6b7 e-flex e-con-boxed e-con e-parent\" data-id=\"e5bf6b7\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f0d2df0 elementor-widget__width-initial elementor-widget-tablet__width-inherit deBreak elementor-widget elementor-widget-heading\" data-id=\"f0d2df0\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Our offices worldwide<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0fa7f33 e-con-full e-flex e-con e-child\" data-id=\"0fa7f33\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2e14b3a switcher-section elementor-widget elementor-widget-html\" data-id=\"2e14b3a\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n\/* =========================================\r\n   Office Switcher Directory Styles (BEM)\r\n========================================= *\/\r\n.office-switcher {\r\n    width: 100%;\r\n    color: #2e2e2e;\r\n    font-family: Karla, sans-serif;\r\n    position: relative;\r\n}\r\n\r\n.office-switcher__container {\r\n    display: flex;\r\n    gap: 80px;\r\n}\r\n\r\n\/* Sidebar Navigation Tabs (Desktop) *\/\r\n.office-switcher__tabs {\r\n    height: 100%;\r\n    width: 100%;\r\n    list-style: none;\r\n    overflow-y: auto;\r\n    overflow-x: hidden;\r\n    background-color: transparent;\r\n    position: relative;\r\n    max-height: 550px;\r\n    max-width: 280px;\r\n    min-width: 220px;\r\n    padding: 0;\r\n    margin: 0;\r\n}\r\n\r\n@media (max-width: 1400px) {\r\n    .office-switcher__tabs {\r\n        max-width: 220px;\r\n    }\r\n}\r\n\r\n.office-switcher__tabs::-webkit-scrollbar {\r\n    position: absolute;\r\n    width: 3px;\r\n    background-color: #F5F5F7;\r\n}\r\n\r\n.office-switcher__tabs::-webkit-scrollbar-thumb {\r\n    position: absolute;\r\n    background-color: #999999;\r\n    border-radius: 3px;\r\n}\r\n\r\n.office-switcher__tab-item {\r\n    position: relative;\r\n    padding: 18px 12px 18px 23px;\r\n    color: #717171;\r\n    border-left: 1px solid #999999;\r\n    font-family: Sora, sans-serif;\r\n    font-weight: 600;\r\n    font-size: 16px;\r\n    line-height: 23px;\r\n    word-break: break-word;\r\n    cursor: pointer;\r\n    transition: color 0.2s ease;\r\n}\r\n\r\n.office-switcher__tab-item:hover {\r\n    color: #2E2E2E;\r\n}\r\n\r\n.office-switcher__tab-item:not(.active):hover::before {\r\n    content: \"\";\r\n    position: absolute;\r\n    top: 0;\r\n    left: -1px;\r\n    display: block;\r\n    height: 100%;\r\n    border-left: 3px solid #999999;\r\n}\r\n\r\n.office-switcher__tab-item.active {\r\n    color: #2e2e2e;\r\n}\r\n\r\n.office-switcher__tab-item.active::before {\r\n    content: \"\";\r\n    position: absolute;\r\n    top: 0;\r\n    left: -1px;\r\n    display: block;\r\n    height: 100%;\r\n    border-left: 3px solid #c63031;\r\n}\r\n\r\n\/* =========================================\r\n   Tablet Horizontal Swiper Navigation Header \r\n========================================= *\/\r\n.x-industries__list {\r\n    display: none; \r\n    position: relative; \r\n    border-bottom: 1px solid #c4c4c4;\r\n    margin-bottom: 60px;\r\n    width: 100%;\r\n}\r\n\r\n.x-industries__swiper {\r\n    position: relative;\r\n    overflow: hidden;\r\n    box-sizing: border-box !important;  \r\n    width: 100% !important;\r\n}\r\n\r\n.x-industries__list_container.swiper-wrapper {\r\n    display: flex;\r\n    width: 100%;\r\n    list-style: none;\r\n    padding: 0;\r\n    margin: 0;\r\n}\r\n\r\n.x-industries__list li {\r\n    flex-shrink: 0;\r\n    width: auto !important;\r\n    padding: 24px 12px;\r\n    color: #717171;\r\n    font-family: Sora, sans-serif;\r\n    font-weight: 600;\r\n    font-size: 18px;\r\n    line-height: 100%;\r\n    cursor: pointer;\r\n    border-bottom: 1px solid transparent;\r\n    transition: color 0.2s ease, border-color 0.2s ease;\r\n}\r\n\r\n.x-industries__list li:hover {\r\n    color: #C63031;\r\n}\r\n\r\n.x-industries__list li.active {\r\n    color: #2e2e2e;\r\n    border-bottom: 3px solid #c63031;\r\n}\r\n\r\n.x-industries__navigation {\r\n    position: absolute;\r\n    right: 0;\r\n    top: 0;\r\n    bottom: 0;\r\n    z-index: 15; \r\n    display: none; \r\n    align-items: center;\r\n    justify-content: flex-end;\r\n    width: 140px;\r\n    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 35%);\r\n    gap: 8px;\r\n    padding-right: 10px;\r\n    pointer-events: none; \r\n}\r\n\r\n.x-industries__navigation-btn {\r\n    pointer-events: auto; \r\n    background: transparent;\r\n    padding: 0;\r\n    border: none !important;\r\n    outline: none !important;\r\n    cursor: pointer;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n}\r\n\r\n.x-industries__navigation-btn.swiper-button-disabled {\r\n    opacity: 0.3;\r\n    cursor: default;\r\n}\r\n\r\n\/* Content Panels Viewport *\/\r\n.office-switcher__content {\r\n    max-width: 1040px;\r\n    width: 100%;\r\n    flex-grow: 1;\r\n}\r\n\r\n.office-switcher__slide {\r\n    display: none;\r\n    flex-direction: column;\r\n    gap: 40px;\r\n    height: auto;\r\n    width: 100%;\r\n}\r\n\r\n.office-switcher__slide.active {\r\n    display: flex !important;\r\n}\r\n\r\n\/* Active Region Block Header *\/\r\n.office-switcher__slide-header {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    align-items: flex-end;\r\n    padding-bottom: 16px;\r\n    border-bottom: 1px solid #E8E8E8;\r\n    width: 100%;\r\n}\r\n\r\n.office-switcher__region-title {\r\n    color: #2E2E2E;\r\n    font-weight: 600;\r\n    line-height: 32px;\r\n    font-size: 24px;\r\n    font-family: Sora, sans-serif;\r\n    padding: 0;\r\n    margin: 0;\r\n}\r\n\r\n.office-switcher__region-phones {\r\n    display: flex;\r\n    flex-direction: row;\r\n    align-items: flex-end;\r\n    gap: 20px;\r\n}\r\n\r\n.office-switcher__phone-link {\r\n    font-family: Karla, sans-serif;\r\n    font-weight: 500;\r\n    font-size: 20px;\r\n    line-height: 28px;\r\n    text-decoration: underline;\r\n    color: #2e2e2e;\r\n    border-bottom: 1px solid #2e2e2e;\r\n    align-items: center;\r\n}\r\n\r\n\/* Response Layout Columns Grid *\/\r\n.office-switcher__grid {\r\n    display: grid;\r\n    grid-template-columns: repeat(2, 1fr);\r\n    gap: 40px;\r\n    width: 100%;\r\n}\r\n\r\n\/* Individual Office Component Cards *\/\r\n.office-card {\r\n    background-color: #F5F5F7;\r\n    padding: 0;\r\n    display: flex;\r\n    justify-content: space-between;\r\n    align-items: stretch;\r\n    gap: 0;\r\n    position: relative;\r\n    cursor: pointer;\r\n    min-height: 170px;\r\n    transition: border-color 0.25s ease, background-color 0.25s ease;\r\n    border: 1px solid transparent;\r\n}\r\n\r\n.office-card:hover {\r\n    border: 1px solid #2E2E2E;\r\n}\r\n\r\n.office-card__details {\r\n    display: flex;\r\n    flex-direction: column;\r\n    gap: 12px;\r\n    flex: 1;\r\n    padding-inline: 30px 20px;\r\n    justify-content: center;\r\n    min-width: 250px;\r\n}\r\n\r\n.office-card__meta {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 10px;\r\n    padding-top: 20px;\r\n}\r\n\r\n.office-card__flag {\r\n    min-width: 18px;\r\n    max-width: 18px !important;\r\n    height: auto;\r\n    object-fit: contain;\r\n}\r\n\r\n.office-card__country {\r\n    font-family: Sora !important;\r\n    font-size: 18px !important;\r\n    font-weight: 400 !important;\r\n    line-height: 100% !important;\r\n    margin: 0;\r\n    color: #2e2e2e;\r\n}\r\n\r\n.office-card__address {\r\n    font-family: Karla;\r\n    font-size: 16px;\r\n    font-weight: 400;\r\n    line-height: 150%;\r\n    color: #2e2e2e;\r\n    padding-bottom: 20px;\r\n}\r\n\r\n.office-card__address b {\r\n    font-family: Karla;\r\n    font-size: 18px;\r\n    font-weight: 600;\r\n    color: #2e2e2e;\r\n    display: block;\r\n    line-height: 150%;\r\n}\r\n\r\n.office-card__visual {\r\n    height: auto;\r\n    overflow: hidden;\r\n    width: 50%;\r\n    min-width: 109px;\r\n}\r\n\r\n.office-card__image {\r\n    width: 100%;\r\n    height: 100% !important;\r\n    object-fit: cover;\r\n    object-position: center;\r\n    background-color: #E8E8E8; \r\n    transition: transform 0.35s ease;\r\n}\r\n\r\n.office-card:hover .office-card__image {\r\n    transform: scale(1.04);\r\n}\r\n\r\n\/* Interactive Tiny Popup Actions Window *\/\r\n.office-card__popup {\r\n    background: #000000c4;\r\n    position: absolute;\r\n    bottom: -50px;\r\n    left: 50px;\r\n    display: flex;\r\n    flex-direction: column;\r\n    padding: 0 2px;\r\n    min-width: 170px;\r\n    width: max-content;\r\n    opacity: 0;\r\n    visibility: hidden;\r\n    z-index: 10;\r\n    transition: opacity 0.2s ease, visibility 0.2s ease;\r\n}\r\n\r\n.office-card__popup.active {\r\n    opacity: 1;\r\n    visibility: visible;\r\n}\r\n\r\n.office-card__popup-action {\r\n    display: flex;\r\n    gap: 8px;\r\n    align-items: center;\r\n    cursor: pointer;\r\n    padding: 8px 12px;\r\n    text-decoration: none !important;\r\n}\r\n\r\n.office-card__popup-action img {\r\n    min-width: 20px;\r\n    max-width: 20px;\r\n    height: 20px;\r\n}\r\n\r\n.office-card__popup-action span {\r\n    font-family: Sora, sans-serif;\r\n    font-size: 14px;\r\n    font-weight: 400;\r\n    line-height: 100%;\r\n    color: #ffffff;\r\n}\r\n\r\n.office-card__popup-divider {\r\n    background: rgba(255, 255, 255, 0.2);\r\n    height: 1px;\r\n    width: 100%;\r\n}\r\n\r\n\/* =========================================\r\n   Mobile Unified Architecture Component\r\n========================================= *\/\r\n.office-switcher__mobile {\r\n    display: none;\r\n    flex-direction: column;\r\n    width: 100%;\r\n}\r\n\r\n.office-switcher__mobile-item {\r\n    display: flex;\r\n    flex-direction: column;\r\n    cursor: pointer;\r\n    position: relative;\r\n    margin-left: 1px;\r\n    padding: 0;\r\n}\r\n\r\n.office-switcher__mobile-trigger {\r\n    padding: 15px 0 15px 16px;\r\n    margin: 0;\r\n    border-left: 1px solid #C4C4C4;\r\n}\r\n\r\n.office-switcher__mobile-trigger h3 {\r\n    color: #717171;\r\n    font-family: Sora, sans-serif;\r\n    font-size: 16px;\r\n    font-weight: 600;\r\n    line-height: 21px;\r\n    text-align: left;\r\n    margin: 0;\r\n}\r\n\r\n.office-switcher__mobile-panel {\r\n    max-height: 0;\r\n    overflow: hidden;\r\n    transition: max-height 0.4s ease;\r\n    display: block; \r\n}\r\n\r\n.office-switcher__mobile-inner {\r\n    padding: 10px 12px 25px 12px;\r\n    display: flex;\r\n    flex-direction: column;\r\n    gap: 20px;\r\n}\r\n\r\n\/* Mobile Active Adaptive States *\/\r\n.office-switcher__mobile-item.active::before {\r\n    content: \"\";\r\n    position: absolute;\r\n    top: 0;\r\n    display: block;\r\n    height: 98px;\r\n    border-left: 1px solid #999999;\r\n}\r\n\r\n.office-switcher__mobile-item.active .office-switcher__mobile-trigger h3::before {\r\n    content: \"\";\r\n    position: absolute;\r\n    top: 0;\r\n    left: 0;\r\n    display: block;\r\n    height: 46px;\r\n    border-left: 2px solid #c63031;\r\n}\r\n\r\n.office-switcher__mobile-item.active .office-switcher__mobile-trigger h3 {\r\n    color: #2e2e2e;\r\n}\r\n\r\n.office-switcher__mobile-item.active .office-switcher__mobile-panel {\r\n    height: auto;\r\n    max-height: 3500px;\r\n}\r\n\r\n\/* Mobile Custom Cards Modification *\/\r\n.office-switcher__mobile-panel .office-card {\r\n    max-height: none;\r\n    margin-inline: -12px;\r\n    flex-direction: row !important;\r\n    align-items: stretch !important;\r\n    min-height: 125px;\r\n}\r\n\r\n.office-switcher__mobile-panel .office-card__visual {\r\n    width: 40%;\r\n    min-width: 105px;\r\n    height: auto !important; \r\n}\r\n\r\n.office-switcher__mobile-panel .office-card__country {\r\n    font-size: 14px !important;\r\n    line-height: 100% !important;\r\n}\r\n\r\n.office-switcher__mobile-panel .office-card__address b {\r\n    font-size: 14px;\r\n    line-height: 150%;\r\n}\r\n\r\n.office-switcher__mobile-panel .office-switcher__region-phones {\r\n    align-items: flex-start;\r\n    margin-bottom: 12px;\r\n    margin-left: 8px;\r\n}\r\n\r\n.office-switcher__mobile-panel .office-switcher__phone-link {\r\n    border-bottom: 1px solid #2e2e2e;\r\n    width: fit-content;\r\n    font-size: 16px;\r\n    line-height: 150%;\r\n}\r\n\r\n.office-switcher__mobile-panel .office-card__popup {\r\n    bottom: 1em;\r\n    left: 0;\r\n}\r\n\r\n\/* =========================================\r\n   Responsive Media Breakpoints\r\n========================================= *\/\r\n@media (min-width: 1280px) {\r\n    .office-switcher__tabs {\r\n        display: block !important;\r\n    }\r\n    .x-industries__list {\r\n        display: none !important;\r\n    }\r\n}\r\n\r\n@media (max-width: 1279px) and (min-width: 768px) {\r\n    .office-switcher__container {\r\n        flex-direction: column;\r\n        gap: 0;\r\n    }\r\n    .office-switcher__slide {\r\n        gap: 30px;\r\n    }\r\n    .office-switcher__tabs {\r\n        display: none !important;\r\n    }\r\n    .x-industries__list {\r\n        display: flex !important; \r\n    }\r\n    .x-industries__swiper {\r\n        overflow: hidden;\r\n        padding-right: 120px; \r\n    }\r\n    .office-switcher__region-title {\r\n        font-size: 24px;\r\n        line-height: 32.4px;\r\n    }\r\n    .office-switcher__grid {\r\n        grid-template-columns: 1fr 1fr;\r\n        gap: 30px;\r\n    }\r\n    .office-switcher__slide-header {\r\n        padding-bottom: 0;\r\n        border-bottom: none;\r\n    }\r\n}\r\n\r\n@media (max-width: 1023px) and (min-width: 768px) {\r\n    .x-industries__navigation {\r\n        display: flex !important;\r\n    }\r\n}\r\n\r\n@media (max-width: 767px) {\r\n    .office-switcher__container {\r\n        display: none !important;\r\n    }\r\n    .x-industries__list {\r\n        display: none !important;\r\n    }\r\n    .office-switcher__mobile {\r\n        display: flex;\r\n    }\r\n    .office-card__details {\r\n        min-width: 0;\r\n        flex: 1;\r\n        gap: 8px;\r\n        padding-inline: 20px 15px;\r\n    }\r\n    .office-card__flag {\r\n        min-width: 16px;\r\n        max-width: 16px !important;\r\n    }\r\n    .office-card__address {\r\n        font-size: 12px;\r\n        line-height: 150%;\r\n        padding-bottom: 14px;\r\n    }\r\n    \r\n    .office-card {\r\n        min-height: 125px;\r\n    }\r\n    \r\n    .office-card__meta {\r\n        padding-top: 14px;\r\n    }\r\n}\r\n\r\n.office-switcher__phone-link:hover {\r\n    color: #c63031;\r\n    border-bottom: 1px solid #c63031;\r\n}\r\n<\/style>\r\n\r\n<div class=\"office-switcher\">\r\n    <div class=\"x-industries__list\"> \r\n        <div class=\"x-industries__swiper\">\r\n            <ul class=\"x-industries__list_container swiper-wrapper\"><\/ul>\r\n        <\/div>\r\n        <div class=\"x-industries__navigation\">\r\n            <button class=\"x-industries__navigation-btn\">\r\n                <svg width=\"25\" height=\"24\" viewBox=\"0 0 25 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                    <path d=\"M12 4L4 12L12 20\" stroke=\"#2E2E2E\" stroke-width=\"2\" \/>\r\n                    <path d=\"M21 12.0002L4 12.0002\" stroke=\"#2E2E2E\" stroke-width=\"2\" \/>\r\n                <\/svg>\r\n            <\/button>\r\n            <button class=\"x-industries__navigation-btn\">\r\n                <svg width=\"25\" height=\"24\" viewBox=\"0 0 25 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                    <path d=\"M13 4L21 12L13 20\" stroke=\"#2E2E2E\" stroke-width=\"2\" \/>\r\n                    <path d=\"M4 12.0002L21 12.0002\" stroke=\"#2E2E2E\" stroke-width=\"2\" \/>\r\n                <\/svg>\r\n            <\/button>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"office-switcher__container\">\r\n        <ul class=\"office-switcher__tabs\"><\/ul>\r\n        <div class=\"office-switcher__content\"><\/div>\r\n    <\/div>\r\n\r\n    <div class=\"office-switcher__mobile num1\"><\/div>\r\n<\/div>\r\n\r\n<script>\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n    \/\/ \u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044f\u044f \u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0444\u0438\u0441\u043e\u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438\r\n    const regions = {\r\n        \"west-central-europe\": {\r\n            name: 'West & Central Europe',\r\n            numbers: ['+49 (681) 988 999 59'], \r\n            offices: [\r\n                {\r\n                    latitude: 52.228771359476625, longitude: 20.984747086506577, hrefUrl: 'https:\/\/goo.gl\/maps\/Sdvn1Rq9UpNJLDQX7', \r\n                    address: { country: \"Poland\", city: 'Warszawa', street: 'Rondo Daszy\u0144skiego 2B, The Warsaw HUB B' }, \r\n                    img: 'https:\/\/innowise.com\/wp-content\/uploads\/2023\/09\/map\/CountryflagPoland.svg',\r\n                    officeImg: 'https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/warsaw-1.png'\r\n                },\r\n                {\r\n                    latitude: 52.23404348688449, longitude: 20.996461297551622, hrefUrl: 'https:\/\/maps.google.com', \r\n                    address: { country: \"Poland\", city: 'Warszawa', street: 'Icchoka Lejba Pereca 1' }, \r\n                    img: 'https:\/\/innowise.com\/wp-content\/uploads\/2023\/09\/map\/CountryflagPoland.svg',\r\n                    officeImg: 'https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/warsaw-2.png'\r\n                },\r\n                {\r\n                    latitude: 51.5405635578058254, longitude: -0.1789861447255234, hrefUrl: 'https:\/\/maps.google.com', \r\n                    address: { country: \"UK\", city: 'London', street: \"55 Loudoun Road St. John's Wood, NW8 0DL\" }, \r\n                    img: 'https:\/\/innowise.com\/wp-content\/uploads\/2023\/09\/map\/CountryflagUK.svg',\r\n                    officeImg: 'https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/london.png'\r\n                },\r\n                {\r\n                    latitude: 42.42846552402358, longitude: 14.272996613493422, hrefUrl: 'https:\/\/goo.gl\/maps\/wQxy8LA1gBhFdPJbA', \r\n                    address: { country: \"Italy\", city: 'Pescara', street: '66023, Via N. Adriatica Nord 58, Francavilla al Mare' }, \r\n                    img: 'https:\/\/innowise.com\/wp-content\/uploads\/2023\/09\/map\/CountryflagItally.svg',\r\n                    officeImg: 'https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/pescara.png'\r\n                },\r\n                {\r\n                    latitude: 48.86811718933774, longitude: 2.3537991134934257, hrefUrl: 'https:\/\/goo.gl\/maps\/wecyiSEmgh93QiKA7', \r\n                    address: { country: \"France\", city: 'Paris', street: '104 Boulevard de S\u00e9bastopol 75003' }, \r\n                    img: 'https:\/\/innowise.com\/wp-content\/uploads\/2023\/09\/map\/CountryflagFrance.svg',\r\n                    officeImg: 'https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/paris.png'\r\n                },\r\n                {\r\n                    latitude: 52.506928959461426, longitude: 6.080481009172237, hrefUrl: 'https:\/\/maps.google.com', \r\n                    address: { country: \"Netherlands\", city: 'Zwolle', street: 'Willemsvaart 17, MyOffice Zwolle Assendorperdijk' }, \r\n                    img: 'https:\/\/innowise.com\/wp-content\/uploads\/2025\/08\/Country-flag.svg',\r\n                    officeImg: 'https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/zwolle.png'\r\n                }\r\n            ]\r\n        },\r\n        \"nordics-baltics\": {\r\n            name: 'Nordics & Baltics',\r\n            numbers: ['+46 (766) 920 558'],\r\n            offices: [\r\n                {\r\n                    latitude: 54.71982281140569, longitude: 25.28350670674672, hrefUrl: 'https:\/\/goo.gl\/maps\/r7oy1ivokLXu9Wmn6', \r\n                    address: { country: \"Lithuania\", city: 'Vilnius', street: 'Juozo Bal\u010dikonio g. 3' }, \r\n                    img: 'https:\/\/innowise.com\/wp-content\/uploads\/2023\/09\/map\/CountryflagLithuania.svg',\r\n                    officeImg: 'https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/vilnus.png'\r\n                },\r\n                {\r\n                    latitude: 59.26084217035911, longitude: 15.196777486506575, hrefUrl: 'https:\/\/goo.gl\/maps\/56wWXirPHsgaiFUNA', \r\n                    address: { country: \"Sweden\", city: '\u00d6rebro', street: '6 Stenbackev\u00e4gen 702 25' }, \r\n                    img: 'https:\/\/innowise.com\/wp-content\/uploads\/2023\/09\/map\/CountryflagSweeden.svg',\r\n                    officeImg: 'https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/orebro.png'\r\n                },\r\n                {\r\n                    latitude: 56.16694648005993, longitude: 10.210577039953336, hrefUrl: 'https:\/\/maps.google.com', \r\n                    address: { country: \"Denmark\", city: 'Aarhus', street: 'Universitetsbyen 14, 8000 Aarhus, The Kitchen' }, \r\n                    img: 'https:\/\/innowise.com\/wp-content\/uploads\/2025\/08\/Country-flag-1.svg',\r\n                    officeImg: 'https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/aarhus.png'\r\n                },\r\n                {\r\n                    latitude: 62.244030085203626, longitude: 25.748702226777123, hrefUrl: 'https:\/\/maps.google.com', \r\n                    address: { country: \"Finland\", city: 'Jyv\u00e4skyl\u00e4', street: 'Kauppakatu 39, Crazy Town Jyv\u00e4skyl\u00e4' }, \r\n                    img: 'https:\/\/innowise.com\/wp-content\/uploads\/2025\/08\/Country-flag-2.svg',\r\n                    officeImg: 'https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/finland.png'\r\n                },\r\n                {\r\n                    latitude: 59.74237483224813, longitude: 10.214407999999997, hrefUrl: 'https:\/\/goo.gl\/maps\/YofoB3nwdg7NHRY5A', \r\n                    address: { country: \"Norway\", city: 'Drammen', street: '37 Nedre Storgate 3015' }, \r\n                    img: 'https:\/\/innowise.com\/wp-content\/uploads\/2023\/09\/map\/CountryflagNorway.svg',\r\n                    officeImg: 'https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/drammen.png'\r\n                }\r\n            ]\r\n        },\r\n        \"dach\": {\r\n            name: 'DACH',\r\n            numbers: ['+49 (681) 988 999 59'],\r\n            offices: [\r\n                {\r\n                    latitude: 52.51179721509205, longitude: 13.38932515767105, hrefUrl: 'https:\/\/goo.gl\/maps\/qkRreAHZJ6ZoVFFt8', \r\n                    address: { country: \"Germany\", city: 'Berlin', street: 'Kronenstra\u00dfe 63' }, \r\n                    img: 'https:\/\/innowise.com\/wp-content\/uploads\/2023\/09\/map\/Countryflagdach.svg',\r\n                    officeImg: 'https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/berlin.png'\r\n                },\r\n                {\r\n                    latitude: 50.11174821915363, longitude: 8.673432183934166, hrefUrl: 'https:\/\/maps.google.com', \r\n                    address: { country: \"Germany\", city: 'Frankfurt am Main', street: 'Gro\u00dfe Gallusstra\u00dfe 16' }, \r\n                    img: 'https:\/\/innowise.com\/wp-content\/uploads\/2023\/09\/map\/Countryflagdach.svg',\r\n                    officeImg: 'https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/frankfurt.png'\r\n                },\r\n                {\r\n                    latitude: 51.229339486526875, longitude: 6.77462232679924, hrefUrl: 'https:\/\/maps.google.com', \r\n                    address: { country: \"Germany\", city: 'D\u00fcsseldorf', street: 'Neubr\u00fcckstra\u00dfe 1' }, \r\n                    img: 'https:\/\/innowise.com\/wp-content\/uploads\/2023\/09\/map\/Countryflagdach.svg',\r\n                    officeImg: 'https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/duseldorf.png'\r\n                },\r\n                {\r\n                    latitude: 48.15876627296908, longitude: 11.584806771164473, hrefUrl: 'https:\/\/goo.gl\/maps\/tx7PJnFdSNGxBmwR9', \r\n                    address: { country: \"Germany\", city: 'M\u00fcnchen', street: 'Leopoldstra\u00dfe 31' }, \r\n                    img: 'https:\/\/innowise.com\/wp-content\/uploads\/2023\/09\/map\/Countryflagdach.svg',\r\n                    officeImg: 'https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/munchen.png'\r\n                },\r\n                {\r\n                    latitude: 46.22344641147753, longitude: 6.147871471164476, hrefUrl: 'https:\/\/goo.gl\/maps\/1jHrin3JXbqTfhux8', \r\n                    address: { country: \"Switzerland\", city: 'Geneva', street: 'Chemin des Mines, 2' }, \r\n                    img: 'https:\/\/innowise.com\/wp-content\/uploads\/2023\/09\/map\/Countryflagswidish.svg',\r\n                    officeImg: 'https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/geneva.png'\r\n                }\r\n            ]\r\n        },\r\n        \"asia\": {\r\n            name: 'Asia',\r\n            numbers: ['+49 (681) 988 999 59'],\r\n            offices: [\r\n                {\r\n                    latitude: 41.649952944397235, longitude: 41.637893386506576, hrefUrl: 'https:\/\/goo.gl\/maps\/Kt5onWXGuoeikFC78', \r\n                    address: { country: \"Georgia\", city: 'Batumi', street: '6001, 6 Irakli Abashidze St' }, \r\n                    img: 'https:\/\/innowise.com\/wp-content\/uploads\/2023\/09\/map\/CountryGeorgia.svg',\r\n                    officeImg: 'https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/batumi.png'\r\n                },\r\n                {\r\n                    latitude: 41.012090727911094, longitude: 70.07381625754218, hrefUrl: 'https:\/\/maps.google.com', \r\n                    address: { country: \"Uzbekistan\", city: 'Angren', street: 'Karvon MFY, District 3\/2, House 2' }, \r\n                    img: 'https:\/\/innowise.com\/wp-content\/uploads\/2025\/04\/Country-flag.svg',\r\n                    officeImg: 'https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/angren.png'\r\n                }\r\n            ]\r\n        },\r\n        \"america\": {\r\n            name: 'America',\r\n            numbers: ['+1 (917) 267 7727', '+1 (772) 232 7337'],\r\n            offices: [\r\n                {\r\n                    latitude: 27.844451235749904, longitude: -82.63835713219247, hrefUrl: 'https:\/\/maps.google.com', \r\n                    address: { country: \"USA\", city: 'New York', street: '405 Lexington Avenue, 26th Floor, New York, NY 10174' }, \r\n                    img: 'https:\/\/innowise.com\/wp-content\/uploads\/2023\/09\/map\/Countryflagusa.svg',\r\n                    officeImg: 'https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/newyork.png'\r\n                }\r\n            ]\r\n        },\r\n        \"mena\": {\r\n            name: 'MENA',\r\n            numbers: ['+971 (58) 527 4499'],\r\n            offices: [\r\n                {\r\n                    latitude: 25.101569168782788, longitude: 55.17384315437731, hrefUrl: 'https:\/\/maps.google.com', \r\n                    address: { country: \"UAE\", city: 'Dubai', street: 'The One Tower, Sheik Zayed Road, 24th floor' }, \r\n                    img: 'https:\/\/innowise.com\/wp-content\/uploads\/2024\/01\/Country-flag.svg',\r\n                    officeImg: 'https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/dubai.png'\r\n                }\r\n            ]\r\n        },\r\n        \"africa\": {\r\n            name: 'Africa',\r\n            numbers: [],\r\n            offices: [\r\n                {\r\n                    latitude: -30.559482, longitude: 22.937506, hrefUrl: 'https:\/\/maps.google.com', \r\n                    address: { country: \"South Africa\", city: 'Johannesburg', street: '7 Fricker Road, Illovo Sandton, 2196 (via MCPM Technologies)' }, \r\n                    img: 'https:\/\/innowise.com\/wp-content\/uploads\/2026\/03\/emojione_flag-for-south-africa.svg',\r\n                    officeImg: 'https:\/\/innowise.com\/wp-content\/uploads\/2026\/06\/johanesburg.png'\r\n                }\r\n            ]\r\n        }\r\n    };\r\n\r\n    \/\/ \u0421\u041f\u0420\u0410\u0412\u041e\u0427\u041d\u0418\u041a \u042f\u0412\u041d\u041e\u0413\u041e \u0413\u0415\u041e-\u041c\u0410\u041f\u041f\u0418\u041d\u0413\u0410 \u041f\u041e \u0421\u0422\u0420\u0410\u041d\u0410\u041c (\u0418\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0438\u0437 \u0422\u0417)\r\n    const geoRules = {\r\n        \"Lithuania\": { region: \"nordics-baltics\", office: \"Lithuania\", phones: [\"+48 (787) 027 706\"] },\r\n        \"Poland\": { region: \"west-central-europe\", office: \"Poland\", phones: [\"+48 (787) 027 706\"] },\r\n        \"Sweden\": { region: \"nordics-baltics\", office: \"Sweden\", phones: [\"+46 (766) 920 558\"] },\r\n        \"Norway\": { region: \"nordics-baltics\", office: \"Norway\", phones: [\"+46 (766) 920 558\"] },\r\n        \"Finland\": { region: \"nordics-baltics\", office: \"Finland\", phones: [\"+46 (766) 920 558\"] },\r\n        \"Denmark\": { region: \"nordics-baltics\", office: \"Denmark\", phones: [\"+46 (766) 920 558\"] },\r\n        \r\n        \"United Kingdom\": { region: \"west-central-europe\", office: \"UK\", phones: [\"+44 (748) 8817 958\"] },\r\n        \"Ireland\": { region: \"west-central-europe\", office: \"UK\", phones: [\"+44 (748) 8817 958\"] },\r\n        \"Portugal\": { region: \"west-central-europe\", office: \"UK\", phones: [\"+48 (459) 569 331\"] }, \r\n        \r\n        \"Cyprus\": { region: \"west-central-europe\", office: \"Italy\", phones: [\"+39 (085) 93 96 800\"] },\r\n        \"Andorra\": { region: \"west-central-europe\", office: \"Italy\", phones: [\"+39 (085) 93 96 800\"] },\r\n        \"Greece\": { region: \"west-central-europe\", office: \"Italy\", phones: [\"+39 (085) 93 96 800\"] },\r\n        \"Spain\": { region: \"west-central-europe\", office: \"Italy\", phones: [\"+39 (085) 93 96 800\"] },\r\n        \"Italy\": { region: \"west-central-europe\", office: \"Italy\", phones: [\"+39 (085) 93 96 800\"] },\r\n        \"San Marino\": { region: \"west-central-europe\", office: \"Italy\", phones: [\"+39 (085) 93 96 800\"] },\r\n        \"Slovenia\": { region: \"west-central-europe\", office: \"Italy\", phones: [\"+39 (085) 93 96 800\"] },\r\n        \"Croatia\": { region: \"west-central-europe\", office: \"Italy\", phones: [\"+39 (085) 93 96 800\"] },\r\n        \"Malta\": { region: \"west-central-europe\", office: \"Italy\", phones: [\"+44 (748) 881 79 58\"] }, \r\n        \r\n        \"Belgium\": { region: \"west-central-europe\", office: \"France\", phones: [\"+48 (459) 56 93 31\"] },\r\n        \"Netherlands\": { region: \"west-central-europe\", office: \"France\", phones: [\"+48 (459) 56 93 31\"] },\r\n        \"Luxembourg\": { region: \"west-central-europe\", office: \"France\", phones: [\"+48 (459) 56 93 31\"] },\r\n        \"France\": { region: \"west-central-europe\", office: \"France\", phones: [\"+48 (459) 56 93 31\"] },\r\n        \r\n        \"Germany\": { region: \"dach\", office: \"Germany\", phones: [\"+49 (681) 988 999 59\"] },\r\n        \"Switzerland\": { region: \"dach\", office: \"Switzerland\", phones: [\"+49 (178) 233 41 75\"] },\r\n        \"Austria\": { region: \"dach\", office: \"Switzerland\", phones: [\"+49 (178) 233 41 75\"] }, \r\n\r\n        \"Georgia\": { region: \"asia\", office: \"Georgia\", phones: [\"+49 (681) 988 999 59\"] },\r\n        \"Armenia\": { region: \"asia\", office: \"Georgia\", phones: [\"+998 (90) 959 16 81\"] },\r\n        \"Azerbaijan\": { region: \"asia\", office: \"Georgia\", phones: [\"+998 (90) 959 16 81\"] },\r\n        \"Kazakhstan\": { region: \"asia\", office: \"Georgia\", phones: [\"+998 (90) 959 16 81\"] },\r\n        \"Kyrgyzstan\": { region: \"asia\", office: \"Georgia\", phones: [\"+998 (90) 959 16 81\"] },\r\n        \"Tajikistan\": { region: \"asia\", office: \"Georgia\", phones: [\"+998 (90) 959 16 81\"] },\r\n        \"Turkmenistan\": { region: \"asia\", office: \"Georgia\", phones: [\"+998 (90) 959 16 81\"] },\r\n        \"Uzbekistan\": { region: \"asia\", office: \"Georgia\", phones: [\"+998 (90) 959 16 81\"] },\r\n\r\n        \"United States\": { region: \"america\", office: \"USA\", phones: [\"+1 (917) 267 7727\", \"+1 (772) 232 7337\"] },\r\n        \"Canada\": { region: \"america\", office: \"USA\", phones: [\"+1 (917) 267 7727\", \"+1 (772) 232 7337\"] },\r\n        \"United Arab Emirates\": { region: \"mena\", office: \"UAE\", phones: [\"+971 (58) 527 4499\"] }\r\n    };\r\n\r\n    const specialCountriesToItalyRegion = [\"Cyprus\", \"Andorra\", \"Greece\", \"Spain\", \"Italy\", \"San Marino\", \"Slovenia\", \"Croatia\", 'Malta',\"Belgium\",\"Luxembourg\"];\r\n\r\n    \/\/ \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0442\u043e\u0447\u0435\u0447\u043d\u043e\u0433\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u043d\u043e\u0433\u043e \u043d\u043e\u043c\u0435\u0440\u0430 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0441\u0442\u0440\u0430\u043d\u044b \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u043e\u0444\u0438\u0441\u0430 \u0438 IP \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\r\n    function getOfficePhone(office, userCountry) {\r\n        const country = office.address.country;\r\n        \r\n        if (country === \"Poland\" || country === \"Lithuania\") {\r\n            return [\"+48 (787) 027 706\"];\r\n        }\r\n        if (country === \"UK\") {\r\n            if (userCountry === \"Portugal\") return [\"+48 (459) 569 331\"];\r\n            return [\"+44 (748) 8817 958\"];\r\n        }\r\n        if (country === \"Italy\") {\r\n            if (userCountry === \"Malta\") return [\"+44 (748) 881 79 58\"];\r\n            return [\"+39 (085) 93 96 800\"];\r\n        }\r\n        if (country === \"France\" || country === \"Netherlands\") {\r\n            return [\"+48 (459) 56 93 31\"];\r\n        }\r\n        if ([\"Sweden\", \"Norway\", \"Denmark\", \"Finland\"].includes(country)) {\r\n            return [\"+46 (766) 920 558\"];\r\n        }\r\n        if (country === \"Germany\") {\r\n            return [\"+49 (681) 988 999 59\"];\r\n        }\r\n        if (country === \"Switzerland\") {\r\n            return [\"+49 (178) 233 41 75\"];\r\n        }\r\n        if (country === \"Georgia\") {\r\n            const cisCountries = [\"Armenia\", \"Azerbaijan\", \"Kazakhstan\", \"Kyrgyzstan\", \"Tajikistan\", \"Turkmenistan\", \"Uzbekistan\"];\r\n            if (cisCountries.includes(userCountry)) return [\"+998 (90) 959 16 81\"];\r\n            return [\"+49 (681) 988 999 59\"];\r\n        }\r\n        if (country === \"Uzbekistan\") {\r\n            return [\"+998 (90) 959 16 81\"];\r\n        }\r\n        if (country === \"USA\") {\r\n            return [\"+1 (917) 267 7727\", \"+1 (772) 232 7337\"];\r\n        }\r\n        if (country === \"UAE\") {\r\n            return [\"+971 (58) 527 4499\"];\r\n        }\r\n        if (country === \"South Africa\") {\r\n            return [];\r\n        }\r\n        return [\"+49 (681) 988 999 59\"];\r\n    }\r\n\r\n    function haversine(lat1, lon1, lat2, lon2) {\r\n        const R = 6371; \r\n        const dLat = (lat2 - lat1) * Math.PI \/ 180;\r\n        const dLon = (lon2 - lon1) * Math.PI \/ 180;\r\n        const a = Math.sin(dLat \/ 2) * Math.sin(dLat \/ 2) +\r\n                  Math.cos(lat1 * Math.PI \/ 180) * Math.cos(lat2 * Math.PI \/ 180) *\r\n                  Math.sin(dLon \/ 2) * Math.sin(dLon \/ 2);\r\n        return R * (2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)));\r\n    }\r\n\r\n    function sortCountries(countries, userLatitude, userLongitude) {\r\n        return countries.sort((a, b) => {\r\n            const distanceA = haversine(userLatitude, userLongitude, a.latitude, a.longitude);\r\n            const distanceB = haversine(userLatitude, userLongitude, b.latitude, b.longitude);\r\n            return distanceA - distanceB;\r\n        });\r\n    }\r\n\r\n    function initViewGeneration(userCountry = \"Poland\") {\r\n        const tabsContainer = document.querySelector('.office-switcher__tabs');\r\n        const tabletContainer = document.querySelector('.x-industries__list_container');\r\n        const swiperContainer = document.querySelector('.office-switcher__content');\r\n        const mobileContainer = document.querySelector('.office-switcher__mobile');\r\n        \r\n        tabsContainer.innerHTML = '';\r\n        tabletContainer.innerHTML = '';\r\n        swiperContainer.innerHTML = '';\r\n        mobileContainer.innerHTML = '';\r\n\r\n        let index = 0;\r\n\r\n        for (const key in regions) {\r\n            const region = regions[key];\r\n\r\n            const li = document.createElement('li');\r\n            li.className = `office-switcher__tab-item ${index === 0 ? 'active' : ''}`;\r\n            li.textContent = region.name;\r\n            li.setAttribute('data-index', index);\r\n            tabsContainer.appendChild(li);\r\n\r\n            const tabletLi = document.createElement('li');\r\n            tabletLi.className = `swiper-slide ${index === 0 ? 'active' : ''}`;\r\n            tabletLi.textContent = region.name;\r\n            tabletLi.setAttribute('data-index', index);\r\n            tabletContainer.appendChild(tabletLi);\r\n\r\n            const slide = document.createElement('div');\r\n            slide.className = `office-switcher__slide ${index === 0 ? 'active' : ''}`;\r\n            \r\n            \/\/ \u0414\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0440\u0430\u0441\u0447\u0435\u0442 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u043d\u043e\u0433\u043e \u043d\u043e\u043c\u0435\u0440\u0430 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u041f\u0415\u0420\u0412\u041e\u0413\u041e \u043e\u0444\u0438\u0441\u0430 \u0432 \u0434\u0430\u043d\u043d\u043e\u0439 \u0432\u043a\u043b\u0430\u0434\u043a\u0435\r\n            const computedNumbers = getOfficePhone(region.offices[0], userCountry);\r\n            \r\n            const phonesHtml = computedNumbers.map(num => `\r\n                <a class=\"office-switcher__phone-link\" href=\"tel:${num.replace(\/[\\s()]\/g, '')}\">${num}<\/a>\r\n            `).join('');\r\n\r\n            let officesGridHtml = '';\r\n            region.offices.forEach(office => {\r\n                officesGridHtml += `\r\n                    <div class=\"office-card\">\r\n                        <div class=\"office-card__details\">\r\n                            <div class=\"office-card__meta\">\r\n                                <img decoding=\"async\" class=\"office-card__flag\" src=\"${office.img}\" alt=\"${office.address.country} flag\" \/>\r\n                                <h4 class=\"office-card__country\">${office.address.country}<\/h4>\r\n                            <\/div>\r\n                            <span class=\"office-card__address\"><b>${office.address.city}<\/b> ${office.address.street}<\/span>\r\n                        <\/div>\r\n                        <div class=\"office-card__visual\">\r\n                            <img decoding=\"async\" class=\"office-card__image\" src=\"${office.officeImg}\" alt=\"${office.address.city} office overview\" \/>\r\n                        <\/div>\r\n                        <div class=\"office-card__popup\">\r\n                            <div class=\"office-card__popup-action office-card__popup-action--copy\" data-address=\"${office.address.city}, ${office.address.street}\">\r\n                                <img decoding=\"async\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2023\/09\/map\/lucide_copy.svg\" alt=\"\">\r\n                                <span>Copy address<\/span>\r\n                            <\/div>\r\n                            <div class=\"office-card__popup-divider\"><\/div>\r\n                            <a class=\"office-card__popup-action\" target=\"_blank\" href=\"${office.hrefUrl}\">\r\n                                <img decoding=\"async\" src=\"https:\/\/innowise.com\/wp-content\/uploads\/2023\/09\/map\/bi_pin-map.svg\" alt=\"\">\r\n                                <span>Show on map<\/span>\r\n                            <\/a>\r\n                        <\/div>\r\n                    <\/div>\r\n                `;\r\n            });\r\n\r\n            slide.innerHTML = `\r\n                <div class=\"office-switcher__slide-header\">\r\n                    <h3 class=\"office-switcher__region-title\">${region.name}<\/h3>\r\n                    <div class=\"office-switcher__region-phones\">${phonesHtml}<\/div>\r\n                <\/div>\r\n                <div class=\"office-switcher__grid\">${officesGridHtml}<\/div>\r\n            `;\r\n            swiperContainer.appendChild(slide);\r\n\r\n            const mobileItem = document.createElement('div');\r\n            mobileItem.className = `office-switcher__mobile-item ${index === 0 ? 'active' : ''}`;\r\n            mobileItem.innerHTML = `\r\n                <div class=\"office-switcher__mobile-trigger\">\r\n                    <h3>${region.name}<\/h3>\r\n                <\/div>\r\n                <div class=\"office-switcher__mobile-panel\">\r\n                    <div class=\"office-switcher__mobile-inner\">\r\n                        <div class=\"office-switcher__region-phones\">${phonesHtml}<\/div>\r\n                        ${officesGridHtml}\r\n                    <\/div>\r\n                <\/div>\r\n            `;\r\n            mobileContainer.appendChild(mobileItem);\r\n\r\n            index++;\r\n        }\r\n\r\n        attachCoreEventHandlers();\r\n    }\r\n\r\n    function attachCoreEventHandlers() {\r\n        const tabs = document.querySelectorAll('.office-switcher__tab-item');\r\n        const tabletTabs = document.querySelectorAll('.x-industries__list_container li');\r\n        const slides = document.querySelectorAll('.office-switcher__slide');\r\n        const mobileItems = document.querySelectorAll('.office-switcher__mobile-item');\r\n\r\n        const industriesSlider1 = new Swiper('.x-industries__swiper', {\r\n            slidesPerView: 'auto',\r\n            spaceBetween: 24,  \r\n            watchSlidesProgress: true,\r\n            grabCursor: true,\r\n            navigation: {\r\n                nextEl: \".x-industries__navigation button:nth-child(2)\",\r\n                prevEl: \".x-industries__navigation button:nth-child(1)\",\r\n            },\r\n            breakpoints: {\r\n                280: { spaceBetween: 20 },\r\n                820: { spaceBetween: 24 }\r\n            } \r\n        });\r\n\r\n        let currentActiveIndex = 0;\r\n\r\n        function syncActiveStates(activeIndex) {\r\n            currentActiveIndex = activeIndex;\r\n\r\n            tabs.forEach((t, idx) => {\r\n                if (idx === activeIndex) t.classList.add('active');\r\n                else t.classList.remove('active');\r\n            });\r\n\r\n            tabletTabs.forEach((tt, idx) => {\r\n                if (idx === activeIndex) {\r\n                    tt.classList.add('active');\r\n                    industriesSlider1.slideTo(activeIndex);\r\n                } else {\r\n                    tt.classList.remove('active');\r\n                }\r\n            });\r\n\r\n            slides.forEach((s, idx) => {\r\n                if (idx === activeIndex) s.classList.add('active');\r\n                else s.classList.remove('active');\r\n            });\r\n\r\n            mobileItems.forEach((m, idx) => {\r\n                const panel = m.querySelector('.office-switcher__mobile-panel');\r\n                const inner = m.querySelector('.office-switcher__mobile-inner');\r\n                \r\n                if (idx === activeIndex) {\r\n                    m.classList.add('active');\r\n                    if (panel && inner) {\r\n                        if (window.innerWidth < 768) {\r\n                            panel.style.maxHeight = inner.scrollHeight + 'px';\r\n                        } else {\r\n                            panel.style.maxHeight = '';\r\n                        }\r\n                    }\r\n                } else {\r\n                    m.classList.remove('active');\r\n                    if (panel) panel.style.maxHeight = '0px';\r\n                }\r\n            });\r\n\r\n            const prevBtn = document.querySelector('.x-industries__navigation-btn:nth-child(1)');\r\n            const nextBtn = document.querySelector('.x-industries__navigation-btn:nth-child(2)');\r\n            if (prevBtn && nextBtn) {\r\n                if (currentActiveIndex === 0) prevBtn.classList.add('swiper-button-disabled');\r\n                else prevBtn.classList.remove('swiper-button-disabled');\r\n\r\n                if (currentActiveIndex === tabletTabs.length - 1) nextBtn.classList.add('swiper-button-disabled');\r\n                else nextBtn.classList.remove('swiper-button-disabled');\r\n            }\r\n        }\r\n\r\n        const prevBtn = document.querySelector('.x-industries__navigation-btn:nth-child(1)');\r\n        const nextBtn = document.querySelector('.x-industries__navigation-btn:nth-child(2)');\r\n\r\n        if (prevBtn) {\r\n            prevBtn.addEventListener('click', (e) => {\r\n                e.preventDefault();\r\n                if (currentActiveIndex > 0) syncActiveStates(currentActiveIndex - 1);\r\n            });\r\n        }\r\n\r\n        if (nextBtn) {\r\n            nextBtn.addEventListener('click', (e) => {\r\n                e.preventDefault();\r\n                if (currentActiveIndex < tabletTabs.length - 1) syncActiveStates(currentActiveIndex + 1);\r\n            });\r\n        }\r\n\r\n        tabs.forEach((tab, i) => {\r\n            tab.addEventListener('click', () => syncActiveStates(i));\r\n        });\r\n\r\n        tabletTabs.forEach((tab, i) => {\r\n            tab.addEventListener('click', () => syncActiveStates(i));\r\n        });\r\n\r\n        mobileItems.forEach((item, i) => {\r\n            const trigger = item.querySelector('.office-switcher__mobile-trigger');\r\n            trigger.addEventListener('click', () => {\r\n                const isActive = item.classList.contains('active');\r\n                if (!isActive) {\r\n                    syncActiveStates(i);\r\n                } else {\r\n                    item.classList.remove('active');\r\n                    const panel = item.querySelector('.office-switcher__mobile-panel');\r\n                    if (panel) panel.style.maxHeight = '0px';\r\n                }\r\n            });\r\n        });\r\n\r\n        let isMobileLayout = window.innerWidth < 768;\r\n        window.addEventListener('resize', () => {\r\n            const currentMobileState = window.innerWidth < 768;\r\n            if (currentMobileState !== isMobileLayout) {\r\n                isMobileLayout = currentMobileState;\r\n                syncActiveStates(currentActiveIndex);\r\n            } else if (isMobileLayout) {\r\n                const activePanel = mobileItems[currentActiveIndex].querySelector('.office-switcher__mobile-panel');\r\n                const activeInner = mobileItems[currentActiveIndex].querySelector('.office-switcher__mobile-inner');\r\n                if (activePanel && activeInner) {\r\n                    activePanel.style.maxHeight = activeInner.scrollHeight + 'px';\r\n                }\r\n            }\r\n        });\r\n\r\n        syncActiveStates(0);\r\n\r\n        document.addEventListener('click', (e) => {\r\n            const currentCard = e.target.closest('.office-card');\r\n            \r\n            if (!currentCard) {\r\n                document.querySelectorAll('.office-card__popup').forEach(p => p.classList.remove('active'));\r\n                return;\r\n            }\r\n\r\n            if (!e.target.closest('.office-card__popup')) {\r\n                const currentPopup = currentCard.querySelector('.office-card__popup');\r\n                const isOpened = currentPopup.classList.contains('active');\r\n                \r\n                document.querySelectorAll('.office-card__popup').forEach(p => p.classList.remove('active'));\r\n                \r\n                if (!isOpened) {\r\n                    currentPopup.classList.add('active');\r\n                }\r\n            }\r\n        });\r\n\r\n        document.querySelectorAll('.office-card__popup-action--copy').forEach(btn => {\r\n            btn.addEventListener('click', (e) => {\r\n                e.stopPropagation();\r\n                const addressText = btn.getAttribute('data-address');\r\n                navigator.clipboard.writeText(addressText);\r\n                \r\n                const span = btn.querySelector('span');\r\n                const initialText = span.textContent;\r\n                span.textContent = 'Copied!';\r\n                setTimeout(() => { span.textContent = initialText; }, 1200);\r\n            });\r\n        });\r\n    }\r\n\r\n    \/\/ \u0412\u0420\u0415\u041c\u0415\u041d\u041d\u042b\u0419 \u0422\u0415\u0421\u0422\u041e\u0412\u042b\u0419 \u0411\u041b\u041e\u041a \u0414\u041b\u042f \u041f\u0420\u041e\u0412\u0415\u0420\u041a\u0418 \u041b\u041e\u0413\u0418\u041a\u0418 \u0422\u0417\r\n    async function locateUserGeoContextForTest() {\r\n        try {\r\n            \/\/ \u041f\u0440\u043e\u0441\u0442\u043e \u0440\u0430\u0441\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u043d\u0443\u0436\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u0447\u043a\u0443 \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u043a\u0435\u0439\u0441\u0430:\r\n            \/\/ const testCountry = \"Portugal\";       \/\/ \u041a\u0435\u0439\u0441 1: \u041f\u043e\u0440\u0442\u0443\u0433\u0430\u043b\u0438\u044f (\u041e\u0444\u0438\u0441 UK, \u043e\u0441\u043e\u0431\u044b\u0439 \u043d\u043e\u043c\u0435\u0440)\r\n            \/\/ const testCountry = \"Malta\";          \/\/ \u041a\u0435\u0439\u0441 2: \u041c\u0430\u043b\u044c\u0442\u0430 (\u041e\u0444\u0438\u0441 Italy, \u043e\u0441\u043e\u0431\u044b\u0439 \u043d\u043e\u043c\u0435\u0440)\r\n            \/\/ const testCountry = \"Austria\";        \/\/ \u041a\u0435\u0439\u0441 3: \u0410\u0432\u0441\u0442\u0440\u0438\u044f (\u0420\u0435\u0433\u0438\u043e\u043d DACH, \u041e\u0444\u0438\u0441 Switzerland)\r\n            \/\/ const testCountry = \"Uzbekistan\";     \/\/ \u041a\u0435\u0439\u0441 4: \u0421\u041d\u0413 (\u0420\u0435\u0433\u0438\u043e\u043d Asia, \u041e\u0444\u0438\u0441 Georgia, \u043e\u0441\u043e\u0431\u044b\u0439 \u043d\u043e\u043c\u0435\u0440)\r\n            \/\/ const testCountry = \"Germany\";        \/\/ \u041a\u0435\u0439\u0441 5: \u0413\u0435\u0440\u043c\u0430\u043d\u0438\u044f (\u0420\u0435\u0433\u0438\u043e\u043d DACH, \u041e\u0444\u0438\u0441 Germany)\r\n            const testCountry = \"Poland\";         \/\/ \u041a\u0435\u0439\u0441 6: \u041f\u043e\u043b\u044c\u0448\u0430 (\u0420\u0435\u0433\u0438\u043e\u043d Europe, \u041e\u0444\u0438\u0441 Poland)\r\n\r\n            const userData = {\r\n                country_name: testCountry,\r\n                latitude: 52.2297, \r\n                longitude: 21.0122\r\n            };\r\n            \r\n            const userLat = userData.latitude;\r\n            const userLng = userData.longitude;\r\n            const userCountry = userData.country_name;\r\n\r\n            let targetKey = \"west-central-europe\"; \r\n            \r\n            \/\/ \u041f\u043e\u0432\u0441\u0435\u043c\u0435\u0441\u0442\u043d\u0430\u044f \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u0438 \u0440\u0430\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043e\u0444\u0438\u0441\u043e\u0432 \u043f\u043e \u0422\u0417 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0432\u043a\u043b\u0430\u0434\u043e\u043a\r\n            for (const key in regions) {\r\n                regions[key].offices = sortCountries(regions[key].offices, userLat, userLng);\r\n                \r\n                if (geoRules[userCountry] && geoRules[userCountry].region === key) {\r\n                    const rule = geoRules[userCountry];\r\n                    const officeIndex = regions[key].offices.findIndex(o => o.address.country === rule.office);\r\n                    if (officeIndex !== -1) {\r\n                        const [targetOffice] = regions[key].offices.splice(officeIndex, 1);\r\n                        regions[key].offices.unshift(targetOffice);\r\n                    }\r\n                }\r\n            }\r\n\r\n            if (geoRules[userCountry]) {\r\n                targetKey = geoRules[userCountry].region;\r\n            } else {\r\n                targetKey = findNearestRegion(userLat, userLng, userCountry);\r\n            }\r\n\r\n            const prioritizedRegion = regions[targetKey];\r\n            delete regions[targetKey];\r\n            const reconstructed = { [targetKey]: prioritizedRegion, ...regions };\r\n            Object.keys(regions).forEach(k => delete regions[k]);\r\n            Object.assign(regions, reconstructed);\r\n\r\n            initViewGeneration(userCountry);\r\n        } catch (error) {\r\n            initViewGeneration();\r\n        }\r\n    }\r\n\r\n    async function locateUserGeoContext() {\r\n        try {\r\n            const response = await fetch('https:\/\/ipapi.co\/json\/');\r\n            const userData = await response.json();\r\n            \r\n            const userLat = userData.latitude;\r\n            const userLng = userData.longitude;\r\n            const userCountry = userData.country_name;\r\n\r\n            let targetKey = \"west-central-europe\"; \r\n            \r\n            \/\/ \u041f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0443 \u0431\u043b\u0438\u0437\u043e\u0441\u0442\u0438 \u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0422\u0417 \u043a\u043e \u0412\u0421\u0415\u041c \u0432\u043a\u043b\u0430\u0434\u043a\u0430\u043c \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\r\n            for (const key in regions) {\r\n                regions[key].offices = sortCountries(regions[key].offices, userLat, userLng);\r\n                \r\n                if (geoRules[userCountry] && geoRules[userCountry].region === key) {\r\n                    const rule = geoRules[userCountry];\r\n                    const officeIndex = regions[key].offices.findIndex(o => o.address.country === rule.office);\r\n                    if (officeIndex !== -1) {\r\n                        const [targetOffice] = regions[key].offices.splice(officeIndex, 1);\r\n                        regions[key].offices.unshift(targetOffice);\r\n                    }\r\n                }\r\n            }\r\n\r\n            if (geoRules[userCountry]) {\r\n                targetKey = geoRules[userCountry].region;\r\n            } else {\r\n                targetKey = findNearestRegion(userLat, userLng, userCountry);\r\n            }\r\n\r\n            \/\/ \u0421\u0434\u0432\u0438\u0433\u0430\u0435\u043c \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043d\u044b\u0439 \u0440\u0435\u0433\u0438\u043e\u043d \u043d\u0430 \u043f\u0435\u0440\u0432\u0443\u044e \u0441\u0442\u0440\u043e\u0447\u043a\u0443 \u0432 DOM \u0434\u0435\u0440\u0435\u0432\u0435\r\n            const prioritizedRegion = regions[targetKey];\r\n            delete regions[targetKey];\r\n            const reconstructed = { [targetKey]: prioritizedRegion, ...regions };\r\n            Object.keys(regions).forEach(k => delete regions[k]);\r\n            Object.assign(regions, reconstructed);\r\n\r\n            initViewGeneration(userCountry);\r\n        } catch (error) {\r\n            initViewGeneration(\"Poland\");\r\n        }\r\n    }\r\n\r\n    function findNearestRegion(userLatitude, userLongitude, userCountry) {\r\n        if (specialCountriesToItalyRegion.includes(userCountry)) return 'west-central-europe';\r\n        let nearestRegion = 'west-central-europe';\r\n        let minDistance = Number.MAX_VALUE;\r\n\r\n        for (const regionKey in regions) {\r\n            for (const office of regions[regionKey].offices) {\r\n                const distance = haversine(userLatitude, userLongitude, office.latitude, office.longitude);\r\n                if (distance < minDistance) {\r\n                    minDistance = distance;\r\n                    nearestRegion = regionKey;\r\n                }\r\n            }\r\n        }\r\n        return nearestRegion;\r\n    }\r\n\r\n    locateUserGeoContext();\r\n});\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>What happens next? 1 Once we\u2019ve received and processed your request, we\u2019ll get back to you to detail your project needs and sign an NDA to ensure confidentiality. 2 After examining your wants, needs, and expectations, our team will devise a project proposal with the scope of work, team size, time, and cost estimates. 3 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":123946,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"class_list":["post-286","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/innowise.com\/it\/wp-json\/wp\/v2\/pages\/286","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/innowise.com\/it\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/innowise.com\/it\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/innowise.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/innowise.com\/it\/wp-json\/wp\/v2\/comments?post=286"}],"version-history":[{"count":0,"href":"https:\/\/innowise.com\/it\/wp-json\/wp\/v2\/pages\/286\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/innowise.com\/it\/wp-json\/wp\/v2\/media\/123946"}],"wp:attachment":[{"href":"https:\/\/innowise.com\/it\/wp-json\/wp\/v2\/media?parent=286"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}