-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
87 lines (86 loc) · 18.2 KB
/
Copy pathindex.html
File metadata and controls
87 lines (86 loc) · 18.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<!doctype html>
<html lang=en>
<head>
<meta charset=UTF-8>
<meta name=author content="Sebastian Czaplinski + Gemini Google. ver.2.01012026">
<meta name=viewport content="width=device-width,initial-scale=1">
<link rel=icon type=image/gif href="data:image/gif;base64,R0lGODlhMgAyAPcAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CAgIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOTk5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5ubq6uru7u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zMzM3Nzc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2NnZ2dra2tvb29zc3N3d3d7e3t/f3+Dg4OHh4eLi4uPj4+Tk5OXl5ebm5ufn5+jo6Onp6erq6uvr6+zs7O3t7e7u7u/v7/Dw8PHx8fLy8vPz8/T09PX19fb29vf39/j4+Pn5+fr6+vv7+/z8/P39/f7+/v///ywAAAAAMgAyAAAI/gABCBxIsKBBAP8SKvx3sKHDhw0XLoRIsaJBiQotaqyIMePGjwc7JgQJ0eNFkQwjptQo8STKkQRbWhSJ8GXHmhg52tzJc6XKnkBRlgxKdCLFokh1IgXKcmnPpk5tbmQak+dUqTWrWlUqVKDHry9nhh1I0+vYh1jN3lRbNqTVrTixRoXJdq5ck1rtjjVa0KjenGrdwvwrk69WsoQzyuwLNnHbukQRL41b9GfbszuPdoVsMi1azGspA9a81+dgz0MzM4ZL2jFdrq59fo6Ndzbt15Zv416tu7bL3rIF6xbLN2je3bNzj15N0uHZkM1tL47+8TH1q8uvYzesHSr3jQEBADs=">
<title>DRIVETRAIN CALC</title>
<style>:root{--primary:#00d1ff;--bg:#121212;--card:#1e1e1e;--text:#ffffff}body{font-family:-apple-system,system-ui,sans-serif;background-color:var(--bg);color:var(--text);margin:0;padding:15px;display:flex;justify-content:center}.container{width:100%;max-width:450px;background:var(--card);padding:20px;border-radius:20px;box-shadow:0 10px 30px rgba(0,0,0,.5)}h2{text-align:center;color:var(--primary);font-weight:300;margin-bottom:25px}.section{margin-bottom:20px;padding:15px;border:1px solid #333;border-radius:12px}.section-title{font-size:.75rem;color:#777;text-transform:uppercase;display:block;margin-bottom:15px}.input-group{margin-bottom:15px}label{display:flex;justify-content:space-between;font-size:.9rem;margin-bottom:8px}label span{color:var(--primary);font-weight:700}input[type=number]{width:100%;padding:12px;background:#2a2a2a;border:1px solid #444;color:#fff;border-radius:8px;font-size:16px;box-sizing:border-box}input[type=range]{width:100%;margin-top:10px;accent-color:var(--primary)}select{width:100%;padding:10px;background:#2a2a2a;border:1px solid #444;color:#fff;border-radius:8px;font-size:14px}.results{background:var(--primary);color:#000;padding:20px;border-radius:12px;margin-top:25px;font-weight:700}.res-item{display:flex;justify-content:space-between;margin-bottom:10px;font-size:1.1rem}.bearing-info{font-size:.8rem;color:rgba(0,0,0,.7);border-top:1px solid rgba(0,0,0,.1);padding-top:10px;line-height:1.4}.header-img{width:100%;height:auto;border-radius:12px;margin-bottom:20px}.footer-info{margin-top:25px;text-align:center;font-size:9px;color:#433f3f;line-height:1.4;letter-spacing:.3px}.footer-info a{color:#444;text-decoration:none}</style>
</head>
<body>
<div class=container>
<img src="data:image/gif;base64,R0lGODlhTQGLAKL/APz8/JGPi76/vmxra1dZXDRZdCo7SRwdHywAAAAATQGLAAAD/gi63P4rADFUEIrgJUT4wSCGA0GMnUAULGsc8FG88Qbd+DLYea5KvaCQ4xldIAGYgRY7LJ/MpvQAVBlWl45CEDPMmMvWrDIsm8/o2zEE+GzJHtNAEtJmDKD5QDxrLps8aRA7ggxshWYdJHOBEFxOUUpQkZB+cwQvT3MFBFl+T5JiXoikpYgeFgWECiVzICEBnVsTricmfFF/NaYOq4U/vDeKIoyNPZmUk5RTTiGYSiIsJX1dyi0rBcbB29xtESdFIp0b4XB1Hk57uF0FTWTcvoIi3VsfRtplBJDJUFLLB+Q+rFhyicWtOcrCDARCr2GwdwBaHVGR7c2FNeM+eOFD/s1JxwP04qFRgS/NMFcl0SSp5G8SsykQJzg50EmiESUzX6gymNKhTyFH2ojAU28Oq4oeYtGpyTHKR4YPe+ZwU+okI4ePdE3p99JPLxrWToD5c6WErJ9o02C8gOmVOLNZAlyxVyDWumpe4UE9Q0GqsKQo08pkuRVUV0ANVByeCYOaAT1XBEseQuGV0La15iaNZcSuqE9aDfgdItIMVb4kPozm1s4waK2LGw341ziGYxM0Vk+OQE+p0BRyZ+sRERAP8LuS9omgGVVQ3zLhVO8elLwwbLxN9rZZ+XKsR8MGppeJxS3puLYgHsOiIyHchgBN/bj7MEN7vRRBSg855GNR/lDxalT32jJeSEGAA3Es5g8nXmSim2QUbZOHcSugAIsJ7b3yHzYt5CIFgzPFpMASr5SkXxDAOOLfg7tl9Q9Xn/iDYCcKbpXTiQByMFAwIFBQV3QR3FMZCBFs5EITnSCjxAcyzJBYM20Q9J8OLEYkImBX5YiGkszA2AUzDiQRS42gpVPlT3u8cGZiVClVRBb1TNSjdJ4dGUMnAhUo2gR7ysUDNPrQRAwDOOJAUpworaklAK296FpsDbTGXZeUQmLforHQYBQi9gARXKcTYLAZYHnoIQoTdRnxBxx7tgGQDradEMISGxSqBh6dKrpoAwMI+BqZUHE35ktyTTGDC5fm/pipEhEli+IFq1DgSpsaVvsWh+AJpEo/2fgJK6HpgCBpRH4p4kwxu3aTxKOSeNnVO4rp9MgUGkwqSTQHprvFM5Cw4uxUtFSBggfm2oNSHnSd2ow4j4mFhz4vtDdUvlHiOlQ6mz5gbmeP6YuVr9Ww+xLFCcIwqxzEqDZymrry4iMyBejwLxLQjrOdagRvZq0c9HXIhEASaVQFxLhphAF3j11Mk81xrvffoR43JACXLYnMzIF2kKDeF7mg4880re6a5hMsEDpzAziXmLZq9uBZLSynanpJpwIFS1Ncxhm43J16lGjMPFH7RHXVtOVFRBv1bvXjVmOLKJ5dkLQA53aU/kmn89oaTvu2kVqJVUKnZsXMwA9HC6R3oPcCjoQGgf/UaJfuMiYFD1qcA1YmqhRrxC0bLeoj12JgCd/Z26Vw+dsXvY3nsV+400rROIsEGJ6RgOhPUhqf0DpavV4XMiUfwUD70TsI0BonxLhwBZ63tNByIXtgEoYYbH6Os8ZPF4z8266M/SgnmYOFuRLTAaL5gRPt8Ien9hKL921vKjiBnfe8Z5+k5IwHxaKBLdTBAuL1Rn1GaoEjsoGlRPnNgj06nlvWwzXXbGs2eIILI04ztYsgpDHO4JcfcFaRCZzlgT9ZiffaVZgpVFA6RFAEJo6VPGmVTTzmAx4uhLEX/Tkt/oXAuYjx4vCKRsEofeqBnhvIY4EDTKtXMBDLPmx0hcdIC4iCcVF3hsiMCmpvAqnB4hazQBEHQmcg8/uMoS61Pw2hsImZSwhYxvACW8ilJjHEyBfQGMEvzdELHoQjKaZGmKqRyXFTGw4ft6iIQ0Yjk7wYSiB9ZkZ8oIJNWrRiIVc4mxaCp5GckNV6OiPANyWQTFfTpGQGV6YaUWx0JsCEqEhpSL+pTjCZIttdmkVFtPnthM6wligVCQoGeS5TkKHbFUQ1GAXBhgWQcJwwuwEWYB5GdGEamOZwZjy4dGAPkwmBFOMWHlqQI1TkC0iuCMbHtvFPXD4ji0Kb4baMzBND/sABpoeys86ftNOd3UFCMQRIz6zdIgtYiCMgV2lLEGDiBPNM2aj0CBwVXm4joIDZ+paQzMeQaDbIa0XhJHrMinYjUDsFJs2MF5ctfiOPe1BnedIUOX7Saos/3MKb0kbUjhqydPTpx+0apMMGlWVWnZkekzDqD9z4cXuktGICg1qpJuBPi/RsQyAu9NUSpIWpJE3IAxqIoKuai6BUlSXZtDqJL5z0kQJ5Bk4505aIYDRfQiRRItJK2arO8rKYzewJzUdWSFmzWqLKGHBwo7lE3XNKpFiWR5z6BEc88z6WLWrO4lJajtiSLGZkIW7a2LCJ6YN67rRBF9ym2XlitrLI/k2uHVK5ysImM5nDkRLyVtqjKJWPqLsNYN/sYkJUGoJfzUUGFAyVMTzuUYVzUp4LcAGFGcgPZW+xh3qSdi7ioE5BnrqTT/lCQBvskX/EHZhbcPUK3OTWkBYYx3+za7C+jYAYZsEN6xLB1NWqr12tncpZZts22uBOc3yYhi3HMBtAzcWgnMlcZrSKYVuEYQQa68FyTTJj4zVNoKNcD3B4abACo9S4szKYLlMsNLdEoy7JmwhxAGqepHlhOP3TJYYgLA5ZYc8HFQ6hY5QBlHnmgqYDQakOlcChXI5UmqqQAyaqvFgpqweGSjGpPnuMMCOn8M6Ym6qcBno5nVlIW2dU/k+Df0xlCMO3FRFWJWlTVipe2q/OpcIzHzeaB/AmoyXt6h+bhVMS1Wp5LLroZ5dz0VHKTqhdCIRpe/swF+EMxWmZ0QP70uSKRsZClw/uMaONIMMq63ODJXgCz6JZFt65V37CvsI+Tko26D6XGNCt9JARjTL4DgvM67vEl548PnoWdCCV7Ox8GhxfYxD708VcAmVQlxFmljKLNuxIUworHyiI+bDg7FVNuleLGKKMBLJCNJXFXGyv1pSmgw24hAlOkH5/VciUFlJq3oNEC+RPC/MSt4yIYDkbltgfGgd5Y/oHKkP4DzmdVHcQhJjjtf0V3p4RUELnRyBLEjFJmZHd/raY9wqCPLvAUXabB0hUGTwGxuh8FAq68DglC45uxqaYF1sVRA6nA+aXRYyduAksnKDYBc0d6kqGDQUxql5zDf/9Og3Sg+H2wiYMthG5JO67sgqVIIIRe7pUz4pWYnZW1FZ3BonsFXJgJsmMxQi2hcMudpXfyozmJWgpO54hhDqm0lhv+9uTrQtkO4HuI9sMbfi+X07S0Z0FnYj8TMaKwv/dYm5RAsqtA8+9OsEGLgdsEwHLIWiAIXwYbp7sP098E6w2GWNupdf+4d39HqOTnSWh0+XSj3u6/vUPH4H8FCZBySKBORwALbzPS2zbsPp7oRlsqNvIGAnjgZKW+PiS/i4theY7HwJ+d6doBuhYKXXv+lvHBHOzCIx3SR3zfTFBXYCVNVsUGplXDRyEdaoWCeAhKJ83RGXxgHmhGBR1f4iQf8CURXegfMUCgCbYCW6jDodhbwFyJbBgXqAiKkHRAb/UILCzAxzBDi30ITiBB+kUAmKnSpkAJbyyQx4oCCBYI3HRHvzCFgBINiCmcZEEhI0XBtowNT0FUIHlNO9mPNhhc1QgF/GBfvJBEyaDDYwAf4wDVJrQCPfVQ0dYBq/TWclTAVMTahr4d9fQCENHVu9nD1XoBfjgJLBkQcdTWXgUbgLSM7a1IO4yhJ/nChqHSf7lFKQXOBAzdfVnHh1w/nqFJ03Jook7pFqEQxTUYQyyhE0TsUeyU4ZUUEu29REuUW/6MBTyV3iqYH1dYCtxmAHQR0TMgBL6cGuUdAFBlXxz5D43IIq7yDADkiw1REVJZoglwnRss4LpsESxKHyyd2H3MlNaZ4LcdomL0j0EMkQHcycaYTIZF4xHo39UMDoMwUl+2Cm30wJKFRGitlds048FU1UR1Xipso0gtCBiYAtlxjxDBHzRt165CHUeaI4S1Io7AIgxoFM1EjYA4IduoyYcIG55BDN35Aim6Ah91o9JZ1WL8WTwQZCzqIPokwIiZlsxxZAZmQsn8AUcAQ4QCUcSaR2dQ1DZUYIKIiJ5/ihRuNIBrQhMCLN9hTIbPqA/MAeQQnkYpKVlMxc7aIZSMikOBLmDSOkHOYmVICQNSbc9P0k4d2JBYCEOwPIAaoh97cSMrzhf45QDJblXV2FKLbdnhNcFiTRv3GSAIYZcM8leQUWBu/WVZWkQ17UrmTiRjbQxd7J6ClJ7DHCU+ueJGbkH6fEvSYAPxSCVXDgqBdMVyKONIDSYQGkNfMCTpOSVjLmDoYFsYOeSq4Y+kyMYkZl1NHGaC+OWxpRjWxVynEkmKHUaN4BPGuMLJ8loMGc6xAJa2nJbrDkgXpUQtvVj0mJoCZmQ1wBIa4R+O6lm4CkGo9kQvelJGmAuFUIf/kuDUZvHmZmAjOI4LcdgH/zBdCs1LbG1jsFoVSh5O9jxkpq3mtxUWDs5cOe5ne3DWtwUntAWi1b2PvkHBe7mRFtXDedHKWQhVdR3nGRCYMqJIK/CK4Gge6GCOSgZlxfJhZI2LSKnDNgJoQkxIAvalaEzm6/JmApqEM/1oI7ZUWUAgk+FHxg3AnS5IJ5ngOCXAd74he6kOfgQmianMfc0mnOSUvaZRvM0eV9aBK35do1Jk9eJfiQFpIU2cDx6kPfWIS1UntwXbI+pMSsZj+S0d1ZDL3FRiqfHFXYIi7K4p4vhFrdiNlT0OTnzaAPWpQfWTNNlQyY1ZuwygbmZoJiK/qnbeGhb5J2zGaTJ9KmhGmL346Kf0J4IMnUaWU5tl0b8kH6c8yJ0WHJfkWCdRjcX0Rp2NzCKEKBXhJLeliup5wwMmanGeqzISpZqShyxuaNfOaoUSmjgeVHWEYkQ1ho1IhvdAQ1xyRVux3giWqhE8gDKVF74w3RnRKkyOBG+uoRWNAyxNI1IWjJjmqz2GlN++qObyqydKpttGmJmQQzUaiOFN0o+tBi5tDeotlXr5RpLKjv4GSaawFJUGWTDMyw1QAFP0B4tIWAzBGlJ5o8EE34W6Undd6/HWq/ayZhc2awNOpsryVan13JYd3di6Wwhs2WsZHyKKFExUI1ow46j/tSpCqY2tfBLFbkCa4YBYKB4UYZIVJpe7soBmoGxLwo5MYuyWqu1z9qyOwBtL4tOJtgVeWovVbBIz2az6rdqjaQ0wHiTV1uiiHOiy/lZ9FFTF3lPb6aLkfgChgZk13RIcXWH0wJUTZA7y5BVKru1jGuv2wlh9VRlZfawRQkcuTALALBERoIyXsRPGOOMkwiY1RW0JtJXE+oaCiaDGNA9qaGk9GWxiCSVNhYqrmZDJ2qq7lA/wNe4vHummnebjnldhSak4ephQ5SC7hVIhJamwhZhcqCZqFc3YRKPg6AGJoW6hjgbnYhtJ+ZeDwZ7b6MzeRowpZKXmXsYJVEElmmA/r17r9Uxlwm6qaA6qthCf5iGlMqbnGlyKqrAoLaQtWP1EuKgHVxQQepUMMFmGPXyM/rosNmmtmHIY2uQeicxTpwESv/QkyqiT3TUvvb6u1v7rwmFjeYkXs32cznkvc47vzbbJT0Ees1oH0/KAQlYjXHQpHfzcub4D8C1Pj+GWQxmM6EUILNjXqFCGebBjdjpwUzcvksZgIpkZsOWOUHao2nWJc55GCQgG/uIOFK5V7vFBDyjtzEFBqNYFjj0sW8CgzAkdAzxWkF7e/KYRBqMpXTxqk2cx1ubkXC7DycMXZ0Bts+lproaegxwGHBhom9MX+kbql+mVS5mxjAxDfPn/jZMB4PN4H+5pUQscilGJQTDYJt6PMofPLY1KsXS+qAsDL10CwAe1gpPty5A4xd2wbOFwTuaiJC44rdXNLJyEUt7OSHlYxo9kVYoksSknMwJaspLDKSEFmFuCsiSm7gMAMMXaQK4By1mkg9hsFPIsESOSmZAkwlx5m3GUTvJkgTJiVoqMlmz+yxqp8zte1vMfEBlnLD+G6RrWmiz0gW4F7N8SIRAwTslDIVAWBbMh1iOdjeBsgr7uVeiQyoV11dr8skyVgTWKc+8W8+NYSf6mrYPxs8g22C5Y8319wCZUAah482FY1NdkUxJQRREWQl00MWrgyDi2wh1EHXvHJUc/qzRWlsb9bwRBiZR6AO4s/RgIyXAM5IOoHxwWDysgiyzNREcXjN/ubWqapCP1ng/RVcePW0oGA2rQE2jBWLK6wOklOsR6yygmrUI6SkU/ScVOZS4GJdcmsjLdJC3EWF8q/HQg5QyJUCOe1fHBKQOoAbUnVXUqHZv7WPLT9jWb80/83AaY4cDEXYd54wfR7xFHiFRM/SzbZBLDwLYF902TOMTFi3WxJrYvTtzZMVsMEm/x7IHTmqcNOfM0jy/yaScd5iFvZBLG3snypCcNpYEtk2oMmAynKFvZScIcgsdrYYCaUFKzzI2fhzCrCSfcxgKug3OlBDG7MfRI6odIdpp/lCNDrzVs58HH3jAy4q3FZkCOjmhKKat0lVQDrup2tbN2md2r3Ejn7Oxed8Nzl/TJSZN3lLwfYIoDFB9ILcWrnWh12DzNf27PpLQMhTAKaWh3+wsNf39F/5zrIiJv4/SbFLsBXSHu+HK0bdCU6hoqWzhu4A5eADHjeiksOzoMlwtY+YKS/cAISFuoifLPAE+oo8IdmEWBZBNLwquIDiwLgA0slswCZSKqQZi46dLA95EZVp9Cj3eAzstY/7x4fzN2Rag3MArtnCr2Qq65O6AsDc5P7K2ZmmCw4cxFfbWWKM9EAwCBqJsoJWgaSv9Yopa5fZHXpv04/2RR4T9FxoL/hkFHXZrnd2xOma42xjLUD6BlUXzajxBJebDFXBq3SBrlZ0u8cgwAGW4jElmYQOMvuilMOao4eiTsUQiJp5jazVRTFNSkOk0QQnXRVQnwWFtY5MLLuZDmDSGhWxmsbZrNJ/1KbnN8xg/MmH3vUkT9guxDh109uiu7OstYRDIjuSBWNy/zgzUAHqbrT+28OctnuwytkgJ515UUQQmzA8ysHo0tZrbsgFnAdxRt+2FQOub9O3l0e8rmeJxLnZSmq9w5w76TgUBKmKV3hVDkNjbh2RVRKOKo8SWbguwLgG86BwEDz+JztpBnloIBzuwQ1p/uepsyNIeD5j32+RPPgWU/kE13ZyUEluBh1vu0PDQekDYUJNaJe8c+m3Yy9nyaimFEEUB2XEcZeg9LVx/Ob8Yk4VG0w4tqcg8H5+Y6OMAfO4QJ4/y1e3hfmFYeLyhAp1xImK16KiG7531eY4G/xc2shLLHtkraZar9NkYKB3mpHD20J30wSA8E021EV+Kfsj1dpBxNl0PIKOO8QOgdv8S3A4VX64C4zDYvHKj7AANe2W+IeFH3Y4WVjE5K1GsWofsqrDqb3KLrqTcLpb5Ws8LZMSPr/5PFJGpHmHAqZ9KKR9P4A7P32uDjh9yVSBE/szguH99LkO9vF+00gKOHt8wylS90a0X2zD8k+EBOnmy/gU7Om+HJzww4NHPxyJjCtSH2UikRO7lRdWjsQIvV9SEJsVv/Ppyh2z+KwhwutyuA0ggTAs06DCGsU8ojuT3MWZKEMM6vXAsc0IkA/QcrBoRFgKCAXPTSAbEm3J5QzKfMid0Sp0dDMJHisS9vgbXxuzULaOQlUcyIEJyktUmRgB/0QMC5S6PexB2BnwydBNScYeGh3oDgoqOMUJYIChbXUMiggcRbAsEMWBmoUATnA6Ckw4bRo9fRHhFOEyCFaiaAQVDSoSkdaxLq74xwMGOHwU+Dim1IhjME4LIEDDLoSOzmBMjqo2ONYI2whi9S2QLHViMSuASw8RF48He7ocC/ldZySZmeaUOMgUN4PhV48KnnohnIgpo6MCNXrpCg2y8glIPFRZcGNbBeFgI3jx2Gue1+7jEgyR8+cpkC6HRYIMhAkOg60GNJagQSW46QNLC45QgjXZt5DPxCZtyKebAK9qRZJGQ7mr4dArA2D1KKbnAjPYgKAE6Aw+MC1DTEotGIwx0mPpE3gum7NY0LJIVRC4cc0cCSEQVZF8cUPuSvYgyK4kVXDxFCRXoV9kRVkSw0EsFqLAYNd7OhUEnkp+cEeX8taOYqtTRhQwcW6bMDBEBLh8ENtNY1r9qwkb8ydGN45dPjeDOaFFuAcxn4wLv3UwyyGjKHz+sYF3p5bJG/jqTwbVQvCsVrl12c3gsduEjt5zrcIAh3I4qaozgjPS9kS0xy31PC7Z3G6vhtOxZ4oZOWFxlThzZXdHdQB00+Ah9yA3FHnM4kIUENbDVEVJ7hVA4D36C2aeIEKsVtiBO04Rl3AosoOLhYgzgohp5Cb3xhyMQkhJcLxxScOE5yWTAWUtT5egUiKYZeZ5V1P1nzVsqUmJPJ4rEppZ0NIbwx1o4UriOUJrdcMdaCYolJHsaPvEVahOs+ZyIUxxloALKZOkFKRGkERYZBfSnySFcqRUJdyvgUsZkcEpY0m8zzHXHYIi9JAGYHTLKhJtsYpqfknHgUqJ11ZHgUZkvsWjS/jF0LsPppGThQ6V7XDT4YhQeCsWhXht4cE4tr0GVmY5QaDqasFRBV5l0fhrXmlZMhIEie0hRM5MqHMwpU2SScYnIixNR+haPC6lFwQPPBAaMsS8Q2xdfSSb6CZYm2qncuCeamRudhkYpQm12pFWtukysyg4f87azg0mNxaZAaXupUxCcADvFbrHuPmOVFsty4VEa3IXgaKh7dsewxbp1wMK2U0hE4TB0EHdXgtjpAs68nEVM0sRHCpzbSaA6eSJzGPUh7WY+2JmWXfZyRl6DNutARZ5TAfOorpMGaanTDVfWtEgVO4JuDCZYW2cZcB6lxWaDdUIcba1e8fFhb8za/kplGIyMNWAuE7FMmiXlofMzdv/1dVR/Q9okyNdWQao0g9j1BZ3TmZMHbOMqMFZaa90Yx+A6fr3KHUKswBO5G8niSY9iBh4im7xAIaPYGR9WhZ77zgVCAVAeUBobdpfCTRAkFNDg361XYZ5RCqniwzngLfyJURvQo3qxNH+E3hiExUt2Fc1ryc1tBmykqUIxgA9tCRz0tHnFA+AOhSoNqkVHTQ1Vv9d6DrHul/73K/H64fVywPRu4CwacWQSFSsFOASQLC1sQAhyi4si7gK98XwgHaQK3/NcN8Al/Ip1H2TdHoSBLIwh7llPQ0PlDgMbVCSKH+IoyyRgsoEIVqhK/h38VrV0t4999cJ+OHCfIvAHQiDOgy+egt0JMeSLmLiGIt0rAZ1yZcMbjqhs4TKTE41zgFFAZAqaG6IR40E8YvAGUt0bm1ZyqKYoSccN1FqbitQyPPZ5zYvv6wGdSpCUL76PX4fg3H3KGA8jeMoD2rNE1/q1R305UjtMW2SVOmA8DdiJV0egwi3GGA7+XQ+EaAQga/wQDE6I45GotFwPwsg6RoxRj2WYnwVmVhk3sEKQZKxiMEhkLQU5SUGpiAemomg0feGCBWtBnVPw4K1fbNFjFMDFNxSXtQdJ0iG6XFKBTPjLsznlAzVIZSjEoy3++ciKFOFAKDLCuOU87Zys/sDZurI5ItX0MnaYo0ptaCdOySxEfebMJF7oFkWxhHMBwmMABiP4ClxG4ZooQw0tCNBAX3YzGfRkAhxAEYjFORIdLeBBQAcmUIpkUH4rzJ4CyKfMb5X0EaxkEyEBZU9pnVBLIgSnBDBUzCvUsUE1HOkHq0eHii6MOH8IZwmNI44I7iKEjogpauRZSnglsgsZnR2mwOC3TlgiRnBkyEhLN6l51WALtUAHGcCyjKQO9J0k9cXWPkJVVhjDqPhsJEDGeqY+OOsBq1klC0RHNb4Ci1Ul0Z3wcoUVS+quaJI6bMqu9gg8thKi2LtnXoHZgKz6YnKw4cGucpVMoAL1DYaN/pBksaWB5KnBRyfSYFzjNAtODsKyMsWsHe4qk4u2VajM3IHu0pc+IfBkIaaKW2qjQFZdGAcMjEABnShHqnW01D1h+ixup6pbCURCsz09gGcnBZuHwfGfp80CHU1GHCRMRldBXS5wmqsO4wjvoHvdCzRX2xaN2Pa241WcbuWE1/DK1g5oAm0ykUvYFhyDRaZyGSrOQb4MaKAg8v0FkaDwkgv5IYNoQtCQ7rPd0VDSF2Hr7YzywZ06UuvFFA3rMUw7PJMVyGQQ7oCMjKFjt2ZYrpixj8IsqhV2OZQ+Dk1dQHdwS+HVGH7nhV95XozcFpAJwjlmmuiw3GAWvebCP5ZY/kOuSwFqCC+tCBSOQ4Uz09CYJiJrytCFy0tc+FH5xQt+sVoWAmMshzR0IV2wlZl5h6CEuYjMnV2ZLpi+mwwBDeWV88NYVhQilmsWdAgKmHnBTBx8JdKTBm3c6JznOpP2p29gr0mQ6eJc0fDOehZPHCna6RqoMAO/O3SGA2NbqUirReaAcqv5HMdSw1rYeI5ynk9r5UDX+NlkgvaVmTa8wc4YqdSmVsuO3Wg5SicSrwmwrkeql2ZqtFeP2XOVA03cZkM72ejlCY6fHYlAh47V8x4eSKktb2mrmsFh7Qm8pxZwRBJqUKEQ97jHCtXiVTI9c0oeGsgyWEStG72IgmPGVhst2IDvAN+sPrXF2f3PGmZoLZPu1qYnJVUSrpibFz3DwmcOBeWQ2aViijRmQJ1pVjGl57ygXIWCa+EdFaXQ7oEjBXQedMxY04MmkBHMixNbmltdAgkAADs=" alt="Header Logo" class=header-img>
<h2>Drivetrain Calc</h2>
<div class=section>
<span class=section-title>Transmission (Teeth)</span>
<div class=input-group>
<label>Front Chainring: <span id=fT-val>34</span>T</label>
<input type=number id=fT value=34 oninput='sync(this,"fT-range")'>
<input type=range id=fT-range min=20 max=60 value=34 oninput='sync(this,"fT")'>
</div>
<div class=input-group>
<label>Rear Cog: <span id=rT-val>11</span>T</label>
<input type=number id=rT value=11 oninput='sync(this,"rT-range")'>
<input type=range id=rT-range min=9 max=52 value=11 oninput='sync(this,"rT")'>
</div>
</div>
<div class=section>
<span class=section-title>Front Wheel</span>
<div class=input-group>
<label>Rim Size: <span id=fI-val>29</span>"</label>
<input type=number id=fI value=29 step=0.5 oninput='sync(this,"fI-range")'>
<input type=range id=fI-range min=10 max=32 value=29 step=0.5 oninput='sync(this,"fI")'>
</div>
<div class=input-group>
<label>Tire Width: <span id=fW-val>54</span>mm</label>
<input type=number id=fW value=54 oninput='sync(this,"fW-range")'>
<input type=range id=fW-range min=0 max=100 value=54 oninput='sync(this,"fW")'>
</div>
<div class=input-group>
<label>Tire Profile (Aspect Ratio)</label>
<select id=fProfile onchange=calculate()>
<option value=0.9>Low (0.9)</option>
<option value=1.0 selected>Standard (1.0)</option>
<option value=1.1>High (1.1)</option>
</select>
</div>
</div>
<div class=section>
<span class=section-title>Rear Wheel (Drive)</span>
<div class=input-group>
<label>Rim Size: <span id=rI-val>29</span>"</label>
<input type=number id=rI value=29 step=0.5 oninput='sync(this,"rI-range")'>
<input type=range id=rI-range min=10 max=32 value=29 step=0.5 oninput='sync(this,"rI")'>
</div>
<div class=input-group>
<label>Tire Width: <span id=rW-val>54</span>mm</label>
<input type=number id=rW value=54 oninput='sync(this,"rW-range")'>
<input type=range id=rW-range min=0 max=100 value=54 oninput='sync(this,"rW")'>
</div>
<div class=input-group>
<label>Tire Profile (Aspect Ratio)</label>
<select id=rProfile onchange=calculate()>
<option value=0.9>Low (0.9)</option>
<option value=1.0 selected>Standard (1.0)</option>
<option value=1.1>High (1.1)</option>
</select>
</div>
</div>
<div class=section>
<span class=section-title>Speed Analysis</span>
<div class=input-group>
<label>Target Speed: <span id=v-val>25</span> km/h</label>
<input type=number id=v value=25 oninput='sync(this,"v-range")'>
<input type=range id=v-range min=5 max=70 value=25 oninput='sync(this,"v")'>
</div>
</div>
<div class=results id=output></div>
<div class=footer-info>
Sebastian Czaplinski + Gemini Google ✉ <a href=mailto:balticcombat@gmail.com>balticcombat@gmail.com</a><br>
<a href=https://creativecommons.org/licenses/by-nc/4.0/ target=_blank>Licence CC BY-NC 4.0</a>
</div>
</div>
<script>function sync(e,t){document.getElementById(t).value=e.value;const a=t.replace("-range",""),n=document.getElementById(a+"-val");n&&(n.innerText=e.value),calculate()}function calculate(){const e=parseFloat(document.getElementById("fT").value)||0,t=parseFloat(document.getElementById("rT").value)||0,a=parseFloat(document.getElementById("fI").value)||0,n=parseFloat(document.getElementById("fW").value)||0,l=parseFloat(document.getElementById("fProfile").value)||1,d=parseFloat(document.getElementById("rI").value)||0,s=parseFloat(document.getElementById("rW").value)||0,o=parseFloat(document.getElementById("rProfile").value)||1,u=parseFloat(document.getElementById("v").value)||0,r=e/t,p=(e,t,a)=>(25.4*e+2*t*a)*Math.PI,c=r,i=r*p(d,s,o),m=i/p(a,n,l),v=1e3*u/60/(i/1e3);document.getElementById("output").innerHTML=`\n <div class="res-item"><span>Gear Ratio:</span><span>${r.toFixed(2)}</span></div>\n <div class="res-item"><span>Rear Revs:</span><span>${c.toFixed(2)}</span></div>\n <div class="res-item"><span>Front Revs:</span><span>${m.toFixed(2)}</span></div>\n <div class="res-item" style="color:#000; border-top:1px solid rgba(0,0,0,0.1); padding-top:10px;">\n <span>Required Cadence:</span><span>${Math.round(v)} RPM</span>\n </div>\n <div class="bearing-info">\n At <b>${u} km/h</b>, you need to pedal at <b>${Math.round(v)} RPM</b>.\n \n </div>\n `}calculate()</script>
</body>
</html>