CINXE.COM

"GraphQL APIs are a great fit for data-rich applications with complex models"

<!DOCTYPE html> <html lang="en-US"> <head> <script> window.dataLayer = window.dataLayer || []; window.dataLayer.push({ 'userId' : undefined, }); </script> <!-- Anti-flicker snippet --> <style>.async-hide { opacity: 0 !important} </style> <script>(function(a,s,y,n,c,h,i,d,e){s.className+=' '+y;h.start=1*new Date; h.end=i=function(){s.className=s.className.replace(RegExp(' ?'+y),'')}; (a[n]=a[n]||[]).hide=h;setTimeout(function(){i();h.end=null},c);h.timeout=c; })(window,document.documentElement,'async-hide','dataLayer',500, {'GTM-notused':true});</script> <!-- End anti-flicker snippet --> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <link rel="profile" href="http://gmpg.org/xfn/11"> <!-- <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700" rel="stylesheet"> --> <meta name='robots' content='max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <!-- This site is optimized with the Yoast SEO plugin v23.4 - https://yoast.com/wordpress/plugins/seo/ --> <title>&quot;GraphQL APIs are a great fit for data-rich applications with complex models&quot;</title> <meta name="description" content="We spoke with Eitan Joffe, Chief Technology Officer and co-founder of Inigo about open source GraphQL APIs, their growing popularity, use cases, and best practices." /> <link rel="canonical" href="https://devm.io/api/graphql-api-joffe-data" /> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="website" /> <meta property="og:site_name" content="devmio - Software Know-How" /> <meta name="twitter:card" content="summary_large_image" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://devm.io/#website","url":"https://devm.io/","name":"devmio - Software Know-How","description":"Devmio","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://devm.io/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}</script> <!-- / Yoast SEO plugin. --> <meta property="og:title" content="&quot;GraphQL APIs are a great fit for data-rich applications with complex models&quot;" /> <meta property="og:description" content="We spoke with Eitan Joffe, Chief Technology Officer and co-founder of Inigo about open source GraphQL APIs, their growing popularity, use cases, and best practices." /> <meta property="og:url" content="https://devm.io/api/graphql-api-joffe-data" /> <meta property="og:locale" content="de_DE" /> <meta property="og:type" content="article" /> <meta property="og:site_name" content="devmio - Software Know-How" /> <meta property="article:section" content="Artikel" /> <meta property="og:image:width" content="900" /> <meta property="og:image:height" content="450" /> <meta property="article:published_time" content="28/03/2023 05:35:57" /> <meta property="og:image" content="https://s3.eu-west-1.amazonaws.com/redsys-prod/articles/b3a7d4d67d03e93dd95f3350/images/teaserImage_xx_Shutterstock_1026165787_1679309105693.jpg" /> <meta property="og:image:secure_url" content="https://s3.eu-west-1.amazonaws.com/redsys-prod/articles/b3a7d4d67d03e93dd95f3350/images/teaserImage_xx_Shutterstock_1026165787_1679309105693.jpg" /> <link rel='dns-prefetch' href='//stats.wp.com' /> <link rel='dns-prefetch' href='//s3.eu-west-1.amazonaws.com' /> <link rel='dns-prefetch' href='//cdn.jsdelivr.net' /> <link rel="alternate" type="application/rss+xml" title="devmio - Software Know-How &raquo; Feed" href="https://devm.io/feed/" /> <link rel="alternate" type="application/rss+xml" title="devmio - Software Know-How &raquo; Comments Feed" href="https://devm.io/comments/feed/" /> <script consent-skip-blocker="1" data-skip-lazy-load="js-extra" data-cfasync="false"> // Define dataLayer and the gtag function. window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} // Set default consent to 'denied' as a placeholder // Determine actual values based on your own requirements gtag('consent', 'default', { 'ad_storage': 'denied', 'ad_user_data': 'denied', 'ad_personalization': 'denied', 'analytics_storage': 'denied' }); </script><style>[consent-id]:not(.rcb-content-blocker):not([consent-transaction-complete]):not([consent-visual-use-parent^="children:"]):not([consent-confirm]){opacity:0!important;}</style><link rel="preload" href="https://devm.io/wp-content/uploads/rcb_js_uploads/f47b81f01698ba3420c11bf7277afb90/dist/883666455.js?x74914&amp;ver=5cd0d8dc8b7ba5be478ef3a36028f085" as="script" /> <link rel="preload" href="https://devm.io/wp-content/uploads/rcb_js_uploads/f47b81f01698ba3420c11bf7277afb90/dist/463028860.js?x74914&amp;ver=69bfc3e143214ce93d267833e18402cb" as="script" /> <link rel="preload" href="https://devm.io/wp-content/plugins/real-cookie-banner-pro/public/lib/animate.css/animate.min.css?x74914&amp;ver=4.1.1" as="style" /> <script data-cfasync="false" type="text/javascript" defer src="https://devm.io/wp-content/uploads/rcb_js_uploads/f47b81f01698ba3420c11bf7277afb90/dist/883666455.js?x74914&amp;ver=5cd0d8dc8b7ba5be478ef3a36028f085" id="real-cookie-banner-pro-vendor-real-cookie-banner-pro-banner-js"></script> <script type="application/json" data-skip-lazy-load="js-extra" data-skip-moving="true" data-no-defer nitro-exclude data-alt-type="application/ld+json" data-dont-merge data-wpmeteor-nooptimize="true" data-cfasync="false" id="abf8b4cb48f14e591a8ddf41a25a9b6651-js-extra">{"slug":"real-cookie-banner-pro","textDomain":"real-cookie-banner","version":"4.7.12","restUrl":"https:\/\/devm.io\/wp-json\/real-cookie-banner\/v1\/","restNamespace":"real-cookie-banner\/v1","restPathObfuscateOffset":"d6ae2073d5e3237a","restRoot":"https:\/\/devm.io\/wp-json\/","restQuery":{"_v":"4.7.12","_locale":"user"},"restNonce":"9b27ff0792","restRecreateNonceEndpoint":"https:\/\/devm.io\/wp-admin\/admin-ajax.php?action=rest-nonce","publicUrl":"https:\/\/devm.io\/wp-content\/plugins\/real-cookie-banner-pro\/public\/","chunkFolder":"dist","chunksLanguageFolder":"https:\/\/devm.io\/wp-content\/plugins\/real-cookie-banner-pro\/public\/languages\/json","chunks":{},"others":{"customizeValuesBanner":"{\"layout\":{\"type\":\"banner\",\"maxHeightEnabled\":true,\"maxHeight\":740,\"dialogMaxWidth\":530,\"dialogPosition\":\"middleCenter\",\"dialogMargin\":[0,0,0,0],\"bannerPosition\":\"bottom\",\"bannerMaxWidth\":1500,\"dialogBorderRadius\":3,\"borderRadius\":5,\"animationIn\":\"slideInUp\",\"animationInDuration\":500,\"animationInOnlyMobile\":true,\"animationOut\":\"none\",\"animationOutDuration\":500,\"animationOutOnlyMobile\":true,\"overlay\":true,\"overlayBg\":\"#000000\",\"overlayBgAlpha\":18,\"overlayBlur\":0},\"decision\":{\"acceptAll\":\"button\",\"acceptEssentials\":\"hide\",\"showCloseIcon\":false,\"acceptIndividual\":\"link\",\"buttonOrder\":\"all,essential,save,individual\",\"showGroups\":false,\"groupsFirstView\":false,\"saveButton\":\"always\"},\"design\":{\"bg\":\"#ffffff\",\"textAlign\":\"center\",\"linkTextDecoration\":\"underline\",\"borderWidth\":0,\"borderColor\":\"#ffffff\",\"fontSize\":13,\"fontColor\":\"#2b2b2b\",\"fontInheritFamily\":true,\"fontFamily\":\"Arial, Helvetica, sans-serif\",\"fontWeight\":\"normal\",\"boxShadowEnabled\":true,\"boxShadowOffsetX\":0,\"boxShadowOffsetY\":5,\"boxShadowBlurRadius\":13,\"boxShadowSpreadRadius\":0,\"boxShadowColor\":\"#000000\",\"boxShadowColorAlpha\":20},\"headerDesign\":{\"inheritBg\":true,\"bg\":\"#f4f4f4\",\"inheritTextAlign\":true,\"textAlign\":\"center\",\"padding\":[17,20,15,20],\"logo\":\"\",\"logoRetina\":\"\",\"logoMaxHeight\":40,\"logoPosition\":\"left\",\"logoMargin\":[5,15,5,15],\"fontSize\":20,\"fontColor\":\"#8836d1\",\"fontInheritFamily\":true,\"fontFamily\":\"Arial, Helvetica, sans-serif\",\"fontWeight\":\"bolder\",\"borderWidth\":1,\"borderColor\":\"#efefef\"},\"bodyDesign\":{\"padding\":[15,20,5,20],\"descriptionInheritFontSize\":true,\"descriptionFontSize\":13,\"dottedGroupsInheritFontSize\":true,\"dottedGroupsFontSize\":13,\"dottedGroupsBulletColor\":\"#15779b\",\"teachingsInheritTextAlign\":true,\"teachingsTextAlign\":\"center\",\"teachingsSeparatorActive\":true,\"teachingsSeparatorWidth\":50,\"teachingsSeparatorHeight\":1,\"teachingsSeparatorColor\":\"#15779b\",\"teachingsInheritFontSize\":false,\"teachingsFontSize\":12,\"teachingsInheritFontColor\":false,\"teachingsFontColor\":\"#7c7c7c\",\"accordionMargin\":[10,0,5,0],\"accordionPadding\":[5,10,5,10],\"accordionArrowType\":\"outlined\",\"accordionArrowColor\":\"#15779b\",\"accordionBg\":\"#ffffff\",\"accordionActiveBg\":\"#f9f9f9\",\"accordionHoverBg\":\"#efefef\",\"accordionBorderWidth\":1,\"accordionBorderColor\":\"#efefef\",\"accordionTitleFontSize\":12,\"accordionTitleFontColor\":\"#2b2b2b\",\"accordionTitleFontWeight\":\"normal\",\"accordionDescriptionMargin\":[5,0,0,0],\"accordionDescriptionFontSize\":12,\"accordionDescriptionFontColor\":\"#757575\",\"accordionDescriptionFontWeight\":\"normal\",\"acceptAllOneRowLayout\":false,\"acceptAllPadding\":[10,10,10,10],\"acceptAllBg\":\"#7205d1\",\"acceptAllTextAlign\":\"center\",\"acceptAllFontSize\":18,\"acceptAllFontColor\":\"#ffffff\",\"acceptAllFontWeight\":\"normal\",\"acceptAllBorderWidth\":0,\"acceptAllBorderColor\":\"#000000\",\"acceptAllHoverBg\":\"#8836d1\",\"acceptAllHoverFontColor\":\"#ffffff\",\"acceptAllHoverBorderColor\":\"#000000\",\"acceptEssentialsUseAcceptAll\":false,\"acceptEssentialsButtonType\":\"\",\"acceptEssentialsPadding\":[10,10,10,10],\"acceptEssentialsBg\":\"#efefef\",\"acceptEssentialsTextAlign\":\"center\",\"acceptEssentialsFontSize\":18,\"acceptEssentialsFontColor\":\"#0a0a0a\",\"acceptEssentialsFontWeight\":\"normal\",\"acceptEssentialsBorderWidth\":0,\"acceptEssentialsBorderColor\":\"#000000\",\"acceptEssentialsHoverBg\":\"#e8e8e8\",\"acceptEssentialsHoverFontColor\":\"#000000\",\"acceptEssentialsHoverBorderColor\":\"#000000\",\"acceptIndividualPadding\":[5,5,5,5],\"acceptIndividualBg\":\"#ffffff\",\"acceptIndividualTextAlign\":\"center\",\"acceptIndividualFontSize\":15,\"acceptIndividualFontColor\":\"#b18ed1\",\"acceptIndividualFontWeight\":\"normal\",\"acceptIndividualBorderWidth\":0,\"acceptIndividualBorderColor\":\"#000000\",\"acceptIndividualHoverBg\":\"#ffffff\",\"acceptIndividualHoverFontColor\":\"#8836d1\",\"acceptIndividualHoverBorderColor\":\"#000000\"},\"footerDesign\":{\"poweredByLink\":false,\"inheritBg\":false,\"bg\":\"#fcfcfc\",\"inheritTextAlign\":true,\"textAlign\":\"center\",\"padding\":[10,20,15,20],\"fontSize\":14,\"fontColor\":\"#7c7c7c\",\"fontInheritFamily\":true,\"fontFamily\":\"Arial, Helvetica, sans-serif\",\"fontWeight\":\"normal\",\"hoverFontColor\":\"#2b2b2b\",\"borderWidth\":1,\"borderColor\":\"#efefef\",\"languageSwitcher\":\"flags\"},\"texts\":{\"headline\":\"Privacy preferences\",\"description\":\"We use cookies and technologies on our website and process technical information and personal data (e.g. IP address) to personalise content and ads, embed third-party media or analyse traffic to our website. We share this data with third parties that are listed in the privacy settings. There you can also reject individual or all cookies.<br \\\/><br \\\/>\\n By clicking on \\\"Accept all\\\", you also consent to the transfer of data to non-EU countries that do not have a level of data protection comparable to that of the EU. If personal data is transferred there, there is a risk that authorities may collect and analyse it without you being able to enforce your data subject rights. Under \\\"Customise settings\\\" you can reject individual or all optional cookies, but we may still transfer data to non-EU countries. If you want to exclude this completely, you should not use this site.<br \\\/><br \\\/>\\n You can find more information on the use of your data in our {{privacyPolicy}}privacy policy{{\\\/privacyPolicy}}. You can check your settings there at any time and revoke your consent with effect for the future.\",\"acceptAll\":\"Accept all\",\"acceptEssentials\":\"Continue without consent\",\"acceptIndividual\":\"Customize settings\",\"poweredBy\":\"0\",\"dataProcessingInUnsafeCountries\":\"Some services process personal data in unsecure third countries. By consenting to the use of these services, you also consent to the processing of your data in these unsecure third countries in accordance with {{legalBasis}}. This involves risks that your data will be processed by authorities for control and monitoring purposes, perhaps without the possibility of a legal recourse.\",\"ageNoticeBanner\":\"You are under {{minAge}} years old? Then you cannot consent to optional services. Ask your parents or legal guardians to agree to these services with you.\",\"ageNoticeBlocker\":\"You are under {{minAge}} years old? Unfortunately, you are not permitted to consent to this service to view this content. Please ask your parents or guardians to agree to the service with you!\",\"listServicesNotice\":\"By accepting all services, you allow {{services}} to be loaded. These services are divided into groups {{serviceGroups}} according to their purpose (belonging marked with superscript numbers).\",\"listServicesLegitimateInterestNotice\":\"In addition, {{services}} are loaded based on a legitimate interest.\",\"tcfStacksCustomName\":\"Services with various purposes outside the TCF standard\",\"tcfStacksCustomDescription\":\"Services that do not share consents via the TCF standard, but via other technologies. These are divided into several groups according to their purpose. Some of them are used based on a legitimate interest (e.g. threat prevention), others are used only with your consent. Details about the individual groups and purposes of the services can be found in the individual privacy settings.\",\"consentForwardingExternalHosts\":\"Your consent is also applicable on {{websites}}.\",\"blockerHeadline\":\"{{name}} blocked due to privacy settings\",\"blockerLinkShowMissing\":\"Show all services you still need to agree to\",\"blockerLoadButton\":\"Accept required services and load content\",\"blockerAcceptInfo\":\"Loading the blocked content will adjust your privacy settings. Content from this service will not be blocked in the future. You have the right to revoke or change your decision at any time.\",\"stickyHistory\":\"Privacy settings history\",\"stickyRevoke\":\"Revoke consents\",\"stickyRevokeSuccessMessage\":\"You have successfully revoked consent for services with its cookies and personal data processing. The page will be reloaded now!\",\"stickyChange\":\"Change privacy settings\"},\"individualLayout\":{\"inheritDialogMaxWidth\":false,\"dialogMaxWidth\":970,\"inheritBannerMaxWidth\":true,\"bannerMaxWidth\":1980,\"descriptionTextAlign\":\"left\"},\"group\":{\"checkboxBg\":\"#f0f0f0\",\"checkboxBorderWidth\":1,\"checkboxBorderColor\":\"#d2d2d2\",\"checkboxActiveColor\":\"#ffffff\",\"checkboxActiveBg\":\"#15779b\",\"checkboxActiveBorderColor\":\"#11607d\",\"groupInheritBg\":true,\"groupBg\":\"#f4f4f4\",\"groupPadding\":[15,15,15,15],\"groupSpacing\":10,\"groupBorderRadius\":5,\"groupBorderWidth\":1,\"groupBorderColor\":\"#f4f4f4\",\"headlineFontSize\":16,\"headlineFontWeight\":\"normal\",\"headlineFontColor\":\"#2b2b2b\",\"descriptionFontSize\":14,\"descriptionFontColor\":\"#7c7c7c\",\"linkColor\":\"#7c7c7c\",\"linkHoverColor\":\"#2b2b2b\"},\"saveButton\":{\"useAcceptAll\":false,\"type\":\"link\",\"padding\":[10,10,10,10],\"bg\":\"#efefef\",\"textAlign\":\"center\",\"fontSize\":15,\"fontColor\":\"#b18ed1\",\"fontWeight\":\"normal\",\"borderWidth\":0,\"borderColor\":\"#000000\",\"hoverBg\":\"#e8e8e8\",\"hoverFontColor\":\"#8836d1\",\"hoverBorderColor\":\"#000000\"},\"individualTexts\":{\"headline\":\"Individual privacy preferences\",\"description\":\"We use cookies and technologies on our website and process technical information and personal data (e.g. IP address) to personalise content and ads, embed third-party media or analyse traffic to our website. We share this data with third parties that are listed in the privacy settings. There you can also reject individual or all cookies.<br \\\/><br \\\/>\\n By clicking on \\\"Accept all\\\", you also consent to the transfer of data to non-EU countries that do not have a level of data protection comparable to that of the EU. If personal data is transferred there, there is a risk that authorities may collect and analyse it without you being able to enforce your data subject rights. Under \\\"Customise settings\\\" you can reject individual or all optional cookies, but we may still transfer data to non-EU countries. If you want to exclude this completely, you should not use this site.<br \\\/><br \\\/>\\n You can find more information on the use of your data in our {{privacyPolicy}}privacy policy{{\\\/privacyPolicy}}. You can check your settings there at any time and revoke your consent with effect for the future.\\n Below you will find an overview of all services used by this website. You can view detailed information on each service and agree to it individually or exercise your right to object.\\n\",\"save\":\"Save settings\",\"showMore\":\"Show service information\",\"hideMore\":\"Hide service information\",\"postamble\":\"\"},\"mobile\":{\"enabled\":true,\"maxHeight\":280,\"hideHeader\":false,\"alignment\":\"bottom\",\"scalePercent\":90,\"scalePercentVertical\":-50},\"sticky\":{\"enabled\":false,\"animationsEnabled\":true,\"alignment\":\"left\",\"bubbleBorderRadius\":50,\"icon\":\"fingerprint\",\"iconCustom\":\"\",\"iconCustomRetina\":\"\",\"iconSize\":30,\"iconColor\":\"#ffffff\",\"bubbleMargin\":[10,20,20,20],\"bubblePadding\":15,\"bubbleBg\":\"#15779b\",\"bubbleBorderWidth\":0,\"bubbleBorderColor\":\"#10556f\",\"boxShadowEnabled\":true,\"boxShadowOffsetX\":0,\"boxShadowOffsetY\":2,\"boxShadowBlurRadius\":5,\"boxShadowSpreadRadius\":1,\"boxShadowColor\":\"#105b77\",\"boxShadowColorAlpha\":40,\"bubbleHoverBg\":\"#ffffff\",\"bubbleHoverBorderColor\":\"#000000\",\"hoverIconColor\":\"#000000\",\"hoverIconCustom\":\"\",\"hoverIconCustomRetina\":\"\",\"menuFontSize\":16,\"menuBorderRadius\":5,\"menuItemSpacing\":10,\"menuItemPadding\":[5,10,5,10]},\"customCss\":{\"css\":\"\",\"antiAdBlocker\":\"y\"}}","isPro":true,"showProHints":false,"proUrl":"https:\/\/devowl.io\/go\/real-cookie-banner?source=rcb-lite","showLiteNotice":false,"frontend":{"groups":"[{\"id\":35,\"name\":\"Required Services\",\"slug\":\"essential\",\"description\":\"Required services are necessary for the basic functionality of the website. They contain only technically necessary services. These services cannot be objected to.\",\"isEssential\":true,\"items\":[{\"id\":3095,\"name\":\"WooCommerce\",\"purpose\":\"WooCommerce is an e-commerce shop system that allows you to buy products on this website. Cookies are used to collect items in a shopping cart, to store the shopping cart of the user in the database of the website, to store recently viewed products to show them again and to allow users to dismiss notices in the online shop.\",\"providerContact\":{\"phone\":\"\",\"email\":\"\",\"link\":\"\"},\"isProviderCurrentWebsite\":true,\"provider\":\"devmio - expand your knowledge\",\"uniqueName\":\"woocommerce\",\"isEmbeddingOnlyExternalResources\":false,\"legalBasis\":\"consent\",\"dataProcessingInCountries\":[],\"dataProcessingInCountriesSpecialTreatments\":[],\"technicalDefinitions\":[{\"type\":\"local\",\"name\":\"wc_cart_hash_*\",\"host\":\"devm.io\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"woocommerce_cart_hash\",\"host\":\"devm.io\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":true},{\"type\":\"http\",\"name\":\"wp_woocommerce_session_*\",\"host\":\"devm.io\",\"duration\":2,\"durationUnit\":\"d\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"woocommerce_items_in_cart\",\"host\":\"devm.io\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":true},{\"type\":\"http\",\"name\":\"woocommerce_recently_viewed\",\"host\":\"devm.io\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":true},{\"type\":\"http\",\"name\":\"store_notice*\",\"host\":\"devm.io\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":true}],\"codeDynamics\":[],\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/devm.io\\\/privacy\\\/\",\"providerLegalNoticeUrl\":\"\",\"tagManagerOptInEventName\":\"\",\"tagManagerOptOutEventName\":\"\",\"googleConsentModeConsentTypes\":[],\"codeOptIn\":\"\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":false,\"codeOptOut\":\"\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":false,\"deleteTechnicalDefinitionsAfterOptOut\":false,\"codeOnPageLoad\":\"\",\"presetId\":\"woocommerce\"},{\"id\":3096,\"name\":\"Stripe\",\"purpose\":\"Stripe is an online payment service with which payments can be made in this online store, e.g. by credit card. Payment data is collected directly by or transmitted to Stripe, but never stored by the operator of the online store itself. Customer data is shared with Stripe for the purpose of processing orders. Cookies are used for fraud prevention and detection.\",\"providerContact\":{\"phone\":\"\",\"email\":\"\",\"link\":\"\"},\"isProviderCurrentWebsite\":false,\"provider\":\"Stripe, Inc.\",\"uniqueName\":\"woocommerce-gateway-stripe\",\"isEmbeddingOnlyExternalResources\":false,\"legalBasis\":\"consent\",\"dataProcessingInCountries\":[\"US\"],\"dataProcessingInCountriesSpecialTreatments\":[],\"technicalDefinitions\":[{\"type\":\"http\",\"name\":\"__stripe_mid\",\"host\":\".devm.io\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"__stripe_sid\",\"host\":\".devm.io\",\"duration\":30,\"durationUnit\":\"m\",\"isSessionDuration\":false}],\"codeDynamics\":[],\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/stripe.com\\\/privacy\",\"providerLegalNoticeUrl\":\"\",\"tagManagerOptInEventName\":\"\",\"tagManagerOptOutEventName\":\"\",\"googleConsentModeConsentTypes\":[],\"codeOptIn\":\"\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":false,\"codeOptOut\":\"\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":false,\"deleteTechnicalDefinitionsAfterOptOut\":false,\"codeOnPageLoad\":\"\",\"presetId\":\"woocommerce-gateway-stripe\"},{\"id\":3091,\"name\":\"Elementor\",\"purpose\":\"Elementor is a software used to create the layout of this website. Cookies are used to store the number of page views and active sessions of the user. The collected data is not used for analysis purposes, but only to ensure that, for example, hidden elements are not displayed again during multiple active sessions.\",\"providerContact\":{\"phone\":\"\",\"email\":\"\",\"link\":\"\"},\"isProviderCurrentWebsite\":true,\"provider\":\"devmio - expand your knowledge\",\"uniqueName\":\"elementor\",\"isEmbeddingOnlyExternalResources\":false,\"legalBasis\":\"consent\",\"dataProcessingInCountries\":[],\"dataProcessingInCountriesSpecialTreatments\":[],\"technicalDefinitions\":[{\"type\":\"local\",\"name\":\"elementor\",\"host\":\"devm.io\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"session\",\"name\":\"elementor\",\"host\":\"devm.io\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false}],\"codeDynamics\":[],\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/devm.io\\\/privacy\\\/\",\"providerLegalNoticeUrl\":\"\",\"tagManagerOptInEventName\":\"\",\"tagManagerOptOutEventName\":\"\",\"googleConsentModeConsentTypes\":[],\"codeOptIn\":\"\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":false,\"codeOptOut\":\"\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":false,\"deleteTechnicalDefinitionsAfterOptOut\":false,\"codeOnPageLoad\":\"\",\"presetId\":\"elementor\"},{\"id\":3098,\"name\":\"WordPress User Login\",\"purpose\":\"WordPress is the content management system for this website and allows registered users to log in to the system. The cookies store the credentials of a logged-in user as hash, login status and user ID as well as user-related settings for the WordPress backend.\",\"providerContact\":{\"phone\":\"\",\"email\":\"\",\"link\":\"\"},\"isProviderCurrentWebsite\":true,\"provider\":\"devmio - expand your knowledge\",\"uniqueName\":\"wordpress-user-login\",\"isEmbeddingOnlyExternalResources\":false,\"legalBasis\":\"consent\",\"dataProcessingInCountries\":[],\"dataProcessingInCountriesSpecialTreatments\":[],\"technicalDefinitions\":[{\"type\":\"http\",\"name\":\"wordpress_*\",\"host\":\"devm.io\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":true},{\"type\":\"http\",\"name\":\"wordpress_logged_in_*\",\"host\":\"devm.io\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":true},{\"type\":\"http\",\"name\":\"wp-settings-*-*\",\"host\":\"devm.io\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"wordpress_test_cookie\",\"host\":\"devm.io\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":true}],\"codeDynamics\":[],\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/devm.io\\\/privacy\\\/\",\"providerLegalNoticeUrl\":\"\",\"tagManagerOptInEventName\":\"\",\"tagManagerOptOutEventName\":\"\",\"googleConsentModeConsentTypes\":[],\"codeOptIn\":\"\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":false,\"codeOptOut\":\"\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":false,\"deleteTechnicalDefinitionsAfterOptOut\":false,\"codeOnPageLoad\":\"\",\"presetId\":\"wordpress-user-login\"},{\"id\":3108,\"name\":\"Google reCAPTCHA\",\"purpose\":\"Google reCAPTCHA is a solution for detecting bots, e. g. when entering data into online forms, and preventing spam. The cookies are used to identify the user as a user within the data known to Google and to estimate the malignancy of the user. This collected data may be linked to data about users who have signed in to their Google accounts on google.com or a localised version of Google.\",\"providerContact\":{\"phone\":\"\",\"email\":\"\",\"link\":\"\"},\"isProviderCurrentWebsite\":false,\"provider\":\"Google Ireland Limited\",\"uniqueName\":\"google-recaptcha\",\"isEmbeddingOnlyExternalResources\":false,\"legalBasis\":\"consent\",\"dataProcessingInCountries\":[\"US\"],\"dataProcessingInCountriesSpecialTreatments\":[],\"technicalDefinitions\":[{\"type\":\"http\",\"name\":\"NID\",\"host\":\".google.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"local\",\"name\":\"rc::a\",\"host\":\"www.google.com\",\"duration\":1,\"durationUnit\":\"s\",\"isSessionDuration\":false},{\"type\":\"local\",\"name\":\"rc::b\",\"host\":\"www.google.com\",\"duration\":1,\"durationUnit\":\"s\",\"isSessionDuration\":false},{\"type\":\"local\",\"name\":\"rc::c\",\"host\":\"www.google.com\",\"duration\":1,\"durationUnit\":\"s\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"SIDCC\",\"host\":\".google.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"__Secure-3PAPISID\",\"host\":\".google.com\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"SSID\",\"host\":\".google.com\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"SAPISID\",\"host\":\".google.com\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"APISID\",\"host\":\".google.com\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"HSID\",\"host\":\".google.com\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"SID\",\"host\":\".google.com\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"__Secure-3PSID\",\"host\":\".google.com\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"SEARCH_SAMESITE\",\"host\":\".google.com\",\"duration\":6,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"CONSENT\",\"host\":\".google.com\",\"duration\":18,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"1P_JAR\",\"host\":\".google.com\",\"duration\":1,\"durationUnit\":\"mo\",\"isSessionDuration\":false}],\"codeDynamics\":[],\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/policies.google.com\\\/privacy\",\"providerLegalNoticeUrl\":\"\",\"tagManagerOptInEventName\":\"\",\"tagManagerOptOutEventName\":\"\",\"googleConsentModeConsentTypes\":[],\"codeOptIn\":\"\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":false,\"codeOptOut\":\"\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":false,\"deleteTechnicalDefinitionsAfterOptOut\":false,\"codeOnPageLoad\":\"\",\"presetId\":\"google-recaptcha\"},{\"id\":3097,\"name\":\"Emojis\",\"purpose\":\"WordPress Emoji is an emoji set that is loaded from wordpress.org. No cookies in the technical sense are set on the client of the user, but technical and personal data such as the IP address will be transmitted from the client to the server of the service provider to make the use of the service possible.\",\"providerContact\":{\"phone\":\"\",\"email\":\"\",\"link\":\"\"},\"isProviderCurrentWebsite\":false,\"provider\":\"WordPress.org\",\"uniqueName\":\"wordpress-emojis\",\"isEmbeddingOnlyExternalResources\":true,\"legalBasis\":\"consent\",\"dataProcessingInCountries\":[\"US\"],\"dataProcessingInCountriesSpecialTreatments\":[],\"technicalDefinitions\":[{\"type\":\"http\",\"name\":\"\",\"host\":\"\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false}],\"codeDynamics\":[],\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/wordpress.org\\\/about\\\/privacy\\\/\",\"providerLegalNoticeUrl\":\"\",\"tagManagerOptInEventName\":\"\",\"tagManagerOptOutEventName\":\"\",\"googleConsentModeConsentTypes\":[],\"codeOptIn\":\"\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":false,\"codeOptOut\":\"\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":false,\"deleteTechnicalDefinitionsAfterOptOut\":false,\"codeOnPageLoad\":\"\",\"presetId\":\"wordpress-emojis\"},{\"id\":3110,\"name\":\"YouTube-nocookies\",\"purpose\":\"YouTube allows embedding content posted on youtube.com directly into websites. The cookies are used to collect visited websites and detailed statistics about the user behaviour. This data can be linked to the data of users registered on youtube.com and google.com or localized versions of these services.\",\"providerContact\":{\"phone\":\"\",\"email\":\"\",\"link\":\"\"},\"isProviderCurrentWebsite\":false,\"provider\":\"Google Ireland Limited\",\"uniqueName\":\"youtube\",\"isEmbeddingOnlyExternalResources\":false,\"legalBasis\":\"consent\",\"dataProcessingInCountries\":[\"US\"],\"dataProcessingInCountriesSpecialTreatments\":[],\"technicalDefinitions\":[{\"type\":\"http\",\"name\":\"SIDCC\",\"host\":\".youtube.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"__Secure-3PAPISID\",\"host\":\".youtube.com\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"__Secure-APISID\",\"host\":\".youtube.com\",\"duration\":1,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"__Secure-SSID\",\"host\":\".youtube.com\",\"duration\":1,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"__Secure-HSID\",\"host\":\".youtube.com\",\"duration\":1,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"APISID\",\"host\":\".youtube.com\",\"duration\":6,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"__Secure-3PSID\",\"host\":\".youtube.com\",\"duration\":6,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"SAPISID\",\"host\":\".youtube.com\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"HSID\",\"host\":\".youtube.com\",\"duration\":6,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"SSID\",\"host\":\".youtube.com\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"SID\",\"host\":\".youtube.com\",\"duration\":6,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"1P_JAR\",\"host\":\".youtube.com\",\"duration\":1,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"SEARCH_SAMESITE\",\"host\":\".youtube.com\",\"duration\":6,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"CONSENT\",\"host\":\".youtube.com\",\"duration\":6,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"YSC\",\"host\":\".youtube.com\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":true},{\"type\":\"http\",\"name\":\"SIDCC\",\"host\":\".youtube.com\",\"duration\":6,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"LOGIN_INFO\",\"host\":\".youtube.com\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"HSID\",\"host\":\".youtube.com\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"VISITOR_INFO1_LIVE\",\"host\":\".youtube.com\",\"duration\":6,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"__Secure-3PAPISID\",\"host\":\".youtube.com\",\"duration\":6,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"CONSENT\",\"host\":\".youtube.com\",\"duration\":18,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"SSID\",\"host\":\".youtube.com\",\"duration\":6,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"__Secure-SSID\",\"host\":\".youtube.com\",\"duration\":1,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"__Secure-APISID\",\"host\":\".youtube.com\",\"duration\":1,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"__Secure-HSID\",\"host\":\".youtube.com\",\"duration\":1,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"SAPISID\",\"host\":\".youtube.com\",\"duration\":6,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"APISID\",\"host\":\".youtube.com\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"__Secure-3PSID\",\"host\":\".youtube.com\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"PREF\",\"host\":\".youtube.com\",\"duration\":8,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"SID\",\"host\":\".youtube.com\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"s_gl\",\"host\":\".youtube.com\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":true},{\"type\":\"http\",\"name\":\"SIDCC\",\"host\":\".google.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"__Secure-3PAPISID\",\"host\":\".google.com\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"SAPISID\",\"host\":\".google.com\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"APISID\",\"host\":\".google.com\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"SSID\",\"host\":\".google.com\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"HSID\",\"host\":\".google.com\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"__Secure-3PSID\",\"host\":\".google.com\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"SID\",\"host\":\".google.com\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"CONSENT\",\"host\":\".google.com\",\"duration\":18,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"NID\",\"host\":\".google.com\",\"duration\":6,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"1P_JAR\",\"host\":\".google.com\",\"duration\":1,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"DV\",\"host\":\"www.google.com\",\"duration\":1,\"durationUnit\":\"m\",\"isSessionDuration\":false}],\"codeDynamics\":[],\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/policies.google.com\\\/privacy\",\"providerLegalNoticeUrl\":\"\",\"tagManagerOptInEventName\":\"\",\"tagManagerOptOutEventName\":\"\",\"googleConsentModeConsentTypes\":[],\"codeOptIn\":\"\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":false,\"codeOptOut\":\"\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":false,\"deleteTechnicalDefinitionsAfterOptOut\":false,\"codeOnPageLoad\":\"\",\"presetId\":\"youtube\"},{\"id\":3111,\"name\":\"Vimeo\",\"purpose\":\"Vimeo allows embedding content posted on vimeo.com directly into websites. The cookies are used to collect visited websites and detailed statistics about the user behaviour. This data can be linked to the data of users registered on vimeo.com.\",\"providerContact\":{\"phone\":\"\",\"email\":\"\",\"link\":\"\"},\"isProviderCurrentWebsite\":false,\"provider\":\"Vimeo Inc.\",\"uniqueName\":\"vimeo\",\"isEmbeddingOnlyExternalResources\":false,\"legalBasis\":\"consent\",\"dataProcessingInCountries\":[\"US\"],\"dataProcessingInCountriesSpecialTreatments\":[],\"technicalDefinitions\":[{\"type\":\"http\",\"name\":\"vuid\",\"host\":\".vimeo.com\",\"duration\":10,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"player\",\"host\":\".vimeo.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"local\",\"name\":\"sync_volume\",\"host\":\"player.vimeo.com\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"local\",\"name\":\"sync_active\",\"host\":\"player.vimeo.com\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"vimeo\",\"host\":\".vimeo.com\",\"duration\":1,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"has_logged_in\",\"host\":\".vimeo.com\",\"duration\":6,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"is_logged_in\",\"host\":\".vimeo.com\",\"duration\":10,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"_uetvid\",\"host\":\".vimeo.com\",\"duration\":21,\"durationUnit\":\"d\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"has_logged_in\",\"host\":\".vimeo.com\",\"duration\":10,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"_fbp\",\"host\":\".vimeo.com\",\"duration\":3,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"_uetsid\",\"host\":\".vimeo.com\",\"duration\":1,\"durationUnit\":\"d\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"_gat_UA-*\",\"host\":\".vimeo.com\",\"duration\":1,\"durationUnit\":\"h\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"_gid\",\"host\":\".vimeo.com\",\"duration\":1,\"durationUnit\":\"d\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"continuous_play_v3\",\"host\":\".vimeo.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"_gcl_au\",\"host\":\".vimeo.com\",\"duration\":3,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"_ga\",\"host\":\".vimeo.com\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false}],\"codeDynamics\":[],\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/vimeo.com\\\/privacy\",\"providerLegalNoticeUrl\":\"\",\"tagManagerOptInEventName\":\"\",\"tagManagerOptOutEventName\":\"\",\"googleConsentModeConsentTypes\":[],\"codeOptIn\":\"\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":false,\"codeOptOut\":\"\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":false,\"deleteTechnicalDefinitionsAfterOptOut\":false,\"codeOnPageLoad\":\"\",\"presetId\":\"vimeo\"},{\"id\":3102,\"name\":\"Google Ad Manager\",\"purpose\":\"Google Ad Manager allows websites to place ads from the Google Ads advertising network on their website and be paid for it. Cookies are used to distinguish users and track their behavior on the website in detail and to associate this data with advertising data from the Google Ads advertising network. The data will be evaluated for the targeted placement of ads and to measure the success of the advertising. This data may be linked to data about users who have signed in to their Google accounts on google.com or a localised version of Google.\",\"providerContact\":{\"phone\":\"\",\"email\":\"\",\"link\":\"\"},\"isProviderCurrentWebsite\":false,\"provider\":\"Google Ireland Limited\",\"uniqueName\":\"google-adsense\",\"isEmbeddingOnlyExternalResources\":false,\"legalBasis\":\"consent\",\"dataProcessingInCountries\":[\"US\"],\"dataProcessingInCountriesSpecialTreatments\":[],\"technicalDefinitions\":[{\"type\":\"local\",\"name\":\"goog_pem_mod\",\"host\":\"devm.io\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"local\",\"name\":\"google_experiment_mod*\",\"host\":\"devm.io\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"__gads\",\"host\":\".devm.io\",\"duration\":9,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"NID\",\"host\":\".google.com\",\"duration\":6,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"ANID\",\"host\":\".google.com\",\"duration\":13,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"1P_JAR\",\"host\":\".google.com\",\"duration\":1,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"GOOGLE_ABUSE_EXEMPTION\",\"host\":\".google.com\",\"duration\":1,\"durationUnit\":\"h\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"CONSENT\",\"host\":\".google.com\",\"duration\":18,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"IDE\",\"host\":\".doubleclick.net\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"test_cookie\",\"host\":\".doubleclick.net\",\"duration\":1,\"durationUnit\":\"h\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"DSID\",\"host\":\".doubleclick.net\",\"duration\":14,\"durationUnit\":\"d\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"SIDCC\",\"host\":\".google.com\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"SEARCH_SAMESITE\",\"host\":\".google.com\",\"duration\":6,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"__Secure-3PAPISID\",\"host\":\".google.com\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"SSID\",\"host\":\".google.com\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"SAPISID\",\"host\":\".google.com\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"APISID\",\"host\":\".google.com\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"HSID\",\"host\":\".google.com\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"SID\",\"host\":\".google.com\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"__Secure-3PSID\",\"host\":\".google.com\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false}],\"codeDynamics\":[],\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/policies.google.com\\\/privacy\",\"providerLegalNoticeUrl\":\"\",\"tagManagerOptInEventName\":\"ga-opt-in\",\"tagManagerOptOutEventName\":\"ga-opt-out\",\"googleConsentModeConsentTypes\":[],\"codeOptIn\":\"\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":true,\"codeOptOut\":\"\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":true,\"deleteTechnicalDefinitionsAfterOptOut\":true,\"codeOnPageLoad\":\"\",\"presetId\":\"google-adsense\"},{\"id\":3101,\"name\":\"Apptentive\",\"purpose\":\"Apptentive is a service to gain customer feedback.\",\"providerContact\":{\"phone\":\"\",\"email\":\"\",\"link\":\"\"},\"isProviderCurrentWebsite\":false,\"provider\":\"Apptentive\",\"uniqueName\":\"apptentive\",\"isEmbeddingOnlyExternalResources\":true,\"legalBasis\":\"consent\",\"dataProcessingInCountries\":[],\"dataProcessingInCountriesSpecialTreatments\":[],\"technicalDefinitions\":[{\"type\":\"http\",\"name\":\"\",\"host\":\"\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false}],\"codeDynamics\":[],\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/www.apptentive.com\\\/privacy\\\/\",\"providerLegalNoticeUrl\":\"\",\"tagManagerOptInEventName\":\"\",\"tagManagerOptOutEventName\":\"\",\"googleConsentModeConsentTypes\":[],\"codeOptIn\":\"\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":false,\"codeOptOut\":\"\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":false,\"deleteTechnicalDefinitionsAfterOptOut\":false,\"codeOnPageLoad\":\"\",\"presetId\":\"\"},{\"id\":3100,\"name\":\"OneSignal\",\"purpose\":\"OneSignal is a service to send notifications via the browser.\",\"providerContact\":{\"phone\":\"\",\"email\":\"\",\"link\":\"\"},\"isProviderCurrentWebsite\":false,\"provider\":\"https:\\\/\\\/onesignal.com\\\/privacy_policy\",\"uniqueName\":\"onesignal\",\"isEmbeddingOnlyExternalResources\":true,\"legalBasis\":\"consent\",\"dataProcessingInCountries\":[],\"dataProcessingInCountriesSpecialTreatments\":[],\"technicalDefinitions\":[{\"type\":\"http\",\"name\":\"\",\"host\":\"\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false}],\"codeDynamics\":[],\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/onesignal.com\\\/privacy_policy\",\"providerLegalNoticeUrl\":\"\",\"tagManagerOptInEventName\":\"\",\"tagManagerOptOutEventName\":\"\",\"googleConsentModeConsentTypes\":[],\"codeOptIn\":\"\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":false,\"codeOptOut\":\"\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":false,\"deleteTechnicalDefinitionsAfterOptOut\":false,\"codeOnPageLoad\":\"\",\"presetId\":\"\"},{\"id\":3099,\"name\":\"AddEvent\",\"purpose\":\"AddEvent is a calendar management solution that helps businesses create events or calendars to share with participants and others. \",\"providerContact\":{\"phone\":\"\",\"email\":\"\",\"link\":\"\"},\"isProviderCurrentWebsite\":false,\"provider\":\"AddEvent\",\"uniqueName\":\"addevent\",\"isEmbeddingOnlyExternalResources\":true,\"legalBasis\":\"consent\",\"dataProcessingInCountries\":[],\"dataProcessingInCountriesSpecialTreatments\":[],\"technicalDefinitions\":[{\"type\":\"http\",\"name\":\"\",\"host\":\"\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false}],\"codeDynamics\":[],\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/www.addevent.com\\\/privacy\",\"providerLegalNoticeUrl\":\"\",\"tagManagerOptInEventName\":\"\",\"tagManagerOptOutEventName\":\"\",\"googleConsentModeConsentTypes\":[],\"codeOptIn\":\"\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":false,\"codeOptOut\":\"\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":false,\"deleteTechnicalDefinitionsAfterOptOut\":false,\"codeOnPageLoad\":\"\",\"presetId\":\"\"},{\"id\":3038,\"name\":\"Real Cookie Banner\",\"purpose\":\"Real Cookie Banner asks website visitors for consent to set cookies and process personal data. For this purpose, a UUID (pseudonymous identification of the user) is assigned to each website visitor, which is valid until the cookie expires to store the consent. Cookies are used to test whether cookies can be set, to store reference to documented consent, to store which services from which service groups the visitor has consented to, and, if consent is obtained under the Transparency & Consent Framework (TCF), to store consent in TCF partners, purposes, special purposes, features and special features. As part of the obligation to disclose according to GDPR, the collected consent is fully documented. This includes, in addition to the services and service groups to which the visitor has consented, and if consent is obtained according to the TCF standard, to which TCF partners, purposes and features the visitor has consented, all cookie banner settings at the time of consent as well as the technical circumstances (e.g. size of the displayed area at the time of consent) and the user interactions (e.g. clicking on buttons) that led to consent. Consent is collected once per language.\",\"providerContact\":{\"phone\":\"\",\"email\":\"\",\"link\":\"\"},\"isProviderCurrentWebsite\":true,\"provider\":\"devmio - expand your knowledge\",\"uniqueName\":\"real-cookie-banner\",\"isEmbeddingOnlyExternalResources\":false,\"legalBasis\":\"legal-requirement\",\"dataProcessingInCountries\":[],\"dataProcessingInCountriesSpecialTreatments\":[],\"technicalDefinitions\":[{\"type\":\"http\",\"name\":\"real_cookie_banner*\",\"host\":\".devm.io\",\"duration\":365,\"durationUnit\":\"d\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"real_cookie_banner*-tcf\",\"host\":\".devm.io\",\"duration\":365,\"durationUnit\":\"d\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"real_cookie_banner-test\",\"host\":\".devm.io\",\"duration\":365,\"durationUnit\":\"d\",\"isSessionDuration\":false}],\"codeDynamics\":[],\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/devm.io\\\/privacy\\\/\",\"providerLegalNoticeUrl\":\"\",\"tagManagerOptInEventName\":\"\",\"tagManagerOptOutEventName\":\"\",\"googleConsentModeConsentTypes\":[],\"codeOptIn\":\"\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":false,\"codeOptOut\":\"\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":false,\"deleteTechnicalDefinitionsAfterOptOut\":false,\"codeOnPageLoad\":\"\",\"presetId\":\"real-cookie-banner\"}]},{\"id\":36,\"name\":\"Metrics and improved website experience\",\"slug\":\"functional\",\"description\":\"These services are used by us and third parties to analyse traffic and, for example, to display personalised advertising and to improve the website experience.\",\"isEssential\":false,\"items\":[{\"id\":3093,\"name\":\"Google Tag Manager\",\"purpose\":\"Google Tag Manager is a service for managing tags triggered by a specific event that injects a third script or sends data to a third service. No cookies in the technical sense are set on the client of the user, but technical and personal data such as the IP address will be transmitted from the client to the server of the service provider to make the use of the service possible. Google Tag Manager makes it possible to configure and manage tags (e.g. integration of third-party services, tracking of events, forwarding of collected data between different services and similar actions). This requires processing the user\\u2019s IP-address and metadata. The data is processed to provide the functionalities of the Google Tag Manager and to improve Google's services. Google provides personal information to their affiliates and other trusted businesses or persons to process it for them, based on Google's instructions and in compliance with Google's privacy policy.\",\"providerContact\":{\"phone\":\"\",\"email\":\"\",\"link\":\"\"},\"isProviderCurrentWebsite\":false,\"provider\":\"Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Ireland\",\"uniqueName\":\"gtm\",\"isEmbeddingOnlyExternalResources\":true,\"legalBasis\":\"consent\",\"dataProcessingInCountries\":[\"US\",\"IE\",\"AU\",\"BE\",\"BR\",\"CA\",\"CL\",\"FI\",\"FR\",\"DE\",\"HK\",\"IN\",\"ID\",\"IL\",\"IT\",\"JP\",\"KR\",\"NL\",\"PL\",\"QA\",\"SG\",\"ES\",\"CH\",\"TW\",\"GB\"],\"dataProcessingInCountriesSpecialTreatments\":[],\"technicalDefinitions\":[{\"type\":\"http\",\"name\":\"\",\"host\":\"\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false}],\"codeDynamics\":{\"gtmContainerId\":\"GTM-NRJJSNL\"},\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/policies.google.com\\\/privacy\",\"providerLegalNoticeUrl\":\"\",\"tagManagerOptInEventName\":\"\",\"tagManagerOptOutEventName\":\"\",\"googleConsentModeConsentTypes\":[],\"codeOptIn\":\"base64-encoded:PHNjcmlwdD4KICAgIChmdW5jdGlvbiAodywgZCwgcywgbCwgaSkgewogICAgICAgIHdbbF0gPSB3W2xdIHx8IFtdOwogICAgICAgIHdbbF0ucHVzaCh7ICJndG0uc3RhcnQiOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSwgZXZlbnQ6ICJndG0uanMiIH0pOwogICAgICAgIHZhciBmID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZShzKVswXSwKICAgICAgICAgICAgaiA9IGQuY3JlYXRlRWxlbWVudChzKSwKICAgICAgICAgICAgZGwgPSBsICE9ICJkYXRhTGF5ZXIiID8gIiZsPSIgKyBsIDogIiI7CiAgICAgICAgai5hc3luYyA9IHRydWU7CiAgICAgICAgai5zcmMgPSAiaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPSIgKyBpICsgZGw7CiAgICAgICAgZi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShqLCBmKTsKICAgIH0pKHdpbmRvdywgZG9jdW1lbnQsICJzY3JpcHQiLCAiZGF0YUxheWVyIiwgInt7Z3RtQ29udGFpbmVySWR9fSIpOwo8L3NjcmlwdD4KCjxub3NjcmlwdD48aWZyYW1lIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vbnMuaHRtbD9pZD17e2d0bUNvbnRhaW5lcklkfX0iIGhlaWdodD0iMCIgd2lkdGg9IjAiIHN0eWxlPSJkaXNwbGF5OiBub25lOyB2aXNpYmlsaXR5OiBoaWRkZW47Ij48L2lmcmFtZT48L25vc2NyaXB0Pgo8IS0tIENyZWF0ZSBvbmUgdXBkYXRlIGZ1bmN0aW9uIGZvciBlYWNoIGNvbnNlbnQgcGFyYW1ldGVyIC0tPgoKPHNjcmlwdD4KICAvLyBEZWZpbmUgZGF0YUxheWVyIGFuZCB0aGUgZ3RhZyBmdW5jdGlvbi4KICB3aW5kb3cuZGF0YUxheWVyID0gd2luZG93LmRhdGFMYXllciB8fCBbXTsKICBmdW5jdGlvbiBndGFnKCl7ZGF0YUxheWVyLnB1c2goYXJndW1lbnRzKTt9CiBndGFnKCdjb25zZW50JywgJ3VwZGF0ZScsIHsKICAgICdhZF9zdG9yYWdlJzogJ2dyYW50ZWQnLAogICAgJ2FkX3VzZXJfZGF0YSc6ICdncmFudGVkJywKICAgICdhZF9wZXJzb25hbGl6YXRpb24nOiAnZ3JhbnRlZCcsCiAgICAnYW5hbHl0aWNzX3N0b3JhZ2UnOiAnZ3JhbnRlZCcKICB9KTsKPC9zY3JpcHQ+\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":false,\"codeOptOut\":\"base64-encoded:PHNjcmlwdD4KICAvLyBEZWZpbmUgZGF0YUxheWVyIGFuZCB0aGUgZ3RhZyBmdW5jdGlvbi4KICB3aW5kb3cuZGF0YUxheWVyID0gd2luZG93LmRhdGFMYXllciB8fCBbXTsKICBmdW5jdGlvbiBndGFnKCl7ZGF0YUxheWVyLnB1c2goYXJndW1lbnRzKTt9CgogIC8vIFNldCBkZWZhdWx0IGNvbnNlbnQgdG8gJ2RlbmllZCcgYXMgYSBwbGFjZWhvbGRlcgogIC8vIERldGVybWluZSBhY3R1YWwgdmFsdWVzIGJhc2VkIG9uIHlvdXIgb3duIHJlcXVpcmVtZW50cwogIGd0YWcoJ2NvbnNlbnQnLCAndXBkYXRlJywgewogICAgJ2FkX3N0b3JhZ2UnOiAnZGVuaWVkJywKICAgICdhZF91c2VyX2RhdGEnOiAnZGVuaWVkJywKICAgICdhZF9wZXJzb25hbGl6YXRpb24nOiAnZGVuaWVkJywKICAgICdhbmFseXRpY3Nfc3RvcmFnZSc6ICdkZW5pZWQnCiAgfSk7Cjwvc2NyaXB0PgoKCjwhLS0gZ3RtIGRmcCBzY3JpcHRzIHN0YXJ0IC0tPgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+IAogIHZhciBnb29nbGV0YWcgPSBnb29nbGV0YWcgfHwge307IAogIGdvb2dsZXRhZy5jbWQgPSBnb29nbGV0YWcuY21kIHx8IFtdOyAKCiAgKGZ1bmN0aW9uKCkgeyAKICAgIHZhciBnYWRzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7IAogICAgZ2Fkcy5hc3luYyA9IHRydWU7IAogICAgZ2Fkcy50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7IAogICAgdmFyIHVzZVNTTCA9ICdodHRwczonID09IGRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sOyAKICAgIGdhZHMuc3JjID0gKHVzZVNTTCA\\\/ICdodHRwczonIDogJ2h0dHA6JykgKyAKICAgICAgJy8vd3d3Lmdvb2dsZXRhZ3NlcnZpY2VzLmNvbS90YWcvanMvZ3B0LmpzJzsgCiAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKVswXTsgCiAgICBub2RlLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGdhZHMsIG5vZGUpOyAKICB9KSgpOyAKPC9zY3JpcHQ+IAoKPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPiAKICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7CiAgICAKICAgIAogICAgICAgICAgZ29vZ2xldGFnLmNtZC5wdXNoKGZ1bmN0aW9uKCkgeyAKICAgIGdvb2dsZXRhZy5kZWZpbmVTbG90KCcvMjEzMzkyNzQvZGV2bWlvLWJsb2ctZmlyZXBsYWNlLWxlZnQnLCBbMTIwLCA2MDBdLCAnZGl2LWdwdC1hZC0xNjU1NzI5Mjk1MjYxLTAnKS5hZGRTZXJ2aWNlKGdvb2dsZXRhZy5wdWJhZHMoKSk7CiAgICAgICAgICAgIGdvb2dsZXRhZy5kZWZpbmVTbG90KCcvMjEzMzkyNzQvZGV2bWlvLWJsb2ctZmlyZXBsYWNlLXJpZ2h0JywgWzEyMCwgNjAwXSwgJ2Rpdi1ncHQtYWQtMTY1NTcyOTYyNTExNS0wJykuYWRkU2VydmljZShnb29nbGV0YWcucHViYWRzKCkpOwogICAgZ29vZ2xldGFnLmRlZmluZVNsb3QoJy8yMTMzOTI3NC9kZXZtaW8tYmxvZy1maXJlcGxhY2UtdG9wJywgW1sxMTcwLCAyNTBdLCBbMTE3MCwgMTEwXV0sICdkaXYtZ3B0LWFkLTE2NTU3Mjk3MDcxMjktMCcpLmFkZFNlcnZpY2UoZ29vZ2xldGFnLnB1YmFkcygpKTsKICAgIGdvb2dsZXRhZy5kZWZpbmVTbG90KCcvMjEzMzkyNzQvZGV2bWlvLWNvbnRlbnQtYWQnLCBbMzAwLCAyNTBdLCAnZGl2LWdwdC1hZC0xNjU2NDkzNzEzNDIyLTAnKS5hZGRTZXJ2aWNlKGdvb2dsZXRhZy5wdWJhZHMoKSk7CiAgICBnb29nbGV0YWcuZGVmaW5lU2xvdCgnLzIxMzM5Mjc0L2Rldm1pby1tb2JpbGUtaGVhZGVyLWFkJywgW1szMDAsIDUwXSwgWzY0MCwgMTUwXSwgWzY0MCwgMTAwXSwgWzMyMCwgNTBdLCBbMzIwLCA3NV1dLCAnZGl2LWdwdC1hZC0xNjU2NTA3MDU3ODM0LTAnKS5hZGRTZXJ2aWNlKGdvb2dsZXRhZy5wdWJhZHMoKSk7CiAgICBnb29nbGV0YWcucHViYWRzKCkuc2V0UmVxdWVzdE5vblBlcnNvbmFsaXplZEFkcygxKTsgICAgIAogICAgZ29vZ2xldGFnLnB1YmFkcygpLmNvbGxhcHNlRW1wdHlEaXZzKHRydWUpOyAKICAgIGdvb2dsZXRhZy5wdWJhZHMoKS5lbmFibGVTaW5nbGVSZXF1ZXN0KCk7IAogICAgZ29vZ2xldGFnLmVuYWJsZVNlcnZpY2VzKCk7IAogICAgZ29vZ2xldGFnLmNtZC5wdXNoKGZ1bmN0aW9uKCkgeyBnb29nbGV0YWcuZGlzcGxheSgnZGl2LWdwdC1hZC0xNjU1NzI5Mjk1MjYxLTAnKTsgfSk7CiAgICBnb29nbGV0YWcuY21kLnB1c2goZnVuY3Rpb24oKSB7IGdvb2dsZXRhZy5kaXNwbGF5KCdkaXYtZ3B0LWFkLTE2NTU3Mjk2MjUxMTUtMCcpOyB9KTsKICAgIGdvb2dsZXRhZy5jbWQucHVzaChmdW5jdGlvbigpIHsgZ29vZ2xldGFnLmRpc3BsYXkoJ2Rpdi1ncHQtYWQtMTY1NTcyOTcwNzEyOS0wJyk7IH0pOwogICAgZ29vZ2xldGFnLmNtZC5wdXNoKGZ1bmN0aW9uKCkgeyBnb29nbGV0YWcuZGlzcGxheSgnZGl2LWdwdC1hZC0xNjU2NDkzNzEzNDIyLTAnKTsgfSk7CiAgICBnb29nbGV0YWcuY21kLnB1c2goZnVuY3Rpb24oKSB7IGdvb2dsZXRhZy5kaXNwbGF5KCdkaXYtZ3B0LWFkLTE2NTY1MDcwNTc4MzQtMCcpOyB9KTsKICAgICAgICAgIH0pOwogICAgCiAgICAKICB9LCAzMDAwKTsKICAKICAKPC9zY3JpcHQ+CjwhLS0gZ3RtIGRmcCBzY3JpcHRzIGVuZCEgLS0+\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":false,\"deleteTechnicalDefinitionsAfterOptOut\":false,\"codeOnPageLoad\":\"base64-encoded:PHNjcmlwdD4KICAvLyBEZWZpbmUgZGF0YUxheWVyIGFuZCB0aGUgZ3RhZyBmdW5jdGlvbi4KICB3aW5kb3cuZGF0YUxheWVyID0gd2luZG93LmRhdGFMYXllciB8fCBbXTsKICBmdW5jdGlvbiBndGFnKCl7ZGF0YUxheWVyLnB1c2goYXJndW1lbnRzKTt9CgogIC8vIFNldCBkZWZhdWx0IGNvbnNlbnQgdG8gJ2RlbmllZCcgYXMgYSBwbGFjZWhvbGRlcgogIC8vIERldGVybWluZSBhY3R1YWwgdmFsdWVzIGJhc2VkIG9uIHlvdXIgb3duIHJlcXVpcmVtZW50cwogIGd0YWcoJ2NvbnNlbnQnLCAnZGVmYXVsdCcsIHsKICAgICdhZF9zdG9yYWdlJzogJ2RlbmllZCcsCiAgICAnYWRfdXNlcl9kYXRhJzogJ2RlbmllZCcsCiAgICAnYWRfcGVyc29uYWxpemF0aW9uJzogJ2RlbmllZCcsCiAgICAnYW5hbHl0aWNzX3N0b3JhZ2UnOiAnZGVuaWVkJwogIH0pOwo8L3NjcmlwdD4=\",\"presetId\":\"gtm\"},{\"id\":19552,\"name\":\"Google Analytics\",\"purpose\":\"Google Analytics creates detailed statistics of user behavior on the website to obtain analysis information. This requires processing a user\\u2019s IP-address and metadata which can be used to determine a user's country, city and language. Cookies or cookie-like technologies can be stored and read. These can contain personal data and technical data like user ID which can provide the following additional information:\\n- time information about when and how long a user was or is on the different pages of the website\\n- device category (desktop, mobile and tablet), platform (web, iOS app or Android app), browser and screen resolution a user used\\n- where a user came from (e.g. origin website, search engine including the searched term, social media platform, newsletter, organic video, paid search or campaign)\\n- whether a user belongs to a target group\\\/audience or not\\n- what a user has done on the website and which events were triggered by actions of the user (e.g. page views, user engagement, scroll behaviour, clicks, added payment info and custom events like e-commerce tracking)\\n- conversions (e. g. if a user bought something and what was bought)\\n- gender, age and interest if an allocation is possible \\n\\nThis data can also be used by Google to collect visited websites, and it can be used to improve the services of Google. It can be linked across multiple domains, which are operated by this website operator, with other Google products (e.g. Google AdSense, Google Ads, BigQuery, Google Play) which the website operator uses. It can also be linked by Google to the data of users logged in on the websites of Google (e.g. google.com). Google provides personal information to their affiliates and other trusted businesses or persons to process it for them, based on Google's instructions and in compliance with Google's privacy policy. It can also be used for profiling by the website operator and Google, e.g. to provide a user with personalized services, such as ads based on a user's interests or recommendations.\",\"providerContact\":{\"phone\":\"+1 650 253 0000\",\"email\":\"dpo-google@google.com\",\"link\":\"https:\\\/\\\/support.google.com\\\/\"},\"isProviderCurrentWebsite\":false,\"provider\":\"Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Ireland\",\"uniqueName\":\"google-analytics-analytics-4\",\"isEmbeddingOnlyExternalResources\":false,\"legalBasis\":\"consent\",\"dataProcessingInCountries\":[\"US\",\"IE\",\"AU\",\"BE\",\"BR\",\"CA\",\"CL\",\"FI\",\"FR\",\"DE\",\"HK\",\"IN\",\"ID\",\"IL\",\"IT\",\"JP\",\"KR\",\"NL\",\"PL\",\"QA\",\"SG\",\"ES\",\"CH\",\"TW\",\"GB\"],\"dataProcessingInCountriesSpecialTreatments\":[\"standard-contractual-clauses\",\"provider-is-self-certified-trans-atlantic-data-privacy-framework\"],\"technicalDefinitions\":[{\"type\":\"http\",\"name\":\"_ga\",\"host\":\".devm.io\",\"duration\":24,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"_ga_*\",\"host\":\".devm.io\",\"duration\":24,\"durationUnit\":\"mo\",\"isSessionDuration\":false}],\"codeDynamics\":[],\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/policies.google.com\\\/privacy\",\"providerLegalNoticeUrl\":\"\",\"tagManagerOptInEventName\":\"ga-opt-in\",\"tagManagerOptOutEventName\":\"ga-opt-out\",\"googleConsentModeConsentTypes\":[],\"codeOptIn\":\"\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":true,\"codeOptOut\":\"\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":true,\"deleteTechnicalDefinitionsAfterOptOut\":true,\"codeOnPageLoad\":\"\",\"presetId\":\"google-analytics-analytics-4\"},{\"id\":3103,\"name\":\"Google Analytics\",\"purpose\":\"Google Analytics is a service for creating detailed statistics of user behavior on the website. The cookies are used to differentiate users, throttle the request rate, link the client ID to the AMP client ID of the user, store campaign related information for and from the user and to link data from multiple page views.\",\"providerContact\":{\"phone\":\"\",\"email\":\"\",\"link\":\"\"},\"isProviderCurrentWebsite\":false,\"provider\":\"Google Ireland Limited\",\"uniqueName\":\"google-analytics\",\"isEmbeddingOnlyExternalResources\":false,\"legalBasis\":\"consent\",\"dataProcessingInCountries\":[\"US\"],\"dataProcessingInCountriesSpecialTreatments\":[],\"technicalDefinitions\":[{\"type\":\"http\",\"name\":\"_ga\",\"host\":\".devm.io\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"_gid\",\"host\":\".devm.io\",\"duration\":1,\"durationUnit\":\"d\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"_gat\",\"host\":\".devm.io\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"AMP_TOKEN\",\"host\":\".devm.io\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"_gac_*\",\"host\":\".devm.io\",\"duration\":90,\"durationUnit\":\"d\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"_gat_gtag_*\",\"host\":\".devm.io\",\"duration\":1,\"durationUnit\":\"m\",\"isSessionDuration\":false}],\"codeDynamics\":[],\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/policies.google.com\\\/privacy\",\"providerLegalNoticeUrl\":\"\",\"tagManagerOptInEventName\":\"ga-opt-in\",\"tagManagerOptOutEventName\":\"ga-opt-out\",\"googleConsentModeConsentTypes\":[],\"codeOptIn\":\"\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":true,\"codeOptOut\":\"\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":true,\"deleteTechnicalDefinitionsAfterOptOut\":true,\"codeOnPageLoad\":\"\",\"presetId\":\"google-analytics\"},{\"id\":3105,\"name\":\"Google Ads\",\"purpose\":\"Google Ads Conversation Tracking tracks the conversion rate and success of Google Ads campaigns. Cookies are used to differentiate users and track their behavior on the site in detail, and to associate this data with advertising data from the Google Ads advertising network. In addition, the data is used for so-called \\\"remarketing\\\" to display targeted advertising again to users who have already clicked on one of our advertisements within the Google Ads network. This data may be linked to data about users who have signed in to their Google accounts on google.com or a localized version of Google.\",\"providerContact\":{\"phone\":\"\",\"email\":\"\",\"link\":\"\"},\"isProviderCurrentWebsite\":false,\"provider\":\"Google Ireland Limited\",\"uniqueName\":\"google-ads-conversion-tracking\",\"isEmbeddingOnlyExternalResources\":false,\"legalBasis\":\"consent\",\"dataProcessingInCountries\":[\"US\"],\"dataProcessingInCountriesSpecialTreatments\":[],\"technicalDefinitions\":[{\"type\":\"http\",\"name\":\"test_cookie\",\"host\":\".doubleclick.net\",\"duration\":1,\"durationUnit\":\"d\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"IDE\",\"host\":\".doubleclick.net\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"CONSENT\",\"host\":\".google.com\",\"duration\":18,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"1P_JAR\",\"host\":\".google.com\",\"duration\":1,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"_gcl_au\",\"host\":\".devm.io\",\"duration\":3,\"durationUnit\":\"mo\",\"isSessionDuration\":false}],\"codeDynamics\":[],\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/policies.google.com\\\/privacy\",\"providerLegalNoticeUrl\":\"\",\"tagManagerOptInEventName\":\"ga-opt-in\",\"tagManagerOptOutEventName\":\"ga-opt-out\",\"googleConsentModeConsentTypes\":[],\"codeOptIn\":\"\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":true,\"codeOptOut\":\"\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":true,\"deleteTechnicalDefinitionsAfterOptOut\":false,\"codeOnPageLoad\":\"\",\"presetId\":\"google-ads-conversion-tracking\"},{\"id\":3104,\"name\":\"LinkedIn Insight-Tag\",\"purpose\":\"LinkedIn Insight-Tag helps determine if you are the target audience for presenting ads within the LinkedIn advertising network. Thereby you can be targeted in a target group created by us (e.g. people who have liked a certain company). In addition, the data is used for so-called \\\"remarketing\\\" in order to be able to display targeted advertising again to users who have already clicked on one of our ads within the Linkedin advertising network or visited our website. The LinkedIn Insight tag also makes it possible to track the effectiveness of Linkedin advertising (e.g. conversation tracking). Cookies are used to distinguish users and record their behavior on the website in detail and link this data with advertising data from the Linkedin advertising network. This data can be linked to the data of users registered on linkedin.com with their Linkedin accounts.\",\"providerContact\":{\"phone\":\"\",\"email\":\"\",\"link\":\"\"},\"isProviderCurrentWebsite\":false,\"provider\":\"LinkedIn Ireland Unlimited Company\",\"uniqueName\":\"linkedin-ads\",\"isEmbeddingOnlyExternalResources\":false,\"legalBasis\":\"consent\",\"dataProcessingInCountries\":[\"US\"],\"dataProcessingInCountriesSpecialTreatments\":[],\"technicalDefinitions\":[{\"type\":\"http\",\"name\":\"lang\",\"host\":\".linkedin.com\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":true},{\"type\":\"http\",\"name\":\"bcookie\",\"host\":\".linkedin.com\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"AnalyticsSyncHistory\",\"host\":\".linkedin.com\",\"duration\":1,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"UserMatchHistory\",\"host\":\".linkedin.com\",\"duration\":1,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"lang\",\"host\":\".ads.linkedin.com\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":true},{\"type\":\"http\",\"name\":\"li_gc\",\"host\":\".linkedin.com\",\"duration\":23,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"lidc\",\"host\":\".linkedin.com\",\"duration\":1,\"durationUnit\":\"d\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"li_mc\",\"host\":\".linkedin.com\",\"duration\":23,\"durationUnit\":\"mo\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"liap\",\"host\":\".linkedin.com\",\"duration\":3,\"durationUnit\":\"mo\",\"isSessionDuration\":false}],\"codeDynamics\":[],\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/linkedin.com\\\/legal\\\/privacy-policy\",\"providerLegalNoticeUrl\":\"\",\"tagManagerOptInEventName\":\"ga-opt-in\",\"tagManagerOptOutEventName\":\"ga-opt-out\",\"googleConsentModeConsentTypes\":[],\"codeOptIn\":\"\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":true,\"codeOptOut\":\"\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":true,\"deleteTechnicalDefinitionsAfterOptOut\":false,\"codeOnPageLoad\":\"\",\"presetId\":\"linkedin-ads\"},{\"id\":3106,\"name\":\"reddit\",\"purpose\":\"Reddit allows embedding content posted on reddit.com directly into websites. The cookies are used to collect visited websites and detailed statistics about the user behaviour. This data can be linked to the data of users registered on reddit.com.\",\"providerContact\":{\"phone\":\"\",\"email\":\"\",\"link\":\"\"},\"isProviderCurrentWebsite\":false,\"provider\":\"Reddit, Inc.\",\"uniqueName\":\"reddit\",\"isEmbeddingOnlyExternalResources\":false,\"legalBasis\":\"consent\",\"dataProcessingInCountries\":[\"US\"],\"dataProcessingInCountriesSpecialTreatments\":[],\"technicalDefinitions\":[{\"type\":\"http\",\"name\":\"em_p_uid\",\"host\":\"devm.io\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"em_cdn_uid\",\"host\":\"devm.io\",\"duration\":1,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"http\",\"name\":\"csv\",\"host\":\"old.reddit.com\",\"duration\":2,\"durationUnit\":\"y\",\"isSessionDuration\":false},{\"type\":\"local\",\"name\":\"default_reddit_video_pool.muted\",\"host\":\"old.reddit.com\",\"duration\":0,\"durationUnit\":\"y\",\"isSessionDuration\":false}],\"codeDynamics\":[],\"providerPrivacyPolicyUrl\":\"https:\\\/\\\/www.redditinc.com\\\/policies\\\/privacy-policy\",\"providerLegalNoticeUrl\":\"\",\"tagManagerOptInEventName\":\"ga-opt-in\",\"tagManagerOptOutEventName\":\"ga-opt-out\",\"googleConsentModeConsentTypes\":[],\"codeOptIn\":\"\",\"executeCodeOptInWhenNoTagManagerConsentIsGiven\":false,\"codeOptOut\":\"\",\"executeCodeOptOutWhenNoTagManagerConsentIsGiven\":false,\"deleteTechnicalDefinitionsAfterOptOut\":false,\"codeOnPageLoad\":\"\",\"presetId\":\"reddit\"}]}]","links":[{"id":13552,"label":"Privacy policy","pageType":"privacyPolicy","url":"https:\/\/devm.io\/privacy\/","hideCookieBanner":true,"isTargetBlank":true},{"id":13553,"label":"Imprint","pageType":"legalNotice","url":"https:\/\/devm.io\/imprint\/","hideCookieBanner":true,"isTargetBlank":true}],"websiteOperator":{"address":"","country":"","contactEmail":"base64-encoded:d2ViZGV2QHNhbmRzbWVkaWEuY29t","contactPhone":"","contactFormUrl":false},"blocker":[{"id":3113,"name":"Vimeo","description":"","rules":["*player.vimeo.com*","*vimeocdn.com*","*vimeo.com\/showcase*","div[data-url*=\"vimeo.com\"]","div[class*=\"elementor-widget-premium-addon-video-box\"][data-settings*=\"vimeo\"]","div[class*=\"td_wrapper_playlist_player_vimeo\"]","a[href*=\"vimeo.com\"][rel=\"wp-video-lightbox\"]","lite-vimeo[videoid]"],"criteria":"services","tcfVendors":[],"tcfPurposes":[1],"services":[3111],"isVisual":true,"visualType":"default","visualMediaThumbnail":"0","visualContentType":"","isVisualDarkMode":false,"visualBlur":0,"visualDownloadThumbnail":false,"visualHeroButtonText":"","shouldForceToShowVisual":false,"presetId":"vimeo","visualThumbnail":null},{"id":3112,"name":"YouTube","description":"","rules":["*youtube.com*","*youtu.be*","*youtube-nocookie.com*","*ytimg.com*","*apis.google.com\/js\/platform.js*","div[class*=\"g-ytsubscribe\"]","*youtube.com\/subscribe_embed*","div[data-settings*=\"youtube_url\"]","script[id=\"uael-video-subscribe-js\"]","div[class*=\"elementor-widget-premium-addon-video-box\"][data-settings*=\"youtube\"]","div[class*=\"td_wrapper_playlist_player_youtube\"]","*wp-content\/plugins\/wp-youtube-lyte\/lyte\/lyte-min.js*","*wp-content\/plugins\/youtube-embed-plus\/scripts\/*","*wp-content\/plugins\/youtube-embed-plus-pro\/scripts\/*","div[id^=\"epyt_gallery\"]","div[class*=\"tcb-yt-bg\"]","a[href*=\"youtube.com\"][rel=\"wp-video-lightbox\"]","lite-youtube[videoid]"],"criteria":"services","tcfVendors":[],"tcfPurposes":[1],"services":[3110],"isVisual":true,"visualType":"default","visualMediaThumbnail":"0","visualContentType":"","isVisualDarkMode":false,"visualBlur":0,"visualDownloadThumbnail":false,"visualHeroButtonText":"","shouldForceToShowVisual":false,"presetId":"youtube","visualThumbnail":null},{"id":3109,"name":"Contact Form 7 with Google reCAPTCHA","description":"We use Google reCAPTCHA to protect our forms from spam. You must accept to load Google reCAPTCHA to send us a message via the form. Alternatively, you can email us from your own email client to <a href=\"mailto:webdev@sandsmedia.com\" target=\"_blank\" rel=\"noopener noreferrer\">webdev@sandsmedia.com<\/a>.","rules":["*google.com\/recaptcha*","*gstatic.com\/recaptcha*","*wp-content\/plugins\/contact-form-7\/*","div[class=\"wpcf7\"]","link[href=\"\/\/www.google.com\"]"],"criteria":"services","tcfVendors":[],"tcfPurposes":[1],"services":[3108],"isVisual":true,"visualType":"default","visualMediaThumbnail":"0","visualContentType":"","isVisualDarkMode":false,"visualBlur":0,"visualDownloadThumbnail":false,"visualHeroButtonText":"","shouldForceToShowVisual":false,"presetId":"contact-form-7-with-google-recaptcha","visualThumbnail":null},{"id":3107,"name":"reddit","description":"","rules":["*embed.redditmedia.com*","blockquote[class=\"reddit-card\"]","iframe[id=\"reddit-embed\"]"],"criteria":"services","tcfVendors":[],"tcfPurposes":[1],"services":[3106],"isVisual":true,"visualType":"default","visualMediaThumbnail":"0","visualContentType":"","isVisualDarkMode":false,"visualBlur":0,"visualDownloadThumbnail":false,"visualHeroButtonText":"","shouldForceToShowVisual":false,"presetId":"reddit","visualThumbnail":null}],"languageSwitcher":[],"decisionCookieName":"real_cookie_banner-blog:1","revisionHash":"dbc789c0ff0230bab985d32e05b21b00","territorialLegalBasis":["gdpr-eprivacy"],"setCookiesViaManager":"googleTagManager","isRespectDoNotTrack":false,"failedConsentDocumentationHandling":"essentials","isAcceptAllForBots":true,"isDataProcessingInUnsafeCountries":false,"dataProcessingInUnsafeCountriesSafeCountries":["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IS","IT","LI","LV","LT","LU","MT","NL","NO","PL","PT","RO","SK","SI","ES","SE","AD","AR","CA","FO","GG","IL","IM","JP","JE","NZ","KR","CH","GB","UY","US"],"isAgeNotice":false,"ageNoticeAgeLimit":16,"isListServicesNotice":false,"isTcf":false,"isGcm":false,"isGcmListPurposes":true,"hasLazyData":false},"anonymousContentUrl":"https:\/\/devm.io\/wp-content\/uploads\/rcb_js_uploads\/f47b81f01698ba3420c11bf7277afb90\/dist\/","anonymousHash":"f47b81f01698ba3420c11bf7277afb90","hasDynamicPreDecisions":false,"isLicensed":true,"isDevLicense":false,"multilingualSkipHTMLForTag":"","isCurrentlyInTranslationEditorPreview":false,"defaultLanguage":"","currentLanguage":"","activeLanguages":[],"context":"","iso3166OneAlpha2":{"AF":"Afghanistan","AX":"Aland Islands","AL":"Albania","DZ":"Algeria","AS":"American Samoa","AD":"Andorra","AO":"Angola","AI":"Anguilla","AQ":"Antarctica","AG":"Antigua And Barbuda","AR":"Argentina","AM":"Armenia","AW":"Aruba","AU":"Australia","AT":"Austria","AZ":"Azerbaijan","BS":"Bahamas","BH":"Bahrain","BD":"Bangladesh","BB":"Barbados","BY":"Belarus","BE":"Belgium","BZ":"Belize","BJ":"Benin","BM":"Bermuda","BT":"Bhutan","BO":"Bolivia","BA":"Bosnia And Herzegovina","BW":"Botswana","BV":"Bouvet Island","BR":"Brazil","IO":"British Indian Ocean Territory","BN":"Brunei Darussalam","BG":"Bulgaria","BF":"Burkina Faso","BI":"Burundi","KH":"Cambodia","CM":"Cameroon","CA":"Canada","CV":"Cape Verde","KY":"Cayman Islands","CF":"Central African Republic","TD":"Chad","CL":"Chile","CN":"China","CX":"Christmas Island","CC":"Cocos (Keeling) Islands","CO":"Colombia","KM":"Comoros","CG":"Congo","CD":"Congo, Democratic Republic","CK":"Cook Islands","CR":"Costa Rica","CI":"Cote D'Ivoire","HR":"Croatia","CU":"Cuba","CY":"Cyprus","CZ":"Czech Republic","DK":"Denmark","DJ":"Djibouti","DM":"Dominica","DO":"Dominican Republic","EC":"Ecuador","EG":"Egypt","SV":"El Salvador","GQ":"Equatorial Guinea","ER":"Eritrea","EE":"Estonia","ET":"Ethiopia","FK":"Falkland Islands (Malvinas)","FO":"Faroe Islands","FM":"Federated States Of Micronesia","FJ":"Fiji","FI":"Finland","FR":"France","GF":"French Guiana","PF":"French Polynesia","TF":"French Southern and Antarctic Lands","GA":"Gabon","GM":"Gambia","GE":"Georgia","DE":"Germany","GH":"Ghana","GI":"Gibraltar","GR":"Greece","GL":"Greenland","GD":"Grenada","GP":"Guadeloupe","GU":"Guam","GT":"Guatemala","GG":"Guernsey","GN":"Guinea","GW":"Guinea-Bissau","GY":"Guyana","HT":"Haiti","HM":"Heard Island & Mcdonald Islands","VA":"Holy See (Vatican City State)","HN":"Honduras","HK":"Hong Kong","HU":"Hungary","IS":"Iceland","IN":"India","ID":"Indonesia","IR":"Iran, Islamic Republic Of","IQ":"Iraq","IE":"Ireland","IM":"Isle Of Man","IL":"Israel","IT":"Italy","JM":"Jamaica","JP":"Japan","JE":"Jersey","JO":"Jordan","KZ":"Kazakhstan","KE":"Kenya","KI":"Kiribati","KR":"Korea","KW":"Kuwait","KG":"Kyrgyzstan","LA":"Lao People's Democratic Republic","LV":"Latvia","LB":"Lebanon","LS":"Lesotho","LR":"Liberia","LY":"Libyan Arab Jamahiriya","LI":"Liechtenstein","LT":"Lithuania","LU":"Luxembourg","MO":"Macao","MK":"Macedonia","MG":"Madagascar","MW":"Malawi","MY":"Malaysia","MV":"Maldives","ML":"Mali","MT":"Malta","MH":"Marshall Islands","MQ":"Martinique","MR":"Mauritania","MU":"Mauritius","YT":"Mayotte","MX":"Mexico","MD":"Moldova","MC":"Monaco","MN":"Mongolia","ME":"Montenegro","MS":"Montserrat","MA":"Morocco","MZ":"Mozambique","MM":"Myanmar","NA":"Namibia","NR":"Nauru","NP":"Nepal","NL":"Netherlands","AN":"Netherlands Antilles","NC":"New Caledonia","NZ":"New Zealand","NI":"Nicaragua","NE":"Niger","NG":"Nigeria","NU":"Niue","NF":"Norfolk Island","KP":"North Korea","MP":"Northern Mariana Islands","NO":"Norway","OM":"Oman","PK":"Pakistan","PW":"Palau","PS":"Palestinian Territory, Occupied","PA":"Panama","PG":"Papua New Guinea","PY":"Paraguay","PE":"Peru","PH":"Philippines","PN":"Pitcairn","PL":"Poland","PT":"Portugal","PR":"Puerto Rico","QA":"Qatar","RE":"Reunion","RO":"Romania","RU":"Russian Federation","RW":"Rwanda","BL":"Saint Barthelemy","SH":"Saint Helena","KN":"Saint Kitts And Nevis","LC":"Saint Lucia","MF":"Saint Martin","PM":"Saint Pierre And Miquelon","VC":"Saint Vincent And Grenadines","WS":"Samoa","SM":"San Marino","ST":"Sao Tome And Principe","SA":"Saudi Arabia","SN":"Senegal","RS":"Serbia","SC":"Seychelles","SL":"Sierra Leone","SG":"Singapore","SK":"Slovakia","SI":"Slovenia","SB":"Solomon Islands","SO":"Somalia","ZA":"South Africa","GS":"South Georgia And Sandwich Isl.","ES":"Spain","LK":"Sri Lanka","SD":"Sudan","SR":"Suriname","SJ":"Svalbard And Jan Mayen","SZ":"Swaziland","SE":"Sweden","CH":"Switzerland","SY":"Syrian Arab Republic","TW":"Taiwan","TJ":"Tajikistan","TZ":"Tanzania","TH":"Thailand","TL":"Timor-Leste","TG":"Togo","TK":"Tokelau","TO":"Tonga","TT":"Trinidad And Tobago","TN":"Tunisia","TR":"Turkey","TM":"Turkmenistan","TC":"Turks And Caicos Islands","TV":"Tuvalu","UG":"Uganda","UA":"Ukraine","AE":"United Arab Emirates","GB":"United Kingdom","US":"United States","UM":"United States Outlying Islands","UY":"Uruguay","UZ":"Uzbekistan","VU":"Vanuatu","VE":"Venezuela","VN":"Vietnam","VG":"Virgin Islands, British","VI":"Virgin Islands, U.S.","WF":"Wallis And Futuna","EH":"Western Sahara","YE":"Yemen","ZM":"Zambia","ZW":"Zimbabwe"},"isPreventPreDecision":false,"setVisualParentIfClassOfParent":{"et_pb_video_box":1,"ast-oembed-container":1,"wpb_video_wrapper":1,"gdlr-core-pbf-background-video":".gdlr-core-pbf-background-wrap"},"dependantVisibilityContainers":["[role=\"tabpanel\"]",".eael-tab-content-item",".wpcs_content_inner",".op3-contenttoggleitem-content",".op3-popoverlay-content",".pum-overlay","[data-elementor-type=\"popup\"]",".wp-block-ub-content-toggle-accordion-content-wrap",".w-popup-wrap",".oxy-lightbox_inner[data-inner-content=true]",".oxy-pro-accordion_body",".oxy-tab-content",".kt-accordion-panel",".vc_tta-panel-body",".mfp-hide","div[id^=\"tve_thrive_lightbox_\"]"],"bannerDesignVersion":9,"bannerI18n":{"appropriateSafeguard":"Appropriate safeguard","standardContractualClauses":"Standard contractual clauses","adequacyDecision":"Adequacy decision","bindingCorporateRules":"Binding corporate rules","other":"Other","legalBasis":"Use on legal basis of","territorialLegalBasisArticles":{"gdpr-eprivacy":{"dataProcessingInUnsafeCountries":"Art. 49 (1) lit. a GDPR"},"dsg-switzerland":{"dataProcessingInUnsafeCountries":"Art. 17 (1) lit. a DSG (Switzerland)"}},"legitimateInterest":"Legitimate interest","legalRequirement":"Compliance with a legal obligation","consent":"Consent","crawlerLinkAlert":"We have recognized that you are a crawler\/bot. Only natural persons must consent to cookies and processing of personal data. Therefore, the link has no function for you.","technicalCookieDefinition":"Technical cookie definition","usesCookies":"Uses cookies","cookieRefresh":"Cookie refresh","usesNonCookieAccess":"Uses cookie-like information (LocalStorage, SessionStorage, IndexDB, etc.)","host":"Host","duration":"Duration","noExpiration":"No expiration","type":"Type","purpose":"Purpose","purposes":"Purposes","headerTitlePrivacyPolicyHistory":"History of your privacy settings","skipToConsentChoices":"Skip to consent choices","historyLabel":"Show consent from","historyItemLoadError":"Reading the consent has failed. Please try again later!","historySelectNone":"Not yet consented to","provider":"Provider","providerContactPhone":"Phone","providerContactEmail":"Email","providerContactLink":"Contact form","providerPrivacyPolicyUrl":"Privacy Policy","providerLegalNoticeUrl":"Legal notice","nonStandard":"Non-standardized data processing","nonStandardDesc":"Some services set cookies and\/or process personal data without complying with consent communication standards. These services are divided into several groups. So-called \"essential services\" are used based on legitimate interest and cannot be opted out (an objection may have to be made by email or letter in accordance with the privacy policy), while all other services are used only after consent has been given.","dataProcessingInUnsafeCountries":"Data processing in unsecure third countries","ePrivacyUSA":"US data processing","durationUnit":{"s":"second(s)","m":"minute(s)","h":"hour(s)","d":"day(s)","mo":"month(s)","y":"year(s)","n1":{"s":"second","m":"minute","h":"hour","d":"day","mo":"month","y":"year"},"nx":{"s":"seconds","m":"minutes","h":"hours","d":"days","mo":"months","y":"years"}},"close":"Close","closeWithoutSaving":"Close without saving","yes":"Yes","no":"No","unknown":"Unknown","none":"None","noLicense":"No license activated - not for production use!","devLicense":"Product license not for production use!","devLicenseLearnMore":"Learn more","devLicenseLink":"https:\/\/devowl.io\/knowledge-base\/license-installation-type\/","andSeparator":" and "},"pageRequestUuid4":"ae385883e-2fce-47ff-ba22-637f17f83c3d","pageByIdUrl":"https:\/\/devm.io?page_id","pluginUrl":"https:\/\/devowl.io\/wordpress-real-cookie-banner\/"}}</script> <script data-skip-lazy-load="js-extra" data-skip-moving="true" data-no-defer nitro-exclude data-alt-type="application/ld+json" data-dont-merge data-wpmeteor-nooptimize="true" data-cfasync="false" id="abf8b4cb48f14e591a8ddf41a25a9b6652-js-extra"> (()=>{var x=function (a,b){return-1<["codeOptIn","codeOptOut","codeOnPageLoad","contactEmail"].indexOf(a)&&"string"==typeof b&&b.startsWith("base64-encoded:")?window.atob(b.substr(15)):b},t=(e,t)=>new Proxy(e,{get:(e,n)=>{let r=Reflect.get(e,n);return n===t&&"string"==typeof r&&(r=JSON.parse(r,x),Reflect.set(e,n,r)),r}}),n=JSON.parse(document.getElementById("abf8b4cb48f14e591a8ddf41a25a9b6651-js-extra").innerHTML,x);window.Proxy?n.others.frontend=t(n.others.frontend,"groups"):n.others.frontend.groups=JSON.parse(n.others.frontend.groups,x);window.Proxy?n.others=t(n.others,"customizeValuesBanner"):n.others.customizeValuesBanner=JSON.parse(n.others.customizeValuesBanner,x);;window.realCookieBanner=n})(); </script><script data-cfasync="false" type="text/javascript" id="real-cookie-banner-pro-banner-js-before"> /* <![CDATA[ */ ((a,b)=>{a[b]||(a[b]={unblockSync:()=>undefined},["consentSync"].forEach(c=>a[b][c]=()=>({cookie:null,consentGiven:!1,cookieOptIn:!0})),["consent","consentAll","unblock"].forEach(c=>a[b][c]=(...d)=>new Promise(e=>a.addEventListener(b,()=>{a[b][c](...d).then(e)},{once:!0}))))})(window,"consentApi"); /* ]]> */ </script> <script data-cfasync="false" type="text/javascript" defer src="https://devm.io/wp-content/uploads/rcb_js_uploads/f47b81f01698ba3420c11bf7277afb90/dist/463028860.js?x74914&amp;ver=69bfc3e143214ce93d267833e18402cb" id="real-cookie-banner-pro-banner-js"></script> <link rel='stylesheet' id='animate-css-css' href='https://devm.io/wp-content/plugins/real-cookie-banner-pro/public/lib/animate.css/animate.min.css?x74914&amp;ver=4.1.1' type='text/css' media='all' /> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/devm.io\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.5.2"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); /* ]]> */ </script> <link rel='stylesheet' id='subscription-status-style-css' href='https://devm.io/wp-content/plugins/cancellation-notice-for-woocommerce-subscriptions/css/subscription-status.css?x74914&amp;ver=1.0.0' type='text/css' media='all' /> <link rel='stylesheet' id='woocommerce-pdf-frontend-css-css' href='https://devm.io/wp-content/plugins/woocommerce-pdf-invoice/assets/css/woocommerce-pdf-frontend-css.css?x74914&amp;ver=5.0.3' type='text/css' media='all' /> <link rel='stylesheet' id='wc-blocks-integration-css' href='https://devm.io/wp-content/plugins/woocommerce-subscriptions/vendor/woocommerce/subscriptions-core/build/index.css?x74914&amp;ver=7.0.0' type='text/css' media='all' /> <style id='wp-emoji-styles-inline-css' type='text/css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://devm.io/wp-includes/css/dist/block-library/style.min.css?x74914&amp;ver=6.5.2' type='text/css' media='all' /> <style id='classic-theme-styles-inline-css' type='text/css'> /*! This file is auto-generated */ .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} </style> <style id='global-styles-inline-css' type='text/css'> body{--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%);--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;}.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;} .wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} .wp-block-pullquote{font-size: 1.5em;line-height: 1.6;} </style> <link rel="stylesheet" id="contact-form-7-css" type="text/css" media="all" consent-original-href-_="https://devm.io/wp-content/plugins/contact-form-7/includes/css/styles.css?ver=5.9.3" consent-required="3108" consent-by="services" consent-id="3109"/> <link rel='stylesheet' id='sands_advanced_tickets_display_css-css' href='https://devm.io/wp-content/plugins/sands_advanced_tickets_display/assets/css/sands_advanced_tickets_display.css?x74914&amp;ver=6.5.2' type='text/css' media='all' /> <link rel='stylesheet' id='jqbxslidercss-css' href='https://devm.io/wp-content/plugins/sands_advanced_tickets_display/assets/libs/jquery.bxslider/jquery.bxslider.min.css?x74914&amp;ver=6.5.2' type='text/css' media='all' /> <link rel='stylesheet' id='woocommerce-layout-css' href='https://devm.io/wp-content/plugins/woocommerce/assets/css/woocommerce-layout.css?x74914&amp;ver=8.8.2' type='text/css' media='all' /> <link rel='stylesheet' id='woocommerce-smallscreen-css' href='https://devm.io/wp-content/plugins/woocommerce/assets/css/woocommerce-smallscreen.css?x74914&amp;ver=8.8.2' type='text/css' media='only screen and (max-width: 768px)' /> <link rel='stylesheet' id='woocommerce-general-css' href='https://devm.io/wp-content/plugins/woocommerce/assets/css/woocommerce.css?x74914&amp;ver=8.8.2' type='text/css' media='all' /> <style id='woocommerce-inline-inline-css' type='text/css'> .woocommerce form .form-row .required { visibility: visible; } </style> <link rel='stylesheet' id='wt-import-export-for-woo-css' href='https://devm.io/wp-content/plugins/wt-import-export-for-woo/public/css/wt-import-export-for-woo-public.css?x74914&amp;ver=1.1.3' type='text/css' media='all' /> <link rel='stylesheet' id='mc4wp-form-basic-css' href='https://devm.io/wp-content/plugins/mailchimp-for-wp/assets/css/form-basic.css?x74914&amp;ver=4.9.12' type='text/css' media='all' /> <link rel='stylesheet' id='mc4wp-form-styles-builder-css' href='//devm.io/wp-content/uploads/mc4wp-stylesheets/bundle.css?x74914&amp;ver=1682004338' type='text/css' media='all' /> <link rel='stylesheet' id='epubhtml-css' href='https://s3.eu-west-1.amazonaws.com/redsys-prod/cssVersions/7tSgYsK8tcyinWTYJ/files/main.css?ver=6.5.2' type='text/css' media='all' /> <link rel='stylesheet' id='child-understrap-styles-css' href='https://devm.io/wp-content/themes/understrap-child/css/child-theme.min.css?x74914&amp;ver=2.11.951' type='text/css' media='all' /> <link rel='stylesheet' id='cookieconsent-css' href='https://cdn.jsdelivr.net/npm/cookieconsent@3/build/cookieconsent.min.css?ver=6.5.2' type='text/css' media='all' /> <link rel='stylesheet' id='sands-walkuere-app-styles-css' href='https://devm.io/wp-content/themes/understrap-child/conferences-app-vue/walkuere_conferences_vue_app/dist/css/app.css?x74914&amp;ver=6.5.2' type='text/css' media='all' /> <link rel='stylesheet' id='elementor-icons-css' href='https://devm.io/wp-content/plugins/elementor/assets/lib/eicons/css/elementor-icons.min.css?x74914&amp;ver=5.29.0' type='text/css' media='all' /> <link rel='stylesheet' id='elementor-frontend-css' href='https://devm.io/wp-content/uploads/elementor/css/custom-frontend.min.css?x74914&amp;ver=1737013457' type='text/css' media='all' /> <style id='elementor-frontend-inline-css' type='text/css'> .elementor-kit-7838{--e-global-color-primary:#250146;--e-global-color-secondary:#7404D4;--e-global-color-text:#2A2A2A;--e-global-color-accent:#FF6D05;--e-global-color-564b791:#9f55e0;--e-global-color-5828eb5:#E2CBFC;--e-global-color-f815e9e:#FFFFFF;--e-global-color-6d287ce:#FC2ECA;--e-global-color-11745b6:#250146;--e-global-color-133693a:#51336B;--e-global-color-7a7e8f0:#002266;--e-global-color-3398dce:#F93464;--e-global-color-2a7bba5:#257DE2;--e-global-typography-primary-font-family:"Open Sans Hebrew Condensed";--e-global-typography-primary-font-size:24px;--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Open Sans";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Open Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Open Sans";--e-global-typography-accent-font-weight:500;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1300px;}.e-con{--container-max-width:1300px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-kit-7838 e-page-transition{background-color:#FFBC7D;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:80%;}.e-con{--container-max-width:80%;}}@media(max-width:800px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:90%;}.e-con{--container-max-width:90%;}} .elementor-widget-nested-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode="false"] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-widget-nested-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode="true"] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-heading .elementor-heading-title{color:var( --e-global-color-primary );}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );}.elementor-widget-text-editor{color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-widget-image-box .elementor-image-box-title{color:var( --e-global-color-primary );}.elementor-widget-image-box .elementor-image-box-description{color:var( --e-global-color-text );}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-box.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon-box.elementor-view-framed .elementor-icon, .elementor-widget-icon-box.elementor-view-default .elementor-icon{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-description{color:var( --e-global-color-text );}.elementor-widget-star-rating .elementor-star-rating__title{color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-widget-counter .elementor-counter-number-wrapper{color:var( --e-global-color-primary );}.elementor-widget-counter .elementor-counter-title{color:var( --e-global-color-secondary );}.elementor-widget-progress .elementor-progress-wrapper .elementor-progress-bar{background-color:var( --e-global-color-primary );}.elementor-widget-progress .elementor-title{color:var( --e-global-color-primary );}.elementor-widget-testimonial .elementor-testimonial-content{color:var( --e-global-color-text );}.elementor-widget-testimonial .elementor-testimonial-name{color:var( --e-global-color-primary );}.elementor-widget-testimonial .elementor-testimonial-job{color:var( --e-global-color-secondary );}.elementor-widget-tabs .elementor-tab-title, .elementor-widget-tabs .elementor-tab-title a{color:var( --e-global-color-primary );}.elementor-widget-tabs .elementor-tab-title.elementor-active, .elementor-widget-tabs .elementor-tab-title.elementor-active a{color:var( --e-global-color-accent );}.elementor-widget-tabs .elementor-tab-content{color:var( --e-global-color-text );}.elementor-widget-accordion .elementor-accordion-icon, .elementor-widget-accordion .elementor-accordion-title{color:var( --e-global-color-primary );}.elementor-widget-accordion .elementor-accordion-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-accordion .elementor-active .elementor-accordion-icon, .elementor-widget-accordion .elementor-active .elementor-accordion-title{color:var( --e-global-color-accent );}.elementor-widget-accordion .elementor-active .elementor-accordion-icon svg{fill:var( --e-global-color-accent );}.elementor-widget-accordion .elementor-tab-content{color:var( --e-global-color-text );}.elementor-widget-toggle .elementor-toggle-title, .elementor-widget-toggle .elementor-toggle-icon{color:var( --e-global-color-primary );}.elementor-widget-toggle .elementor-toggle-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-toggle .elementor-tab-title.elementor-active a, .elementor-widget-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon{color:var( --e-global-color-accent );}.elementor-widget-toggle .elementor-tab-content{color:var( --e-global-color-text );}.elementor-widget-theme-site-logo .widget-image-caption{color:var( --e-global-color-text );}.elementor-widget-theme-site-title .elementor-heading-title{color:var( --e-global-color-primary );}.elementor-widget-theme-page-title .elementor-heading-title{color:var( --e-global-color-primary );}.elementor-widget-theme-post-title .elementor-heading-title{color:var( --e-global-color-primary );}.elementor-widget-theme-post-excerpt .elementor-widget-container{color:var( --e-global-color-text );}.elementor-widget-theme-post-content{color:var( --e-global-color-text );}.elementor-widget-theme-post-featured-image .widget-image-caption{color:var( --e-global-color-text );}.elementor-widget-theme-archive-title .elementor-heading-title{color:var( --e-global-color-primary );}.elementor-widget-archive-posts .elementor-post__title, .elementor-widget-archive-posts .elementor-post__title a{color:var( --e-global-color-secondary );}.elementor-widget-archive-posts .elementor-post__read-more{color:var( --e-global-color-accent );}.elementor-widget-archive-posts .elementor-post__card .elementor-post__badge{background-color:var( --e-global-color-accent );}.elementor-widget-archive-posts .elementor-button{background-color:var( --e-global-color-accent );}.elementor-widget-archive-posts .elementor-posts-nothing-found{color:var( --e-global-color-text );}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );}.elementor-widget-posts .elementor-post__title, .elementor-widget-posts .elementor-post__title a{color:var( --e-global-color-secondary );}.elementor-widget-posts .elementor-post__read-more{color:var( --e-global-color-accent );}.elementor-widget-posts .elementor-post__card .elementor-post__badge{background-color:var( --e-global-color-accent );}.elementor-widget-posts .elementor-button{background-color:var( --e-global-color-accent );}.elementor-widget-portfolio a .elementor-portfolio-item__overlay{background-color:var( --e-global-color-accent );}.elementor-widget-portfolio .elementor-portfolio__filter{color:var( --e-global-color-text );}.elementor-widget-portfolio .elementor-portfolio__filter.elementor-active{color:var( --e-global-color-primary );}.elementor-widget-gallery{--galleries-title-color-normal:var( --e-global-color-primary );--galleries-title-color-hover:var( --e-global-color-secondary );--galleries-pointer-bg-color-hover:var( --e-global-color-accent );--gallery-title-color-active:var( --e-global-color-secondary );--galleries-pointer-bg-color-active:var( --e-global-color-accent );}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-login .elementor-field-group > a{color:var( --e-global-color-text );}.elementor-widget-login .elementor-field-group > a:hover{color:var( --e-global-color-accent );}.elementor-widget-login .elementor-form-fields-wrapper label{color:var( --e-global-color-text );}.elementor-widget-login .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-login .elementor-button{background-color:var( --e-global-color-accent );}.elementor-widget-login .elementor-widget-container .elementor-login__logged-in-message{color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover, .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active, .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted, .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before, .elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before, .elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-animated-headline .elementor-headline-dynamic-wrapper path{stroke:var( --e-global-color-accent );}.elementor-widget-animated-headline .elementor-headline-plain-text{color:var( --e-global-color-secondary );}.elementor-widget-animated-headline{--dynamic-text-color:var( --e-global-color-secondary );}.elementor-widget-hotspot{--hotspot-color:var( --e-global-color-primary );--hotspot-box-color:var( --e-global-color-secondary );--tooltip-color:var( --e-global-color-secondary );}.elementor-widget-price-list .elementor-price-list-header{color:var( --e-global-color-primary );}.elementor-widget-price-list .elementor-price-list-price{color:var( --e-global-color-primary );}.elementor-widget-price-list .elementor-price-list-description{color:var( --e-global-color-text );}.elementor-widget-price-list .elementor-price-list-separator{border-bottom-color:var( --e-global-color-secondary );}.elementor-widget-price-table{--e-price-table-header-background-color:var( --e-global-color-secondary );}.elementor-widget-price-table .elementor-price-table__original-price{color:var( --e-global-color-secondary );}.elementor-widget-price-table .elementor-price-table__period{color:var( --e-global-color-secondary );}.elementor-widget-price-table .elementor-price-table__features-list{--e-price-table-features-list-color:var( --e-global-color-text );}.elementor-widget-price-table .elementor-price-table__features-list li:before{border-top-color:var( --e-global-color-text );}.elementor-widget-price-table .elementor-price-table__button{background-color:var( --e-global-color-accent );}.elementor-widget-price-table .elementor-price-table__additional_info{color:var( --e-global-color-text );}.elementor-widget-price-table .elementor-price-table__ribbon-inner{background-color:var( --e-global-color-accent );}.elementor-widget-call-to-action .elementor-ribbon-inner{background-color:var( --e-global-color-accent );}.elementor-widget-testimonial-carousel .elementor-testimonial__text{color:var( --e-global-color-text );}.elementor-widget-testimonial-carousel .elementor-testimonial__name{color:var( --e-global-color-text );}.elementor-widget-testimonial-carousel .elementor-testimonial__title{color:var( --e-global-color-primary );}.elementor-widget-table-of-contents{--header-color:var( --e-global-color-secondary );--item-text-color:var( --e-global-color-text );--item-text-hover-color:var( --e-global-color-accent );--marker-color:var( --e-global-color-text );}.elementor-widget-countdown .elementor-countdown-item{background-color:var( --e-global-color-primary );}.elementor-widget-countdown .elementor-countdown-expire--message{color:var( --e-global-color-text );}.elementor-widget-search-form .elementor-search-form__input, .elementor-widget-search-form .elementor-search-form__icon, .elementor-widget-search-form .elementor-lightbox .dialog-lightbox-close-button, .elementor-widget-search-form .elementor-lightbox .dialog-lightbox-close-button:hover, .elementor-widget-search-form.elementor-search-form--skin-full_screen input[type="search"].elementor-search-form__input{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-search-form .elementor-search-form__submit{background-color:var( --e-global-color-secondary );}.elementor-widget-author-box .elementor-author-box__name{color:var( --e-global-color-secondary );}.elementor-widget-author-box .elementor-author-box__bio{color:var( --e-global-color-text );}.elementor-widget-author-box .elementor-author-box__button{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-author-box .elementor-author-box__button:hover{border-color:var( --e-global-color-secondary );color:var( --e-global-color-secondary );}.elementor-widget-post-navigation span.post-navigation__prev--label{color:var( --e-global-color-text );}.elementor-widget-post-navigation span.post-navigation__next--label{color:var( --e-global-color-text );}.elementor-widget-post-navigation span.post-navigation__prev--title, .elementor-widget-post-navigation span.post-navigation__next--title{color:var( --e-global-color-secondary );}.elementor-widget-post-info .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-post-info .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-post-info .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-post-info .elementor-icon-list-text, .elementor-widget-post-info .elementor-icon-list-text a{color:var( --e-global-color-secondary );}.elementor-widget-sitemap .elementor-sitemap-title{color:var( --e-global-color-primary );}.elementor-widget-sitemap .elementor-sitemap-item, .elementor-widget-sitemap span.elementor-sitemap-list, .elementor-widget-sitemap .elementor-sitemap-item a{color:var( --e-global-color-text );}.elementor-widget-sitemap .elementor-sitemap-item{color:var( --e-global-color-text );}.elementor-widget-blockquote .elementor-blockquote__content{color:var( --e-global-color-text );}.elementor-widget-blockquote .elementor-blockquote__author{color:var( --e-global-color-secondary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-product__title{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price ins{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price ins .amount{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price del{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price del .amount{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products{--products-title-color:var( --e-global-color-primary );}.elementor-widget-wc-products.elementor-wc-products ul.products li.product .woocommerce-loop-product__title{color:var( --e-global-color-primary );}.elementor-widget-wc-products.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{color:var( --e-global-color-primary );}.elementor-widget-wc-products.elementor-wc-products ul.products li.product .price{color:var( --e-global-color-primary );}.elementor-widget-wc-products.elementor-wc-products ul.products li.product .price ins{color:var( --e-global-color-primary );}.elementor-widget-wc-products.elementor-wc-products ul.products li.product .price ins .amount{color:var( --e-global-color-primary );}.elementor-widget-wc-products.elementor-wc-products ul.products li.product .price del{color:var( --e-global-color-primary );}.elementor-widget-wc-products.elementor-wc-products ul.products li.product .price del .amount{color:var( --e-global-color-primary );}.elementor-widget-wc-categories .woocommerce .woocommerce-loop-category__title{color:var( --e-global-color-primary );}.woocommerce .elementor-widget-woocommerce-product-price .price{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-title .elementor-heading-title{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-upsell.elementor-wc-products ul.products li.product .woocommerce-loop-product__title{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-upsell.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-upsell.elementor-wc-products ul.products li.product .price{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-upsell.elementor-wc-products ul.products li.product .price ins{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-upsell.elementor-wc-products ul.products li.product .price ins .amount{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-upsell.elementor-wc-products ul.products li.product .price del{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-upsell.elementor-wc-products ul.products li.product .price del .amount{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-upsell.elementor-wc-products .products > h2{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-meta .product_meta .detail-container:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .woocommerce-loop-product__title{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .price{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .price ins{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .price ins .amount{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .price del{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .price del .amount{color:var( --e-global-color-primary );}.woocommerce .elementor-widget-woocommerce-product-related.elementor-wc-products .products > h2{color:var( --e-global-color-primary );}.elementor-widget-wc-add-to-cart .elementor-button{background-color:var( --e-global-color-accent );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .woocommerce-loop-product__title{color:var( --e-global-color-primary );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{color:var( --e-global-color-primary );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .price{color:var( --e-global-color-primary );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .price ins{color:var( --e-global-color-primary );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .price ins .amount{color:var( --e-global-color-primary );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .price del{color:var( --e-global-color-primary );}.elementor-widget-wc-archive-products.elementor-wc-products ul.products li.product .price del .amount{color:var( --e-global-color-primary );}.elementor-widget-wc-archive-products{--products-title-color:var( --e-global-color-primary );}.elementor-widget-wc-archive-products .elementor-products-nothing-found{color:var( --e-global-color-text );}.elementor-widget-woocommerce-archive-products.elementor-wc-products ul.products li.product .woocommerce-loop-product__title{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-archive-products.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-archive-products.elementor-wc-products ul.products li.product .price{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-archive-products.elementor-wc-products ul.products li.product .price ins{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-archive-products.elementor-wc-products ul.products li.product .price ins .amount{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-archive-products.elementor-wc-products ul.products li.product .price del{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-archive-products.elementor-wc-products ul.products li.product .price del .amount{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-archive-products{--products-title-color:var( --e-global-color-primary );}.elementor-widget-woocommerce-archive-products .elementor-products-nothing-found{color:var( --e-global-color-text );}.elementor-widget-woocommerce-product-content{color:var( --e-global-color-text );}.elementor-widget-lottie{--caption-color:var( --e-global-color-text );}.elementor-widget-video-playlist .e-tabs-header .e-tabs-title{color:var( --e-global-color-text );}.elementor-widget-video-playlist .e-tabs-header .e-tabs-videos-count{color:var( --e-global-color-text );}.elementor-widget-video-playlist .e-tabs-header .e-tabs-header-right-side i{color:var( --e-global-color-text );}.elementor-widget-video-playlist .e-tabs-header .e-tabs-header-right-side svg{fill:var( --e-global-color-text );}.elementor-widget-video-playlist .e-tab-title .e-tab-title-text{color:var( --e-global-color-text );}.elementor-widget-video-playlist .e-tab-title .e-tab-title-text a{color:var( --e-global-color-text );}.elementor-widget-video-playlist .e-tab-title .e-tab-duration{color:var( --e-global-color-text );}.elementor-widget-video-playlist .e-tabs-items-wrapper .e-tab-title:where( .e-active, :hover ) .e-tab-title-text{color:var( --e-global-color-text );}.elementor-widget-video-playlist .e-tabs-items-wrapper .e-tab-title:where( .e-active, :hover ) .e-tab-title-text a{color:var( --e-global-color-text );}.elementor-widget-video-playlist .e-tabs-items-wrapper .e-tab-title:where( .e-active, :hover ) .e-tab-duration{color:var( --e-global-color-text );}.elementor-widget-video-playlist .e-tabs-items-wrapper .e-section-title{color:var( --e-global-color-text );}.elementor-widget-video-playlist .e-tabs-inner-tabs .e-inner-tabs-content-wrapper .e-inner-tab-content button{color:var( --e-global-color-text );}.elementor-widget-video-playlist .e-tabs-inner-tabs .e-inner-tabs-content-wrapper .e-inner-tab-content button:hover{color:var( --e-global-color-text );}.elementor-widget-paypal-button .elementor-button{background-color:var( --e-global-color-accent );}.elementor-widget-stripe-button .elementor-button{background-color:var( --e-global-color-accent );} .elementor-19539 .elementor-element.elementor-element-1ced6685{--display:flex;--min-height:0px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--justify-content:center;--align-items:center;--gap:100px 100px;--flex-wrap:wrap;--overflow:hidden;--background-transition:0.3s;--padding-top:16px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-19539 .elementor-element.elementor-element-1ced6685:not(.elementor-motion-effects-element-type-background), .elementor-19539 .elementor-element.elementor-element-1ced6685 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://devm.io/wp-content/uploads/2024/09/eDe24_FSLE_GenAI_Header_background_1600x600.jpg");background-repeat:no-repeat;background-size:100% auto;}.elementor-19539 .elementor-element.elementor-element-1ced6685, .elementor-19539 .elementor-element.elementor-element-1ced6685::before{--border-transition:0.3s;}.elementor-19539 .elementor-element.elementor-element-1ced6685.e-con{--align-self:center;}.elementor-19539 .elementor-element.elementor-element-5510b3c4 img{width:17%;}.elementor-19539 .elementor-element.elementor-element-5510b3c4{width:var( --container-widget-width, 14% );max-width:14%;--container-widget-width:14%;--container-widget-flex-grow:0;}.elementor-19539 .elementor-element.elementor-element-c6e7298{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--gap:0px 0px;--background-transition:0.3s;}.elementor-19539 .elementor-element.elementor-element-c6e7298.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-19539 .elementor-element.elementor-element-53d3ae3f{text-align:left;color:var( --e-global-color-f815e9e );font-family:"Open Sans Hebrew Condensed", Sans-serif;font-size:50px;font-weight:600;text-transform:uppercase;line-height:0.7em;word-spacing:0em;width:100%;max-width:100%;}.elementor-19539 .elementor-element.elementor-element-53d3ae3f.elementor-element{--align-self:center;--flex-grow:1;--flex-shrink:0;}.elementor-19539 .elementor-element.elementor-element-7d2d95b{text-align:left;color:var( --e-global-color-f815e9e );font-family:"Open Sans Hebrew Condensed", Sans-serif;font-size:23px;font-weight:700;line-height:0.9em;word-spacing:0em;width:100%;max-width:100%;}.elementor-19539 .elementor-element.elementor-element-7d2d95b.elementor-element{--align-self:flex-start;--flex-grow:0;--flex-shrink:0;}.elementor-19539 .elementor-element.elementor-element-152c196 .elementor-button{font-size:18px;font-weight:700;border-radius:32px 32px 32px 32px;}#elementor-popup-modal-19539 .dialog-message{width:100vw;height:auto;}#elementor-popup-modal-19539{justify-content:center;align-items:flex-start;}#elementor-popup-modal-19539 .dialog-close-button{display:flex;}#elementor-popup-modal-19539 .dialog-widget-content{animation-duration:0.5s;margin:70px 0px 0px 0px;}#elementor-popup-modal-19539 .dialog-close-button i{color:#FFFFFF;}#elementor-popup-modal-19539 .dialog-close-button svg{fill:#FFFFFF;}#elementor-popup-modal-19539 .dialog-close-button:hover i{color:#FFFFFF;}@media(min-width:801px){.elementor-19539 .elementor-element.elementor-element-1ced6685{--content-width:1600px;}.elementor-19539 .elementor-element.elementor-element-c6e7298{--width:58.012%;}}@media(max-width:1024px){.elementor-19539 .elementor-element.elementor-element-1ced6685{--min-height:0px;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:10px 10px;--flex-wrap:nowrap;}.elementor-19539 .elementor-element.elementor-element-1ced6685:not(.elementor-motion-effects-element-type-background), .elementor-19539 .elementor-element.elementor-element-1ced6685 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://devm.io/wp-content/uploads/2024/09/eDe24_FSLE_GenAI_Header_background_1600x600.jpg");background-size:auto;}.elementor-19539 .elementor-element.elementor-element-5510b3c4 img{width:4vw;}.elementor-19539 .elementor-element.elementor-element-5510b3c4{width:initial;max-width:initial;}.elementor-19539 .elementor-element.elementor-element-53d3ae3f{font-size:32px;width:100%;max-width:100%;}.elementor-19539 .elementor-element.elementor-element-7d2d95b{text-align:left;font-size:21px;line-height:18px;width:100%;max-width:100%;}.elementor-19539 .elementor-element.elementor-element-7d2d95b.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}}@media(max-width:800px){.elementor-19539 .elementor-element.elementor-element-1ced6685{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--justify-content:center;--gap:1px 1px;--padding-top:50px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-19539 .elementor-element.elementor-element-1ced6685:not(.elementor-motion-effects-element-type-background), .elementor-19539 .elementor-element.elementor-element-1ced6685 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://devm.io/wp-content/uploads/2024/09/eDe24_FSLE_GenAI_Header_background_1600x600.jpg");}.elementor-19539 .elementor-element.elementor-element-5510b3c4 img{width:1vw;}.elementor-19539 .elementor-element.elementor-element-53d3ae3f{text-align:center;font-size:21px;width:100%;max-width:100%;}.elementor-19539 .elementor-element.elementor-element-53d3ae3f > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-19539 .elementor-element.elementor-element-53d3ae3f.elementor-element{--align-self:stretch;}.elementor-19539 .elementor-element.elementor-element-7d2d95b{text-align:center;width:100%;max-width:100%;}.elementor-19539 .elementor-element.elementor-element-7d2d95b.elementor-element{--align-self:stretch;--flex-grow:1;--flex-shrink:0;}#elementor-popup-modal-19539 .dialog-widget-content{margin:50px 0px 0px 0px;}} </style> <link rel='stylesheet' id='swiper-css' href='https://devm.io/wp-content/plugins/elementor/assets/lib/swiper/css/swiper.min.css?x74914&amp;ver=5.3.6' type='text/css' media='all' /> <link rel='stylesheet' id='elementor-pro-css' href='https://devm.io/wp-content/uploads/elementor/css/custom-pro-frontend.min.css?x74914&amp;ver=1737013457' type='text/css' media='all' /> <link rel='stylesheet' id='font-awesome-5-all-css' href='https://devm.io/wp-content/plugins/elementor/assets/lib/font-awesome/css/all.min.css?x74914&amp;ver=3.21.2' type='text/css' media='all' /> <link rel='stylesheet' id='font-awesome-4-shim-css' href='https://devm.io/wp-content/plugins/elementor/assets/lib/font-awesome/css/v4-shims.min.css?x74914&amp;ver=3.21.2' type='text/css' media='all' /> <script type="text/javascript" src="https://devm.io/wp-includes/js/dist/vendor/wp-polyfill-inert.min.js?x74914&amp;ver=3.1.2" id="wp-polyfill-inert-js"></script> <script type="text/javascript" src="https://devm.io/wp-includes/js/dist/vendor/regenerator-runtime.min.js?x74914&amp;ver=0.14.0" id="regenerator-runtime-js"></script> <script type="text/javascript" src="https://devm.io/wp-includes/js/dist/vendor/wp-polyfill.min.js?x74914&amp;ver=3.15.0" id="wp-polyfill-js"></script> <script type="text/javascript" src="https://devm.io/wp-includes/js/dist/hooks.min.js?x74914&amp;ver=2810c76e705dd1a53b18" id="wp-hooks-js"></script> <script type="text/javascript" src="https://stats.wp.com/w.js?ver=202514" id="woo-tracks-js"></script> <script type="text/javascript" id="jquery-core-js-extra"> /* <![CDATA[ */ var sands_vue_app_context = {"marketing_widget_one":"<aside id=\"text-2\" class=\"widget widget_text\">\t\t\t<div class=\"textwidget\"><div style=\"width: 96%; margin: 30px 32px 30px 30px;\">\n<p><img decoding=\"async\" class=\"alignright wp-image-99767\" style=\"margin: 0px 0px 50px 55px;\" src=\"https:\/\/entwickler.de\/wp-content\/uploads\/2020\/11\/Gray-Flash-216x300.png\" alt=\"\" width=\"135\" height=\"187\" \/><\/p>\n<h4><strong> \u201eGesundheit ist nicht alles, aber ohne Gesundheit ist alles nichts.\u201c (Arthur Schopenhauer)<br \/>\n<\/strong><\/h4>\n<p>In den letzten beiden Jahren ist Gesundheit als hohes Gut wieder in den Fokus ger\u00fcckt. Auch im beruflichen Kontext ist es wichtig, dass Ma\u00dfnahmen ergriffen werden, um Arbeitsunf\u00e4llen und (Berufs-) Krankheiten dauerhaft vorzubeugen. Diese Woche m\u00f6chten wir euch daher zum Welttag f\u00fcr Sicherheit und Gesundheit am Arbeitsplatz einladen, in den Texten unserer Autoren zu st\u00f6bern und die eine oder andere interessante Information zu psychischer und physischer Gesundheit im Arbeitsalltag zu entdecken.<\/p>\n<\/div>\n<div style=\"width: 96%; margin: 30px 28px 30px 30px;\">\n<p><em>Viel Spa\u00df beim Lesen!<br \/>\n<\/em><br \/>\n<span style=\"color: #ffffff;\">.<\/span><\/p>\n<\/div>\n<\/div>\n\t\t<\/aside><aside id=\"custom_html-36\" class=\"widget_text widget widget_custom_html\"><div class=\"textwidget custom-html-widget\"><\/div><\/aside>","marketing_widget_two":"<aside id=\"text-3\" class=\"widget widget_text\">\t\t\t<div class=\"textwidget\"><div style=\"width: 96%; margin: 30px 28px 30px 30px;\">\n<p><a href=\"https:\/\/entwickler.de\/reader\/magazine\/tensorflow-tutorial\/Woche%202\"><img fetchpriority=\"high\" decoding=\"async\" class=\"alignright wp-image-126058\" style=\"margin: 0px 0px 0px 55px;\" src=\"https:\/\/entwickler.de\/wp-content\/uploads\/2021\/07\/cover_x_ILMU_TensorFlow_62117_v2_2_1625467543757.jpeg\" alt=\"\" width=\"195\" height=\"273\" \/><\/a><\/p>\n<h3>Was tut sich in den Frameworks?<\/h3>\n<p>Diese Woche schauen wir uns an, welche Neuerungen es in popul\u00e4ren Frameworks wie <strong>React, Spring<\/strong> oder <strong>Laravel<\/strong> zu entdecken gibt. Freut Euch au\u00dferdem \u00fcber den zweiten Teil des gro\u00dfen <strong>TensorFlow-Tutorials<\/strong> sowie das exklusive <strong>Rust-Comic<\/strong>, in dem Ihr das innovative Konzept der Memory Ownership kennenlernt!<\/p>\n<h4>entwickler.kiosk wird entwickler.de<\/h4>\n<p>Ihr habt es sicher schon mitbekommen: entwickler.kiosk hei\u00dft ab sofort entwickler.de! Auf einer <strong>einheitlichen Plattform<\/strong> findet Ihr nun sowohl die Inhalte des bekannten <strong>Entwickler Kiosk<\/strong> als auch die popul\u00e4ren Onlineportale <strong>JAXenter<\/strong> und <strong>entwickler.de<\/strong>.<\/p>\n<p>Das bedeutet f\u00fcr euch nicht nur mehr Experteninhalte, sondern auch eine deutlich verbesserte User Experience und nicht zuletzt die M\u00f6glichkeit, genau das St\u00fcck Wissen zu finden, das euch gerade weiterbringt!<\/p>\n<p><strong>Viel Vergn\u00fcgen! <\/strong><br \/>\n<span style=\"color: #ffffff;\">.<\/span><\/p>\n<\/div>\n<\/div>\n\t\t<\/aside>","marketing_widget_three":"<aside id=\"text-4\" class=\"widget widget_text\">\t\t\t<div class=\"textwidget\"><div style=\"width: 96%; margin: 30px 28px 30px 30px;\">\n<p><a href=\"https:\/\/entwickler.de\/reader\/magazine\/tensorflow-tutorial\/Woche%201\"><img decoding=\"async\" class=\"alignright wp-image-125150\" style=\"margin: 0px 0px 0px 55px;\" src=\"https:\/\/entwickler.de\/wp-content\/uploads\/2021\/06\/cover_x_ILMU_TensorFlow_Issue_Cover_1600x224_62117_v2_1624628002643.jpeg\" alt=\"\" width=\"195\" height=\"273\" \/><\/a><\/p>\n<h4>Datenstr\u00f6me & Machine Learning<\/h4>\n<p>Datenstr\u00f6me in Echtzeit organisieren \u2013 vor dieser Aufgabe stehen viele moderne Anwendungen. Mit welchen Mitteln das aktuell m\u00f6glich ist, erfahrt Ihr diese Woche in unseren Highlights. Neben <strong>Apache Kafka<\/strong> nehmen wir auch die neue Option von Amazon unter die Lupe: <strong>AWS Kinesis<\/strong>.<\/p>\n<p>Au\u00dferdem pr\u00e4sentieren wir Euch diese Woche die erste Folge unserer gro\u00dfen <strong>Video-Tutorialreihe zu TensorFlow<\/strong>. Baut zusammen mit dem Experten Cedric M\u00f6ssner Schritt f\u00fcr Schritt ein neuronales Netzwerk auf. Leichter zug\u00e4nglich war <strong>Machine Learning<\/strong> noch nie!<\/p>\n<p><strong>Viel Vergn\u00fcgen!<\/strong><br \/>\n<span style=\"color: #ffffff;\">.<\/span><br \/>\n<span style=\"color: #ffffff;\">.<\/span><\/p>\n<\/div>\n<\/div>\n\t\t<\/aside>","marketing_widget_four":"<aside id=\"text-5\" class=\"widget widget_text\">\t\t\t<div class=\"textwidget\"><div style=\"width: 96%; margin: 30px 32px 30px 30px;\">\n<p><img decoding=\"async\" class=\"alignright wp-image-99767\" style=\"margin: 0px 0px 50px 55px;\" src=\"https:\/\/entwickler.de\/wp-content\/uploads\/2020\/11\/Gray-Flash-216x300.png\" alt=\"\" width=\"135\" height=\"187\" \/><\/p>\n<div>\n<h4><strong>JavaScript Framework in Sicht!<\/strong><\/h4>\n<p>Vue.js geh\u00f6rt mittlerweile zu den popul\u00e4rsten JavaScript-Frameworks f\u00fcr Webentwickler und wird in einem Atemzug mit <strong>React<\/strong> und <strong>Angular<\/strong> genannt.<\/p>\n<p>Wir schauen uns diese Woche an, weshalb Vue.js so beliebt ist und wie man mit dem Framework von Evan You moderne <strong>Single Page Applications<\/strong> bauen kann.<\/p>\n<p><em>Viel Vergn\u00fcgen beim St\u00f6bern und Lesen!<\/em><br \/>\n<span style=\"color: #ffffff;\">.<\/span><br \/>\n<span style=\"color: #ffffff;\">.<\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n\t\t<\/aside>","marketing_widget_five":"<aside id=\"text-6\" class=\"widget widget_text\">\t\t\t<div class=\"textwidget\"><div style=\"width: 96%; margin: 30px 32px 30px 30px;\">\n<p><img decoding=\"async\" class=\"alignright wp-image-99767\" style=\"margin: 0px 0px 50px 55px;\" src=\"https:\/\/entwickler.de\/wp-content\/uploads\/2020\/11\/Gray-Flash-216x300.png\" alt=\"\" width=\"135\" height=\"187\" \/><\/p>\n<div>\n<h4><strong>Die Konferenz f\u00fcr Java, Architektur- und Software-Innovation<\/strong><\/h4>\n<p>Diese Woche ist es wieder so weit: In Mainz findet die <strong><a href=\"https:\/\/jax.de\/mainz\/\">JAX 2022<\/a><\/strong> in hybrider Form statt.<\/p>\n<p>Passend dazu findet ihr hier Artikel zum Thema <strong>Java<\/strong>, Portr\u00e4ts einer Auswahl unserer Expert:innen, die auch die eine oder andere Session auf der <strong>JAX 2022<\/strong> gestalten, und einen <strong>Videor\u00fcckblickauf die JAX 2021<\/strong>.<\/p>\n<p>Au\u00dferdem nehmen euch die Redakteur:innen und Autor:innen des Windows Developer in Ausgabe 6.22 mit auf die <strong>Coding Journey<\/strong>.<\/p>\n<p><em>Viel Spa\u00df beim Lesen und St\u00f6bern!<\/em><\/p>\n<\/div>\n<\/div>\n<\/div>\n\t\t<\/aside>","bandp":{"bandp_0":{"is_active":1,"banner_html":"<div class=\"d-flex d-sm-block flex-column mb-2 p-2 text-center text-white\" style=\"background-color: #ff9950; margin-top: -1.5rem;\">\r\n <span>Your conference slides are ready \u2013 and we have a gift for you<\/span> \r\n <button class=\"btn btn-light mx-4 my-2 ws_banner\" id=\"bandpcontenttrigger\" data-target=\"#bandpcontent\" data-toggle=\"modal\" style=\"color: #34046e;\">Learn more<\/button>\r\n<\/div>","popover_html":"<div class=\"modal fade\" id=\"bandpcontent\" tabindex=\"-1\" role=\"dialog\" style=\"z-index: 1060;\"\r\n aria-labelledby=\"bandpcontentTitle\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog modal-dialog-centered mx-auto\" role=\"document\" style=\"width: 700px !important; max-width: 94%;\">\r\n <div class=\"modal-content\">\r\n <div class=\"pr-3 pt-2\">\r\n <button type=\"button\" class=\"close text-white\" data-dismiss=\"modal\" aria-label=\"Close\">\r\n <!-- span aria-hidden=\"true\">\u00d7<\/span -->\r\n <\/button>\r\n <\/div>\r\n \r\n <div class=\"modal-body d-flex py-1\">\r\n \r\n <div class=\"col-12\">\r\n <h3 style=\"font-size: 24px;\" class=\"mb-4 mt-3 text-primary\">Your conference slides on devmio<\/h3>\r\n \r\n <p class=\" py-1\">\r\n In the menu item \"My Events\" you will find the events you have attended. Please select the corresponding event to receive your conference slides and your certificate of participation.<\/p>\r\n <p> As a thank you, you'll also receive one month of free access to devmio, giving you access to thousands of articles.\r\n <\/p>\r\n \r\n <\/div>\r\n <\/div>\r\n \r\n <div class=\"p-2 pb-4 text-center\">\r\n <button type=\"button\" data-dismiss=\"modal\" class=\"btn btn-primary toastclicktrigger marketingeventtriggerhandler mb-2\" \r\n data-detailaction=\"add_user_meta\"\r\n data-actiontocall=\"sands_bandp\" \r\n data-marketingeventdata=\"clicked_on_marketing_attendee_consent_yes\"\r\n \r\n data-consentstatus=\"YES\"\r\n \r\n \r\n data-toastclicktext=\"Thank you, we wish you a lot of fun browsing with your free devmio access.\"\r\n> Accept free offer<\/button>\r\n \r\n\r\n\r\n<div data-dismiss=\"modal\" aria-label=\"Close\" style=\"color:#000;\">\r\n <span aria-hidden=\"true\" class=\"cursorPointer\"\r\n\r\n>No, maybe later<\/span>\r\n\r\n\r\n\r\n <\/div>\r\n \r\n <\/div>\r\n <p class=\"px-4 smalltextsize\">(*) By accepting the offer, I accept the terms and conditions and the privacy policy of Software & Support Media GmbH. The use of my data for promotional purposes (via newsletter or by mail) for similar goods and services is not excluded. I can revoke this consent at any time without giving reasons and without any disadvantages. However, if the consent is revoked, the perception of the free offer is not possible. <\/p>\r\n <\/div>\r\n <\/div>\r\n<\/div>","segment_config":["PENDING-tuztuzt"],"banner2_html":"<div class=\"d-flex d-sm-block flex-column mb-2 p-2 text-center text-white\" style=\"background-color: #ff9950; margin-top: -1.5rem;\">\r\n <span>Your conference slides are ready \u2013 and we have a gift for you<\/span> \r\n <button class=\"btn btn-light mx-4 my-2 ws_banner\" id=\"bandpcontenttrigger\" data-target=\"#bandpcontent\" data-toggle=\"modal\" style=\"color: #ff9950;\">Learn more<\/button>\r\n<\/div>","popover2_html":"<div class=\"modal fade\" id=\"bandpcontent\" tabindex=\"-1\" role=\"dialog\" style=\"z-index: 1060;\"\r\n aria-labelledby=\"bandpcontentTitle\" aria-hidden=\"true\">\r\n <div class=\"modal-dialog modal-dialog-centered mx-auto\" role=\"document\" style=\"width: 700px !important; max-width: 94%;\">\r\n <div class=\"modal-content\">\r\n <div class=\"pr-3 pt-2\">\r\n <button type=\"button\" class=\"close text-white\" data-dismiss=\"modal\" aria-label=\"Close\">\r\n <!-- span aria-hidden=\"true\">\u00d7<\/span -->\r\n <\/button>\r\n <\/div>\r\n \r\n <div class=\"modal-body d-flex py-1\">\r\n \r\n <div class=\"col-12\">\r\n <h3 style=\"font-size: 24px;\" class=\"mb-4 mt-3 text-primary\">Your conference slides on devmio<\/h3>\r\n \r\n <p class=\" py-1\">\r\n In the menu item \"My Events\" you will find the events you have attended. Please select the corresponding event to receive your conference slides and your certificate of participation.<\/p>\r\n <p> As a thank you, you'll also receive one month of free access to devmio, giving you access to thousands of articles.\r\n <\/p>\r\n \r\n <\/div>\r\n <\/div>\r\n \r\n <div class=\"p-2 pb-4 text-center\">\r\n <button type=\"button\" data-dismiss=\"modal\" class=\"btn btn-primary toastclicktrigger marketingeventtriggerhandler mb-2\" \r\n data-detailaction=\"add_user_meta\"\r\n data-actiontocall=\"sands_bandp\" \r\n data-marketingeventdata=\"clicked_on_marketing_attendee_consent_yes\"\r\n \r\n\r\n\r\n data-consentstatus=\"YES\"\r\n \r\n \r\n \r\n data-toastclicktext=\"Thank you, we wish you a lot of fun browsing with your free devmio access.\"\r\n> Accept free offer<\/button>\r\n \r\n\r\n\r\n<div data-dismiss=\"modal\" aria-label=\"Close\" style=\"color:#000;\">\r\n <span aria-hidden=\"true\" class=\"cursorPointer\"\r\n\r\n>No, maybe later<\/span>\r\n\r\n\r\n\r\n <\/div>\r\n <button type=\"button\" data-dismiss=\"modal\" class=\"btn notInterestedInThisEvent mb-0\"\r\n> No, do not show this again<\/button>\r\n <\/div>\r\n <p class=\"px-4 smalltextsize\">(*) By accepting the offer, I accept the terms and conditions and the privacy policy of Software & Support Media GmbH. The use of my data for promotional purposes (via newsletter or by mail) for similar goods and services is not excluded. I can revoke this consent at any time without giving reasons and without any disadvantages. However, if the consent is revoked, the perception of the free offer is not possible. <\/p>\r\n <\/div>\r\n <\/div>\r\n<\/div>","segment2_config":["DEVMIO_MONTHLY_OVER_6MTHS","DEVMIO_YEARLY","DEVMIO_IP","DEVMIO_DOMAIN","DEVMIO_ABO_CODE","DEVMIO_MONTHLY_BELOW_6MTHS","MONTHLY_OVER_6MTHS","YEARLY","IP","DOMAIN","ABO_CODE","MONTHLY_BELOW_6MTHS"],"cookie_name":"bandp_0"},"bandp_1":{"is_active":0},"bandp_2":{"is_active":0},"bandp_3":{"is_active":0}},"consent_settings":{"mailchimp_kiosk_leadchannel_field_name":"MMERGE23","mailchimp_kiosk_attendee_field_name":"MMERGE17","mailchimp_kiosk_whitepaper_cat_id":"b533214edc","mailchimp_kiosk_whitepaper_group_id":"0df6ce745a","mailchimp_kiosk_whitepaper_list_id":"7ff9320fc6","mailchimp_kiosk_whitepaper_field_name":"MMERGE23"},"comchat_details":{"appid":"19791640586b930d","region":"eu"},"experts_base_slug":"experts","magazines_base_slug":"magazines","articleseries_base_slug":"series-article","localize_date_format":"en","isDevmioActive":"1","session_detail_marketing":{"sands_session_details_top":"<div id=\"custom_html-7\" class=\"widget_text widget widget_custom_html\"><div class=\"textwidget custom-html-widget\"><style>\r\n\t.marketingwidget{display:none;}\r\n<\/style><\/div><\/div","sands_session_details_bottom":"<div id=\"custom_html-8\" class=\"widget_text widget widget_custom_html\"><div class=\"textwidget custom-html-widget\"><div class=\"d-none d-sm-block\" style=\"margin-bottom:80px;\">\r\n\t<a href=\"https:\/\/basta.net\/mainz\/?utm_source=entwickler.de&utm_medium=referral&utm_campaign=ws_banner\" target=\"_blank\" rel=\"noopener\"><img src=\"https:\/\/entwickler.de\/wp-content\/uploads\/2021\/07\/BASTA_MZ21_WebAd_62294_v1.jpg\" \/><\/a>\r\n<\/div>\r\n<div class=\"d-block d-sm-none m-3\">\r\n <a href=\"https:\/\/basta.net\/mainz\/?utm_source=entwickler.de&utm_medium=referral&utm_campaign=ws_banner\"><img src=\"https:\/\/entwickler.de\/wp-content\/uploads\/2021\/07\/BASTA_MZ21_WebAd_Mobile_62294_v1.jpg\" target=\"_blank\" \/><\/a>\r\n<\/div><\/div><\/div>","sands_session_details_user_has_no_access":"<div id=\"custom_html-9\" class=\"widget_text widget widget_custom_html\"><div class=\"textwidget custom-html-widget\"><div class=\"bg-white no-access-reader-main-block p-3 rounded-xl-left-xs-full\">\r\n\r\n<div class=\"text-center\"><h3 class=\"font-weight-bolder h2 mb-0 mx-4 pb-0 pt-4 text-danger\">Get access<\/h3><h3 class=\"h4 mx-5 my-3\">Unfortunately, you don't have access to our Live Events yet. Sign up for <br \/>Fullstack Access to unlock our Live Events and Workshops.<\/h3>\r\n\r\n<div class=\"my-4 text-center\"><a href=\"\/checkout\/?add-to-cart=688\"><span class=\"bg-primary font-weight-bold p-2 px-4 rounded text-white\">SUBSCRIBE NOW<\/span><\/a><\/div><\/div><\/div>\r\n<style>\r\n .no-access-reader-main-block {\r\n border: 10px solid #89DDA0\r\n }\r\n<\/style><\/div><\/div>","sands_hybrid_session_details_user_has_no_access":"<div id=\"custom_html-2\" class=\"widget_text widget widget_custom_html\"><div class=\"textwidget custom-html-widget\"><div class=\"bg-white no-access-reader-main-block p-5 rounded-xl-left-xs-full\" style=\"min-height: 320px;\">\r\n <div class=\"text-center\"><br><h3 class=\"h4 mx-5 my-3\">This session or workshop <br \/>is not available for your account.<br><br><\/h3>\r\n<\/div>\r\n \r\n <\/div>\r\n<style>\r\n .no-access-reader-main-block {\r\n border: 0px solid #ffc59b\r\n }\r\n<\/style><\/div><\/div>"},"poster_image_if_no_session":"https:\/\/devm.io\/wp-content\/uploads\/2022\/06\/devmio_Placeholder_Live-Events_a.jpg","poster_image_if_session_has_passed":"https:\/\/devm.io\/wp-content\/uploads\/2022\/06\/devmio_Placeholder_Live-Events_b.jpg","poster_image_if_session_iframe_missing":"https:\/\/devm.io\/wp-content\/uploads\/2022\/06\/devmio_Placeholder_Live-Events_c.jpg"}; var walkuere_app_data = {"concord_url":"https:\/\/concord.sandsmedia.com\/graphql"}; /* ]]> */ </script> <script type="text/javascript" src="https://devm.io/wp-includes/js/jquery/jquery.min.js?x74914&amp;ver=3.7.1" id="jquery-core-js"></script> <script type="text/javascript" src="https://devm.io/wp-includes/js/jquery/jquery-migrate.min.js?x74914&amp;ver=3.4.1" id="jquery-migrate-js"></script> <script type="text/javascript" src="https://devm.io/wp-content/plugins/woocommerce/assets/js/jquery-blockui/jquery.blockUI.min.js?x74914&amp;ver=2.7.0-wc.8.8.2" id="jquery-blockui-js" defer="defer" data-wp-strategy="defer"></script> <script type="text/javascript" id="wc-add-to-cart-js-extra"> /* <![CDATA[ */ var wc_add_to_cart_params = {"ajax_url":"\/wp-admin\/admin-ajax.php","wc_ajax_url":"\/?wc-ajax=%%endpoint%%","i18n_view_cart":"View cart","cart_url":"https:\/\/devm.io\/checkout\/","is_cart":"","cart_redirect_after_add":"yes"}; /* ]]> */ </script> <script type="text/javascript" src="https://devm.io/wp-content/plugins/woocommerce/assets/js/frontend/add-to-cart.min.js?x74914&amp;ver=8.8.2" id="wc-add-to-cart-js" defer="defer" data-wp-strategy="defer"></script> <script type="text/javascript" src="https://devm.io/wp-content/plugins/woocommerce/assets/js/js-cookie/js.cookie.min.js?x74914&amp;ver=2.1.4-wc.8.8.2" id="js-cookie-js" defer="defer" data-wp-strategy="defer"></script> <script type="text/javascript" id="woocommerce-js-extra"> /* <![CDATA[ */ var woocommerce_params = {"ajax_url":"\/wp-admin\/admin-ajax.php","wc_ajax_url":"\/?wc-ajax=%%endpoint%%"}; /* ]]> */ </script> <script type="text/javascript" src="https://devm.io/wp-content/plugins/woocommerce/assets/js/frontend/woocommerce.min.js?x74914&amp;ver=8.8.2" id="woocommerce-js" defer="defer" data-wp-strategy="defer"></script> <script type="text/javascript" src="https://devm.io/wp-content/themes/understrap-child/js/popper.min.js?x74914&amp;ver=6.5.2" id="popper-scripts-js"></script> <script type="text/javascript" src="https://devm.io/wp-content/themes/understrap-child/js/jquery.cycle2.js?x74914&amp;ver=6.5.2" id="jquery.cycle2-js"></script> <script type="text/javascript" src="https://devm.io/wp-content/themes/understrap-child/js/jquery.cycle2.carousel.js?x74914&amp;ver=6.5.2" id="jquery.cycle2.carousel.js-js"></script> <script type="text/javascript" src="https://devm.io/wp-content/themes/understrap-child/js/jquery.touchSwipe.min.js?x74914&amp;ver=6.5.2" id="jquery-touchswipe-scripts-js"></script> <script type="text/javascript" src="https://devm.io/wp-content/themes/understrap-child/conferences-app-vue/walkuere_conferences_vue_app/dist/js/chunk-vendors.js?x74914&amp;ver=2.11.951" id="sands-walkuere-vendors-js"></script> <script type="text/javascript" src="https://devm.io/wp-content/themes/understrap-child/conferences-app-vue/walkuere_conferences_vue_app/dist/js/app.js?x74914&amp;ver=2.11.951" id="sands-walkuere-app-js"></script> <script type="text/javascript" src="https://devm.io/wp-content/plugins/elementor/assets/lib/font-awesome/js/v4-shims.min.js?x74914&amp;ver=3.21.2" id="font-awesome-4-shim-js"></script> <script type="text/javascript" id="zxcvbn-async-js-extra"> /* <![CDATA[ */ var _zxcvbnSettings = {"src":"https:\/\/devm.io\/wp-includes\/js\/zxcvbn.min.js"}; /* ]]> */ </script> <script type="text/javascript" src="https://devm.io/wp-includes/js/zxcvbn-async.min.js?x74914&amp;ver=1.0" id="zxcvbn-async-js"></script> <link rel="https://api.w.org/" href="https://devm.io/wp-json/" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://devm.io/xmlrpc.php?rsd" /> <meta name="generator" content="WordPress 6.5.2" /> <meta name="generator" content="WooCommerce 8.8.2" /> <link rel="alternate" type="application/json+oembed" href="https://devm.io/wp-json/oembed/1.0/embed?url" /> <link rel="alternate" type="text/xml+oembed" href="https://devm.io/wp-json/oembed/1.0/embed?url&#038;format=xml" /> <script type="text/javascript"> var jQueryMigrateHelperHasSentDowngrade = false; window.onerror = function( msg, url, line, col, error ) { // Break out early, do not processing if a downgrade reqeust was already sent. if ( jQueryMigrateHelperHasSentDowngrade ) { return true; } var xhr = new XMLHttpRequest(); var nonce = 'ab3edaeb48'; var jQueryFunctions = [ 'andSelf', 'browser', 'live', 'boxModel', 'support.boxModel', 'size', 'swap', 'clean', 'sub', ]; var match_pattern = /\)\.(.+?) is not a function/; var erroredFunction = msg.match( match_pattern ); // If there was no matching functions, do not try to downgrade. if ( null === erroredFunction || typeof erroredFunction !== 'object' || typeof erroredFunction[1] === "undefined" || -1 === jQueryFunctions.indexOf( erroredFunction[1] ) ) { return true; } // Set that we've now attempted a downgrade request. jQueryMigrateHelperHasSentDowngrade = true; xhr.open( 'POST', 'https://devm.io/wp-admin/admin-ajax.php' ); xhr.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded' ); xhr.onload = function () { var response, reload = false; if ( 200 === xhr.status ) { try { response = JSON.parse( xhr.response ); reload = response.data.reload; } catch ( e ) { reload = false; } } // Automatically reload the page if a deprecation caused an automatic downgrade, ensure visitors get the best possible experience. if ( reload ) { location.reload(); } }; xhr.send( encodeURI( 'action=jquery-migrate-downgrade-version&_wpnonce=' + nonce ) ); // Suppress error alerts in older browsers return true; } </script> <meta name="mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-title" content="devmio - Software Know-How - Devmio"> <noscript><style>.woocommerce-product-gallery{ opacity: 1 !important; }</style></noscript> <meta name="generator" content="Elementor 3.21.2; features: e_optimized_assets_loading, additional_custom_breakpoints; settings: css_print_method-internal, google_font-enabled, font_display-auto"> <meta name="onesignal" content="wordpress-plugin"/> <script> window.OneSignal = window.OneSignal || []; OneSignal.push( function() { OneSignal.SERVICE_WORKER_UPDATER_PATH = 'OneSignalSDKUpdaterWorker.js'; OneSignal.SERVICE_WORKER_PATH = 'OneSignalSDKWorker.js'; OneSignal.SERVICE_WORKER_PARAM = { scope: '/wp-content/plugins/onesignal-free-web-push-notifications/sdk_files/push/onesignal/' }; OneSignal.setDefaultNotificationUrl("https://devm.io"); var oneSignal_options = {}; window._oneSignalInitOptions = oneSignal_options; oneSignal_options['wordpress'] = true; oneSignal_options['appId'] = '864ffccd-fe18-4d9b-9cd6-c886beaf5237'; oneSignal_options['allowLocalhostAsSecureOrigin'] = true; oneSignal_options['welcomeNotification'] = { }; oneSignal_options['welcomeNotification']['title'] = ""; oneSignal_options['welcomeNotification']['message'] = ""; oneSignal_options['path'] = "https://devm.io/wp-content/plugins/onesignal-free-web-push-notifications/sdk_files/"; oneSignal_options['safari_web_id'] = "web.onesignal.auto.1cd53ad7-1124-4d48-8712-0a155e6245f9"; oneSignal_options['promptOptions'] = { }; oneSignal_options['notifyButton'] = { }; oneSignal_options['notifyButton']['enable'] = true; oneSignal_options['notifyButton']['position'] = 'bottom-right'; oneSignal_options['notifyButton']['theme'] = 'default'; oneSignal_options['notifyButton']['size'] = 'medium'; oneSignal_options['notifyButton']['showCredit'] = true; oneSignal_options['notifyButton']['text'] = {}; /* OneSignal: Using custom SDK initialization. */ }); function documentInitOneSignal() { var oneSignal_elements = document.getElementsByClassName("OneSignal-prompt"); var oneSignalLinkClickHandler = function(event) { OneSignal.push(['registerForPushNotifications']); event.preventDefault(); }; for(var i = 0; i < oneSignal_elements.length; i++) oneSignal_elements[i].addEventListener('click', oneSignalLinkClickHandler, false); } if (document.readyState === 'complete') { documentInitOneSignal(); } else { window.addEventListener("load", function(event){ documentInitOneSignal(); }); } </script> <script src="https://cdn.jsdelivr.net/npm/@splidejs/splide@latest/dist/js/splide.min.js"></script> <!-- or the reference on CDN --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@splidejs/splide@latest/dist/css/splide.min.css"> <script src="https://cdn.jsdelivr.net/npm/@splidejs/splide@latest/dist/js/splide.min.js"></script> <!-- or the reference on CDN --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@splidejs/splide@latest/dist/css/splide.min.css"> <link rel="icon" href="https://devm.io/wp-content/uploads/2022/04/cropped-Devmio_Favicon_64x64_DEVM-52_v1-1-32x32.png?x74914" sizes="32x32" /> <link rel="icon" href="https://devm.io/wp-content/uploads/2022/04/cropped-Devmio_Favicon_64x64_DEVM-52_v1-1-192x192.png?x74914" sizes="192x192" /> <link rel="apple-touch-icon" href="https://devm.io/wp-content/uploads/2022/04/cropped-Devmio_Favicon_64x64_DEVM-52_v1-1-180x180.png?x74914" /> <meta name="msapplication-TileImage" content="https://devm.io/wp-content/uploads/2022/04/cropped-Devmio_Favicon_64x64_DEVM-52_v1-1-270x270.png" /> <link rel="icon" href="/wp-content/themes/understrap-child/src/images/Devmio_Favicon_purple_DEVM-52_v1.ico?x74914" sizes="any"/> <link rel="icon" href="/wp-content/themes/understrap-child/src/images/Devmio_Favicon_purple_512px_DEVM-52_v1.svg?x74914" type="image/svg+xml" /> <link rel="apple-touch-icon" href="/wp-content/themes/understrap-child/src/images/Devmio_Favicon_purple_DEVM-52_v1.ico?x74914"/> <style type="text/css" id="wp-custom-css"> /* Safari problem on Iphone */ readerapp-attendee-attendance-overview .title-date-location > .align-content-center { min-height: 90px ; } readerapp-attendee-attendance-overview .atdpack-conference-body { z-index: 1000; } readerapp-attendee-attendance-detail .atdpack-conference-logo img { max-height: 200px; } /* Scrollbar x */ .p-5.margin-div-footer-top.m-n1 { margin-right: 0px !important; } /**/ .elementor-widget-icon.elementor-view-default .elementor-icon svg .st1{ fill:#7205D1!important; } .devmioapp .sidenav a{ color: #7205D1; } .devmioapp .navbar-brand a{ background-size:contain !important; height:47px !important; } /* this is only a hot fix. we need to check why some of the classes are missing there */ form.woocommerce-form-login > p.form-row > button.login-button-toggle, form.woocommerce-form-login > p.form-row > label.text-secondary { /* display: none;*/ } /* this is only a hot fix. we need to check why some of the classes are missing there */ .woocommerce-account .woocommerce-form-login.login { max-width:560px; margin-left: auto; margin-right: auto; } /* Remove prices from product detail page */ .single-product .woocommerce-Price-amount.amount, .single-product .from, .single-product .subscription-details{ display: none; } .new-brand-header-image{ width:initial; } /* Mobile banner on home */ .home.page .discount-banner-mobile { top: 0px!important; } @media only screen and (min-width: 557px) and (max-width: 991px){ .home.page .discount-banner-mobile { top: -8px!important; } } .page-template-kiosk-reader-page-angular .discount-banner.divide-conquer-banner{ display:none !important; } /* Reader Web App Hide top Footer */ .page.page-id-80 #wrapper-footer-full { display: none; } /* fucking lens */ body .sands-search-botton { background-image: url('/wp-content/themes/understrap-child/fidelio-templates/images/searchPurple.svg'); } /* Safari problem on Iphone */ readerapp-attendee-attendance-overview .title-date-location > .align-content-center { min-height: 90px ; } readerapp-attendee-attendance-overview .atdpack-conference-body { z-index: 1000; } readerapp-attendee-attendance-detail .atdpack-conference-logo img { max-height: 200px; } /* Scrollbar x */ .p-5.margin-div-footer-top.m-n1 { margin-right: 0px !important; } /**/ .event-w9nu264oPhKqTLcbu .count-down-main-block {display:none;} .page-id-126002 a.optoutlink { margin-left:20px; } .one-to-one-main-block .chatHeaderStyle { display: block !important; } .event-YMuEYMkJGTfJwN5cJ .session-start-end-time { visibility: hidden; } .menu-item-981 a{ font-weight: bolder!important; } .event-YMuEYMkJGTfJwN5cJ.session-new-view .session-date-time { display: none; } .event-YMuEYMkJGTfJwN5cJ.session-new-view .count-down-main-block { display: none; } .event-7ZrYJgCSBtJDnK6W7 .session-start-end-time { visibility: hidden; } .event-7ZrYJgCSBtJDnK6W7.session-new-view .session-date-time { display: none; } .event-7ZrYJgCSBtJDnK6W7.session-new-view .count-down-main-block { display: none; } .event-RCSHFwQHwWs5HAHzv .session-start-end-time { visibility: hidden; } .event-RCSHFwQHwWs5HAHzv.session-new-view .session-date-time { display: none; } .event-RCSHFwQHwWs5HAHzv.session-new-view .count-down-main-block { display: none; } .article-detail-center .left-ads, .article-detail-center .right-ads { min-width: 135px !important; } .page .left-ads, .page .right-ads { min-width: 135px !important; } @media (max-width:786px) { readerapp-attendee-attendance-overview .atdpack-conference-logo { max-height: fit-content !important; } } /*.cometchat-embedded-chat-screen {max-width:327px;}*/ .cometchat-grouplist-container {max-height:40px;} .workshop-iframe-detail { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .workshop-iframe-detail iframe, .workshop-iframe-detail object, .workshop-iframe-detail embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .term-php-magazin.term-33 .col-md-12.col-lg-3.btn-margin-top { display: none; } .elementor-16 .elementor-element.elementor-element-995a49f > .elementor-container { max-width: 1600px; } .sands-article-detail .card-text a img { width: 100px!important; height: auto; } .firm-contact-form .wpcf7{ max-width:none; } .send-form{ background-color:#007d8d!important; color: #fff!important; } .send-form:hover { color: #fff!important; background-color: #005b67!important; border-color: #00505a!important; } .postid-109901 .divide-conquer-banner, .page-id-105270 .divide-conquer-banner, .page-id-109701 .divide-conquer-banner, .page-id-112727 .divide-conquer-banner, .page-id-112107 .divide-conquer-banner, .page-id-109477 .divide-conquer-banner, .page-id-62658 .divide-conquer-banner, .page-id-62647 .divide-conquer-banner, .page-id-49748 .divide-conquer-banner, .page-id-48839 .divide-conquer-banner, .page-id-233 .divide-conquer-banner, .page-id-47938 .divide-conquer-banner, .page-id-4669 .divide-conquer-banner, .page-id-173 .divide-conquer-banner, .page-id-55 .divide-conquer-banner, .page-id-170 .divide-conquer-banner, .page-id-97025 .divide-conquer-banner, .woocommerce-page .divide-conquer-banner, .page-template-kiosk-reader-page-angular .divide-conquer-banner{ display:none!important; } .show-only-Home.divide-conquer-banner, .discount-banner-mobile.divide-conquer-banner .discount-banner-mobile-row, #visitEntwicklerKioskFurTeams.show-only-Home, .discount-banner-mobile.divide-conquer-banner a{ display:none !important; } .home .show-only-Home.divide-conquer-banner{ display:block !important; } .page-id-2708 .show-only-Home, .page-id-2708 #visitEntwicklerKioskFurTeams.show-only-Home{ display:block!important; } .page-id-2708 .divide-conquer-banner.disable-discount-banner{ display:none!important; } @media (max-width:720px){ .page-id-2708 .divide-conquer-banner,.page-id-2708 #visitEntwicklerKioskFurTeams.show-only-home,.page-id-2708 #visitEntwicklerKioskFurTeams{ display:none!important; } .page-id-2708 .discount-banner-mobile.divide-conquer-banner.show-only-Home, .page-id-2708 .discount-banner-mobile.divide-conquer-banner a{ display:block!important; } .page-id-2708 .discount-banner-mobile.divide-conquer-banner.show-only-Home .discount-banner-mobile-row, .page-id-2708 .show-only-Home #visitEntwicklerKioskFurTeams, .page-id-2708 .show-only-Home.discount-banner-mobile.divide-conquer-banner a{ display:block!important; } .page-id-2708 .discount-banner-mobile.show-only-Home .discount-banner-mobile-row.disable-discount-banner, .page-id-2708 .discount-banner-mobile .discount-banner-mobile-row.disable-discount-banner, .page-id-2708 .discount-banner-mobile.divide-conquer-banner .disable-discount-banner + a{ display:none!important; } .page-id-2708 .show-only-Home, .page-id-2708 #visitEntwicklerKioskFurTeams.show-only-Home { display:none!important } .home .show-only-Home.divide-conquer-banner{ display:none !important; } .home .discount-banner-mobile.divide-conquer-banner, #visitEntwicklerKioskFurTeams.show-only-Home, .home .discount-banner-mobile.divide-conquer-banner a,.discount-banner-mobile.divide-conquer-banner .discount-banner-mobile-row{ display:block!important; } .home .show-only-Home.discount-banner-mobile .discount-banner-mobile-row.disable-discount-banner.row{ display:none !important; } } .show-only-Home.discount-banner-mobile.divide-conquer-banner.discount-banner{ top:0px!important; } .home-magazin.search-section { height: 84vh; } .page-id-49748 div#visitEntwicklerKioskFurTeams { display: none !important; } @media (min-width: 902px) and (max-width: 1370px){ .home .home-magazin.search-section { height: 102vh; } .home .home-magazin.search-section .container{ margin-top: 18vh; } } .rabattaktion.devathome-team.einzel-offer .landingpage-header { background-image: url(https://entwickler.de/wp-content/uploads/2020/04/EKiosk_Website_Rabattaktion_Header_57459_v2_Desktop_Einzel.jpg); } .rabattaktion.devathome-team .landingpage-header { color: #fff; background-image: url(https://entwickler.de/wp-content/uploads/2020/04/EKiosk_Website_Rabattaktion_Header_57459_v2_Desktop_Team.jpg); background-position-y: top; margin-top: -34px; } .devathome-team.rabattaktion .divide-conquer-headline { font-size: 48px; } .devathome-team.rabattaktion .kiosk--falg::before{ width: 36px; content: " "; background-image: url(https://entwickler.de/wp-content/uploads/2019/09/E_Kiosk_Logo_book.png); background-size: contain; background-repeat: no-repeat; position: absolute; left: 38px; top: 22px; height: 33px; font-size: 33PX; font-weight: 600; } .kiosk--flag{ font-size: 33PX; font-weight: 600; } .team--lizenz--bg.team-link{ background-image: url(https://entwickler.de/wp-content/uploads/2020/04/EKiosk_20_Rabattaktion_Lizenzen_Team_57459_v2_singlepage.svg); } .team--lizenz--bg{ background-image: url(https://entwickler.de/wp-content/uploads/2020/04/EKiosk_20_Rabattaktion_Lizenzen_Team_57459_v2_teampage.svg); background-repeat: no-repeat; background-position-x: right; background-position-y: bottom; height: 216px;background-color:#006885; } .single--lizenz--bg.einzel-link{background-image: url(https://entwickler.de/wp-content/uploads/2020/04/EKiosk_20_Rabattaktion_Lizenzen_Einzel_57459_v1_teampage.svg);} .single--lizenz--bg{ background-image: url(https://entwickler.de/wp-content/uploads/2020/04/EKiosk_20_Rabattaktion_Lizenzen_Einzel_57459_v1.svg); background-repeat: no-repeat; background-position-x: right; background-position-y: bottom; height: 216px;background-color:#006885; } @media only screen and (max-width: 568px) { .single--lizenz--bg.einzel-link{background-image: url(https://entwickler.de/wp-content/uploads/2020/04/EKiosk_20_Rabattaktion_Lizenzen_Einzel_57459_v1_teampage.svg);} .single--lizenz--bg, .team--lizenz--bg{ height: 255px; background-position-x: unset; background-size: contain; } .bottom--align{ vertical-align:bottom !important; } } @media only screen and (max-width: 768px) { .rabattaktion.devathome-team .landingpage-header, .rabattaktion.devathome-team.einzel-offer .landingpage-header { color: #fff; background-image: url(https://entwickler.de/wp-content/uploads/2020/04/EKiosk_Website_Rabattaktion_Header_57459_v2_mobile.jpg); background-position-y: top; background-position-x: center !important; margin-top: -34px; } .logo--svg{ width:99%; } } @media only screen and (max-width: 991px){ .rabattaktion .home-magazin.search-section { height: 96vh !important; }} .discount-banner-row { padding: 15px 0vw 10px 0vw; background: none; background-color: #E6FFED!important; } .discount-banner-mobile, .home .discount-banner-mobile{ background-color: transparent!important; } .discount-banner-mobile .discount-banner-mobile-row { background-color:#E6FFED; } @media (max-width: 992px) and (min-width: 578px){ .mobile-banner-button-margin { margin-left: 0px!important; margin-top: 1px; } } @media (min-width: 1370px) and (max-width: 1670px){ .home .home-magazin.search-section { height: 110vh; } } .show-only-archive, .term-kiosk-specials .brand-depending-teaser .brand-widget-abo-headline, .term-kiosk-shortcuts .brand-depending-teaser .brand-widget-abo-headline, .term-sharepoint-kompendium .brand-depending-teaser .brand-widget-abo-headline, .term-javascript-kompendium .brand-depending-teaser .brand-widget-abo-headline, .term-cloud-compendium .brand-depending-teaser .brand-widget-abo-headline, .term-mobile-technology .brand-depending-teaser .brand-widget-abo-headline, .term-eclipse-magazin .brand-depending-teaser .brand-widget-abo-headline, .term-business-technology-magazin .brand-depending-teaser .brand-widget-abo-headline{ display: none; } .term-eclipse-magazin .sands-border-headline.show-on-all-brands, .term-sharepoint-kompendium .sands-border-headline.show-on-all-brands, .term-business-technology-magazin .sands-border-headline.show-on-all-brands{ display:none; } .term-eclipse-magazin .sands-border-headline.show-only-archive, .term-sharepoint-kompendium .sands-border-headline.show-only-archive, .term-business-technology-magazin .sands-border-headline.show-only-archive{ display:inline-block!important; } .new-brand-header-image{ width:initial; } /* mobile top intro and sreach area */ @media only screen and (max-width: 600px){ .margin-top-mobile { padding: 20px 0px !important; } .height--mobile{ padding-top: 100px; } } /*team-lizenz css*/ @media (min-width:1025px)and (max-width: 1281px) { .min-h--headlne{ min-height:80px } .row-top-text{ min-height:230px } .row-bottom-text{ min-height:110px } } @media (min-width:1281px) { .row-top-text{ min-height:220px } .row-bottom-text{ min-height:85px } } @media only screen and (min-device-width: 768px) and (max-device-width: 1024px){ .page-id-109477 h4.elementor-heading-title.elementor-size-default { min-height: 70px; } } @media only screen and (min-device-width: 314px) and (max-device-width: 736px) { .set--text-height{ height: auto; } .page-id-109477 .elementor-109477 .elementor-element.remove--shadow .elementor-element-populated{ box-shadow: none; padding: 15px 0px; margin: 0px; } } .page-id-112727 .entry-header, .page-id-112399 .entry-header, .page-id-112107 .entry-header, .elementor-page-109477 .sands-nav-login, .page-id-109477 .entry-header, .page-id-109477 #visitEntwicklerKioskFurTeams,.page-id-109477 .menu-item-999,.page-id-109477 .sands-mobile-menu a.mobile-nav-item.rounded.px-2, .page-id-109477 .menu-item-981{ display:none !important; } /*team-lizenz css ends*/ .web-app-content-area readerapp-session #clockdivCountdown .countdown--font, .web-app-content-area readerapp-session h4{ /* display:none !important;*/ } /*print css for AGB page*/ @media print { .page-id-55 #wrapper-navbar { display: none; } } .elementor-page-126113 .navbar-collapse .navbar-nav{ display:none!important; } .grecaptcha-badge { visibility: hidden; } body.woocommerce-page #page-wrapper.sands-login.wrapper, body.woocommerce-page #woocommerce-wrapper, body.woocommerce-checkout #page-wrapper,.error-page-main-wrapper{ background: linear-gradient( 0deg , rgb(156, 237, 166) 14%, rgb(0, 104, 133) 72%); } .main-article-detail-container .article-detail-body hr{ width: 85%; } .postid-8943 .menu-fidelio, .postid-8943 .show-search-popup-lens-icon, .postid-8943 .global-main-menu { display:none!important; } .boxed{ display:grid; } .sands-search-botton{ background-size:50%; outline: none!important; } .menu-suche { background-image: url(https://entwickler.de/wp-content/uploads/2021/07/EntwicklerDE_Magnifying_Glass_icon_v3.svg); background-repeat: no-repeat; background-position: 29% 45%; background-size: 7%; } .blog-stream-first-confad{ max-width: 380px;} .infoblock-special-iframe{ border-width: 0px; } /* Reader Web App Hide top Footer */ .page.page-id-80 #wrapper-footer-full { display: none; } @media (max-width: 992px) and (min-width: 78px){ .home .show-only-Home.discount-banner-mobile { margin-top: 0px !important; padding-top: 0px !important; } } .home .show-only-Home.disable-discount-banner { display: none !important; } .advert_position_2 .infoblock-handmade-element{ margin-bottom: 15px !important; } .mediumtextsize.epubhtml .SuS_Autor{ display: inline-block; } /* #cometchat-message-composer-emoji-icon2 .material-icons{ visibility: hidden; } */ .widget-below-free-blog-articles .custom-check li{ list-style: none !important; font-family: 'Open Sans' !important; } .widget-below-free-blog-articles{ font-family: 'Open Sans'; } input[type='radio']:checked:after { width: 19px; height: 19px; border-radius: 19px; top: -1px; } input[type=radio]:after { width: 19px; height: 19px; border-radius: 19px; top: -1px; } @media screen and (min-width: 576px) { .change--container .main .wrapper #content.container{ max-width:667px; } } @media screen and (min-width: 768px) { .change--container .main .wrapper #content.container{ max-width:953px; } } @media screen and (min-width: 1200px) { .change--container .main .wrapper #content.container{ max-width:1460px; } } .epubhtml pre{ font-size:0.9rem; } cometchat-receiver-text-message-bubble.ng-star-inserted ul.messageActionStyle.ng-star-inserted{ display:none !important; } cometchat-sender-text-message-bubble.ng-star-inserted li.actionGroupStyle.ng-star-inserted:first-of-type{ display:none !important; } cometchat-receiver-text-message-bubble.ng-star-inserted .messageContainerStyle{ max-width:90% !important; } cometchat-sender-text-message-bubble.ng-star-inserted .messageContainerStyle{ max-width:90% !important; } .woocommerce-form-register { padding: 20px 20px 10px 20px!important; } .woocommerce-form-register #reg_email{ margin-left: 5px; } .satffMember-image .partnerLogo{ width:auto !important; } .each-upcomingevent-container img{ object-fit:contain !important; } .ebooks-cover-mx-h{ max-height:inherit; } .event--bg.session-new-view .top-section .speakers-info-block .bg-white.d-flex.flex-wrap.justify-content-center.mb-3.p-3.rounded.shadow-lg,.event--bg.session-new-view .tab-content.mt-n3 .session-partner-logo,.session-partner-logo{ display: none !important; } .talk-6184e68b51389b00466092b5_629a32c73a22454551b5e962 .chat--btn{ display:none; } .ng5-slider .ng5-slider-pointer.ng5-slider-active:after, .ng5-slider .ng5-slider-pointer:hover:after{ background-color: #7205d1!important; } .main-artilce-series-item-detail-container .sands-brand-content-left-button{ background-color: transparent; } /*iframe css start*/ /* dynamic sessions */ .infoblock-special-iframe{ margin: 0px !important; padding: 0px !important; overflow: hidden !important; border: none !important; width: 100% !important; } @media only screen and (min-width:19em) and (max-width:40em) { .infoblock-special-iframe{ height: 600px; } .category .infoblock-special-iframe{ height: 100px; } .single .infoblock-special-iframe{ height: 600px; } } @media only screen and (min-width:40.01em) and (max-width:55em) { .infoblock-special-iframe{ height: 600px ; } .single .infoblock-special-iframe{ height: 790px ; } } @media only screen and (min-width:55.01em) and (max-width:63.94em) { .infoblock-special-iframe{ height: 600px ; } } @media only screen and (min-width:64em) { .infoblock-special-iframe{ height: 300px ; } .category .infoblock-special-iframe{ height: 560px ; } .single .infoblock-special-iframe{ height: 260px ; } } /* Article detail */ @media only screen and (min-width:63em) and (max-width:65em) { .single .infoblock-special-iframe{ height: 750px; } } /*iframe css end*/ .sands-clockdiv .days{ margin-bottom:0px; } .ny-week .clockdivsec.sands-clockdiv div>span { border-radius: 10px !important; } .ny-week .clockdivsec.sands-clockdiv div>p { color: white !important; } .ny-nl{ background: transparent; border: 0; border-radius: 50%; height: 55px; width: 55px; background-image: url(https://devm.io/wp-content/uploads/2023/02/Group-64380.svg); background-repeat: no-repeat; background-size: cover; position: absolute; top: 0; bottom: 0; margin: auto; right: 13px; } .page-id-8566 .mc4wp-response {color:#fff;} .devmioapp .navbar-dark .main-second-menu .jax-register{ background-color:#ec5f72; border-radius:5px; } .devmioapp .navbar-dark .main-second-menu .jax-register a,.devmioapp .navbar-dark .main-second-menu .jax-register a:hover{ color:#fff !important } .entwickler-vue-app .conference , .entwickler-vue-app .courses,.entwickler-vue-app .tutorial,.entwickler-vue-app .events,.entwickler-vue-app .highlight{ display: none; } .entwickler-vue-app .expertSplide img{ min-height:0px !important; } .sands-image-colored-overlay-hover img{ object-fit: cover; } @media screen and (max-width: 992px) { .sands-image-colored-overlay-hover img{ height: 150px !important; } } .gdlr-speaker-thumbnail-inner.resize img{ height:60px !important; } .page-id-24.devmio-login .entry-header .entry-title{ display:none; } .devmioapp .nav-bar-new.navbar-brand{ padding-bottom: 8px !important; } </style> </head> <body class="-template-default single theme-understrap devmioapp devmio bdy-article-detail-main-body bdy-brand-slug-devmio bdy-brand-origin-BLOG woocommerce-no-js"> <div class="site" id="page"> <div class="d-none d-sm-none mobile-blog-ads col-auto p-0"><aside id="custom_html-21" class="widget_text mobile-fpa-entwickler-widget widget widget_custom_html"><div class="textwidget custom-html-widget"><!-- /21339274/devmio-mobile-header-ad --> <div id='div-gpt-ad-1656507057834-0' style='min-width: 300px; min-height: 50px; text-align:center;'> <script> googletag.cmd.push(function() {googletag.display('div-gpt-ad-1656507057834-0'); }); </script> </div> </div></aside></div><div class="d-none d-sm-none mobile-free-article-ads col-auto p-0"><aside id="custom_html-27" class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><!-- /21339274/devmio-mobile-header-ad --> <div id='div-gpt-ad-1656507057834-0' style='min-width: 300px; min-height: 50px; text-align:center;'> <script> googletag.cmd.push(function() {googletag.display('div-gpt-ad-1656507057834-0'); }); </script> </div></div></aside></div> <!-- ******************* The Navbar Area ******************* --> <div id="wrapper-navbar" itemscope itemtype="http://schema.org/WebSite"> <!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment-with-locales.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.34/moment-timezone.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.34/moment-timezone-with-data-10-year-range.min.js"></script> --> <script src="https://devm.io/wp-content/themes/understrap-child/fidelio-templates/js/moment-with-locales.min.js?x74914"></script> <script src="https://devm.io/wp-content/themes/understrap-child/fidelio-templates/js/moment-timezone.min.js?x74914"></script> <script src="https://devm.io/wp-content/themes/understrap-child/fidelio-templates/js/moment-timezone-with-data-10-year-range.min.js?x74914"></script> <script> window.concordBackendURL = "https://concord.sandsmedia.com/graphql"; </script> <script src="https://cdn.jsdelivr.net/npm/vue@2"></script> <script src="https://devm.io/wp-content/themes/understrap-child/fidelio-templates/js/fideliohelper.js?x74914"></script> <!-- <script src="https://devm.io/wp-content/themes/understrap-child/fidelio-templates/js/graphqlQueries.js?x74914"></script> --> <script type="text/x-template" id="article-series-item-box-template"> <div class="d-flex flex-column flex-lg-row feature-detail-article-column feature-detail shadow my-4 rounded"> <div class="col-12 col-lg-3 p-0"> <div class="h-100"> <img class="h-100 img-cover" :src="series.teaser.xx" alt=""> </div> </div> <div class="col-12 col-lg-9 mb-2 mt-1 mt-lg-4 mt-md-2"> <div class="mb-xl-5 mb-2 mb-lg-3"><!----> <h3 class="font-weight-bold mt-lg-0 my-3"> <!-- {{series.relUrl}} <a v-if="series.type== 'COLUMN'" :href="'/kolumnen/'+series._id+''">{{ series.name }}</a> <a v-if="series.type== 'SERIES'" :href="'/serien/'+series._id+''">{{ series.name }}</a> --> <a v-if="series.relUrl" :href="series.relUrl">{{ series.name }}</a> </h3> <p>{{ series.description }}</p> </div> <div> <article-box-small-component v-for="(article, articleIndex) in series.articles.slice(0, 3)" v-bind:key ="article._id" v-bind:article ="article" v-bind:articleIndex ="articleIndex" v-bind:seriesarticles ="series.articles.slice(0, 3)"> </article-box-small-component> </div> </div> </div> </script> <script> Vue.component("article-series-item-box-component", { props: ["series", "seriesindex"], template: "#article-series-item-box-template" }); </script> <script type="text/x-template" id="article-box-small-template"> <div v-if="article.name && article.subtitle" class="single-article-reference-display"> <div class="mb-xl-2 mb-2 mb-lg-2"> <a :href="article.relUrl"> <h5 class="font-weight-bold mt-lg-0"> {{ article.name }} </h5> </a> <p >{{article.subtitle}}</p> </div> <hr v-if="articleIndex !== seriesarticles.length - 1" class="my-3 " style=""> </div> </script> <script> Vue.component("article-box-small-component", { props: ["article", "articleIndex","seriesarticles"], template: "#article-box-small-template" }); </script> <script type="text/x-template" id="article-issue-item-box-template"> <div class="d-flex flex-column flex-lg-row feature-detail-article-column feature-detail shadow my-4 rounded"> <div class="col-12 col-lg-3 p-0 p-lg-3"> <div class="h-100"> <img class="img-cover p-2" :src="series.cover.x" alt=""> </div> </div> <div class="col-12 col-lg-9 mb-2 mt-1 mt-lg-4 mt-md-2"> <div class="mb-xl-5 mb-2 mb-lg-3"><!----> <h3 class="font-weight-bold mt-lg-0 my-3"> <a :href="series.relUrl">{{ series.coverStory }}</a> </h3> <p>{{ series.description }}</p> </div> <div> <article-box-small-component v-for="(article, articleIndex) in series.articles.slice(0, 3)" v-bind:key ="article._id" v-bind:article ="article" v-bind:articleIndex ="articleIndex" v-bind:seriesarticles ="series.articles.slice(0, 3)"> </article-box-small-component> </div> </div> </div> </script> <script> Vue.component("article-issue-item-box-component", { props: ["series", "seriesindex"], template: "#article-issue-item-box-template" }); </script> <script type="text/x-template" id="article-authors-item-box-template"> <div class="sands-author-detail text-center col-6 col-lg-2 p-sm-3 p-2 feature-detail-article-authors mb-3"> <a v-if="authors._id" :href="authors.relUrl"> <div class="mb-2 h-100"> <img v-if="authors.avatarSquareSmall.xx" class="w-auto img-fluid rounded-circle h-100" :src="authors.avatarSquareSmall.xx" style="filter: grayscale(90%) sepia(65%) hue-rotate(100deg) saturate(50%);" /> </div> <div v-if="authors.forename && authors.surname" class="text-dark"> <span>{{ authors.title }} </span> <span>{{ authors.forename }} </span> <span class="font-weight-bolder">{{ authors.surname }}</span> </div> </a> </div> </script> <script> Vue.component("article-authors-item-box-component", { props: ["authors", "authorsindex"], template: "#article-authors-item-box-template" }); </script> <script type="text/x-template" id="article-interview-item-box-template"> <div class="d-flex flex-column flex-lg-row feature-detail-article-column feature-detail shadow my-4 rounded"> <div class="col-12 col-lg-3 p-0"> <div class="h-md-100"> <img v-if="feature && feature.teaser.xx" class="img-cover p-2 h-md-100 w-100" :src="feature.teaser.xx" alt=""> <img v-else-if="articles.authors[0].avatarSquareSmall.xx" class="img-cover p-2 h-md-100 w-100" :src="articles.authors[0].avatarSquareSmall.xx" alt=""> </div> </div> <div class="col-12 col-lg-9 mb-2 mt-1 mt-lg-4 mt-md-2"> <div class="mb-xl-5 mb-2 mb-lg-3"><!----> <!-- <p> Interview mit {{ articles.authors[0].name }} </p> --> <p v-if="articles.subtitle">{{ articles.subtitle }}</p> <a v-if="articles.relUrl" :href="articles.relUrl"> <h3 v-if="articles.name" class="font-weight-bold mt-lg-0 my-3"> {{ articles.name}} </h3> </a> <h3 v-else-if="articles.name" class="font-weight-bold mt-lg-0 my-3"> {{ articles.name }} </h3> <p v-if="articles.abstract" >{{ articles.abstract }}</p> <span v-if="articles.publishedAt" >{{ articles.publishedAt | moment }}</span> </div> <div> </div> </div> </div> </script> <script> Vue.component("article-interview-item-box-component", { props: ["articles", "articlesindex", "feature"], template: "#article-interview-item-box-template" }); </script> <script type="text/x-template" id="article-content-item-box-template"> <div class="sands-article-content-item-box-component-top sands-article-detail sands-extra-header col-12 col-lg-6"> <div class="sands-inner-item-container shadow col-12 h-100 p-0 rounded"> <div class="col-12 col-lg-12 p-0 d-flex align-items-stretch"> <div class=""> <a :href="series.relUrl"> <img v-if="series.teaserImage.xxx" itemprop="image" class="card-img rounded-top" :src="series.teaserImage.xxx"> </a> <div class="card-img-overlay"> <div class="card-text col d-flex"> <a :href="processConcordObjectAfterLoad(series.brand).relUrl" class="col-4 m-auto"> <img v-if="series.brand.logo.xx" class="" :src="series.brand.logo.xx" alt="Windows Developer"> </a> <a v-if="series.issue && series.issue.slug" :href="processConcordObjectAfterLoad(series.issue).relUrl" class="col-8 m-auto"> <div v-if="series.issue && series.issue.designation && series.brand.name" class="text-primary"> {{ series.brand.name }} {{series.issue.designation}} </div> </a> </div> </div> </div> </div> <div v-if="series.subtitle && series.name" class="col-12 col-lg-12 py-3"> <a :href="series.relUrl" itemprop="url"> <p itemprop="sub-title">{{series.subtitle}}</p> <h3 itemprop="headline">{{ series.name }}</h3> <p itemprop="abstract"> {{ series.abstract | substring }} </p> <cite v-if="series.issue.publicationDate" itemprop="authors" class="text-secondary"> <!-- {{ series.issue.publicationDate | moment }} <span v-if="series.authors.length"> - </span> --> <span v-for="(authors, authorsindex) in series.authors "> <span v-if="authors.name">{{authors.title}} {{authors.name}}<span v-if="authorsindex !== series.authors.length - 1">,</span></span> </span> </cite> </a> </div> </div> </div> </script> <script> Vue.component("article-content-item-box-component-top", { props: ["series", "seriesindex"], template: "#article-content-item-box-template" }); Vue.filter("substring", function (string) { var strLength = string.length; if(strLength && strLength > 240){ string = string.substring(0, 238) + '...'; } return string; }); </script> <script type="text/x-template" id="article-content-item-box-template-bottom"> <!-- <div class="d-flex flex-column flex-lg-row feature-detail-article-column feature-detail shadow my-4 rounded"> <div class="col-12 col-lg-3 p-0"> <div class="h-100"> <img class="h-100 img-cover" :src="series.teaserImage.xx" alt=""> </div> </div> <div class="col-12 col-lg-9 mb-2 mt-1 mt-lg-4 mt-md-2"> <div class="mb-xl-5 mb-2 mb-lg-3"> <p>{{series.subtitle}}</p> <h3 class="font-weight-bold mt-lg-0 my-3"> <a href="/reader/article-series/NqdhnMcyAzNLfp8Se">{{ series.name }}</a> </h3> <p>{{ series.abstract }}</p> <cite itemprop="authors" class="text-secondary"> {{ series.issue.publicationDate }} </cite> </div> <div> </div> </div> </div> --> <div class="sands-article-content-item-box-component-bottom sands-article-detail shadow row my-4 rounded"> <div class="sands-inner-item-container col-12 col-md-4 p-0 d-flex align-items-stretch"> <div class=""> <a :href="series.relUrl"> <img v-if="series.teaserImage.xx" itemprop="image" class="card-img" :src="series.teaserImage.xx"> </a> <div class="card-img-overlay"> <div class="card-text col d-flex"> <a :href="processConcordObjectAfterLoad(series.brand).relUrl" class="col-4 m-auto"> <img class="" v-if="series.brand.logo.xx" :src="series.brand.logo.xx" alt="Windows Developer"> </a> <a v-if="series.issue && series.issue.slug" :href="processConcordObjectAfterLoad(series.issue).relUrl" class="col-8 m-auto"> <div v-if="series.issue && series.issue.designation && series.brand.name" class="text-primary"> {{ series.brand.name }} {{series.issue.designation}} </div> </a> </div> </div> </div> </div> <div v-if="series.subtitle && series.abstract" class="col-12 col-md-8 py-3"> <a :href="series.relUrl" itemprop="url"> <p itemprop="sub-title">{{series.subtitle}}</p> <h3 itemprop="headline">{{ series.name }}</h3> <p itemprop="abstract"> {{ series.abstract | substring }} </p> <cite itemprop="authors" class="text-secondary"> <!-- {{ series.issue.publicationDate | formatedDate }} <span v-if="series.authors.length"> - </span> --> <span v-for="(authors, authorsindex) in series.authors "> <span v-if="authors.name">{{authors.title}} {{authors.name}}<span v-if="authorsindex !== series.authors.length - 1">,</span></span> </span> </cite> </a> </div> </div> </script> <script> Vue.component("article-content-item-box-component-bottom", { props: ["series", "seriesindex"], template: "#article-content-item-box-template-bottom" }); Vue.filter("formatedDate", function (date) { return moment(date, 'DD/MM/YYYY').locale("de").format('MMMM YYYY'); }); Vue.filter("substring", function (string) { var strLength = string.length; if(strLength && strLength > 240){ string = string.substring(0, 238) + '...'; } return string; }); </script> <script type="text/x-template" id="event-item-box-template"> <div class="col-12 col-lg-4 col-md-6 sands-article-detail mb-3"> <div class="h-100 d-flex flex-column feature-detail-article-column feature-detail shadow rounded"> <div class="col-auto col-lg-auto d-flex p-0 rounded-top text-center" v-bind:style="{backgroundColor: event.conferences[0].colourHexCode}"> <div class="mx-auto"> <a v-if="event.conferences && event.conferences[0] && event.conferences[0].marketingUrl " :href="event.conferences[0].marketingUrl" > <img v-if="event.conferences[0].transparentLogo && event.conferences[0].transparentLogo.svg && event.conferences[0].transparentLogo.svg.length" class="card-img py-4" :src="event.conferences[0].transparentLogo.svg" alt=""> <img v-if="(!event.conferences[0].transparentLogo || !event.conferences[0].transparentLogo.svg) && event.logo && event.logo.xx" class="card-img" :src="event.logo.xx" alt=""> </a> <div v-else> <img v-if="event.conferences[0].transparentLogo && event.conferences[0].transparentLogo.svg && event.conferences[0].transparentLogo.svg.length" class="card-img py-4" :src="event.conferences[0].transparentLogo.svg" alt=""> <img v-if="(!event.conferences[0].transparentLogo || !event.conferences[0].transparentLogo.svg) && event.logo && event.logo.xx" class="card-img" :src="event.logo.xx" alt=""> </div> </div> </div> <div class="pb-2 pt-3 px-3"> <!-- class="d-flex flex-column pb-1 pt-3 px-3 h-100"--> <div class="mb-4" v-if="event.conferences && event.conferences.length"> <p v-if="datevisibility && event.sessions && event.sessions.length && event.sessions[0]" class="add-min-height"> <span v-if="event.sessions[0].localizedStartDate">{{event.sessions[0].localizedStartDate | momentWithYear}}</span> <span v-if="event.sessions[0].localizedStartDate"> | {{event.sessions[0].localizedStartDate,event.sessions[0].timezone,'HH:mm' | formatedLocalizetime}}</span> <span v-if="event.sessions[0].localizedEndDate"> - {{event.sessions[0].localizedEndDate,event.sessions[0].timezone,'HH:mm' | formatedLocalizetime}}</span> <span v-if="event.conferences[0].city"> | {{event.conferences[0].city}}</span> </p> <a v-if="event.conferences && event.conferences[0] && event.conferences[0].marketingUrl " :href="event.conferences[0].marketingUrl"> <h4 class="mb-3 text-break">{{event.sessions[0].name}}</h4> </a> <div v-if="!event.conferences[0].marketingUrl && event.sessions[0] && event.sessions[0].name"> <h4 class="mb-3 text-break">{{event.sessions[0].name}}</h4> </div> <div v-if="event.conferences && event.conferences.length && event.conferences[0].slogan" class="pl-0 d-flex flex-row flex-wrap mb-0 mt-auto"> <span>{{event.conferences[0].slogan}}</span> </div> <div v-else class="pl-0 d-flex flex-row flex-wrap mb-0 mt-auto border-danger border text-danger"> <span>THIS IS JUST TO TEST, SINCE WE DON'T HAVE CONFERENCE SLOGAN</span> </div> </div> <!-- WE NEED THIS PART IF WE WANNA HAVE STICKY FOOTER ELEMENT ON THIS COMPONENT <div v-if="event.conferences && event.conferences.length && event.conferences[0].slogan" class="pl-0 d-flex flex-row flex-wrap mb-0 mt-auto"> <div class="align-self-center col pl-0 text-secondary"> <span>{{event.conferences[0].slogan}}</span> </div> </div> <div v-else class="pl-0 d-flex flex-row flex-wrap mb-0 mt-auto"> <div class="align-self-center col pl-0 text-secondary"> <span>THIS IS JUST TO TEST, SINCE WE DON'T HAVE CONFERENCE SLOGAN</span> </div> </div --> </div> </div> </div> </script> <script> Vue.component("event-item-box-component", { props: ["event", "eventindex", "datevisibility"], template: "#event-item-box-template" }); Vue.filter("formatedLocalizetime", function (date,timezone,format) { if (date && timezone && format) { if (moment(date, 'DD-MM-YYYY HH:mm:ss').isValid()){ let dateWithTimeZone = moment.tz(date, 'DD/MM/YYYY HH:mm:ss', timezone); let formatedStartdateTZ = moment(dateWithTimeZone['_d']).format('DD-MM-YYYY HH:mm:ss'); let newFormatedStartdateTY = moment(formatedStartdateTZ,'DD-MM-YYYY HH:mm:ss').toDate(); let finalDate = moment(newFormatedStartdateTY).format(format); return finalDate; } } }); </script> <script type="text/x-template" id="course-item-box-template"> <div class="col-12 col-lg-4 col-md-6 sands-article-detail mb-3"> <div class="h-100 d-flex flex-column feature-detail-article-column feature-detail shadow rounded-corners-10 bg-white"> <a v-if="course && course.realUrl" :href="course.realUrl"> <img v-if="course.teaserImage && course.teaserImage.xx" class="card-img rounded-top-10" :src="course.teaserImage.xx" alt=""> <img v-if="!course.teaserImage || !course.teaserImage.xx" class="card-img rounded-top-10" src="/wp-content/themes/understrap-child/fidelio-templates/images/Konferenzlogos_entwickler_de_entwickler_de_Platzhalter_v1.svg?x74914" alt=""> </a> <div v-else> <img v-if="course.teaserImage && course.teaserImage.xx" class="card-img rounded-top-10" :src="course.teaserImage.xx" alt=""> <img v-if="!course.teaserImage || !course.teaserImage.xx" class="card-img rounded-top-10" src="/wp-content/themes/understrap-child/fidelio-templates/images/Konferenzlogos_entwickler_de_entwickler_de_Platzhalter_v1.svg?x74914" alt=""> </div> <div class="pb-2 pt-3 px-3 flex-grow-1 d-flex flex-column"> <div class="mb-auto"> <p v-if="course && course.genre && course.genre != 'TUTORIAL'"> <span class="px-2 py-1 font-weight-bolder course-bg-title" v-if="!course.isPast"> <span v-if="course.localizedStartDate">{{course.localizedStartDate,course.timezone,'DD.MM.YYYY' | formatedLocalizetime}}</span> <span v-if="course.localizedStartDate"> | {{course.localizedStartDate,course.timezone,'HH:mm' | formatedLocalizetime}}</span> <span v-if="course.localizedEndDate"> - {{course.localizedEndDate,course.timezone,'HH:mm' | formatedLocalizetime}}</span> <span v-if="course.location && course.location.city"> | {{course.location.city}}</span> </span> <span v-if="course.isPast" style="font-weight: 600;"> <span v-if="course.availableUntilDate" class="px-2 py-1 font-weight-bolder course-bg-title"> <span v-if="course.isDevMioActive && course.isDevMioActive == 1">Available until </span> <span v-else>Verf眉gbar bis </span> {{course.availableUntilDate,course.timezone,'DD.MM.YYYY' | formatedLocalizetime}} </span> </span> </p> <a v-if="course && course.realUrl" :href="course.realUrl"> <h4 class="mb-3 text-break font-weight-bolder">{{course.name}}</h4> </a> <div v-else> <h4 class="mb-3 text-break font-weight-bolder">{{course.name}}</h4> </div> <div v-if="course && course.slogan" class="pl-0 d-flex flex-row flex-wrap mb-2 mt-auto"> <span>{{course.slogan | limitChars}}</span> </div> </div> <div class="mt-auto"> <a v-if="course && course.genre && course.genre != 'TUTORIAL' && !course.isPast && course.slogan && course.realUrl" :href="course.realUrl"> <span v-if="course.isDevMioActive && course.isDevMioActive == 1" class="btn btn-danger rounded-corners-10 font-weight-bold mt-3 mb-1">learn more</span> <span v-else class="btn btn-danger rounded-corners-10 font-weight-bold mt-3 mb-1">mehr erfahren</span> </a> </div> </div> </div> </div> </script> <script> Vue.component("course-item-box", { props: ["course","courseindex", "datevisibility"], template: "#course-item-box-template" }); Vue.filter("formatedLocalizetime", function(date, timezone, format) { if (date && timezone && format) { if (moment(date, 'DD-MM-YYYY HH:mm:ss').isValid()) { let dateWithTimeZone = moment.tz(date, 'DD/MM/YYYY HH:mm:ss', timezone); let formatedStartdateTZ = moment(dateWithTimeZone['_d']).format('DD-MM-YYYY HH:mm:ss'); let newFormatedStartdateTY = moment(formatedStartdateTZ, 'DD-MM-YYYY HH:mm:ss').toDate(); let finalDate = moment(newFormatedStartdateTY).format(format); return finalDate; } } }); Vue.filter('limitChars', function(value, limit = 132) { if (!value) return ''; if (value.length <= limit) return value; return value.slice(0, limit) + '...'; }); </script> <div class="main-search-popup-detail-container h-100 p-0 d-none container-fluid flex-column invisibleviewapp searchCatPopupId6309" id="searchCatPopupId6309"> <div class="blury--bg d-flex justify-content-around mb-4 mb-5 pt-3 pupup-search-box"> <form method="GET" action="/" class="mb-3 sands-popup-search-form"> <input style="width: 83%!important;" class="form-control sands-search sands-search-popup" name="s" type="search" placeholder="Enter your search term" aria-label="Durchsuchen Sie den Inhalt der Website" required> <button class="sands-search-botton sands-search-botton-popup" style="vertical-align: bottom;" type="submit">Search</button> </form> </div> <div class="close-search-popup blury--bg mt-3" > <a class="close-search-popup-btn"> <span class="cursorPointer text-primary">X</span> </a> </div> <div class="blury--bg mt-n5 mx-0 mx-md-n5 pb-2 pt-4 px-2 px-md-0"> <div class="container"> <div class="category-row row mb-3" > <div v-for="aCategory in loadedCategories" v-if="aCategory.slug" class="category-row-border-color py-2 px-2 m-2 font-weight-bold"> <a v-if="aCategory.slug" :href="'/'+ aCategory.slug" id="searchPopupCat"> <div> <span>{{aCategory.name}}</span> </div> </a> </div> </div> </div> </div> </div> <script> searchCatPopup = function(magazineBrandsAppParams, dataPassed) { dataParams = { apploaded: false, loading: false, everLoadedData: false, maxCategories: 0, loadedCategories: [], }; if (dataPassed) { jQuery.extend(dataParams, dataPassed); }; dataParams.brandsLoadingParams = { query: 'search-categories-popup' }; appSettings = { methods: { loadMore: function () { this.loading = true; var self = this; graphqlQueryAndVars = { query: ` query { categories (SORT:{slug:1}){ Meta { count } Categories { _id __typename name slug slugEn logo{ svg } isDeprecated } } } ` }; // instance data is an observable, so we clone to send data this.loadConcordDataUsingFetch(graphqlQueryAndVars, function (dataFromBE, error) { if (dataFromBE && dataFromBE.categories) { var data = dataFromBE.categories; if (data.Meta.count) { self.maxCategories = data.Meta.count; } if (data.Categories && data.Categories.length > 0) { for (let i = 0; i < data.Categories.length; i++) { self.loadedCategories.push(self.processConcordObjectAfterLoad(data.Categories[i])); if (self.loadedCategories.length >= self.maxCategories) { const loadedCategoriesData = { loadedCategories: self.loadedCategories, timestamp: new Date().getTime(), }; localStorage.setItem(window.location.hostname + '-concord-categories', JSON.stringify(loadedCategoriesData)); } } } } self.everLoadedData = true; self.loading = false; }, function (error) { self.loading = false; }); } }, created : function(){ this.apploaded = true; if (localStorage.getItem(window.location.hostname+'-concord-categories')) { const oneHourINMilliseconds = 60 * 60 * 12000; const loadedCategoriesData = localStorage.getItem(window.location.hostname+'-concord-categories'); const loadedCategoriesDataWithTimestamp = JSON.parse(loadedCategoriesData); const currentTime = new Date().getTime(); const timestamp = loadedCategoriesDataWithTimestamp.timestamp; if (timestamp && currentTime - timestamp <= oneHourINMilliseconds) { this.loadedCategories = loadedCategoriesDataWithTimestamp.loadedCategories; self.everLoadedData = true; self.loading = false; } else { // If data has expired, remove the item from localStorage and return null localStorage.removeItem(window.location.hostname+'-concord-categories'); this.loadMore(); } }else{ this.loadMore(); } }, data: dataParams } jQuery.extend(appSettings, magazineBrandsAppParams); var catSpecificSeriesApp = new Vue(appSettings); } var categorySearchItemAppParams = { el: '#searchCatPopupId6309' }; var someInitDataSearchCategoryPopup = { ajaxurl: 'https://devm.io/wp-json/fidelio/v1/get-public-data-detail' } searchCatPopup(categorySearchItemAppParams, someInitDataSearchCategoryPopup); </script> <a class="skip-link sr-only sr-only-focusable" href="#content">Skip to content</a> <nav class="d-flex flex-row justify-content-between navbar navbar-expand-md nav-bar-home-page navbar-dark sands-nav fixed-on-scroll shadow"> <div class="container-fluid px-0" > <!-- Mobile menu starts --> <div class="d-block d-xl-none"> <div class="sands-mobile-menu"> <div class="nav" onclick="openMobileNav()" aria-label="Toggle navigation"> <h2 class="navbar-brand mb-0 py-0 col-sm-auto nav-bar-new ml-0 ml-md-2"><a rel="home" title="devmio &#8211; Software Know-How">devmio &#8211; Software Know-How</a> <!-- <i class="material-icons">keyboard_arrow_down</i> --> </h2> </div> </div> </div> <div class="d-block d-xl-none d-flex"> <div class="sands-mobile-menu mr-3"> <a title="Gratismonat beginnen" href="https://devm.io/our-offers/"class="badge-danger border-0 text-white py-1 mobile-nav-item rounded font-sm-12" style=" padding: .5rem 1rem; display: inline-block;margin: 0 0 0 20px;">Test now</a> </div> <div class="sands-mobile-menu align-self-center d-flex mt-1"> <div class="nav" onclick="openMobileNav();showAndHideSearchPopup();" aria-label="Toggle navigation"> <!-- <h2 class="navbar-brand mb-0"><a rel="home" title="devmio &#8211; Software Know-How">devmio &#8211; Software Know-How</h2></a> --> <div class="animated-icon1" > <span></span><span></span><span></span> </div> </div> </div> </div> <!-- Mobile menu ends --> <style> .woocommerce button.button.alt{ color: #fff !important; background-color: #34046E !important; border-color: #34046E; } .woocommerce div.product p.price, .woocommerce div.product span.price{ color:#ff6f09; } </style> <div id="mySidenav" class="sidenav d-xl-none"><ul id="mobile_menu" class="d-xl-none mob-nav-dropdown-menu first-nav-element-open"><div class="d-flex justify-content-between"><a href="/" class="my-auto"><img src="/wp-content/themes/understrap-child/src/images/Devmio_New_logo.svg?x74914" ></a><a href="javascript:void(0)" class="closebtn closebtn--mob" onclick="closeMobileNav()" style="font-size:3rem; font-weight:100;">&times;</a></div><li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-2142" class="nav-link first-nav-element-open menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children dropdown menu-item-2142 nav-item"><a title="Products" href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="dropdown-toggle nav-link nav-bar-text" id="menu-item-dropdown-2142">Products</a> <ul class="dropdown-menu" aria-labelledby="menu-item-dropdown-2142" role="menu"> <li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-2146" class="nav-item nav-link dropdown-item navbar-nav textColorSubmenu menu-item menu-item-type-post_type menu-item-object-page menu-item-2146 nav-item"><a title="For Individuals" href="https://devm.io/fullstack-access/" class="dropdown-item">For Individuals</a></li> <li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-20852" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20852 nav-item"><a title="For Teams" href="https://devm.io/elevate/" class="dropdown-item">For Teams</a></li> <li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-2143" class="kiosk-app-link nav-item nav-link dropdown-item navbar-nav textColorSubmenu menu-item menu-item-type-custom menu-item-object-custom menu-item-2143 nav-item"><a title="Download app" href="#" class="dropdown-item">Download app</a></li> </ul> </li> <li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-2150" class="nav-link dropdownArrow menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children dropdown menu-item-2150 nav-item"><a title="Products" href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="dropdown-toggle nav-link nav-bar-text" id="menu-item-dropdown-2150">Products</a> <ul class="dropdown-menu" aria-labelledby="menu-item-dropdown-2150" role="menu"> <li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-2151" class="nav-item nav-link dropdown-item navbar-nav textColorSubmenu menu-item menu-item-type-post_type menu-item-object-page menu-item-2151 nav-item"><a title="Live Events" href="https://devm.io/live-events/" class="dropdown-item">Live Events</a></li> <li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-20850" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20850 nav-item"><a title="Conferences" href="https://devm.io/live-events/conferences/" class="dropdown-item">Conferences</a></li> <li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-2154" class="nav-item nav-link dropdown-item navbar-nav textColorSubmenu menu-item menu-item-type-custom menu-item-object-custom menu-item-2154 nav-item"><a title="Magazines and Specials" href="/magazines/" class="dropdown-item">Magazines and Specials</a></li> </ul> </li> <li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-2155" class="nav-link dropdownArrow menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children dropdown menu-item-2155 nav-item"><a title="Features &amp; Services" href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="dropdown-toggle nav-link nav-bar-text" id="menu-item-dropdown-2155">Features &#038; Services</a> <ul class="dropdown-menu" aria-labelledby="menu-item-dropdown-2155" role="menu"> <li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-20849" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20849 nav-item"><a title="devintelligence" href="https://devm.io/intelligence/" class="dropdown-item">devintelligence</a></li> <li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-12903" class="nav-item nav-link dropdown-item navbar-nav textColorSubmenu menu-item menu-item-type-post_type menu-item-object-page menu-item-12903 nav-item"><a title="FAQ" href="https://devm.io/faq/" class="dropdown-item">FAQ</a></li> <li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-12902" class="nav-item nav-link dropdown-item navbar-nav textColorSubmenu menu-item menu-item-type-post_type menu-item-object-page menu-item-12902 nav-item"><a title="Our App" href="https://devm.io/app/" class="dropdown-item">Our App</a></li> <li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-2159" class="nav-item nav-link dropdown-item navbar-nav textColorSubmenu menu-item menu-item-type-post_type menu-item-object-page menu-item-2159 nav-item"><a title="Contact" href="https://devm.io/contact/" class="dropdown-item">Contact</a></li> <li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-2153" class="nav-item nav-link dropdown-item navbar-nav textColorSubmenu menu-item menu-item-type-post_type menu-item-object-page menu-item-2153 nav-item"><a title="Blog" href="https://devm.io/blog/" class="dropdown-item">Blog</a></li> </ul> </li> <li class="mobile-logged-in-user-invisible nav-item nav-link"><a class="nav-link" href="https://devm.io/wp-login.php?action=logout&amp;_wpnonce=e515ec4af3">Logout</a></li><li class="mobile-non-logged-in-user-invisible nav-item nav-link"><a class="nav-link" href="https://devm.io/login">Login</a></li><li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-996" class="logged-in-user-invisible rounded sands-nav-login menu-item menu-item-type-post_type menu-item-object-page menu-item-1000 nav-item my-auto"> <a href="https://devm.io/reader/" class="nav-link px-2 text-transform--none">Login</a> </li><li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-995" class="has-admin-user-invisible d-none d-md-block sands-menu-free rounded sands-nav-free menu-item menu-item-type-post_type menu-item-object-page menu-item-999 nav-item my-auto "> <a href="https://devm.io/our-offers/" class="nav-link px-2">Test now</a> </li><li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-994" class="had-sub-user-invisible d-none d-md-block sands-menu-free rounded sands-nav-free menu-item menu-item-type-post_type menu-item-object-page menu-item-998 nav-item my-auto "> <a href="https://devm.io/our-offers/" class="nav-link px-2">Reactivate Subscription</a> </li><li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-1000" class="has-not-sub-user-invisible d-none d-md-block sands-menu-free rounded sands-nav-free menu-item menu-item-type-post_type menu-item-object-page menu-item-999 nav-item my-auto "> <a href="https://devm.io/our-offers/" class="nav-link px-2">Test now</a> </li><li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-999" class="non-logged-in-user-invisible border border-primary rounded menu-item menu-item-type-post_type menu-item-object-page menu-item-982 nav-item my-auto"> <a href="https://devm.io/login" class="nav-link px-3 font-weight-bolder text-capitalize text-primary">Login</a> </li><li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-1000" class="non-logged-in-user-invisible badge-danger sands-menu-free rounded sands-nav-free menu-item menu-item-type-post_type menu-item-object-page menu-item-981 nav-item my-auto"> <a href="https://devm.io/our-offers/" class="nav-link px-3 text-white text-transform--none">Test now</a> </li></ul></div> <h2 class="navbar-brand mb-0 d-none d-xl-block col-sm-auto mr-0 py-0 pt-2 nav-bar-new ml-2"><a rel="home" href="https://devm.io/" title="devmio &#8211; Software Know-How" itemprop="url">devmio &#8211; Software Know-How</a></h2> <!-- end custom logo --> <!-- The WordPress Menu goes here --> <div id="navbarNavDropdown" class="collapse d-none d-xl-block menu-fidelio"><ul id="main-second-menu" class="navbar-nav ml-auto d-xl-flex flex-sm-row float-right main-second-menu"><li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-18114" class="nav-cursor-default menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children dropdown menu-item-18114 nav-item"><a title="Solutions" href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="dropdown-toggle nav-link nav-bar-text" id="menu-item-dropdown-18114">Solutions</a> <ul class="dropdown-menu" aria-labelledby="menu-item-dropdown-18114" role="menu"> <li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-1228" class="nav-cursor-pointer menu-item menu-item-type-post_type menu-item-object-page menu-item-1228 nav-item"><a title="For Individuals - Fullstack Access" href="https://devm.io/fullstack-access/" class="dropdown-item">For Individuals &#8211; Fullstack Access</a></li> <li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-18207" class="nav-cursor-pointer menu-item menu-item-type-post_type menu-item-object-page menu-item-18207 nav-item"><a title="For Teams - Fullstack Elevate" href="https://devm.io/elevate/" class="dropdown-item">For Teams &#8211; Fullstack Elevate</a></li> <li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-18118" class="nav-cursor-pointer menu-item menu-item-type-post_type menu-item-object-page menu-item-18118 nav-item"><a title="For Students - Conference Deals" href="https://devm.io/students/" class="dropdown-item">For Students &#8211; Conference Deals</a></li> <li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-18119" class="nav-cursor-pointer menu-item menu-item-type-post_type menu-item-object-page menu-item-18119 nav-item"><a title="For Partners - Event Support" href="https://devm.io/event-partnerships/" class="dropdown-item">For Partners &#8211; Event Support</a></li> </ul> </li> <li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-18115" class="nav-cursor-default menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children dropdown menu-item-18115 nav-item"><a title="Products" href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="dropdown-toggle nav-link nav-bar-text" id="menu-item-dropdown-18115">Products</a> <ul class="dropdown-menu" aria-labelledby="menu-item-dropdown-18115" role="menu"> <li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-1231" class="nav-cursor-pointer menu-item menu-item-type-custom menu-item-object-custom menu-item-1231 nav-item"><a title="Magazines and Specials" href="/magazines" class="dropdown-item">Magazines and Specials</a></li> <li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-1232" class="nav-cursor-pointer menu-item menu-item-type-post_type menu-item-object-page menu-item-1232 nav-item"><a title="Live Events" href="https://devm.io/live-events/" class="dropdown-item">Live Events</a></li> <li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-18116" class="nav-cursor-pointer menu-item menu-item-type-custom menu-item-object-custom menu-item-18116 nav-item"><a title="Conferences - Add-on" href="https://devm.io/live-events/conferences/" class="dropdown-item">Conferences &#8211; Add-on</a></li> </ul> </li> <li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-1230" class="nav-cursor-default menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children dropdown menu-item-1230 nav-item"><a title="Features &amp; Services" href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="dropdown-toggle nav-link nav-bar-text" id="menu-item-dropdown-1230">Features &#038; Services</a> <ul class="dropdown-menu" aria-labelledby="menu-item-dropdown-1230" role="menu"> <li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-20848" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20848 nav-item"><a title="devintelligence" href="https://devm.io/intelligence/" class="dropdown-item">devintelligence</a></li> <li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-18112" class="nav-cursor-pointer menu-item menu-item-type-post_type menu-item-object-page menu-item-18112 nav-item"><a title="Experts" href="https://devm.io/experts/" class="dropdown-item">Experts</a></li> <li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-18113" class="nav-cursor-pointer menu-item menu-item-type-post_type menu-item-object-page menu-item-18113 nav-item"><a title="Insights" href="https://devm.io/insights/" class="dropdown-item">Insights</a></li> <li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-12900" class="nav-cursor-pointer menu-item menu-item-type-post_type menu-item-object-page menu-item-12900 nav-item"><a title="Mobile App" href="https://devm.io/app/" class="dropdown-item">Mobile App</a></li> <li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-1234" class="blog-navitem nav-cursor-pointer menu-item menu-item-type-post_type menu-item-object-page menu-item-1234 nav-item"><a title="Blog" href="https://devm.io/blog/" class="dropdown-item">Blog</a></li> </ul> </li> </ul></div><div class="cursorPointer d-xl-block d-none show-search-popup show-search-popup-lens-icon"><img src="/wp-content/themes/understrap-child/fidelio-templates/images/searchPurple1.svg?x74914" alt="search"></div><div id="navbarNavDropdown" class="col d-none d-xl-block global-main-menu"><ul id="main-menu" class="navbar-nav ml-auto d-xl-flex flex-sm-row float-right"><li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-996" class="logged-in-user-invisible rounded sands-nav-login menu-item menu-item-type-post_type menu-item-object-page menu-item-1000 nav-item my-auto"> <a href="https://devm.io/reader/" class="nav-link px-2 text-transform--none">Login</a> </li><li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-995" class="has-admin-user-invisible d-none d-md-block sands-menu-free rounded sands-nav-free menu-item menu-item-type-post_type menu-item-object-page menu-item-999 nav-item my-auto "> <a href="https://devm.io/our-offers/" class="nav-link px-2">Test now</a> </li><li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-994" class="had-sub-user-invisible d-none d-md-block sands-menu-free rounded sands-nav-free menu-item menu-item-type-post_type menu-item-object-page menu-item-998 nav-item my-auto "> <a href="https://devm.io/our-offers/" class="nav-link px-2">Reactivate Subscription</a> </li><li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-1000" class="has-not-sub-user-invisible d-none d-md-block sands-menu-free rounded sands-nav-free menu-item menu-item-type-post_type menu-item-object-page menu-item-999 nav-item my-auto "> <a href="https://devm.io/our-offers/" class="nav-link px-2">Test now</a> </li><li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-999" class="non-logged-in-user-invisible border border-primary rounded menu-item menu-item-type-post_type menu-item-object-page menu-item-982 nav-item my-auto"> <a href="https://devm.io/login" class="nav-link px-3 font-weight-bolder text-capitalize text-primary">Login</a> </li><li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement" id="menu-item-1000" class="non-logged-in-user-invisible badge-danger sands-menu-free rounded sands-nav-free menu-item menu-item-type-post_type menu-item-object-page menu-item-981 nav-item my-auto"> <a href="https://devm.io/our-offers/" class="nav-link px-3 text-white text-transform--none">Test now</a> </li></ul></div> </div><!-- .container --> </nav><!-- .site-navigation --> </div><!-- #wrapper-navbar end --> <!-- Sticky alert starts --> <!-- Banner for marketing campign starts --> <!-- Banner for marketing campign ends --> <main class="main"> <script> function openMobileNav() { document.getElementById("mySidenav").style.width = "100%"; } function closeMobileNav() { document.getElementById("mySidenav").style.width = "0"; } document.addEventListener("DOMContentLoaded", function () { function updateDropdownClass() { let menuItems = document.querySelectorAll(".nav-link.dropdown"); // Select all dropdown menu items menuItems.forEach((menuItem) => { if (window.innerWidth <= 991) { menuItem.classList.remove("dropdown"); } else { menuItem.classList.add("dropdown"); // Add it back when resizing to desktop } }); } // Run the function on load updateDropdownClass(); // Run the function when resizing the window window.addEventListener("resize", updateDropdownClass); }); </script> <style> .sidenav ul{ padding-inline-start: 0px !important; text-align:left; } .sidenav { height: 100%; width: 0; position: fixed; z-index: 1; top: 0; left: initial; right: 0; background-color: white; overflow-x: hidden; transition: 0.5s; text-align:center; } .mob-nav-dropdown-menu > li > ul.dropdown-menu.show{ position: inherit; border: none; top: 0; left: 0; text-align: center; float: none; background-color: transparent; } .closebtn--mob{ color: #007d8d !important; } li .textColorSubmenu a{ color: #007d8d; text-align: center; } li.dropdownArrow a.dropdown-toggle{ background-image: url(/wp-content/themes/understrap-child/reader-web-app-angular/assets/images/Chevron_Down.svg) ; background-repeat: no-repeat; background-position: 95% 50%; } #mobile_menu li.dropdownArrow.show a.dropdown-toggle{ background-image: url(/wp-content/themes/understrap-child/reader-web-app-angular/assets/images/Chevron_Up.svg) ; } .searchInsideMobileNavbar .sands-popup-search-form,.searchInsideMobileNavbar .sands-popup-search-form .form-control:focus { -webkit-box-shadow: 0 0 0 0.1rem #ddd; box-shadow: 0 0 0 0.1rem #b4b4b4; } .searchInsideMobileNavbar .sands-search-botton{ background-image: url(/wp-content/themes/understrap-child/fidelio-templates/images/lenseGrey.svg); } .sidenav a { text-decoration: none; font-size: 20px; color: black; display: block; transition: 0.3s; } .sidenav hr{ color: #007d8d; width:95vw; } @media screen and (max-height: 450px) { .sidenav {padding-top: 15px;} .sidenav a {font-size: 18px;} } [aria-expanded="true"] .arrowDown, [aria-expanded="false"] .arrowUp { display:none; } .text-sm { font-size: 13px; } @media only screen and (max-width: 768px) { .text-sm { font-size: 10px; } } </style> <script> window.concordBackendURL = "https://concord.sandsmedia.com/graphql"; </script> <script type="text/javascript"> jQuery('.mobile-free-article-ads').removeClass('d-none'); </script> <script type="text/javascript"> jQuery('.mobile-free-articles-ads').removeClass('d-none'); </script> <div class="article-detail-center d-xl-flex mx-auto" style="max-width:1440px;"><div class="d-none d-xl-block left-ads col-auto pr-0 freeArticleLeft"><aside id="custom_html-23" class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><!-- /21339274/devmio-blog-fireplace-left --> <div id='div-gpt-ad-1655729295261-0' style='min-width: 120px; min-height: 600px; width: 120px;'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1655729295261-0'); }); </script> </div> </div></aside></div><div class="col px-0"><div class="d-none d-xl-block top-ads col-auto px-0 text-center"><aside id="custom_html-22" class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><!-- /21339274/devmio-blog-fireplace-top --> <div id='div-gpt-ad-1655729707129-0' class="resize-image-in-iframe" style=' min-height: 110px; margin-bottom:15px;'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1655729707129-0'); }); </script> </div> <style> .resize-image-in-iframe iframe{ width: 100%; } .resize-image-in-iframe iframe img{ max-width: 100%; } </style></div></aside></div><div class="container"></div> <div class="main-article-detail-container invisibleviewapp articleDetailAppID6140" id="articleDetailAppID6140"> <div v-if="!loading" class="container v-cloak--hidden d-none" v-bind:class="{'d-block':!loading}" v-clock> <div v-if="loadedArticle.teaserImage && loadedArticle.teaserImage.xxxx" class="article-detail-header d-none d-md-block" v-bind:style="{backgroundImage: 'url(' + loadedArticle.teaserImage.xxxx + ')', backgroundPositionX: 'center', backgroundSize: 'cover'}" style="padding-top: 10rem;"> <div class="bg-white col-md-8 epubhtml offset-md-2 sands-paywall-content"> <div v-if="loadedArticle.brand && loadedArticle.brand.logo && loadedArticle.brand.logo.xx" class="brand-logo paywall-content-issue-link d-flex flex-row flex-wrap mb-2"> <a v-if="loadedArticle.brand.relUrl" :href="loadedArticle.brand.relUrl"> <img :src="loadedArticle.brand.logo.xx" :alt="loadedArticle.brand.name" style="max-width: 200px; min-height:80px;"> </a> <img v-else :src="loadedArticle.brand.logo.xx" :alt="loadedArticle.brand.name" style="max-width: 200px; min-height:80px;"> </div> <div v-if="loadedArticle.subtitle" class="article-subtitle font-weight-bold mb-4 paywall-content-subtitle"> <p class="v-cloak--hidden">{{loadedArticle.subtitle}}</p> </div> <div v-if="loadedArticle.name" v-bind:class="{ 'pb-lg-0 pb-md-0': loadedArticle.isFree, 'pb-lg-4 pb-md-3': !loadedArticle.isFree}" class="article-title"> <h1 class="mb-3 paywall-content-title font-weight-bolder">{{loadedArticle.name}}</h1> </div> <div class="pb-2"> <!-- v-if="loadedArticle.isFree" --> <div v-if="getFilteredCategories && getFilteredCategories.length" class="d-flex flex-wrap justify-content-between"> <div class="d-flex flex-wrap"> <div v-for="category in getFilteredCategories" class="py-1 mr-3"> <a v-if="category.slug" :href="'/'+ category.slug" class="px-2 font-weight-bold category-row-border-color" style="font-family: 'Open Sans',sans-serif;"> <span v-if="category.name">{{category.name}}</span> </a> </div> </div> <div> <div v-if="loadedArticle.brand && loadedArticle.brand.slug && loadedArticle.brand.slug !== 'jaxenter' && loadedArticle.brand.slug !== 'devmio' && loadedArticle.brand.slug !== 'entwickler' && loadedArticle.issue && loadedArticle.issue.designation" class="paywall-content-author"> <a v-if="loadedArticle.issue.relUrl" :href="loadedArticle.issue.relUrl">Issues: {{loadedArticle.issue.designation}}</a> <span v-else>Issues: {{loadedArticle.issue.designation}}</span> </div> <div v-else-if="loadedArticle.publishedAt" class="font-weight-bold paywall-content-author"> <p>{{loadedArticle.publishedAt | daymonthyear}}</p> </div> </div> </div> </div> </div> </div> <div class="vue-free-article2" v-if="loadedArticle.isFree"> </div> <div class="article-detail-body" v-bind:class="{'vue-free-article':loadedArticle.isFree}" v-clock> <div class="d-md-none bg-white epubhtml sands-paywall-content"> <div v-if="loadedArticle.teaserImage && loadedArticle.teaserImage.xxxx" class="d-md-none "> <img class="w-100" style="min-height: 150px;" :src="loadedArticle.teaserImage.xxxx" :alt="loadedArticle.name"> </div> <div v-if="loadedArticle.brand && loadedArticle.brand.logo && loadedArticle.brand.logo.xx" class="brand-logo paywall-content-issue-link d-flex flex-row flex-wrap mb-2"> <a v-if="loadedArticle.brand.relUrl" :href="loadedArticle.brand.relUrl"> <img :src="loadedArticle.brand.logo.xx" :alt="loadedArticle.brand.name" style="max-width: 250px; min-height: 99px;" v-clock> </a> <img v-else :src="loadedArticle.brand.logo.xx" :alt="loadedArticle.brand.name" style="max-width: 250px; min-height: 99px;" v-clock> </div> <div v-if="loadedArticle.subtitle" class="article-subtitle font-weight-bold mb-4 paywall-content-subtitle"> <p v-clock>{{loadedArticle.subtitle}}</p> </div> <div v-if="loadedArticle.name" class="article-title pb-md-2"> <h1 class="mb-3 paywall-content-title font-weight-bolder" v-clock>{{loadedArticle.name}}</h1> </div> <div class="pb-2" v-if="loadedArticle.isFree"> <div v-if="getFilteredCategories && getFilteredCategories.length" class="d-flex flex-wrap justify-content-between"> <div class="d-flex flex-wrap"> <div v-for="category in getFilteredCategories" class="py-1 mr-3"> <a v-if="category.slug" :href="'/'+ category.slug" target="_blank" class="px-2 font-weight-bold category-row-border-color" style="font-family: 'Open Sans',sans-serif;"> <span v-if="category.name">{{category.name}}</span> </a> </div> </div> <div> <div v-if="loadedArticle.brand && loadedArticle.brand.slug && loadedArticle.brand.slug !== 'jaxenter' && loadedArticle.brand.slug !== 'devmio' && loadedArticle.brand.slug !== 'entwickler' && loadedArticle.issue && loadedArticle.issue.designation" class="paywall-content-author"> <a v-if="loadedArticle.issue.relUrl" :href="loadedArticle.issue.relUrl">Issues: {{loadedArticle.issue.designation}}</a> <span v-else>Issues: {{loadedArticle.issue.designation}}</span> </div> <div v-else-if="loadedArticle.publishedAt" class="font-weight-bold paywall-content-author"> <p>{{loadedArticle.publishedAt | daymonthyear}}</p> </div> </div> </div> </div> </div> <div class="align-items-center bg-white col-md-8 d-md-flex epubhtml justify-content-between my-3 offset-md-2 flex-row px-md-3 px-0 sands-paywall-content"> <div class="align-items-center article-detail-authors pl-0 d-flex flex-wrap"> <div class="align-items-center d-flex mb-3 mr-3" v-for="author in loadedArticle.authors"> <a v-if="author.relUrl && !author.isLegacy" target="_blank" :href="author.relUrl"> <img style="width: 60px;min-height: 60px;" class="rounded-circle mr-1" v-if="author.avatarSquareSmall && author.avatarSquareSmall.x" :src="author.avatarSquareSmall.x" :alt="author.name" /> </a> <div class="d-flex flex-column"> <div> <a class="paywall-content-author" v-if="author.relUrl && !author.isLegacy" target="_blank" :href="author.relUrl"> {{author.name}}</a> <span class="paywall-content-author" v-else> {{author.name}}</span> </div> <div v-if="author.platformPartner && author.platformPartner.name && author.platformPartner.slug" class="align-items-center d-flex"> <img class="baloon-icon flex--basis-0" src="/wp-content/themes/understrap-child/reader-web-app-angular/assets/images/partner-icon-devmio-D.svg?x74914" alt=""> <a :href="'/partners/'+ author.platformPartner.slug" target="_blank" class="font-12 font-weight-bold m-0 white-space-nw">{{author.platformPartner.name}}</a> </div> </div> </div> </div> </div> <hr class="offset-md-2 col-md-8 px-0 vue--article-header-divider" style="border-top: 3px solid #006884;"> <div v-if="loadedArticle.paywallContent || loadedArticle.content" class="bg-white col-md-8 d-md-flex epubhtml offset-md-2 flex-column sands-paywall-content my-2"> <div class="epubhtml" v-if="!loadedArticle.isFree" v-html="changeTextAndImage(loadedArticle.paywallContent, loadedArticle.baseUrl)"></div> <div class="epubhtml" v-else v-html="changeTextAndImage(loadedArticle.content, loadedArticle.baseUrl)"></div> <div class="clear"></div> <div v-if="loadedArticle.isFree" class="author-infos"> <div class="align-items-center d-flex flex-column flex-md-row my-2 row show-nl-slider" v-for="author in loadedArticle.authors"> <div class="col-12 col-md-3"> <a v-if="author.relUrl && !author.isLegacy" :href="author.relUrl"> <img class="rounded-circle" v-if="author.avatarSquareLarge && author.avatarSquareLarge.xx" :src="author.avatarSquareLarge.xx" :alt="author.name" /> </a> <img class="rounded-circle a2" v-if="!author.relUrl && author.avatarSquareLarge && author.avatarSquareLarge.xx" :src="author.avatarSquareLarge.xx" :alt="author.name" /> </div> <div class="col-12 col-md-9"> <a class="paywall-content-author" v-if="author.relUrl && !author.isLegacy" :href="author.relUrl">{{author.name}}</a> <span v-else class="text-primary paywall-content-author"> {{author.name}}</span> <p v-if="author.bio">{{author.bio}}</p> </div> </div> </div> </div> <div v-if="loadedArticle.isFree"> <hr> <div class="pb-2"> <h3 class="pb-2 pt-2 font-weight-bolder">More articles on this topic</h3> <div v-if="relatedArticles && relatedArticles.length" class="row"> <div v-for="article of relatedArticles.slice(0,4)" class="col-lg-3 col-12 pb-3 pb-lg-0"> <div> <a :href="article.slug" class="text-dark"> <img :src="article.teaserImage.xx" alt="" class="shadow-sm rounded w-100"> <div> <h6 class="pt-4 font-weight-bold pb-1">{{article.subtitle}}</h6> <h5 class="font-weight-bolder pb-1">{{article.name}}</h5> <div v-for="anAuthor in article.authors"> <h6 class="font-weight-bold">{{anAuthor.name}}</h6> </div> </div> </a> </div> </div> </div> </div> <div class="widget-below-free-blog-articles"> <aside id="custom_html-17" class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><div class="test"> <hr class="bg-primary mt-5" style="padding-top: 2px;"> <h2 class="text-primary text-center">Start Your Journey to Software Know-How:</h2> <div class="d-flex justify-content-center my-3"> <div class="col-12 col-md-9"> <div class="bg-danger my-4 pb-1 rounded shadow"> <h2 class="h3 px-2 py-3 text-center text-white">The Fullstack Experience</h2> <div class="bg-white m-2 row"> <div class="col-12 col-lg-3 pt-3 text-center"> <!-- Logo Fullstack Membership --> <img src="https://devm.io/wp-content/uploads/2023/05/devmio_Logo_Abo_Fullstack.svg?x74914" alt="Fullstack Experience Logo" style="height: 150px; width: auto;"> </div> <div class="col-12 col-lg-9"> <ul class="custom-check py-3"> <li class="elementor-icon-list-item"> <span class="elementor-icon-list-text">Experience our online live events, exclusive and interactive.</span> </li> <li class="elementor-icon-list-item"> <span class="elementor-icon-list-text">Thousands technical articles, magazines, cheatsheet and more.</span> </li> <li class="elementor-icon-list-item"> <span class="elementor-icon-list-text">Up to 25% discount for more than 30 conferences a year with international experts.</span> </li> <li class="elementor-icon-list-item"> <span class="elementor-icon-list-text">Exclusive content from over 30+ renowned software brands.</span> </li> </ul> <h5 class="font-weight-bold mb-4"> <span class="bg-danger p-2 rounded text-white"> <a href="/fullstack-access/" class="text-white">GET STARTED</a> </span> </h5> </div> </div> </div> </div> </div> </div> </div></aside> </div> </div> <div class="sands-paywall" v-bind:class="{'d-block':!loadedArticle.isFree , 'd-none':loadedArticle.isFree}"> <hr style="border-color: transparent;"> <div class="are-you-interested" v-bind:class="{'d-block': !loadedArticle.isFree}"> <div class="d-none" v-bind:class="{'d-block':!loading}"> <div class="bg-white col-md-8 d-md-flex offset-md-2 flex-column sands-paywall-content my-2"> <div v-if="!loadedArticle.isFree" class="sands-paywall-block"> <!-- <div class="sands-paywall"></div> --> <div class="paywall-content"> <!-- hr class="col-12" style="border-top: 3px solid #006884;" --> <!-- h2 class="text-primary"></h2 --> <aside id="custom_html-17" class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><div class="test"> <hr class="bg-primary mt-5" style="padding-top: 2px;"> <h2 class="text-primary text-center">Start Your Journey to Software Know-How:</h2> <div class="d-flex justify-content-center my-3"> <div class="col-12 col-md-9"> <div class="bg-danger my-4 pb-1 rounded shadow"> <h2 class="h3 px-2 py-3 text-center text-white">The Fullstack Experience</h2> <div class="bg-white m-2 row"> <div class="col-12 col-lg-3 pt-3 text-center"> <!-- Logo Fullstack Membership --> <img src="https://devm.io/wp-content/uploads/2023/05/devmio_Logo_Abo_Fullstack.svg?x74914" alt="Fullstack Experience Logo" style="height: 150px; width: auto;"> </div> <div class="col-12 col-lg-9"> <ul class="custom-check py-3"> <li class="elementor-icon-list-item"> <span class="elementor-icon-list-text">Experience our online live events, exclusive and interactive.</span> </li> <li class="elementor-icon-list-item"> <span class="elementor-icon-list-text">Thousands technical articles, magazines, cheatsheet and more.</span> </li> <li class="elementor-icon-list-item"> <span class="elementor-icon-list-text">Up to 25% discount for more than 30 conferences a year with international experts.</span> </li> <li class="elementor-icon-list-item"> <span class="elementor-icon-list-text">Exclusive content from over 30+ renowned software brands.</span> </li> </ul> <h5 class="font-weight-bold mb-4"> <span class="bg-danger p-2 rounded text-white"> <a href="/fullstack-access/" class="text-white">GET STARTED</a> </span> </h5> </div> </div> </div> </div> </div> </div> </div></aside> <!-- <div v-if="false && brandSubscriptionTeaser && brandSubscriptionTeaser.coverFlowImage && brandSubscriptionTeaser.coverFlowImage != 'false'" class="mb-5 mt-3 p-3 sands-subscription-teaser shadow"> <div class="row"> <div class="col-12 col-md-6 col-lg-6"> <p class="text-primary">Print-Abo</p> <h4 v-if="brandSubscriptionTeaser && brandSubscriptionTeaser.headlineText" class="text-primary" v-html="brandSubscriptionTeaser.headlineText"></h4> <div v-if="brandSubscriptionTeaser && brandSubscriptionTeaser.brandPText" v-html="brandSubscriptionTeaser.brandPText"></div> </div> <div class="col-12 col-md-6 col-lg-6 justify-content-center"> <div class="row"> <div class="col-md-12 col-lg-12"> <div v-if="brandSubscriptionTeaser && brandSubscriptionTeaser.coverFlowImage && brandSubscriptionTeaser.coverFlowImage != 'false'" class="sands-subscription-teaser-cover"> <img v-if="brandSubscriptionTeaser && brandSubscriptionTeaser.coverFlowImage && brandSubscriptionTeaser.coverFlowImage != 'false'" :src="brandSubscriptionTeaser.coverFlowImage"> </div> </div> <div v-if="brandSubscriptionTeaser && brandSubscriptionTeaser.relatedProductUrl" class="col-lg-12 col-md-12 mt-2 text-md-right"> <a v-if="brandSubscriptionTeaser && brandSubscriptionTeaser.relatedProductUrl" class="btn btn-primary" role="button" :href="brandSubscriptionTeaser.relatedProductUrl" aria-pressed="true">PRINT-ABO ABSCHLIESSEN</a> </div> </div> </div> </div> </div> --> </div> </div> </div> </div> </div> <div class="pb-2 some-more-articles"> <h3 class="pb-2 pt-2 font-weight-bolder">More articles on this topic</h3> <div v-if="relatedArticles && relatedArticles.length" class="row"> <div v-for="article of relatedArticles.slice(0,4)" class="col-lg-3 col-12 pb-3 pb-lg-0"> <div> <a :href="article.slug" class="text-dark"> <img :src="article.teaserImage.xx" alt="" class="shadow-sm rounded w-100"> <div> <h6 class="pt-4 font-weight-bold pb-1">{{article.subtitle}}</h6> <h5 class="font-weight-bolder pb-1">{{article.name}}</h5> <div v-for="anAuthor in article.authors"> <h6 class="font-weight-bold">{{anAuthor.name}}</h6> </div> </div> </a> </div> </div> </div> </div> </div> </div> </div> <div v-if="loading" class="placeholder-animated-brightness"> <img class="d-none d-xl-block" style="width: 100%; opacity:0.6;" src="/wp-content/themes/understrap-child/fidelio-templates/images/devmio/1680_Article detail-vue.svg?x74914" alt="Desktop"> <img class="d-none d-md-block d-xl-none" style="width: 100%; opacity:0.6;" src="/wp-content/themes/understrap-child/fidelio-templates/images/devmio/992_Article detail-vue.svg?x74914" alt="Tablet"> <img class="d-md-none" style="width: 100%; opacity:0.6;" src="/wp-content/themes/understrap-child/fidelio-templates/images/devmio/mobile_Article detail-vue.svg?x74914" alt="Mobile"> </div> </div> <script> initArticleDetailViewApp = function(articleItemAppParams, dataPassed) { dataParams = { apploaded: false, loading: true, loadedArticle: false, brandSubscriptionTeaser: false, listOfInfoBlocks: [], listOfSponsoredInfoBlocks: [], listOfAdBlocks: [], didWeProccessedAdverts: false, ajaxurl: dataPassed.ajaxurl, relatedArticles:[], relatedArticlesLoaded: false, getCategories : [], getFilteredCategories : [] }; if (dataPassed) { jQuery.extend(dataParams, dataPassed); }; //console.log(dataParams); dataParams.articleLoadingParams = { query: 'article-detail', article_slug: dataParams.article_slug }; appSettings = { methods: { loadMore: function () { var self = this; // instance data is an observable, so we clone to send data let graphqlQueryAndVarsForArticles = { query: ` query ($article_slug:String!){ article( slug:$article_slug){ Article { _id __typename slug subtitle name baseUrl content paywallContent abstract primaryCategory { _id name slug slugEn __typename } authors { _id __typename isLegacy forename surname salutation title bio slug name avatarSquareLarge {x xx} avatarSquareSmall {x xx} platformPartner{ _id name slug } } categories{ name slug } isFree canonicalUrl seoDescription seoTitle robots updatedAt seoTitle publishedAt teaserImage {x xx xxx xxxx svg} bannerAdvert { _id type primaryCategory {name} categories {name} html baseUrl __typename } adverts { _id type html baseUrl __typename } issue{ designation slug _id __typename brand{ _id slug name __typename } } brand{ _id slug name logo{ x xx xxx} supportedApps origin __typename } } } } `, variables: { "article_slug": dataParams.article_slug } } this.loadConcordDataUsingFetch(graphqlQueryAndVarsForArticles, function (inComingData, error) { var data = inComingData?.article; if (data.Article) { if (data.Article.authors && data.Article.authors.length) { let pimpedAuthors = []; for (let authorI = 0; authorI < data.Article.authors.length; authorI++) { pimpedAuthors.push(self.processConcordObjectAfterLoad(data.Article.authors[authorI])); } data.Article.authors = pimpedAuthors; } if (data.Article.brand) { let pimpedBrand = self.processConcordObjectAfterLoad(data.Article.brand); data.Article.brand = pimpedBrand; } if (data.Article.issue) { let pimpedIssue = self.processConcordObjectAfterLoad(data.Article.issue); data.Article.issue = pimpedIssue; } if (data.Article._id && data.Article.primaryCategory && data.Article.primaryCategory._id) { self.getRelatedArticles(data.Article._id,data.Article.primaryCategory._id ); } if(data.Article.primaryCategory){ if (self.getFilteredCategories && self.getFilteredCategories.length) { let foundPrimaryCat = self.getFilteredCategories.filter((aCat) => aCat.name == data.Article.primaryCategory.name); if(!foundPrimaryCat){ self.getFilteredCategories.push(data.Article.primaryCategory); } }else{ self.getFilteredCategories.push(data.Article.primaryCategory); } } if(data.Article.categories && data.Article.categories.length){ data.Article.categories.forEach(aCategories => { let foundCat = self.getFilteredCategories.find((aCat) => aCat.name == aCategories.name); if (!foundCat) { self.getFilteredCategories.push(aCategories); } }); } if (self.getFilteredCategories && self.getFilteredCategories.length && self.getFilteredCategories.length > 5) { self.getFilteredCategories.slice(0,5); } let loadedArticle = self.processConcordObjectAfterLoad(data.Article); self.loadedArticle = loadedArticle; // schema.org support let jsonLDData = { "@context": "https://schema.org", "@type": "TechArticle", "mainEntityOfPage": { "@type": "WebPage" }, "publisher": { "@type": "Organization", "name": "devmio - Software Know-How", "logo": { "@type": "ImageObject", "url": "https://devm.io/wp-content/themes/understrap-child/src/images/ekiosk_logo_4c.svg" } }, "headline" : loadedArticle.name, "datePublished": loadedArticle.publishedAt, "dateModified": loadedArticle.updatedAt }; if (loadedArticle.teaserImage && loadedArticle.teaserImage.xx) { jsonLDData.image = [loadedArticle.teaserImage.xx]; } if (loadedArticle.authors && loadedArticle.authors.length) { if (loadedArticle.authors[0].name) { jsonLDData.author = { "@type": "Person", "name": loadedArticle.authors[0].name }; } } if (!loadedArticle.isFree) { jsonLDData.isAccessibleForFree = false; jsonLDData.hasPart = { "@type": "WebPageElement", "isAccessibleForFree": "False", "cssSelector" : ".sands-paywall" }; } self.addJSONLDToHead(jsonLDData); /* ADVERTS */ if (data.Article.adverts && data.Article.adverts.length) { setTimeout(function () { if (data.Article.isFree && data.Article.content && data.Article.content.length) { // self.didWeProccessedAdverts = true; // console.log('isFree'); let doIhaveConfblock = false; let doIhaveInfoblock = false; let doIhaveSecInfoblock = false; let doIhaveAdblock = false; let doIhaveSecAdblock = false; let doIhaveSponsoredInfoBlocks = false; if (data.Article.bannerAdvert && data.Article.bannerAdvert.html && data.Article.bannerAdvert.type === "BANNER") { let bannerPosition = jQuery('.epubhtml .advert_banner'); data.Article.bannerAdvert.html = self.changeTextAndImage(data.Article.bannerAdvert.html, data.Article.bannerAdvert.baseUrl); bannerPosition.append(data.Article.bannerAdvert.html); } data.Article.adverts.forEach((advert)=>{ if (advert) { // CONF BLOCK if (advert.type && advert.type === "CONFBLOCK" && !doIhaveConfblock) { doIhaveConfblock = true; //console.log('in onload'); let adPoistion1Div = jQuery('.epubhtml .advert_position_1'); //console.log('in adPoistion1Div'); //console.log(adPoistion1Div); advert.html = self.changeTextAndImage(advert.html, advert.baseUrl); adPoistion1Div.append(advert.html); adPoistion1Div.addClass('float-lg-right mb-2 ml-lg-3 ml-n3 mx-md-auto'); } if (advert.type && advert.type === "SPONSOREDINFOBLOCK") { self.listOfSponsoredInfoBlocks.push(advert); // console.log('we have a SPONSOREDINFOBLOCK = ', advert); } if (advert.type && advert.type === "INFOBLOCK") { self.listOfInfoBlocks.push(advert); } if (advert.type && advert.type === "ADBLOCK") { self.listOfAdBlocks.push(advert); } // FIRST INFO BLOCK If SPONSOREDINFOBLOCK missing if(self.listOfSponsoredInfoBlocks && self.listOfSponsoredInfoBlocks.length && self.listOfSponsoredInfoBlocks[0] && !doIhaveSponsoredInfoBlocks){ doIhaveSponsoredInfoBlocks = true; let advertI = self.listOfSponsoredInfoBlocks[0]; // console.log('in onload1'); let adPoistion2Div = jQuery('.epubhtml .advert_position_2'); advertI.html = self.changeTextAndImage(advertI.html, advertI.baseUrl); adPoistion2Div.append(advertI.html); //adPoistion1Div.addClass('float-right mb-2 ml-3'); }else if (!self.listOfSponsoredInfoBlocks.length && self.listOfInfoBlocks && self.listOfInfoBlocks.length && self.listOfInfoBlocks[0] && !doIhaveInfoblock) { doIhaveInfoblock = true; let advertI = self.listOfInfoBlocks[0]; // console.log('in onload1'); let adPoistion2Div = jQuery('.epubhtml .advert_position_2'); advertI.html = self.changeTextAndImage(advertI.html, advertI.baseUrl); adPoistion2Div.append(advertI.html); //adPoistion1Div.addClass('float-right mb-2 ml-3'); } // FIRST AD BLOCK if (self.listOfAdBlocks && self.listOfAdBlocks.length && self.listOfAdBlocks[0] && !doIhaveAdblock) { doIhaveAdblock = true; let advertA = self.listOfAdBlocks[0]; // console.log('in onload2'); let adPoistion3Div = jQuery('.epubhtml .advert_position_3'); advertA.html = self.changeTextAndImage(advertA.html, advertA.baseUrl); adPoistion3Div.append(advertA.html); //adPoistion1Div.addClass('float-right mb-2 ml-3'); } // SECOND INFO BLOCK OR SECOND ADBLOCK if (self.listOfInfoBlocks && self.listOfInfoBlocks.length && self.listOfInfoBlocks[1] && !doIhaveSecInfoblock) { doIhaveSecInfoblock = true; let advert2I = self.listOfInfoBlocks[1]; // console.log('in onload3'); let adPoistion4Div = jQuery('.epubhtml .advert_position_4'); if (advert2I.html && advert2I.html.length) { advert2I.html = self.changeTextAndImage(advert2I.html, advert2I.baseUrl); adPoistion4Div.append(advert2I.html); } //adPoistion1Div.addClass('float-right mb-2 ml-3'); } else if (self.listOfAdBlocks && self.listOfAdBlocks.length && self.listOfAdBlocks[1] && !doIhaveSecAdblock) { doIhaveSecAdblock = true; let advert2A = self.listOfAdBlocks[1]; // console.log('in onload4'); let adPoistion4Div = jQuery('.epubhtml .advert_position_4'); if (advert2A.html && advert2A.html.length) { advert2A.html = self.changeTextAndImage(advert2A.html, advert2A.baseUrl); adPoistion4Div.append(advert2A.html); } //adPoistion1Div.addClass('float-right mb-2 ml-3'); } } }); } }, 250); }else{ self.didWeProccessedAdverts = true; } /* Brand depending Banner */ /* if (data.Article.issue && data.Article.issue.brand && data.Article.issue.brand._id ) { let payLoad = { query:"get_brand_detail", brandid: data.Article.issue.brand._id }; self.loadPublicDataDetail(payLoad, function(data) { if (data && data.loadedbrand) { self.brandSubscriptionTeaser = data; // console.log(self.brandSubscriptionTeaser); } }, function(error) { // console.log('ERRRRR'); }); } */ } self.everLoadedData = true; self.loading = false; }, function (error) { self.loading = false; }); }, getRelatedArticles(articleId, primaryCategoryId){ if (!this.relatedArticlesLoaded) { this.relatedArticlesLoaded = true var self = this; //console.log("we get a articleId",articleId); //console.log("we get a primaryCategoryId",primaryCategoryId); if (articleId && primaryCategoryId) { var relatedArticleQueryandVars = { query: ` query($primaryCategoryId: String!,$page:Int!, $pagesize:Int!){ articles ( PAGE_SIZE:$pagesize PAGE:$page primaryCategoryId:$primaryCategoryId SORT:{publicationOrder: -1} isInArticleStream : true isInGlobalArticleStream : true isArchetype: true ){ Articles { _id name subtitle publishedAt baseUrl teaserImage {x xx xxx xxxx} teaserCopyright publicationOrder slug authors { _id salutation title forename surname name } primaryCategory{ _id slug } } } } `, variables: { "primaryCategoryId": primaryCategoryId, "page": 1, "pagesize": 5 } } this.loadConcordDataUsingFetch(relatedArticleQueryandVars, function (relatedArticlesData, error) { var dataA = relatedArticlesData?.articles; if (dataA.Articles && dataA.Articles.length > 0) { for (let i = 0; i < dataA.Articles.length; i++) { if(dataA.Articles[i]._id != articleId){ self.relatedArticles.push(self.processConcordObjectAfterLoad(dataA.Articles[i])); } } } }, function (error) { console.log('error getting related articles', error); } ); } } } }, created : function(){ this.apploaded = true; }, mounted: function(){ this.loadMore(); }, data: dataParams } jQuery.extend(appSettings, articleItemAppParams); var catSpecificSeriesApp = new Vue(appSettings); } var articleItemAppParams = { el: '#articleDetailAppID6140' }; var someInitDataArticle = { article_slug: 'graphql-api-joffe-data', ajaxurl: 'https://devm.io/wp-json/fidelio/v1/get-public-data' } initArticleDetailViewApp(articleItemAppParams, someInitDataArticle); jQuery( document ).ready(function($) { if ($(".left-ads").length && $(".right-ads").length) { var leftWidth = $(".left-ads img").width() + 15; var rightWidth = $(".right-ads img").width() + 15; var lastScrollTop = 0; var mainHeight = 2000; var footerHeight = $("#wrapper-footer-full").outerHeight(); $(".left-ads").css({width: leftWidth + 'px'}); $(".right-ads").css({width: rightWidth + 'px'}); jQuery(window).scroll(function(event){ var naviHeight = $(".sticky-header").outerHeight(); var scrollTop = $(this).scrollTop(); mainHeight = $("main").outerHeight() - footerHeight - 320; if (scrollTop > lastScrollTop && scrollTop < mainHeight){ $(".left-ads img").css({position: 'fixed', top: naviHeight + 'px'}); $(".right-ads img").css({position: 'fixed', top: naviHeight + 'px'}); // $(".top-ads").css({position: 'fixed', top: naviHeight + 'px', zIndex: '99'}); } else { $(".left-ads, .right-ads").css({position: 'inherit'}); $(".left-ads img, .right-ads img").css({position: 'inherit', top: 'auto'}); // $(".top-ads").css({position: 'inherit', top: 'auto', zIndex: '0'}); } // lastScrollTop = scrollTop; }); } }); </script> </div><div class="d-none d-xl-block left-ads col-auto pl-0"><aside id="custom_html-26" class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><!-- /21339274/devmio-blog-fireplace-right --> <div id='div-gpt-ad-1655729625115-0' style='min-width: 120px; min-height: 600px;'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1655729625115-0'); }); </script> </div></div></aside></div></div></main> <!-- ******************* The Footer Full-width Widget Area ******************* --> <div class="wrapper hide-only-if-en-cookie " id="wrapper-footer-full"> <div class="container" id="footer-full-content" tabindex="-1"> <div class="global-top-footer-block row"> <div class="col-12 col-md-4 footer-col"><aside id="text-9" class="widget widget_text"> <div class="textwidget"><div class="row left-footer-widget"> <div class="col-10 mb-4"> <h3 style="font-weight: bold; font-size: 1.5rem;">Social</h3> </div> </div> <div> <p style="font-size: 15px;">Follow us on social media for more news and content from our experts and events. Share your personal experience with us!</p> </div> <div class="mb-5"> <p><a title="Facebook" href="https://www.facebook.com/devmio.official/" target="_blank" rel="noopener"><img decoding="async" style="margin-right: 10px;" src="https://devm.io/wp-content/uploads/2024/06/FB_Icon_2024.png?x74914" /></a><a title="Twitter" href="https://twitter.com/devmio_official" target="_blank" rel="noopener"><img decoding="async" style="margin-right: 10px;" src="https://devm.io/wp-content/uploads/2024/06/X_Ixon_2024.png?x74914" /></a><a title="LinkedIn" href="https://www.linkedin.com/company/devmio" target="_blank" rel="noopener"><img decoding="async" style="margin-right: 10px;" src="https://devm.io/wp-content/uploads/2023/10/linkedin-logo-icon-In-White-46.png?x74914" /></a><a title="Instagram" href="https://www.instagram.com/devmio_official" target="_blank" rel="noopener"><img decoding="async" src="https://devm.io/wp-content/uploads/2024/06/IG_Icon_2024.png?x74914" /></a></p> </div> </div> </aside></div> <div class="col-12 col-md-4 footer-col"><aside id="text-7" class="widget widget_text"> <div class="textwidget"><div class="mb-5"> <div class="row center-footer-widget"> <div class="col-10" style="margin-bottom: 1.5rem"> <h3 style="font-weight: bold; font-size: 1.5rem;">App</h3> </div> </div> <p style="font-size: 15px;">Access your digital knowledge base everywhere with our mobile apps.</p> <div class="align-items-baseline d-flex"> <div class=""><a href="https://apps.apple.com/us/app/devmio/id1618454378"><img decoding="async" class="app--image" src="https://devm.io/wp-content/uploads/2022/06/Download_on_the_App_Store_Badge_US-UK_RGB_blk_092917.svg?x74914" /></a></div> <div class=""> <p><a href="https://play.google.com/store/apps/details?id=com.sandsmedia.apps.android.devMio"><img decoding="async" class="app--image" style="height: 57px;" src="https://devm.io/wp-content/uploads/2022/06/google-play-badge.png?x74914" /></a></p> <p>&nbsp;</p> </div> </div> </div> </div> </aside></div> <div class="col-12 col-md-4 footer-col"><aside id="text-8" class="widget widget_text"> <div class="textwidget"><div> <div class="row right-footer-widget"> <div class="col-10 mb-4"> <h3 style="font-weight: bold; font-size: 1.5rem;">Check Out Our Offers!</h3> </div> </div> <p style="font-size: 15px;">Not convinced yet? Check out our training portfolio for free!</p> <div><a class="btn edit btn-primary" style="background-color: #ff6d05; border-color: #FF6D05; border-radius: 30px;" href="/our-offers/">Learn more</a></div> </div> </div> </aside></div> </div> <div class="ea-top-footer-block row mx-md-3 mx-lg-5"> <div class="col-12 col-md-6 col-lg-3 footer-col"></div> <div class="col-12 col-md-6 col-lg-3 footer-col"></div> <div class="col-12 col-md-12 col-lg-6 footer-col"></div> </div> </div> </div><!-- #wrapper-footer-full --> <div class="wrapper " id="wrapper-footer"> <div class="container"> <div class="row"> <div class="col-md-12"> <footer class="site-footer" id="colophon"> <div class="row d-flex justify-content-between site-info"> <div class="cr-footer-left"><ul id="menu-footer-left" class="menu navbar-nav flex-row sands-footer-menu"><li id="menu-item-79" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy menu-item-79"><a rel="privacy-policy" href="https://devm.io/privacy/">Privacy</a></li> <li id="menu-item-169" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-169"><a href="https://devm.io/terms-and-conditions/">Terms and Conditions</a></li> <li id="menu-item-81" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-81"><a href="https://devm.io/contact/">Contact</a></li> <li id="menu-item-2149" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2149"><a href="https://devm.io/faq/">FAQ</a></li> <li id="menu-item-991" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-991"><a href="https://devm.io/imprint/">Imprint</a></li> <li id="menu-item-173" class="d-md-none menu-item menu-item-type-custom menu-item-object-custom menu-item-173"><a href="https://apps.apple.com/us/app/devmio/id1618454378?platform=iphone">iOS</a></li> <li id="menu-item-174" class="d-md-none menu-item menu-item-type-custom menu-item-object-custom menu-item-174"><a href="https://play.google.com/store/apps/details?id=com.sandsmedia.apps.android.devMio">Android</a></li> </ul></div><div class="cr-footer-right"><ul id="menu-footer-right" class="menu navbar-nav flex-row sands-footer-menu"><li id="menu-item-171" class="d-none d-md-block menu-item menu-item-type-custom menu-item-object-custom menu-item-171"><a href="https://apps.apple.com/us/app/devmio/id1618454378?platform=iphone">iOS</a></li> <li id="menu-item-172" class="d-none d-md-block menu-item menu-item-type-custom menu-item-object-custom menu-item-172"><a href="https://play.google.com/store/apps/details?id=com.sandsmedia.apps.android.devMio">Android</a></li> </ul></div> </div><!-- .site-info --> </footer><!-- #colophon --> </div> <!--col end --> </div><!-- row end --> </div><!-- container end --> </div><!-- wrapper end --> </div><!-- #page we need this extra closing tag here --> <div data-elementor-type="popup" data-elementor-id="19539" class="elementor elementor-19539 elementor-location-popup" data-elementor-settings="{&quot;entrance_animation&quot;:&quot;slideInDown&quot;,&quot;exit_animation&quot;:&quot;slideInDown&quot;,&quot;exit_animation_mobile&quot;:&quot;none&quot;,&quot;entrance_animation_duration&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:0.5,&quot;sizes&quot;:[]},&quot;close_button_delay&quot;:2,&quot;avoid_multiple_popups&quot;:&quot;yes&quot;,&quot;a11y_navigation&quot;:&quot;yes&quot;,&quot;triggers&quot;:{&quot;page_load&quot;:&quot;yes&quot;,&quot;scrolling_offset&quot;:5,&quot;scrolling&quot;:&quot;yes&quot;,&quot;page_load_delay&quot;:0,&quot;scrolling_direction&quot;:&quot;down&quot;},&quot;timing&quot;:{&quot;times&quot;:&quot;yes&quot;,&quot;logged_in&quot;:&quot;yes&quot;,&quot;schedule_start_date&quot;:&quot;2024-10-22 12:00&quot;,&quot;schedule_end_date&quot;:&quot;2024-10-29 12:00&quot;,&quot;schedule&quot;:&quot;yes&quot;,&quot;logged_in_users&quot;:&quot;all&quot;,&quot;schedule_timezone&quot;:&quot;site&quot;,&quot;schedule_server_datetime&quot;:&quot;2025-04-01 08:22:51&quot;}}" data-elementor-post-type="elementor_library"> <a class="elementor-element elementor-element-1ced6685 elementor-hidden-mobile e-flex e-con-boxed e-con e-parent" data-id="1ced6685" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;,&quot;sticky&quot;:&quot;top&quot;,&quot;sticky_on&quot;:[&quot;desktop&quot;,&quot;tablet&quot;,&quot;mobile&quot;],&quot;sticky_offset&quot;:0,&quot;sticky_effects_offset&quot;:0}" href="https://devm.io/back-to-school/"> <div class="e-con-inner"> <div class="elementor-element elementor-element-5510b3c4 elementor-widget-tablet__width-initial elementor-widget__width-initial elementor-hidden-mobile elementor-widget elementor-widget-image" data-id="5510b3c4" data-element_type="widget" data-widget_type="image.default"> <div class="elementor-widget-container"> <a href="https://devm.io/live-events/gen-ai-engineering-days/"> <img loading="lazy" width="92" height="235" src="https://devm.io/wp-content/uploads/2024/09/Firefly_vector_graphic__illustrating_a_robot_having_a_great_idea_32075-removebg-preview-e1729588646716.png?x74914" class="attachment-full size-full wp-image-20146" alt="" /> </a> </div> </div> <div class="elementor-element elementor-element-c6e7298 e-con-full e-flex e-con e-child" data-id="c6e7298" data-element_type="container"> <div class="elementor-element elementor-element-53d3ae3f elementor-widget-tablet__width-inherit elementor-widget-mobile__width-inherit elementor-widget__width-inherit elementor-widget elementor-widget-text-editor" data-id="53d3ae3f" data-element_type="widget" data-widget_type="text-editor.default"> <div class="elementor-widget-container"> <p>Gen AI Engineering Days 2024</p> </div> </div> <div class="elementor-element elementor-element-7d2d95b elementor-widget-tablet__width-inherit elementor-widget-mobile__width-inherit elementor-widget__width-inherit elementor-widget elementor-widget-text-editor" data-id="7d2d95b" data-element_type="widget" data-widget_type="text-editor.default"> <div class="elementor-widget-container"> <p>Live on 29 &amp; 30. October 2024 | 13:00 &#8211; 16:30 CEST</p> </div> </div> </div> <div class="elementor-element elementor-element-152c196 elementor-widget elementor-widget-button" data-id="152c196" data-element_type="widget" data-widget_type="button.default"> <div class="elementor-widget-container"> <div class="elementor-button-wrapper"> <a class="elementor-button elementor-button-link elementor-size-sm" href="https://devm.io/live-events/gen-ai-engineering-days/"> <span class="elementor-button-content-wrapper"> <span class="elementor-button-text">Register here</span> </span> </a> </div> </div> </div> </div> </a> </div> <div id="ae385883e-2fce-47ff-ba22-637f17f83c3d" consent-skip-blocker="1" class="" data-bg="background-color: rgba(0, 0, 0, 0.180);" style="background-color: rgba(0, 0, 0, 0.180); -moz-backdrop-filter:blur(0px);-o-backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px); position:fixed;top:0;left:0;right:0;bottom:0;z-index:999999;pointer-events:all;display:none;filter:none;max-width:100vw;max-height:100vh;transform:translateZ(0);" ></div> <script type='text/javascript'> (function () { var c = document.body.className; c = c.replace(/woocommerce-no-js/, 'woocommerce-js'); document.body.className = c; })(); </script> <link rel='stylesheet' id='wc-blocks-style-css' href='https://devm.io/wp-content/plugins/woocommerce/assets/client/blocks/wc-blocks.css?x74914&amp;ver=wc-8.8.2' type='text/css' media='all' /> <script data-cfasync="false" type="text/javascript" defer src="https://devm.io/wp-content/uploads/rcb_js_uploads/f47b81f01698ba3420c11bf7277afb90/dist/1553937230.js?x74914&amp;ver=acd781034dd8ecd80716fdf80ed84917" id="real-cookie-banner-pro-blocker-js"></script> <script id="swv-js" consent-original-src-_="https://devm.io/wp-content/plugins/contact-form-7/includes/swv/js/index.js?ver=5.9.3" consent-required="3108" consent-by="services" consent-id="3109" consent-original-type-_="text/javascript" type="application/consent"></script> <script type="text/javascript" id="contact-form-7-js-extra"> /* <![CDATA[ */ var wpcf7 = {"api":{"root":"https:\/\/devm.io\/wp-json\/","namespace":"contact-form-7\/v1"},"cached":"1"}; /* ]]> */ </script> <script id="contact-form-7-js" consent-original-src-_="https://devm.io/wp-content/plugins/contact-form-7/includes/js/index.js?ver=5.9.3" consent-required="3108" consent-by="services" consent-id="3109" consent-original-type-_="text/javascript" type="application/consent"></script> <script type="text/javascript" src="https://devm.io/wp-content/plugins/sands_advanced_tickets_display/assets/js/sands_advanced_tickets_display.js?x74914&amp;ver=1.0" id="sands_advanced_tickets_display_js-js"></script> <script type="text/javascript" src="https://devm.io/wp-content/plugins/sands_advanced_tickets_display/assets/libs/jquery.bxslider/jquery.bxslider.min.js?x74914&amp;ver=v4.2.12" id="jqbxslidercssjs-js"></script> <script type="text/javascript" src="https://devm.io/wp-content/plugins/woocommerce/assets/js/sourcebuster/sourcebuster.min.js?x74914&amp;ver=8.8.2" id="sourcebuster-js-js"></script> <script type="text/javascript" id="wc-order-attribution-js-extra"> /* <![CDATA[ */ var wc_order_attribution = {"params":{"lifetime":1.0000000000000001e-5,"session":30,"ajaxurl":"https:\/\/devm.io\/wp-admin\/admin-ajax.php","prefix":"wc_order_attribution_","allowTracking":true},"fields":{"source_type":"current.typ","referrer":"current_add.rf","utm_campaign":"current.cmp","utm_source":"current.src","utm_medium":"current.mdm","utm_content":"current.cnt","utm_id":"current.id","utm_term":"current.trm","session_entry":"current_add.ep","session_start_time":"current_add.fd","session_pages":"session.pgs","session_count":"udata.vst","user_agent":"udata.uag"}}; /* ]]> */ </script> <script type="text/javascript" src="https://devm.io/wp-content/plugins/woocommerce/assets/js/frontend/order-attribution.min.js?x74914&amp;ver=8.8.2" id="wc-order-attribution-js"></script> <script type="text/javascript" id="child-understrap-scripts-js-extra"> /* <![CDATA[ */ var sands_ajax_object = {"ajaxurl":"https:\/\/devm.io\/wp-admin\/admin-ajax.php","nvalue":"56cc2c4128"}; var sands_kiosk_app_urls = {"app_url_android":"https:\/\/play.google.com\/store\/apps\/details?id=com.sandsmedia.apps.android.devMio","app_url_ios":"https:\/\/apps.apple.com\/us\/app\/devmio\/id1618454378"}; var sands_payment_page_urls = {"url_einzel_payment_page":"\/checkout\/?add-to-cart=664","url_team_payment_page":"\/product\/devmio\/fullstack-access-team\/","url_domain_payment_page":"\/teams\/","url_einzel_payment_yearly_page":"\/checkout\/?add-to-cart=688","ajaxurl":"https:\/\/devm.io\/wp-admin\/admin-ajax.php","post_id":""}; /* ]]> */ </script> <script type="text/javascript" src="https://devm.io/wp-content/themes/understrap-child/js/child-theme.min.js?x74914&amp;ver=2.11.951" id="child-understrap-scripts-js"></script> <script id="google-recaptcha-js" consent-original-src-_="https://www.google.com/recaptcha/api.js?render=6LeFBOYZAAAAAI4o5y2WDH2HRKz5zAkSrBzvuvCw&amp;ver=3.0" consent-required="3108" consent-by="services" consent-id="3109" consent-original-type-_="text/javascript" type="application/consent"></script> <script type="text/javascript" id="wpcf7-recaptcha-js-extra"> /* <![CDATA[ */ var wpcf7_recaptcha = {"sitekey":"6LeFBOYZAAAAAI4o5y2WDH2HRKz5zAkSrBzvuvCw","actions":{"homepage":"homepage","contactform":"contactform"}}; /* ]]> */ </script> <script id="wpcf7-recaptcha-js" consent-original-src-_="https://devm.io/wp-content/plugins/contact-form-7/modules/recaptcha/index.js?ver=5.9.3" consent-required="3108" consent-by="services" consent-id="3109" consent-original-type-_="text/javascript" type="application/consent"></script> <script type="text/javascript" src="https://devm.io/wp-includes/js/dist/i18n.min.js?x74914&amp;ver=5e580eb46a90c2b997e6" id="wp-i18n-js"></script> <script type="text/javascript" id="wp-i18n-js-after"> /* <![CDATA[ */ wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); /* ]]> */ </script> <script type="text/javascript" id="password-strength-meter-js-extra"> /* <![CDATA[ */ var pwsL10n = {"unknown":"Password strength unknown","short":"Very weak","bad":"Weak","good":"Medium","strong":"Strong","mismatch":"Mismatch"}; /* ]]> */ </script> <script type="text/javascript" src="https://devm.io/wp-admin/js/password-strength-meter.min.js?x74914&amp;ver=6.5.2" id="password-strength-meter-js"></script> <script type="text/javascript" id="wc-password-strength-meter-js-extra"> /* <![CDATA[ */ var wc_password_strength_meter_params = {"min_password_strength":"4","i18n_password_error":"Please enter a stronger password.","i18n_password_hint":"Hint: The password should be at least twelve characters long. To make it stronger, use upper and lower case letters, numbers, and symbols like ! \" ? $ % ^ & )."}; var wc_password_strength_meter_params = {"min_password_strength":"4","stop_checkout":"","i18n_password_error":"Please enter a stronger password.","i18n_password_hint":"Hint: The password should be at least twelve characters long. To make it stronger, use upper and lower case letters, numbers, and symbols like ! \" ? $ % ^ & )."}; /* ]]> */ </script> <script type="text/javascript" src="https://devm.io/wp-content/themes/understrap-child/src/js/password-strength-meter.min.js?x74914&amp;ver=8.8.2" id="wc-password-strength-meter-js"></script> <script type="text/javascript" src="https://cdn.onesignal.com/sdks/OneSignalSDK.js?ver=1.0.0" id="remote_sdk-js" async="async" data-wp-strategy="async"></script> <!-- Team licence information page --> <div id="visitEntwicklerKioskFurTeams" class="d-none mr-3 shadow-lg bg-white show-only-Home rounded alert fade p-0 m-0 border-0 minus--index" style="position:fixed; bottom:2%;right:0; width:320px;z-index:1023;"> <!-- <div class="rounded-top badge-danger"> <div class="d-flex flex-row text-white justify-content-between px-3 py-1"> <p class="my-auto" style="font-size: 1.17em;">Angebote f眉r Gewinner-Teams</p> <a class="cursorPointer close text-white" data-dismiss="alert" aria-label="Close" onClick="setCookie('entwicklerKioskFurTeamsCookie','true','1')"> <span id="closeTeamBanner" aria-hidden="true">&times;</span> </a> </div> </div> --> <!-- <div class="p-3 team--popup--bg-swing"> --> <!-- /wp-content/uploads/2021/03/EKiosk_21_Team_Popover_img.svg --> <!-- <p class="text-primary team--popup-text--margin"> Wir bieten <strong> Lizenz-L枚sungen f眉r Teams jeder Gr枚脽e:</strong> Finden Sie heraus, welche L枚sung am besten zu Ihnen passt. </p> --> <!-- <div class="mx-2 d-none" style="color:#00a19a;"> <div class="d-flex flex-row mb-2"> <img style="width: 50px; height: 50px;" src="/wp-content/uploads/2019/08/E_Kiosk_Firmenkunden_IP.svg?x74914" alt=""> <p class="ml-3 my-auto">Das Library-Modell:<br /> IP-Zugang</p> </div> <div class="d-flex flex-row"> <img style="width: 50px; height: 50px;" src="/wp-content/uploads/2019/08/E_Kiosk_Firmenkunden_Domain.svg?x74914" alt=""> <p class="ml-3 my-auto">Das Company-Modell:<br /> Domain-Zugang</p> </div> </div> --> <!-- <div class="mt-3 text-center"> <a id="mehrErfahrenButton" href="/firmenkunde/" class="btn btn-danger font-weight-bold w-75"> Jetzt alles 眉ber <br> Team-Lizenzen erfahren </a> </div> --> <!-- </div> --> </div> <aside id="custom_html-28" class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><div id="nlSubscriptionCookie" class="mr-3 shadow-lg bg-white rounded alert p-0 m-0 border-0 slide-out" style="position:fixed; bottom:7%;right:0; width:320px;opacity:0;z-index:9999;"> <div class="rounded-top bg-primary"> <div class="d-flex flex-row text-white justify-content-between px-3 py-1"> <p class="my-auto new-font">Subscribe our Newsletter</p> <a class="hide-nl-banner cursorPointer close text-white" data-dismiss="alert" aria-label="Close"> <!-- --> <span id="closeTeamBanner" aria-hidden="true">&times;</span> </a> </div> </div> <div class="px-3 py-2"> <!-- /wp-content/uploads/2021/03/EKiosk_21_Team_Popover_img.svg --> <script>(function() { window.mc4wp = window.mc4wp || { listeners: [], forms: { on: function(evt, cb) { window.mc4wp.listeners.push( { event : evt, callback: cb } ); } } } })(); </script><!-- Mailchimp for WordPress v4.9.12 - https://wordpress.org/plugins/mailchimp-for-wp/ --><form id="mc4wp-form-1" class="mc4wp-form mc4wp-form-987 mc4wp-ajax" method="post" data-id="987" data-name="NL on blog-free" ><div class="mc4wp-form-fields"><p class="text-primary font-weight-normal"> Sign Up: </p> <input class="w-100 p-2" type="email" name="EMAIL" placeholder="Email" required /> <input name="INTERESTS[b533214edc][]" type="hidden" value="0df6ce745a" checked="true"> <input type="hidden" name="MMERGE23" value="NLBlog"> <div class="mt-2 py-3"> <input class="bg-primary text-white border-0 py-2 px-3 rounded text-uppercase input--btn-nl" type="submit" value="Submit" /> </div></div><label style="display: none !important;">Leave this field empty if you're human: <input type="text" name="_mc4wp_honeypot" value="" tabindex="-1" autocomplete="off" /></label><input type="hidden" name="_mc4wp_timestamp" value="1743488571" /><input type="hidden" name="_mc4wp_form_id" value="987" /><input type="hidden" name="_mc4wp_form_element_id" value="mc4wp-form-1" /><div class="mc4wp-response"></div></form><!-- / Mailchimp for WordPress Plugin --> </div> </div> <style> /* Newsletter subscription slider */ .new-font{ font-family: 'Open Sans'!important; font-size: 1.15em; } /*Slide in NL sub animation*/ .slide-out{ transform: translateX(350px); -webkit-transform: translateX(350px); } .slide-in { opacity:1 !important; -webkit-transform: translateX(0); transform: translateX(0); -webkit-transition-duration: 1s; transition-duration: 1s; } </style> <script> jQuery( document ).ready( function( $ ) { console.log('js in widget'); setTimeout(() => { //click starts jQuery('.input--btn-nl').on('click', function(){ setCookieForHour('nlSubscriptionCookie','true','120'); setTimeout(() => { jQuery('#nlSubscriptionCookie').fadeOut( "slow" ); },3000); }); }, 7000); }); </script></div></aside> </body> </html> <!-- Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/ Page Caching using Disk: Enhanced Served from: devm.io @ 2025-04-01 08:22:51 by W3 Total Cache -->

Pages: 1 2 3 4 5 6 7 8 9 10