PageSourceSearch

https://barbaralicious.com/blog/

html barbaralicious.com collected 2026-10-02 05:45:23 UTC 203,594 bytes, 2,110 lines download raw bytes

1<!DOCTYPE html><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge"><link rel="pingback" href="https://barbaralicious.com/xmlrpc.php" /> <!--[if lt IE 9]> 
1<script src="https://barbaralicious.com/wp-content/themes/Divi/js/html5.js" type="text/javascript"></script>
1 <![endif]--> 
1<script type="text/javascript">document.documentElement.className = 'js';</script>
1 <link media="all" href="https://barbaralicious.com/wp-content/cache/autoptimize/css/autoptimize_88aa23a452da5dcaf701423623ed8e7d.css" rel="stylesheet"><title>Barbaralicious Blog | Barbaralicious</title><meta name="description" content="Hier findest du alle Blogbeiträge, die ich je geschrieben habe. In der Kategorie Blog sind die Posts chronologisch und nicht thematisch geordnet."/><meta name="robots" content="follow, index, max-snippet:-1, max-video-preview:-1, max-image-preview:large"/><link rel="canonical" href="https://barbaralicious.com/blog/" /><meta property="og:locale" content="de_DE" /><meta property="og:type" content="article" /><meta property="og:title" content="Barbaralicious Blog | Barbaralicious" /><meta property="og:description" content="Hier findest du alle Blogbeiträge, die ich je geschrieben habe. In der Kategorie Blog sind die Posts chronologisch und nicht thematisch geordnet." /><meta property="og:url" content="https://barbaralicious.com/blog/" /><meta property="og:site_name" content="Barbaralicious" /><meta property="article:publisher" content="https://www.facebook.com/BarbaraliciousBlog" /><meta property="og:updated_time" content="2024-09-10T11:26:34+02:00" /><meta property="og:image" content="https://barbaralicious.com/wp-content/uploads/2021/05/Barbara-Steg-Bulgarien-840x560.jpg" /><meta property="og:image:secure_url" content="https://barbaralicious.com/wp-content/uploads/2021/05/Barbara-Steg-Bulgarien-840x560.jpg" /><meta property="og:image:width" content="840" /><meta property="og:image:height" content="560" /><meta property="og:image:alt" content="Barbara Steg Bulgarienurlaub" /><meta property="og:image:type" content="image/jpeg" /><meta property="article:published_time" content="2016-08-24T11:21:56+02:00" /><meta property="article:modified_time" content="2024-09-10T11:26:34+02:00" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="Barbaralicious Blog | Barbaralicious" /><meta name="twitter:description" content="Hier findest du alle Blogbeiträge, die ich je geschrieben habe. In der Kategorie Blog sind die Posts chronologisch und nicht thematisch geordnet." /><meta name="twitter:site" content="@BBarbaralicious" /><meta name="twitter:creator" content="@BBarbaralicious" /><meta name="twitter:image" content="https://barbaralicious.com/wp-content/uploads/2021/05/Barbara-Steg-Bulgarien-840x560.jpg" /><meta name="twitter:label1" content="Lesedauer" /><meta name="twitter:data1" content="3 Minuten" /> 
1<script type="application/ld+json" class="rank-math-schema">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://barbaralicious.com/#organization","name":"Barbaralicious","sameAs":["https://www.facebook.com/BarbaraliciousBlog","https://twitter.com/BBarbaralicious"],"logo":{"@type":"ImageObject","@id":"https://barbaralicious.com/#logo","url":"https://barbaralicious.com/wp-content/uploads/2020/06/Favicon-Hummingbird.jpg","contentUrl":"https://barbaralicious.com/wp-content/uploads/2020/06/Favicon-Hummingbird.jpg","caption":"Barbaralicious","inLanguage":"de","width":"500","height":"500"}},{"@type":"WebSite","@id":"https://barbaralicious.com/#website","url":"https://barbaralicious.com","name":"Barbaralicious","publisher":{"@id":"https://barbaralicious.com/#organization"},"inLanguage":"de"},{"@type":"ImageObject","@id":"https://barbaralicious.com/wp-content/uploads/2021/05/Barbara-Steg-Bulgarien.jpg","url":"https://barbaralicious.com/wp-content/uploads/2021/05/Barbara-Steg-Bulgarien.jpg","width":"2048","height":"1365","caption":"Barbara Steg Bulgarienurlaub","inLanguage":"de"},{"@type":"BreadcrumbList","@id":"https://barbaralicious.com/blog/#breadcrumb","itemListElement":[{"@type":"ListItem","position":"1","item":{"@id":"https://barbaralicious.com","name":"Home"}},{"@type":"ListItem","position":"2","item":{"@id":"https://barbaralicious.com/blog/","name":"Barbaralicious Blog"}}]},{"@type":"WebPage","@id":"https://barbaralicious.com/blog/#webpage","url":"https://barbaralicious.com/blog/","name":"Barbaralicious Blog | Barbaralicious","datePublished":"2016-08-24T11:21:56+02:00","dateModified":"2024-09-10T11:26:34+02:00","isPartOf":{"@id":"https://barbaralicious.com/#website"},"primaryImageOfPage":{"@id":"https://barbaralicious.com/wp-content/uploads/2021/05/Barbara-Steg-Bulgarien.jpg"},"inLanguage":"de","breadcrumb":{"@id":"https://barbaralicious.com/blog/#breadcrumb"}},{"@type":"Person","@id":"https://barbaralicious.com/author/barbara/","name":"Barbara","url":"https://barbaralicious.com/author/barbara/","image":{"@type":"ImageObject","@id":"https://secure.gravatar.com/avatar/6f40e88e1bcca3b20a3c3bfaee6d7348e33cfab81d13a4204176a076b0e7ccb1?s=96&amp;d=mm&amp;r=g","url":"https://secure.gravatar.com/avatar/6f40e88e1bcca3b20a3c3bfaee6d7348e33cfab81d13a4204176a076b0e7ccb1?s=96&amp;d=mm&amp;r=g","caption":"Barbara","inLanguage":"de"},"worksFor":{"@id":"https://barbaralicious.com/#organization"}},{"@type":"Article","headline":"Barbaralicious Blog | Barbaralicious","keywords":"blog","datePublished":"2016-08-24T11:21:56+02:00","dateModified":"2024-09-10T11:26:34+02:00","author":{"@id":"https://barbaralicious.com/author/barbara/","name":"Barbara"},"publisher":{"@id":"https://barbaralicious.com/#organization"},"description":"Hier findest du alle Blogbeitr\u00e4ge, die ich je geschrieben habe. In der Kategorie Blog sind die Posts chronologisch und nicht thematisch geordnet.","name":"Barbaralicious Blog | Barbaralicious","@id":"https://barbaralicious.com/blog/#richSnippet","isPartOf":{"@id":"https://barbaralicious.com/blog/#webpage"},"image":{"@id":"https://barbaralicious.com/wp-content/uploads/2021/05/Barbara-Steg-Bulgarien.jpg"},"inLanguage":"de","mainEntityOfPage":{"@id":"https://barbaralicious.com/blog/#webpage"}}]}</script>
1 <link rel="alternate" type="application/rss+xml" title="Barbaralicious &raquo; Feed" href="https://barbaralicious.com/feed/" /><link rel="alternate" type="application/rss+xml" title="Barbaralicious &raquo; Kommentar-Feed" href="https://barbaralicious.com/comments/feed/" /><link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://barbaralicious.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fbarbaralicious.com%2Fblog%2F" /><link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://barbaralicious.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fbarbaralicious.com%2Fblog%2F&#038;format=xml" /><meta content="Divi Child v.0.1.1" name="generator"/><link rel='stylesheet' id='wtfdivi-user-css-css' href='https://barbaralicious.com/wp-content/cache/autoptimize/css/autoptimize_single_2f6ed980e2591215683b9661a133a2df.css?ver=1741110949' media='all' /> 
1<script id="divibooster_number_counter_initial_value-js-after">(function(){
2  function parseNumber(str){
3    if (typeof str !== 'string') str = String(str || '');
4    str = str.replace(/[^0-9+\-\.]/g, '');
5    var n = parseFloat(str);
6    return isNaN(n) ? 0 : n;
7  }
8  function decimalsOf(n){
9    n = (typeof n === 'number') ? n : parseNumber(n);
10    var s = String(n);
11    var p = s.split('.');
12    return p.length > 1 ? p[1].length : 0;
13  }
14  function formatNumber(n, dec){
15    if (typeof dec !== 'number') dec = 0;
16    var s = n.toFixed(dec);
17    if (parseFloat(s) === 0) return (dec>0? '0.'+Array(dec+1).join('0') : '0');
18    return s;
19  }
20  function withThousands(s, sep){
21    if (!sep) return s;
22    var parts = s.split('.');
23    parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, sep);
24    return parts.join('.');
25  }
26
27  function primeChart(wrapper, start){
28    var attempts = 0;
29    var maxAttempts = 160; // ~8s for Divi 5 (increased for late chart init)
30    var sep = wrapper.getAttribute('data-number-separator') || '';
31    var valueEl = wrapper.querySelector('.percent .percent-value');
32    // Read the target value from the data attribute if present
33    var targetAttr = valueEl ? valueEl.getAttribute('data-divibooster-target-value') : null;
34    var targetValue = targetAttr !== null ? parseNumber(targetAttr) : parseNumber(valueEl ? valueEl.textContent : '0');
35    var dec = Math.max(decimalsOf(start), decimalsOf(targetValue));
36    function tryPrime(){
37      attempts++;
38      var $ = window.jQuery;
39      if ($){
40        var $w = $(wrapper);
41        var chart = $w.data('easyPieChart');
42        if (chart && typeof chart.update === 'function'){
43          // Prime the chart to the initial value WITHOUT animation.
44          var prevAnimate = (chart.options && typeof chart.options === 'object') ? chart.options.animate : undefined;
45          try { if (chart.options) chart.options.animate = false; } catch(e) {}
46          try { chart.update(start); } catch(e) {}
47          try { if (chart.options) chart.options.animate = prevAnimate; } catch(e) {}
48
49          // Reveal the text once primed and mark as primed
50          wrapper.classList.add('dbiv-nciv-ready');
51          if (valueEl) valueEl.style.opacity = '1';
52          try { wrapper.setAttribute('data-dbiv-primed', '1'); } catch(e) {}
53          try { wrapper.__dbiv_canvasPrimed = wrapper.querySelector('canvas'); } catch(e) {}
54
55          // If we have a valid target and it's different to the start, animate to target immediately after a frame.
56          if (!isNaN(targetValue) && targetValue !== start) {
57            var animateToTarget = function(){
58              try { chart.update(targetValue); } catch(e) {}
59            };
60            if (window.requestAnimationFrame) {
61              requestAnimationFrame(function(){ setTimeout(animateToTarget, 0); });
62            } else {
63              setTimeout(animateToTarget, 0);
64            }
65          }
66          return true;
67        }
68      }
69      if (attempts < maxAttempts){
70        setTimeout(tryPrime, 50);
71      } else {
72        // Give up priming; reveal to avoid leaving content hidden. Divi may still handle animation.
73        wrapper.classList.add('dbiv-nciv-ready');
74        if (valueEl) valueEl.style.opacity = '1';
75      }
76      return false;
77    }
78    // set displayed start immediately
79    if (valueEl){
80      var s = formatNumber(start, dec);
81      valueEl.textContent = withThousands(s, sep);
82    }
83    tryPrime();
84  }
85
86  function initInstance(wrapper){
87    if (!wrapper) return;
88    var valueEl = wrapper.querySelector('.percent .percent-value');
89    if (!valueEl) return;
90    var canvasEl = wrapper.querySelector('canvas');
91    if (wrapper.__dbiv_canvasPrimed && wrapper.__dbiv_canvasPrimed === canvasEl) return;
92    var start = parseNumber(valueEl.getAttribute('data-divibooster-initial-value'));
93    if (isNaN(start)) start = 0;
94    // If the element is already showing the target value (e.g., JS ran late or Divi already animated), don't re-prime to avoid flicker.
95    var targetAttr = valueEl.getAttribute('data-divibooster-target-value');
96    var currentVal = parseNumber(valueEl.textContent);
97    if (targetAttr !== null) {
98      var targetVal = parseNumber(targetAttr);
99      if (!isNaN(targetVal) && currentVal === targetVal && wrapper.getAttribute('data-dbiv-primed') === '1') {
100        wrapper.classList.add('dbiv-nciv-ready');
101        valueEl.style.opacity = '1';
102        return;
103      }
104    }
105    // Hide during init only when feature is active for this instance.
106    valueEl.style.opacity = '0';
107    primeChart(wrapper, start);
108    wrapper.__dbiv_init = true;
109  }
110
111  function initAll(root){
112    root = root || document;
113    var nodes = root.querySelectorAll('.dbiv-nciv');
114    nodes.forEach(function(n){ initInstance(n); });
115  }
116
117  if (document.readyState === 'loading'){
118    document.addEventListener('DOMContentLoaded', function(){ initAll(document); });
119  } else {
120    initAll(document);
121  }
122
123  if (window.MutationObserver){
124    var mo = new MutationObserver(function(muts){
125      muts.forEach(function(m){
126        if (m.type === 'childList'){
127          m.addedNodes && m.addedNodes.forEach(function(node){
128            if (node.nodeType === 1){
129              if (node.classList && node.classList.contains('dbiv-nciv')){
130                initInstance(node);
131              }
132              var inner = node.querySelectorAll ? node.querySelectorAll('.dbiv-nciv') : [];
133              inner.forEach(function(n){ initInstance(n); });
134            }
135          });
136        }
137      });
138    });
139    mo.observe(document.documentElement, {childList: true, subtree: true});
140  }
141})();
142//# sourceURL=divibooster_number_counter_initial_value-js-after</script>
142 
142<script id="jquery-core-js" src="https://barbaralicious.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
142 
142<script id="jquery-js-after">jQuery(document).ready(function($) {
143            $("#accept-terms").on("change", function() {
144                if ($(this).is(":checked")) {
145                    $("#payment-link").addClass("enabled");
146                    $("#payment-link button").css({
147                        "background": "transparent",
148                        "color": "#2551ff",
149                        "border-color": "#2551ff",
150                        "cursor": "pointer"
151                    });
152                    $("#payment-link").css("pointer-events", "auto");
153                } else {
154                    $("#payment-link").removeClass("enabled");
155                    $("#payment-link button").css({
156                        "background": "#d3d3d3",
157                        "color": "white",
158                        "border-color": "#d3d3d3",
159                        "cursor": "not-allowed"
160                    });
161                    $("#payment-link").css("pointer-events", "none");
162                }
163            });
164        });
165    
166//# sourceURL=jquery-js-after</script>
166 
166<script id="facebook-signal-js-extra">var facebookSignalConfig = {"cookieName":"wc_facebook_signals_state","ajaxUrl":"https://barbaralicious.com/wp-admin/admin-ajax.php","signalsAction":"fbpix_set_pixel_signals","signalsNonce":"3ed3efe4f8"};
167//# sourceURL=facebook-signal-js-extra</script>
167 <link rel="https://api.w.org/" href="https://barbaralicious.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://barbaralicious.com/wp-json/wp/v2/pages/3158" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://barbaralicious.com/xmlrpc.php?rsd" /><meta name="generator" content="WordPress 7.1.2" /><link rel='shortlink' href='https://barbaralicious.com/?p=3158' /> 
167<script data-name="dbdb-head-js"></script>
167 
167<script>window.applySliderCounterSeparator = window.applySliderCounterSeparator || function(){ /* stub until plugin JS loads */ };</script>
167 
167<script>jQuery(function($) {
168                                if ($('#top-header .socicon-tiktok').length === 0) {
169                        $('#top-header .et-social-icons').append("<li class=\"et-social-icon\"><a href=\"https:\/\/www.tiktok.com\/@barbaralicious\" class=\"icon socicon socicon-tiktok\" alt=\"TikTok\" aria-label=\"TikTok\"><span>TikTok<\/span><\/a><\/li>");
170                        $('#top-header .et-extra-social-icons').append("<li class=\"et-extra-social-icon\"><a href=\"https:\/\/www.tiktok.com\/@barbaralicious\" class=\"et-extra-icon et-extra-icon-background-hover socicon socicon-tiktok\"><\/a><\/li>");
171                    }
172                    if ($('#footer-bottom .socicon-tiktok').length === 0) {
173                        $('#footer-bottom .et-social-icons').append("<li class=\"et-social-icon\"><a href=\"https:\/\/www.tiktok.com\/@barbaralicious\" class=\"icon socicon socicon-tiktok\" alt=\"TikTok\" aria-label=\"TikTok\"><span>TikTok<\/span><\/a><\/li>");
174                        $('#footer-bottom .et-extra-social-icons').append("<li class=\"et-extra-social-icon\"><a href=\"https:\/\/www.tiktok.com\/@barbaralicious\" class=\"et-extra-icon et-extra-icon-background-hover socicon socicon-tiktok\"><\/a><\/li>");
175                    }
176                    if ($('.et_slide_in_menu_container .socicon-tiktok').length === 0) {
177                        $('.et_slide_in_menu_container .et-social-icons').append("<li class=\"et-social-icon\"><a href=\"https:\/\/www.tiktok.com\/@barbaralicious\" class=\"icon socicon socicon-tiktok\" alt=\"TikTok\" aria-label=\"TikTok\"><span>TikTok<\/span><\/a><\/li>");
178                        $('.et_slide_in_menu_container .et-extra-social-icons').append("<li class=\"et-extra-social-icon\"><a href=\"https:\/\/www.tiktok.com\/@barbaralicious\" class=\"et-extra-icon et-extra-icon-background-hover socicon socicon-tiktok\"><\/a><\/li>");
179                    }
180                    });</script>
180 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />  
180<script type='text/javascript'>!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
181n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
182n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
183t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
184document,'script','https://connect.facebook.net/en_US/fbevents.js');</script>
184  
184<script type='text/javascript'>FacebookSignal.init({"held":false,"ajaxUrl":"https:\/\/barbaralicious.com\/wp-admin\/admin-ajax.php","releaseAction":"fbpix_release_signals","pixelId":"306205891835858","attribution":{},"capig":"1"});FacebookSignal.initPixel("306205891835858",{},{"agent":"wordpress_0-7.1.2-5.2.2","includeCapiIntegration":true});</script>
184<script type='text/javascript'>fbq('track', 'PageView', []);</script>
184<link rel="icon" href="https://barbaralicious.com/wp-content/uploads/2015/12/cropped-Favicon-Barbaralicious-neu-32x32.png" sizes="32x32" /><link rel="icon" href="https://barbaralicious.com/wp-content/uploads/2015/12/cropped-Favicon-Barbaralicious-neu-192x192.png" sizes="192x192" /><link rel="apple-touch-icon" href="https://barbaralicious.com/wp-content/uploads/2015/12/cropped-Favicon-Barbaralicious-neu-180x180.png" /><meta name="msapplication-TileImage" content="https://barbaralicious.com/wp-content/uploads/2015/12/cropped-Favicon-Barbaralicious-neu-270x270.png" /></head><body class="wp-singular page-template-default page page-id-3158 wp-theme-Divi wp-child-theme-Divi-Child dbdb_divi_2_4_up desktop et_bloom et_pb_button_helper_class et_fullwidth_nav et_fullwidth_secondary_nav et_fixed_nav et_show_nav et_hide_fixed_logo et_hide_mobile_logo et_secondary_nav_enabled et_primary_nav_dropdown_animation_fade et_secondary_nav_dropdown_animation_fade et_header_style_centered et_pb_footer_columns3 et_cover_background et_pb_gutter et_pb_gutters3 et_pb_pagebuilder_layout et_no_sidebar et_divi_theme et-db"><div id="page-container"><div id="top-header" data-height="100" data-height-loaded="true"><div class="container clearfix"><div id="et-info"> <span id="current-location">Aktueller Aufenthaltsort: <strong>Thailand</strong></span></div><div id="et-secondary-menu"><ul class="et-social-icons"><li class="et-social-icon et-social-facebook"> <a href="https://www.facebook.com/BarbaraliciousBlog" class="icon"> <span>Facebook</span> </a></li><li class="et-social-icon et-social-twitter"> <a href="https://www.twitter.com/bbarbaralicious" class="icon"> <span>Twitter</span> </a></li><li class="et-social-icon et-social-instagram"> <a href="https://www.instagram.com/barbaralicious/" class="icon"> <span>Instagram</span> </a></li><li class="et-social-icon et-social-youtube"> <a href="https://www.youtube.com/channel/UCp9tvbdfHrpiRIlwSV4BIwQ" class="icon"> <span>YouTube</span> </a></li><li class="et-social-icon et-social-pinterest"> <a href="https://de.pinterest.com/bbarbaralicious/" class="icon"> <span>Pinterest</span> </a></li><li class="et-social-icon et-social-rss"> <a href="https://barbaralicious.com/feed/" class="icon"> <span>RSS</span> </a></li></ul></div></div></div><header id="main-header" data-height-onload="112"><div class="container clearfix et_menu_container"><div class="logo_container"> <span class="logo_helper"></span> <a href="https://barbaralicious.com/"> <img src="https://barbaralicious.com/wp-content/uploads/2024/11/Barbaralicious-Logo-Neu-klein-1.png" alt="Barbaralicious" id="logo" data-height-percentage="42" /> </a></div><div id="et-top-navigation" data-height="112" data-fixed-height="112"><nav id="top-menu-nav"><ul id="top-menu" class="nav"><li id="menu-item-37459" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home menu-item-37459"><a href="https://barbaralicious.com/">Home</a></li><li id="menu-item-37458" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-37458"><a href="https://barbaralicious.com/kostenlos/">Kostenlos</a><ul class="sub-menu"><li id="menu-item-37457" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-37457"><a href="https://barbaralicious.com/lp-starterkit/">StarterKit</a></li><li id="menu-item-37456" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-37456"><a href="https://barbaralicious.com/lp-tschuess-9-to-5-hallo-freelancing/">Tschüss 9-to-5</a></li></ul></li><li id="menu-item-389" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-389"><a href="https://barbaralicious.com/uber-mich/" title="Über mich und Barbaralicious">Über</a><ul class="sub-menu"><li id="menu-item-10182" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10182"><a href="https://barbaralicious.com/uber-mich/">Über mich</a></li><li id="menu-item-38846" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-38846"><a href="https://barbaralicious.com/meine-4-before-40-liste/">4 before 40</a></li><li id="menu-item-589" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-589"><a href="https://barbaralicious.com/meine-weltreise/" title="Barbaralicious Weltreise">Weltreise</a></li><li id="menu-item-304" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-304"><a href="https://barbaralicious.com/meine-bucket-list/" title="Barbaralicious Bucket List">Bucket List</a></li><li id="menu-item-10176" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10176"><a href="https://barbaralicious.com/newsletter/" title="Anmeldung zm Newsletter von Barbaralicious">Newsletter</a></li></ul></li><li id="menu-item-3386" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-3158 current_page_item menu-item-has-children menu-item-3386"><a href="https://barbaralicious.com/blog/" aria-current="page" title="Reiseblog für digitale Nomaden">Blog</a><ul class="sub-menu"><li id="menu-item-3319" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-3319"><a href="https://barbaralicious.com/reisen/" title="Reise um die Welt">Reisen</a><ul class="sub-menu"><li id="menu-item-3343" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-3343"><a href="https://barbaralicious.com/reisen/europa/" title="Reisen als digitaler Nomade in Europa">Europa</a><ul class="sub-menu">
184<li id="menu-item-28649" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-28649"><a href="https://barbaralicious.com/deutschland/">Deutschland</a><ul class="sub-menu"><li id="menu-item-28645" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-28645"><a href="https://barbaralicious.com/der-taunus/">Taunus</a></li><li id="menu-item-28646" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-28646"><a href="https://barbaralicious.com/der-spessart/">Spessart</a></li><li id="menu-item-28647" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-28647"><a href="https://barbaralicious.com/der-odenwald/">Odenwald</a></li><li id="menu-item-29198" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-29198"><a href="https://barbaralicious.com/die-pfalz/">Pfalz</a></li><li id="menu-item-31956" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-31956"><a href="https://barbaralicious.com/franken/">Franken</a></li><li id="menu-item-34950" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-34950"><a href="https://barbaralicious.com/die-eifel/">Eifel</a></li></ul></li><li id="menu-item-32200" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-32200"><a href="https://barbaralicious.com/oesterreich/">Österreich</a></li><li id="menu-item-28658" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-28658"><a href="https://barbaralicious.com/italien/">Italien</a></li><li id="menu-item-28685" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-28685"><a href="https://barbaralicious.com/malta/">Malta</a></li><li id="menu-item-28667" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-28667"><a href="https://barbaralicious.com/spanien/">Spanien</a></li><li id="menu-item-29192" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-29192"><a href="https://barbaralicious.com/balkan/">Balkan</a></li></ul></li><li id="menu-item-3337" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-3337"><a href="https://barbaralicious.com/reisen/asien/" title="Reisen als digitaler Nomade in Asien">Asien</a><ul class="sub-menu"><li id="menu-item-28648" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-28648"><a href="https://barbaralicious.com/thailand/">Thailand</a></li><li id="menu-item-28696" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-28696"><a href="https://barbaralicious.com/singapur/">Singapur</a></li><li id="menu-item-39381" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-39381"><a href="https://barbaralicious.com/malaysia/">Malaysia</a></li><li id="menu-item-31082" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-31082"><a href="https://barbaralicious.com/vietnam/">Vietnam</a></li></ul></li><li id="menu-item-30797" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-30797"><a href="https://barbaralicious.com/orient/">Orient</a></li><li id="menu-item-3341" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3341"><a href="https://barbaralicious.com/reisen/suedamerika/" title="Reisen als digitaler Nomade in Südamerika">Südamerika</a></li><li id="menu-item-3340" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3340"><a href="https://barbaralicious.com/reisen/mittelamerika/" title="Reisen als digitaler Nomade in Mittelamerika">Mittelamerika</a></li><li id="menu-item-3339" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3339"><a href="https://barbaralicious.com/reisen/nordamerika/" title="Reisen als digitaler Nomade in Nordamerika">Nordamerika</a></li></ul></li><li id="menu-item-10268" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10268"><a href="https://barbaralicious.com/travel-hacks/" title="Tipps fürs Reisen">Travel Hacks</a></li><li id="menu-item-25256" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-25256"><a href="https://barbaralicious.com/digitales-nomadentum/" title="Lebe und arbeite ortsunabhängig">Digitales Nomadentum</a></li><li id="menu-item-24119" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-24119"><a href="https://barbaralicious.com/rezepte/" title="Mit Barbaralicious kulinarisch um die Welt">Rezepte</a></li><li id="menu-item-3362" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3362"><a href="https://barbaralicious.com/buchtipps/" title="Lese- und Buchtipps">Bücher</a></li><li id="menu-item-10189" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10189"><a href="https://barbaralicious.com/anderes/" title="Spiele, Persönlichkeitsentwicklung &#038; mehr">Anderes</a></li></ul></li><li id="menu-item-32902" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-32902"><a href="https://barbaralicious.com/tipps/">Tipps</a><ul class="sub-menu"><li id="menu-item-32903" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-32903"><a href="https://barbaralicious.com/kreditkarten-fuer-reisende/">Kreditkarten</a></li><li id="menu-item-37973" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-37973"><a href="https://barbaralicious.com/meilen-sammeln/">Meilen sammeln</a></li><li id="menu-item-37972" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-37972"><a href="https://barbaralicious.com/mobiles-internet-fuer-unterwegs/">Mobiles Internet</a></li><li id="menu-item-6692" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6692"><a href="https://barbaralicious.com/reise-ressourcen/" title="Reise-Ressourcen für digitale Nomaden und Traveler – Alles, was du zum Reisen brauchst">Ressourcen</a></li><li id="menu-item-5722" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5722"><a href="https://barbaralicious.com/travel-gear/" title="Barbaralicious Travel Gear – Was kommt in den Rucksack digitaler Nomaden und Langzeitreisender?">Packliste</a></li><li id="menu-item-32904" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-32904"><a href="https://barbaralicious.com/geschenke-fuer-reisende/">Geschenkideen</a></li><li id="menu-item-32905" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-32905"><a href="https://barbaralicious.com/apps-zum-reisen-und-arbeiten/">Reise-Apps</a></li><li id="menu-item-32906" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-32906"><a href="https://barbaralicious.com/alleine-reisen-solo-reise/" title="Alleine reisen: Wie plane ich meine erste Solo-Reise?">Solo reisen</a></li><li id="menu-item-32907" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-32907"><a href="https://barbaralicious.com/home-office-tipps/">Home Office</a></li><li id="menu-item-32908" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-32908"><a href="https://barbaralicious.com/fitnesstipps-fuer-die-quarantaene/">Fitnesstipps</a></li><li id="menu-item-32909" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-32909"><a href="https://barbaralicious.com/gesundheit-und-psychohygiene-in-quarantaene/">Gesundheit</a></li><li id="menu-item-32910" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-32910"><a href="https://barbaralicious.com/morgenroutine/">Morgenroutine</a></li></ul></li><li id="menu-item-4317" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-4317"><a href="https://barbaralicious.com/buecher/" title="Von mir veröffentlichte Bücher">Meine Bücher</a><ul class="sub-menu"><li id="menu-item-4617" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-4617"><a href="https://barbaralicious.com/buecher/meine-weltreise/" title="Me
184ine Weltreise – Ein Traum wird wahr">Meine Weltreise</a></li><li id="menu-item-34217" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-34217"><a href="https://barbaralicious.com/meine-ratgeber/">Ratgeber</a><ul class="sub-menu"><li id="menu-item-35326" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-35326"><a href="https://barbaralicious.com/von-null-auf-selbststaendig/">Von null auf selbstständig</a></li><li id="menu-item-35302" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-35302"><a href="https://barbaralicious.com/dein-ortsunabhaengiger-arbeitsplatz/">Dein orts- unabhängiger Arbeitsplatz</a></li><li id="menu-item-34231" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-34231"><a href="https://barbaralicious.com/instagram-fuer-selbststaendige/">Instagram für Selbstständige</a></li><li id="menu-item-36382" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-36382"><a href="https://barbaralicious.com/selfpublishing-fuer-einsteiger/">Selfpublishing für Einsteiger</a></li><li id="menu-item-5362" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5362"><a href="https://barbaralicious.com/buecher/alleine-unterwegs/" title="Alleine unterwegs – Guide für Solo-Reisende &#038; alle, die es werden wollen">Alleine unterwegs</a></li><li id="menu-item-4616" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-4616"><a href="https://barbaralicious.com/buecher/reisen-fuers-schmale-portemonnaie/">Reisen fürs schmale Portemonnaie</a></li></ul></li><li id="menu-item-36112" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-36112"><a href="https://barbaralicious.com/bundles/">Bundles</a><ul class="sub-menu"><li id="menu-item-35259" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-35259"><a href="https://barbaralicious.com/instagram-bundle/">Instagram-Bundle</a></li></ul></li><li id="menu-item-34224" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-34224"><a href="https://barbaralicious.com/outdoor-guides/">Outdoor-Guides</a><ul class="sub-menu"><li id="menu-item-36133" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-36133"><a href="https://barbaralicious.com/gluecksorte-auf-sizilien/">Glücksorte auf Sizilien</a></li><li id="menu-item-37838" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-37838"><a href="https://barbaralicious.com/hessen-fuer-verliebte/">Hessen für Verliebte</a></li><li id="menu-item-29464" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-29464"><a href="https://barbaralicious.com/buecher/eskapaden-spessart-odenwald/">Eskapaden Spessart &#038; Odenwald</a></li><li id="menu-item-33405" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-33405"><a href="https://barbaralicious.com/eskapaden-in-oberfranken/">Eskapaden in Oberfranken</a></li><li id="menu-item-33647" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-33647"><a href="https://barbaralicious.com/herzstuecke-im-rhein-main-gebiet/">Herzstücke im Rhein-Main-Gebiet</a></li><li id="menu-item-36602" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-36602"><a href="https://barbaralicious.com/wanderzeit-in-der-eifel/">Wanderzeit in der Eifel</a></li><li id="menu-item-36601" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-36601"><a href="https://barbaralicious.com/48-stunden-in-deutschland/">48 Stunden in Deutschland</a></li><li id="menu-item-30992" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-30992"><a href="https://barbaralicious.com/der-fraenkische-rotwein-wanderweg-wanderfuehrer/">Der Fränkische Rotwein Wanderweg</a></li></ul></li><li id="menu-item-25879" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-25879"><a href="https://barbaralicious.com/buecher/city-guides/">City Guides</a></li><li id="menu-item-36098" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-36098"><a href="https://barbaralicious.com/malbuecher/">Malbücher</a></li><li id="menu-item-16280" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-16280"><a href="https://barbaralicious.com/buecher/reiseblogger-schreiben-ein-buch/">Reiseblogger schreiben ein Buch</a></li></ul></li><li id="menu-item-33125" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-33125"><a href="https://barbaralicious.com/onlinekurse/" title="Onlinekurse – Orts- und Zeitunabhängige Kurse">Kurse &#038; Challenges</a><ul class="sub-menu"><li id="menu-item-36881" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-36881"><a href="https://barbaralicious.com/sp-b-translator/" title="Onlinekurs B Translator – Übersetzen in die Selbstständigkeit">B Translator</a></li><li id="menu-item-36688" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-36688"><a href="https://barbaralicious.com/escape-the-office/">Escape the Office</a></li><li id="menu-item-36464" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-36464"><a href="https://barbaralicious.com/die-7-tage-insta-challenge/" title="Die 7-Tage-Insta-Ch
184allenge">Insta-Challenge</a></li><li id="menu-item-36383" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-36383"><a href="https://barbaralicious.com/die-14-tage-selfpublishing-challenge/" title="Die 14-Tage-Selfpublishing-Challenge">Selfpublishing-Challenge</a></li></ul></li><li id="menu-item-10181" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-10181"><a href="https://barbaralicious.com/services/">Services</a><ul class="sub-menu"><li id="menu-item-10178" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10178"><a href="https://barbaralicious.com/mentoring/" title="Mentoring Digitales Nomadentum Reisen Professionell Bloggen Selfpublishing">Mentoring</a></li><li id="menu-item-30639" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-30639"><a href="https://barbaralicious.com/website-erstellung-co/">Webdesign</a></li><li id="menu-item-34769" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-34769"><a href="https://barbaralicious.com/social-media/">Social Media</a></li><li id="menu-item-34775" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-34775"><a href="https://barbaralicious.com/suchmaschinenoptimierung/">SEO</a></li><li id="menu-item-14906" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-14906"><a href="https://barbaralicious.com/sprachservices/">Sprachen</a></li><li id="menu-item-10175" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10175"><a href="https://barbaralicious.com/dsgvo-beratung/" title="DSGVO-Beratung – Sicher beraten durch Datenschutzbeauftragte">Datenschutz</a></li></ul></li><li id="menu-item-25248" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-25248"><a href="https://barbaralicious.com/shop/">Shop</a></li><li id="menu-item-38386" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-38386"><a href="https://barbaralicious.com/proud-nomad-vibes-video-podcast/">Podcast</a></li></ul></nav><div id="et_top_search"> <span id="et_search_icon"></span></div><div id="et_mobile_nav_menu"><div class="mobile_nav closed"> <span class="select_page">Seite auswählen</span> <span class="mobile_menu_bar mobile_menu_bar_toggle"></span></div></div></div></div><div class="et_search_outer"><div class="container et_search_form_container"><form role="search" method="get" class="et-search-form" action="https://barbaralicious.com/"> <input type="search" class="et-search-field" placeholder="Suchen &hellip;" value="" name="s" title="Suchen nach:" /></form> <span class="et_close_search_field"></span></div></div></header><div id="et-main-area">  
184<script type="text/javascript">var _paq = window._paq || [];
185  /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
186_paq.push(['disableCookies']);
187_paq.push(['trackPageView']);
188  _paq.push(['enableLinkTracking']);
189  (function() {
190    var u="//pmatomo.barbaralicious.com/";
191    _paq.push(['setTrackerUrl', u+'matomo.php']);
192    _paq.push(['setSiteId', '1']);
193    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
194    g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
195  })();
196	// accurately measure the time spent on the last pageview of a visit
197_paq.push(['enableHeartBeatTimer']);</script>
197 
198 
198<script async defer src="https://widget.getyourguide.com/dist/pa.umd.production.min.js" data-gyg-partner-id="LFWZC3R"></script>
198  
198<script>(function (s, t, a, y, twenty, two) {
199    s.Stay22 = s.Stay22 || {};
200    s.Stay22.params = { lmaID: '699084f277a110e401fc88d6' };
201    twenty = t.createElement(a);
202    two = t.getElementsByTagName(a)[0];
203    twenty.async = 1;
204    twenty.src = y;
205    two.parentNode.insertBefore(twenty, two);
206  })(window, document, 'script', 'https://scripts.stay22.com/letmeallez.js');</script>
206 <div id="main-content"><article id="post-3158" class="post-3158 page type-page status-publish hentry"><div class="entry-content"><div class="et-l et-l--post"><div class="et_builder_inner_content"><div class="et_d4_element et_pb_section et_pb_section_0 et_section_regular section_has_divider et_pb_bottom_divider et_block_section" ><div class="et_d4_element et_pb_row et_pb_row_0 et_block_row"><div class="et_d4_element et_pb_column_4_4 et_pb_column et_pb_column_0  et_pb_css_mix_blend_mode_passthrough et-last-child et_block_column"><div class="et_pb_module et_d4_element et_pb_text et_pb_text_0  et_pb_text_align_center et_pb_bg_layout_light"><div class="et_pb_text_inner"><h1>Blog</h1><p>In dieser Kategorie findest du alle Beiträge, die ich geschrieben habe. Von Wanderungen über einzelne coole Locations oder Fotospots, an denen ich war, bis hin zu Städtetrips. Aber auch die Rezepte und Blogposts über mein Leben als digitale Nomadin. Die Posts sind thematisch ungeordnet, aber chronologisch angezeigt. Hier findest du alles, was ich in in den letzten Jahren so fabriziert habe, was ich gemacht und erlebt habe.</p><p>Viel Spaß beim Stöbern in all meinen Blogposts!</p></div></div></div></div><div class="et_pb_bottom_inside_divider et-no-transition"></div></div><div class="et_d4_element et_pb_section et_pb_section_1 et_pb_with_background et_section_regular et_block_section" ><div class="et_d4_element et_pb_row et_pb_row_1 et_block_row"><div class="et_d4_element et_pb_column_4_4 et_pb_column et_pb_column_1  et_pb_css_mix_blend_mode_passthrough et-last-child et_block_column"><div class="et_pb_module et_d4_element et_pb_blog_0 et_pb_blog_grid_wrapper et_pb_bg_layout_light"><div class="et_pb_blog_grid clearfix "><div class="et_pb_ajax_pagination_container"><div class="et_pb_salvattore_content" data-columns><article id="post-39602" class="et_pb_post clearfix et_pb_blog_item_0_0 post-39602 post type-post status-publish format-standard has-post-thumbnail hentry category-asien category-reisen-um-die-welt category-singapur"><div class="et_pb_image_container"><a href="https://barbaralicious.com/gardens-by-the-bay-sehenswuerdigkeiten-tipps-preise/" class="entry-featured-image-url"><img fetchpriority="high" decoding="async" src="https://barbaralicious.com/wp-content/uploads/2026/07/Gardens-by-the-Bay-400x250.jpg" alt="Gardens by the Bay: Sehenswürdigkeiten, Tipps &amp; Preise" class="" srcset="https://barbaralicious.com/wp-content/uploads/2026/07/Gardens-by-the-Bay.jpg 479w, https://barbaralicious.com/wp-content/uploads/2026/07/Gardens-by-the-Bay-400x250.jpg 480w " sizes="(max-width:479px) 479px, 100vw " width="400" height="250" title="Barbaralicious Blog 1"></a></div><h2 class="entry-title"> <a href="https://barbaralicious.com/gardens-by-the-bay-sehenswuerdigkeiten-tipps-preise/">Gardens by the Bay: Sehenswürdigkeiten, Tipps &amp; Preise</a></h2><p class="post-meta">von <span class="author vcard"><a href="https://barbaralicious.com/author/barbara/" title="Beiträge von Barbara" rel="author">Barbara</a></span> | <span class="published">Juli 31, 2026</span> | <a href="https://barbaralicious.com/category/asien/" rel="tag">Asien</a>, <a href="https://barbaralicious.com/category/reisen-um-die-welt/" rel="tag">Reisen</a>, <a href="https://barbaralicious.com/category/asien/singapur/" rel="tag">Singapur</a> | 0 Kommentare</p><div class="post-content"><div class="post-content-inner"><p>Singapur zieht mich jedes Mal erneut in seinen Bann. Und die Gardens by the Bay sind vielleicht das beste Beispiel dafür: Eine riesige Gartenanlage, die sich anfühlt wie aus einem Science-Fiction-Film, die aber gleichzeitig einer der schönsten und entspanntesten Orte...</p></div><a href="https://barbaralicious.com/gardens-by-the-bay-sehenswuerdigkeiten-tipps-preise/" class="more-link">mehr lesen</a></div></article><article id="post-39534" class="et_pb_post clearfix et_pb_blog_item_0_1 post-39534 post type-post status-publish format-standard has-post-thumbnail hentry category-asien category-philippinen-asien category-reisen-um-die-welt"><div class="et_pb_image_container"><a href="https://barbaralicious.com/bohol-chocolate-hills-tarsiere-manmade-forest/" class="entry-featured-image-url"><img loading="lazy" decoding="async" src="https://barbaralicious.com/wp-content/uploads/2026/07/Die-Chocolate-Hills-400x250.jpg" alt="Bohol: Chocolate Hills, Tarsiere, der Man-Made Forest &#038; Loboc River" class="" srcset="https://barbaralicious.com/wp-content/uploads/2026/07/Die-Chocolate-Hills.jpg 479w, https://barbaralicious.com/wp-content/uploads/2026/07/Die-Chocolate-Hills-400x250.jpg 480w " sizes="(max-width:479px) 479px, 100vw " width="400" height="250" title="Barbaralicious Blog 2"></a></div><h2 class="entry-title"> <a href="https://barbaralicious.com/bohol-chocolate-hills-tarsiere-manmade-forest/">Bohol: Chocolate Hills, Tarsiere, der Man-Made Forest &#038; Loboc River</a></h2><p class="post-meta">von <span class="author vcard"><a href="https://barbaralicious.com/author/barbara/" title="Beiträge von Barbara" rel="author">Barbara</a></span> | <span class="published">Juli 11, 2026</span> | <a href="https://barbaralicious.com/category/asien/" rel="tag">Asien</a>, <a href="https://barbaralicious.com/category/asien/philippinen-asien/" rel="tag">Philippinen</a>, <a href="https://barbaralicious.com/category/reisen-um-die-welt/" rel="tag">Reisen</a> | 0 Kommentare</p><div class="post-content"><div class="post-content-inner"><p>Ich habe einen Monat in Cebu City gelebt – in einem gemieteten Condo, wie ein Local, viel gearbeitet und an meinem Buch Workation Travel Guide* geschrieben. Aber Cebu ist nicht nur ein toller Ort zum Leben für digitale Nomaden, sondern auch ein perfekter Ausgangspunkt...</p></div><a href="https://barbaralicious.com/bohol-chocolate-hills-tarsiere-manmade-forest/" class="more-link">mehr lesen</a></div></article><article id="post-39509" class="et_pb_post clearfix et_pb_blog_item_0_2 post-39509 post type-post status-publish format-standard has-post-thumbnail hentry category-digitales-nomadentum category-reisen-um-die-welt"><div class="et_pb_image_container"><a href="https://barbaralicious.com/flexibel-arbeiten-und-geld-verdienen-mit-sinn-bei-talk2move/" class="entry-featured-image-url"><img loading="lazy" decoding="async" src="https://barbaralicious.com/wp-content/uploads/2026/07/Proud-Nomad-Vibes-Talk2Move-Youtube-Cover-2-400x250.jpg" alt="Flexibel arbeiten und Geld verdienen mit Sinn bei Talk2Move" class="" srcset="https://barbaralicious.com/wp-content/uploads/2026/07/Proud-Nomad-Vibes-Talk2Move-Youtube-Cover-2.jpg 479w, https://barbaralicious.com/wp-content/uploads/2026/07/Proud-Nomad-Vibes-Talk2Move-Youtube-Cover-2-400x250.jpg 480w " sizes="(max-width:479px) 479px, 100vw " width="400" height="250" title="Barbaralicious Blog 3"></a></div><h2 class="entry-title"> <a href="https://barbaralicious.com/flexibel-arbeiten-und-geld-verdienen-mit-sinn-bei-talk2move/">Flexibel arbeiten und Geld verdienen mit Sinn bei Talk2Move</a></h2><p class="post-meta">von <span class="author vcard"><a href="https://barbaralicious.com/author/barbara/" title="Beiträge von Barbara" rel="author">Barbara</a></span> | <span class="published">Juli 4, 2026</span> | <a href="https://barbaralicious.com/category/digitales-nomadentum/" rel="tag">Digitales Nomadentum</a>, <a href="https://barbaralicious.com/category/reisen-um-die-welt/" rel="tag">Reisen</a> | 0 Kommentare</p><div class="post-content"><div class="post-content-inner"><p>Letzte Woche hatte ich Nadine im Podcast zu Gast. Sie ist Prokuristin bei Talk2Move* und Co-Gründerin der NGO Project Wings. Ehrlich gesagt, war das ein Gespräch, das mir nicht nur neue Perspektiven eröffnet hat, sondern mich auch zum Nachdenken angeregt hat. Nicht...</p></div><a href="https://barbaralicious.com/flexibel-arbeiten-und-geld-verdienen-mit-sinn-bei-talk2move/" class="more-link">mehr lesen</a></div></article><article id="post-39487" class="et_pb_post clearfix et_pb_blog_item_0_3 post-39487 post type-post status-publish format-standard has-post-thumbnail hentry category-digitales-nomadentum"><div class="et_pb_image_container"><a href="https://barbaralicious.com/naysayer-gegenwind-und-warum-andere-leute-dein-traumleben-nicht-gutheissen/" class="entry-featured-image-url"><img loading="lazy" decoding="async" src="https://barbaralicious.com/wp-content/uploads/2026/05/Barbara-in-Kuala-Lumpur-400x250.jpg" alt="Naysayer, Gegenwind und warum andere Leute dein Traumleben nicht gutheißen" class="" srcset="https://barbaralicious.com/wp-content/uploads/2026/05/Barbara-in-Kuala-Lumpur.jpg 479w, https://barbaralicious.com/wp-content/uploads/2026/05/Barbara-in-Kuala-Lumpur-400x250.jpg 480w " sizes="(max-width:479px) 479px, 100vw " width="400" height="250" title="Barbaralicious Blog 4"></a></div><h2 class="entry-title"> <a href="https://barbaralicious.com/naysayer-gegenwind-und-warum-andere-leute-dein-traumleben-nicht-gutheissen/">Naysayer, Gegenwind und warum andere Leute dein Traumleben nicht gutheißen</a></h2><p class="post-meta">von <span class="author vcard"><a href="https://barbaralicious.com/author/barbara/" title="Beiträge von Barbara" rel="author">Barbara</a></span> | <span class="published">Juni 20, 2026</span> | <a href="https://barbaralicious.com/category/digitales-nomadentum/" rel="tag">Digitales Nomadentum</a> | 0 Kommentare</p><div class="post-content"><div class="post-content-inner"><p>Gegenwind aushalten und mit den Naysayern, also den Schwarzmalern und Pessimisten, umgehen zu müssen, ist eines der Probleme, durch die am Anfang wahrscheinlich alle durchmüssen, die ihr Leben radikal verändern möchten. Darüber musste ich kürlich mal wieder...</p></div><a href="https://barbaralicious.com/naysayer-gegenwind-und-warum-andere-leute-dein-traumleben-nicht-gutheissen/" class="more-link">mehr lesen</a></div></article><article id="post-230" class="et_pb_post clearfix et_pb_blog_item_0_4 post-230 post type-post status-publish format-standard has-post-thumbnail hentry category-digitales-nomadentum category-reisen-um-die-welt"><div class="et_pb_image_container"><a href="https://barbaralicious.com/was-ist-ein-digitaler-nomade/" class="entry-featured-image-url"><img loading="lazy" decoding="async" src="https://barbaralicious.com/wp-content/uploads/2016/02/Barbara-mit-ihrem-MacBook.jpg" alt="Was ist eigentlich ein digitaler Nomade?" class="" srcset="https://barbaralicious.com/wp-content/uploads/2016/02/Barbara-mit-ihrem-MacBook.jpg 479w, https://barbaralicious.com/wp-content/uploads/2016/02/Barbara-mit-ihrem-MacBook.jpg 480w " sizes="(max-width:479px) 479px, 100vw " width="400" height="250" title="Barbaralicious Blog 5"></a></div><h2 class="entry-title"> <a href="https://barbaralicious.com/was-ist-ein-digitaler-nomade/">Was ist eigentlich ein digitaler Nomade?</a></h2><p class="post-meta">von <span class="author vcard"><a href="https://barbaralicious.com/author/barbara/" title="Beiträge von Barbara" rel="author">Barbara</a></span> | <span class="published">Juni 13, 2026</span> | <a href="https://barbaralicious.com/category/digitales-nomadentum/" rel="tag">Digitales Nomadentum</a>, <a href="https://barbaralicious.com/category/reisen-um-die-welt/" rel="tag">Reisen</a> | 7 Kommentare</p><div class="post-content"><div class="post-content-inner"><p>Der Traum vom ortsunabhängigen Arbeiten ist überall zu sehen: digitale Nomaden mit Laptop am Strand, arbeiten aus exotischen Cafés, absolute Freiheit. Aber wie sieht die Realität wirklich aus? Ich verrate dir, was digitales Nomadentum ist, was nicht, und warum es...</p></div><a href="https://barbaralicious.com/was-ist-ein-digitaler-nomade/" class="more-link">mehr lesen</a></div></article><article id="post-39438" class="et_pb_post clearfix et_pb_blog_item_0_5 post-39438 post type-post status-publish format-standard has-post-thumbnail hentry category-orient category-reisen-um-die-welt"><div class="et_pb_image_container"><a href="https://barbaralicious.com/al-ula-drei-highlights/" class="entry-featured-image-url"><img loading="lazy" decoding="async" src="https://barbaralicious.com/wp-content/uploads/2026/05/Barbara-in-der-Oase-in-Al-Ula-400x250.jpg" alt="Al-Ula: 3 Highlights in Saudi-Arabiens erstem UNESCO-Welterbe" class="" srcset="https://barbaralicious.com/wp-content/uploads/2026/05/Barbara-in-der-Oase-in-Al-Ula.jpg 479w, https://barbaralicious.com/wp-content/uploads/2026/05/Barbara-in-der-Oase-in-Al-Ula-400x250.jpg 480w " sizes="(max-width:479px) 479px, 100vw " width="400" height="250" title="Barbaralicious Blog 6"></a></div><h2 class="entry-title"> <a href="https://barbaralicious.com/al-ula-drei-highlights/">Al-Ula: 3 Highlights in Saudi-Arabiens erstem UNESCO-Welterbe</a></h2><p class="post-meta">von <span class="author vcard"><a href="https://barbaralicious.com/author/barbara/" title="Beiträge von Barbara" rel="author">Barbara</a></span> | <span class="published">Juni 6, 2026</span> | <a href="https://barbaralicious.com/category/reisen-um-die-welt/orient/" rel="tag">Orient</a>, <a href="https://barbaralicious.com/category/reisen-um-die-welt/" rel="tag">Reisen</a> | 0 Kommentare</p><div class="post-content"><div class="post-content-inner"><p>Es gibt Reiseziele, die einen sprachlos machen. Al-Ula war für mich eines davon. Ich war im November 2025 auf einer 2,5-wöchigen Rundreise durch Saudi-Arabien unterwegs – einem Land, das noch vor wenigen Jahren für Touristen praktisch verschlossen war und das mich auf...</p></div><a href="https://barbaralicious.com/al-ula-drei-highlights/" class="more-link">mehr lesen</a></div></article><article id="post-39392" class="et_pb_post clearfix et_pb_blog_item_0_6 post-39392 post type-post status-publish format-standard has-post-thumbnail hentry category-asien category-philippinen-asien category-reisen-um-die-welt"><div class="et_pb_image_container"><a href="https://barbaralicious.com/puerto-princesa-underground-river/" class="entry-featured-image-url"><img loading="lazy" decoding="async" src="https://barbaralicious.com/wp-content/uploads/2026/05/Der-Eingang-zum-Puerto-Princesa-Underground-River-400x250.jpg" alt="Puerto Princesa Underground River: Eines der 7 Weltwunder der Natur" class="" srcset="https://barbaralicious.com/wp-content/uploads/2026/05/Der-Eingang-zum-Puerto-Princesa-Underground-River.jpg 479w, https://barbaralicious.com/wp-content/uploads/2026/05/Der-Eingang-zum-Puerto-Princesa-Underground-River-400x250.jpg 480w " sizes="(max-width:479px) 479px, 100vw " width="400" height="250" title="Barbaralicious Blog 7"></a></div><h2 class="entry-title"> <a href="https://barbaralicious.com/puerto-princesa-underground-river/">Puerto Princesa Underground River: Eines der 7 Weltwunder der Natur</a></h2><p class="post-meta">von <span class="author vcard"><a href="https://barbaralicious.com/author/barbara/" title="Beiträge von Barbara" rel="author">Barbara</a></span> | <span class="published">Mai 30, 2026</span> | <a href="https://barbaralicious.com/category/asien/" rel="tag">Asien</a>, <a href="https://barbaralicious.com/category/asien/philippinen-asien/" rel="tag">Philippinen</a>, <a href="https://barbaralicious.com/category/reisen-um-die-welt/" rel="tag">Reisen</a> | 0 Kommentare</p><div class="post-content"><div class="post-content-inner"><p>Ich habe im November und Dezember 2025 einen Monat in Cebu City gewohnt – in einem Condo, von dem aus ich viel gearbeitet und ein wenig die Stadt erkundet habe. Aber Cebu ist auch ein perfekter Ausgangspunkt für digitale Nomaden. Die Insel ist toll, in der Stadt gibt...</p></div><a href="https://barbaralicious.com/puerto-princesa-underground-river/" class="more-link">mehr lesen</a></div></article><article id="post-39306" class="et_pb_post clearfix et_pb_blog_item_0_7 post-39306 post type-post status-publish format-standard has-post-thumbnail hentry category-asien category-malaysia category-reisen-um-die-welt"><div class="et_pb_image_container"><a href="https://barbaralicious.com/kuala-lumpur-sehenswuerdigkeiten/" class="entry-featured-image-url"><img loading="lazy" decoding="async" src="https://barbaralicious.com/wp-content/uploads/2026/05/Ausblick-von-meinem-Condo-in-Kuala-Lumpur-400x250.jpg" alt="Kuala Lumpur Sehenswürdigkeiten: 9 Highlights &amp; Tipps" class="" srcset="https://barbaralicious.com/wp-content/uploads/2026/05/Ausblick-von-meinem-Condo-in-Kuala-Lumpur.j
206pg 479w, https://barbaralicious.com/wp-content/uploads/2026/05/Ausblick-von-meinem-Condo-in-Kuala-Lumpur-400x250.jpg 480w " sizes="(max-width:479px) 479px, 100vw " width="400" height="250" title="Barbaralicious Blog 8"></a></div><h2 class="entry-title"> <a href="https://barbaralicious.com/kuala-lumpur-sehenswuerdigkeiten/">Kuala Lumpur Sehenswürdigkeiten: 9 Highlights &amp; Tipps</a></h2><p class="post-meta">von <span class="author vcard"><a href="https://barbaralicious.com/author/barbara/" title="Beiträge von Barbara" rel="author">Barbara</a></span> | <span class="published">Mai 23, 2026</span> | <a href="https://barbaralicious.com/category/asien/" rel="tag">Asien</a>, <a href="https://barbaralicious.com/category/asien/malaysia/" rel="tag">Malaysia</a>, <a href="https://barbaralicious.com/category/reisen-um-die-welt/" rel="tag">Reisen</a> | 0 Kommentare</p><div class="post-content"><div class="post-content-inner"><p>Kuala Lumpur ist eine Stadt, die einen durchaus überwältigen kann. Außerdem geht sie manchmal zwischen den "Nachbar-Metropolen" Singapur und Bangkok gerne mal unter. Aber wenn man einmal eingetaucht ist, versteht man schnell, warum es doch einige Reisende gibt, die...</p></div><a href="https://barbaralicious.com/kuala-lumpur-sehenswuerdigkeiten/" class="more-link">mehr lesen</a></div></article><article id="post-39277" class="et_pb_post clearfix et_pb_blog_item_0_8 post-39277 post type-post status-publish format-standard has-post-thumbnail hentry category-asien category-reisen-um-die-welt category-thailand"><div class="et_pb_image_container"><a href="https://barbaralicious.com/auto-mieten-in-thailand/" class="entry-featured-image-url"><img loading="lazy" decoding="async" src="https://barbaralicious.com/wp-content/uploads/2026/05/Auto-mieten-in-Thailand-Pickup-400x250.jpg" alt="Auto mieten in Thailand: Führerschein, Versicherung &amp; alle Tipps" class="" srcset="https://barbaralicious.com/wp-content/uploads/2026/05/Auto-mieten-in-Thailand-Pickup.jpg 479w, https://barbaralicious.com/wp-content/uploads/2026/05/Auto-mieten-in-Thailand-Pickup-400x250.jpg 480w " sizes="(max-width:479px) 479px, 100vw " width="400" height="250" title="Barbaralicious Blog 9"></a></div><h2 class="entry-title"> <a href="https://barbaralicious.com/auto-mieten-in-thailand/">Auto mieten in Thailand: Führerschein, Versicherung &amp; alle Tipps</a></h2><p class="post-meta">von <span class="author vcard"><a href="https://barbaralicious.com/author/barbara/" title="Beiträge von Barbara" rel="author">Barbara</a></span> | <span class="published">Mai 16, 2026</span> | <a href="https://barbaralicious.com/category/asien/" rel="tag">Asien</a>, <a href="https://barbaralicious.com/category/reisen-um-die-welt/" rel="tag">Reisen</a>, <a href="https://barbaralicious.com/category/asien/thailand/" rel="tag">Thailand</a> | 0 Kommentare</p><div class="post-content"><div class="post-content-inner"><p>Diesen Monat habe ich zum ersten Mal in Thailand ein Auto gemietet und konnte Orte erkunden, die sonst eher nicht auf den Touristenpfaden liegen. Ich stand zum Beispiel an einem Wasserfall in Surat Thani, einem Teil Thailands, den kaum ein ausländischer Tourist...</p></div><a href="https://barbaralicious.com/auto-mieten-in-thailand/" class="more-link">mehr lesen</a></div></article><article id="post-39222" class="et_pb_post clearfix et_pb_blog_item_0_9 post-39222 post type-post status-publish format-standard has-post-thumbnail hentry category-asien category-reisen-um-die-welt category-thailand"><div class="et_pb_image_container"><a href="https://barbaralicious.com/mit-dem-nachtzug-durch-thailand/" class="entry-featured-image-url"><img loading="lazy" decoding="async" src="https://barbaralicious.com/wp-content/uploads/2026/05/Im-Nachtzug-in-Thailand2-400x250.jpg" alt="Nachtzug durch Thailand – Zugfahrten, Strecken &amp; 5 Tipps" class="" srcset="https://barbaralicious.com/wp-content/uploads/2026/05/Im-Nachtzug-in-Thailand2.jpg 479w, https://barbaralicious.com/wp-content/uploads/2026/05/Im-Nachtzug-in-Thailand2-400x250.jpg 480w " sizes="(max-width:479px) 479px, 100vw " width="400" height="250" title="Barbaralicious Blog 10"></a></div><h2 class="entry-title"> <a href="https://barbaralicious.com/mit-dem-nachtzug-durch-thailand/">Nachtzug durch Thailand – Zugfahrten, Strecken &amp; 5 Tipps</a></h2><p class="post-meta">von <span class="author vcard"><a href="https://barbaralicious.com/author/barbara/" title="Beiträge von Barbara" rel="author">Barbara</a></span> | <span class="published">Mai 9, 2026</span> | <a href="https://barbaralicious.com/category/asien/" rel="tag">Asien</a>, <a href="https://barbaralicious.com/category/reisen-um-die-welt/" rel="tag">Reisen</a>, <a href="https://barbaralicious.com/category/asien/thailand/" rel="tag">Thailand</a> | 0 Kommentare</p><div class="post-content"><div class="post-content-inner"><p>Es gibt Momente auf Reisen, die brennen sich wegen ihrer stillen Schönheit ins Gedächtnis. Für mich gehört der Moment dazu, wenn ich morgens im Nachtzug aufwache, den Vorhang zur Seite schiebe und draußen die Landschaft Thailands im ersten Licht des Tages vorbeizieht....</p></div><a href="https://barbaralicious.com/mit-dem-nachtzug-durch-thailand/" class="more-link">mehr lesen</a></div></article><article id="post-39198" class="et_pb_post clearfix et_pb_blog_item_0_10 post-39198 post type-post status-publish format-standard has-post-thumbnail hentry category-asien category-reisen-um-die-welt category-thailand"><div class="et_pb_image_container"><a href="https://barbaralicious.com/roller-fahren-in-thailand/" class="entry-featured-image-url"><img loading="lazy" decoding="async" src="https://barbaralicious.com/wp-content/uploads/2026/05/Barbara-auf-einem-R
206oller-400x250.jpg" alt="Roller fahren in Thailand: Alles was du wissen musst" class="" srcset="https://barbaralicious.com/wp-content/uploads/2026/05/Barbara-auf-einem-Roller.jpg 479w, https://barbaralicious.com/wp-content/uploads/2026/05/Barbara-auf-einem-Roller-400x250.jpg 480w " sizes="(max-width:479px) 479px, 100vw " width="400" height="250" title="Barbaralicious Blog 11"></a></div><h2 class="entry-title"> <a href="https://barbaralicious.com/roller-fahren-in-thailand/">Roller fahren in Thailand: Alles was du wissen musst</a></h2><p class="post-meta">von <span class="author vcard"><a href="https://barbaralicious.com/author/barbara/" title="Beiträge von Barbara" rel="author">Barbara</a></span> | <span class="published">Mai 2, 2026</span> | <a href="https://barbaralicious.com/category/asien/" rel="tag">Asien</a>, <a href="https://barbaralicious.com/category/reisen-um-die-welt/" rel="tag">Reisen</a>, <a href="https://barbaralicious.com/category/asien/thailand/" rel="tag">Thailand</a> | 0 Kommentare</p><div class="post-content"><div class="post-content-inner"><p>Als ich 2015 auf meiner Weltreise war, hat es mich unter anderem auf die kleine Insel Koh Lanta verschlagen. Etwa sechs Wochen vorher hatte ich mir den Fuß verstaucht und war auf die Insel gekommen, um zur Ruhe zu kommen und zu warten, bis ich wieder richtig laufen...</p></div><a href="https://barbaralicious.com/roller-fahren-in-thailand/" class="more-link">mehr lesen</a></div></article><article id="post-39102" class="et_pb_post clearfix et_pb_blog_item_0_11 post-39102 post type-post status-publish format-standard has-post-thumbnail hentry category-asien category-malaysia category-reisen-um-die-welt"><div class="et_pb_image_container"><a href="https://barbaralicious.com/penang-sehenswuerdigkeiten-tipps-und-infos/" class="entry-featured-image-url"><img loading="lazy" decoding="async" src="https://barbaralicious.com/wp-content/uploads/2026/04/Street-Art-in-der-Altstadt-von-Penang-1-400x250.jpg" alt="Penang Sehenswürdigkeiten, Tipps &#038; praktische Infos für deinen Besuch" class="" srcset="https://barbaralicious.com/wp-content/uploads/2026/04/Street-Art-in-der-Altstadt-von-Penang-1.jpg 479w, https://barbaralicious.com/wp-content/uploads/2026/04/Street-Art-in-der-Altstadt-von-Penang-1-400x250.jpg 480w " sizes="(max-width:479px) 479px, 100vw " width="400" height="250" title="Barbaralicious Blog 12"></a></div><h2 class="entry-title"> <a href="https://barbaralicious.com/penang-sehenswuerdigkeiten-tipps-und-infos/">Penang Sehenswürdigkeiten, Tipps &#038; praktische Infos für deinen Besuch</a></h2><p class="post-meta">von <span class="author vcard"><a href="https://barbaralicious.com/author/barbara/" title="Beiträge von Barbara" rel="author">Barbara</a></span> | <span class="published">Apr. 25, 2026</span> | <a href="https://barbaralicious.com/category/asien/" rel="tag">Asien</a>, <a href="https://barbaralicious.com/category/asien/malaysia/" rel="tag">Malaysia</a>, <a href="https://barbaralicious.com/category/reisen-um-die-welt/" rel="tag">Reisen</a> | 0 Kommentare</p><div class="post-content"><div class="post-content-inner"><p>Im Januar und Februar hatte ich insgesamt einen Monat auf Lombok verbracht und ehrlich gesagt bin ich da nie so richtig angekommen. Ich kann gar nicht sagen, was das genau Problem war, aber irgendwie war Lombok einfach nicht wirklich meins. Als ich dann aber in Penang...</p></div><a href="https://barbaralicious.com/penang-sehenswuerdigkeiten-tipps-und-infos/" class="more-link">mehr lesen</a></div></article><article id="post-39057" class="et_pb_post clearfix et_pb_blog_item_0_12 post-39057 post type-post status-publish format-standard has-post-thumbnail hentry category-asien category-malaysia category-reisen-um-die-welt"><div class="et_pb_image_container"><a href="https://barbaralicious.com/langkawi-sehenswuerdigkeiten-tipps-praktische-infos/" class="entry-featured-image-url"><img loading="lazy" decoding="async" src="https://barbaralicious.com/wp-content/uploads/2026/04/Blick-von-der-Mittelstation-zum-Meer-400x250.jpg" alt="Langkawi: Sehenswürdigkeiten, Tipps &amp; praktische Infos für deinen Besuch" class="" srcset="https://barbaralicious.com/wp-content/uploads/2026/04/Blick-von-der-Mittelstation-zum-Meer.jpg 479w, https://barbaralicious.com/wp-content/uploads/2026/04/Blick-von-der-Mittelstation-zum-Meer-400x250.jpg 480w " sizes="(max-width:479px) 479px, 100vw " width="400" height="250" title="Barbaralicious Blog 13"></a></div><h2 class="entry-title"> <a href="https://barbaralicious.com/langkawi-sehenswuerdigkeiten-tipps-praktische
206-infos/">Langkawi: Sehenswürdigkeiten, Tipps &amp; praktische Infos für deinen Besuch</a></h2><p class="post-meta">von <span class="author vcard"><a href="https://barbaralicious.com/author/barbara/" title="Beiträge von Barbara" rel="author">Barbara</a></span> | <span class="published">Apr. 18, 2026</span> | <a href="https://barbaralicious.com/category/asien/" rel="tag">Asien</a>, <a href="https://barbaralicious.com/category/asien/malaysia/" rel="tag">Malaysia</a>, <a href="https://barbaralicious.com/category/reisen-um-die-welt/" rel="tag">Reisen</a> | 0 Kommentare</p><div class="post-content"><div class="post-content-inner"><p>Langkawi war für mich eigentlich nur ein Durchgangsstopp auf dem Weg nach Thailand. Ich war davor in Singapur für einen House Sit und wollte weiter zum Insel-Hopping in der Andamanensee – und Langkawi lag quasi auf dem Weg. Da ich noch nie dort gewesen war und wusste,...</p></div><a href="https://barbaralicious.com/langkawi-sehenswuerdigkeiten-tipps-praktische-infos/" class="more-link">mehr lesen</a></div></article><article id="post-38978" class="et_pb_post clearfix et_pb_blog_item_0_13 post-38978 post type-post status-publish format-standard has-post-thumbnail hentry category-asien category-reisen-um-die-welt category-thailand"><div class="et_pb_image_container"><a href="https://barbaralicious.com/insel-hopping-in-thailand/" class="entry-featured-image-url"><img loading="lazy" decoding="async" src="https://barbaralicious.com/wp-content/uploads/2026/04/Maya-Bay-400x250.jpg" alt="Insel-Hopping in Thailand: Auf 6 Inseln von Koh Lipe bis Phuket" class="" srcset="https://barbaralicious.com/wp-content/uploads/2026/04/Maya-Bay.jpg 479w, https://barbaralicious.com/wp-content/uploads/2026/04/Maya-Bay-400x250.jpg 480w " sizes="(max-width:479px) 479px, 100vw " width="400" height="250" title="Barbaralicious Blog 14"></a></div><h2 class="entry-title"> <a href="https://barbaralicious.com/insel-hopping-in-thailand/">Insel-Hopping in Thailand: Auf 6 Inseln von Koh Lipe bis Phuket</a></h2><p class="post-meta">von <span class="author vcard"><a href="https://barbaralicious.com/author/barbara/" title="Beiträge von Barbara" rel="author">Barbara</a></span> | <span class="published">Apr. 11, 2026</span> | <a href="https://barbaralicious.com/category/asien/" rel="tag">Asien</a>, <a href="https://barbaralicious.com/category/reisen-um-die-welt/" rel="tag">Reisen</a>, <a href="https://barbaralicious.com/category/asien/thailand/" rel="tag">Thailand</a> | 0 Kommentare</p><div class="post-content"><div class="post-content-inner"><p>Mittlerweile kann ich gar nicht mehr zählen, wie oft ich schon in Thailand war. Aber so richtig Insel-Hopping in Thailand habe ich nie gemacht. Klar, ich war mal hier auf einer Insel, mal da auf einer anderen Insel. Aber so richtig von einer Insel zur nächsten bin ich...</p></div><a href="https://barbaralicious.com/insel-hopping-in-thailand/" class="more-link">mehr lesen</a></div></article><article id="post-38875" class="et_pb_post clearfix et_pb_blog_item_0_14 post-38875 post type-post status-publish format-standard has-post-thumbnail hentry category-asien category-reisen-um-die-welt"><div class="et_pb_image_container"><a href="https://barbaralicious.com/jeju-erleben/" class="entry-featured-image-url"><img loading="lazy" decoding="async" src="https://barbaralicious.com/wp-content/uploads/2026/04/I-love-Jeju-Schild-400x250.jpg" alt="Jeju Island: 7 Highlights zwischen Vulkaninsel &amp; Kirschblüte" class="" srcset="https://barbaralicious.com/wp-content/uploads/2026/04/I-love-Jeju-Schild.jpg 479w, https://barbaralicious.com/wp-content/uploads/2026/04/I-love-Jeju-Schild-400x250.jpg 480w " sizes="(max-width:479px) 479px, 100vw " width="400" height="250" title="Barbaralicious Blog 15"></a></div><h2 class="entry-title"> <a href="https://barbaralicious.com/jeju-erleben/">Jeju Island: 7 Highlights zwischen Vulkaninsel &amp; Kirschblüte</a></h2><p class="post-meta">von <span class="author vcard"><a href="https://barbaralicious.com/author/barbara/" title="Beiträge von Barbara" rel="author">Barbara</a></span> | <span class="published">Apr. 4, 2026</span> | <a href="https://barbaralicious.com/category/asien/" rel="tag">Asien</a>, <a href="https://barbaralicious.com/category/reisen-um-die-welt/" rel="tag">Reisen</a> | 0 Kommentare</p><div class="post-content"><div class="post-content-inner"><p>Jeju stand schon seit einiger Zeit auf meiner Liste – nicht nur, weil mich Südkorea als Land faszinierte, sondern auch, weil die Insel als eines der sieben Weltwunder der Natur gilt. Alle Weltwunder der Natur zu sehen, ist eines meiner 4-before-40-Ziele, also eines...</p></div><a href="https://barbaralicious.com/jeju-erleben/" class="more-link">mehr lesen</a></div></article><article id="post-38688" class="et_pb_post clearfix et_pb_blog_item_0_15 post-38688 post type-post status-publish format-standard has-post-thumbnail hentry category-orient category-reisen-um-die-welt"><div class="et_pb_image_container"><a href="https://barbaralicious.com/saudi-arabien-rundreise/" class="entry-featured-image-url"><img loading="lazy" decoding="async" src="https://barbaralicious.com/wp-content/uploads/2026/03/Barbara-am-Edge-of-the-World-400x250.jpg" alt="Saudi-Arabien Rundreise: Zwischen Wüste, Geschichte und moderner Vision" class="" srcset="https://barbaralicious.com/wp-content/uploads/2026/03/Barbara-am-Edge-of-the-World.jpg 479w, https://barbaralicious.com/wp-content/uploads/2026/03/Barbara-am-Edge-of-the-World-400x250.jpg 480w " sizes="(max-width:479px) 479px, 100vw " width="400" height="250" title="Barbaralicious Blog 16"></a></div><h2 class="entry-title"> <a href="https://barbaralicious.com/saudi-arabien-rundreise/">Saudi-Arabien Rundreise: Zwischen Wüste, Geschichte und moderner Vision</a></h2><p class="post-meta">von <span class="author vcard"><a href="https://barbaralicious.com/author/barbara/" title="Beiträge von Barbara" rel="author">Barbara</a></span> | <span class="published">März 28, 2026</span> | <a href="https://barbaralicious.com/category/reisen-um-die-welt/orient/" rel="tag">Orient</a>, <a href="https://barbaralicious.com/category/reisen-um-die-welt/" rel="tag">Reisen</a> | 0 Kommentare</p><div class="post-content"><div class="post-content-inner"><p>Saudi-Arabien war für mich lange ein Land, das sich weit weg angefühlt hat. Und zwar nicht nur geografisch, sondern auch gedanklich. Und genau deshalb war diese Reise so spannend. Denn was ich vor Ort erlebt habe, war ein Mix aus Tradition, Aufbruch und Orten, die ich...</p></div><a href="https://barbaralicious.com/saudi-arabien-rundreise/" class="more-link">mehr lesen</a></div></article><article id="post-38763" class="et_pb_post clearfix et_pb_blog_item_0_16 post-38763 post type-post status-publish format-standard has-post-thumbnail hentry category-reisen-um-die-welt"><div class="et_pb_image_container"><a href="https://barbaralicious.com/meine-4-before-40-liste/" class="entry-featured-image-url"><img loading="lazy" decoding="async" src="https://barbaralicious.com/wp-content/uploads/2020/08/Barbara-mit-Johnny-Urban-Rucksack-400x250.jpg" alt="Meine 4 before 40-Liste: Ziele, die ich vor meinem 40. Geburtstag erreichen möchte" class="" srcset="https://barbaralicious.com/wp-content/uploads/2020/08/Barbara-mit-Johnny-Urban-Rucksack.jpg 479w, https://barbaralicious.com/wp-content/uploads/2020/08/Barbara-mit-Johnny-Urban-Rucksack-400x250.jpg 480w " sizes="(max-width:479px) 479px, 100vw " width="400" height="250" title="Barbaralicious Blog 17"></a></div><h2 class="entry-title"> <a href="https://barbaralicious.com/meine-4-before-40-liste/">Meine 4 before 40-Liste: Ziele, die ich vor meinem 40. Geburtstag erreichen möchte</a></h2><p class="post-meta">von <span class="author vcard"><a href="https://barbaralicious.com/author/barbara/" title="Beiträge von Barbara" rel="author">Barbara</a></span> | <span class="published">März 21, 2026</span> | <a href="https://barbaralicious.com/category/reisen-um-die-welt/" rel="tag">Reisen</a> | 0 Kommentare</p><div class="post-content"><div class="post-content-inner"><p>Ich habe lange darüber nachgedacht, was meine ganz persönlichen „4 before 40“ sein könnten. Also die vier Dinge, die ich unbedingt noch erreichen möchte, bevor ich am 1. Januar 2027 40 Jahre alt werde. Ich habe mir diese Ziele nicht gesetzt, weil ich irgendjemandem...</p></div><a href="https://barbaralicious.com/meine-4-before-40-liste/" class="more-link">mehr lesen</a></div></article><article id="post-38708" class="et_pb_post clearfix et_pb_blog_item_0_17 post-38708 post type-post status-publish format-standard has-post-thumbnail hentry category-asien category-indonesien category-reisen-um-die-welt"><div class="et_pb_image_container"><a href="https://barbaralicious.com/umwelt-und-tierschutz-in-sumatra-project-wings/" class="entry-featured-image-url"><img loading="lazy" decoding="async" src="https://barbaralicious.com/wp-content/uploads/2026/03/Im-Recycling-Village-von-Project-Wings-400x250.jpg" alt="Umwelt- und Tierschutz in Sumatra mit Project Wings" class="" srcset="https://barbaralicious.com/wp-content/uploads/2026/03/Im-Recycling-Village-von-Project-Wings.jpg 479w, https://barbaralicious.com/wp-content/uploads/2026/03/Im-Recycling-Village-von-Project-Wings-400x250.jpg 480w " sizes="(max-width:479px) 479px, 100vw " width="400" height="250" title="Barbaralicious Blog 18"></a></div><h2 class="entry-title"> <a href="https://barbaralicious.com/umwelt-und-tierschutz-in-sumatra-project-wings/">Umwelt- und Tierschutz in Sumatra mit Project Wings</a></h2><p class="post-meta">von <span class="author vcard"><a href="https://barbaralicious.com/author/barbara/" title="Beiträge von Barbara" rel="author">Barbara</a></span> | <span class="published">März 14, 2026</span> | <a href="https://barbaralicious.com/category/asien/" rel="tag">Asien</a>, <a href="https://barbaralicious.com/category/asien/indonesien/" rel="tag">Indonesien</a>, <a href="https://barbaralicious.com/category/reisen-um-die-welt/" rel="tag">Reisen</a> | 0 Kommentare</p><div class="post-content"><div class="post-content-inner"><p>Du willst gerne auf deinen Reisen etwas bewirken, in ein nachhaltiges Projekt reinschnuppern und als Freiwilliger zu Umwelt- und Naturschutz beitragen, aber irgendwie scheint alles entweder Symbolpolitik oder ein Vollzeitjob zu sein? Klar, Müll sammeln am Strand ist...</p></div><a href="https://barbaralicious.com/umwelt-und-tierschutz-in-sumatra-project-wings/" class="more-link">mehr lesen</a></div></article></div><div><div class="pagination clearfix"><div class="alignleft"><a href="https://barbaralicious.com/blog/page/2/?et_blog" >&laquo; Ältere Einträge</a></div><div class="alignright"></div></div></div></div></div></div></div></div></div><div class="et_d4_element et_pb_section et_pb_section_3 et_pb_with_background et_section_regular et_block_section" ><div class="et_d4_element et_pb_row et_pb_row_2 et_block_row"><div class="et_d4_element et_pb_column_1_5 et_pb_column et_pb_column_2  et_pb_css_mix_blend_mode_passthrough et_block_column et_pb_column_empty"></div><div class="et_d4_element et_pb_column_3_5 et_pb_column et_pb_column_3  et_pb_css_mix_blend_mode_passthrough et_block_column"><div class="et_pb_module et_d4_element et_pb_text et_pb_text_1  et_pb_text_align_center et_pb_bg_layout_light"><div class="et_pb_text_inner"><p class="p1"><span class="s1">Hat dir dieser Blogpost gefallen?</span></p></div></div><div class="et_pb_module et_d4_element et_pb_text et_pb_text_2  et_pb_text_align_center et_pb_bg_layout_light"><div class="et_pb_text_inner"><p class="p1"><span class="s1">Dann teile ihn in deinen sozialen Netzwerken!</span></p></div></div><div class="et_pb_module et_d4_element et_pb_code et_pb_code_0"><div class="et_pb_code_inner">
206<div class="shariff shariff-align-center shariff-widget-align-center"><ul class="shariff-buttons theme-round orientation-horizontal buttonsize-large"><li class="shariff-button facebook shariff-nocustomcolor" style="background-color:#4273c8"><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fbarbaralicious.com%2Fblog%2F" title="Bei Facebook teilen" aria-label="Bei Facebook teilen" role="button" rel="nofollow" class="shariff-link" style="; background-color:#3b5998; color:#fff" target="_blank"><span class="shariff-icon" style=""><svg width="32px" height="20px" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 32"><path fill="#3b5998" d="M17.1 0.2v4.7h-2.8q-1.5 0-2.1 0.6t-0.5 1.9v3.4h5.2l-0.7 5.3h-4.5v13.6h-5.5v-13.6h-4.5v-5.3h4.5v-3.9q0-3.3 1.9-5.2t5-1.8q2.6 0 4.1 0.2z"/></svg></span></a></li><li class="shariff-button flipboard shariff-nocustomcolor" style="background-color:#373737"><a href="https://share.flipboard.com/bookmarklet/popout?v=2&title=Barbaralicious%20Blog&url=https%3A%2F%2Fbarbaralicious.com%2Fblog%2F" title="Bei Flipboard teilen" aria-label="Bei Flipboard teilen" role="button" rel="noopener nofollow" class="shariff-link" style="; background-color:#f52828; color:#fff" target="_blank"><span class="shariff-icon" style=""><svg width="24px" height="24px" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="#f52828" d="M0 0h8v24H0V0zm9 9h7v7H9V9zm0-9h15v8H9V0z"/></svg></span></a></li><li class="shariff-button linkedin shariff-nocustomcolor" style="background-color:#1488bf"><a href="https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fbarbaralicious.com%2Fblog%2F" title="Bei LinkedIn teilen" aria-label="Bei LinkedIn teilen" role="button" rel="noopener nofollow" class="shariff-link" style="; background-color:#0077b5; color:#fff" target="_blank"><span class="shariff-icon" style=""><svg width="32px" height="20px" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 27 32"><path fill="#0077b5" d="M6.2 11.2v17.7h-5.9v-17.7h5.9zM6.6 5.7q0 1.3-0.9 2.2t-2.4 0.9h0q-1.5 0-2.4-0.9t-0.9-2.2 0.9-2.2 2.4-0.9 2.4 0.9 0.9 2.2zM27.4 18.7v10.1h-5.9v-9.5q0-1.9-0.7-2.9t-2.3-1.1q-1.1 0-1.9 0.6t-1.2 1.5q-0.2 0.5-0.2 1.4v9.9h-5.9q0-7.1 0-11.6t0-5.3l0-0.9h5.9v2.6h0q0.4-0.6 0.7-1t1-0.9 1.6-0.8 2-0.3q3 0 4.9 2t1.9 6z"/></svg></span></a></li><li class="shariff-button mailto shariff-nocustomcolor" style="background-color:#a8a8a8"><a href="mailto:?body=https%3A%2F%2Fbarbaralicious.com%2Fblog%2F&subject=Barbaralicious%20Blog" title="Per E-Mail versenden" aria-label="Per E-Mail versenden" role="button" rel="noopener nofollow" class="shariff-link" style="; background-color:#999; color:#fff"><span class="shariff-icon" style=""><svg width="32px" height="20px" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="#999" d="M32 12.7v14.2q0 1.2-0.8 2t-2 0.9h-26.3q-1.2 0-2-0.9t-0.8-2v-14.2q0.8 0.9 1.8 1.6 6.5 4.4 8.9 6.1 1 0.8 1.6 1.2t1.7 0.9 2 0.4h0.1q0.9 0 2-0.4t1.7-0.9 1.6-1.2q3-2.2 8.9-6.1 1-0.7 1.8-1.6zM32 7.4q0 1.4-0.9 2.7t-2.2 2.2q-6.7 4.7-8.4 5.8-0.2 0.1-0.7 0.5t-1 0.7-0.9 0.6-1.1 0.5-0.9 0.2h-0.1q-0.4 0-0.9-0.2t-1.1-0.5-0.9-0.6-1-0.7-0.7-0.5q-1.6-1.1-4.7-3.2t-3.6-2.6q-1.1-0.7-2.1-2t-1-2.5q0-1.4 0.7-2.3t2.1-0.9h26.3q1.2 0 2 0.8t0.9 2z"/></svg></span></a></li><li class="shariff-button pinterest shariff-nocustomcolor" style="background-color:#e70f18"><a href="https://www.pinterest.com/pin/create/link/?url=https%3A%2F%2Fbarbaralicious.com%2Fblog%2F&media=https%3A%2F%2Fbarbaralicious.com%2Fwp-content%2Fplugins%2Fshariff%2Fimages%2FdefaultHint.png&description=Barbaralicious%20Blog" title="Bei Pinterest pinnen" aria-label="Bei Pinterest pinnen" role="button" rel="noopener nofollow" class="shariff-link" style="; background-color:#cb2027; color:#fff" target="_blank"><span class="shariff-icon" style=""><svg width="32px" height="20px" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 27 32"><path fill="#cb2027" d="M27.4 16q0 3.7-1.8 6.9t-5 5-6.9 1.9q-2 0-3.9-0.6 1.1-1.7 1.4-2.9 0.2-0.6 1-3.8 0.4 0.7 1.3 1.2t2 0.5q2.1 0 3.8-1.2t2.7-3.4 0.9-4.8q0-2-1.1-3.8t-3.1-2.9-4.5-1.2q-1.9 0-3.5 0.5t-2.8 1.4-2 2-1.2 2.3-0.4 2.4q0 1.9 0.7 3.3t2.1 2q0.5 0.2 0.7-0.4 0-0.1 0.1-0.5t0.2-0.5q0.1-0.4-0.2-0.8-0.9-1.1-0.9-2.7 0-2.7 1.9-4.6t4.9-2q2.7 0 4.2 1.5t1.5 3.8q0 3-1.2 5.2t-3.1 2.1q-1.1 0-1.7-0.8t-0.4-1.9q0.1-0.6 0.5-1.7t0.5-1.8 0.2-1.4q0-0.9-0.5-1.5t-1.4-0.6q-1.1 0-1.9 1t-0.8 2.6q0 1.3 0.4 2.2l-1.8 7.5q-0.3 1.2-0.2 3.2-3.7-1.6-6-5t-2.3-7.6q0-3.7 1.9-6.9t5-5 6.9-1.9 6.9 1.9 5 5 1.8 6.9z"/></svg></span></a></li>
206<li class="shariff-button twitter shariff-nocustomcolor" style="background-color:#595959"><a href="https://twitter.com/share?url=https%3A%2F%2Fbarbaralicious.com%2Fblog%2F&text=Barbaralicious%20Blog" title="Bei X teilen" aria-label="Bei X teilen" role="button" rel="noopener nofollow" class="shariff-link" style="; background-color:#000; color:#fff" target="_blank"><span class="shariff-icon" style=""><svg width="32px" height="20px" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="#000" d="M14.258 10.152L23.176 0h-2.113l-7.747 8.813L7.133 0H0l9.352 13.328L0 23.973h2.113l8.176-9.309 6.531 9.309h7.133zm-2.895 3.293l-.949-1.328L2.875 1.56h3.246l6.086 8.523.945 1.328 7.91 11.078h-3.246zm0 0"/></svg></span></a></li></ul></div></div></div></div><div class="et_d4_element et_pb_column_1_5 et_pb_column et_pb_column_4  et_pb_css_mix_blend_mode_passthrough et-last-child et_block_column et_pb_column_empty"></div></div></div><div class="et_d4_element et_pb_section et_pb_section_5 et_section_regular et_block_section" ><div class="et_d4_element et_pb_row et_pb_row_3 et_block_row"><div class="et_d4_element et_pb_column_1_2 et_pb_column et_pb_column_5  et_pb_css_mix_blend_mode_passthrough et_block_column"><div class="et_pb_module et_d4_element et_pb_cta_0 et_pb_promo  et_pb_text_align_center et_pb_bg_layout_dark dbdb-icon-on-right dbdb-icon-on-hover"><div class="et_pb_promo_description"><div><h2>Newsletter</h2><p>Melde dich zu meinem Newsletter an, um über mein Leben auf Reisen und als digitale Nomadin auf dem Laufenden zu bleiben! So verpasst du nie einen neuen Blog-Eintrag, ein neues Buch, einen neuen Onlinekurs oder wo mein nächstes Abenteuer uns hinführen wird. Denn es wird nie langweilig werden! Außerdem bekommst du dann das StarterKit, um ortsunabhängig zu arbeiten! Cool oder cool?</p></div></div><div class="et_pb_button_wrapper"><a class="et_pb_button et_pb_promo_button" href="/newsletter">Anmelden</a></div></div></div><div class="et_d4_element et_pb_column_1_2 et_pb_column et_pb_column_6  et_pb_css_mix_blend_mode_passthrough et-last-child et_block_column"><div class="et_pb_module et_d4_element et_pb_image et_pb_image_0"> <span class="et_pb_image_wrap "><img loading="lazy" decoding="async" width="1200" height="1080" src="https://barbaralicious.com/wp-content/uploads/2023/08/Starter-Kit-Smart-MockUp.png" alt="Starter Kit Smart MockUp" title="Starter Kit Smart MockUp" srcset="https://barbaralicious.com/wp-content/uploads/2023/08/Starter-Kit-Smart-MockUp-1280x1152.png 1200w, https://barbaralicious.com/wp-content/uploads/2023/08/Starter-Kit-Smart-MockUp-980x882.png 980w, https://barbaralicious.com/wp-content/uploads/2023/08/Starter-Kit-Smart-MockUp-480x432.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1200px) 1200px, 100vw" class="wp-image-34815"></span></div></div></div></div></div></div> <span class="et_bloom_bottom_trigger"></span></div></article></div><footer id="main-footer" class="clearfix"><div class="clearfix"></div><div id="et-footer-nav"><div class="container"><ul id="menu-footer-menu-de" class="bottom-nav"><li id="menu-item-2387" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2387"><a href="https://barbaralicious.com/pr-medien/" title="Barbaralicious PR &#038; Medien">PR &#038; Medien</a></li><li id="menu-item-280" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-280"><a href="https://barbaralicious.com/kontakt/" title="Kontaktiere Barbaralicious">Kontakt</a></li><li id="menu-item-36664" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-36664"><a href="https://barbaralicious.com/agb/">AGB</a></li><li id="menu-item-36663" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-36663"><a href="https://barbaralicious.com/widerrufsbelehrung/">Widerrufsbelehrung</a></li><li id="menu-item-331" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-331"><a href="https://barbaralicious.com/datenschutzerklaerung/" title="Datenschutz auf Barbaralicious">Datenschutzerklärung</a></li><li id="menu-item-279" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-279"><a href="https://barbaralicious.com/impressum/" title="Impressum Barbaralicious">Impressum</a></li></ul></div></div><div id="footer-bottom"><div class="container clearfix"><ul class="et-social-icons"><li class="et-social-icon et-social-facebook"> <a href="https://www.facebook.com/BarbaraliciousBlog" class="icon"> <span>Facebook</span> </a></li><li class="et-social-icon et-social-twitter"> <a href="https://www.twitter.com/bbarbaralicious" class="icon"> <span>Twitter</span> </a></li><li class="et-social-icon et-social-instagram"> <a href="https://www.instagram.com/barbaralicious/" class="icon"> <span>Instagram</span> </a></li><li class="et-social-icon et-social-youtube"> <a href="https://www.youtube.com/channel/UCp9tvbdfHrpiRIlwSV4BIwQ" class="icon"> <span>YouTube</span> </a></li><li class="et-social-icon et-social-pinterest"> <a href="https://de.pinterest.com/bbarbaralicious/" class="icon"> <span>Pinterest</span> </a></li><li class="et-social-icon et-social-rss"> <a href="https://barbaralicious.com/feed/" class="icon"> <span>RSS</span> </a></li></ul><p id="footer-info">&copy; <a href="https://Barbaralicious.com">Barbaralicious (Barbara Riedel) 2014-2026</a> <span class="footer-info-vertical-line">|</span> <span class="footer-info-made-with">Made with nomad ♡ by</span> <span class="footer-info-second-line"><a href="https://barbaralicious.com/uber-mich/">Barbara Riedel</a></span></p></div></div></footer></div></div>  
206<script type='text/javascript'>(function () {
207            function runPixelCode( response ) {
208                if ( ! response || ! response.data || ! response.data.fb_pxl_code ) {
209                    return;
210                }
211
212                try {
213                    new Function( response.data.fb_pxl_code )();
214                } catch ( e ) {
215                    console && console.warn
216                        && console.warn( 'Meta Pixel response parsing failed. Please check if your pixel is connected.', e );
217                }
218            }
219
220            var radio = window.nfRadio
221                || ( window.Backbone && window.Backbone.Radio );
222            if ( radio && radio.channel ) {
223                radio.channel( 'forms' ).on( 'submit:response', runPixelCode );
224            }
225
226            if ( window.jQuery ) {
227                window.jQuery( document ).on(
228                    'nfFormSubmitResponse',
229                    function ( event, data ) {
230                        if ( data && data.response ) {
231                            runPixelCode( data.response );
232                        }
233                    }
234                );
235            }
236        })();</script>
236 
237  
237<script type='text/javascript'>(function ( $ ) {
238            if ( ! $ || typeof document === 'undefined' ) {
239                return;
240            }
241            // WPForms triggers this jQuery event and passes the AJAX response object.
242            $( document ).on( 'wpformsAjaxSubmitSuccess', function ( event, data ) {
243                if ( data && data.data && data.data.fb_pxl_code ) {
244                    try {
245                        new Function( data.data.fb_pxl_code )();
246                    } catch ( e ) {
247                        console && console.warn && console.warn( 'Meta Pixel eval failed', e );
248                    }
249                }
250            } );
251        })( window.jQuery );</script>
251  
251<script type="speculationrules">{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/Divi-Child/*","/wp-content/themes/Divi/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}</script>
251 
251<script>jQuery(document).ready(function($) {
252    function clearDbdbLightboxOpen() {
253        $('body').removeClass(function(index, className) {
254            return (className.match(/(^|\s)et_pb_gallery_\d+(?:_[^\s]+)?_dbdb_lightbox_open/g) || []).join(' ');
255        });
256    }
257
258    // Add per-instance body class when a gallery image is clicked
259    $(document).on('click', '.et_pb_gallery .et_pb_gallery_image a', function() {
260        clearDbdbLightboxOpen();
261        var $gallery = $(this).closest('.et_pb_gallery');
262        if (!$gallery.length) return;
263        var classes = ($gallery.attr('class') || '').match(/et_pb_gallery_\d+(?:_[^\s]+)?/);
264        if (!classes || !classes[0]) return;
265        var orderClass = classes[0];
266        $('body').addClass(orderClass + '_dbdb_lightbox_open');
267    });
268
269    // Remove class when popup closes
270    $(document).on('click', '.mfp-close, .mfp-bg', function() { clearDbdbLightboxOpen(); });
271    $(document).on('keyup', function(e) { if (e.key === 'Escape') { clearDbdbLightboxOpen(); } });
272});</script>
272 
272<script>(function(){
273        document.querySelectorAll('.et_pb_gallery.et_pb_gallery_grid').forEach(function(gallery){
274            var pagination = gallery.querySelector('.et_pb_gallery_pagination');
275            if (!pagination) return;
276            var displayMode = gallery.getAttribute('data-display-mode') || 'default';
277            var updateLinks = function(){
278                setTimeout(function() {
279                    var prev = pagination.querySelector('a.page-prev');
280                    var next = pagination.querySelector('a.page-next');
281                    if (displayMode === 'icon') {
282                        if (prev) prev.textContent = '';
283                        if (next) next.textContent = '';
284                    } else {
285                        if (prev) prev.textContent = gallery.getAttribute('data-prev-text') || 'Prev';
286                        if (next) next.textContent = gallery.getAttribute('data-next-text') || 'Next';
287                    }
288                    // Show links after update
289                    pagination.style.visibility = 'visible';
290                }, 1000);
291            };
292            updateLinks();
293            var observer = new MutationObserver(function(mutations){
294                updateLinks();
295                observer.disconnect();
296            });
297            observer.observe(pagination, { childList: true });
298        });
299    })();</script>
299 
299<script>jQuery(document).ready(function($) {
300            $(document).on('click', '.et_pb_gallery .et_pb_gallery_image a', function() {
301
302                // Remove the old class
303                $('body').removeClass(function(index, className) {
304                    return (className.match(/(^|\s)et_pb_gallery_\d+_dbdb_lightbox_open/g) || []).join(' ');
305                });
306
307                // Add the new class
308                var gallery_module_order = $(this).closest('.et_pb_gallery').attr('class').match(/et_pb_gallery_\d+/)[0];
309                $('body').addClass(gallery_module_order + '_dbdb_lightbox_open');
310            });
311        });</script>
311 
311<script>jQuery(function($) {
312			
313			var $links = $('.entry-content a, .et_pb_post_content a').filter(db_is_image_link).not(db_is_gallery_image_link);
314			$links.filter(db_has_child_img).addClass('et_pb_lightbox_image'); 
315			$links.not(db_has_child_img).magnificPopup({type:'image'});
316			
317			dbdb_enableLightboxOnMapModuleImages();
318
319			function dbdb_enableLightboxOnMapModuleImages() {
320				var attempts = 0;
321				var maxAttempts = 10;
322				var interval = setInterval(function() {
323					$('.et_pb_map a')
324						.filter(db_is_image_link)
325						.filter(db_has_child_img)
326						.magnificPopup({type:'image'});
327					attempts++;
328					if (attempts >= maxAttempts) {
329						clearInterval(interval);
330					}
331				}, 1000);
332			}
333			
334			function db_has_child_img() {
335				return ($(this).children('img').length);
336			}
337			
338			function db_is_image_link() {
339				return (/\.(?:jpg|jpeg|gif|png|bmp)$/i.test($(this).attr('href')));
340			}
341			
342			function db_is_gallery_image_link() {
343				return ($(this).parent().hasClass("et_pb_gallery_image")); 
344			}
345		}
346	);</script>
346 <div class="et_bloom_popup et_bloom_optin et_bloom_resize et_bloom_optin_1 et_bloom_trigger_click" data-trigger_click=".instapro-klick-trigger" data-success_action_details="redirect_url|https://barbaralicious.com/wip-fast-geschafft//"><div class="et_bloom_form_container et_bloom_popup_container et_bloom_form_bottom with_edge wedge_edge et_bloom_rounded et_bloom_form_text_dark et_bloom_animation_zoomin et_bloom_success_action"><div class="et_bloom_form_container_wrapper clearfix"><div class="et_bloom_header_outer"><div class="et_bloom_form_header split image_right et_bloom_header_text_dark"> <img width="610" height="367" src="https://barbaralicious.com/wp-content/uploads/2023/06/Werde-InstaPro-Mockup-610x367.png" class=" et_bloom_image_zoomin et_bloom_image" alt="" decoding="async" loading="lazy" /><div class="et_bloom_form_text"><h2 style="text-align: center;"><span style="color: #2551ff;">UNVERBINDLICHE WARTELISTE</span></h2><p style="text-align: center;">Melde Dich <strong>100 % unverbindlich</strong> zur Warteliste von Werde InstaPro! an. </p><p style="text-align: center;">Vergiss nicht, deine E-Mail-Adresse im nächsten Schritt zu bestätigen.</p></div></div></div><div class="et_bloom_form_content et_bloom_2_fields et_bloom_bottom_stacked"> <svg class="triangle et_bloom_default_edge" xmlns="http://www.w3.org/2000/svg" version="1.1" width="100%" height="20" viewBox="0 0 100 100" preserveAspectRatio="none"> <path d="M0 0 L50 100 L100 0 Z" fill=""></path> </svg><form method="post" class="clearfix"><div class="et_bloom_fields"><p class="et_bloom_popup_input et_bloom_subscribe_name"> <input placeholder="Dein Name" maxlength="50"></p><p class="et_bloom_popup_input et_bloom_subscribe_email"> <input placeholder="Deine E-Mail-Adresse"></p> <button data-optin_id="optin_1" data-service="sendinblue" data-list_id="6" data-page_id="3158" data-account="Warteliste Werde InstaPro" data-ip_address="false" class="et_bloom_submit_subscription"> <span class="et_bloom_subscribe_loader"></span> <span class="et_bloom_button_text et_bloom_button_text_color_light">ABSENDEN &gt;&gt;</span> </button></div></form><div class="et_bloom_success_container"> <span class="et_bloom_success_checkmark"></span></div><h2 class="et_bloom_success_message">Noch ein Schritt... Öffne JETZT Dein E-Mail-Postfach und bestätige Deine Anmeldung!</h2><div class="et_bloom_form_footer"><p style="text-align: center;">Die Eintragung auf die Warteliste für den Onlinekurs Werde InstaPro! ist dein erster Step in Richtung Erfolg. Neben allen Infos zum Kursstart erhältst du von mir regelmäßig (maximal 4x pro Monat) nützliche Tipps & Angebote rund um die Themen Social-Media, Instagram & Marketing.</p><p style="text-align: center;">Meine E-Mails versende ich mit Brevo. Hier kommst du zur <a href="../datenschutzerklaerung/" target="_blank">Datenschutzerklärung</a> und hier kannst du alles rund um meinen <a href="../werde-instapro-newsletter/" target="_blank">Newsletter</a> nachlesen.</p></div></div></div> <span class="et_bloom_close_button"></span></div></div><div class="et_bloom_popup et_bloom_optin et_bloom_resize et_bloom_optin_3 et_bloom_trigger_click" data-trigger_click=".click-bt-newsletter" data-success_action_details="redirect_url|https://barbaralicious.com/bt-nl-danke/"><div class="et_bloom_form_container et_bloom_popup_container et_bloom_form_bottom with_edge wedge_edge et_bloom_rounded et_bloom_form_text_dark et_bloom_animation_fadein et_bloom_success_action"><div class="et_bloom_form_container_wrapper clearfix"><div class="et_bloom_header_outer"><div class="et_bloom_form_header split et_bloom_header_text_dark"> <img width="610" height="367" src="https://barbaralicious.com/wp-content/uploads/2023/06/B-Translator-Mockup-610x367.png" class=" et_bloom_image_slideup et_bloom_image" alt="" decoding="async" loading="lazy" /><div class="et_bloom_form_text"><h2 class="p1" style="box-sizing: border-box; margin: 0px; padding: 0px 0px 10px; border: 0px; outline: 0px; font-size: 44px; text-size-adjust: 100%; vertical-align: baseline; background-image: initial; background-position: 0px 0px; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; color: #2551ff; line-height: 1.6em; font-weight: 500; letter-spacing: 1px; font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif; text-align: center;">Anmeldung zum Newsletter!</h2><div class="et_pb_module et_pb_text et_pb_text_7  et_pb_text_align_center et_pb_bg_layout_light" style="box-sizing: border-box; margin: 0px 0px 29.6953px; padding: 0px; border: 0px; outline: 0px; font-size: 18px; text-size-adjust: 100%; vertical-align: baseline; background-image: initial; background-position: 50% center; background-size: cover; background-repeat: no-repeat; background-attachment: initial; background-origin: initial; background-clip: initial; position: relative; animation-timing-function: linear; animation-duration: 0.2s; overflow-wrap: break-word; text-align: center; color: #666666; font-family: 'Open Sans', Arial, sans-serif;"><div class="et_pb_text_inner" style="box-sizing: border-box; margin: 0px; padding: 0px; border: 0px; outline: 0px; text-size-adjust: 100%; vertical-align: baseline; background: 0px 0px; position: relative;"><p style="box-sizing: border-box; margin: 0px; padding: 0px; border: 0px; outline: 0px; text-size-adjust: 100%; vertical-align: baseline; background: 0px 0px;"><span style="box-sizing: border-box; margin: 0px; padding: 0px; border: 0px; outline: 0px; text-size-adjust: 100%; vertical-align: baseline; background: 0px 0px;">Du zweifelst noch, ob B Translator das Richtige für dich ist? Dann melde dich doch erstmal zum Newsletter an und hol dir meine Tipps und Tricks für den Start als freiberuflicher Übersetzer!</span></p><p><span style="box-sizing: border-box; margin: 0px; padding: 0px; border: 0px; outline: 0px; text-size-adjust: 100%; vertical-align: baseline; background: 0px 0px;"> </span></p></div></div></div></div></div><div class="et_bloom_form_content et_bloom_1_field et_bloom_bottom_inline"> <svg class="triangle et_bloom_default_edge" xmlns="http://www.w3.org/2000/svg" version="1.1" width="100%" height="20" viewBox="0 0 100 100" preserveAspectRatio="none"> <path d="M0 0 L50 100 L100 0 Z" fill=""></path> </svg><form method="post" class="clearfix"><div class="et_bloom_fields"><p class="et_bloom_popup_input et_bloom_subscribe_email"> <input placeholder="Email"></p> <button data-optin_id="optin_3" data-service="sendinblue" data-list_id="12" data-page_id="3158" data-account="Barbara Riedel" data-ip_address="false" class="et_bloom_submit_subscription"> <span class="et_bloom_subscribe_loader"></span> <span class="et_bloom_button_text et_bloom_button_text_color_light">ANMELDEN!</span> </button></div></form><div class="et_bloom_success_container"> <span class="et_bloom_success_checkmark"></span></div><h2 class="et_bloom_success_message">You have Successfully Subscribed!</h2><div class="et_bloom_form_footer"><p style="box-sizing: content-box; margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 12px; text-size-adjust: 100%; vertical-align: baseline; background: none 0px 0px #ededed; -webkit-font-smoothing: antialiased; font-family: Arial, Helvetica, Arial, Lucida, sans-serif; line-height: 1em; color: rgba(0, 0, 0, 0.7); text-align: center;">Die Anmeldung zum B Translator Newsletter ist dein erster Step in Richtung Erfolg als selbstständiger Übersetzer. Neben allen Infos zum Kurs erhältst du von mir regelmäßig (maximal 4x pro Monat) nützliche Tipps & Angebote rund um die Themen Selbstständigkeit & Marketing. Außerdem kann es sein, dass ich dich darin über neue Produkte informiere, die dich interessieren könnten.</p><p style="box-sizing: content-box; margin: 0px; padding: 0px; border: 0px; outline: 0px; font-size: 12px; text-size-adjust: 100%; vertical-align: baseline; background: none 0px 0px #ededed; -webkit-font-smoothing: antialiased; font-family: Arial, Helvetica, Arial, Lucida, sans-serif; line-height: 1em; color: rgba(0, 0, 0, 0.7); text-align: center;">Meine E-Mails versende ich mit Brevo. Hier kommst du zur <a style="box-sizing: content-box; text-decoration-line: none; margin: 0px; padding: 0px; border: 0px; outline: 0px; text-size-adjust: 100%; vertical-align: baseline; background: none 0px 0px; color: #2551ff; -webkit-font-smoothing: antialiased; font-family: 'Open Sans', helvetica, arial, sans-serif; line-height: 1em;" href="../datenschutzerklaerung/" target="_blank">Datenschutzerklärung</a> und hier kannst du alles rund um meinen <a style="box-sizing: content-box; text-decoration-line: none; margin: 0px; padding: 0px; border: 0px; outline: 0px; text-size-adjust: 100%; vertical-align: baseline; background: none 0px 0px; color: #2551ff; -webkit-font-smoothing: antialiased; font-family: 'Open Sans', helvetica, arial, sans-serif; line-height: 1em;" href="../newsletter/" target="_blank">Newsletter</a> nachlesen.</p></div></div></div> <span class="et_bloom_close_button"></span></div></div><div class="et_bloom_popup et_bloom_optin et_bloom_resize et_bloom_optin_5 et_bloom_trigger_click" data-trigger_click=".wegindiefreiheit-klick-trigger" data-success_action_details="redirect_url|https://barbaralicious.com/dwidf-fast-geschafft/"><div class="et_bloom_form_container et_bloom_popup_container et_bloom_form_bottom with_edge wedge_edge et_bloom_rounded et_bloom_form_text_dark et_bloom_animation_zoomin et_bloom_success_action"><div class="et_bloom_form_container_wrapper clearfix"><div class="et_bloom_header_outer"><div class="et_bloom_form_header split image_right et_bloom_header_text_dark"> <img width="610" height="343" src="https://barbaralicious.com/wp-content/uploads/2023/08/Online-Course-Cover-Dein-Weg-in-die-Freiheit-610x343.png" class=" et_bloom_image_zoomin et_bloom_image" alt="Online Course Cover Dein Weg in die Freiheit" decoding="async" loading="lazy" /><div class="et_bloom_form_text"><h2 style="text-align: center;"><span style="color: #2551ff;">
346UNVERBINDLICHE WARTELISTE</span></h2><p style="text-align: center;">Melde Dich <strong>100 % unverbindlich</strong> zur Warteliste von Dein Weg in die Freiheit an. </p><p style="text-align: center;">Vergiss nicht, deine E-Mail-Adresse im nächsten Schritt zu bestätigen.</p></div></div></div><div class="et_bloom_form_content et_bloom_2_fields et_bloom_bottom_stacked"> <svg class="triangle et_bloom_default_edge" xmlns="http://www.w3.org/2000/svg" version="1.1" width="100%" height="20" viewBox="0 0 100 100" preserveAspectRatio="none"> <path d="M0 0 L50 100 L100 0 Z" fill=""></path> </svg><form method="post" class="clearfix"><div class="et_bloom_fields"><p class="et_bloom_popup_input et_bloom_subscribe_name"> <input placeholder="Dein Name" maxlength="50"></p><p class="et_bloom_popup_input et_bloom_subscribe_email"> <input placeholder="Deine E-Mail-Adresse"></p> <button data-optin_id="optin_5" data-service="sendinblue" data-list_id="17" data-page_id="3158" data-account="Dein Weg in die Freiheit" data-ip_address="false" class="et_bloom_submit_subscription"> <span class="et_bloom_subscribe_loader"></span> <span class="et_bloom_button_text et_bloom_button_text_color_light">ABSENDEN &gt;&gt;</span> </button></div></form><div class="et_bloom_success_container"> <span class="et_bloom_success_checkmark"></span></div><h2 class="et_bloom_success_message">Noch ein Schritt... Öffne JETZT Dein E-Mail-Postfach und bestätige Deine Anmeldung!</h2><div class="et_bloom_form_footer"><p style="text-align: center;">Die Eintragung auf die Warteliste für den Onlinekurs Dein Weg in die Freiheit ist dein erster Step in Richtung Erfolg. Neben allen Infos zum Kursstart erhältst du von mir regelmäßig (maximal 4x pro Monat) nützliche Tipps & Angebote rund um das digitale Nomadentum.</p><p style="text-align: center;">Meine E-Mails versende ich mit Brevo. Hier kommst du zur <a href="../datenschutzerklaerung/" target="_blank">Datenschutzerklärung</a> und hier kannst du alles rund um meinen <a href="../werde-instapro-newsletter/" target="_blank">Newsletter</a> nachlesen.</p></div></div></div> <span class="et_bloom_close_button"></span></div></div><div class="et_bloom_popup et_bloom_optin et_bloom_resize et_bloom_optin_6 et_bloom_trigger_click" data-trigger_click=".starterkit-klick-trigger" data-success_action_details="redirect_url|https://barbaralicious.com/fast-geschafft/"><div class="et_bloom_form_container et_bloom_popup_container et_bloom_form_bottom with_edge wedge_edge et_bloom_rounded et_bloom_form_text_dark et_bloom_animation_fadein et_bloom_success_action"><div class="et_bloom_form_container_wrapper clearfix"><div class="et_bloom_header_outer"><div class="et_bloom_form_header split et_bloom_header_text_dark"> <img width="610" height="549" src="https://barbaralicious.com/wp-content/uploads/2023/08/Starter-Kit-Smart-MockUp-610x549.png" class=" et_bloom_image_slideup et_bloom_image" alt="Starter Kit Smart MockUp" decoding="async" loading="lazy" /><div class="et_bloom_form_text"><h2>Melde dich zum Newsletter von Barbaralicious an!</h2><p>Melde dich zu meinem Newsletter an, in dem ich dich über mein Leben auf Reisen und als digitale Nomadin informiere! Für dich gibt es dafür das StarterKit, um ortsunabhängig zu arbeiten und ein paar weitere Geschenke obendrauf. Außerdem verpasst du so keinen neuen Blogpost, kein neues E-Book oder wohin mich meine Reisen bringen. Langweilig wird es sicher nicht!</p></div></div></div><div class="et_bloom_form_content et_bloom_2_fields et_bloom_bottom_inline"> <svg class="triangle et_bloom_default_edge" xmlns="http://www.w3.org/2000/svg" version="1.1" width="100%" height="20" viewBox="0 0 100 100" preserveAspectRatio="none"> <path d="M0 0 L50 100 L100 0 Z" fill=""></path> </svg><form method="post" class="clearfix"><div class="et_bloom_fields"><p class="et_bloom_popup_input et_bloom_subscribe_name"> <input placeholder="Dein Name" maxlength="50"></p><p class="et_bloom_popup_input et_bloom_subscribe_email"> <input placeholder="Deine E-Mail-Adresse"></p> <button data-optin_id="optin_6" data-service="sendinblue" data-list_id="16" data-page_id="3158" data-account="Barbaralicious DE NL" data-ip_address="false" class="et_bloom_submit_subscription"> <span class="et_bloom_subscribe_loader"></span> <span class="et_bloom_button_text et_bloom_button_text_color_light">Jetzt anmelden!</span> </button></div></form><div class="et_bloom_success_container"> <span class="et_bloom_success_checkmark"></span></div><h2 class="et_bloom_success_message">Du hast dich erfolgreich zum Newsletter angemeldet</h2><div class="et_bloom_form_footer"><p>Die Eintragung in den Newsletter von Barbaralicious ist dein erster Step in Richtung Ortsunabhängigkeit. Neben allen Infos zu meinen Reisen erhältst du von mir regelmäßig (maximal 4x pro Monat) nützliche Tipps & Angebote rund um das digitale Nomadentum sowie allgemein neue Produkte von Barbaralicious.</p></div></div></div> <span class="et_bloom_close_button"></span></div></div><div class="et_bloom_popup et_bloom_optin et_bloom_resize et_bloom_optin_7 et_bloom_trigger_click" data-trigger_click=".lp-tschuess-9-to-5" data-success_action_details="redirect_url|https://barbaralicious.com/tschuess-9-to-5-nur-noch-ein-schritt/"><div class="et_bloom_form_container et_bloom_popup_container et_bloom_form_bottom with_edge wedge_edge et_bloom_rounded et_bloom_form_text_dark et_bloom_animation_fadein et_bloom_success_action"><div class="et_bloom_form_container_wrapper clearfix"><div class="et_bloom_header_outer"><div class="et_bloom_form_header split et_bloom_header_text_dark"> <img src="https://barbaralicious.com/wp-content/uploads/2025/02/Buchcover-MockU
346p.png" alt="Melde dich zum Newsletter an" class=" et_bloom_image_fadein et_bloom_image"><div class="et_bloom_form_text"><h2>Melde dich zum Newsletter an</h2><p>Melde dich zum Newsletter an und erhalte "Tschüss 9-to-5, hallo Freelancing", dein erster Schritt für ein ortsunabhängiges Online-Business. Befreie dich aus dem Hamsterrad und gestalte dein Leben nach deinen eigenen Vorstellungen!</p></div></div></div><div class="et_bloom_form_content et_bloom_2_fields et_bloom_bottom_inline"> <svg class="triangle et_bloom_default_edge" xmlns="http://www.w3.org/2000/svg" version="1.1" width="100%" height="20" viewBox="0 0 100 100" preserveAspectRatio="none"> <path d="M0 0 L50 100 L100 0 Z" fill=""></path> </svg><form method="post" class="clearfix"><div class="et_bloom_fields"><p class="et_bloom_popup_input et_bloom_subscribe_name"> <input placeholder="Name" maxlength="50"></p><p class="et_bloom_popup_input et_bloom_subscribe_email"> <input placeholder="E-Mail"></p> <button data-optin_id="optin_7" data-service="sendinblue" data-list_id="20" data-page_id="3158" data-account="Tschüss 9-to-5" data-ip_address="false" class="et_bloom_submit_subscription"> <span class="et_bloom_subscribe_loader"></span> <span class="et_bloom_button_text et_bloom_button_text_color_light">ANMELDEN!</span> </button></div></form><div class="et_bloom_success_container"> <span class="et_bloom_success_checkmark"></span></div><h2 class="et_bloom_success_message">Du hast dich erfolgreich angemeldet!</h2><div class="et_bloom_form_footer"><p>Die Eintragung in den Newsletter von Barbaralicious ist dein erster Step in Richtung Ortsunabhängigkeit. Neben allen Infos zu meinen Reisen erhältst du von mir regelmäßig (maximal 4x pro Monat) nützliche Tipps & Angebote rund um das digitale Nomadentum sowie allgemein neue Produkte von Barbaralicious.</p></div></div></div> <span class="et_bloom_close_button"></span></div></div>  
346<script type='text/javascript'>document.addEventListener( 'wpcf7mailsent', function( event ) {
347        if( "fb_pxl_code" in event.detail.apiResponse){
348            eval(event.detail.apiResponse.fb_pxl_code);
349        }
350        }, false );</script>
350 <div id="fb-pxl-ajax-code"></div><link rel="preload" href="https://barbaralicious.com/wp-content/plugins/divi-booster/core/icons/socicon/fonts/Socicon.woff2?87visu" as="font" crossorigin> 
350<script id="divibooster-d5-sfnetworks-divi-icons-js-after">(function($){
351    $(function(){
352        var customNetworks = {"dbdb-phone":{"label":"Phone","background":"#58a9de"},"dbdb-podcast":{"label":"Podcast","background":"#58a9de"},"dbdb-website":{"label":"Website","background":"#58a9de"}};
353        
354        var attempts = 0;
355        var maxAttempts = 100; // 10 seconds
356        
357        var interval = setInterval(function() {
358            attempts++;
359            
360            // Check for Divi 5 global
361            if (window.divi && window.divi.moduleLibrary) {
362                clearInterval(interval);
363                initDiviBoosterIcons();
364            } else if (attempts >= maxAttempts) {
365                clearInterval(interval);
366            }
367        }, 100);
368
369        function initDiviBoosterIcons() {
370            // Locate wp.hooks
371            var hooks = window.wp && window.wp.hooks;
372            if (!hooks && window.vendor && window.vendor.wp) {
373                hooks = window.vendor.wp.hooks;
374            }
375            
376            if (!hooks) {
377                return;
378            }
379
380            var moduleName = "divi/social-media-follow-network";
381
382            // 1. Attempt to patch via filter (Early binding)
383            hooks.addFilter('divi.moduleLibrary.moduleSettings.groups', 'divibooster', function(groups, metadata){
384                if(metadata && metadata.name === moduleName){
385                    injectOptionsIntoGroups(groups);
386                }
387                return groups;
388            });
389
390            // 2. Attempt to patch existing module (Late binding)
391            var patchAttempts = 0;
392            var patchInterval = setInterval(function() {
393                patchAttempts++;
394                if (patchAttempts > 40) { // Stop after 20 seconds
395                    clearInterval(patchInterval);
396                    return;
397                }
398
399                // Strategy A: Check moduleMapping directly (since getModule didn't exist on the library object)
400                if (window.divi && window.divi.moduleLibrary && window.divi.moduleLibrary.moduleMapping) {
401                    var module = window.divi.moduleLibrary.moduleMapping[moduleName];
402                    if (module) {
403                        clearInterval(patchInterval);
404                        patchModule(module);
405                        return;
406                    }
407                }
408
409                // Strategy B: Check wp.data store
410                if (window.wp && window.wp.data) {
411                    var libStore = window.wp.data.select('divi/module-library');
412                    if (libStore && typeof libStore.getModule === 'function') {
413                        var module = libStore.getModule(moduleName);
414                        if (module) {
415                            clearInterval(patchInterval);
416                            patchModule(module);
417                            return;
418                        }
419                    }
420                }
421
422            }, 500);
423
424            function injectOptionsIntoGroups(groups) {
425                try {
426                    // Path: contentNetwork.component.props.fields.socialNetworkTitle.component.props.options
427                    var path = ["contentNetwork", "component", "props", "fields", "socialNetworkTitle", "component", "props", "options"];
428                    var current = groups;
429                    for (var i = 0; i < path.length; i++) {
430                        if (current && current[path[i]]) {
431                            current = current[path[i]];
432                        } else {
433                            return; // Path not found
434                        }
435                    }
436                    
437                    // Merge options
438                    Object.assign(current, customNetworks);
439
440                    // Sort options alphabetically, keeping 'Select a Network' (empty key) at the top
441                    var sorted = {};
442                    var keys = Object.keys(current).sort(function(a, b) {
443                        // Keep empty key (placeholder) at the top
444                        if (a === '') return -1;
445                        if (b === '') return 1;
446                        
447                        // Get labels for comparison
448                        var labelA = current[a].label || a;
449                        var labelB = current[b].label || b;
450                        
451                        return labelA.localeCompare(labelB);
452                    });
453
454                    keys.forEach(function(key) {
455                        sorted[key] = current[key];
456                    });
457
458                    // Replace the options object content with sorted content
459                    // We can't replace the object reference itself, so we clear and refill it
460                    for (var key in current) {
461                        if (current.hasOwnProperty(key)) {
462                            delete current[key];
463                        }
464                    }
465                    Object.assign(current, sorted);
466
467                } catch (e) {
468                    // Silent fail
469                }
470            }
471
472            function patchModule(module) {
473                // Prevent double-patching
474                if (module._diviBoosterPatched) {
475                    return;
476                }
477                module._diviBoosterPatched = true;
478
479                // 1. Patch settings.content
480                // The module uses a function for settings.content which resets the options every time.
481                // We wrap it to re-inject our options after it runs.
482                if (module.settings && typeof module.settings.content === 'function') {
483                    var originalContent = module.settings.content;
484                    module.settings.content = function(args) {
485                        // Run original function (which might reset options)
486                        var result = originalContent(args);
487                        
488                        // Re-inject our options into the configuration
489                        if (args && args.groupConfiguration) {
490                            injectOptionsIntoGroups(args.groupConfiguration);
491                        }
492                        
493                        return result;
494                    };
495                }
496
497                // 2. Patch callbacks.content...onChange
498                // The default onChange handler uses a hardcoded list. We replace it.
499                try {
500                    var callbacks = module.callbacks;
501                    if (callbacks && callbacks.content && callbacks.content.contentNetwork && 
502                        callbacks.content.contentNetwork.fields && 
503                        callbacks.content.contentNetwork.fields.socialNetworkTitle) {
504                        
505                        var field = callbacks.content.contentNetwork.fields.socialNetworkTitle;
506                        
507                        // Save original handler
508                        var originalOnChange = callbacks.content.contentNetwork.fields.socialNetworkTitle.onChange;
509
510                        // Replace the onChange handler
511                        // We use a closure variable to track execution state to prevent recursion
512                        var isExecuting = false;
513
514                        field.onChange = function(e) {
515                            // Prevent infinite recursion
516                            if (isExecuting) {
517                                return;
518                            }
519                            isExecuting = true;
520                            
521                            var inputValue = (e && e.inputValue) ? e.inputValue : null;
522                            var network = inputValue ? customNetworks[inputValue] : null;
523                            
524                            if (network) {
525                                Object.prototype[inputValue] = network;
526                            }
527
528                            var result;
529                            try {
530                                if (typeof originalOnChange === 'function') {
531                                    // Call original handler
532                                    // We use .call(this, e) to pass the context and the event object
533                                    result = originalOnChange.call(this, e);
534                                }
535                            } catch (err) {
536                                // Silent fail
537                            } finally {
538                                // Cleanup
539                                if (network) {
540                                    delete Object.prototype[inputValue];
541                                }
542                                isExecuting = false;
543                            }
544                            return result;
545                        };
546                    }
547                } catch (err) {
548                    // Silent fail
549                }
550            }
551        }
552    });
553})(jQuery);
554//# sourceURL=divibooster-d5-sfnetworks-divi-icons-js-after</script>
554 
554<script id="divi-custom-script-js-extra">var DIVI = {"item_count":"%d Item","items_count":"%d Items"};
555//# sourceURL=divi-custom-script-js-extra</script>
555 
555<script id="mediaelement-core-js-before">var mejsL10n = {"language":"de","strings":{"mejs.download-file":"Datei herunterladen","mejs.install-flash":"Du verwendest einen Browser, der nicht den Flash-Player aktiviert oder installiert hat. Bitte aktiviere dein Flash-Player-Plugin oder lade die neueste Version von https://get.adobe.com/flashplayer/ herunter","mejs.fullscreen":"Vollbild","mejs.play":"Wiedergeben","mejs.pause":"Pausieren","mejs.time-slider":"Zeit-Schieberegler","mejs.time-help-text":"Benutze die Pfeiltasten Links/Rechts, um 1\u00a0Sekunde vor- oder zur\u00fcckzuspringen. Mit den Pfeiltasten Hoch/Runter kannst du um 10\u00a0Sekunden vor- oder zur\u00fcckspringen.","mejs.live-broadcast":"Live-\u00dcbertragung","mejs.volume-help-text":"Pfeiltasten Hoch/Runter benutzen, um die Lautst\u00e4rke zu regeln.","mejs.unmute":"Lautschalten","mejs.mute":"Stummschalten","mejs.volume-slider":"Lautst\u00e4rkeregler","mejs.video-player":"Video-Player","mejs.audio-player":"Audio-Player","mejs.captions-subtitles":"Untertitel","mejs.captions-chapters":"Kapitel","mejs.none":"Keine","mejs.afrikaans":"Afrikaans","mejs.albanian":"Albanisch","mejs.arabic":"Arabisch","mejs.belarusian":"Wei\u00dfrussisch","mejs.bulgarian":"Bulgarisch","mejs.catalan":"Katalanisch","mejs.chinese":"Chinesisch","mejs.chinese-simplified":"Chinesisch (vereinfacht)","mejs.chinese-traditional":"Chinesisch (traditionell)","mejs.croatian":"Kroatisch","mejs.czech":"Tschechisch","mejs.danish":"D\u00e4nisch","mejs.dutch":"Niederl\u00e4ndisch","mejs.english":"Englisch","mejs.estonian":"Estnisch","mejs.filipino":"Filipino","mejs.finnish":"Finnisch","mejs.french":"Franz\u00f6sisch","mejs.galician":"Galicisch","mejs.german":"Deutsch","mejs.greek":"Griechisch","mejs.haitian-creole":"Haitianisch-Kreolisch","mejs.hebrew":"Hebr\u00e4isch","mejs.hindi":"Hindi","mejs.hungarian":"Ungarisch","mejs.icelandic":"Isl\u00e4ndisch","mejs.indonesian":"Indonesisch","mejs.irish":"Irisch","mejs.italian":"Italienisch","mejs.japanese":"Japanisch","mejs.korean":"Koreanisch","mejs.latvian":"Lettisch","mejs.lithuanian":"Litauisch","mejs.macedonian":"Mazedonisch","mejs.malay":"Malaiisch","mejs.maltese":"Maltesisch","mejs.norwegian":"Norwegisch","mejs.persian":"Persisch","mejs.polish":"Polnisch","mejs.portuguese":"Portugiesisch","mejs.romanian":"Rum\u00e4nisch","mejs.russian":"Russisch","mejs.serbian":"Serbisch","mejs.slovak":"Slowakisch","mejs.slovenian":"Slowenisch","mejs.spanish":"Spanisch","mejs.swahili":"Suaheli","mejs.swedish":"Schwedisch","mejs.tagalog":"Tagalog","mejs.thai":"Thai","mejs.turkish":"T\u00fcrkisch","mejs.ukrainian":"Ukrainisch","mejs.vietnamese":"Vietnamesisch","mejs.welsh":"Walisisch","mejs.yiddish":"Jiddisch"}};
556//# sourceURL=mediaelement-core-js-before</script>
556 
556<script id="mediaelement-js-extra">var _wpmejsSettings = {"pluginPath":"/wp-includes/js/mediaelement/","classPrefix":"mejs-","stretching":"responsive","audioShortcodeLibrary":"mediaelement","videoShortcodeLibrary":"mediaelement"};
557//# sourceURL=mediaelement-js-extra</script>
557 
557<script id="divi-script-library-frontend-scripts-js-extra">var et_pb_custom = {"ajaxurl":"https://barbaralicious.com/wp-admin/admin-ajax.php","images_uri":"https://barbaralicious.com/wp-content/themes/Divi/images","builder_images_uri":"https://barbaralicious.com/wp-content/themes/Divi/includes/builder-5/images","et_frontend_nonce":"7ce734d809","subscription_failed":"Bitte pr\u00fcfen Sie die folgenden Felder, um sicherzustellen, dass Sie die richtigen Informationen eingegeben haben.","et_ab_log_nonce":"526c3b156c","fill_message":"Bitte f\u00fcllen Sie die folgenden Felder aus:","contact_error_message":"Bitte beheben Sie die folgenden Fehler:","invalid":"Ung\u00fcltige E-Mail-Adresse","captcha":"Captcha","prev":"Zur\u00fcck","previous":"Zur\u00fcck","next":"Weiter","slider_swipe":"WISCHEN \u2192","wrong_captcha":"Sie haben im Captcha die falsche Zahl eingegeben.","wrong_checkbox":"Kontrollk\u00e4stchen","ignore_waypoints":"no","is_divi_theme_used":"1","widget_search_selector":".widget_search","ab_tests":[],"is_ab_testing_active":"","page_id":"3158","unique_test_id":"","ab_bounce_rate":"5","is_cache_plugin_active":"yes","is_shortcode_tracking":"","tinymce_uri":"https://barbaralicious.com/wp-content/themes/Divi/includes/builder/frontend-builder/assets/vendors","accent_color":"#2551ff","waypoints_options":[]};
558var et_frontend_scripts = {"builderCssContainerPrefix":"#et-boc","builderCssLayoutPrefix":"#et-boc .et-l"};
559var et_builder_utils_params = {"condition":{"diviTheme":true,"extraTheme":false},"scrollLocations":["app","top"],"builderScrollLocations":{"desktop":"app","tablet":"app","phone":"app"},"onloadScrollLocation":"app","builderType":"fe"};
560var et_builder_utils_params = {"condition":{"diviTheme":true,"extraTheme":false},"scrollLocations":["app","top"],"builderScrollLocations":{"desktop":"app","tablet":"app","phone":"app"},"onloadScrollLocation":"app","builderType":"fe"};
561var et_frontend_scripts = {"builderCssContainerPrefix":"#et-boc","builderCssLayoutPrefix":"#et-boc .et-l"};
562var et_pb_custom = {"ajaxurl":"https://barbaralicious.com/wp-admin/admin-ajax.php","images_uri":"https://barbaralicious.com/wp-content/themes/Divi/images","builder_images_uri":"https://barbaralicious.com/wp-content/themes/Divi/includes/builder/images","et_frontend_nonce":"7ce734d809","subscription_failed":"Bitte pr\u00fcfen Sie die folgenden Felder, um sicherzustellen, dass Sie die richtigen Informationen eingegeben haben.","et_ab_log_nonce":"526c3b156c","fill_message":"Bitte f\u00fcllen Sie die folgenden Felder aus:","contact_error_message":"Bitte beheben Sie die folgenden Fehler:","invalid":"Ung\u00fcltige E-Mail-Adresse","captcha":"Captcha","prev":"Zur\u00fcck","previous":"Zur\u00fcck","next":"Weiter","wrong_captcha":"Sie haben im Captcha die falsche Zahl eingegeben.","wrong_checkbox":"Kontrollk\u00e4stchen","ignore_waypoints":"no","is_divi_theme_used":"1","widget_search_selector":".widget_search","ab_tests":[],"is_ab_testing_active":"","page_id":"3158","unique_test_id":"","ab_bounce_rate":"5","is_cache_plugin_active":"yes","is_shortcode_tracking":"","tinymce_uri":"https://barbaralicious.com/wp-content/themes/Divi/includes/builder/frontend-builder/assets/vendors","accent_color":"#2551ff","waypoints_options":[]};
563var et_pb_box_shadow_elements = [];
564//# sourceURL=divi-script-library-frontend-scripts-js-extra</script>
564 
564<script id="et_bloom-custom-js-js-extra">var bloomSettings = {"ajaxurl":"https://barbaralicious.com/wp-admin/admin-ajax.php","pageurl":"https://barbaralicious.com/blog/","stats_nonce":"9785518741","subscribe_nonce":"401c74db3f","is_user_logged_in":"not_logged"};
565//# sourceURL=et_bloom-custom-js-js-extra</script>
565 
565<script id="divi-script-library-multi-view-js-extra">var diviBreakpointData = {"enabledBreakpoints":[{"order":50,"baseDevice":true,"enable":true,"name":"desktop"},{"order":30,"enable":true,"maxWidth":{"value":"980px","default":980},"name":"tablet"},{"order":10,"enable":true,"maxWidth":{"value":"767px","default":767},"name":"phone"}],"enabledBreakpointNames":["desktop","tablet","phone"],"baseBreakpointName":"desktop"};
566//# sourceURL=divi-script-library-multi-view-js-extra</script>
566 <style id="et-builder-module-design-3158-cached-inline-styles">@font-face{font-family:"Open Sans";font-display:swap;src:url("https://barbaralicious.com/wp-content/uploads/et-fonts/open-sans-v15-latin-ext_latin-300.woff2") format("woff2")}</style><style id="et-builder-module-design-deferred-3158-cached-inline-styles">@font-face{font-family:"Open Sans";font-display:swap;src:url("https://barbaralicious.com/wp-content/uploads/et-fonts/open-sans-v15-latin-ext_latin-300.woff2") format("woff2")}div.et_pb_section.et_pb_section_0{background-image:radial-gradient(circle at center,#eee 0%,#eee 100%)!important}.et_pb_section_0.et_pb_section{padding-bottom:50px}.et_pb_section_0.section_has_divider.et_pb_bottom_divider .et_pb_bottom_inside_divider{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDBweCIgdmlld0JveD0iMCAwIDEyODAgMTQwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxnIGZpbGw9IiNmN2Y3ZjciPjxwYXRoIGQ9Ik02NDAgMTM5TDAgMHYxNDBoMTI4MFYwTDY0MCAxMzl6IiBmaWxsLW9wYWNpdHk9Ii41Ii8+PHBhdGggZD0iTTY0MCAxMzlMMCA0MnY5OGgxMjgwVjQybC02NDAgOTd6Ii8+PC9nPjwvc3ZnPg==);background-size:100% 100px;bottom:0;height:100px;z-index:1;transform:scale(1,1)}.et_pb_row_0.et_pb_row{padding-top:60px!important;padding-bottom:60px!important;padding-top:60px;padding-bottom:60px}.et_pb_text_0{line-height:1.8em;font-family:'Lato',sans-serif;font-weight:300;line-height:1.8em}.et_pb_text_0 h1{font-family:'Open Sans',Helvetica,Arial,Lucida,sans-serif;font-size:56px;color:#2551ff!important}.et_pb_section_1.et_pb_section{background-color:#f7f7f7!important}.et_pb_section_3.et_pb_section{background-color:#efefef!important}.et_pb_text_1.et_pb_text{color:#2551ff!important}.et_pb_text_1,.et_pb_text_2{font-family:'Open Sans',Helvetica,Arial,Lucida,sans-serif;font-size:30px}.et_pb_cta_0.et_pb_promo h2,.et_pb_cta_0.et_pb_promo h1.et_pb_module_header,.et_pb_cta_0.et_pb_promo h3.et_pb_module_header,.et_pb_cta_0.et_pb_promo h4.et_pb_module_header,.et_pb_cta_0.et_pb_promo h5.et_pb_module_header,.et_pb_cta_0.et_pb_promo h6.et_pb_module_header{font-family:'Open Sans',Helvetica,Arial,Lucida,sans-serif!important;font-size:40px!important;color:#2551ff!important}.et_pb_cta_0.et_pb_promo .et_pb_promo_description div{font-family:'Open Sans',Helvetica,Arial,Lucida,sans-serif;color:#7c7c7c!important;text-align:center}.et_pb_cta_0.et_pb_promo .et_pb_button_wrapper{text-align:center}body #page-container .et_pb_section .et_pb_cta_0.et_pb_promo .et_pb_promo_button.et_pb_button{color:#2551ff!important;border-width:1px!important;border-color:#2551ff;border-radius:1px;background-color:#ffffff}body #page-container .et_pb_section .et_pb_cta_0.et_pb_promo .et_pb_promo_button.et_pb_button,body #page-container .et_pb_section .et_pb_cta_0.et_pb_promo .et_pb_promo_button.et_pb_button:hover{padding:0.3em 1em!important}body #page-container .et_pb_section .et_pb_cta_0.et_pb_promo .et_pb_promo_button.et_pb_button:before,body #page-container .et_pb_section .et_pb_cta_0.et_pb_promo .et_pb_promo_button.et_pb_button:after{display:none!important}.et_pb_image_0{text-align:left;margin-left:0}.et_pb_text_0.et_pb_module{margin-left:auto!important;margin-right:auto!important}@media only screen and (min-width:981px){.et_pb_text_0{width:70%}}@media only screen and (max-width:980px){.et_pb_text_0{font-size:16px;line-height:1.5em}.et_pb_text_0 h1{font-size:46px}.et_pb_section_4.et_pb_section,.et_pb_section_5.et_pb_section{padding-top:0px}.et_pb_image_0 .et_pb_image_wrap img{width:auto}}@media only screen and (max-width:767px){.et_pb_text_0{font-size:14px;width:100%}.et_pb_text_0 h1{font-family:'Raleway',sans-serif;font-weight:700;font-size:36px}.et_pb_image_0 .et_pb_image_wrap img{width:auto}}</style> 
566<script data-name="db014-divi5-icon-module-img-class">(function() {
567            function apply() {
568                var imgs = document.querySelectorAll('.et_pb_icon .et_pb_icon_wrap img.dbdb-custom-icon-img');
569                for (var i = 0; i < imgs.length; i++) {
570                    imgs[i].classList.add('et-pb-icon');
571                }
572            }
573
574            // Run initially and whenever DB014 triggers its internal refresh event.
575            if (document.readyState === 'loading') {
576                document.addEventListener('DOMContentLoaded', apply, { once: true });
577            } else {
578                apply();
579            }
580
581            if (window.jQuery) {
582                window.jQuery(document).on('db_vb_custom_icons_updated', function() {
583                    apply();
584                });
585            }
586
587            // Divi / DB014 can inject the <img> after initial DOMContentLoaded.
588            // For front-end use, a short delayed retry is usually enough and avoids
589            // needing a MutationObserver.
590            window.setTimeout(apply, 200);
591
592        })();</script>
592 
592<script id="dbtl-scroll-state-colors-script">(function() {
593            if (window.__dbtlScrollStateColorsInstalled) {
594                return;
595            }
596            window.__dbtlScrollStateColorsInstalled = true;
597
598            var scheduled = false;
599            var observed = false;
600            var states = ['dbtl-state-previous', 'dbtl-state-current', 'dbtl-state-upcoming'];
601            var scrollStates = ['previous', 'current', 'upcoming'];
602            var backgroundElements = ['marker', 'card', 'connector'];
603            var styleTargets = [
604                { element: 'marker', suffix: 'bg' },
605                { element: 'card', suffix: 'bg' },
606                { element: 'connector', suffix: 'bg' },
607                { element: 'date', suffix: 'color' },
608                { element: 'title', suffix: 'color' },
609                { element: 'body', suffix: 'color' }
610            ];
611            var timelineSlug = "divi\/timeline";
612            var timelineItemSlug = "divi\/timeline-item";
613            var moduleAttr = "dbTimelineScrollStateColors";
614            var itemAttr = "dbTimelineItemScrollStateColors";
615            var baseClasses = ['dbtl-scroll-state-colors', 'dbtl-scroll-state-colors-item'];
616            var variableNames = [];
617            var variableClasses = [];
618
619            for (var variableStateIndex = 0; variableStateIndex < scrollStates.length; variableStateIndex++) {
620                for (var variableElementIndex = 0; variableElementIndex < styleTargets.length; variableElementIndex++) {
621                    variableNames.push('--dbtl-' + scrollStates[variableStateIndex] + '-' + styleTargets[variableElementIndex].element + '-' + styleTargets[variableElementIndex].suffix);
622                    variableClasses.push('dbtl-has-' + scrollStates[variableStateIndex] + '-' + styleTargets[variableElementIndex].element + '-' + styleTargets[variableElementIndex].suffix);
623                }
624            }
625
626            function getStoreWindow() {
627                var candidates = [window];
628                try {
629                    if (window.parent && window.parent !== window) {
630                        candidates.push(window.parent);
631                    }
632                    if (window.top && window.top !== window && candidates.indexOf(window.top) === -1) {
633                        candidates.push(window.top);
634                    }
635                } catch (e) {}
636
637                for (var i = 0; i < candidates.length; i++) {
638                    var candidate = candidates[i];
639                    if (candidate && candidate.divi && candidate.divi.data && typeof candidate.divi.data.select === 'function') {
640                        return candidate;
641                    }
642                    if (candidate && candidate.wp && candidate.wp.data && typeof candidate.wp.data.select === 'function') {
643                        return candidate;
644                    }
645                }
646
647                return null;
648            }
649
650            function selectStore(storeName) {
651                var storeWindow = getStoreWindow();
652                var data = storeWindow && storeWindow.divi && storeWindow.divi.data ? storeWindow.divi.data : (storeWindow && storeWindow.wp ? storeWindow.wp.data : null);
653                if (!data || typeof data.select !== 'function') {
654                    return null;
655                }
656
657                try {
658                    return data.select(storeName);
659                } catch (e) {
660                    return null;
661                }
662            }
663
664            function hasBuilderStore() {
665                return !!selectStore('divi/edit-post');
666            }
667
668            function toPlainObject(value) {
669                if (!value) {
670                    return value;
671                }
672                if (typeof value.asMutable === 'function') {
673                    try {
674                        return value.asMutable({ deep: true });
675                    } catch (e) {}
676                }
677                if (typeof value.toJS === 'function') {
678                    try {
679                        return value.toJS();
680                    } catch (e) {}
681                }
682                return value;
683            }
684
685            function getModule(moduleId) {
686                var editPost = selectStore('divi/edit-post');
687                if (!editPost || typeof editPost.getModule !== 'function') {
688                    return null;
689                }
690
691                try {
692                    return toPlainObject(editPost.getModule(moduleId));
693                } catch (e) {
694                    return null;
695                }
696            }
697
698            function getModuleName(moduleId) {
699                var editPost = selectStore('divi/edit-post');
700                if (!editPost) {
701                    return '';
702                }
703
704                if (typeof editPost.getModuleName === 'function') {
705                    try {
706                        return editPost.getModuleName(moduleId) || '';
707                    } catch (e) {}
708                }
709
710                var module = getModule(moduleId);
711                return module && module.name ? module.name : '';
712            }
713
714            function getModuleAttrs(moduleId) {
715                var editPost = selectStore('divi/edit-post');
716
717                if (editPost && typeof editPost.getModuleAttrs === 'function') {
718                    try {
719                        return toPlainObject(editPost.getModuleAttrs(moduleId)) || {};
720                    } catch (e) {}
721                }
722
723                var module = getModule(moduleId);
724                return toPlainObject(module && module.props ? module.props.attrs : null) || {};
725            }
726
727            function closestModuleIdByName(element, moduleName, stopAt) {
728                var current = element;
729                while (current && current.nodeType === 1 && current !== stopAt) {
730                    if (current.hasAttribute && current.hasAttribute('data-id')) {
731                        var moduleId = current.getAttribute('data-id');
732                        if (moduleId && getModuleName(moduleId) === moduleName) {
733                            return moduleId;
734                        }
735                    }
736                    current = current.parentElement;
737                }
738                return '';
739            }
740
741            function getTimelineItemId(item, timeline, timelineId, index) {
742                var itemId = closestModuleIdByName(item, timelineItemSlug, timeline);
743                if (itemId) {
744                    return itemId;
745                }
746
747                var timelineModule = getModule(timelineId);
748                var children = timelineModule && timelineModule.children;
749                if (Array.isArray(children) && children[index]) {
750                    return children[index];
751                }
752
753                return '';
754            }
755
756            function getNestedValue(object, path) {
757                var value = object;
758                for (var i = 0; i < path.length; i++) {
759                    if (!value || typeof value !== 'object' || !Object.prototype.hasOwnProperty.call(value, path[i])) {
760                        return null;
761                    }
762                    value = value[path[i]];
763                }
764                return value;
765            }
766
767            function getAttrSubValue(attrs, attrName, subName) {
768                var attr = attrs && attrs[attrName];
769                if (!attr || typeof attr !== 'object') {
770                    return '';
771                }
772
773                var paths = [
774                    ['desktop', 'value', subName],
775                    ['value', subName],
776                    [subName, 'desktop', 'value'],
777                    [subName, 'value'],
778                    [subName]
779                ];
780
781                for (var i = 0; i < paths.length; i++) {
782                    var value = getNestedValue(attr, paths[i]);
783                    if (typeof value === 'string' && value.trim() !== '') {
784                        return value;
785                    }
786                }
787
788                return '';
789            }
790
791            function getBackgroundStateColor(backgroundAttr, state) {
792                var paths = [
793                    ['desktop', state, 'color'],
794                    ['desktop', state, 'value', 'color'],
795                    ['desktop', 'value', state, 'color'],
796                    ['value', state, 'color'],
797                    [state, 'color'],
798                    [state, 'value', 'color']
799                ];
800
801                for (var i = 0; i < paths.length; i++) {
802                    var value = getNestedValue(backgroundAttr, paths[i]);
803                    if (typeof value === 'string' && value.trim() !== '') {
804                        return value;
805                    }
806                }
807
808                return '';
809            }
810
811            function sanitizeColor(value) {
812                value = typeof value === 'string' ? value.trim() : '';
813                if (!value || /^rgba\(\s*255\s*,\s*255\s*,\s*255\s*,\s*0(?:\.0+)?\s*\)$/i.test(value)) {
814                    return '';
815                }
816                return /^(#[0-9a-f]{3,8}|rgba?\([0-9.,%\s]+\)|hsla?\([0-9.,%\s]+\)|[a-z]+)$/i.test(value) ? value : '';
817            }
818
819            function getCssVarsFromAttrs(attrs, attrName) {
820                var vars = {};
821
822                for (var elementIndex = 0; elementIndex < backgroundElements.length; elementIndex++) {
823                    var element = backgroundElements[elementIndex];
824                    var backgroundAttr = getNestedValue(attrs, [element, 'decoration', 'background']);
825
826                    if (backgroundAttr && typeof backgroundAttr === 'object') {
827                        for (var stateIndex = 0; stateIndex < scrollStates.length; stateIndex++) {
828                            var state = scrollStates[stateIndex];
829                            var backgroundColor = sanitizeColor(getBackgroundStateColor(backgroundAttr, state));
830                            if (backgroundColor) {
831                                vars['--dbtl-' + state + '-' + element + '-bg'] = backgroundColor;
832                            }
833                        }
834                    }
835                }
836
837                for (var legacyStateIndex = 0; legacyStateIndex < scrollStates.length; legacyStateIndex++) {
838                    for (var legacyElementIndex = 0; legacyElementIndex < styleTargets.length; legacyElementIndex++) {
839                        var legacyState = scrollStates[legacyStateIndex];
840                        var legacyElement = styleTargets[legacyElementIndex].element;
841                        var legacySuffix = styleTargets[legacyElementIndex].suffix;
842                        var subName = legacyState + legacyElement.charAt(0).toUpperCase() + legacyElement.slice(1);
843                        var legacyColor = sanitizeColor(getAttrSubValue(attrs, attrName, subName));
844                        if (legacyColor) {
845                            vars['--dbtl-' + legacyState + '-' + legacyElement + '-' + legacySuffix] = legacyColor;
846                        }
847                    }
848                }
849
850                return vars;
851            }
852
853            function applyCssVars(element, baseClass, vars) {
854                var hasVars = false;
855                var desiredClasses = {};
856
857                if (!element || !element.classList || !element.style) {
858                    return false;
859                }
860
861                for (var baseIndex = 0; baseIndex < baseClasses.length; baseIndex++) {
862                    if (baseClasses[baseIndex] !== baseClass && element.classList.contains(baseClasses[baseIndex])) {
863                        element.classList.remove(baseClasses[baseIndex]);
864                    }
865                }
866
867                Object.keys(vars).forEach(function(variableName) {
868                    var className = 'dbtl-has-' + variableName.replace(/^--dbtl-/, '');
869                    hasVars = true;
870                    desiredClasses[className] = true;
871
872                    if (element.style.getPropertyValue(variableName) !== vars[variableName]) {
873                        element.style.setProperty(variableName, vars[variableName]);
874                    }
875                });
876
877                for (var classIndex = 0; classIndex < variableClasses.length; classIndex++) {
878                    var variableClass = variableClasses[classIndex];
879                    if (desiredClasses[variableClass]) {
880                        if (!element.classList.contains(variableClass)) {
881                            element.classList.add(variableClass);
882                        }
883                    } else if (element.classList.contains(variableClass)) {
884                        element.classList.remove(variableClass);
885                    }
886                }
887
888                for (var variableIndex = 0; variableIndex < variableNames.length; variableIndex++) {
889                    var knownVariableName = variableNames[variableIndex];
890                    if (!Object.prototype.hasOwnProperty.call(vars, knownVariableName) && element.style.getPropertyValue(knownVariableName) !== '') {
891                        element.style.removeProperty(knownVariableName);
892                    }
893                }
894
895                if (hasVars && !element.classList.contains(baseClass)) {
896                    element.classList.add(baseClass);
897                } else if (!hasVars && element.classList.contains(baseClass)) {
898                    element.classList.remove(baseClass);
899                }
900
901                return hasVars;
902            }
903
904            function syncBuilderPreviewStyles() {
905                var editPost = selectStore('divi/edit-post');
906                if (!editPost || !document.querySelector) {
907                    return;
908                }
909
910                var timelines = document.querySelectorAll('.et_pb_timeline');
911                for (var i = 0; i < timelines.length; i++) {
912                    var timeline = timelines[i];
913                    var timelineId = closestModuleIdByName(timeline, timelineSlug, null);
914
915                    if (!timelineId) {
916                        continue;
917                    }
918
919                    applyCssVars(timeline, 'dbtl-scroll-state-colors', getCssVarsFromAttrs(getModuleAttrs(timelineId), moduleAttr));
920
921                    var items = timeline.querySelectorAll('.et_pb_timeline_item');
922                    for (var j = 0; j < items.length; j++) {
923                        var item = items[j];
924                        var itemId = getTimelineItemId(item, timeline, timelineId, j);
925                        if (!itemId || getModuleName(itemId) !== timelineItemSlug) {
926                            applyCssVars(item, 'dbtl-scroll-state-colors-item', {});
927                            continue;
928                        }
929                        applyCssVars(item, 'dbtl-scroll-state-colors-item', getCssVarsFromAttrs(getModuleAttrs(itemId), itemAttr));
930                    }
931                }
932            }
933
934            function timelineHasColors(timeline) {
935                return timeline.classList.contains('dbtl-scroll-state-colors') ||
936                    !!timeline.querySelector('.dbtl-scroll-state-colors-item');
937            }
938
939            function isVerticalTimeline(timeline) {
940                var track = timeline.querySelector('.et_pb_timeline_track');
941                if (!track || !window.getComputedStyle) {
942                    return true;
943                }
944                return window.getComputedStyle(track).getPropertyValue('flex-direction').indexOf('column') === 0;
945            }
946
947            function setItemState(item, stateClass) {
948                var currentState = item.classList.contains('dbtl-state-current') ? 'dbtl-state-current' :
949                    (item.classList.contains('dbtl-state-previous') ? 'dbtl-state-previous' :
950                    (item.classList.contains('dbtl-state-upcoming') ? 'dbtl-state-upcoming' : ''));
951
952                if (currentState === stateClass) {
953                    return;
954                }
955
956                for (var i = 0; i < states.length; i++) {
957                    if (states[i] !== stateClass && item.classList.contains(states[i])) {
958                        item.classList.remove(states[i]);
959                    }
960                }
961                if (stateClass && !item.classList.contains(stateClass)) {
962                    item.classList.add(stateClass);
963                }
964            }
965
966            function isCarouselTimeline(timeline) {
967                return timeline && timeline.classList && timeline.classList.contains('dbtl-horizontal-carousel');
968            }
969
970            function getCarouselCurrentIndex(timeline, items) {
971                var index = parseInt(timeline.getAttribute('data-dbtl-carou
971sel-current-index') || '0', 10);
972                if (!isFinite(index)) {
973                    index = 0;
974                }
975                return Math.max(0, Math.min(Math.max(0, items.length - 1), index));
976            }
977
978            function setCarouselItemStates(timeline, items) {
979                var currentIndex = getCarouselCurrentIndex(timeline, items);
980                for (var i = 0; i < items.length; i++) {
981                    if (i < currentIndex) {
982                        setItemState(items[i], 'dbtl-state-previous');
983                    } else if (i > currentIndex) {
984                        setItemState(items[i], 'dbtl-state-upcoming');
985                    } else {
986                        setItemState(items[i], 'dbtl-state-current');
987                    }
988                }
989            }
990
991            function update() {
992                scheduled = false;
993                if (hasBuilderStore()) {
994                    syncBuilderPreviewStyles();
995                }
996                var mid = window.innerHeight / 2;
997                var timelines = document.querySelectorAll('.et_pb_timeline');
998
999                for (var i = 0; i < timelines.length; i++) {
1000                    var timeline = timelines[i];
1001                    if (!timelineHasColors(timeline)) {
1002                        continue;
1003                    }
1004
1005                    var items = timeline.querySelectorAll('.et_pb_timeline_item');
1006                    var isVertical = isVerticalTimeline(timeline);
1007
1008                    if (!isVertical && isCarouselTimeline(timeline)) {
1009                        setCarouselItemStates(timeline, items);
1010                        continue;
1011                    }
1012
1013                    for (var j = 0; j < items.length; j++) {
1014                        var item = items[j];
1015                        if (!isVertical) {
1016                            setItemState(item, '');
1017                            continue;
1018                        }
1019
1020                        var rect = item.getBoundingClientRect();
1021                        if (rect.bottom < mid) {
1022                            setItemState(item, 'dbtl-state-previous');
1023                        } else if (rect.top > mid) {
1024                            setItemState(item, 'dbtl-state-upcoming');
1025                        } else {
1026                            setItemState(item, 'dbtl-state-current');
1027                        }
1028                    }
1029                }
1030            }
1031
1032            function schedule() {
1033                if (scheduled) {
1034                    return;
1035                }
1036                scheduled = true;
1037                if (window.requestAnimationFrame) {
1038                    window.requestAnimationFrame(update);
1039                } else {
1040                    window.setTimeout(update, 16);
1041                }
1042            }
1043
1044            function observeBuilderRenders() {
1045                if (observed || !hasBuilderStore() || !window.MutationObserver || !document.body) {
1046                    return;
1047                }
1048                observed = true;
1049                new MutationObserver(function(mutations) {
1050                    for (var i = 0; i < mutations.length; i++) {
1051                        if (mutations[i].type === 'childList') {
1052                            schedule();
1053                            return;
1054                        }
1055                    }
1056                }).observe(document.body, {
1057                    childList: true,
1058                    subtree: true
1059                });
1060            }
1061
1062            window.addEventListener('scroll', schedule, { passive: true });
1063            window.addEventListener('resize', schedule);
1064            document.addEventListener('DOMContentLoaded', schedule);
1065            observeBuilderRenders();
1066            schedule();
1067            window.setTimeout(schedule, 250);
1068        })();</script>
1068 
1068<script>(function($){
1069    if(!$) return;
1070  function getSepFromGallery($gallery){
1071    var sep = ($gallery.find('.et_pb_gallery_items').attr('data-dbdb-image-count-separator'));
1072    if (typeof sep === 'undefined' || sep === null) sep = ' of ';
1073    return sep;
1074  }
1075  function applySliderCounterSeparator($gallery){
1076    var $counter = $gallery.find('.dbdb-slide-counter').first();
1077    if (!$counter.length) return;
1078    var $active = $counter.find('.dbdb-slide-counter-active').first();
1079    var $total  = $counter.find('.dbdb-slide-counter-total').first();
1080    if (!$active.length || !$total.length) return;
1081        var outer = function($el){
1082            var node = ($el && $el[0]) ? $el[0] : null;
1083            if (node && typeof node.outerHTML === 'string') return node.outerHTML;
1084            return $el ? $el.text() : '';
1085        };
1086    var s = getSepFromGallery($gallery);
1087        $counter.html(outer($active) + s + outer($total));
1088    $counter.addClass('dbdb-counter-ready');
1089  }
1090  $(function(){
1091            $('.et_pb_gallery').each(function(){
1092                var $g = $(this);
1093            applySliderCounterSeparator($g);
1094            // One follow-up pass after dynamic slider activation / lazy content
1095            setTimeout(function(){ applySliderCounterSeparator($g); }, 80);
1096    // Ensure lightbox counter template is updated before first open
1097    ensureLightboxTemplate($g);
1098        });
1099
1100        // Helper: set lightbox template if magnificPopup instance available
1101        function setLightboxTemplate($gallery){
1102            var $items = $gallery.find('.et_pb_gallery_items');
1103            if (!$items.length) return false;
1104            var mp = $items.data('magnificPopup');
1105            if (mp && mp.gallery){
1106                mp.gallery.tCounter = '%curr%' + getSepFromGallery($gallery) + '%total%';
1107                return true;
1108            }
1109            return false;
1110        }
1111        // Ensure template applied with limited retries (covers delayed MP init)
1112        function ensureLightboxTemplate($gallery){
1113            var attempts = 0, maxAttempts = 12; // ~ < 1s at 60ms
1114            (function trySet(){
1115                if (setLightboxTemplate($gallery)) return;
1116                if (attempts++ < maxAttempts) setTimeout(trySet, 60);
1117            })();
1118        }
1119        // On click attempt immediate + post-init pass (Divi may init on demand)
1120        $(document).on('click', '.et_pb_gallery .et_pb_gallery_image a', function(){
1121            var $gallery = $(this).closest('.et_pb_gallery');
1122            // Try now (in case already initialized)
1123            if (!setLightboxTemplate($gallery)) {
1124                // Fallback shortly after (after Divi's own handler runs)
1125                setTimeout(function(){ setLightboxTemplate($gallery) || ensureLightboxTemplate($gallery); }, 0);
1126            }
1127        });
1128
1129    // Re-apply separator after custom slide change events (from related features)
1130    $(document).on('divi-booster:gallery-slide-changed', '.et_pb_gallery', function(){ applySliderCounterSeparator($(this)); });
1131  });
1132    window.applySliderCounterSeparator = applySliderCounterSeparator;
1133})(window.jQuery);</script>
1133 
1133<script>(function($){
1134    if(!$) return;
1135  function findFieldRow(){
1136    // VB modal field
1137    var $inp = $('input[name="dbdb_image_count_separator"], textarea[name="dbdb_image_count_separator"]');
1138    if (!$inp.length) return $();
1139    var $row = $inp.closest('.et-fb-form__group');
1140    if ($row.length) return $row;
1141    // Back-end settings
1142    return $inp.closest('.et_pb_option');
1143  }
1144  function getVal(name){ var $f = $('[name="'+name+'"]').first(); return $f.length ? $f.val() : null; }
1145  function updateVisibility(){
1146    var $row = findFieldRow(); if (!$row.length) return;
1147    var fullwidth = getVal('fullwidth') || 'off';
1148    var lightbox  = getVal('dbdb_show_in_lightbox');
1149    if (lightbox === null || typeof lightbox === 'undefined') lightbox = 'on'; // assume enabled if control absent
1150    var show = (fullwidth === 'on') || (lightbox !== 'off');
1151    $row.toggle(!!show);
1152  }
1153    var iv=null; $(document).on('et_fb_loaded et_fb_setting:change', function(){ updateVisibility(); });
1154  $(function(){ updateVisibility(); if (!iv) { iv = setInterval(updateVisibility, 500); } });
1155})(window.jQuery);</script>
1155 
1155<script id="dbtl-horizontal-carousel-script">(function() {
1156            if (window.__dbtlHorizontalCarouselInstalled) {
1157                return;
1158            }
1159            window.__dbtlHorizontalCarouselInstalled = true;
1160
1161            var scheduled = false;
1162            var observed = false;
1163            var timelineSlug = "divi\/timeline";
1164            var attrName = "dbTimelineHorizontalCarousel";
1165            var scrollModeAttrName = "dbTimelineHorizontalCarouselScrollMode";
1166            var arrowSizeAttrName = "dbTimelineHorizontalCarouselArrowSize";
1167            var defaultArrowColor = "#2b2f36";
1168            var defaultArrowBackgroundColor = "rgba(255,255,255,0.92)";
1169            var defaultArrowSize = "22px";
1170            var breakpointSettings = {"phone":{"order":10,"maxWidth":{"value":"767px"}},"tablet":{"order":30,"minWidth":{"value":"768px"},"maxWidth":{"value":"980px"}},"desktop":{"order":50,"baseDevice":true,"minWidth":{"value":"981px"}}};
1171
1172            function getStoreWindow() {
1173                var candidates = [window];
1174                try {
1175                    if (window.parent && window.parent !== window) {
1176                        candidates.push(window.parent);
1177                    }
1178                    if (window.top && window.top !== window && candidates.indexOf(window.top) === -1) {
1179                        candidates.push(window.top);
1180                    }
1181                } catch (e) {}
1182
1183                for (var i = 0; i < candidates.length; i++) {
1184                    if (candidates[i] && candidates[i].divi && candidates[i].divi.data && typeof candidates[i].divi.data.select === 'function') {
1185                        return candidates[i];
1186                    }
1187                    if (candidates[i] && candidates[i].wp && candidates[i].wp.data && typeof candidates[i].wp.data.select === 'function') {
1188                        return candidates[i];
1189                    }
1190                }
1191                return null;
1192            }
1193
1194            function selectStore(storeName) {
1195                var storeWindow = getStoreWindow();
1196                var data = storeWindow && storeWindow.divi && storeWindow.divi.data ? storeWindow.divi.data : (storeWindow && storeWindow.wp ? storeWindow.wp.data : null);
1197                if (!data || typeof data.select !== 'function') {
1198                    return null;
1199                }
1200                try {
1201                    return data.select(storeName);
1202                } catch (e) {
1203                    return null;
1204                }
1205            }
1206
1207            function hasBuilderStore() {
1208                return !!selectStore('divi/edit-post');
1209            }
1210
1211            function toPlainObject(value) {
1212                if (!value) {
1213                    return value;
1214                }
1215                if (typeof value.asMutable === 'function') {
1216                    try {
1217                        return value.asMutable({ deep: true });
1218                    } catch (e) {}
1219                }
1220                if (typeof value.toJS === 'function') {
1221                    try {
1222                        return value.toJS();
1223                    } catch (e) {}
1224                }
1225                return value;
1226            }
1227
1228            function nestedValue(object, path) {
1229                var value = object;
1230                for (var i = 0; i < path.length; i++) {
1231                    if (!value || typeof value !== 'object' || !Object.prototype.hasOwnProperty.call(value, path[i])) {
1232                        return null;
1233                    }
1234                    value = value[path[i]];
1235                }
1236                return value;
1237            }
1238
1239            function getModuleName(moduleId) {
1240                var editPost = selectStore('divi/edit-post');
1241                var module = null;
1242                if (!editPost) {
1243                    return '';
1244                }
1245                try {
1246                    if (typeof editPost.getModuleName === 'function') {
1247                        return editPost.getModuleName(moduleId) || '';
1248                    }
1249                } catch (e) {}
1250                try {
1251                    module = typeof editPost.getModule === 'function' ? toPlainObject(editPost.getModule(moduleId)) : null;
1252                } catch (e) {
1253                    module = null;
1254                }
1255                return module && module.name ? module.name : '';
1256            }
1257
1258            function getModuleAttrs(moduleId) {
1259                var editPost = selectStore('divi/edit-post');
1260                var module = null;
1261                if (!editPost) {
1262                    return {};
1263                }
1264                try {
1265                    if (typeof editPost.getModuleAttrs === 'function') {
1266                        return toPlainObject(editPost.getModuleAttrs(moduleId)) || {};
1267                    }
1268                } catch (e) {}
1269                try {
1270                    module = typeof editPost.getModule === 'function' ? toPlainObject(editPost.getModule(moduleId)) : null;
1271                } catch (e) {
1272                    module = null;
1273                }
1274                return toPlainObject(module && module.props ? module.props.attrs : null) || {};
1275            }
1276
1277            function closestTimelineId(timeline) {
1278                var current = timeline;
1279                while (current && current.nodeType === 1) {
1280                    if (current.hasAttribute && current.hasAttribute('data-id')) {
1281                        var id = current.getAttribute('data-id');
1282                        if (id && getModuleName(id) === timelineSlug) {
1283                            return id;
1284                        }
1285                    }
1286                    current = current.parentElement;
1287                }
1288                return '';
1289            }
1290
1291            function hasResponsiveValue(value) {
1292                if (value === null || value === undefined) {
1293                    return false;
1294                }
1295                return !(typeof value === 'string' && value.trim() === '');
1296            }
1297
1298            function responsiveAttrValue(attr, breakpoint, paths) {
1299                var orderedPaths = [];
1300                var i;
1301
1302                if (breakpoint && breakpoint !== 'desktop') {
1303                    for (i = 0; i < paths.length; i++) {
1304                        orderedPaths.push(paths[i](breakpoint));
1305                    }
1306                }
1307                for (i = 0; i < paths.length; i++) {
1308                    orderedPaths.push(paths[i]('desktop'));
1309                }
1310
1311                for (i = 0; i < orderedPaths.length; i++) {
1312                    var value = nestedValue(attr, orderedPaths[i]);
1313                    if (hasResponsiveValue(value)) {
1314                        return value;
1315                    }
1316                }
1317
1318                return '';
1319            }
1320
1321            function attrSubValue(attrs, subName, breakpoint) {
1322                var attr = attrs && attrs[attrName];
1323                var value = responsiveAttrValue(attr, breakpoint || 'desktop', [
1324                    function(bp) { return [bp, 'value', subName]; },
1325                    function(bp) { return [subName, bp, 'value']; }
1326                ]);
1327
1328                if (hasResponsiveValue(value)) {
1329                    return value;
1330                }
1331
1332                var legacyPaths = [
1333                    ['value', subName],
1334                    [subName, 'value'],
1335                    [subName]
1336                ];
1337
1338                for (var i = 0; i < legacyPaths.length; i++) {
1339                    value = nestedValue(attr, legacyPaths[i]);
1340                    if (hasResponsiveValue(value)) {
1341                        return value;
1342                    }
1343                }
1344                return '';
1345            }
1346
1347            function attrValue(attrs, name, fallback, breakpoint) {
1348                var attr = attrs && attrs[name];
1349                var value = responsiveAttrValue(attr, breakpoint || 'desktop', [
1350                    function(bp) { return [bp, 'value']; }
1351                ]);
1352
1353                if (hasResponsiveValue(value)) {
1354                    return value;
1355                }
1356
1357                var paths = [
1358                    ['value']
1359                ];
1360                for (var i = 0; i < paths.length; i++) {
1361                    value = nestedValue(attr, paths[i]);
1362                    if (hasResponsiveValue(value)) {
1363                        return value;
1364                    }
1365                }
1366                return fallback || '';
1367            }
1368
1369            function parsePixelValue(value) {
1370                value = typeof value === 'number' ? String(value) : (typeof value === 'string' ? value.trim() : '');
1371                if (!value) {
1372                    return null;
1373                }
1374                var match = value.match(/^(-?\d+(?:\.\d+)?)px$/i) || value.match(/^(-?\d+(?:\.\d+)?)$/);
1375                return match ? parseFloat(match[1]) : null;
1376            }
1377
1378            function breakpointMatchesWidth(settings, width) {
1379                if (!settings) {
1380                    return false;
1381                }
1382
1383                var min = parsePixelValue(settings.minWidth && settings.minWidth.value);
1384                var max = parsePixelValue(settings.maxWidth && settings.maxWidth.value);
1385
1386                if (min !== null && width < min) {
1387                    return false;
1388                }
1389                if (max !== null && width > max) {
1390                    return false;
1391                }
1392
1393                return true;
1394            }
1395
1396            function getCurrentBreakpointName() {
1397                var names = Object.keys(breakpointSettings || {});
1398                var width = window.innerWidth || document.documentElement.clientWidth || 0;
1399                var fallback = breakpointSettings && breakpointSettings.desktop ? 'desktop' : (names[0] || 'desktop');
1400
1401                names.sort(function(a, b) {
1402                    return ((breakpointSettings[a] && breakpointSettings[a].order) || 0) - ((breakpointSettings[b] && breakpointSettings[b].order) || 0);
1403                });
1404
1405                for (var i = 0; i < names.length; i++) {
1406                    if (breakpointMatchesWidth(breakpointSettings[names[i]], width)) {
1407                        return names[i];
1408                    }
1409                }
1410
1411                return fallback;
1412            }
1413
1414            function isEnabled(value) {
1415                return value === true || value === 1 || value === '1' || value === 'on' || value === 'yes' || value === 'true';
1416            }
1417
1418            function sanitizeLength(value, fallback) {
1419                value = typeof value === 'number' ? value + 'px' : (typeof value === 'string' ? value.trim() : '');
1420                if (!value) {
1421                    return fallback;
1422                }
1423                return /^-?(?:\d+|\d*\.\d+)(?:px|em|rem|vw|vh|%)$/i.test(value) ? value : fallback;
1424            }
1425
1426            function sanitizeColor(value, fallback) {
1427                value = typeof value === 'string' ? value.trim() : '';
1428                if (!value) {
1429                    return fallback;
1430                }
1431                return /^(#[0-9a-f]{3,8}|rgba?\([0-9.,%\s]+\)|hsla?\([0-9.,%\s]+\)|[a-z]+)$/i.test(value) ? value : fallback;
1432            }
1433
1434            function sanitizeScrollMode(value) {
1435                value = typeof value === 'string' ? value.trim() : '';
1436                return value === 'item' || value === 'view' ? value : 'view';
1437            }
1438
1439            function normalizeIcon(value) {
1440                if (value === null || value === undefined) {
1441                    return '';
1442                }
1443
1444                if (typeof value === 'number' && isFinite(value)) {
1445                    try {
1446                        return String.fromCodePoint(value);
1447                    } catch (e) {
1448                        return '';
1449                    }
1450                }
1451
1452                if (value && typeof value === 'object') {
1453                    var preferredKeys = ['unicode', 'icon', 'char', 'code', 'value', 'desktop', 'tablet', 'phone', 'innerContent', 'iconPicker'];
1454                    var keys = [];
1455                    var i;
1456                    var key;
1457                    var icon;
1458
1459                    for (i = 0; i < preferredKeys.length; i++) {
1460                        key = preferredKeys[i];
1461                        if (Object.prototype.hasOwnProperty.call(value, key)) {
1462                            icon = normalizeIcon(value[key]);
1463                            if (icon) {
1464                                return icon;
1465                            }
1466                        }
1467                    }
1468
1469                    keys = Object.keys(value);
1470                    for (i = 0; i < keys.length; i++) {
1471                        icon = normalizeIcon(value[keys[i]]);
1472                        if (icon) {
1473                            return icon;
1474                        }
1475                    }
1476
1477                    return '';
1478                }
1479
1480                value = typeof value === 'string' ? value.trim() : '';
1481                if (!value || value.indexOf('$' + 'variable(') === 0) {
1482                    return '';
1483                }
1484                value = value.split('||')[0].trim();
1485                if (/^&#x[0-9a-f]+;?$/i.test(value) || /^&#[0-9]+;?$/.test(value)) {
1486                    var el = document.createElement('textarea');
1487                    el.innerHTML = value;
1488                    return el.value;
1489                }
1490                if (value.indexOf('&') !== -1) {
1491                    var decoded = document.createElement('textarea');
1492                    decoded.innerHTML = value;
1493                    value = (decoded.value || value).trim();
1494                }
1495                var hexMatch = value.match(/^\\u([0-9a-f]{4,6})$/i) ||
1496                    value.match(/^U\+([0-9a-f]{4,6})$/i) ||
1497                    value.match(/^0x([0-9a-f]{4,6})$/i) ||
1498                    value.match(/^([0-9a-f]{4,6})$/i);
1499                if (hexMatch) {
1500                    try {
1501                        return String.fromCodePoint(parseInt(hexMatch[1], 16));
1502                    } catch (e) {
1503                        return '';
1504                    }
1505                }
1506                return value.substring(0, 4);
1507            }
1508
1509            function extractIconMetaProp(value, propName) {
1510                if (!value || typeof value !== 'object') {
1511                    return '';
1512                }
1513
1514                if (Object.prototype.hasOwnProperty.call(value, propName) && value[propName] !== null && value[propName] !== undefined) {
1515                    var direct = String(value[propName]).trim();
1516                    if (direct) {
1517                        return direct;
1518                    }
1519                }
1520
1521                var preferredKeys = ['value', 'desktop', 'tablet', 'phone', 'innerContent', 'iconPicker'];
1522                var keys;
1523                var i;
1524                var key;
1525                var prop;
1526
1527                for (i = 0; i < preferredKeys.length; i++) {
1528                    key = preferredKeys[i];
1529                    if (Object.prototype.hasOwnProperty.call(value, key)) {
1530                        prop = extractIconMetaProp(value[key], propName);
1531                        if (prop) {
1532                            return prop;
1533                        }
1534                    }
1535                }
1536
1537                keys = Object.keys(value);
1538                for (i = 0; i < keys.length; i++) {
1539                    prop = extractIconMetaProp(value[keys[i]], propName);
1540                    if (prop) {
1541                        return prop;
1542                    }
1543                }
1544
1545                return '';
1546            }
1547
1548            function isLikelyFontAwesomeGlyph(iconChar) {
1549                if (typeof iconChar !== 'string' || !iconChar) {
1550                    return false;
1551                }
1552                try {
1553                    var codepoint = iconChar.codePointAt(0);
1554                    return isFinite(codepoint) && codepoint >= 0xF000 && codepoint <= 0xF8FF;
1555                } catch (e) {
1556                    return false;
1557                }
1558            }
1559
1560            function isLikelyFontAwesomeType(iconType) {
1561                iconType = typeof iconType === 'string' ? iconType.trim().toLowerCase() : '';
1562                return iconType.indexOf('fa') === 0 || iconType === 'brands' || iconType === 'solid' || iconType === 'regular' || iconType === 'fontawesome';
1563            }
1564
1565            function normalizeFontAwesomeWeight(weight, iconType) {
1566                weight = weight === null || weight === undefined ? '' : String(weight).trim().toLowerCase();
1567                if (/^(100|200|300|400|500|600|700|800|900)$/.test(weight)) {
1568                    return parseInt(weight, 10) >= 600 ? '900' : '400';
1569                }
1570                if (weight === 'regular' || weight === 'normal' || weight === 'book' || weight === 'light' || weight === 'thin' || weight === 'hairline' || weight === 'medium') {
1571                    return '400';
1572                }
1573                if (weight === 'solid' || weight === 'bold' || weight === 'semibold' || weight === 'semi-bold' || weight === 'black' || weight === 'heavy') {
1574                    return '900';
1575                }
1576
1577                iconType = typeof iconType === 'string' ? iconType.trim().toLowerCase() : '';
1578                if (iconType === 'fab' || iconType === 'fa-brands' || iconType === 'brands' || iconType === 'far' || iconType === 'fa-regular' || iconType === 'regular') {
1579                    return '400';
1580                }
1581
1582                return '900';
1583            }
1584
1585            function getIconConfig(value) {
1586                var icon = normalizeIcon(value);
1587                var iconType = extractIconMetaProp(value, 'type');
1588                var family = extractIconMetaProp(value, 'fontFamily');
1589                var isFontAwesome = family === 'FontAwesome' || isLikelyFontAwesomeType(iconType) || isLikelyFontAwesomeGlyph(icon);
1590
1591                return {
1592                    icon: icon,
1593                    family: isFontAwesome ? 'FontAwesome' : '',
1594                    weight: isFontAwesome ? normalizeFontAwesomeWeight(extractIconMetaProp(value, 'weight'), iconType) : ''
1595                };
1596            }
1597
1598            function directionIsHorizontal(attrs, breakpoint) {
1599                var timelineAttr = nestedValue(attrs || {}, ['module', 'advanced', 'timeline']);
1600                var direction = responsiveAttrValue(timelineAttr, breakpoint || 'desktop', [
1601                    function(bp) { return [bp, 'value', 'direction']; }
1602                ]);
1603
1604                return (direction || 'vertical') === 'horizontal';
1605            }
1606
1607            function getBuilderConfig(timeline) {
1608                var id = closestTimelineId(timeline);
1609                var attrs = id ? getModuleAttrs(id) : {};
1610                var breakpoint = getCurrentBreakpointName();
1611                if (!id || !directionIsHorizontal(attrs, breakpoint) || !isEnabled(attrSubValue(attrs, 'enabled', breakpoint))) {
1612                    return null;
1613                }
1614                var legacyIcon = getIconConfig(attrSubValue(attrs, 'icon', breakpoint));
1615                var prevIcon = getIconConfig(attrSubValue(attrs, 'prevIcon', breakpoint));
1616                var nextIcon = getIconConfig(attrSubValue(attrs, 'nextIcon', breakpoint));
1617
1618                if (!prevIcon.icon) {
1619                    prevIcon = legacyIcon;
1620                }
1621                if (!nextIcon.icon) {
1622                    nextIcon = legacyIcon;
1623                }
1624
1625                return {
1626                    color: sanitizeColor(attrSubValue(attrs, 'arrowColor', breakpoint), defaultArrowColor),
1627                    backgroundColor: sanitizeColor(attrSubValue(attrs, 'arrowBackgroundColor', breakpoint), defaultArrowBackgroundColor),
1628                    size: sanitizeLength(attrValue(attrs, arrowSizeAttrName, attrSubValue(attrs, 'arrowSize', breakpoint), breakpoint), defaultArrowSize),
1629                    scrollMode: sanitizeScrollMode(attrValue(attrs, scrollModeAttrName, attrSubValue(attrs, 'scrollMode', breakpoint), breakpoint)),
1630                    prevIcon: prevIcon,
1631                    nextIcon: nextIcon
1632                };
1633            }
1634
1635            function applyTimelineConfig(timeline, config) {
1636                if (!config) {
1637                    timeline.classList.remove('dbtl-horizontal-carousel');
1638                    timeline.classList.remove('dbtl-horizontal-carousel-has-custom-icon');
1639                    timeline.style.removeProperty('--dbtl-carousel-arrow-color');
1640                    timeline.style.removeProperty('--dbtl-carousel-arrow-background-color');
1641                    timeline.style.removeProperty('--dbtl-carousel-arrow-size');
1642                    timeline.removeAttribute('data-dbtl-carousel-icon');
1643                    timeline.removeAttribute('data-dbtl-carousel-prev-icon');
1644                    timeline.removeAttribute('data-dbtl-carousel-prev-icon-family');
1645                    timeline.removeAttribute('data-dbtl-carousel-prev-icon-weight');
1646                    timeline.removeAttribute('data-dbtl-carousel-next-icon');
1647                    timeline.removeAttribute('data-dbtl-carousel-next-icon-family');
1648                    timeline.removeAttribute('data-dbtl-carousel-next-icon-weight');
1649                    timeline.removeAttribute('data-dbtl-carousel-scroll-mode');
1650                    return false;
1651                }
1652
1653                timeline.classList.add('dbtl-horizontal-carousel');
1654                timeline.style.setProperty('--dbtl-carousel-arrow-color', config.color);
1655                timeline.style.setProperty('--dbtl-carousel-arrow-background-color', config.backgroundColor);
1656                timeline.style.setProperty('--dbtl-carousel-arrow-size', config.size);
1657                timeline.setAttribute('data-dbtl-carousel-scroll-mode', config.scrollMode);
1658                timeline.removeAttribute('data-dbtl-carousel-icon');
1659                if (config.prevIcon.icon) {
1660                    timeline.setAttribute('data-dbtl-carousel-prev-icon', config.prevIcon.icon);
1661                    if (config.prevIcon.family) {
1662                        timeline.setAttribute('data-dbtl-carousel-prev-icon-family', config.prevIcon.family);
1663                    } else {
1664                        timeline.removeAttribute('data-dbtl-carousel-prev-icon-family');
1665                    }
1666                    if (config.prevIcon.weight) {
1667                        timeline.setAttribute('data-dbtl-carousel-prev-icon-weight', config.prevIcon.weight);
1668                    } else {
1669                        timeline.removeAttribute('data-dbtl-carousel-prev-icon-weight');
1670                    }
1671                } else {
1672                    timeline.removeAttribute('data-dbtl-carousel-prev-icon');
1673                    timeline.removeAttribute('data-dbtl-carousel-prev-icon-family');
1674                    timeline.removeAttribute('data-dbtl-carousel-prev-icon-weight');
1675                }
1676                if (config.nextIcon.icon) {
1677                    timeline.setAttribute('data-dbtl-carousel-next-icon', config.nextIcon.icon);
1678                    if (config.nextIcon.family) {
1679                        timeline.setAttribute('data-dbtl-carousel-next-icon-family', config.nextIcon.family);
1680                    } else {
1681                        timeline.removeAttribute('data-dbtl-carousel-next-icon-family');
1682                    }
1683                    if (config.nextIcon.weight) {
1684                        timeline.setAttribute('data-dbtl-carousel-next-icon-weight', config.nextIcon.weight);
1685                    } else {
1686                        timeline.removeAttribute('data-dbtl-carousel-next-icon-weight');
1687                    }
1688                } else {
1689                    timeline.removeAttribute('data-dbtl-carousel-next-icon');
1690                    timeline.removeAttribute('data-dbtl-carousel-next-icon-family');
1691                    timeline.removeAttribute('data-dbtl-carousel-next-icon-weight');
1692                }
1693                return true;
1694            }
1695
1696            function applyBuilderConfig(timeline) {
1697                return applyTimelineConfig(timeline, getBuilderConfig(timeline));
1698            }
1699
1700            function parseConfigJson(value) {
1701                if (!value) {
1702                    return {};
1703                }
1704                try {
1705                    return JSON.parse(value) || {};
1706                } catch (e) {
1707                    return {};
1708                }
1709            }
1710
1711            function normalizeSavedIconConfig(config, direction) {
1712                return {
1713                    icon: config && config[direction + '_icon'] ? config[direction + '_icon'] : '',
1714                    family: config && config[direction + '_icon_family'] ? config[direction + '_icon_family'] : '',
1715                    weight: config && config[direction + '_icon_weight'] ? config[direction + '_icon_weight'] : ''
1716                };
1717            }
1718
1719            function getSavedConfig(timeline) {
1720                var configs = parseConfigJson(timeline.getAttribute('data-dbtl-carou
1720sel-configs'));
1721                var breakpoint = getCurrentBreakpointName();
1722                var config = configs[breakpoint] || configs.desktop || null;
1723
1724                if (!config || !config.active) {
1725                    return null;
1726                }
1727
1728                return {
1729                    color: sanitizeColor(config.color, defaultArrowColor),
1730                    backgroundColor: sanitizeColor(config.background_color, defaultArrowBackgroundColor),
1731                    size: sanitizeLength(config.size, defaultArrowSize),
1732                    scrollMode: sanitizeScrollMode(config.scroll_mode),
1733                    prevIcon: normalizeSavedIconConfig(config, 'prev'),
1734                    nextIcon: normalizeSavedIconConfig(config, 'next')
1735                };
1736            }
1737
1738            function ensureButton(timeline, direction) {
1739                var className = direction === 'prev' ? 'dbtl-horizontal-carousel-arrow-prev' : 'dbtl-horizontal-carousel-arrow-next';
1740                var button = timeline.querySelector(':scope > .' + className);
1741                var icon = null;
1742
1743                if (!button) {
1744                    button = document.createElement('button');
1745                    button.type = 'button';
1746                    button.className = 'dbtl-horizontal-carousel-arrow ' + className;
1747                    button.setAttribute('aria-label', direction === 'prev' ? 'Previous timeline item' : 'Next timeline item');
1748                    icon = document.createElement('span');
1749                    icon.className = 'dbtl-horizontal-carousel-arrow-icon';
1750                    button.appendChild(icon);
1751                    ['pointerdown', 'mousedown', 'touchstart'].forEach(function(eventName) {
1752                        button.addEventListener(eventName, function(event) {
1753                            event.stopPropagation();
1754                            if (event.stopImmediatePropagation) {
1755                                event.stopImmediatePropagation();
1756                            }
1757                        }, true);
1758                    });
1759                    button.addEventListener('click', function(event) {
1760                        event.preventDefault();
1761                        event.stopPropagation();
1762                        if (event.stopImmediatePropagation) {
1763                            event.stopImmediatePropagation();
1764                        }
1765                        advanceCarousel(timeline, direction === 'prev' ? -1 : 1);
1766                    }, true);
1767                    timeline.appendChild(button);
1768                }
1769
1770                icon = button.querySelector('.dbtl-horizontal-carousel-arrow-icon');
1771                return button;
1772            }
1773
1774            function setButtonIcon(icon, customIcon, defaultIcon, family, weight) {
1775                if (!icon) {
1776                    return;
1777                }
1778                var iconText = customIcon || defaultIcon;
1779                if (icon.textContent !== iconText) {
1780                    icon.textContent = iconText;
1781                }
1782                if (icon.classList.contains('dbtl-horizontal-carousel-arrow-icon-custom') !== !!customIcon) {
1783                    icon.classList.toggle('dbtl-horizontal-carousel-arrow-icon-custom', !!customIcon);
1784                }
1785                if (family === 'FontAwesome') {
1786                    if (icon.style.fontFamily !== 'FontAwesome') {
1787                        icon.style.fontFamily = 'FontAwesome';
1788                    }
1789                    if (icon.style.fontWeight !== (weight || '900')) {
1790                        icon.style.fontWeight = weight || '900';
1791                    }
1792                } else {
1793                    if (icon.style.fontFamily) {
1794                        icon.style.removeProperty('font-family');
1795                    }
1796                    if (icon.style.fontWeight) {
1797                        icon.style.removeProperty('font-weight');
1798                    }
1799                }
1800            }
1801
1802            function setButtonDisabled(button, disabled) {
1803                disabled = !!disabled;
1804                if (button.disabled !== disabled) {
1805                    button.disabled = disabled;
1806                }
1807                if (button.hidden !== disabled) {
1808                    button.hidden = disabled;
1809                }
1810                if (button.getAttribute('aria-disabled') !== String(disabled)) {
1811                    button.setAttribute('aria-disabled', String(disabled));
1812                }
1813                button.classList.toggle('dbtl-horizontal-carousel-arrow-disabled', disabled);
1814            }
1815
1816            function getCarouselItems(timeline) {
1817                var track = timeline.querySelector('.et_pb_timeline_track');
1818                return track ? Array.prototype.slice.call(track.querySelectorAll('.et_pb_timeline_item')) : [];
1819            }
1820
1821            function getScrollMode(timeline) {
1822                return timeline.getAttribute('data-dbtl-carousel-scroll-mode') === 'item' ? 'item' : 'view';
1823            }
1824
1825            function clampIndex(index, items) {
1826                var max = Math.max(0, items.length - 1);
1827                index = parseInt(index, 10);
1828                if (!isFinite(index)) {
1829                    index = 0;
1830                }
1831                return Math.max(0, Math.min(max, index));
1832            }
1833
1834            function getCurrentIndex(timeline, items) {
1835                if (typeof timeline.__dbtlCarouselCurrentIndex !== 'number') {
1836                    timeline.__dbtlCarouselCurrentIndex = clampIndex(timeline.getAttribute('data-dbtl-carousel-current-index') || 0, items);
1837                }
1838                return clampIndex(timeline.__dbtlCarouselCurrentIndex, items);
1839            }
1840
1841            function setItemState(item, stateClass) {
1842                var currentState = item.classList.contains('dbtl-state-current') ? 'dbtl-state-current' :
1843                    (item.classList.contains('dbtl-state-previous') ? 'dbtl-state-previous' :
1844                    (item.classList.contains('dbtl-state-upcoming') ? 'dbtl-state-upcoming' : ''));
1845
1846                if (currentState === stateClass) {
1847                    return;
1848                }
1849
1850                if (item.classList.contains('dbtl-state-previous')) {
1851                    item.classList.remove('dbtl-state-previous');
1852                }
1853                if (item.classList.contains('dbtl-state-current')) {
1854                    item.classList.remove('dbtl-state-current');
1855                }
1856                if (item.classList.contains('dbtl-state-upcoming')) {
1857                    item.classList.remove('dbtl-state-upcoming');
1858                }
1859                if (stateClass && !item.classList.contains(stateClass)) {
1860                    item.classList.add(stateClass);
1861                }
1862            }
1863
1864            function updateCarouselStates(timeline, items, currentIndex) {
1865                items = items || getCarouselItems(timeline);
1866                currentIndex = clampIndex(currentIndex, items);
1867                timeline.__dbtlCarouselCurrentIndex = currentIndex;
1868                if (timeline.getAttribute('data-dbtl-carousel-current-index') !== String(currentIndex)) {
1869                    timeline.setAttribute('data-dbtl-carousel-current-index', String(currentIndex));
1870                }
1871
1872                items.forEach(function(item, index) {
1873                    if (index < currentIndex) {
1874                        setItemState(item, 'dbtl-state-previous');
1875                    } else if (index > currentIndex) {
1876                        setItemState(item, 'dbtl-state-upcoming');
1877                    } else {
1878                        setItemState(item, 'dbtl-state-current');
1879                    }
1880                });
1881            }
1882
1883            function getItemTargetScrollLeft(track, item) {
1884                var maxScroll = Math.max(0, track.scrollWidth - track.clientWidth);
1885                var itemCenter = item.offsetLeft + (item.offsetWidth / 2);
1886                var target = itemCenter - (track.clientWidth / 2);
1887                return Math.max(0, Math.min(maxScroll, target));
1888            }
1889
1890            function getIndexForScrollLeft(track, items, scrollLeft) {
1891                var center = scrollLeft + (track.clientWidth / 2);
1892                var bestIndex = 0;
1893                var bestDistance = Infinity;
1894
1895                items.forEach(function(item, index) {
1896                    var itemCenter = item.offsetLeft + (item.offsetWidth / 2);
1897                    var distance = Math.abs(itemCenter - center);
1898                    if (distance < bestDistance) {
1899                        bestDistance = distance;
1900                        bestIndex = index;
1901                    }
1902                });
1903
1904                return clampIndex(bestIndex, items);
1905            }
1906
1907            function getTrackMaxScroll(track) {
1908                return Math.max(0, track.scrollWidth - track.clientWidth);
1909            }
1910
1911            function clampScrollLeft(track, scrollLeft) {
1912                return Math.max(0, Math.min(getTrackMaxScroll(track), scrollLeft));
1913            }
1914
1915            function animateTrackScroll(track, target) {
1916                var start = track.scrollLeft;
1917                var distance = target - start;
1918                var duration = Math.min(650, Math.max(260, Math.abs(distance) * 1.15));
1919                var startTime = 0;
1920
1921                if (track.__dbtlCarouselScrollAnimation && window.cancelAnimationFrame) {
1922                    window.cancelAnimationFrame(track.__dbtlCarouselScrollAnimation);
1923                }
1924
1925                if (Math.abs(distance) < 1 || !window.requestAnimationFrame) {
1926                    track.scrollLeft = target;
1927                    track.__dbtlCarouselAnimating = false;
1928                    return;
1929                }
1930
1931                track.__dbtlCarouselAnimating = true;
1932                function step(timestamp) {
1933                    if (!startTime) {
1934                        startTime = timestamp;
1935                    }
1936                    var progress = Math.min(1, (timestamp - startTime) / duration);
1937                    var eased = 1 - Math.pow(1 - progress, 3);
1938                    track.scrollLeft = start + (distance * eased);
1939
1940                    if (progress < 1) {
1941                        track.__dbtlCarouselScrollAnimation = window.requestAnimationFrame(step);
1942                    } else {
1943                        track.scrollLeft = target;
1944                        track.__dbtlCarouselAnimating = false;
1945                    }
1946                }
1947
1948                track.__dbtlCarouselScrollAnimation = window.requestAnimationFrame(step);
1949            }
1950
1951            function scrollToCarouselItem(timeline, index) {
1952                var track = timeline.querySelector('.et_pb_timeline_track');
1953                var items = getCarouselItems(timeline);
1954                index = clampIndex(index, items);
1955
1956                if (!track || !items[index]) {
1957                    return;
1958                }
1959
1960                animateTrackScroll(track, getItemTargetScrollLeft(track, items[index]));
1961            }
1962
1963            function advanceCarouselByView(timeline, delta) {
1964                var track = timeline.querySelector('.et_pb_timeline_track');
1965                var items = getCarouselItems(timeline);
1966                var target;
1967                var nextIndex;
1968
1969                if (!track || !items.length) {
1970                    updateButtons(timeline);
1971                    return;
1972                }
1973
1974                target = clampScrollLeft(track, track.scrollLeft + (delta * track.clientWidth * 0.7));
1975                nextIndex = getIndexForScrollLeft(track, items, target);
1976                updateCarouselStates(timeline, items, nextIndex);
1977                animateTrackScroll(track, target);
1978                updateButtons(timeline, target);
1979            }
1980
1981            function advanceCarousel(timeline, delta) {
1982                var items = getCarouselItems(timeline);
1983                var currentIndex = getCurrentIndex(timeline, items);
1984                var nextIndex = clampIndex(currentIndex + delta, items);
1985
1986                if (getScrollMode(timeline) === 'view') {
1987                    advanceCarouselByView(timeline, delta);
1988                    return;
1989                }
1990
1991                if (!items.length || nextIndex === currentIndex) {
1992                    updateButtons(timeline);
1993                    return;
1994                }
1995
1996                updateCarouselStates(timeline, items, nextIndex);
1997                scrollToCarouselItem(timeline, nextIndex);
1998                updateButtons(timeline);
1999            }
2000
2001            function updateButtons(timeline, pendingScrollLeft) {
2002                var track = timeline.querySelector('.et_pb_timeline_track');
2003                var items = getCarouselItems(timeline);
2004                var currentIndex = getCurrentIndex(timeline, items);
2005                var scrollMode = getScrollMode(timeline);
2006                var scrollLeft = typeof pendingScrollLeft === 'number' ? pendingScrollLeft : (track ? track.scrollLeft : 0);
2007                var legacyIcon = timeline.getAttribute('data-dbtl-carousel-icon') || '';
2008                var prevCustomIcon = timeline.getAttribute('data-dbtl-carousel-prev-icon') || legacyIcon;
2009                var nextCustomIcon = timeline.getAttribute('data-dbtl-carousel-next-icon') || legacyIcon;
2010                var prevFamily = timeline.getAttribute('data-dbtl-carousel-prev-icon-family') || '';
2011                var nextFamily = timeline.getAttribute('data-dbtl-carousel-next-icon-family') || '';
2012                var prevWeight = timeline.getAttribute('data-dbtl-carousel-prev-icon-weight') || '';
2013                var nextWeight = timeline.getAttribute('data-dbtl-carousel-next-icon-weight') || '';
2014                var prev = ensureButton(timeline, 'prev');
2015                var next = ensureButton(timeline, 'next');
2016                var prevIcon = prev.querySelector('.dbtl-horizontal-carousel-arrow-icon');
2017                var nextIcon = next.querySelector('.dbtl-horizontal-carousel-arrow-icon');
2018                var canScroll = false;
2019
2020                timeline.classList.toggle('dbtl-horizontal-carousel-has-custom-icon', !!(prevCustomIcon || nextCustomIcon));
2021                setButtonIcon(prevIcon, prevCustomIcon, '4', prevFamily, prevWeight);
2022                setButtonIcon(nextIcon, nextCustomIcon, '5', nextFamily, nextWeight);
2023
2024                if (track) {
2025                    canScroll = track.scrollWidth > track.clientWidth + 2;
2026                    var prevDisabled = scrollMode === 'view' ? (!canScroll || scrollLeft <= 1) : (!canScroll || currentIndex <= 0);
2027                    var nextDisabled = scrollMode === 'view' ? (!canScroll || scrollLeft >= getTrackMaxScroll(track) - 1) : (!canScroll || currentIndex >= items.length - 1);
2028                    setButtonDisabled(prev, prevDisabled);
2029                    setButtonDisabled(next, nextDisabled);
2030                }
2031            }
2032
2033            function removeButtons(timeline) {
2034                timeline.querySelectorAll(':scope > .dbtl-horizontal-carousel-arrow').forEach(function(button) {
2035                    button.remove();
2036                });
2037            }
2038
2039            function clearCarouselState(timeline) {
2040                timeline.__dbtlCarouselCurrentIndex = 0;
2041                timeline.removeAttribute('data-dbtl-carousel-current-index');
2042                getCarouselItems(timeline).forEach(function(item) {
2043                    setItemState(item, '');
2044                });
2045            }
2046
2047            function setupTimeline(timeline) {
2048                var track = timeline.querySelector('.et_pb_timeline_track');
2049                var shouldEnable = hasBuilderStore() ? applyBuilderConfig(timeline) : applyTimelineConfig(timeline, getSavedConfig(timeline));
2050
2051                if (!shouldEnable || !track) {
2052                    removeButtons(timeline);
2053                    clearCarouselState(timeline);
2054                    return;
2055                }
2056
2057                updateButtons(timeline);
2058                var items = getCarouselItems(timeline);
2059                updateCarouselStates(timeline, items, getCurrentIndex(timeline, items));
2060            }
2061
2062            function update() {
2063                scheduled = false;
2064                document.querySelectorAll('.et_pb_timeline').forEach(setupTimeline);
2065            }
2066
2067            function schedule() {
2068                if (scheduled) {
2069                    return;
2070                }
2071                scheduled = true;
2072                if (window.requestAnimationFrame) {
2073                    window.requestAnimationFrame(update);
2074                } else {
2075                    window.setTimeout(update, 16);
2076                }
2077            }
2078
2079            function observe() {
2080                if (observed || !hasBuilderStore() || !window.MutationObserver || !document.body) {
2081                    return;
2082                }
2083                observed = true;
2084                new MutationObserver(function(mutations) {
2085                    for (var i = 0; i < mutations.length; i++) {
2086                        if (mutations[i].type === 'childList') {
2087                            schedule();
2088                            return;
2089                        }
2090                    }
2091                }).observe(document.body, {
2092                    childList: true,
2093                    subtree: true
2094                });
2095            }
2096
2097            window.addEventListener('resize', schedule);
2098            document.addEventListener('DOMContentLoaded', schedule);
2099            observe();
2100            schedule();
2101            window.setTimeout(schedule, 250);
2102        })();</script>
2102  
2102<script defer src="https://barbaralicious.com/wp-content/cache/autoptimize/js/autoptimize_4a5ad9dc1fcce52a29799a021f9edb3e.js"></script>
2102</body></html>
2103<!--
2104Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin
2105
2106Page Caching using Disk: Enhanced 
2107Database Caching using Disk
2108
2109Served from: barbaralicious.com @ 2026-10-02 07:45:22 by W3 Total Cache
2110-->

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.