{"product_id":"dachrinne-mit-vormontiertem-einhangstutzen","title":"Dachrinne mit ausgeschnittener Ablauföffnung und Einhangstutzen","description":"\u003ch1 class=\"PDq2pG_selectionAnchorContainer\"\u003eDachrinne aus Titanzink mit ausgeschnittener Ablauföffnung und Einhangstutzen – Ablauf nach Maß, ohne Endstück\u003cspan class=\"PDq2pG_selectionAnchor\"\u003e\u003c\/span\u003e\n\u003c\/h1\u003e\n\u003cp\u003eUnsere \u003cstrong\u003ehalbrunde Dachrinne aus Titanzink mit werkseitig vormontiertem Einhangstutzen\u003c\/strong\u003e ist die montagefreundliche Lösung für alle, die ihre Zink-Dachrinne selbst installieren und dabei möglichst viele Arbeitsschritte sparen möchten.\u003c\/p\u003e\n\u003cp\u003eDie \u003cstrong\u003eAblauföffnung wird individuell nach deinen Maßangaben\u003c\/strong\u003e an der gewünschten Position in der Dachrinne gefertigt und der passende Einhangstutzen bereits vormontiert. Dadurch musst du die Öffnung für das Fallrohr nicht selbst anzeichnen und ausschneiden und kannst die vorbereitete Dachrinne direkt in dein Dachentwässerungssystem integrieren.\u003c\/p\u003e\n\u003cp\u003eDiese Variante wird \u003cstrong\u003eohne Rinnenendstück\u003c\/strong\u003e geliefert und eignet sich ideal, wenn das Ende der Dachrinne anderweitig verbunden oder weitergeführt werden soll.\u003c\/p\u003e\n\u003ch2\u003eDachrinne mit Ablauf nach Maß\u003c\/h2\u003e\n\u003cp\u003eDie Position eines Fallrohres ist von Gebäude zu Gebäude unterschiedlich. Deshalb fertigen wir die Ablauföffnung nicht an einer festen Standardposition, sondern \u003cstrong\u003eindividuell nach deinen Maßangaben\u003c\/strong\u003e.\u003c\/p\u003e\n\u003cp\u003eDu bestimmst bei der Bestellung den gewünschten Abstand des Fallrohrstutzens. Anschließend wird die Dachrinne entsprechend vorbereitet.\u003c\/p\u003e\n\u003cp\u003eDu erhältst:\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eTitanzink-Dachrinne - \u003c\/strong\u003e\u003cstrong\u003eAblauföffnung an deiner Wunschposition - \u003c\/strong\u003e\u003cstrong style=\"font-size: 0.875rem;\"\u003epassenden vormontierten Einhangstutzen\u003c\/strong\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cul\u003e\u003c\/ul\u003e\n\u003cp\u003eSo sparst du dir das nachträgliche Ausmessen und Herstellen der Ablauföffnung auf der Baustelle.\u003c\/p\u003e\n\u003ch2\u003eEinhangstutzen bereits vormontiert\u003c\/h2\u003e\n\u003cp\u003eNormalerweise muss zunächst die Position des Fallrohres auf der Dachrinne bestimmt, die passende Ablauföffnung hergestellt und anschließend der Einhangstutzen montiert werden.\u003c\/p\u003e\n\u003cp\u003eBei dieser Ausführung übernehmen wir diese Arbeitsschritte bereits für dich.\u003c\/p\u003e\n\u003cp\u003eDer \u003cstrong\u003eEinhangstutzen wird werkseitig an der gewünschten Position vormontiert\u003c\/strong\u003e, sodass die Dachrinne montagefertig vorbereitet bei dir ankommt.\u003c\/p\u003e\n\u003cp\u003eDas macht diese Variante besonders interessant für Heimwerker und alle, die ihre \u003cstrong\u003eTitanzink-Dachrinne ohne unnötigen Montageaufwand selbst installieren\u003c\/strong\u003e möchten.\u003c\/p\u003e\n\u003ch2\u003eOhne Löten am Einhangstutzen\u003c\/h2\u003e\n\u003cp\u003eDer verwendete Einhangstutzen wird über das entsprechende Befestigungssystem an der Dachrinne montiert. Eine Lötverbindung zwischen \u003cstrong\u003eDachrinne und Einhangstutzen ist nicht erforderlich\u003c\/strong\u003e.\u003c\/p\u003e\n\u003cp\u003eDamit entfällt einer der typischen Arbeitsschritte bei der Montage einer Dachentwässerung.\u003c\/p\u003e\n\u003cp\u003eIn Kombination mit unseren \u003cstrong\u003ePytoflex Dachrinnenschellen\u003c\/strong\u003e können auch die Verbindungen zwischen mehreren passenden Rinnenabschnitten ohne eigene Lötarbeiten hergestellt werden.\u003c\/p\u003e\n\u003cp\u003eSo lässt sich eine hochwertige Dachentwässerung aus Titanzink besonders montagefreundlich umsetzen.\u003c\/p\u003e\n\u003ch2\u003eOhne Endstück – flexibel weiterverbinden\u003c\/h2\u003e\n\u003cp\u003eDiese Produktvariante wird bewusst \u003cstrong\u003eohne Dachrinnenendstück\u003c\/strong\u003e geliefert.\u003c\/p\u003e\n\u003cp\u003eSie eignet sich damit insbesondere für Rinnenabschnitte, die nicht an dieser Stelle abgeschlossen werden, sondern beispielsweise mit einem weiteren Dachrinnenstück oder einem Rinnenwinkel verbunden werden sollen.\u003c\/p\u003e\n\u003cp\u003eBenötigst du dagegen eine Dachrinne, die an einer Seite bereits vollständig verschlossen ist, bieten wir auch entsprechende Varianten \u003cstrong\u003emit werkseitig angelötetem Rinnenendstück\u003c\/strong\u003e an.\u003c\/p\u003e\n\u003cp\u003eSo kannst du für jeden Abschnitt deines Gebäudes die passende Ausführung auswählen.\u003c\/p\u003e\n\u003ch2\u003eIndividueller Zuschnitt auf Wunschmaß\u003c\/h2\u003e\n\u003cp\u003eNeben der Position des Einhangstutzens kann die Dachrinne auf Wunsch auch \u003cstrong\u003epassend zu deinem benötigten Maß zugeschnitten\u003c\/strong\u003e werden.\u003c\/p\u003e\n\u003cp\u003eStatt beispielsweise eine Standardlänge selbst auf der Baustelle kürzen zu müssen, bestellst du die benötigte Länge direkt passend zu deinem Projekt.\u003c\/p\u003e\n\u003cp\u003eDas bedeutet:\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e✓ Dachrinne auf Wunschmaß\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e✓ Ablauföffnung nach Maßangabe\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e✓ Einhangstutzen vormontiert\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e✓ keine eigene Montage des Einhangstutzens\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e✓ keine Lötarbeiten am Einhangstutzen\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eDamit reduzieren sich die notwendigen Arbeitsschritte bei der späteren Montage deutlich.\u003c\/p\u003e\n\u003ch2\u003eHochwertige halbrunde Dachrinne aus Titanzink\u003c\/h2\u003e\n\u003cp\u003eDie Dachrinne besteht aus \u003cstrong\u003eTitanzink\u003c\/strong\u003e und besitzt die klassische halbrunde Form. Unsere entsprechenden Dachrinnen und Zubehörkomponenten sind auf ein Dachentwässerungssystem nach \u003cstrong\u003eDIN EN 612\u003c\/strong\u003e abgestimmt.\u003c\/p\u003e\n\u003cp\u003eTitanzink eignet sich hervorragend für dauerhaft installierte Dachentwässerungen. Das Material ist langlebig und witterungsbeständig und entwickelt unter natürlichen Umwelteinflüssen mit der Zeit seine charakteristische Patina.\u003c\/p\u003e\n\u003cp\u003eDadurch entsteht die typische matte Zinkoptik, die sich harmonisch in unterschiedlichste Gebäudestile einfügt.\u003c\/p\u003e\n\u003ch2\u003ePassende Dachrinnengröße berechnen\u003c\/h2\u003e\n\u003cstyle\u003e\n\/* =========================================================\n   Rechner: Dachrinnengröße \u0026 Fallrohrgröße\n   ========================================================= *\/\n.dc-sizecalc{\n  margin:1.6rem 0 2rem;\n  border:1px solid #dce5eb;\n  border-radius:10px;\n  overflow:hidden;\n  background:#fff;\n}\n.dc-sizecalc *{box-sizing:border-box}\n.dc-sizecalc-head{\n  padding:1rem 1.2rem;\n  background:#f3f7f9;\n  border-bottom:1px solid #dce5eb;\n}\n.dc-sizecalc-head h2{margin:0 0 .35rem}\n.dc-sizecalc-head p{\n  margin:0;\n  font-size:.9rem;\n  color:#536676\n}\n.dc-sizecalc-body{padding:1.2rem}\n.dc-sizecalc-grid{\n  display:grid;\n  grid-template-columns:repeat(2,minmax(0,1fr));\n  gap:1rem\n}\n.dc-sizecalc-field label{\n  display:block;\n  margin-bottom:.35rem;\n  font-size:.9rem;\n  font-weight:700;\n  color:#243746\n}\n.dc-sizecalc-field small{\n  display:block;\n  margin-top:.3rem;\n  color:#667986;\n  font-size:.76rem;\n  line-height:1.4\n}\n.dc-sizecalc input,\n.dc-sizecalc select{\n  display:block;\n  width:100%;\n  min-height:46px;\n  padding:.7rem .8rem;\n  border:1px solid #cbd8df;\n  border-radius:7px;\n  background:#fff;\n  color:#243746;\n  font:inherit\n}\n.dc-sizecalc input:focus,\n.dc-sizecalc select:focus{\n  outline:3px solid rgba(8,125,163,.16);\n  outline-offset:0;\n  border-color:#087da3\n}\n.dc-sizecalc-button{\n  display:block;\n  width:100%;\n  min-height:48px;\n  margin-top:1rem;\n  padding:.75rem 1rem;\n  border:0;\n  border-radius:7px;\n  background:#087da3;\n  color:#fff;\n  font:inherit;\n  font-weight:700;\n  cursor:pointer\n}\n.dc-sizecalc-button:hover{filter:brightness(.95)}\n.dc-sizecalc-error{\n  display:none;\n  margin-top:1rem;\n  padding:.8rem 1rem;\n  border:1px solid #e4c7c7;\n  border-radius:7px;\n  background:#fff8f8;\n  font-size:.86rem\n}\n.dc-sizecalc-error.is-visible{display:block}\n.dc-sizecalc-result{\n  display:none;\n  margin-top:1.2rem\n}\n.dc-sizecalc-result.is-visible{display:block}\n.dc-sizecalc-main{\n  padding:1.1rem;\n  border:2px solid #087da3;\n  border-radius:9px;\n  background:#f7fbfc\n}\n.dc-sizecalc-label{\n  display:block;\n  margin-bottom:.3rem;\n  color:#536676;\n  font-size:.74rem;\n  font-weight:700;\n  letter-spacing:.04em;\n  text-transform:uppercase\n}\n.dc-sizecalc-size{\n  margin-bottom:.2rem;\n  color:#243746;\n  font-size:1.28rem;\n  line-height:1.3;\n  font-weight:800\n}\n.dc-sizecalc-pipe{\n  margin-bottom:.65rem;\n  color:#087da3;\n  font-size:1.05rem;\n  font-weight:700\n}\n.dc-sizecalc-main p{\n  margin:0;\n  font-size:.9rem\n}\n.dc-sizecalc-stats{\n  display:grid;\n  grid-template-columns:repeat(3,minmax(0,1fr));\n  gap:.7rem;\n  margin-top:.9rem\n}\n.dc-sizecalc-stat{\n  padding:.75rem;\n  border:1px solid #dce5eb;\n  border-radius:7px;\n  background:#fff\n}\n.dc-sizecalc-stat span{\n  display:block;\n  margin-bottom:.15rem;\n  color:#667986;\n  font-size:.72rem\n}\n.dc-sizecalc-stat strong{\n  display:block;\n  font-size:.94rem\n}\n.dc-sizecalc-alt{\n  margin-top:.9rem;\n  padding:.9rem 1rem;\n  border:1px solid #dce5eb;\n  border-radius:8px;\n  background:#fff\n}\n.dc-sizecalc-alt strong{\n  display:block;\n  margin-bottom:.25rem\n}\n.dc-sizecalc-alt p{\n  margin:0;\n  font-size:.86rem\n}\n.dc-sizecalc-warning{\n  margin-top:.9rem;\n  padding:.9rem 1rem;\n  border-left:3px solid #087da3;\n  background:#f3f7f9;\n  font-size:.83rem;\n  line-height:1.5\n}\n.dc-sizecalc-links{\n  display:flex;\n  flex-wrap:wrap;\n  gap:.45rem 1rem;\n  margin-top:.9rem;\n  font-size:.84rem\n}\n.dc-sizecalc-links a{font-weight:700}\n\n@media(max-width:640px){\n  .dc-sizecalc-grid{grid-template-columns:1fr}\n  .dc-sizecalc-stats{grid-template-columns:1fr}\n  .dc-sizecalc-body{padding:1rem}\n}\n\n\n\u003c\/style\u003e\n\n\u003csection class=\"dc-sizecalc\" id=\"dc-dachrinnen-rechner\" aria-labelledby=\"dc-sizecalc-title\"\u003e\n  \u003cdiv class=\"dc-sizecalc-head\"\u003e\n    \u003ch2 id=\"dc-sizecalc-title\"\u003eDachrinnengröße und Fallrohrgröße berechnen\u003c\/h2\u003e\n    \u003cp\u003e\n      Geben Sie Dachfläche, Dachrinnenlänge, Fallrohrposition und Ihr Bundesland ein.\n      Der Rechner ermittelt daraus eine passende Dachrinnen- und Fallrohrgröße als Orientierung.\n    \u003c\/p\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"dc-sizecalc-body\"\u003e\n    \u003cdiv class=\"dc-sizecalc-grid\"\u003e\n\n      \u003cdiv class=\"dc-sizecalc-field\"\u003e\n        \u003clabel for=\"dcCalcArea\"\u003eZu entwässernde Dachfläche\u003c\/label\u003e\n        \u003cinput id=\"dcCalcArea\" type=\"number\" min=\"1\" max=\"1000\" step=\"0.1\" inputmode=\"decimal\" placeholder=\"z. B. 65\"\u003e\n        \u003csmall\u003e\n          Nur die Dachfläche eingeben, deren Wasser tatsächlich in diesen Rinnenabschnitt\n          beziehungsweise zu diesem Fallrohr fließt.\n        \u003c\/small\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"dc-sizecalc-field\"\u003e\n        \u003clabel for=\"dcCalcLength\"\u003eLänge der Dachrinne\u003c\/label\u003e\n        \u003cinput id=\"dcCalcLength\" type=\"number\" min=\"0.5\" max=\"50\" step=\"0.1\" inputmode=\"decimal\" placeholder=\"z. B. 8\"\u003e\n        \u003csmall\u003eLänge des zusammenhängenden Rinnenabschnitts in Metern.\u003c\/small\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"dc-sizecalc-field\"\u003e\n        \u003clabel for=\"dcCalcOutlet\"\u003ePosition des Fallrohrs\u003c\/label\u003e\n        \u003cselect id=\"dcCalcOutlet\"\u003e\n          \u003coption value=\"end\"\u003eFallrohr am Ende der Dachrinne\u003c\/option\u003e\n          \u003coption value=\"center\"\u003eFallrohr ungefähr mittig\u003c\/option\u003e\n        \u003c\/select\u003e\n        \u003csmall\u003e\n          Bei einem mittigen Ablauf verkürzt sich der maximale Fließweg des Regenwassers.\n        \u003c\/small\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"dc-sizecalc-field\"\u003e\n        \u003clabel for=\"dcCalcState\"\u003eBundesland\u003c\/label\u003e\n        \u003cselect id=\"dcCalcState\"\u003e\n          \u003coption value=\"\" selected disabled\u003eBundesland auswählen\u003c\/option\u003e\n          \u003coption value=\"BW\"\u003eBaden-Württemberg\u003c\/option\u003e\n          \u003coption value=\"BY\"\u003eBayern\u003c\/option\u003e\n          \u003coption value=\"BE\"\u003eBerlin\u003c\/option\u003e\n          \u003coption value=\"BB\"\u003eBrandenburg\u003c\/option\u003e\n          \u003coption value=\"HB\"\u003eBremen\u003c\/option\u003e\n          \u003coption value=\"HH\"\u003eHamburg\u003c\/option\u003e\n          \u003coption value=\"HE\"\u003eHessen\u003c\/option\u003e\n          \u003coption value=\"MV\"\u003eMecklenburg-Vorpommern\u003c\/option\u003e\n          \u003coption value=\"NI\"\u003eNiedersachsen\u003c\/option\u003e\n          \u003coption value=\"NW\"\u003eNordrhein-Westfalen\u003c\/option\u003e\n          \u003coption value=\"RP\"\u003eRheinland-Pfalz\u003c\/option\u003e\n          \u003coption value=\"SL\"\u003eSaarland\u003c\/option\u003e\n          \u003coption value=\"SN\"\u003eSachsen\u003c\/option\u003e\n          \u003coption value=\"ST\"\u003eSachsen-Anhalt\u003c\/option\u003e\n          \u003coption value=\"SH\"\u003eSchleswig-Holstein\u003c\/option\u003e\n          \u003coption value=\"TH\"\u003eThüringen\u003c\/option\u003e\n        \u003c\/select\u003e\n        \u003csmall\u003e\n          Der Rechner verwendet daraus einen regionalen Orientierungswert.\n          Für eine normgerechte Bemessung ist der konkrete Standort maßgeblich.\n        \u003c\/small\u003e\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n    \u003cbutton type=\"button\" class=\"dc-sizecalc-button\" id=\"dcCalcButton\"\u003e\n      Passende Größe berechnen\n    \u003c\/button\u003e\n\n    \u003cdiv class=\"dc-sizecalc-error\" id=\"dcCalcError\" role=\"alert\"\u003e\u003c\/div\u003e\n\n    \u003cdiv class=\"dc-sizecalc-result\" id=\"dcCalcResult\" aria-live=\"polite\"\u003e\n      \u003cdiv class=\"dc-sizecalc-main\"\u003e\n\n        \u003cspan class=\"dc-sizecalc-label\"\u003eEmpfohlene Systemgröße\u003c\/span\u003e\n\n        \u003cdiv class=\"dc-sizecalc-size\" id=\"dcCalcSize\"\u003e\u003c\/div\u003e\n\n        \u003cdiv class=\"dc-sizecalc-pipe\" id=\"dcCalcPipe\"\u003e\u003c\/div\u003e\n\n        \u003cp id=\"dcCalcText\"\u003e\u003c\/p\u003e\n\n        \u003cdiv class=\"dc-sizecalc-stats\"\u003e\n\n          \u003cdiv class=\"dc-sizecalc-stat\"\u003e\n            \u003cspan\u003eBerechneter Regenabfluss\u003c\/span\u003e\n            \u003cstrong id=\"dcCalcFlow\"\u003e–\u003c\/strong\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"dc-sizecalc-stat\"\u003e\n            \u003cspan\u003eMaximaler Fließweg\u003c\/span\u003e\n            \u003cstrong id=\"dcCalcFlowLength\"\u003e–\u003c\/strong\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"dc-sizecalc-stat\"\u003e\n            \u003cspan\u003eRechnerische Reserve\u003c\/span\u003e\n            \u003cstrong id=\"dcCalcReserve\"\u003e–\u003c\/strong\u003e\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"dc-sizecalc-alt\" id=\"dcCalcAlternative\"\u003e\u003c\/div\u003e\n\n      \u003cdiv class=\"dc-sizecalc-warning\"\u003e\n        \u003cstrong\u003eHinweis:\u003c\/strong\u003e\n        Die Auswahl nach Bundesland ist bewusst vereinfacht. Die tatsächliche\n        Starkregenbelastung ist standortbezogen und kann innerhalb eines Bundeslands\n        unterschiedlich sein. Der Rechner dient deshalb als Orientierung und ersetzt\n        keine vollständige hydraulische Bemessung.\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"dc-sizecalc-links\"\u003e\n        \u003ca href=\"\/products\/fallrohr\"\u003ePassendes Fallrohr ansehen →\u003c\/a\u003e\n        \u003ca href=\"\/products\/komplettpaket\"\u003eKomplettpaket zusammenstellen →\u003c\/a\u003e\n        \u003ca href=\"\/blogs\/tipps\/richtige-dachrinnengroesse-finden\"\u003e\n          Dachrinnengrößen erklärt →\n        \u003c\/a\u003e\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003cscript\u003e\n(function(){\n\n  const root = document.getElementById('dc-dachrinnen-rechner');\n  if(!root) return;\n\n  const areaInput   = document.getElementById('dcCalcArea');\n  const lengthInput = document.getElementById('dcCalcLength');\n  const outletInput = document.getElementById('dcCalcOutlet');\n  const stateInput  = document.getElementById('dcCalcState');\n  const button      = document.getElementById('dcCalcButton');\n  const result      = document.getElementById('dcCalcResult');\n  const errorBox    = document.getElementById('dcCalcError');\n\n  \/*\n   * Vereinfachte regionale Orientierungswerte [l\/(s·ha)].\n   * Diese dienen nur zur Orientierung im Shop-Rechner.\n   *\/\n  const stateRainfall = {\n    BW: { name:'Baden-Württemberg', rain:400 },\n    BY: { name:'Bayern', rain:400 },\n    BE: { name:'Berlin', rain:300 },\n    BB: { name:'Brandenburg', rain:300 },\n    HB: { name:'Bremen', rain:350 },\n    HH: { name:'Hamburg', rain:350 },\n    HE: { name:'Hessen', rain:350 },\n    MV: { name:'Mecklenburg-Vorpommern', rain:300 },\n    NI: { name:'Niedersachsen', rain:350 },\n    NW: { name:'Nordrhein-Westfalen', rain:400 },\n    RP: { name:'Rheinland-Pfalz', rain:350 },\n    SL: { name:'Saarland', rain:400 },\n    SN: { name:'Sachsen', rain:350 },\n    ST: { name:'Sachsen-Anhalt', rain:300 },\n    SH: { name:'Schleswig-Holstein', rain:350 },\n    TH: { name:'Thüringen', rain:350 }\n  };\n\n  const gutters = [\n    {\n      label: '10-teilig \/ RG200',\n      area: 3069,\n      waterDepth: 48,\n      pipe: 'Ø 60 mm'\n    },\n    {\n      label: '8-teilig \/ RG250',\n      area: 5256,\n      waterDepth: 62,\n      pipe: 'Ø 76 mm'\n    },\n    {\n      label: '7-teilig \/ RG285',\n      area: 7347,\n      waterDepth: 72.5,\n      pipe: 'Ø 87 mm'\n    },\n    {\n      label: '6-teilig \/ RG333',\n      area: 10567,\n      waterDepth: 86.5,\n      pipe: 'Ø 100 mm'\n    }\n  ];\n\n  const lengthFactors = [\n    [50,1.00],\n    [75,0.97],\n    [100,0.93],\n    [125,0.90],\n    [150,0.86],\n    [175,0.83],\n    [200,0.80],\n    [225,0.78],\n    [250,0.77],\n    [275,0.75],\n    [300,0.73],\n    [325,0.72],\n    [350,0.70],\n    [375,0.68],\n    [400,0.67],\n    [425,0.65],\n    [450,0.63],\n    [475,0.62],\n    [500,0.60]\n  ];\n\n  function interpolateLengthFactor(value){\n    if(value \u003c= 50) return 1.00;\n    if(value \u003e= 500) return 0.60;\n\n    for(let i = 0; i \u003c lengthFactors.length - 1; i++){\n\n      const x1 = lengthFactors[i][0];\n      const y1 = lengthFactors[i][1];\n      const x2 = lengthFactors[i + 1][0];\n      const y2 = lengthFactors[i + 1][1];\n\n      if(value \u003e= x1 \u0026\u0026 value \u003c= x2){\n        const position = (value - x1) \/ (x2 - x1);\n        return y1 + (y2 - y1) * position;\n      }\n    }\n\n    return 0.60;\n  }\n\n  function gutterCapacity(gutter, flowLength){\n\n    const nominalCapacity =\n      2.78e-5 *\n      Math.pow(gutter.area, 1.25);\n\n    const lengthRatio =\n      (flowLength * 1000) \/\n      gutter.waterDepth;\n\n    const lengthFactor =\n      interpolateLengthFactor(lengthRatio);\n\n    return 0.9 * lengthFactor * nominalCapacity;\n  }\n\n  function findSuitableGutter(requiredFlow, flowLength){\n\n    for(const gutter of gutters){\n\n      const capacity =\n        gutterCapacity(gutter, flowLength);\n\n      if(capacity \u003e= requiredFlow){\n        return {\n          gutter:gutter,\n          capacity:capacity\n        };\n      }\n    }\n\n    return null;\n  }\n\n  function formatNumber(value, decimals){\n    return value.toLocaleString(\n      'de-DE',\n      {\n        minimumFractionDigits:decimals,\n        maximumFractionDigits:decimals\n      }\n    );\n  }\n\n  function calculate(){\n\n    errorBox.classList.remove('is-visible');\n    result.classList.remove('is-visible');\n\n    const roofArea =\n      parseFloat(\n        String(areaInput.value).replace(',', '.')\n      );\n\n    const gutterLength =\n      parseFloat(\n        String(lengthInput.value).replace(',', '.')\n      );\n\n    const stateCode =\n      stateInput.value;\n\n    const stateData =\n      stateRainfall[stateCode];\n\n    const rainfall =\n      stateData\n        ? stateData.rain\n        : NaN;\n\n    if(\n      !Number.isFinite(roofArea) ||\n      roofArea \u003c= 0 ||\n      !Number.isFinite(gutterLength) ||\n      gutterLength \u003c= 0 ||\n      !stateData\n    ){\n\n      errorBox.textContent =\n        'Bitte geben Sie Dachfläche und Dachrinnenlänge ein und wählen Sie Ihr Bundesland aus.';\n\n      errorBox.classList.add('is-visible');\n      return;\n    }\n\n    const requiredFlow =\n      rainfall *\n      roofArea \/\n      10000;\n\n    const flowLength =\n      outletInput.value === 'center'\n        ? gutterLength \/ 2\n        : gutterLength;\n\n    const match =\n      findSuitableGutter(\n        requiredFlow,\n        flowLength\n      );\n\n    const alternativeArea =\n      roofArea \/ 2;\n\n    const alternativeFlow =\n      rainfall *\n      alternativeArea \/\n      10000;\n\n    const alternativeFlowLength =\n      gutterLength \/ 4;\n\n    const alternativeMatch =\n      findSuitableGutter(\n        alternativeFlow,\n        alternativeFlowLength\n      );\n\n    if(match){\n\n      const reserve =\n        ((match.capacity \/ requiredFlow) - 1) * 100;\n\n      document.getElementById('dcCalcSize').textContent =\n        match.gutter.label;\n\n      document.getElementById('dcCalcPipe').textContent =\n        'Empfohlenes Fallrohr: ' +\n        match.gutter.pipe;\n\n      document.getElementById('dcCalcText').innerHTML =\n        'Für \u003cstrong\u003e' +\n        formatNumber(roofArea,1) +\n        ' m² Dachfläche\u003c\/strong\u003e in \u003cstrong\u003e' +\n        stateData.name +\n        '\u003c\/strong\u003e und einen maximalen Fließweg von \u003cstrong\u003e' +\n        formatNumber(flowLength,1) +\n        ' m\u003c\/strong\u003e empfiehlt der Rechner diese Systemgröße.';\n\n      document.getElementById('dcCalcFlow').textContent =\n        formatNumber(requiredFlow,2) +\n        ' l\/s';\n\n      document.getElementById('dcCalcFlowLength').textContent =\n        formatNumber(flowLength,1) +\n        ' m';\n\n      document.getElementById('dcCalcReserve').textContent =\n        reserve \u003e= 0\n          ? '+' + Math.round(reserve) + ' %'\n          : 'gering';\n\n    }else{\n\n      document.getElementById('dcCalcSize').textContent =\n        'Größere Auslegung erforderlich';\n\n      document.getElementById('dcCalcPipe').textContent =\n        'Ein einzelner Standard-Ablauf reicht für diese Eingaben nicht aus.';\n\n      document.getElementById('dcCalcText').innerHTML =\n        'Der berechnete Regenabfluss beträgt \u003cstrong\u003e' +\n        formatNumber(requiredFlow,2) +\n        ' l\/s\u003c\/strong\u003e. Bei der eingegebenen Rinnenlänge liegt die Anlage außerhalb der im Rechner hinterlegten Standardgrößen.';\n\n      document.getElementById('dcCalcFlow').textContent =\n        formatNumber(requiredFlow,2) +\n        ' l\/s';\n\n      document.getElementById('dcCalcFlowLength').textContent =\n        formatNumber(flowLength,1) +\n        ' m';\n\n      document.getElementById('dcCalcReserve').textContent =\n        '–';\n    }\n\n    const alternativeBox =\n      document.getElementById('dcCalcAlternative');\n\n    if(alternativeMatch){\n\n      alternativeBox.innerHTML =\n        '\u003cstrong\u003eAlternative mit zwei Fallrohren\u003c\/strong\u003e' +\n        '\u003cp\u003eBei zwei ungefähr gleichmäßig angeordneten Abläufen verteilt sich die Dachfläche auf etwa \u003cstrong\u003e' +\n        formatNumber(alternativeArea,1) +\n        ' m² je Ablauf\u003c\/strong\u003e. Der Rechner ergibt dafür \u003cstrong\u003e' +\n        alternativeMatch.gutter.label +\n        '\u003c\/strong\u003e mit einem Fallrohr von \u003cstrong\u003e' +\n        alternativeMatch.gutter.pipe +\n        '\u003c\/strong\u003e je Ablauf.\u003c\/p\u003e';\n\n    }else{\n\n      alternativeBox.innerHTML =\n        '\u003cstrong\u003eIndividuelle Auslegung empfohlen\u003c\/strong\u003e' +\n        '\u003cp\u003eAuch mit zwei ungefähr gleichmäßig verteilten Fallrohren liegt die Anlage außerhalb der im Rechner hinterlegten Standardgrößen. Die Dachentwässerung sollte in diesem Fall individuell bemessen werden.\u003c\/p\u003e';\n    }\n\n    result.classList.add('is-visible');\n  }\n\n  button.addEventListener('click', calculate);\n\n  [areaInput, lengthInput].forEach(function(input){\n    input.addEventListener('keydown', function(event){\n      if(event.key === 'Enter'){\n        event.preventDefault();\n        calculate();\n      }\n    });\n  });\n\n})();\n\u003c\/script\u003e\n\u003ch2\u003eIdeal für die Eigenmontage\u003c\/h2\u003e\n\u003cp\u003eDiese Dachrinne wurde insbesondere für eine möglichst einfache Montage vorbereitet.\u003c\/p\u003e\n\u003cp\u003eDu musst vor Ort nicht mehr die genaue Position des Einhangstutzens übertragen, die Ablauföffnung selbst herstellen und den Stutzen anschließend montieren.\u003c\/p\u003e\n\u003cp\u003eDas spart nicht nur Zeit, sondern reduziert auch das Risiko von Fehlern beim Ausmessen und Ausschneiden der Ablauföffnung.\u003c\/p\u003e\n\u003cp\u003eBesonders praktisch ist die Ausführung deshalb für:\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eHeimwerker\u003c\/li\u003e\n\u003cli\u003eGaragen\u003c\/li\u003e\n\u003cli\u003eCarports\u003c\/li\u003e\n\u003cli\u003eGartenhäuser\u003c\/li\u003e\n\u003cli\u003eWohnhäuser\u003c\/li\u003e\n\u003cli\u003eAnbauten\u003c\/li\u003e\n\u003cli\u003eSanierungen\u003c\/li\u003e\n\u003cli\u003eReparaturen und Erweiterungen bestehender Dachrinnen\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eVorteile der Dachrinne mit vormontiertem Einhangstutzen\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003e✓ Hochwertige halbrunde Dachrinne aus Titanzink\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e✓ Ablauföffnung individuell nach deinen Maßangaben\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e✓ Einhangstutzen bereits werkseitig vormontiert\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e✓ Keine eigene Herstellung der Ablauföffnung notwendig\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e✓ Keine Lötarbeiten am Einhangstutzen erforderlich\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e✓ Auf Wunsch individueller Zuschnitt der Dachrinne\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e✓ Ohne Endstück für flexible Weiterführung\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e✓ Verschiedene Dachrinnengrößen erhältlich\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e✓ Passend zu unseren Titanzink-Fallrohren\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e✓ Ideal für Heimwerker und Eigenmontage\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e✓ Für Neubau, Sanierung und Reparatur geeignet\u003c\/strong\u003e\u003c\/p\u003e\n\u003ch2\u003ePassende Fallrohrführung direkt ergänzen\u003c\/h2\u003e\n\u003cp\u003eUnterhalb des vormontierten Einhangstutzens kannst du die passende Fallrohrführung direkt ergänzen.\u003c\/p\u003e\n\u003cp\u003eJe nach Dachüberstand werden beispielsweise benötigt:\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eEinhangstutzen\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e↓\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eFallrohrbogen\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e↓\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eZwischenstück\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e↓\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eFallrohrbogen\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e↓\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eTitanzink-Fallrohr\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e↓\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eFallrohrschellen\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eDamit erhältst du alle benötigten Komponenten für die Ableitung des Regenwassers passend aus einem System.\u003c\/p\u003e\n\u003ch2\u003eNoch einfacher mit unserem Dachrinnen-Konfigurator\u003c\/h2\u003e\n\u003cp\u003eDu möchtest weder die benötigten Rinnenlängen noch die Position des Fallrohres selbst auf die einzelnen Bauteile übertragen?\u003c\/p\u003e\n\u003cp\u003eMit unserem \u003cstrong\u003eDachrinnen-Konfigurator\u003c\/strong\u003e kannst du deine Dachentwässerung passend zu deinem Gebäude zusammenstellen.\u003c\/p\u003e\n\u003cp\u003eDu legst unter anderem \u003cstrong\u003eRinnenlänge und Position des Fallrohres\u003c\/strong\u003e fest. Auf dieser Grundlage können die entsprechenden Dachrinnen passend vorbereitet werden.\u003c\/p\u003e\n\u003cp\u003eAuf Wunsch erhältst du damit eine \u003cstrong\u003eauf Maß zugeschnittene Titanzink-Dachrinne mit bereits gefertigter Ablauföffnung und vormontiertem Einhangstutzen\u003c\/strong\u003e.\u003c\/p\u003e\n\u003cp\u003ePassende Fallrohre, Bögen, Schellen, Verbinder, Laubschutz und weiteres Zubehör kannst du direkt ergänzen.\u003c\/p\u003e\n\u003cp\u003eSo erhältst du ein individuell vorbereitetes \u003cstrong\u003eDachrinnen-Komplettpaket aus Titanzink\u003c\/strong\u003e, das dir die Eigenmontage so einfach wie möglich macht.\u003c\/p\u003e\n\u003ch2\u003eBerechnen Sie hier die passende Dachrinnengröße\u003c\/h2\u003e\n\n\u003cstyle\u003e\n\/* =========================================================\n   Rechner: Dachrinnengröße \u0026 Fallrohrgröße\n   ========================================================= *\/\n.dc-sizecalc{\n  margin:1.6rem 0 2rem;\n  border:1px solid #dce5eb;\n  border-radius:10px;\n  overflow:hidden;\n  background:#fff;\n}\n.dc-sizecalc *{box-sizing:border-box}\n.dc-sizecalc-head{\n  padding:1rem 1.2rem;\n  background:#f3f7f9;\n  border-bottom:1px solid #dce5eb;\n}\n.dc-sizecalc-head h2{margin:0 0 .35rem}\n.dc-sizecalc-head p{\n  margin:0;\n  font-size:.9rem;\n  color:#536676\n}\n.dc-sizecalc-body{padding:1.2rem}\n.dc-sizecalc-grid{\n  display:grid;\n  grid-template-columns:repeat(2,minmax(0,1fr));\n  gap:1rem\n}\n.dc-sizecalc-field label{\n  display:block;\n  margin-bottom:.35rem;\n  font-size:.9rem;\n  font-weight:700;\n  color:#243746\n}\n.dc-sizecalc-field small{\n  display:block;\n  margin-top:.3rem;\n  color:#667986;\n  font-size:.76rem;\n  line-height:1.4\n}\n.dc-sizecalc input,\n.dc-sizecalc select{\n  display:block;\n  width:100%;\n  min-height:46px;\n  padding:.7rem .8rem;\n  border:1px solid #cbd8df;\n  border-radius:7px;\n  background:#fff;\n  color:#243746;\n  font:inherit\n}\n.dc-sizecalc input:focus,\n.dc-sizecalc select:focus{\n  outline:3px solid rgba(8,125,163,.16);\n  outline-offset:0;\n  border-color:#087da3\n}\n.dc-sizecalc-button{\n  display:block;\n  width:100%;\n  min-height:48px;\n  margin-top:1rem;\n  padding:.75rem 1rem;\n  border:0;\n  border-radius:7px;\n  background:#087da3;\n  color:#fff;\n  font:inherit;\n  font-weight:700;\n  cursor:pointer\n}\n.dc-sizecalc-button:hover{filter:brightness(.95)}\n.dc-sizecalc-error{\n  display:none;\n  margin-top:1rem;\n  padding:.8rem 1rem;\n  border:1px solid #e4c7c7;\n  border-radius:7px;\n  background:#fff8f8;\n  font-size:.86rem\n}\n.dc-sizecalc-error.is-visible{display:block}\n.dc-sizecalc-result{\n  display:none;\n  margin-top:1.2rem\n}\n.dc-sizecalc-result.is-visible{display:block}\n.dc-sizecalc-main{\n  padding:1.1rem;\n  border:2px solid #087da3;\n  border-radius:9px;\n  background:#f7fbfc\n}\n.dc-sizecalc-label{\n  display:block;\n  margin-bottom:.3rem;\n  color:#536676;\n  font-size:.74rem;\n  font-weight:700;\n  letter-spacing:.04em;\n  text-transform:uppercase\n}\n.dc-sizecalc-size{\n  margin-bottom:.2rem;\n  color:#243746;\n  font-size:1.28rem;\n  line-height:1.3;\n  font-weight:800\n}\n.dc-sizecalc-pipe{\n  margin-bottom:.65rem;\n  color:#087da3;\n  font-size:1.05rem;\n  font-weight:700\n}\n.dc-sizecalc-main p{\n  margin:0;\n  font-size:.9rem\n}\n.dc-sizecalc-stats{\n  display:grid;\n  grid-template-columns:repeat(3,minmax(0,1fr));\n  gap:.7rem;\n  margin-top:.9rem\n}\n.dc-sizecalc-stat{\n  padding:.75rem;\n  border:1px solid #dce5eb;\n  border-radius:7px;\n  background:#fff\n}\n.dc-sizecalc-stat span{\n  display:block;\n  margin-bottom:.15rem;\n  color:#667986;\n  font-size:.72rem\n}\n.dc-sizecalc-stat strong{\n  display:block;\n  font-size:.94rem\n}\n.dc-sizecalc-alt{\n  margin-top:.9rem;\n  padding:.9rem 1rem;\n  border:1px solid #dce5eb;\n  border-radius:8px;\n  background:#fff\n}\n.dc-sizecalc-alt strong{\n  display:block;\n  margin-bottom:.25rem\n}\n.dc-sizecalc-alt p{\n  margin:0;\n  font-size:.86rem\n}\n.dc-sizecalc-warning{\n  margin-top:.9rem;\n  padding:.9rem 1rem;\n  border-left:3px solid #087da3;\n  background:#f3f7f9;\n  font-size:.83rem;\n  line-height:1.5\n}\n.dc-sizecalc-links{\n  display:flex;\n  flex-wrap:wrap;\n  gap:.45rem 1rem;\n  margin-top:.9rem;\n  font-size:.84rem\n}\n.dc-sizecalc-links a{font-weight:700}\n\n@media(max-width:640px){\n  .dc-sizecalc-grid{grid-template-columns:1fr}\n  .dc-sizecalc-stats{grid-template-columns:1fr}\n  .dc-sizecalc-body{padding:1rem}\n}\n\n\n\u003c\/style\u003e\n\n\u003csection class=\"dc-sizecalc\" id=\"dc-dachrinnen-rechner\" aria-labelledby=\"dc-sizecalc-title\"\u003e\n  \u003cdiv class=\"dc-sizecalc-head\"\u003e\n    \u003ch2 id=\"dc-sizecalc-title\"\u003eDachrinnengröße und Fallrohrgröße berechnen\u003c\/h2\u003e\n    \u003cp\u003e\n      Geben Sie Dachfläche, Dachrinnenlänge, Fallrohrposition und Ihr Bundesland ein.\n      Der Rechner ermittelt daraus eine passende Dachrinnen- und Fallrohrgröße als Orientierung.\n    \u003c\/p\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"dc-sizecalc-body\"\u003e\n    \u003cdiv class=\"dc-sizecalc-grid\"\u003e\n\n      \u003cdiv class=\"dc-sizecalc-field\"\u003e\n        \u003clabel for=\"dcCalcArea\"\u003eZu entwässernde Dachfläche\u003c\/label\u003e\n        \u003cinput id=\"dcCalcArea\" type=\"number\" min=\"1\" max=\"1000\" step=\"0.1\" inputmode=\"decimal\" placeholder=\"z. B. 65\"\u003e\n        \u003csmall\u003e\n          Nur die Dachfläche eingeben, deren Wasser tatsächlich in diesen Rinnenabschnitt\n          beziehungsweise zu diesem Fallrohr fließt.\n        \u003c\/small\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"dc-sizecalc-field\"\u003e\n        \u003clabel for=\"dcCalcLength\"\u003eLänge der Dachrinne\u003c\/label\u003e\n        \u003cinput id=\"dcCalcLength\" type=\"number\" min=\"0.5\" max=\"50\" step=\"0.1\" inputmode=\"decimal\" placeholder=\"z. B. 8\"\u003e\n        \u003csmall\u003eLänge des zusammenhängenden Rinnenabschnitts in Metern.\u003c\/small\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"dc-sizecalc-field\"\u003e\n        \u003clabel for=\"dcCalcOutlet\"\u003ePosition des Fallrohrs\u003c\/label\u003e\n        \u003cselect id=\"dcCalcOutlet\"\u003e\n          \u003coption value=\"end\"\u003eFallrohr am Ende der Dachrinne\u003c\/option\u003e\n          \u003coption value=\"center\"\u003eFallrohr ungefähr mittig\u003c\/option\u003e\n        \u003c\/select\u003e\n        \u003csmall\u003e\n          Bei einem mittigen Ablauf verkürzt sich der maximale Fließweg des Regenwassers.\n        \u003c\/small\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"dc-sizecalc-field\"\u003e\n        \u003clabel for=\"dcCalcState\"\u003eBundesland\u003c\/label\u003e\n        \u003cselect id=\"dcCalcState\"\u003e\n          \u003coption value=\"\" selected disabled\u003eBundesland auswählen\u003c\/option\u003e\n          \u003coption value=\"BW\"\u003eBaden-Württemberg\u003c\/option\u003e\n          \u003coption value=\"BY\"\u003eBayern\u003c\/option\u003e\n          \u003coption value=\"BE\"\u003eBerlin\u003c\/option\u003e\n          \u003coption value=\"BB\"\u003eBrandenburg\u003c\/option\u003e\n          \u003coption value=\"HB\"\u003eBremen\u003c\/option\u003e\n          \u003coption value=\"HH\"\u003eHamburg\u003c\/option\u003e\n          \u003coption value=\"HE\"\u003eHessen\u003c\/option\u003e\n          \u003coption value=\"MV\"\u003eMecklenburg-Vorpommern\u003c\/option\u003e\n          \u003coption value=\"NI\"\u003eNiedersachsen\u003c\/option\u003e\n          \u003coption value=\"NW\"\u003eNordrhein-Westfalen\u003c\/option\u003e\n          \u003coption value=\"RP\"\u003eRheinland-Pfalz\u003c\/option\u003e\n          \u003coption value=\"SL\"\u003eSaarland\u003c\/option\u003e\n          \u003coption value=\"SN\"\u003eSachsen\u003c\/option\u003e\n          \u003coption value=\"ST\"\u003eSachsen-Anhalt\u003c\/option\u003e\n          \u003coption value=\"SH\"\u003eSchleswig-Holstein\u003c\/option\u003e\n          \u003coption value=\"TH\"\u003eThüringen\u003c\/option\u003e\n        \u003c\/select\u003e\n        \u003csmall\u003e\n          Der Rechner verwendet daraus einen regionalen Orientierungswert.\n          Für eine normgerechte Bemessung ist der konkrete Standort maßgeblich.\n        \u003c\/small\u003e\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n    \u003cbutton type=\"button\" class=\"dc-sizecalc-button\" id=\"dcCalcButton\"\u003e\n      Passende Größe berechnen\n    \u003c\/button\u003e\n\n    \u003cdiv class=\"dc-sizecalc-error\" id=\"dcCalcError\" role=\"alert\"\u003e\u003c\/div\u003e\n\n    \u003cdiv class=\"dc-sizecalc-result\" id=\"dcCalcResult\" aria-live=\"polite\"\u003e\n      \u003cdiv class=\"dc-sizecalc-main\"\u003e\n\n        \u003cspan class=\"dc-sizecalc-label\"\u003eEmpfohlene Systemgröße\u003c\/span\u003e\n\n        \u003cdiv class=\"dc-sizecalc-size\" id=\"dcCalcSize\"\u003e\u003c\/div\u003e\n\n        \u003cdiv class=\"dc-sizecalc-pipe\" id=\"dcCalcPipe\"\u003e\u003c\/div\u003e\n\n        \u003cp id=\"dcCalcText\"\u003e\u003c\/p\u003e\n\n        \u003cdiv class=\"dc-sizecalc-stats\"\u003e\n\n          \u003cdiv class=\"dc-sizecalc-stat\"\u003e\n            \u003cspan\u003eBerechneter Regenabfluss\u003c\/span\u003e\n            \u003cstrong id=\"dcCalcFlow\"\u003e–\u003c\/strong\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"dc-sizecalc-stat\"\u003e\n            \u003cspan\u003eMaximaler Fließweg\u003c\/span\u003e\n            \u003cstrong id=\"dcCalcFlowLength\"\u003e–\u003c\/strong\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"dc-sizecalc-stat\"\u003e\n            \u003cspan\u003eRechnerische Reserve\u003c\/span\u003e\n            \u003cstrong id=\"dcCalcReserve\"\u003e–\u003c\/strong\u003e\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"dc-sizecalc-alt\" id=\"dcCalcAlternative\"\u003e\u003c\/div\u003e\n\n      \u003cdiv class=\"dc-sizecalc-warning\"\u003e\n        \u003cstrong\u003eHinweis:\u003c\/strong\u003e\n        Die Auswahl nach Bundesland ist bewusst vereinfacht. Die tatsächliche\n        Starkregenbelastung ist standortbezogen und kann innerhalb eines Bundeslands\n        unterschiedlich sein. Der Rechner dient deshalb als Orientierung und ersetzt\n        keine vollständige hydraulische Bemessung.\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"dc-sizecalc-links\"\u003e\n        \u003ca href=\"\/products\/fallrohr\"\u003ePassendes Fallrohr ansehen →\u003c\/a\u003e\n        \u003ca href=\"\/products\/komplettpaket\"\u003eKomplettpaket zusammenstellen →\u003c\/a\u003e\n        \u003ca href=\"\/blogs\/tipps\/richtige-dachrinnengroesse-finden\"\u003e\n          Dachrinnengrößen erklärt →\n        \u003c\/a\u003e\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003cscript\u003e\n(function(){\n\n  const root = document.getElementById('dc-dachrinnen-rechner');\n  if(!root) return;\n\n  const areaInput   = document.getElementById('dcCalcArea');\n  const lengthInput = document.getElementById('dcCalcLength');\n  const outletInput = document.getElementById('dcCalcOutlet');\n  const stateInput  = document.getElementById('dcCalcState');\n  const button      = document.getElementById('dcCalcButton');\n  const result      = document.getElementById('dcCalcResult');\n  const errorBox    = document.getElementById('dcCalcError');\n\n  \/*\n   * Vereinfachte regionale Orientierungswerte [l\/(s·ha)].\n   * Diese dienen nur zur Orientierung im Shop-Rechner.\n   *\/\n  const stateRainfall = {\n    BW: { name:'Baden-Württemberg', rain:400 },\n    BY: { name:'Bayern', rain:400 },\n    BE: { name:'Berlin', rain:300 },\n    BB: { name:'Brandenburg', rain:300 },\n    HB: { name:'Bremen', rain:350 },\n    HH: { name:'Hamburg', rain:350 },\n    HE: { name:'Hessen', rain:350 },\n    MV: { name:'Mecklenburg-Vorpommern', rain:300 },\n    NI: { name:'Niedersachsen', rain:350 },\n    NW: { name:'Nordrhein-Westfalen', rain:400 },\n    RP: { name:'Rheinland-Pfalz', rain:350 },\n    SL: { name:'Saarland', rain:400 },\n    SN: { name:'Sachsen', rain:350 },\n    ST: { name:'Sachsen-Anhalt', rain:300 },\n    SH: { name:'Schleswig-Holstein', rain:350 },\n    TH: { name:'Thüringen', rain:350 }\n  };\n\n  const gutters = [\n    {\n      label: '10-teilig \/ RG200',\n      area: 3069,\n      waterDepth: 48,\n      pipe: 'Ø 60 mm'\n    },\n    {\n      label: '8-teilig \/ RG250',\n      area: 5256,\n      waterDepth: 62,\n      pipe: 'Ø 76 mm'\n    },\n    {\n      label: '7-teilig \/ RG285',\n      area: 7347,\n      waterDepth: 72.5,\n      pipe: 'Ø 87 mm'\n    },\n    {\n      label: '6-teilig \/ RG333',\n      area: 10567,\n      waterDepth: 86.5,\n      pipe: 'Ø 100 mm'\n    }\n  ];\n\n  const lengthFactors = [\n    [50,1.00],\n    [75,0.97],\n    [100,0.93],\n    [125,0.90],\n    [150,0.86],\n    [175,0.83],\n    [200,0.80],\n    [225,0.78],\n    [250,0.77],\n    [275,0.75],\n    [300,0.73],\n    [325,0.72],\n    [350,0.70],\n    [375,0.68],\n    [400,0.67],\n    [425,0.65],\n    [450,0.63],\n    [475,0.62],\n    [500,0.60]\n  ];\n\n  function interpolateLengthFactor(value){\n    if(value \u003c= 50) return 1.00;\n    if(value \u003e= 500) return 0.60;\n\n    for(let i = 0; i \u003c lengthFactors.length - 1; i++){\n\n      const x1 = lengthFactors[i][0];\n      const y1 = lengthFactors[i][1];\n      const x2 = lengthFactors[i + 1][0];\n      const y2 = lengthFactors[i + 1][1];\n\n      if(value \u003e= x1 \u0026\u0026 value \u003c= x2){\n        const position = (value - x1) \/ (x2 - x1);\n        return y1 + (y2 - y1) * position;\n      }\n    }\n\n    return 0.60;\n  }\n\n  function gutterCapacity(gutter, flowLength){\n\n    const nominalCapacity =\n      2.78e-5 *\n      Math.pow(gutter.area, 1.25);\n\n    const lengthRatio =\n      (flowLength * 1000) \/\n      gutter.waterDepth;\n\n    const lengthFactor =\n      interpolateLengthFactor(lengthRatio);\n\n    return 0.9 * lengthFactor * nominalCapacity;\n  }\n\n  function findSuitableGutter(requiredFlow, flowLength){\n\n    for(const gutter of gutters){\n\n      const capacity =\n        gutterCapacity(gutter, flowLength);\n\n      if(capacity \u003e= requiredFlow){\n        return {\n          gutter:gutter,\n          capacity:capacity\n        };\n      }\n    }\n\n    return null;\n  }\n\n  function formatNumber(value, decimals){\n    return value.toLocaleString(\n      'de-DE',\n      {\n        minimumFractionDigits:decimals,\n        maximumFractionDigits:decimals\n      }\n    );\n  }\n\n  function calculate(){\n\n    errorBox.classList.remove('is-visible');\n    result.classList.remove('is-visible');\n\n    const roofArea =\n      parseFloat(\n        String(areaInput.value).replace(',', '.')\n      );\n\n    const gutterLength =\n      parseFloat(\n        String(lengthInput.value).replace(',', '.')\n      );\n\n    const stateCode =\n      stateInput.value;\n\n    const stateData =\n      stateRainfall[stateCode];\n\n    const rainfall =\n      stateData\n        ? stateData.rain\n        : NaN;\n\n    if(\n      !Number.isFinite(roofArea) ||\n      roofArea \u003c= 0 ||\n      !Number.isFinite(gutterLength) ||\n      gutterLength \u003c= 0 ||\n      !stateData\n    ){\n\n      errorBox.textContent =\n        'Bitte geben Sie Dachfläche und Dachrinnenlänge ein und wählen Sie Ihr Bundesland aus.';\n\n      errorBox.classList.add('is-visible');\n      return;\n    }\n\n    const requiredFlow =\n      rainfall *\n      roofArea \/\n      10000;\n\n    const flowLength =\n      outletInput.value === 'center'\n        ? gutterLength \/ 2\n        : gutterLength;\n\n    const match =\n      findSuitableGutter(\n        requiredFlow,\n        flowLength\n      );\n\n    const alternativeArea =\n      roofArea \/ 2;\n\n    const alternativeFlow =\n      rainfall *\n      alternativeArea \/\n      10000;\n\n    const alternativeFlowLength =\n      gutterLength \/ 4;\n\n    const alternativeMatch =\n      findSuitableGutter(\n        alternativeFlow,\n        alternativeFlowLength\n      );\n\n    if(match){\n\n      const reserve =\n        ((match.capacity \/ requiredFlow) - 1) * 100;\n\n      document.getElementById('dcCalcSize').textContent =\n        match.gutter.label;\n\n      document.getElementById('dcCalcPipe').textContent =\n        'Empfohlenes Fallrohr: ' +\n        match.gutter.pipe;\n\n      document.getElementById('dcCalcText').innerHTML =\n        'Für \u003cstrong\u003e' +\n        formatNumber(roofArea,1) +\n        ' m² Dachfläche\u003c\/strong\u003e in \u003cstrong\u003e' +\n        stateData.name +\n        '\u003c\/strong\u003e und einen maximalen Fließweg von \u003cstrong\u003e' +\n        formatNumber(flowLength,1) +\n        ' m\u003c\/strong\u003e empfiehlt der Rechner diese Systemgröße.';\n\n      document.getElementById('dcCalcFlow').textContent =\n        formatNumber(requiredFlow,2) +\n        ' l\/s';\n\n      document.getElementById('dcCalcFlowLength').textContent =\n        formatNumber(flowLength,1) +\n        ' m';\n\n      document.getElementById('dcCalcReserve').textContent =\n        reserve \u003e= 0\n          ? '+' + Math.round(reserve) + ' %'\n          : 'gering';\n\n    }else{\n\n      document.getElementById('dcCalcSize').textContent =\n        'Größere Auslegung erforderlich';\n\n      document.getElementById('dcCalcPipe').textContent =\n        'Ein einzelner Standard-Ablauf reicht für diese Eingaben nicht aus.';\n\n      document.getElementById('dcCalcText').innerHTML =\n        'Der berechnete Regenabfluss beträgt \u003cstrong\u003e' +\n        formatNumber(requiredFlow,2) +\n        ' l\/s\u003c\/strong\u003e. Bei der eingegebenen Rinnenlänge liegt die Anlage außerhalb der im Rechner hinterlegten Standardgrößen.';\n\n      document.getElementById('dcCalcFlow').textContent =\n        formatNumber(requiredFlow,2) +\n        ' l\/s';\n\n      document.getElementById('dcCalcFlowLength').textContent =\n        formatNumber(flowLength,1) +\n        ' m';\n\n      document.getElementById('dcCalcReserve').textContent =\n        '–';\n    }\n\n    const alternativeBox =\n      document.getElementById('dcCalcAlternative');\n\n    if(alternativeMatch){\n\n      alternativeBox.innerHTML =\n        '\u003cstrong\u003eAlternative mit zwei Fallrohren\u003c\/strong\u003e' +\n        '\u003cp\u003eBei zwei ungefähr gleichmäßig angeordneten Abläufen verteilt sich die Dachfläche auf etwa \u003cstrong\u003e' +\n        formatNumber(alternativeArea,1) +\n        ' m² je Ablauf\u003c\/strong\u003e. Der Rechner ergibt dafür \u003cstrong\u003e' +\n        alternativeMatch.gutter.label +\n        '\u003c\/strong\u003e mit einem Fallrohr von \u003cstrong\u003e' +\n        alternativeMatch.gutter.pipe +\n        '\u003c\/strong\u003e je Ablauf.\u003c\/p\u003e';\n\n    }else{\n\n      alternativeBox.innerHTML =\n        '\u003cstrong\u003eIndividuelle Auslegung empfohlen\u003c\/strong\u003e' +\n        '\u003cp\u003eAuch mit zwei ungefähr gleichmäßig verteilten Fallrohren liegt die Anlage außerhalb der im Rechner hinterlegten Standardgrößen. Die Dachentwässerung sollte in diesem Fall individuell bemessen werden.\u003c\/p\u003e';\n    }\n\n    result.classList.add('is-visible');\n  }\n\n  button.addEventListener('click', calculate);\n\n  [areaInput, lengthInput].forEach(function(input){\n    input.addEventListener('keydown', function(event){\n      if(event.key === 'Enter'){\n        event.preventDefault();\n        calculate();\n      }\n    });\n  });\n\n})();\n\u003c\/script\u003e","brand":"Dachrinnenprofis","offers":[{"title":"NG 6 tlg. RG333 \/ ⌀ 100 mm \/ 1 m","offer_id":58421182267656,"sku":"DP-031-001","price":36.54,"currency_code":"EUR","in_stock":true},{"title":"NG 6 tlg. RG333 \/ ⌀ 100 mm \/ 2 m","offer_id":58421182300424,"sku":"DP-031-002","price":49.39,"currency_code":"EUR","in_stock":true},{"title":"NG 6 tlg. RG333 \/ ⌀ 100 mm \/ 3 m","offer_id":58421182333192,"sku":"DP-031-003","price":62.25,"currency_code":"EUR","in_stock":true},{"title":"NG 6 tlg. RG333 \/ ⌀ 87 mm \/ 1 m","offer_id":58423100440840,"sku":"DP-031-004","price":36.54,"currency_code":"EUR","in_stock":true},{"title":"NG 6 tlg. RG333 \/ ⌀ 87 mm \/ 2 m","offer_id":58423100473608,"sku":"DP-031-005","price":49.39,"currency_code":"EUR","in_stock":true},{"title":"NG 6 tlg. RG333 \/ ⌀ 87 mm \/ 3 m","offer_id":58423100506376,"sku":"DP-031-006","price":62.25,"currency_code":"EUR","in_stock":true},{"title":"NG 6 tlg. RG333 \/ ⌀ 76 mm \/ 1 m","offer_id":58423100539144,"sku":"DP-031-007","price":36.54,"currency_code":"EUR","in_stock":true},{"title":"NG 6 tlg. RG333 \/ ⌀ 76 mm \/ 2 m","offer_id":58423100571912,"sku":"DP-031-008","price":49.39,"currency_code":"EUR","in_stock":true},{"title":"NG 6 tlg. RG333 \/ ⌀ 76 mm \/ 3 m","offer_id":58423100604680,"sku":"DP-031-009","price":62.25,"currency_code":"EUR","in_stock":true},{"title":"NG 7 tlg. RG285 \/ ⌀ 87 mm \/ 1 m","offer_id":58423100735752,"sku":"DP-031-010","price":35.4,"currency_code":"EUR","in_stock":true},{"title":"NG 7 tlg. RG285 \/ ⌀ 87 mm \/ 2 m","offer_id":58423100768520,"sku":"DP-031-011","price":47.11,"currency_code":"EUR","in_stock":true},{"title":"NG 7 tlg. RG285 \/ ⌀ 87 mm \/ 3 m","offer_id":58423100801288,"sku":"DP-031-012","price":58.86,"currency_code":"EUR","in_stock":true},{"title":"NG 7 tlg. RG285 \/ ⌀ 76 mm \/ 1 m","offer_id":58423100834056,"sku":"DP-031-013","price":35.4,"currency_code":"EUR","in_stock":true},{"title":"NG 7 tlg. RG285 \/ ⌀ 76 mm \/ 2 m","offer_id":58423100866824,"sku":"DP-031-014","price":47.11,"currency_code":"EUR","in_stock":true},{"title":"NG 7 tlg. RG285 \/ ⌀ 76 mm \/ 3 m","offer_id":58423100899592,"sku":"DP-031-015","price":58.86,"currency_code":"EUR","in_stock":true},{"title":"NG 8 tlg. RG250 \/ ⌀ 76 mm \/ 1 m","offer_id":58423101128968,"sku":"DP-031-016","price":34.45,"currency_code":"EUR","in_stock":true},{"title":"NG 8 tlg. RG250 \/ ⌀ 76 mm \/ 2 m","offer_id":58423101161736,"sku":"DP-031-017","price":45.21,"currency_code":"EUR","in_stock":true},{"title":"NG 8 tlg. RG250 \/ ⌀ 76 mm \/ 3 m","offer_id":58423101194504,"sku":"DP-031-018","price":55.96,"currency_code":"EUR","in_stock":true},{"title":"NG 8 tlg. RG250 \/ ⌀ 60 mm \/ 1 m","offer_id":58423101227272,"sku":"DP-031-019","price":34.45,"currency_code":"EUR","in_stock":true},{"title":"NG 8 tlg. RG250 \/ ⌀ 60 mm \/ 2 m","offer_id":58423101260040,"sku":"DP-031-020","price":45.21,"currency_code":"EUR","in_stock":true},{"title":"NG 8 tlg. RG250 \/ ⌀ 60 mm \/ 3 m","offer_id":58423101292808,"sku":"DP-031-021","price":55.96,"currency_code":"EUR","in_stock":true},{"title":"NG 10 tlg. RG200 \/ ⌀ 60 mm \/ 1 m","offer_id":58423101522184,"sku":"DP-031-022","price":33.67,"currency_code":"EUR","in_stock":true},{"title":"NG 10 tlg. RG200 \/ ⌀ 60 mm \/ 2 m","offer_id":58423101554952,"sku":"DP-031-023","price":43.66,"currency_code":"EUR","in_stock":true},{"title":"NG 10 tlg. RG200 \/ ⌀ 60 mm \/ 3 m","offer_id":58423101587720,"sku":"DP-031-024","price":53.64,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1057\/7510\/4264\/files\/Dachrinne_Einhangstutzen.png?v=1786527406","url":"https:\/\/dachrinnenprofis.de\/products\/dachrinne-mit-vormontiertem-einhangstutzen","provider":"Dachrinnenprofis.de","version":"1.0","type":"link"}