<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>30+ OEM BMW Z4 Series Wheels - BmwStyleRims.com</title>
	<atom:link href="https://www.bmwstylerims.com/category/all-bmw-wheel-styles/bmw-z4-series/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.bmwstylerims.com/category/all-bmw-wheel-styles/bmw-z4-series/</link>
	<description>All BMW Wheels style including technical data, color codes &#38; pictures</description>
	<lastBuildDate>Wed, 10 Nov 2021 00:05:26 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>BMW wheel style 800</title>
		<link>https://www.bmwstylerims.com/bmw-wheel-style-800/</link>
		
		<dc:creator><![CDATA[bmwstylerims.com]]></dc:creator>
		<pubDate>Sat, 06 Nov 2021 15:01:03 +0000</pubDate>
				<category><![CDATA[All BMW Wheel Styles]]></category>
		<category><![CDATA[BMW Z4 Series]]></category>
		<category><![CDATA[BMW Z4 Series G29]]></category>
		<category><![CDATA[G29]]></category>
		<guid isPermaLink="false">https://www.bmwstylerims.com/bmw-wheel-style-800/</guid>

					<description><![CDATA[<p>The BMW wheel style 800 is part of the BMW original wheels lineup. Find out more about the style 800 BMW wheels, which is standard  for the bmw Z4 G29 but might fit other models.&#8230; <a class="kt-excerpt-readmore" href="https://www.bmwstylerims.com/bmw-wheel-style-800/" aria-label="BMW wheel style 800">Read More</a></p>
<p>The post <a href="https://www.bmwstylerims.com/bmw-wheel-style-800/">BMW wheel style 800</a> appeared first on <a href="https://www.bmwstylerims.com">BmwStyleRims.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>The bmw Style wheel 800 is available in diameters of 19 inches and are staggerd wheels. This wheel is the original wheel style for the bmw series Z4 G29, however it might fit other models given the specifications match below with the replacement wheel sizes.</p>
<p><img decoding="async" class="centerimg" src="https://www.bmwstylerims.com/wp-content/uploads/2021/05/BMW-wheel-style-800.jpg" alt="BMW wheel style 800" data-skip-lazy="" /></p>
<h3><strong>BMW wheel style 800 </strong><strong>Technical Specifications &amp; Parts  </strong></h3>
<p><Table></p>
<td>Part Number</td>
<td>Part Name</td>
<td>Part Details</td>
<td>Search for Part</td>
</tr>
<tr>
<td>36118089879</td>
<td>Disc wheel light alloy Cerium grey</td>
<td>10X19 ET:40</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36118089879 Disc wheel light alloy Cerium grey" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36118089878</td>
<td>Disc wheel light alloy Cerium grey</td>
<td>9X19 ET:32</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36118089878 Disc wheel light alloy Cerium grey" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36136890324</td>
<td>Wheel bolt black</td>
<td>M14X1,25</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136890324 Wheel bolt black" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36136850834</td>
<td>Hub cap with chrome edge</td>
<td>BMW</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136850834 Hub cap with chrome edge" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36112228660</td>
<td>M badge</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36112228660 M badge" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36121116326</td>
<td>Rubber valve</td>
<td>L=42,5MM</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121116326 Rubber valve" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36141095389</td>
<td>Valve</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36141095389 Valve" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36121120779</td>
<td>Valve caps</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121120779 Valve caps" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36106877937</td>
<td>Wheel electronics module, RDC 433MHZ</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36106877937 Wheel electronics module, RDC 433MHZ" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36106877934</td>
<td>Wheel electronics module TPM 315MHZ</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36106877934 Wheel electronics module TPM 315MHZ" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36106879168</td>
<td>Repair kit, screw-type valve RDCi</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36106879168 Repair kit, screw-type valve RDCi" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36106879165</td>
<td>Valve insert RDCi</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36106879165 Valve insert RDCi" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36106879164</td>
<td>Valve cap RDCi</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36106879164 Valve cap RDCi" rel="noopener">search for part</a></td>
</tr>
</table>
<h5>BMW models for which the BMW wheel style 800 fits: G29         </h5>
<h5>Color Code: Cerium Grey</h5>
<h5></h5>
<h3>Will the BMW wheel style 800 fit on your BMW?</h3>
<p>Bear in mind that it could be dangerous to run your BMW on tires or wheels they aren&#8217;t designed to fit. If you are unsure about your current wheel specifications, please check our <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/" target="_blank" rel="noopener">BMW wheel fitment chart and guide</a></p>
<p>&nbsp;</p>
<p>Insert your existing BMW wheel and tire dimensions, and the sizes of the BMW wheel style 800, and the outcome will be shown on the diagram. The strut shown in the diagram below is for illustration purpose only.</p>
<body>
<div class="tirecomparison-calculator">   
    <div class="form_holder_cal"> 
                    <div class="form_one_container">
                        <div class="setup_old">
                            <h5 class="hclass">YOUR EXISTING SETUP</h5>
                        </div>
                        <form class="form_one">
                           <div class="input_row">
                              <div class="input_column_img">
                                 <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                              </div>
                              <div class="input_column">
                                 <label class="form_label" for="tireWidth">Width (mm)</label>
                                 <input id="tireWidth" oninput="tireFunction()" value="205" type="number" min="0" max="399">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireProfile">Profile</label>
                                <input id="tireProfile" oninput="tireFunction()" value="55" type="number" min="0" max="99">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireDiameter">Diameter (in)</label>
                                <input id="tireDiameter" oninput="tireFunction()" value="16" type="number" min="0" max="99">
                              </div>
                            </div>
                           <div class="input_row">
                            <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="offset">Offset (mm)</label>
                                <input id="offset" oninput="tireFunction()" value="40" type="number" min="-99" max="99">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="width">Width (in)</label>
                                <input id="width" oninput="tireFunction()" value="6.5" type="number" min="0" max="99">
                            </div>
                           </div>
                        </form>
                        <p class="psmall">Above values are only examples! If unsure of your current wheel size? <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/">Check here!</a> </p>
                    </div>
                    <div class="form_two_container">
                          <div class="setup_new">
                          <h5 class="hclass">YOUR NEW SETUP</h5>
                           </div>
                         <form class="form_two">
                           <div class="input_row">
                             <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireWidth">Width (mm)</label>
                                <input id="twoTireWidth" oninput="twoTireFunction()" value="235" type="number" min="0" max="399">
                                </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireProfile">Profile</label>
                                <input id="twoTireProfile" oninput="twoTireFunction()" value="40" type="number" min="0" max="99">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireDiameter">Diameter (in)</label>
                                 <input id="twoTireDiameter" oninput="twoTireFunction()" value="17" type="number" min="0" max="99">
                             </div>
                             </div>
                             <div class="input_row">
                                <div class="input_column_img">
                                    <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                                 </div>
                                 <div class="input_column">
                                     <label class="form_label" for="twoOffset">Offset (mm)</label>
                                     <input id="twoOffset" class="mm" value="20" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                 </div>
                                     <div class="input_column">
                                         <label class="form_label" for="twoWidth">Width (in)</label>
                                          <input id="twoWidth" class="ms" value="7.5" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                      </div>                          
                                </div>
                         </form>
                      <p class="psmall">Above values are only examples! Change values to view fittment.</p>
                    </div>
     
      
                    <div class="results_header">   
                     <h5 class="hclass">YOUR RESULTS</h5>
                      <p> are automatically applied below </p>
                  </div>  
               <div class="canvasHolder">
                 <canvas class="canvas" id="canvasA"></canvas>
                 <canvas class="canvas" id="canvasB"></canvas>
               </div> 
                <br>


                <div class="hide">
                    <div class="form-check">
                         <label class="lock locka" for="checkTires">
                           <input onclick="checkTires()" type="checkbox" value="" id="checkTires" checked>
                           <span>Show Tires</span>
                         </label>
                    </div>
                    <div class="form-check">
                        <label class="lock" for="checkMeasurements">
                          <input onclick="checkMeasurements()" type="checkbox" value="" id="checkMeasurements" checked>
                          <span>Show Measurements</span>
                        </label>
                    </div>
                    <div class="form-check advance_options">
                          <label class="lock lockd" for="checkClearance">
                          <input onclick="checkClearance()" type="checkbox" value="" id="checkClearance">
                          <span>Show Clearance</span>
                       </label>
                    </div>
                    <div class="form-check advance_options">
                       <label class="lock lockd" for="checkFenderSuspension">
                         <input onclick="checkFenderSuspension()" type="checkbox" value="" id="checkFenderSuspension">
                         <span>Show Fender and Suspension</span>
                       </label>
                    </div>
                
                    <input type="button" id="buttonToggle" class="example_c" value="Show More Options" onclick="toggleMode()">
                    <div class="form_three_container">
                        <form class="form_three">
                           <div class="block_one">          
                              <div class="advance_options form_one">
                                <label for="wheelwellWidth">Wheelwell Clearance (mm) </label>
                                <input id="wheelwellWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="fenderWidth">Fender Clearance (mm) </label>
                                  <input id="fenderWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="suspensionWidth">Suspension Width (mm)</label>
                                  <input id="suspensionWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="399">
                              </div>
                           </div>
                           <div class="block_two">
                              <div class="advance_options form_two">
                               </div>
                              <div class="advance_options form_two">
                                <label for="twoWheelwellWidth">New Wheelwell Clearance (mm) </label>
                                <input id="twoWheelwellWidth" oninput="twoTireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                           <div class="advance_options form_two">
                                <label for="twoFenderWidth">New Fender Clearance (mm)</label>
                                <input id="twoFenderWidth" oninput="twoTireFunction()" value="0" type="number" min="-99" max="99">
                           </div>
                           <div class="advance_options form_two">
                                <label for="twoSuspensionWidth">New Suspension Width (mm)</label>
                                <input id="twoSuspensionWidth" oninput="twoTireFunction()" value="0" type="number" min="0" max="99">
                           </div>
                          </div>
                        </form>
                    </div>
                 </div>
                   <div class="wheel_text">
                         <p>The diagram is only for show to help you visualize your tires and wheel fitment of your new setup.</p>
                         <br>
                         <p>Tire Width    - The width of your tire in millimeters. <strong>195</strong>/55ZR15</p>
                         <p>Tire Profile  - The ratio of tire wall width to tire width. 195/<strong>55</strong>ZR15</p>
                         <p>Tire Diameter - The diameter of your wheels in inches. 195/55ZR<strong>15</strong> </p>
                         <p>Offset - the distance from the center of the wheel to the mounting face in mm. ET<strong>20</strong> </p>
                         <p>Rim Width - The width of your rims in inches. <strong>7.5</strong>JX17 </p>
                   </div>
      
      
        <div class="table-results">
            <table class="table table-sm">
                <colgroup>
                    <col>
                    <col>
                    <col span="1" class="bg-light">
                    <col>
                </colgroup>
                <thead>
                    <tr>
                        <th id="measure" scope="col">Inches</th>
                        <th scope="col" class="tb_orgwheel">Original Wheel</th>
                        <th scope="col" class="tb_newwheel">New Wheel</th>
                        <th scope="col">Difference</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <th scope="row">Diameter</th>
                        <td id="diameterOne"></td>
                        <td id="diameterTwo"></td>
                        <td id="diameterPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Circumference</th>
                        <td id="circumferenceOne"></td>
                        <td id="circumferenceTwo"></td>
                        <td id="circumferencePercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Sidewall</th>
                        <td id="sidewallOne"></td>
                        <td id="sidewallTwo"></td>
                        <td id="sidewallPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Width</th>
                        <td id="widthOne"></td>
                        <td id="widthTwo"></td>
                        <td id="widthPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Wheel Revolutions</th>
                        <td id="revOne"></td>
                        <td id="revTwo"></td>
                        <td id="revPercentage"></td>
                    </tr>
                </tbody>
             </table>
                <input type="button" id="buttonConvert" value="Convert" onclick="convertTable()">
        </div>
    </div>
</div>
    

<style>
  .hide {
    display: none;
  }
  .results{
    color:white!important;
    text-align: center;
    background-color: #005a87;
    padding:5px;
  }

 .results_header{
    display:block;
    text-align: center;
    background-color: #007bff;
    margin-top:30px;    
    margin-bottom: 10px;
    margin-right:10px;
    margin-right:10px;
    max-width: 100%;
    padding:10px;
    width:100%;
    Color: #fff;
  }
.results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}


.lock {
	position:relative;
  cursor:pointer;
	height:32px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.lock input {
	display:none; 
}
.lock span:before,
.lock span:after{
	content:"";
}

.lock span:before {
	width:64px;
	height:32px;
	margin-right:8px;
	background:#EEE;
	border-radius:32px;
	display:inline-block;
	vertical-align:middle;
	transition:all .5s cubic-bezier(.175, .885, .32, 1);
}
.lock span:after {
	margin:2px;
	width:28px;
	height:28px;
	background:#FFF;
	border-radius:28px;
	position:absolute;
	left:0;
	z-index:2;
	transition:all .5s cubic-bezier(.175, .885, .32, 1); 
}
.lock input:checked + span:after {
	left:32px;
}
.lockd input:disabled + span:after{
	background: #acacac;
}
.lock input:checked + span:before {
	background-color:#006298;
}
.locka input:checked + span:before {
	background-color:#1CC691;
}
    .example_c {
        color: #fff !important;
        text-transform: uppercase;
        text-decoration: none;
        background: #006298;
        padding: 5px;
        border-radius: 5px;
        display: inline-block;
        border: none;
        transition: all 0.4s ease 0s;
    }
    .example_c:hover {
        background: black;
        letter-spacing: 1px;
        -webkit-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        -moz-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        box-shadow: 5px 40px -10px rgba(0,0,0,0.57);
        transition: all 0.4s ease 0s;
    }
    p { margin: 5px }
    .canvasHolder {
        position: relative;
    }

  /* form style*/ 
.psmall{
  font-size:small;
  padding-top:5px;
}

.hclass{
  color:#fff;
  font-weight:400;
}

  .setup_old{
    margin-right:10px;
    background-color: #FF6600;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
.setup_new{
    margin-right:0px;
    background-color: #007bff;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
    .form_holder_cal{
        background-color:#fff;
        padding-top:0px;   
        margin: 0 auto;
        max-width: 100%;
        
    } 
 
    .form_two{
        
        display: flex-grid;
    }
    .block_two{
        display: table-cell;
        vertical-align: middle;
        width: 50%;
    }
    .block_one{
        display: table-cell;
        float:left;
    }
    .form_two_container{
        display: table-cell;
          
        margin:auto;
             }
    
    .form_one_container{
        display: table-cell;
        
        margin:auto;
                   }
@media screen and (max-width: 750px) {
  .form_two_container {
    display: block;
    margin-top:30px;
    margin-bottom:20px;
    float:left;
   
  }
  .form_one_container {
    display: block;
    padding-top: 30px;
     }
  .results_header{
    display:inline-block;
    margin-right:10px;
    width:100%;
    text-align:center;
  }
  .results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}
}

@media screen and (max-width: 400px) {
  .form_two_container {
    width: 100%;
   
  }
  .form_one_container {
    width: 100%;
    
  }
}

.block_one{
    float:center;
    }

.input_row {
  display: table-row;
}

.input_column_img {
  display: table-column;
  padding-right: 5px; 
  float: left;
  width:100%;
  min-width: 50px;
}

.input_column 
  {
display: table-cell;
}

    .form_one{
        margin-right: 0px; 
    }

     .form_label {
        display:block;
        padding: 5px;
       margin-left: 10px;
       float: left;
       width:80%;
       Font-size:12px;
    }
    .form_one input[type="button"] { 
      min-width: 100px;}
    
  
    .form_two input[type="button"] { 
        min-width: 100px;
    }
    .form_one input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
      height: 28px;
  	   width: 80px;}
  
      .form_two input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
        height: 28px;
        width: 80px;}
    }
    .form-check-input {
        width: 20px;
     
    }
    .canvasHolder{
        float:left;
        position: relative;
        height: 500px; width: 400px; /*based on your canvas size*/
        
    }
  @media only screen and (max-width: 400px) {
  .canvasHolder{
              margin-left:-50px;
    }
}
    .canvas{
        position: absolute;
        top: 0; left: 0;
        }
    .tirecomparison-calculator {
        padding: 20px 5px;
        
        background: #fff;
 
        margin-left: 0px;
        margin-right: 0px;
        overflow: hidden;
    }
.table-results{
display: block;
width: 100%;
  /*
overflow-x: auto;
-webkit-overflow-scrolling: touch;*/
margin: 0 auto;
}

.tb_orgwheel {
  background-color:#FF6600;
  Color: #fff;
}
.tb_newwheel {
  background-color:#007bff;
  Color: #fff;
}

</style>
<script>
    let c = document.getElementById("canvasA");
    let d       = document.getElementById("canvasB");
    let ctx     = c.getContext("2d");
    let ctx2    = d.getContext("2d");
    let initialHeight   = 500;
    let initialWidth    = 400;
    c.width     = initialWidth;
    c.height    = initialHeight;
    d.width     = initialWidth;
    d.height    = initialHeight;

    let tireImg = new Image();
    tireImg.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/tire_PNG45.gif";
  
    let background = new Image();
    background.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/jTkeSmK.gif";

    let tireOffsetX = 200;
    let tireOffsetY = 50;

    let inches  = true;
    let enabled = true;
    let measure = true;
    let tires   = false;
    let clearance = true;
    let fendersuspension = false;
     
    var heckMeasurements = document.getElementById("checkMeasurements");
    var heckTires = document.getElementById("checkTires");
    //if enabled disable the function to draw
    function checkClearance(){
        var remember = document.getElementById("checkClearance");
        if (remember.checked){
            clearance = true;
            tireFunction();
            twoTireFunction();
        }else{
            clearance = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkFenderSuspension(){
        var remember = document.getElementById("checkFenderSuspension");
        if (remember.checked){
            fendersuspension = true;
            tireFunction();
            twoTireFunction();
        }else{
            fendersuspension = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkMeasurements(){
        if (heckMeasurements.checked){
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
            
        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkTires").checked = true;
            tires = true;
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();
        }
        else{
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();

        }
    }

    function checkTires(){
        if (heckTires.checked){
            tires = true;
            tireFunction();
            twoTireFunction();

        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkMeasurements").checked = true;
            tires = false;
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
        }
        else{
            tires = false;
            tireFunction();
            twoTireFunction();

        }
    }
function toggleMode(){
        var divsToHide = document.getElementsByClassName("advance_options"); //divsToHide is an array
        if (enabled === true){
            enabled = false;
            //hide elements
            for(var i = 0; i < divsToHide.length; i++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[i].style.display = "none"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Show More";
        }
        else if (enabled === false) {
            enabled = true;

            for(var x = 0; x < divsToHide.length; x++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[x].style.display = "block"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Hide";

        }
        tireFunction();
        twoTireFunction();
    }
 
    function processTableValues(colNum, tireHeight, tireSidewall, tiredWidth){
        document.getElementById("diameter" + colNum).textContent        = tireHeight.toFixed(2);
        document.getElementById("circumference" + colNum).textContent   = (3.14159 * tireHeight).toFixed(2);
        document.getElementById("sidewall" + colNum).textContent        = tireSidewall.toFixed(2);
        document.getElementById("width" + colNum).textContent           = (tiredWidth / 25.4).toFixed(2);
        document.getElementById("rev" + colNum).textContent             = (63360 / (3.14159 * tireHeight)).toFixed(0);
    }
    function processTableDifference(){
        document.getElementById("diameterPercentage").textContent       = ((((parseFloat(document.getElementById("diameterTwo").textContent) - parseFloat(document.getElementById("diameterOne").textContent)) / parseFloat(document.getElementById("diameterOne").textContent) * 100)) || 0).toFixed(0) + "%";
        document.getElementById("circumferencePercentage").textContent  = (((parseFloat(document.getElementById("circumferenceTwo").textContent) - parseFloat(document.getElementById("circumferenceOne").textContent)) / parseFloat(document.getElementById("circumferenceOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("sidewallPercentage").textContent       = (((parseFloat(document.getElementById("sidewallTwo").textContent) - parseFloat(document.getElementById("sidewallOne").textContent)) / parseFloat(document.getElementById("sidewallOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("widthPercentage").textContent          = (((parseFloat(document.getElementById("widthTwo").textContent) - parseFloat(document.getElementById("widthOne").textContent)) / parseFloat(document.getElementById("widthOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("revPercentage").textContent            = (parseFloat(document.getElementById("revTwo").textContent) - parseFloat(document.getElementById("revOne").textContent) || 0).toFixed(0);
    }  
    function convertTable() {
        if (inches === true) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) * 25.4).toFixed(0);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) * 25.4).toFixed(0);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) / 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) / 1.6).toFixed(0);

            document.getElementById("measure").textContent          = "Millimeters";
            inches = false;

        } else if (inches === false) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) / 25.4).toFixed(2);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) / 25.4).toFixed(2);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) * 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) * 1.6).toFixed(0);
            document.getElementById("measure").textContent          = "Inches";
            inches = true;
        }
    }
    let dimensionOffset = 0;
    let dimensionOffsetY = 51;
    function drawDimensions(canvasNum, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, strokeColor, offset){
        canvasNum.strokeStyle = strokeColor;

        //x line
        //big line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY); //top
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY); //bottom
        canvasNum.stroke();
        //x text
        canvasNum.font = "15px Helvetica";
        canvasNum.fillStyle = strokeColor;
        canvasNum.fillText(tireHeight.toFixed(1),  (tireWidth1) - fenderWidth + 15, ((midpoint1 - tireProfile) + (midpoint2 + tireProfile)) / 2 + offset);

        //top line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.stroke();

        //bottom line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();

        //y line
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.stroke();
        //y text
        canvasNum.textBaseline = "bottom";
        canvasNum.fillText((tiredWidth / 25.4).toFixed(2),  (tireWidth1 + tireWidth2) / 2 - 20 + offset  + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();
        
    }

    function drawFenderSuspension(canvasNum, newWidth, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, strokeColor){
        //draw fender line
        if (enabled === true && measure === true){
            if (tireWidth1 > newWidth){ 
            canvasNum.beginPath();
            canvasNum.setLineDash([2,3]);
            canvasNum.strokeStyle = strokeColor;
            canvasNum.moveTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            else {
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);

            canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            //draw suspension line
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);
            canvasNum.moveTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
        }
    }

    function drawClearance(canvasNum, wheelwellWidth, midpoint1, midpoint2, tireProfile, strokeColor){
        if (enabled === true && measure === true){
        //draw fender line
        canvasNum.beginPath();
        canvasNum.strokeStyle = strokeColor;
        canvasNum.moveTo(dimensionOffset + dimensionOffsetY + 80,  (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.lineTo(250 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.stroke();
        }
    }
    function drawProfile(canvasNum, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
    }
    function drawWidth(canvasNum, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();
    }

    function tireFunction() { //first set
        ctx.clearRect(0, 0, 500, 500);
        ctx.drawImage(background, 50, 50);
        let width           = document.getElementById("width").value * 12;
        let offset          = document.getElementById("offset").value / 2;
        let tireWidth       = parseInt(document.getElementById("tireWidth").value) / 4;
        let tireProfile     = parseInt(document.getElementById("tireProfile").value) * 1.1;
        let tireDiameter    = parseInt(document.getElementById("tireDiameter").value) * 12.5;
        let fenderWidth     = parseInt(document.getElementById("fenderWidth").value) || 0;
        let suspensionWidth = parseInt(document.getElementById("suspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("wheelwellWidth").value) || 0;

        let tiredWidth      = parseInt(document.getElementById("tireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("tireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("tireDiameter").value);
        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = ((((tiredWidth * (tiredProfile / 100)) * 2) + (tiredDiameter * 25.4)) / 25.4);

        processTableValues("One", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1 = (440 - tireDiameter) / 2;
        let midpoint2 = (440 + tireDiameter) / 2;

        tireProfile = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2 = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1 = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#FF6600", 0);

            //draw rect
            ctx.beginPath();
            ctx.strokeStyle    = "#FF6600";
            ctx.lineWidth      = 3;
            if (tires === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            if (enabled === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else{
            ctx.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            ctx.stroke();
            ctx.strokeStyle = "#000000";
            if (enabled === false){

            //draw lines on top and below the rectangle
            drawWidth(ctx, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

            //draw two lines connecting the tire widths to the base of the rectangle
            drawProfile(ctx, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
            ctx.strokeStyle = "#FF0000";

            //draw fender and suspension lines
            if (fendersuspension === true){
                drawFenderSuspension(ctx, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#FF0000");
            }

            if (clearance === true){
            drawClearance(ctx, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#FF0000");
            }
            }
        }

        else if (measure === false){
            ctx.beginPath();
            ctx.strokeStyle    = "#FF0000";
            ctx.lineWidth      = 3;
            ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx.stroke();
        }
    }

    function twoTireFunction() {
        ctx2.clearRect(0, 0, 500, 500);

        let width           = (document.getElementById("twoWidth").value) * 12;
        let offset          = (document.getElementById("twoOffset").value) / 2;
        let tireWidth       = (parseInt(document.getElementById("twoTireWidth").value)) / 4;
        let tireProfile     = (parseInt(document.getElementById("twoTireProfile").value)) * 1.1;
        let tireDiameter    = (parseInt(document.getElementById("twoTireDiameter").value)) * 12.5;

        let tiredWidth      = parseInt(document.getElementById("twoTireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("twoTireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("twoTireDiameter").value);
        let fenderWidth     = (parseInt(document.getElementById("twoFenderWidth").value)) || 0;
        let suspensionWidth = parseInt(document.getElementById("twoSuspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("twoWheelwellWidth").value) || 0;

        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = (((tiredWidth * (tiredProfile / 100))  * 2) + (tiredDiameter * 25.4)) / 25.4;

        processTableValues("Two", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue  = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1   = (440 - tireDiameter) / 2;
        let midpoint2   = (440 + tireDiameter) / 2;

        tireProfile     = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2  = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1  = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx2, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#007bff", 50);

            //draw rect 2
            ctx2.beginPath();
            ctx2.strokeStyle    = "#007bff";
            ctx2.lineWidth      = 2.5;
            if (enabled === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else {
                ctx2.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            if (tires === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 0.35;
                ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 1;
            }
            ctx2.stroke();
            ctx2.strokeStyle = "#000000";
            if (enabled === false){

                //draw lines on top and below the rectangle
                drawWidth(ctx2, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

                //draw two lines connecting the tire widths to the base of the rectangle
                drawProfile(ctx2, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
                ctx2.strokeStyle = "#0000FF";

                //draw fender and suspension lines
                if (fendersuspension === true){
                drawFenderSuspension(ctx2, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#0000FF");
                }

                if (clearance === true){
                    drawClearance(ctx2, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#0000FF");
                }
            }
        }

        else if (measure === true){
            ctx2.beginPath();
            ctx2.strokeStyle    = "#0000FF";
            ctx2.lineWidth      = 2.5;
            ctx2.globalAlpha    = 0.35;

            ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx2.globalAlpha    = 1;

            ctx2.stroke();
        }

    }
    // Make sure the image is loaded first otherwise nothing will draw.

    background.onload = function () {
        var allowedDomains = ['bmwstylerims.com'];
        console.log(document.domain);
        if (allowedDomains.indexOf(document.domain) == -1) {
        // Code to redirect here
        //window.location.href = "https://bmwstylerims.com"; 
        }

        toggleMode();
    };
    //https://obfuscator.io/
    //https://javascriptobfuscator.com/Javascript-Obfuscator.aspx
</script>
</body>
<h3>What is the recommended tire pressure for the BMW wheel style 800?</h3>
<p>The tire pressure for the BMW wheel style 800 will depend on your BMW model. Most BMW models like the BMW Z4 Series and the , have a recommended tire pressure of 32 PSI (2.2 Bar). However, you should always double-check this for your specific BMW model. You can find out the recommended tire pressure for your BMW, by checking the the sticker on the inside edge of the driver’s door or, check your owner’s manual if you still have the same type of tires that came with the vehicle.</p>
<p>The post <a href="https://www.bmwstylerims.com/bmw-wheel-style-800/">BMW wheel style 800</a> appeared first on <a href="https://www.bmwstylerims.com">BmwStyleRims.com</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>BMW wheel style 798</title>
		<link>https://www.bmwstylerims.com/bmw-wheel-style-798/</link>
		
		<dc:creator><![CDATA[bmwstylerims.com]]></dc:creator>
		<pubDate>Sat, 06 Nov 2021 15:00:42 +0000</pubDate>
				<category><![CDATA[All BMW Wheel Styles]]></category>
		<category><![CDATA[BMW Z4 Series]]></category>
		<category><![CDATA[BMW Z4 Series G29]]></category>
		<category><![CDATA[G29]]></category>
		<guid isPermaLink="false">https://www.bmwstylerims.com/bmw-wheel-style-798/</guid>

					<description><![CDATA[<p>The BMW wheel style 798 is part of the BMW original wheels lineup. Find out more about the style 798 BMW wheels, which is standard  for the bmw Z4 G29 but might fit other models.&#8230; <a class="kt-excerpt-readmore" href="https://www.bmwstylerims.com/bmw-wheel-style-798/" aria-label="BMW wheel style 798">Read More</a></p>
<p>The post <a href="https://www.bmwstylerims.com/bmw-wheel-style-798/">BMW wheel style 798</a> appeared first on <a href="https://www.bmwstylerims.com">BmwStyleRims.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>The bmw Style wheel 798 is available in diameters of 18 inches and are staggerd wheels. This wheel is the original wheel style for the bmw series Z4 G29, however it might fit other models given the specifications match below with the replacement wheel sizes.</p>
<p><img decoding="async" class="centerimg" src="https://www.bmwstylerims.com/wp-content/uploads/2021/05/BMW-wheel-style-798.jpg" alt="BMW wheel style 798" data-skip-lazy="" /></p>
<h3><strong>BMW wheel style 798 </strong><strong>Technical Specifications &amp; Parts  </strong></h3>
<p><Table></p>
<td>Part Number</td>
<td>Part Name</td>
<td>Part Details</td>
<td>Search for Part</td>
</tr>
<tr>
<td>36118089875</td>
<td>Disc wheel, light alloy, Orbitgrey</td>
<td>10X18 ET:40</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36118089875 Disc wheel, light alloy, Orbitgrey" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36118089874</td>
<td>Disc wheel, light alloy, Orbitgrey</td>
<td>9X18 ET:32</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36118089874 Disc wheel, light alloy, Orbitgrey" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36136890324</td>
<td>Wheel bolt black</td>
<td>M14X1,25</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136890324 Wheel bolt black" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36136850834</td>
<td>Hub cap with chrome edge</td>
<td>BMW</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136850834 Hub cap with chrome edge" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36112228660</td>
<td>M badge</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36112228660 M badge" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36121116326</td>
<td>Rubber valve</td>
<td>L=42,5MM</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121116326 Rubber valve" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36141095389</td>
<td>Valve</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36141095389 Valve" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36121120779</td>
<td>Valve caps</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121120779 Valve caps" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36106877937</td>
<td>Wheel electronics module, RDC 433MHZ</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36106877937 Wheel electronics module, RDC 433MHZ" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36106877934</td>
<td>Wheel electronics module TPM 315MHZ</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36106877934 Wheel electronics module TPM 315MHZ" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36106879168</td>
<td>Repair kit, screw-type valve RDCi</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36106879168 Repair kit, screw-type valve RDCi" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36106879165</td>
<td>Valve insert RDCi</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36106879165 Valve insert RDCi" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36106879164</td>
<td>Valve cap RDCi</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36106879164 Valve cap RDCi" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36118091464</td>
<td>Light alloy rim Ferricgrey</td>
<td>8X18 ET:20</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36118091464 Light alloy rim Ferricgrey" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36118091465</td>
<td>Light alloy rim Ferricgrey</td>
<td>9X18 ET:28</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36118091465 Light alloy rim Ferricgrey" rel="noopener">search for part</a></td>
</tr>
</table>
<h5>BMW models for which the BMW wheel style 798 fits: G29         </h5>
<h5>Color Code: Orbit Grey</h5>
<h5></h5>
<h3>Will the BMW wheel style 798 fit on your BMW?</h3>
<p>Bear in mind that it could be dangerous to run your BMW on tires or wheels they aren&#8217;t designed to fit. If you are unsure about your current wheel specifications, please check our <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/" target="_blank" rel="noopener">BMW wheel fitment chart and guide</a></p>
<p>&nbsp;</p>
<p>Insert your existing BMW wheel and tire dimensions, and the sizes of the BMW wheel style 798, and the outcome will be shown on the diagram. The strut shown in the diagram below is for illustration purpose only.</p>
<body>
<div class="tirecomparison-calculator">   
    <div class="form_holder_cal"> 
                    <div class="form_one_container">
                        <div class="setup_old">
                            <h5 class="hclass">YOUR EXISTING SETUP</h5>
                        </div>
                        <form class="form_one">
                           <div class="input_row">
                              <div class="input_column_img">
                                 <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                              </div>
                              <div class="input_column">
                                 <label class="form_label" for="tireWidth">Width (mm)</label>
                                 <input id="tireWidth" oninput="tireFunction()" value="205" type="number" min="0" max="399">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireProfile">Profile</label>
                                <input id="tireProfile" oninput="tireFunction()" value="55" type="number" min="0" max="99">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireDiameter">Diameter (in)</label>
                                <input id="tireDiameter" oninput="tireFunction()" value="16" type="number" min="0" max="99">
                              </div>
                            </div>
                           <div class="input_row">
                            <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="offset">Offset (mm)</label>
                                <input id="offset" oninput="tireFunction()" value="40" type="number" min="-99" max="99">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="width">Width (in)</label>
                                <input id="width" oninput="tireFunction()" value="6.5" type="number" min="0" max="99">
                            </div>
                           </div>
                        </form>
                        <p class="psmall">Above values are only examples! If unsure of your current wheel size? <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/">Check here!</a> </p>
                    </div>
                    <div class="form_two_container">
                          <div class="setup_new">
                          <h5 class="hclass">YOUR NEW SETUP</h5>
                           </div>
                         <form class="form_two">
                           <div class="input_row">
                             <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireWidth">Width (mm)</label>
                                <input id="twoTireWidth" oninput="twoTireFunction()" value="235" type="number" min="0" max="399">
                                </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireProfile">Profile</label>
                                <input id="twoTireProfile" oninput="twoTireFunction()" value="40" type="number" min="0" max="99">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireDiameter">Diameter (in)</label>
                                 <input id="twoTireDiameter" oninput="twoTireFunction()" value="17" type="number" min="0" max="99">
                             </div>
                             </div>
                             <div class="input_row">
                                <div class="input_column_img">
                                    <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                                 </div>
                                 <div class="input_column">
                                     <label class="form_label" for="twoOffset">Offset (mm)</label>
                                     <input id="twoOffset" class="mm" value="20" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                 </div>
                                     <div class="input_column">
                                         <label class="form_label" for="twoWidth">Width (in)</label>
                                          <input id="twoWidth" class="ms" value="7.5" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                      </div>                          
                                </div>
                         </form>
                      <p class="psmall">Above values are only examples! Change values to view fittment.</p>
                    </div>
     
      
                    <div class="results_header">   
                     <h5 class="hclass">YOUR RESULTS</h5>
                      <p> are automatically applied below </p>
                  </div>  
               <div class="canvasHolder">
                 <canvas class="canvas" id="canvasA"></canvas>
                 <canvas class="canvas" id="canvasB"></canvas>
               </div> 
                <br>


                <div class="hide">
                    <div class="form-check">
                         <label class="lock locka" for="checkTires">
                           <input onclick="checkTires()" type="checkbox" value="" id="checkTires" checked>
                           <span>Show Tires</span>
                         </label>
                    </div>
                    <div class="form-check">
                        <label class="lock" for="checkMeasurements">
                          <input onclick="checkMeasurements()" type="checkbox" value="" id="checkMeasurements" checked>
                          <span>Show Measurements</span>
                        </label>
                    </div>
                    <div class="form-check advance_options">
                          <label class="lock lockd" for="checkClearance">
                          <input onclick="checkClearance()" type="checkbox" value="" id="checkClearance">
                          <span>Show Clearance</span>
                       </label>
                    </div>
                    <div class="form-check advance_options">
                       <label class="lock lockd" for="checkFenderSuspension">
                         <input onclick="checkFenderSuspension()" type="checkbox" value="" id="checkFenderSuspension">
                         <span>Show Fender and Suspension</span>
                       </label>
                    </div>
                
                    <input type="button" id="buttonToggle" class="example_c" value="Show More Options" onclick="toggleMode()">
                    <div class="form_three_container">
                        <form class="form_three">
                           <div class="block_one">          
                              <div class="advance_options form_one">
                                <label for="wheelwellWidth">Wheelwell Clearance (mm) </label>
                                <input id="wheelwellWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="fenderWidth">Fender Clearance (mm) </label>
                                  <input id="fenderWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="suspensionWidth">Suspension Width (mm)</label>
                                  <input id="suspensionWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="399">
                              </div>
                           </div>
                           <div class="block_two">
                              <div class="advance_options form_two">
                               </div>
                              <div class="advance_options form_two">
                                <label for="twoWheelwellWidth">New Wheelwell Clearance (mm) </label>
                                <input id="twoWheelwellWidth" oninput="twoTireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                           <div class="advance_options form_two">
                                <label for="twoFenderWidth">New Fender Clearance (mm)</label>
                                <input id="twoFenderWidth" oninput="twoTireFunction()" value="0" type="number" min="-99" max="99">
                           </div>
                           <div class="advance_options form_two">
                                <label for="twoSuspensionWidth">New Suspension Width (mm)</label>
                                <input id="twoSuspensionWidth" oninput="twoTireFunction()" value="0" type="number" min="0" max="99">
                           </div>
                          </div>
                        </form>
                    </div>
                 </div>
                   <div class="wheel_text">
                         <p>The diagram is only for show to help you visualize your tires and wheel fitment of your new setup.</p>
                         <br>
                         <p>Tire Width    - The width of your tire in millimeters. <strong>195</strong>/55ZR15</p>
                         <p>Tire Profile  - The ratio of tire wall width to tire width. 195/<strong>55</strong>ZR15</p>
                         <p>Tire Diameter - The diameter of your wheels in inches. 195/55ZR<strong>15</strong> </p>
                         <p>Offset - the distance from the center of the wheel to the mounting face in mm. ET<strong>20</strong> </p>
                         <p>Rim Width - The width of your rims in inches. <strong>7.5</strong>JX17 </p>
                   </div>
      
      
        <div class="table-results">
            <table class="table table-sm">
                <colgroup>
                    <col>
                    <col>
                    <col span="1" class="bg-light">
                    <col>
                </colgroup>
                <thead>
                    <tr>
                        <th id="measure" scope="col">Inches</th>
                        <th scope="col" class="tb_orgwheel">Original Wheel</th>
                        <th scope="col" class="tb_newwheel">New Wheel</th>
                        <th scope="col">Difference</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <th scope="row">Diameter</th>
                        <td id="diameterOne"></td>
                        <td id="diameterTwo"></td>
                        <td id="diameterPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Circumference</th>
                        <td id="circumferenceOne"></td>
                        <td id="circumferenceTwo"></td>
                        <td id="circumferencePercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Sidewall</th>
                        <td id="sidewallOne"></td>
                        <td id="sidewallTwo"></td>
                        <td id="sidewallPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Width</th>
                        <td id="widthOne"></td>
                        <td id="widthTwo"></td>
                        <td id="widthPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Wheel Revolutions</th>
                        <td id="revOne"></td>
                        <td id="revTwo"></td>
                        <td id="revPercentage"></td>
                    </tr>
                </tbody>
             </table>
                <input type="button" id="buttonConvert" value="Convert" onclick="convertTable()">
        </div>
    </div>
</div>
    

<style>
  .hide {
    display: none;
  }
  .results{
    color:white!important;
    text-align: center;
    background-color: #005a87;
    padding:5px;
  }

 .results_header{
    display:block;
    text-align: center;
    background-color: #007bff;
    margin-top:30px;    
    margin-bottom: 10px;
    margin-right:10px;
    margin-right:10px;
    max-width: 100%;
    padding:10px;
    width:100%;
    Color: #fff;
  }
.results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}


.lock {
	position:relative;
  cursor:pointer;
	height:32px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.lock input {
	display:none; 
}
.lock span:before,
.lock span:after{
	content:"";
}

.lock span:before {
	width:64px;
	height:32px;
	margin-right:8px;
	background:#EEE;
	border-radius:32px;
	display:inline-block;
	vertical-align:middle;
	transition:all .5s cubic-bezier(.175, .885, .32, 1);
}
.lock span:after {
	margin:2px;
	width:28px;
	height:28px;
	background:#FFF;
	border-radius:28px;
	position:absolute;
	left:0;
	z-index:2;
	transition:all .5s cubic-bezier(.175, .885, .32, 1); 
}
.lock input:checked + span:after {
	left:32px;
}
.lockd input:disabled + span:after{
	background: #acacac;
}
.lock input:checked + span:before {
	background-color:#006298;
}
.locka input:checked + span:before {
	background-color:#1CC691;
}
    .example_c {
        color: #fff !important;
        text-transform: uppercase;
        text-decoration: none;
        background: #006298;
        padding: 5px;
        border-radius: 5px;
        display: inline-block;
        border: none;
        transition: all 0.4s ease 0s;
    }
    .example_c:hover {
        background: black;
        letter-spacing: 1px;
        -webkit-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        -moz-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        box-shadow: 5px 40px -10px rgba(0,0,0,0.57);
        transition: all 0.4s ease 0s;
    }
    p { margin: 5px }
    .canvasHolder {
        position: relative;
    }

  /* form style*/ 
.psmall{
  font-size:small;
  padding-top:5px;
}

.hclass{
  color:#fff;
  font-weight:400;
}

  .setup_old{
    margin-right:10px;
    background-color: #FF6600;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
.setup_new{
    margin-right:0px;
    background-color: #007bff;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
    .form_holder_cal{
        background-color:#fff;
        padding-top:0px;   
        margin: 0 auto;
        max-width: 100%;
        
    } 
 
    .form_two{
        
        display: flex-grid;
    }
    .block_two{
        display: table-cell;
        vertical-align: middle;
        width: 50%;
    }
    .block_one{
        display: table-cell;
        float:left;
    }
    .form_two_container{
        display: table-cell;
          
        margin:auto;
             }
    
    .form_one_container{
        display: table-cell;
        
        margin:auto;
                   }
@media screen and (max-width: 750px) {
  .form_two_container {
    display: block;
    margin-top:30px;
    margin-bottom:20px;
    float:left;
   
  }
  .form_one_container {
    display: block;
    padding-top: 30px;
     }
  .results_header{
    display:inline-block;
    margin-right:10px;
    width:100%;
    text-align:center;
  }
  .results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}
}

@media screen and (max-width: 400px) {
  .form_two_container {
    width: 100%;
   
  }
  .form_one_container {
    width: 100%;
    
  }
}

.block_one{
    float:center;
    }

.input_row {
  display: table-row;
}

.input_column_img {
  display: table-column;
  padding-right: 5px; 
  float: left;
  width:100%;
  min-width: 50px;
}

.input_column 
  {
display: table-cell;
}

    .form_one{
        margin-right: 0px; 
    }

     .form_label {
        display:block;
        padding: 5px;
       margin-left: 10px;
       float: left;
       width:80%;
       Font-size:12px;
    }
    .form_one input[type="button"] { 
      min-width: 100px;}
    
  
    .form_two input[type="button"] { 
        min-width: 100px;
    }
    .form_one input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
      height: 28px;
  	   width: 80px;}
  
      .form_two input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
        height: 28px;
        width: 80px;}
    }
    .form-check-input {
        width: 20px;
     
    }
    .canvasHolder{
        float:left;
        position: relative;
        height: 500px; width: 400px; /*based on your canvas size*/
        
    }
  @media only screen and (max-width: 400px) {
  .canvasHolder{
              margin-left:-50px;
    }
}
    .canvas{
        position: absolute;
        top: 0; left: 0;
        }
    .tirecomparison-calculator {
        padding: 20px 5px;
        
        background: #fff;
 
        margin-left: 0px;
        margin-right: 0px;
        overflow: hidden;
    }
.table-results{
display: block;
width: 100%;
  /*
overflow-x: auto;
-webkit-overflow-scrolling: touch;*/
margin: 0 auto;
}

.tb_orgwheel {
  background-color:#FF6600;
  Color: #fff;
}
.tb_newwheel {
  background-color:#007bff;
  Color: #fff;
}

</style>
<script>
    let c = document.getElementById("canvasA");
    let d       = document.getElementById("canvasB");
    let ctx     = c.getContext("2d");
    let ctx2    = d.getContext("2d");
    let initialHeight   = 500;
    let initialWidth    = 400;
    c.width     = initialWidth;
    c.height    = initialHeight;
    d.width     = initialWidth;
    d.height    = initialHeight;

    let tireImg = new Image();
    tireImg.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/tire_PNG45.gif";
  
    let background = new Image();
    background.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/jTkeSmK.gif";

    let tireOffsetX = 200;
    let tireOffsetY = 50;

    let inches  = true;
    let enabled = true;
    let measure = true;
    let tires   = false;
    let clearance = true;
    let fendersuspension = false;
     
    var heckMeasurements = document.getElementById("checkMeasurements");
    var heckTires = document.getElementById("checkTires");
    //if enabled disable the function to draw
    function checkClearance(){
        var remember = document.getElementById("checkClearance");
        if (remember.checked){
            clearance = true;
            tireFunction();
            twoTireFunction();
        }else{
            clearance = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkFenderSuspension(){
        var remember = document.getElementById("checkFenderSuspension");
        if (remember.checked){
            fendersuspension = true;
            tireFunction();
            twoTireFunction();
        }else{
            fendersuspension = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkMeasurements(){
        if (heckMeasurements.checked){
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
            
        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkTires").checked = true;
            tires = true;
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();
        }
        else{
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();

        }
    }

    function checkTires(){
        if (heckTires.checked){
            tires = true;
            tireFunction();
            twoTireFunction();

        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkMeasurements").checked = true;
            tires = false;
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
        }
        else{
            tires = false;
            tireFunction();
            twoTireFunction();

        }
    }
function toggleMode(){
        var divsToHide = document.getElementsByClassName("advance_options"); //divsToHide is an array
        if (enabled === true){
            enabled = false;
            //hide elements
            for(var i = 0; i < divsToHide.length; i++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[i].style.display = "none"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Show More";
        }
        else if (enabled === false) {
            enabled = true;

            for(var x = 0; x < divsToHide.length; x++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[x].style.display = "block"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Hide";

        }
        tireFunction();
        twoTireFunction();
    }
 
    function processTableValues(colNum, tireHeight, tireSidewall, tiredWidth){
        document.getElementById("diameter" + colNum).textContent        = tireHeight.toFixed(2);
        document.getElementById("circumference" + colNum).textContent   = (3.14159 * tireHeight).toFixed(2);
        document.getElementById("sidewall" + colNum).textContent        = tireSidewall.toFixed(2);
        document.getElementById("width" + colNum).textContent           = (tiredWidth / 25.4).toFixed(2);
        document.getElementById("rev" + colNum).textContent             = (63360 / (3.14159 * tireHeight)).toFixed(0);
    }
    function processTableDifference(){
        document.getElementById("diameterPercentage").textContent       = ((((parseFloat(document.getElementById("diameterTwo").textContent) - parseFloat(document.getElementById("diameterOne").textContent)) / parseFloat(document.getElementById("diameterOne").textContent) * 100)) || 0).toFixed(0) + "%";
        document.getElementById("circumferencePercentage").textContent  = (((parseFloat(document.getElementById("circumferenceTwo").textContent) - parseFloat(document.getElementById("circumferenceOne").textContent)) / parseFloat(document.getElementById("circumferenceOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("sidewallPercentage").textContent       = (((parseFloat(document.getElementById("sidewallTwo").textContent) - parseFloat(document.getElementById("sidewallOne").textContent)) / parseFloat(document.getElementById("sidewallOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("widthPercentage").textContent          = (((parseFloat(document.getElementById("widthTwo").textContent) - parseFloat(document.getElementById("widthOne").textContent)) / parseFloat(document.getElementById("widthOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("revPercentage").textContent            = (parseFloat(document.getElementById("revTwo").textContent) - parseFloat(document.getElementById("revOne").textContent) || 0).toFixed(0);
    }  
    function convertTable() {
        if (inches === true) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) * 25.4).toFixed(0);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) * 25.4).toFixed(0);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) / 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) / 1.6).toFixed(0);

            document.getElementById("measure").textContent          = "Millimeters";
            inches = false;

        } else if (inches === false) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) / 25.4).toFixed(2);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) / 25.4).toFixed(2);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) * 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) * 1.6).toFixed(0);
            document.getElementById("measure").textContent          = "Inches";
            inches = true;
        }
    }
    let dimensionOffset = 0;
    let dimensionOffsetY = 51;
    function drawDimensions(canvasNum, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, strokeColor, offset){
        canvasNum.strokeStyle = strokeColor;

        //x line
        //big line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY); //top
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY); //bottom
        canvasNum.stroke();
        //x text
        canvasNum.font = "15px Helvetica";
        canvasNum.fillStyle = strokeColor;
        canvasNum.fillText(tireHeight.toFixed(1),  (tireWidth1) - fenderWidth + 15, ((midpoint1 - tireProfile) + (midpoint2 + tireProfile)) / 2 + offset);

        //top line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.stroke();

        //bottom line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();

        //y line
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.stroke();
        //y text
        canvasNum.textBaseline = "bottom";
        canvasNum.fillText((tiredWidth / 25.4).toFixed(2),  (tireWidth1 + tireWidth2) / 2 - 20 + offset  + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();
        
    }

    function drawFenderSuspension(canvasNum, newWidth, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, strokeColor){
        //draw fender line
        if (enabled === true && measure === true){
            if (tireWidth1 > newWidth){ 
            canvasNum.beginPath();
            canvasNum.setLineDash([2,3]);
            canvasNum.strokeStyle = strokeColor;
            canvasNum.moveTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            else {
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);

            canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            //draw suspension line
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);
            canvasNum.moveTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
        }
    }

    function drawClearance(canvasNum, wheelwellWidth, midpoint1, midpoint2, tireProfile, strokeColor){
        if (enabled === true && measure === true){
        //draw fender line
        canvasNum.beginPath();
        canvasNum.strokeStyle = strokeColor;
        canvasNum.moveTo(dimensionOffset + dimensionOffsetY + 80,  (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.lineTo(250 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.stroke();
        }
    }
    function drawProfile(canvasNum, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
    }
    function drawWidth(canvasNum, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();
    }

    function tireFunction() { //first set
        ctx.clearRect(0, 0, 500, 500);
        ctx.drawImage(background, 50, 50);
        let width           = document.getElementById("width").value * 12;
        let offset          = document.getElementById("offset").value / 2;
        let tireWidth       = parseInt(document.getElementById("tireWidth").value) / 4;
        let tireProfile     = parseInt(document.getElementById("tireProfile").value) * 1.1;
        let tireDiameter    = parseInt(document.getElementById("tireDiameter").value) * 12.5;
        let fenderWidth     = parseInt(document.getElementById("fenderWidth").value) || 0;
        let suspensionWidth = parseInt(document.getElementById("suspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("wheelwellWidth").value) || 0;

        let tiredWidth      = parseInt(document.getElementById("tireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("tireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("tireDiameter").value);
        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = ((((tiredWidth * (tiredProfile / 100)) * 2) + (tiredDiameter * 25.4)) / 25.4);

        processTableValues("One", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1 = (440 - tireDiameter) / 2;
        let midpoint2 = (440 + tireDiameter) / 2;

        tireProfile = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2 = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1 = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#FF6600", 0);

            //draw rect
            ctx.beginPath();
            ctx.strokeStyle    = "#FF6600";
            ctx.lineWidth      = 3;
            if (tires === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            if (enabled === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else{
            ctx.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            ctx.stroke();
            ctx.strokeStyle = "#000000";
            if (enabled === false){

            //draw lines on top and below the rectangle
            drawWidth(ctx, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

            //draw two lines connecting the tire widths to the base of the rectangle
            drawProfile(ctx, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
            ctx.strokeStyle = "#FF0000";

            //draw fender and suspension lines
            if (fendersuspension === true){
                drawFenderSuspension(ctx, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#FF0000");
            }

            if (clearance === true){
            drawClearance(ctx, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#FF0000");
            }
            }
        }

        else if (measure === false){
            ctx.beginPath();
            ctx.strokeStyle    = "#FF0000";
            ctx.lineWidth      = 3;
            ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx.stroke();
        }
    }

    function twoTireFunction() {
        ctx2.clearRect(0, 0, 500, 500);

        let width           = (document.getElementById("twoWidth").value) * 12;
        let offset          = (document.getElementById("twoOffset").value) / 2;
        let tireWidth       = (parseInt(document.getElementById("twoTireWidth").value)) / 4;
        let tireProfile     = (parseInt(document.getElementById("twoTireProfile").value)) * 1.1;
        let tireDiameter    = (parseInt(document.getElementById("twoTireDiameter").value)) * 12.5;

        let tiredWidth      = parseInt(document.getElementById("twoTireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("twoTireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("twoTireDiameter").value);
        let fenderWidth     = (parseInt(document.getElementById("twoFenderWidth").value)) || 0;
        let suspensionWidth = parseInt(document.getElementById("twoSuspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("twoWheelwellWidth").value) || 0;

        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = (((tiredWidth * (tiredProfile / 100))  * 2) + (tiredDiameter * 25.4)) / 25.4;

        processTableValues("Two", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue  = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1   = (440 - tireDiameter) / 2;
        let midpoint2   = (440 + tireDiameter) / 2;

        tireProfile     = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2  = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1  = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx2, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#007bff", 50);

            //draw rect 2
            ctx2.beginPath();
            ctx2.strokeStyle    = "#007bff";
            ctx2.lineWidth      = 2.5;
            if (enabled === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else {
                ctx2.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            if (tires === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 0.35;
                ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 1;
            }
            ctx2.stroke();
            ctx2.strokeStyle = "#000000";
            if (enabled === false){

                //draw lines on top and below the rectangle
                drawWidth(ctx2, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

                //draw two lines connecting the tire widths to the base of the rectangle
                drawProfile(ctx2, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
                ctx2.strokeStyle = "#0000FF";

                //draw fender and suspension lines
                if (fendersuspension === true){
                drawFenderSuspension(ctx2, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#0000FF");
                }

                if (clearance === true){
                    drawClearance(ctx2, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#0000FF");
                }
            }
        }

        else if (measure === true){
            ctx2.beginPath();
            ctx2.strokeStyle    = "#0000FF";
            ctx2.lineWidth      = 2.5;
            ctx2.globalAlpha    = 0.35;

            ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx2.globalAlpha    = 1;

            ctx2.stroke();
        }

    }
    // Make sure the image is loaded first otherwise nothing will draw.

    background.onload = function () {
        var allowedDomains = ['bmwstylerims.com'];
        console.log(document.domain);
        if (allowedDomains.indexOf(document.domain) == -1) {
        // Code to redirect here
        //window.location.href = "https://bmwstylerims.com"; 
        }

        toggleMode();
    };
    //https://obfuscator.io/
    //https://javascriptobfuscator.com/Javascript-Obfuscator.aspx
</script>
</body>
<h3>What is the recommended tire pressure for the BMW wheel style 798?</h3>
<p>The tire pressure for the BMW wheel style 798 will depend on your BMW model. Most BMW models like the BMW Z4 Series and the , have a recommended tire pressure of 32 PSI (2.2 Bar). However, you should always double-check this for your specific BMW model. You can find out the recommended tire pressure for your BMW, by checking the the sticker on the inside edge of the driver’s door or, check your owner’s manual if you still have the same type of tires that came with the vehicle.</p>
<p>The post <a href="https://www.bmwstylerims.com/bmw-wheel-style-798/">BMW wheel style 798</a> appeared first on <a href="https://www.bmwstylerims.com">BmwStyleRims.com</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>BMW wheel style 799</title>
		<link>https://www.bmwstylerims.com/bmw-wheel-style-799/</link>
		
		<dc:creator><![CDATA[bmwstylerims.com]]></dc:creator>
		<pubDate>Sat, 06 Nov 2021 15:00:42 +0000</pubDate>
				<category><![CDATA[All BMW Wheel Styles]]></category>
		<category><![CDATA[BMW Z4 Series]]></category>
		<category><![CDATA[BMW Z4 Series G29]]></category>
		<category><![CDATA[G29]]></category>
		<guid isPermaLink="false">https://www.bmwstylerims.com/bmw-wheel-style-799/</guid>

					<description><![CDATA[<p>The BMW wheel style 799 is part of the BMW original wheels lineup. Find out more about the style 799 BMW wheels, which is standard  for the bmw Z4 G29 but might fit other models.&#8230; <a class="kt-excerpt-readmore" href="https://www.bmwstylerims.com/bmw-wheel-style-799/" aria-label="BMW wheel style 799">Read More</a></p>
<p>The post <a href="https://www.bmwstylerims.com/bmw-wheel-style-799/">BMW wheel style 799</a> appeared first on <a href="https://www.bmwstylerims.com">BmwStyleRims.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>The bmw Style wheel 799 is available in diameters of 19 inches and are staggerd wheels. This wheel is the original wheel style for the bmw series Z4 G29, however it might fit other models given the specifications match below with the replacement wheel sizes.</p>
<p><img decoding="async" class="centerimg" src="https://www.bmwstylerims.com/wp-content/uploads/2021/05/BMW-wheel-style-799.jpg" alt="BMW wheel style 799" data-skip-lazy="" /></p>
<h3><strong>BMW wheel style 799 </strong><strong>Technical Specifications &amp; Parts  </strong></h3>
<p><Table></p>
<td>Part Number</td>
<td>Part Name</td>
<td>Part Details</td>
<td>Search for Part</td>
</tr>
<tr>
<td>36118091763</td>
<td>Disc wheel light alloy jet bl.sol.paint</td>
<td>9X19 ET:32</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36118091763 Disc wheel light alloy jet bl.sol.paint" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36118091764</td>
<td>Disc wheel light alloy jet bl.sol.paint</td>
<td>10X19 ET:40</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36118091764 Disc wheel light alloy jet bl.sol.paint" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36118089876</td>
<td>Disc wheel light alloy jet bl.sol.paint</td>
<td>9X19 ET:32</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36118089876 Disc wheel light alloy jet bl.sol.paint" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36118089877</td>
<td>Disc wheel light alloy jet bl.sol.paint</td>
<td>10X19 ET:40</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36118089877 Disc wheel light alloy jet bl.sol.paint" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36136890324</td>
<td>Wheel bolt black</td>
<td>M14X1,25</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136890324 Wheel bolt black" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36136850834</td>
<td>Hub cap with chrome edge</td>
<td>BMW</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136850834 Hub cap with chrome edge" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36112228660</td>
<td>M badge</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36112228660 M badge" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36121116326</td>
<td>Rubber valve</td>
<td>L=42,5MM</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121116326 Rubber valve" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36141095389</td>
<td>Valve</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36141095389 Valve" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36121120779</td>
<td>Valve caps</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121120779 Valve caps" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36106877937</td>
<td>Wheel electronics module, RDC 433MHZ</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36106877937 Wheel electronics module, RDC 433MHZ" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36106877934</td>
<td>Wheel electronics module TPM 315MHZ</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36106877934 Wheel electronics module TPM 315MHZ" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36106879168</td>
<td>Repair kit, screw-type valve RDCi</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36106879168 Repair kit, screw-type valve RDCi" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36106879165</td>
<td>Valve insert RDCi</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36106879165 Valve insert RDCi" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36106879164</td>
<td>Valve cap RDCi</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36106879164 Valve cap RDCi" rel="noopener">search for part</a></td>
</tr>
</table>
<h5>BMW models for which the BMW wheel style 799 fits: G29         </h5>
<h5> </h5>
<h5></h5>
<h3>Will the BMW wheel style 799 fit on your BMW?</h3>
<p>Bear in mind that it could be dangerous to run your BMW on tires or wheels they aren&#8217;t designed to fit. If you are unsure about your current wheel specifications, please check our <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/" target="_blank" rel="noopener">BMW wheel fitment chart and guide</a></p>
<p>&nbsp;</p>
<p>Insert your existing BMW wheel and tire dimensions, and the sizes of the BMW wheel style 799, and the outcome will be shown on the diagram. The strut shown in the diagram below is for illustration purpose only.</p>
<body>
<div class="tirecomparison-calculator">   
    <div class="form_holder_cal"> 
                    <div class="form_one_container">
                        <div class="setup_old">
                            <h5 class="hclass">YOUR EXISTING SETUP</h5>
                        </div>
                        <form class="form_one">
                           <div class="input_row">
                              <div class="input_column_img">
                                 <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                              </div>
                              <div class="input_column">
                                 <label class="form_label" for="tireWidth">Width (mm)</label>
                                 <input id="tireWidth" oninput="tireFunction()" value="205" type="number" min="0" max="399">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireProfile">Profile</label>
                                <input id="tireProfile" oninput="tireFunction()" value="55" type="number" min="0" max="99">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireDiameter">Diameter (in)</label>
                                <input id="tireDiameter" oninput="tireFunction()" value="16" type="number" min="0" max="99">
                              </div>
                            </div>
                           <div class="input_row">
                            <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="offset">Offset (mm)</label>
                                <input id="offset" oninput="tireFunction()" value="40" type="number" min="-99" max="99">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="width">Width (in)</label>
                                <input id="width" oninput="tireFunction()" value="6.5" type="number" min="0" max="99">
                            </div>
                           </div>
                        </form>
                        <p class="psmall">Above values are only examples! If unsure of your current wheel size? <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/">Check here!</a> </p>
                    </div>
                    <div class="form_two_container">
                          <div class="setup_new">
                          <h5 class="hclass">YOUR NEW SETUP</h5>
                           </div>
                         <form class="form_two">
                           <div class="input_row">
                             <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireWidth">Width (mm)</label>
                                <input id="twoTireWidth" oninput="twoTireFunction()" value="235" type="number" min="0" max="399">
                                </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireProfile">Profile</label>
                                <input id="twoTireProfile" oninput="twoTireFunction()" value="40" type="number" min="0" max="99">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireDiameter">Diameter (in)</label>
                                 <input id="twoTireDiameter" oninput="twoTireFunction()" value="17" type="number" min="0" max="99">
                             </div>
                             </div>
                             <div class="input_row">
                                <div class="input_column_img">
                                    <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                                 </div>
                                 <div class="input_column">
                                     <label class="form_label" for="twoOffset">Offset (mm)</label>
                                     <input id="twoOffset" class="mm" value="20" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                 </div>
                                     <div class="input_column">
                                         <label class="form_label" for="twoWidth">Width (in)</label>
                                          <input id="twoWidth" class="ms" value="7.5" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                      </div>                          
                                </div>
                         </form>
                      <p class="psmall">Above values are only examples! Change values to view fittment.</p>
                    </div>
     
      
                    <div class="results_header">   
                     <h5 class="hclass">YOUR RESULTS</h5>
                      <p> are automatically applied below </p>
                  </div>  
               <div class="canvasHolder">
                 <canvas class="canvas" id="canvasA"></canvas>
                 <canvas class="canvas" id="canvasB"></canvas>
               </div> 
                <br>


                <div class="hide">
                    <div class="form-check">
                         <label class="lock locka" for="checkTires">
                           <input onclick="checkTires()" type="checkbox" value="" id="checkTires" checked>
                           <span>Show Tires</span>
                         </label>
                    </div>
                    <div class="form-check">
                        <label class="lock" for="checkMeasurements">
                          <input onclick="checkMeasurements()" type="checkbox" value="" id="checkMeasurements" checked>
                          <span>Show Measurements</span>
                        </label>
                    </div>
                    <div class="form-check advance_options">
                          <label class="lock lockd" for="checkClearance">
                          <input onclick="checkClearance()" type="checkbox" value="" id="checkClearance">
                          <span>Show Clearance</span>
                       </label>
                    </div>
                    <div class="form-check advance_options">
                       <label class="lock lockd" for="checkFenderSuspension">
                         <input onclick="checkFenderSuspension()" type="checkbox" value="" id="checkFenderSuspension">
                         <span>Show Fender and Suspension</span>
                       </label>
                    </div>
                
                    <input type="button" id="buttonToggle" class="example_c" value="Show More Options" onclick="toggleMode()">
                    <div class="form_three_container">
                        <form class="form_three">
                           <div class="block_one">          
                              <div class="advance_options form_one">
                                <label for="wheelwellWidth">Wheelwell Clearance (mm) </label>
                                <input id="wheelwellWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="fenderWidth">Fender Clearance (mm) </label>
                                  <input id="fenderWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="suspensionWidth">Suspension Width (mm)</label>
                                  <input id="suspensionWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="399">
                              </div>
                           </div>
                           <div class="block_two">
                              <div class="advance_options form_two">
                               </div>
                              <div class="advance_options form_two">
                                <label for="twoWheelwellWidth">New Wheelwell Clearance (mm) </label>
                                <input id="twoWheelwellWidth" oninput="twoTireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                           <div class="advance_options form_two">
                                <label for="twoFenderWidth">New Fender Clearance (mm)</label>
                                <input id="twoFenderWidth" oninput="twoTireFunction()" value="0" type="number" min="-99" max="99">
                           </div>
                           <div class="advance_options form_two">
                                <label for="twoSuspensionWidth">New Suspension Width (mm)</label>
                                <input id="twoSuspensionWidth" oninput="twoTireFunction()" value="0" type="number" min="0" max="99">
                           </div>
                          </div>
                        </form>
                    </div>
                 </div>
                   <div class="wheel_text">
                         <p>The diagram is only for show to help you visualize your tires and wheel fitment of your new setup.</p>
                         <br>
                         <p>Tire Width    - The width of your tire in millimeters. <strong>195</strong>/55ZR15</p>
                         <p>Tire Profile  - The ratio of tire wall width to tire width. 195/<strong>55</strong>ZR15</p>
                         <p>Tire Diameter - The diameter of your wheels in inches. 195/55ZR<strong>15</strong> </p>
                         <p>Offset - the distance from the center of the wheel to the mounting face in mm. ET<strong>20</strong> </p>
                         <p>Rim Width - The width of your rims in inches. <strong>7.5</strong>JX17 </p>
                   </div>
      
      
        <div class="table-results">
            <table class="table table-sm">
                <colgroup>
                    <col>
                    <col>
                    <col span="1" class="bg-light">
                    <col>
                </colgroup>
                <thead>
                    <tr>
                        <th id="measure" scope="col">Inches</th>
                        <th scope="col" class="tb_orgwheel">Original Wheel</th>
                        <th scope="col" class="tb_newwheel">New Wheel</th>
                        <th scope="col">Difference</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <th scope="row">Diameter</th>
                        <td id="diameterOne"></td>
                        <td id="diameterTwo"></td>
                        <td id="diameterPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Circumference</th>
                        <td id="circumferenceOne"></td>
                        <td id="circumferenceTwo"></td>
                        <td id="circumferencePercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Sidewall</th>
                        <td id="sidewallOne"></td>
                        <td id="sidewallTwo"></td>
                        <td id="sidewallPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Width</th>
                        <td id="widthOne"></td>
                        <td id="widthTwo"></td>
                        <td id="widthPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Wheel Revolutions</th>
                        <td id="revOne"></td>
                        <td id="revTwo"></td>
                        <td id="revPercentage"></td>
                    </tr>
                </tbody>
             </table>
                <input type="button" id="buttonConvert" value="Convert" onclick="convertTable()">
        </div>
    </div>
</div>
    

<style>
  .hide {
    display: none;
  }
  .results{
    color:white!important;
    text-align: center;
    background-color: #005a87;
    padding:5px;
  }

 .results_header{
    display:block;
    text-align: center;
    background-color: #007bff;
    margin-top:30px;    
    margin-bottom: 10px;
    margin-right:10px;
    margin-right:10px;
    max-width: 100%;
    padding:10px;
    width:100%;
    Color: #fff;
  }
.results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}


.lock {
	position:relative;
  cursor:pointer;
	height:32px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.lock input {
	display:none; 
}
.lock span:before,
.lock span:after{
	content:"";
}

.lock span:before {
	width:64px;
	height:32px;
	margin-right:8px;
	background:#EEE;
	border-radius:32px;
	display:inline-block;
	vertical-align:middle;
	transition:all .5s cubic-bezier(.175, .885, .32, 1);
}
.lock span:after {
	margin:2px;
	width:28px;
	height:28px;
	background:#FFF;
	border-radius:28px;
	position:absolute;
	left:0;
	z-index:2;
	transition:all .5s cubic-bezier(.175, .885, .32, 1); 
}
.lock input:checked + span:after {
	left:32px;
}
.lockd input:disabled + span:after{
	background: #acacac;
}
.lock input:checked + span:before {
	background-color:#006298;
}
.locka input:checked + span:before {
	background-color:#1CC691;
}
    .example_c {
        color: #fff !important;
        text-transform: uppercase;
        text-decoration: none;
        background: #006298;
        padding: 5px;
        border-radius: 5px;
        display: inline-block;
        border: none;
        transition: all 0.4s ease 0s;
    }
    .example_c:hover {
        background: black;
        letter-spacing: 1px;
        -webkit-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        -moz-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        box-shadow: 5px 40px -10px rgba(0,0,0,0.57);
        transition: all 0.4s ease 0s;
    }
    p { margin: 5px }
    .canvasHolder {
        position: relative;
    }

  /* form style*/ 
.psmall{
  font-size:small;
  padding-top:5px;
}

.hclass{
  color:#fff;
  font-weight:400;
}

  .setup_old{
    margin-right:10px;
    background-color: #FF6600;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
.setup_new{
    margin-right:0px;
    background-color: #007bff;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
    .form_holder_cal{
        background-color:#fff;
        padding-top:0px;   
        margin: 0 auto;
        max-width: 100%;
        
    } 
 
    .form_two{
        
        display: flex-grid;
    }
    .block_two{
        display: table-cell;
        vertical-align: middle;
        width: 50%;
    }
    .block_one{
        display: table-cell;
        float:left;
    }
    .form_two_container{
        display: table-cell;
          
        margin:auto;
             }
    
    .form_one_container{
        display: table-cell;
        
        margin:auto;
                   }
@media screen and (max-width: 750px) {
  .form_two_container {
    display: block;
    margin-top:30px;
    margin-bottom:20px;
    float:left;
   
  }
  .form_one_container {
    display: block;
    padding-top: 30px;
     }
  .results_header{
    display:inline-block;
    margin-right:10px;
    width:100%;
    text-align:center;
  }
  .results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}
}

@media screen and (max-width: 400px) {
  .form_two_container {
    width: 100%;
   
  }
  .form_one_container {
    width: 100%;
    
  }
}

.block_one{
    float:center;
    }

.input_row {
  display: table-row;
}

.input_column_img {
  display: table-column;
  padding-right: 5px; 
  float: left;
  width:100%;
  min-width: 50px;
}

.input_column 
  {
display: table-cell;
}

    .form_one{
        margin-right: 0px; 
    }

     .form_label {
        display:block;
        padding: 5px;
       margin-left: 10px;
       float: left;
       width:80%;
       Font-size:12px;
    }
    .form_one input[type="button"] { 
      min-width: 100px;}
    
  
    .form_two input[type="button"] { 
        min-width: 100px;
    }
    .form_one input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
      height: 28px;
  	   width: 80px;}
  
      .form_two input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
        height: 28px;
        width: 80px;}
    }
    .form-check-input {
        width: 20px;
     
    }
    .canvasHolder{
        float:left;
        position: relative;
        height: 500px; width: 400px; /*based on your canvas size*/
        
    }
  @media only screen and (max-width: 400px) {
  .canvasHolder{
              margin-left:-50px;
    }
}
    .canvas{
        position: absolute;
        top: 0; left: 0;
        }
    .tirecomparison-calculator {
        padding: 20px 5px;
        
        background: #fff;
 
        margin-left: 0px;
        margin-right: 0px;
        overflow: hidden;
    }
.table-results{
display: block;
width: 100%;
  /*
overflow-x: auto;
-webkit-overflow-scrolling: touch;*/
margin: 0 auto;
}

.tb_orgwheel {
  background-color:#FF6600;
  Color: #fff;
}
.tb_newwheel {
  background-color:#007bff;
  Color: #fff;
}

</style>
<script>
    let c = document.getElementById("canvasA");
    let d       = document.getElementById("canvasB");
    let ctx     = c.getContext("2d");
    let ctx2    = d.getContext("2d");
    let initialHeight   = 500;
    let initialWidth    = 400;
    c.width     = initialWidth;
    c.height    = initialHeight;
    d.width     = initialWidth;
    d.height    = initialHeight;

    let tireImg = new Image();
    tireImg.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/tire_PNG45.gif";
  
    let background = new Image();
    background.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/jTkeSmK.gif";

    let tireOffsetX = 200;
    let tireOffsetY = 50;

    let inches  = true;
    let enabled = true;
    let measure = true;
    let tires   = false;
    let clearance = true;
    let fendersuspension = false;
     
    var heckMeasurements = document.getElementById("checkMeasurements");
    var heckTires = document.getElementById("checkTires");
    //if enabled disable the function to draw
    function checkClearance(){
        var remember = document.getElementById("checkClearance");
        if (remember.checked){
            clearance = true;
            tireFunction();
            twoTireFunction();
        }else{
            clearance = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkFenderSuspension(){
        var remember = document.getElementById("checkFenderSuspension");
        if (remember.checked){
            fendersuspension = true;
            tireFunction();
            twoTireFunction();
        }else{
            fendersuspension = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkMeasurements(){
        if (heckMeasurements.checked){
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
            
        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkTires").checked = true;
            tires = true;
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();
        }
        else{
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();

        }
    }

    function checkTires(){
        if (heckTires.checked){
            tires = true;
            tireFunction();
            twoTireFunction();

        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkMeasurements").checked = true;
            tires = false;
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
        }
        else{
            tires = false;
            tireFunction();
            twoTireFunction();

        }
    }
function toggleMode(){
        var divsToHide = document.getElementsByClassName("advance_options"); //divsToHide is an array
        if (enabled === true){
            enabled = false;
            //hide elements
            for(var i = 0; i < divsToHide.length; i++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[i].style.display = "none"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Show More";
        }
        else if (enabled === false) {
            enabled = true;

            for(var x = 0; x < divsToHide.length; x++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[x].style.display = "block"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Hide";

        }
        tireFunction();
        twoTireFunction();
    }
 
    function processTableValues(colNum, tireHeight, tireSidewall, tiredWidth){
        document.getElementById("diameter" + colNum).textContent        = tireHeight.toFixed(2);
        document.getElementById("circumference" + colNum).textContent   = (3.14159 * tireHeight).toFixed(2);
        document.getElementById("sidewall" + colNum).textContent        = tireSidewall.toFixed(2);
        document.getElementById("width" + colNum).textContent           = (tiredWidth / 25.4).toFixed(2);
        document.getElementById("rev" + colNum).textContent             = (63360 / (3.14159 * tireHeight)).toFixed(0);
    }
    function processTableDifference(){
        document.getElementById("diameterPercentage").textContent       = ((((parseFloat(document.getElementById("diameterTwo").textContent) - parseFloat(document.getElementById("diameterOne").textContent)) / parseFloat(document.getElementById("diameterOne").textContent) * 100)) || 0).toFixed(0) + "%";
        document.getElementById("circumferencePercentage").textContent  = (((parseFloat(document.getElementById("circumferenceTwo").textContent) - parseFloat(document.getElementById("circumferenceOne").textContent)) / parseFloat(document.getElementById("circumferenceOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("sidewallPercentage").textContent       = (((parseFloat(document.getElementById("sidewallTwo").textContent) - parseFloat(document.getElementById("sidewallOne").textContent)) / parseFloat(document.getElementById("sidewallOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("widthPercentage").textContent          = (((parseFloat(document.getElementById("widthTwo").textContent) - parseFloat(document.getElementById("widthOne").textContent)) / parseFloat(document.getElementById("widthOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("revPercentage").textContent            = (parseFloat(document.getElementById("revTwo").textContent) - parseFloat(document.getElementById("revOne").textContent) || 0).toFixed(0);
    }  
    function convertTable() {
        if (inches === true) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) * 25.4).toFixed(0);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) * 25.4).toFixed(0);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) / 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) / 1.6).toFixed(0);

            document.getElementById("measure").textContent          = "Millimeters";
            inches = false;

        } else if (inches === false) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) / 25.4).toFixed(2);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) / 25.4).toFixed(2);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) * 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) * 1.6).toFixed(0);
            document.getElementById("measure").textContent          = "Inches";
            inches = true;
        }
    }
    let dimensionOffset = 0;
    let dimensionOffsetY = 51;
    function drawDimensions(canvasNum, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, strokeColor, offset){
        canvasNum.strokeStyle = strokeColor;

        //x line
        //big line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY); //top
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY); //bottom
        canvasNum.stroke();
        //x text
        canvasNum.font = "15px Helvetica";
        canvasNum.fillStyle = strokeColor;
        canvasNum.fillText(tireHeight.toFixed(1),  (tireWidth1) - fenderWidth + 15, ((midpoint1 - tireProfile) + (midpoint2 + tireProfile)) / 2 + offset);

        //top line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.stroke();

        //bottom line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();

        //y line
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.stroke();
        //y text
        canvasNum.textBaseline = "bottom";
        canvasNum.fillText((tiredWidth / 25.4).toFixed(2),  (tireWidth1 + tireWidth2) / 2 - 20 + offset  + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();
        
    }

    function drawFenderSuspension(canvasNum, newWidth, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, strokeColor){
        //draw fender line
        if (enabled === true && measure === true){
            if (tireWidth1 > newWidth){ 
            canvasNum.beginPath();
            canvasNum.setLineDash([2,3]);
            canvasNum.strokeStyle = strokeColor;
            canvasNum.moveTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            else {
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);

            canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            //draw suspension line
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);
            canvasNum.moveTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
        }
    }

    function drawClearance(canvasNum, wheelwellWidth, midpoint1, midpoint2, tireProfile, strokeColor){
        if (enabled === true && measure === true){
        //draw fender line
        canvasNum.beginPath();
        canvasNum.strokeStyle = strokeColor;
        canvasNum.moveTo(dimensionOffset + dimensionOffsetY + 80,  (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.lineTo(250 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.stroke();
        }
    }
    function drawProfile(canvasNum, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
    }
    function drawWidth(canvasNum, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();
    }

    function tireFunction() { //first set
        ctx.clearRect(0, 0, 500, 500);
        ctx.drawImage(background, 50, 50);
        let width           = document.getElementById("width").value * 12;
        let offset          = document.getElementById("offset").value / 2;
        let tireWidth       = parseInt(document.getElementById("tireWidth").value) / 4;
        let tireProfile     = parseInt(document.getElementById("tireProfile").value) * 1.1;
        let tireDiameter    = parseInt(document.getElementById("tireDiameter").value) * 12.5;
        let fenderWidth     = parseInt(document.getElementById("fenderWidth").value) || 0;
        let suspensionWidth = parseInt(document.getElementById("suspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("wheelwellWidth").value) || 0;

        let tiredWidth      = parseInt(document.getElementById("tireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("tireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("tireDiameter").value);
        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = ((((tiredWidth * (tiredProfile / 100)) * 2) + (tiredDiameter * 25.4)) / 25.4);

        processTableValues("One", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1 = (440 - tireDiameter) / 2;
        let midpoint2 = (440 + tireDiameter) / 2;

        tireProfile = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2 = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1 = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#FF6600", 0);

            //draw rect
            ctx.beginPath();
            ctx.strokeStyle    = "#FF6600";
            ctx.lineWidth      = 3;
            if (tires === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            if (enabled === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else{
            ctx.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            ctx.stroke();
            ctx.strokeStyle = "#000000";
            if (enabled === false){

            //draw lines on top and below the rectangle
            drawWidth(ctx, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

            //draw two lines connecting the tire widths to the base of the rectangle
            drawProfile(ctx, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
            ctx.strokeStyle = "#FF0000";

            //draw fender and suspension lines
            if (fendersuspension === true){
                drawFenderSuspension(ctx, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#FF0000");
            }

            if (clearance === true){
            drawClearance(ctx, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#FF0000");
            }
            }
        }

        else if (measure === false){
            ctx.beginPath();
            ctx.strokeStyle    = "#FF0000";
            ctx.lineWidth      = 3;
            ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx.stroke();
        }
    }

    function twoTireFunction() {
        ctx2.clearRect(0, 0, 500, 500);

        let width           = (document.getElementById("twoWidth").value) * 12;
        let offset          = (document.getElementById("twoOffset").value) / 2;
        let tireWidth       = (parseInt(document.getElementById("twoTireWidth").value)) / 4;
        let tireProfile     = (parseInt(document.getElementById("twoTireProfile").value)) * 1.1;
        let tireDiameter    = (parseInt(document.getElementById("twoTireDiameter").value)) * 12.5;

        let tiredWidth      = parseInt(document.getElementById("twoTireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("twoTireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("twoTireDiameter").value);
        let fenderWidth     = (parseInt(document.getElementById("twoFenderWidth").value)) || 0;
        let suspensionWidth = parseInt(document.getElementById("twoSuspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("twoWheelwellWidth").value) || 0;

        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = (((tiredWidth * (tiredProfile / 100))  * 2) + (tiredDiameter * 25.4)) / 25.4;

        processTableValues("Two", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue  = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1   = (440 - tireDiameter) / 2;
        let midpoint2   = (440 + tireDiameter) / 2;

        tireProfile     = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2  = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1  = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx2, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#007bff", 50);

            //draw rect 2
            ctx2.beginPath();
            ctx2.strokeStyle    = "#007bff";
            ctx2.lineWidth      = 2.5;
            if (enabled === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else {
                ctx2.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            if (tires === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 0.35;
                ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 1;
            }
            ctx2.stroke();
            ctx2.strokeStyle = "#000000";
            if (enabled === false){

                //draw lines on top and below the rectangle
                drawWidth(ctx2, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

                //draw two lines connecting the tire widths to the base of the rectangle
                drawProfile(ctx2, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
                ctx2.strokeStyle = "#0000FF";

                //draw fender and suspension lines
                if (fendersuspension === true){
                drawFenderSuspension(ctx2, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#0000FF");
                }

                if (clearance === true){
                    drawClearance(ctx2, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#0000FF");
                }
            }
        }

        else if (measure === true){
            ctx2.beginPath();
            ctx2.strokeStyle    = "#0000FF";
            ctx2.lineWidth      = 2.5;
            ctx2.globalAlpha    = 0.35;

            ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx2.globalAlpha    = 1;

            ctx2.stroke();
        }

    }
    // Make sure the image is loaded first otherwise nothing will draw.

    background.onload = function () {
        var allowedDomains = ['bmwstylerims.com'];
        console.log(document.domain);
        if (allowedDomains.indexOf(document.domain) == -1) {
        // Code to redirect here
        //window.location.href = "https://bmwstylerims.com"; 
        }

        toggleMode();
    };
    //https://obfuscator.io/
    //https://javascriptobfuscator.com/Javascript-Obfuscator.aspx
</script>
</body>
<h3>What is the recommended tire pressure for the BMW wheel style 799?</h3>
<p>The tire pressure for the BMW wheel style 799 will depend on your BMW model. Most BMW models like the BMW Z4 Series and the , have a recommended tire pressure of 32 PSI (2.2 Bar). However, you should always double-check this for your specific BMW model. You can find out the recommended tire pressure for your BMW, by checking the the sticker on the inside edge of the driver’s door or, check your owner’s manual if you still have the same type of tires that came with the vehicle.</p>
<p>The post <a href="https://www.bmwstylerims.com/bmw-wheel-style-799/">BMW wheel style 799</a> appeared first on <a href="https://www.bmwstylerims.com">BmwStyleRims.com</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>BMW wheel style 768</title>
		<link>https://www.bmwstylerims.com/bmw-wheel-style-768/</link>
		
		<dc:creator><![CDATA[bmwstylerims.com]]></dc:creator>
		<pubDate>Sat, 06 Nov 2021 15:00:02 +0000</pubDate>
				<category><![CDATA[All BMW Wheel Styles]]></category>
		<category><![CDATA[BMW Z4 Series]]></category>
		<category><![CDATA[BMW Z4 Series G29]]></category>
		<category><![CDATA[G29]]></category>
		<guid isPermaLink="false">https://www.bmwstylerims.com/bmw-wheel-style-768/</guid>

					<description><![CDATA[<p>The BMW wheel style 768 is part of the BMW original wheels lineup. Find out more about the style 768 BMW wheels, which is standard  for the bmw Z4 G29 but might fit other models.&#8230; <a class="kt-excerpt-readmore" href="https://www.bmwstylerims.com/bmw-wheel-style-768/" aria-label="BMW wheel style 768">Read More</a></p>
<p>The post <a href="https://www.bmwstylerims.com/bmw-wheel-style-768/">BMW wheel style 768</a> appeared first on <a href="https://www.bmwstylerims.com">BmwStyleRims.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>The bmw Style wheel 768 is available in diameters of 17 inches and are staggerd wheels. This wheel is the original wheel style for the bmw series Z4 G29, however it might fit other models given the specifications match below with the replacement wheel sizes.</p>
<p><img decoding="async" class="centerimg" src="https://www.bmwstylerims.com/wp-content/uploads/2021/05/BMW-wheel-style-768.jpg" alt="BMW wheel style 768" data-skip-lazy="" /></p>
<h3><strong>BMW wheel style 768 </strong><strong>Technical Specifications &amp; Parts  </strong></h3>
<p><Table></p>
<td>Part Number</td>
<td>Part Name</td>
<td>Part Details</td>
<td>Search for Part</td>
</tr>
<tr>
<td>36116879183</td>
<td>Light alloy disc wheel Reflexsilber</td>
<td>7,5X17 ET:24</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116879183 Light alloy disc wheel Reflexsilber" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36116879184</td>
<td>Light alloy disc wheel Reflexsilber</td>
<td>8,5X17 ET:26</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116879184 Light alloy disc wheel Reflexsilber" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36136890324</td>
<td>Wheel bolt black</td>
<td>M14X1,25</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136890324 Wheel bolt black" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36136850834</td>
<td>Hub cap with chrome edge</td>
<td>BMW</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136850834 Hub cap with chrome edge" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36121116326</td>
<td>Rubber valve</td>
<td>L=42,5MM</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121116326 Rubber valve" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36141095389</td>
<td>Valve</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36141095389 Valve" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36121120779</td>
<td>Valve caps</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121120779 Valve caps" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36106877937</td>
<td>Wheel electronics module, RDC 433MHZ</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36106877937 Wheel electronics module, RDC 433MHZ" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36106877934</td>
<td>Wheel electronics module TPM 315MHZ</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36106877934 Wheel electronics module TPM 315MHZ" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36106879168</td>
<td>Repair kit, screw-type valve RDCi</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36106879168 Repair kit, screw-type valve RDCi" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36106879165</td>
<td>Valve insert RDCi</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36106879165 Valve insert RDCi" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36106879164</td>
<td>Valve cap RDCi</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36106879164 Valve cap RDCi" rel="noopener">search for part</a></td>
</tr>
</table>
<h5>BMW models for which the BMW wheel style 768 fits: G29         </h5>
<h5>Color Code: Reflex Silber</h5>
<h5></h5>
<h3>Will the BMW wheel style 768 fit on your BMW?</h3>
<p>Bear in mind that it could be dangerous to run your BMW on tires or wheels they aren&#8217;t designed to fit. If you are unsure about your current wheel specifications, please check our <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/" target="_blank" rel="noopener">BMW wheel fitment chart and guide</a></p>
<p>&nbsp;</p>
<p>Insert your existing BMW wheel and tire dimensions, and the sizes of the BMW wheel style 768, and the outcome will be shown on the diagram. The strut shown in the diagram below is for illustration purpose only.</p>
<body>
<div class="tirecomparison-calculator">   
    <div class="form_holder_cal"> 
                    <div class="form_one_container">
                        <div class="setup_old">
                            <h5 class="hclass">YOUR EXISTING SETUP</h5>
                        </div>
                        <form class="form_one">
                           <div class="input_row">
                              <div class="input_column_img">
                                 <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                              </div>
                              <div class="input_column">
                                 <label class="form_label" for="tireWidth">Width (mm)</label>
                                 <input id="tireWidth" oninput="tireFunction()" value="205" type="number" min="0" max="399">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireProfile">Profile</label>
                                <input id="tireProfile" oninput="tireFunction()" value="55" type="number" min="0" max="99">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireDiameter">Diameter (in)</label>
                                <input id="tireDiameter" oninput="tireFunction()" value="16" type="number" min="0" max="99">
                              </div>
                            </div>
                           <div class="input_row">
                            <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="offset">Offset (mm)</label>
                                <input id="offset" oninput="tireFunction()" value="40" type="number" min="-99" max="99">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="width">Width (in)</label>
                                <input id="width" oninput="tireFunction()" value="6.5" type="number" min="0" max="99">
                            </div>
                           </div>
                        </form>
                        <p class="psmall">Above values are only examples! If unsure of your current wheel size? <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/">Check here!</a> </p>
                    </div>
                    <div class="form_two_container">
                          <div class="setup_new">
                          <h5 class="hclass">YOUR NEW SETUP</h5>
                           </div>
                         <form class="form_two">
                           <div class="input_row">
                             <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireWidth">Width (mm)</label>
                                <input id="twoTireWidth" oninput="twoTireFunction()" value="235" type="number" min="0" max="399">
                                </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireProfile">Profile</label>
                                <input id="twoTireProfile" oninput="twoTireFunction()" value="40" type="number" min="0" max="99">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireDiameter">Diameter (in)</label>
                                 <input id="twoTireDiameter" oninput="twoTireFunction()" value="17" type="number" min="0" max="99">
                             </div>
                             </div>
                             <div class="input_row">
                                <div class="input_column_img">
                                    <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                                 </div>
                                 <div class="input_column">
                                     <label class="form_label" for="twoOffset">Offset (mm)</label>
                                     <input id="twoOffset" class="mm" value="20" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                 </div>
                                     <div class="input_column">
                                         <label class="form_label" for="twoWidth">Width (in)</label>
                                          <input id="twoWidth" class="ms" value="7.5" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                      </div>                          
                                </div>
                         </form>
                      <p class="psmall">Above values are only examples! Change values to view fittment.</p>
                    </div>
     
      
                    <div class="results_header">   
                     <h5 class="hclass">YOUR RESULTS</h5>
                      <p> are automatically applied below </p>
                  </div>  
               <div class="canvasHolder">
                 <canvas class="canvas" id="canvasA"></canvas>
                 <canvas class="canvas" id="canvasB"></canvas>
               </div> 
                <br>


                <div class="hide">
                    <div class="form-check">
                         <label class="lock locka" for="checkTires">
                           <input onclick="checkTires()" type="checkbox" value="" id="checkTires" checked>
                           <span>Show Tires</span>
                         </label>
                    </div>
                    <div class="form-check">
                        <label class="lock" for="checkMeasurements">
                          <input onclick="checkMeasurements()" type="checkbox" value="" id="checkMeasurements" checked>
                          <span>Show Measurements</span>
                        </label>
                    </div>
                    <div class="form-check advance_options">
                          <label class="lock lockd" for="checkClearance">
                          <input onclick="checkClearance()" type="checkbox" value="" id="checkClearance">
                          <span>Show Clearance</span>
                       </label>
                    </div>
                    <div class="form-check advance_options">
                       <label class="lock lockd" for="checkFenderSuspension">
                         <input onclick="checkFenderSuspension()" type="checkbox" value="" id="checkFenderSuspension">
                         <span>Show Fender and Suspension</span>
                       </label>
                    </div>
                
                    <input type="button" id="buttonToggle" class="example_c" value="Show More Options" onclick="toggleMode()">
                    <div class="form_three_container">
                        <form class="form_three">
                           <div class="block_one">          
                              <div class="advance_options form_one">
                                <label for="wheelwellWidth">Wheelwell Clearance (mm) </label>
                                <input id="wheelwellWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="fenderWidth">Fender Clearance (mm) </label>
                                  <input id="fenderWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="suspensionWidth">Suspension Width (mm)</label>
                                  <input id="suspensionWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="399">
                              </div>
                           </div>
                           <div class="block_two">
                              <div class="advance_options form_two">
                               </div>
                              <div class="advance_options form_two">
                                <label for="twoWheelwellWidth">New Wheelwell Clearance (mm) </label>
                                <input id="twoWheelwellWidth" oninput="twoTireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                           <div class="advance_options form_two">
                                <label for="twoFenderWidth">New Fender Clearance (mm)</label>
                                <input id="twoFenderWidth" oninput="twoTireFunction()" value="0" type="number" min="-99" max="99">
                           </div>
                           <div class="advance_options form_two">
                                <label for="twoSuspensionWidth">New Suspension Width (mm)</label>
                                <input id="twoSuspensionWidth" oninput="twoTireFunction()" value="0" type="number" min="0" max="99">
                           </div>
                          </div>
                        </form>
                    </div>
                 </div>
                   <div class="wheel_text">
                         <p>The diagram is only for show to help you visualize your tires and wheel fitment of your new setup.</p>
                         <br>
                         <p>Tire Width    - The width of your tire in millimeters. <strong>195</strong>/55ZR15</p>
                         <p>Tire Profile  - The ratio of tire wall width to tire width. 195/<strong>55</strong>ZR15</p>
                         <p>Tire Diameter - The diameter of your wheels in inches. 195/55ZR<strong>15</strong> </p>
                         <p>Offset - the distance from the center of the wheel to the mounting face in mm. ET<strong>20</strong> </p>
                         <p>Rim Width - The width of your rims in inches. <strong>7.5</strong>JX17 </p>
                   </div>
      
      
        <div class="table-results">
            <table class="table table-sm">
                <colgroup>
                    <col>
                    <col>
                    <col span="1" class="bg-light">
                    <col>
                </colgroup>
                <thead>
                    <tr>
                        <th id="measure" scope="col">Inches</th>
                        <th scope="col" class="tb_orgwheel">Original Wheel</th>
                        <th scope="col" class="tb_newwheel">New Wheel</th>
                        <th scope="col">Difference</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <th scope="row">Diameter</th>
                        <td id="diameterOne"></td>
                        <td id="diameterTwo"></td>
                        <td id="diameterPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Circumference</th>
                        <td id="circumferenceOne"></td>
                        <td id="circumferenceTwo"></td>
                        <td id="circumferencePercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Sidewall</th>
                        <td id="sidewallOne"></td>
                        <td id="sidewallTwo"></td>
                        <td id="sidewallPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Width</th>
                        <td id="widthOne"></td>
                        <td id="widthTwo"></td>
                        <td id="widthPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Wheel Revolutions</th>
                        <td id="revOne"></td>
                        <td id="revTwo"></td>
                        <td id="revPercentage"></td>
                    </tr>
                </tbody>
             </table>
                <input type="button" id="buttonConvert" value="Convert" onclick="convertTable()">
        </div>
    </div>
</div>
    

<style>
  .hide {
    display: none;
  }
  .results{
    color:white!important;
    text-align: center;
    background-color: #005a87;
    padding:5px;
  }

 .results_header{
    display:block;
    text-align: center;
    background-color: #007bff;
    margin-top:30px;    
    margin-bottom: 10px;
    margin-right:10px;
    margin-right:10px;
    max-width: 100%;
    padding:10px;
    width:100%;
    Color: #fff;
  }
.results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}


.lock {
	position:relative;
  cursor:pointer;
	height:32px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.lock input {
	display:none; 
}
.lock span:before,
.lock span:after{
	content:"";
}

.lock span:before {
	width:64px;
	height:32px;
	margin-right:8px;
	background:#EEE;
	border-radius:32px;
	display:inline-block;
	vertical-align:middle;
	transition:all .5s cubic-bezier(.175, .885, .32, 1);
}
.lock span:after {
	margin:2px;
	width:28px;
	height:28px;
	background:#FFF;
	border-radius:28px;
	position:absolute;
	left:0;
	z-index:2;
	transition:all .5s cubic-bezier(.175, .885, .32, 1); 
}
.lock input:checked + span:after {
	left:32px;
}
.lockd input:disabled + span:after{
	background: #acacac;
}
.lock input:checked + span:before {
	background-color:#006298;
}
.locka input:checked + span:before {
	background-color:#1CC691;
}
    .example_c {
        color: #fff !important;
        text-transform: uppercase;
        text-decoration: none;
        background: #006298;
        padding: 5px;
        border-radius: 5px;
        display: inline-block;
        border: none;
        transition: all 0.4s ease 0s;
    }
    .example_c:hover {
        background: black;
        letter-spacing: 1px;
        -webkit-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        -moz-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        box-shadow: 5px 40px -10px rgba(0,0,0,0.57);
        transition: all 0.4s ease 0s;
    }
    p { margin: 5px }
    .canvasHolder {
        position: relative;
    }

  /* form style*/ 
.psmall{
  font-size:small;
  padding-top:5px;
}

.hclass{
  color:#fff;
  font-weight:400;
}

  .setup_old{
    margin-right:10px;
    background-color: #FF6600;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
.setup_new{
    margin-right:0px;
    background-color: #007bff;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
    .form_holder_cal{
        background-color:#fff;
        padding-top:0px;   
        margin: 0 auto;
        max-width: 100%;
        
    } 
 
    .form_two{
        
        display: flex-grid;
    }
    .block_two{
        display: table-cell;
        vertical-align: middle;
        width: 50%;
    }
    .block_one{
        display: table-cell;
        float:left;
    }
    .form_two_container{
        display: table-cell;
          
        margin:auto;
             }
    
    .form_one_container{
        display: table-cell;
        
        margin:auto;
                   }
@media screen and (max-width: 750px) {
  .form_two_container {
    display: block;
    margin-top:30px;
    margin-bottom:20px;
    float:left;
   
  }
  .form_one_container {
    display: block;
    padding-top: 30px;
     }
  .results_header{
    display:inline-block;
    margin-right:10px;
    width:100%;
    text-align:center;
  }
  .results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}
}

@media screen and (max-width: 400px) {
  .form_two_container {
    width: 100%;
   
  }
  .form_one_container {
    width: 100%;
    
  }
}

.block_one{
    float:center;
    }

.input_row {
  display: table-row;
}

.input_column_img {
  display: table-column;
  padding-right: 5px; 
  float: left;
  width:100%;
  min-width: 50px;
}

.input_column 
  {
display: table-cell;
}

    .form_one{
        margin-right: 0px; 
    }

     .form_label {
        display:block;
        padding: 5px;
       margin-left: 10px;
       float: left;
       width:80%;
       Font-size:12px;
    }
    .form_one input[type="button"] { 
      min-width: 100px;}
    
  
    .form_two input[type="button"] { 
        min-width: 100px;
    }
    .form_one input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
      height: 28px;
  	   width: 80px;}
  
      .form_two input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
        height: 28px;
        width: 80px;}
    }
    .form-check-input {
        width: 20px;
     
    }
    .canvasHolder{
        float:left;
        position: relative;
        height: 500px; width: 400px; /*based on your canvas size*/
        
    }
  @media only screen and (max-width: 400px) {
  .canvasHolder{
              margin-left:-50px;
    }
}
    .canvas{
        position: absolute;
        top: 0; left: 0;
        }
    .tirecomparison-calculator {
        padding: 20px 5px;
        
        background: #fff;
 
        margin-left: 0px;
        margin-right: 0px;
        overflow: hidden;
    }
.table-results{
display: block;
width: 100%;
  /*
overflow-x: auto;
-webkit-overflow-scrolling: touch;*/
margin: 0 auto;
}

.tb_orgwheel {
  background-color:#FF6600;
  Color: #fff;
}
.tb_newwheel {
  background-color:#007bff;
  Color: #fff;
}

</style>
<script>
    let c = document.getElementById("canvasA");
    let d       = document.getElementById("canvasB");
    let ctx     = c.getContext("2d");
    let ctx2    = d.getContext("2d");
    let initialHeight   = 500;
    let initialWidth    = 400;
    c.width     = initialWidth;
    c.height    = initialHeight;
    d.width     = initialWidth;
    d.height    = initialHeight;

    let tireImg = new Image();
    tireImg.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/tire_PNG45.gif";
  
    let background = new Image();
    background.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/jTkeSmK.gif";

    let tireOffsetX = 200;
    let tireOffsetY = 50;

    let inches  = true;
    let enabled = true;
    let measure = true;
    let tires   = false;
    let clearance = true;
    let fendersuspension = false;
     
    var heckMeasurements = document.getElementById("checkMeasurements");
    var heckTires = document.getElementById("checkTires");
    //if enabled disable the function to draw
    function checkClearance(){
        var remember = document.getElementById("checkClearance");
        if (remember.checked){
            clearance = true;
            tireFunction();
            twoTireFunction();
        }else{
            clearance = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkFenderSuspension(){
        var remember = document.getElementById("checkFenderSuspension");
        if (remember.checked){
            fendersuspension = true;
            tireFunction();
            twoTireFunction();
        }else{
            fendersuspension = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkMeasurements(){
        if (heckMeasurements.checked){
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
            
        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkTires").checked = true;
            tires = true;
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();
        }
        else{
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();

        }
    }

    function checkTires(){
        if (heckTires.checked){
            tires = true;
            tireFunction();
            twoTireFunction();

        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkMeasurements").checked = true;
            tires = false;
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
        }
        else{
            tires = false;
            tireFunction();
            twoTireFunction();

        }
    }
function toggleMode(){
        var divsToHide = document.getElementsByClassName("advance_options"); //divsToHide is an array
        if (enabled === true){
            enabled = false;
            //hide elements
            for(var i = 0; i < divsToHide.length; i++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[i].style.display = "none"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Show More";
        }
        else if (enabled === false) {
            enabled = true;

            for(var x = 0; x < divsToHide.length; x++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[x].style.display = "block"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Hide";

        }
        tireFunction();
        twoTireFunction();
    }
 
    function processTableValues(colNum, tireHeight, tireSidewall, tiredWidth){
        document.getElementById("diameter" + colNum).textContent        = tireHeight.toFixed(2);
        document.getElementById("circumference" + colNum).textContent   = (3.14159 * tireHeight).toFixed(2);
        document.getElementById("sidewall" + colNum).textContent        = tireSidewall.toFixed(2);
        document.getElementById("width" + colNum).textContent           = (tiredWidth / 25.4).toFixed(2);
        document.getElementById("rev" + colNum).textContent             = (63360 / (3.14159 * tireHeight)).toFixed(0);
    }
    function processTableDifference(){
        document.getElementById("diameterPercentage").textContent       = ((((parseFloat(document.getElementById("diameterTwo").textContent) - parseFloat(document.getElementById("diameterOne").textContent)) / parseFloat(document.getElementById("diameterOne").textContent) * 100)) || 0).toFixed(0) + "%";
        document.getElementById("circumferencePercentage").textContent  = (((parseFloat(document.getElementById("circumferenceTwo").textContent) - parseFloat(document.getElementById("circumferenceOne").textContent)) / parseFloat(document.getElementById("circumferenceOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("sidewallPercentage").textContent       = (((parseFloat(document.getElementById("sidewallTwo").textContent) - parseFloat(document.getElementById("sidewallOne").textContent)) / parseFloat(document.getElementById("sidewallOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("widthPercentage").textContent          = (((parseFloat(document.getElementById("widthTwo").textContent) - parseFloat(document.getElementById("widthOne").textContent)) / parseFloat(document.getElementById("widthOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("revPercentage").textContent            = (parseFloat(document.getElementById("revTwo").textContent) - parseFloat(document.getElementById("revOne").textContent) || 0).toFixed(0);
    }  
    function convertTable() {
        if (inches === true) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) * 25.4).toFixed(0);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) * 25.4).toFixed(0);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) / 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) / 1.6).toFixed(0);

            document.getElementById("measure").textContent          = "Millimeters";
            inches = false;

        } else if (inches === false) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) / 25.4).toFixed(2);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) / 25.4).toFixed(2);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) * 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) * 1.6).toFixed(0);
            document.getElementById("measure").textContent          = "Inches";
            inches = true;
        }
    }
    let dimensionOffset = 0;
    let dimensionOffsetY = 51;
    function drawDimensions(canvasNum, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, strokeColor, offset){
        canvasNum.strokeStyle = strokeColor;

        //x line
        //big line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY); //top
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY); //bottom
        canvasNum.stroke();
        //x text
        canvasNum.font = "15px Helvetica";
        canvasNum.fillStyle = strokeColor;
        canvasNum.fillText(tireHeight.toFixed(1),  (tireWidth1) - fenderWidth + 15, ((midpoint1 - tireProfile) + (midpoint2 + tireProfile)) / 2 + offset);

        //top line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.stroke();

        //bottom line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();

        //y line
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.stroke();
        //y text
        canvasNum.textBaseline = "bottom";
        canvasNum.fillText((tiredWidth / 25.4).toFixed(2),  (tireWidth1 + tireWidth2) / 2 - 20 + offset  + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();
        
    }

    function drawFenderSuspension(canvasNum, newWidth, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, strokeColor){
        //draw fender line
        if (enabled === true && measure === true){
            if (tireWidth1 > newWidth){ 
            canvasNum.beginPath();
            canvasNum.setLineDash([2,3]);
            canvasNum.strokeStyle = strokeColor;
            canvasNum.moveTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            else {
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);

            canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            //draw suspension line
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);
            canvasNum.moveTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
        }
    }

    function drawClearance(canvasNum, wheelwellWidth, midpoint1, midpoint2, tireProfile, strokeColor){
        if (enabled === true && measure === true){
        //draw fender line
        canvasNum.beginPath();
        canvasNum.strokeStyle = strokeColor;
        canvasNum.moveTo(dimensionOffset + dimensionOffsetY + 80,  (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.lineTo(250 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.stroke();
        }
    }
    function drawProfile(canvasNum, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
    }
    function drawWidth(canvasNum, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();
    }

    function tireFunction() { //first set
        ctx.clearRect(0, 0, 500, 500);
        ctx.drawImage(background, 50, 50);
        let width           = document.getElementById("width").value * 12;
        let offset          = document.getElementById("offset").value / 2;
        let tireWidth       = parseInt(document.getElementById("tireWidth").value) / 4;
        let tireProfile     = parseInt(document.getElementById("tireProfile").value) * 1.1;
        let tireDiameter    = parseInt(document.getElementById("tireDiameter").value) * 12.5;
        let fenderWidth     = parseInt(document.getElementById("fenderWidth").value) || 0;
        let suspensionWidth = parseInt(document.getElementById("suspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("wheelwellWidth").value) || 0;

        let tiredWidth      = parseInt(document.getElementById("tireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("tireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("tireDiameter").value);
        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = ((((tiredWidth * (tiredProfile / 100)) * 2) + (tiredDiameter * 25.4)) / 25.4);

        processTableValues("One", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1 = (440 - tireDiameter) / 2;
        let midpoint2 = (440 + tireDiameter) / 2;

        tireProfile = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2 = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1 = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#FF6600", 0);

            //draw rect
            ctx.beginPath();
            ctx.strokeStyle    = "#FF6600";
            ctx.lineWidth      = 3;
            if (tires === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            if (enabled === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else{
            ctx.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            ctx.stroke();
            ctx.strokeStyle = "#000000";
            if (enabled === false){

            //draw lines on top and below the rectangle
            drawWidth(ctx, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

            //draw two lines connecting the tire widths to the base of the rectangle
            drawProfile(ctx, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
            ctx.strokeStyle = "#FF0000";

            //draw fender and suspension lines
            if (fendersuspension === true){
                drawFenderSuspension(ctx, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#FF0000");
            }

            if (clearance === true){
            drawClearance(ctx, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#FF0000");
            }
            }
        }

        else if (measure === false){
            ctx.beginPath();
            ctx.strokeStyle    = "#FF0000";
            ctx.lineWidth      = 3;
            ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx.stroke();
        }
    }

    function twoTireFunction() {
        ctx2.clearRect(0, 0, 500, 500);

        let width           = (document.getElementById("twoWidth").value) * 12;
        let offset          = (document.getElementById("twoOffset").value) / 2;
        let tireWidth       = (parseInt(document.getElementById("twoTireWidth").value)) / 4;
        let tireProfile     = (parseInt(document.getElementById("twoTireProfile").value)) * 1.1;
        let tireDiameter    = (parseInt(document.getElementById("twoTireDiameter").value)) * 12.5;

        let tiredWidth      = parseInt(document.getElementById("twoTireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("twoTireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("twoTireDiameter").value);
        let fenderWidth     = (parseInt(document.getElementById("twoFenderWidth").value)) || 0;
        let suspensionWidth = parseInt(document.getElementById("twoSuspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("twoWheelwellWidth").value) || 0;

        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = (((tiredWidth * (tiredProfile / 100))  * 2) + (tiredDiameter * 25.4)) / 25.4;

        processTableValues("Two", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue  = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1   = (440 - tireDiameter) / 2;
        let midpoint2   = (440 + tireDiameter) / 2;

        tireProfile     = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2  = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1  = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx2, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#007bff", 50);

            //draw rect 2
            ctx2.beginPath();
            ctx2.strokeStyle    = "#007bff";
            ctx2.lineWidth      = 2.5;
            if (enabled === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else {
                ctx2.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            if (tires === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 0.35;
                ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 1;
            }
            ctx2.stroke();
            ctx2.strokeStyle = "#000000";
            if (enabled === false){

                //draw lines on top and below the rectangle
                drawWidth(ctx2, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

                //draw two lines connecting the tire widths to the base of the rectangle
                drawProfile(ctx2, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
                ctx2.strokeStyle = "#0000FF";

                //draw fender and suspension lines
                if (fendersuspension === true){
                drawFenderSuspension(ctx2, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#0000FF");
                }

                if (clearance === true){
                    drawClearance(ctx2, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#0000FF");
                }
            }
        }

        else if (measure === true){
            ctx2.beginPath();
            ctx2.strokeStyle    = "#0000FF";
            ctx2.lineWidth      = 2.5;
            ctx2.globalAlpha    = 0.35;

            ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx2.globalAlpha    = 1;

            ctx2.stroke();
        }

    }
    // Make sure the image is loaded first otherwise nothing will draw.

    background.onload = function () {
        var allowedDomains = ['bmwstylerims.com'];
        console.log(document.domain);
        if (allowedDomains.indexOf(document.domain) == -1) {
        // Code to redirect here
        //window.location.href = "https://bmwstylerims.com"; 
        }

        toggleMode();
    };
    //https://obfuscator.io/
    //https://javascriptobfuscator.com/Javascript-Obfuscator.aspx
</script>
</body>
<h3>What is the recommended tire pressure for the BMW wheel style 768?</h3>
<p>The tire pressure for the BMW wheel style 768 will depend on your BMW model. Most BMW models like the BMW Z4 Series and the , have a recommended tire pressure of 32 PSI (2.2 Bar). However, you should always double-check this for your specific BMW model. You can find out the recommended tire pressure for your BMW, by checking the the sticker on the inside edge of the driver’s door or, check your owner’s manual if you still have the same type of tires that came with the vehicle.</p>
<p>The post <a href="https://www.bmwstylerims.com/bmw-wheel-style-768/">BMW wheel style 768</a> appeared first on <a href="https://www.bmwstylerims.com">BmwStyleRims.com</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>BMW wheel style 770</title>
		<link>https://www.bmwstylerims.com/bmw-wheel-style-770/</link>
		
		<dc:creator><![CDATA[bmwstylerims.com]]></dc:creator>
		<pubDate>Sat, 06 Nov 2021 15:00:02 +0000</pubDate>
				<category><![CDATA[All BMW Wheel Styles]]></category>
		<category><![CDATA[BMW Z4 Series]]></category>
		<category><![CDATA[BMW Z4 Series G29]]></category>
		<category><![CDATA[G29]]></category>
		<guid isPermaLink="false">https://www.bmwstylerims.com/bmw-wheel-style-770/</guid>

					<description><![CDATA[<p>The BMW wheel style 770 is part of the BMW original wheels lineup. Find out more about the style 770 BMW wheels, which is standard  for the bmw Z4 G29 but might fit other models.&#8230; <a class="kt-excerpt-readmore" href="https://www.bmwstylerims.com/bmw-wheel-style-770/" aria-label="BMW wheel style 770">Read More</a></p>
<p>The post <a href="https://www.bmwstylerims.com/bmw-wheel-style-770/">BMW wheel style 770</a> appeared first on <a href="https://www.bmwstylerims.com">BmwStyleRims.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>The bmw Style wheel 770 is available in diameters of 18 inches and are staggerd wheels. This wheel is the original wheel style for the bmw series Z4 G29, however it might fit other models given the specifications match below with the replacement wheel sizes.</p>
<p><img decoding="async" class="centerimg" src="https://www.bmwstylerims.com/wp-content/uploads/2021/05/BMW-wheel-style-770.jpg" alt="BMW wheel style 770" data-skip-lazy="" /></p>
<h3><strong>BMW wheel style 770 </strong><strong>Technical Specifications &amp; Parts  </strong></h3>
<p><Table></p>
<td>Part Number</td>
<td>Part Name</td>
<td>Part Details</td>
<td>Search for Part</td>
</tr>
<tr>
<td>36121120779</td>
<td>Valve caps</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121120779 Valve caps" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36106877937</td>
<td>Wheel electronics module, RDC 433MHZ</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36106877937 Wheel electronics module, RDC 433MHZ" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36106877934</td>
<td>Wheel electronics module TPM 315MHZ</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36106877934 Wheel electronics module TPM 315MHZ" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36106879168</td>
<td>Repair kit, screw-type valve RDCi</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36106879168 Repair kit, screw-type valve RDCi" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36106879165</td>
<td>Valve insert RDCi</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36106879165 Valve insert RDCi" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36106879164</td>
<td>Valve cap RDCi</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36106879164 Valve cap RDCi" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36116883640</td>
<td>Light alloy rim Ferricgrey</td>
<td>9X18 ET:28</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116883640 Light alloy rim Ferricgrey" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36116883639</td>
<td>Light alloy rim Ferricgrey</td>
<td>8X18 ET:20</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116883639 Light alloy rim Ferricgrey" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36116883638</td>
<td>Disc wheel, light alloy, Orbitgrey</td>
<td>9X18 ET:28</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116883638 Disc wheel, light alloy, Orbitgrey" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36116883637</td>
<td>Disc wheel, light alloy, Orbitgrey</td>
<td>8X18 ET:20</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116883637 Disc wheel, light alloy, Orbitgrey" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36136890324</td>
<td>Wheel bolt black</td>
<td>M14X1,25</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136890324 Wheel bolt black" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36136850834</td>
<td>Hub cap with chrome edge</td>
<td>BMW</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136850834 Hub cap with chrome edge" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36121116326</td>
<td>Rubber valve</td>
<td>L=42,5MM</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121116326 Rubber valve" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36141095389</td>
<td>Valve</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36141095389 Valve" rel="noopener">search for part</a></td>
</tr>
</table>
<h5>BMW models for which the BMW wheel style 770 fits: G29         </h5>
<h5>Color Code: Ferric Grey</h5>
<h5></h5>
<h3>Will the BMW wheel style 770 fit on your BMW?</h3>
<p>Bear in mind that it could be dangerous to run your BMW on tires or wheels they aren&#8217;t designed to fit. If you are unsure about your current wheel specifications, please check our <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/" target="_blank" rel="noopener">BMW wheel fitment chart and guide</a></p>
<p>&nbsp;</p>
<p>Insert your existing BMW wheel and tire dimensions, and the sizes of the BMW wheel style 770, and the outcome will be shown on the diagram. The strut shown in the diagram below is for illustration purpose only.</p>
<body>
<div class="tirecomparison-calculator">   
    <div class="form_holder_cal"> 
                    <div class="form_one_container">
                        <div class="setup_old">
                            <h5 class="hclass">YOUR EXISTING SETUP</h5>
                        </div>
                        <form class="form_one">
                           <div class="input_row">
                              <div class="input_column_img">
                                 <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                              </div>
                              <div class="input_column">
                                 <label class="form_label" for="tireWidth">Width (mm)</label>
                                 <input id="tireWidth" oninput="tireFunction()" value="205" type="number" min="0" max="399">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireProfile">Profile</label>
                                <input id="tireProfile" oninput="tireFunction()" value="55" type="number" min="0" max="99">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireDiameter">Diameter (in)</label>
                                <input id="tireDiameter" oninput="tireFunction()" value="16" type="number" min="0" max="99">
                              </div>
                            </div>
                           <div class="input_row">
                            <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="offset">Offset (mm)</label>
                                <input id="offset" oninput="tireFunction()" value="40" type="number" min="-99" max="99">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="width">Width (in)</label>
                                <input id="width" oninput="tireFunction()" value="6.5" type="number" min="0" max="99">
                            </div>
                           </div>
                        </form>
                        <p class="psmall">Above values are only examples! If unsure of your current wheel size? <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/">Check here!</a> </p>
                    </div>
                    <div class="form_two_container">
                          <div class="setup_new">
                          <h5 class="hclass">YOUR NEW SETUP</h5>
                           </div>
                         <form class="form_two">
                           <div class="input_row">
                             <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireWidth">Width (mm)</label>
                                <input id="twoTireWidth" oninput="twoTireFunction()" value="235" type="number" min="0" max="399">
                                </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireProfile">Profile</label>
                                <input id="twoTireProfile" oninput="twoTireFunction()" value="40" type="number" min="0" max="99">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireDiameter">Diameter (in)</label>
                                 <input id="twoTireDiameter" oninput="twoTireFunction()" value="17" type="number" min="0" max="99">
                             </div>
                             </div>
                             <div class="input_row">
                                <div class="input_column_img">
                                    <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                                 </div>
                                 <div class="input_column">
                                     <label class="form_label" for="twoOffset">Offset (mm)</label>
                                     <input id="twoOffset" class="mm" value="20" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                 </div>
                                     <div class="input_column">
                                         <label class="form_label" for="twoWidth">Width (in)</label>
                                          <input id="twoWidth" class="ms" value="7.5" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                      </div>                          
                                </div>
                         </form>
                      <p class="psmall">Above values are only examples! Change values to view fittment.</p>
                    </div>
     
      
                    <div class="results_header">   
                     <h5 class="hclass">YOUR RESULTS</h5>
                      <p> are automatically applied below </p>
                  </div>  
               <div class="canvasHolder">
                 <canvas class="canvas" id="canvasA"></canvas>
                 <canvas class="canvas" id="canvasB"></canvas>
               </div> 
                <br>


                <div class="hide">
                    <div class="form-check">
                         <label class="lock locka" for="checkTires">
                           <input onclick="checkTires()" type="checkbox" value="" id="checkTires" checked>
                           <span>Show Tires</span>
                         </label>
                    </div>
                    <div class="form-check">
                        <label class="lock" for="checkMeasurements">
                          <input onclick="checkMeasurements()" type="checkbox" value="" id="checkMeasurements" checked>
                          <span>Show Measurements</span>
                        </label>
                    </div>
                    <div class="form-check advance_options">
                          <label class="lock lockd" for="checkClearance">
                          <input onclick="checkClearance()" type="checkbox" value="" id="checkClearance">
                          <span>Show Clearance</span>
                       </label>
                    </div>
                    <div class="form-check advance_options">
                       <label class="lock lockd" for="checkFenderSuspension">
                         <input onclick="checkFenderSuspension()" type="checkbox" value="" id="checkFenderSuspension">
                         <span>Show Fender and Suspension</span>
                       </label>
                    </div>
                
                    <input type="button" id="buttonToggle" class="example_c" value="Show More Options" onclick="toggleMode()">
                    <div class="form_three_container">
                        <form class="form_three">
                           <div class="block_one">          
                              <div class="advance_options form_one">
                                <label for="wheelwellWidth">Wheelwell Clearance (mm) </label>
                                <input id="wheelwellWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="fenderWidth">Fender Clearance (mm) </label>
                                  <input id="fenderWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="suspensionWidth">Suspension Width (mm)</label>
                                  <input id="suspensionWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="399">
                              </div>
                           </div>
                           <div class="block_two">
                              <div class="advance_options form_two">
                               </div>
                              <div class="advance_options form_two">
                                <label for="twoWheelwellWidth">New Wheelwell Clearance (mm) </label>
                                <input id="twoWheelwellWidth" oninput="twoTireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                           <div class="advance_options form_two">
                                <label for="twoFenderWidth">New Fender Clearance (mm)</label>
                                <input id="twoFenderWidth" oninput="twoTireFunction()" value="0" type="number" min="-99" max="99">
                           </div>
                           <div class="advance_options form_two">
                                <label for="twoSuspensionWidth">New Suspension Width (mm)</label>
                                <input id="twoSuspensionWidth" oninput="twoTireFunction()" value="0" type="number" min="0" max="99">
                           </div>
                          </div>
                        </form>
                    </div>
                 </div>
                   <div class="wheel_text">
                         <p>The diagram is only for show to help you visualize your tires and wheel fitment of your new setup.</p>
                         <br>
                         <p>Tire Width    - The width of your tire in millimeters. <strong>195</strong>/55ZR15</p>
                         <p>Tire Profile  - The ratio of tire wall width to tire width. 195/<strong>55</strong>ZR15</p>
                         <p>Tire Diameter - The diameter of your wheels in inches. 195/55ZR<strong>15</strong> </p>
                         <p>Offset - the distance from the center of the wheel to the mounting face in mm. ET<strong>20</strong> </p>
                         <p>Rim Width - The width of your rims in inches. <strong>7.5</strong>JX17 </p>
                   </div>
      
      
        <div class="table-results">
            <table class="table table-sm">
                <colgroup>
                    <col>
                    <col>
                    <col span="1" class="bg-light">
                    <col>
                </colgroup>
                <thead>
                    <tr>
                        <th id="measure" scope="col">Inches</th>
                        <th scope="col" class="tb_orgwheel">Original Wheel</th>
                        <th scope="col" class="tb_newwheel">New Wheel</th>
                        <th scope="col">Difference</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <th scope="row">Diameter</th>
                        <td id="diameterOne"></td>
                        <td id="diameterTwo"></td>
                        <td id="diameterPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Circumference</th>
                        <td id="circumferenceOne"></td>
                        <td id="circumferenceTwo"></td>
                        <td id="circumferencePercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Sidewall</th>
                        <td id="sidewallOne"></td>
                        <td id="sidewallTwo"></td>
                        <td id="sidewallPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Width</th>
                        <td id="widthOne"></td>
                        <td id="widthTwo"></td>
                        <td id="widthPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Wheel Revolutions</th>
                        <td id="revOne"></td>
                        <td id="revTwo"></td>
                        <td id="revPercentage"></td>
                    </tr>
                </tbody>
             </table>
                <input type="button" id="buttonConvert" value="Convert" onclick="convertTable()">
        </div>
    </div>
</div>
    

<style>
  .hide {
    display: none;
  }
  .results{
    color:white!important;
    text-align: center;
    background-color: #005a87;
    padding:5px;
  }

 .results_header{
    display:block;
    text-align: center;
    background-color: #007bff;
    margin-top:30px;    
    margin-bottom: 10px;
    margin-right:10px;
    margin-right:10px;
    max-width: 100%;
    padding:10px;
    width:100%;
    Color: #fff;
  }
.results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}


.lock {
	position:relative;
  cursor:pointer;
	height:32px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.lock input {
	display:none; 
}
.lock span:before,
.lock span:after{
	content:"";
}

.lock span:before {
	width:64px;
	height:32px;
	margin-right:8px;
	background:#EEE;
	border-radius:32px;
	display:inline-block;
	vertical-align:middle;
	transition:all .5s cubic-bezier(.175, .885, .32, 1);
}
.lock span:after {
	margin:2px;
	width:28px;
	height:28px;
	background:#FFF;
	border-radius:28px;
	position:absolute;
	left:0;
	z-index:2;
	transition:all .5s cubic-bezier(.175, .885, .32, 1); 
}
.lock input:checked + span:after {
	left:32px;
}
.lockd input:disabled + span:after{
	background: #acacac;
}
.lock input:checked + span:before {
	background-color:#006298;
}
.locka input:checked + span:before {
	background-color:#1CC691;
}
    .example_c {
        color: #fff !important;
        text-transform: uppercase;
        text-decoration: none;
        background: #006298;
        padding: 5px;
        border-radius: 5px;
        display: inline-block;
        border: none;
        transition: all 0.4s ease 0s;
    }
    .example_c:hover {
        background: black;
        letter-spacing: 1px;
        -webkit-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        -moz-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        box-shadow: 5px 40px -10px rgba(0,0,0,0.57);
        transition: all 0.4s ease 0s;
    }
    p { margin: 5px }
    .canvasHolder {
        position: relative;
    }

  /* form style*/ 
.psmall{
  font-size:small;
  padding-top:5px;
}

.hclass{
  color:#fff;
  font-weight:400;
}

  .setup_old{
    margin-right:10px;
    background-color: #FF6600;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
.setup_new{
    margin-right:0px;
    background-color: #007bff;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
    .form_holder_cal{
        background-color:#fff;
        padding-top:0px;   
        margin: 0 auto;
        max-width: 100%;
        
    } 
 
    .form_two{
        
        display: flex-grid;
    }
    .block_two{
        display: table-cell;
        vertical-align: middle;
        width: 50%;
    }
    .block_one{
        display: table-cell;
        float:left;
    }
    .form_two_container{
        display: table-cell;
          
        margin:auto;
             }
    
    .form_one_container{
        display: table-cell;
        
        margin:auto;
                   }
@media screen and (max-width: 750px) {
  .form_two_container {
    display: block;
    margin-top:30px;
    margin-bottom:20px;
    float:left;
   
  }
  .form_one_container {
    display: block;
    padding-top: 30px;
     }
  .results_header{
    display:inline-block;
    margin-right:10px;
    width:100%;
    text-align:center;
  }
  .results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}
}

@media screen and (max-width: 400px) {
  .form_two_container {
    width: 100%;
   
  }
  .form_one_container {
    width: 100%;
    
  }
}

.block_one{
    float:center;
    }

.input_row {
  display: table-row;
}

.input_column_img {
  display: table-column;
  padding-right: 5px; 
  float: left;
  width:100%;
  min-width: 50px;
}

.input_column 
  {
display: table-cell;
}

    .form_one{
        margin-right: 0px; 
    }

     .form_label {
        display:block;
        padding: 5px;
       margin-left: 10px;
       float: left;
       width:80%;
       Font-size:12px;
    }
    .form_one input[type="button"] { 
      min-width: 100px;}
    
  
    .form_two input[type="button"] { 
        min-width: 100px;
    }
    .form_one input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
      height: 28px;
  	   width: 80px;}
  
      .form_two input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
        height: 28px;
        width: 80px;}
    }
    .form-check-input {
        width: 20px;
     
    }
    .canvasHolder{
        float:left;
        position: relative;
        height: 500px; width: 400px; /*based on your canvas size*/
        
    }
  @media only screen and (max-width: 400px) {
  .canvasHolder{
              margin-left:-50px;
    }
}
    .canvas{
        position: absolute;
        top: 0; left: 0;
        }
    .tirecomparison-calculator {
        padding: 20px 5px;
        
        background: #fff;
 
        margin-left: 0px;
        margin-right: 0px;
        overflow: hidden;
    }
.table-results{
display: block;
width: 100%;
  /*
overflow-x: auto;
-webkit-overflow-scrolling: touch;*/
margin: 0 auto;
}

.tb_orgwheel {
  background-color:#FF6600;
  Color: #fff;
}
.tb_newwheel {
  background-color:#007bff;
  Color: #fff;
}

</style>
<script>
    let c = document.getElementById("canvasA");
    let d       = document.getElementById("canvasB");
    let ctx     = c.getContext("2d");
    let ctx2    = d.getContext("2d");
    let initialHeight   = 500;
    let initialWidth    = 400;
    c.width     = initialWidth;
    c.height    = initialHeight;
    d.width     = initialWidth;
    d.height    = initialHeight;

    let tireImg = new Image();
    tireImg.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/tire_PNG45.gif";
  
    let background = new Image();
    background.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/jTkeSmK.gif";

    let tireOffsetX = 200;
    let tireOffsetY = 50;

    let inches  = true;
    let enabled = true;
    let measure = true;
    let tires   = false;
    let clearance = true;
    let fendersuspension = false;
     
    var heckMeasurements = document.getElementById("checkMeasurements");
    var heckTires = document.getElementById("checkTires");
    //if enabled disable the function to draw
    function checkClearance(){
        var remember = document.getElementById("checkClearance");
        if (remember.checked){
            clearance = true;
            tireFunction();
            twoTireFunction();
        }else{
            clearance = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkFenderSuspension(){
        var remember = document.getElementById("checkFenderSuspension");
        if (remember.checked){
            fendersuspension = true;
            tireFunction();
            twoTireFunction();
        }else{
            fendersuspension = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkMeasurements(){
        if (heckMeasurements.checked){
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
            
        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkTires").checked = true;
            tires = true;
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();
        }
        else{
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();

        }
    }

    function checkTires(){
        if (heckTires.checked){
            tires = true;
            tireFunction();
            twoTireFunction();

        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkMeasurements").checked = true;
            tires = false;
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
        }
        else{
            tires = false;
            tireFunction();
            twoTireFunction();

        }
    }
function toggleMode(){
        var divsToHide = document.getElementsByClassName("advance_options"); //divsToHide is an array
        if (enabled === true){
            enabled = false;
            //hide elements
            for(var i = 0; i < divsToHide.length; i++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[i].style.display = "none"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Show More";
        }
        else if (enabled === false) {
            enabled = true;

            for(var x = 0; x < divsToHide.length; x++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[x].style.display = "block"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Hide";

        }
        tireFunction();
        twoTireFunction();
    }
 
    function processTableValues(colNum, tireHeight, tireSidewall, tiredWidth){
        document.getElementById("diameter" + colNum).textContent        = tireHeight.toFixed(2);
        document.getElementById("circumference" + colNum).textContent   = (3.14159 * tireHeight).toFixed(2);
        document.getElementById("sidewall" + colNum).textContent        = tireSidewall.toFixed(2);
        document.getElementById("width" + colNum).textContent           = (tiredWidth / 25.4).toFixed(2);
        document.getElementById("rev" + colNum).textContent             = (63360 / (3.14159 * tireHeight)).toFixed(0);
    }
    function processTableDifference(){
        document.getElementById("diameterPercentage").textContent       = ((((parseFloat(document.getElementById("diameterTwo").textContent) - parseFloat(document.getElementById("diameterOne").textContent)) / parseFloat(document.getElementById("diameterOne").textContent) * 100)) || 0).toFixed(0) + "%";
        document.getElementById("circumferencePercentage").textContent  = (((parseFloat(document.getElementById("circumferenceTwo").textContent) - parseFloat(document.getElementById("circumferenceOne").textContent)) / parseFloat(document.getElementById("circumferenceOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("sidewallPercentage").textContent       = (((parseFloat(document.getElementById("sidewallTwo").textContent) - parseFloat(document.getElementById("sidewallOne").textContent)) / parseFloat(document.getElementById("sidewallOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("widthPercentage").textContent          = (((parseFloat(document.getElementById("widthTwo").textContent) - parseFloat(document.getElementById("widthOne").textContent)) / parseFloat(document.getElementById("widthOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("revPercentage").textContent            = (parseFloat(document.getElementById("revTwo").textContent) - parseFloat(document.getElementById("revOne").textContent) || 0).toFixed(0);
    }  
    function convertTable() {
        if (inches === true) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) * 25.4).toFixed(0);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) * 25.4).toFixed(0);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) / 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) / 1.6).toFixed(0);

            document.getElementById("measure").textContent          = "Millimeters";
            inches = false;

        } else if (inches === false) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) / 25.4).toFixed(2);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) / 25.4).toFixed(2);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) * 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) * 1.6).toFixed(0);
            document.getElementById("measure").textContent          = "Inches";
            inches = true;
        }
    }
    let dimensionOffset = 0;
    let dimensionOffsetY = 51;
    function drawDimensions(canvasNum, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, strokeColor, offset){
        canvasNum.strokeStyle = strokeColor;

        //x line
        //big line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY); //top
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY); //bottom
        canvasNum.stroke();
        //x text
        canvasNum.font = "15px Helvetica";
        canvasNum.fillStyle = strokeColor;
        canvasNum.fillText(tireHeight.toFixed(1),  (tireWidth1) - fenderWidth + 15, ((midpoint1 - tireProfile) + (midpoint2 + tireProfile)) / 2 + offset);

        //top line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.stroke();

        //bottom line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();

        //y line
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.stroke();
        //y text
        canvasNum.textBaseline = "bottom";
        canvasNum.fillText((tiredWidth / 25.4).toFixed(2),  (tireWidth1 + tireWidth2) / 2 - 20 + offset  + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();
        
    }

    function drawFenderSuspension(canvasNum, newWidth, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, strokeColor){
        //draw fender line
        if (enabled === true && measure === true){
            if (tireWidth1 > newWidth){ 
            canvasNum.beginPath();
            canvasNum.setLineDash([2,3]);
            canvasNum.strokeStyle = strokeColor;
            canvasNum.moveTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            else {
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);

            canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            //draw suspension line
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);
            canvasNum.moveTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
        }
    }

    function drawClearance(canvasNum, wheelwellWidth, midpoint1, midpoint2, tireProfile, strokeColor){
        if (enabled === true && measure === true){
        //draw fender line
        canvasNum.beginPath();
        canvasNum.strokeStyle = strokeColor;
        canvasNum.moveTo(dimensionOffset + dimensionOffsetY + 80,  (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.lineTo(250 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.stroke();
        }
    }
    function drawProfile(canvasNum, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
    }
    function drawWidth(canvasNum, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();
    }

    function tireFunction() { //first set
        ctx.clearRect(0, 0, 500, 500);
        ctx.drawImage(background, 50, 50);
        let width           = document.getElementById("width").value * 12;
        let offset          = document.getElementById("offset").value / 2;
        let tireWidth       = parseInt(document.getElementById("tireWidth").value) / 4;
        let tireProfile     = parseInt(document.getElementById("tireProfile").value) * 1.1;
        let tireDiameter    = parseInt(document.getElementById("tireDiameter").value) * 12.5;
        let fenderWidth     = parseInt(document.getElementById("fenderWidth").value) || 0;
        let suspensionWidth = parseInt(document.getElementById("suspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("wheelwellWidth").value) || 0;

        let tiredWidth      = parseInt(document.getElementById("tireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("tireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("tireDiameter").value);
        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = ((((tiredWidth * (tiredProfile / 100)) * 2) + (tiredDiameter * 25.4)) / 25.4);

        processTableValues("One", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1 = (440 - tireDiameter) / 2;
        let midpoint2 = (440 + tireDiameter) / 2;

        tireProfile = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2 = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1 = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#FF6600", 0);

            //draw rect
            ctx.beginPath();
            ctx.strokeStyle    = "#FF6600";
            ctx.lineWidth      = 3;
            if (tires === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            if (enabled === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else{
            ctx.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            ctx.stroke();
            ctx.strokeStyle = "#000000";
            if (enabled === false){

            //draw lines on top and below the rectangle
            drawWidth(ctx, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

            //draw two lines connecting the tire widths to the base of the rectangle
            drawProfile(ctx, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
            ctx.strokeStyle = "#FF0000";

            //draw fender and suspension lines
            if (fendersuspension === true){
                drawFenderSuspension(ctx, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#FF0000");
            }

            if (clearance === true){
            drawClearance(ctx, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#FF0000");
            }
            }
        }

        else if (measure === false){
            ctx.beginPath();
            ctx.strokeStyle    = "#FF0000";
            ctx.lineWidth      = 3;
            ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx.stroke();
        }
    }

    function twoTireFunction() {
        ctx2.clearRect(0, 0, 500, 500);

        let width           = (document.getElementById("twoWidth").value) * 12;
        let offset          = (document.getElementById("twoOffset").value) / 2;
        let tireWidth       = (parseInt(document.getElementById("twoTireWidth").value)) / 4;
        let tireProfile     = (parseInt(document.getElementById("twoTireProfile").value)) * 1.1;
        let tireDiameter    = (parseInt(document.getElementById("twoTireDiameter").value)) * 12.5;

        let tiredWidth      = parseInt(document.getElementById("twoTireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("twoTireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("twoTireDiameter").value);
        let fenderWidth     = (parseInt(document.getElementById("twoFenderWidth").value)) || 0;
        let suspensionWidth = parseInt(document.getElementById("twoSuspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("twoWheelwellWidth").value) || 0;

        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = (((tiredWidth * (tiredProfile / 100))  * 2) + (tiredDiameter * 25.4)) / 25.4;

        processTableValues("Two", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue  = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1   = (440 - tireDiameter) / 2;
        let midpoint2   = (440 + tireDiameter) / 2;

        tireProfile     = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2  = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1  = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx2, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#007bff", 50);

            //draw rect 2
            ctx2.beginPath();
            ctx2.strokeStyle    = "#007bff";
            ctx2.lineWidth      = 2.5;
            if (enabled === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else {
                ctx2.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            if (tires === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 0.35;
                ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 1;
            }
            ctx2.stroke();
            ctx2.strokeStyle = "#000000";
            if (enabled === false){

                //draw lines on top and below the rectangle
                drawWidth(ctx2, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

                //draw two lines connecting the tire widths to the base of the rectangle
                drawProfile(ctx2, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
                ctx2.strokeStyle = "#0000FF";

                //draw fender and suspension lines
                if (fendersuspension === true){
                drawFenderSuspension(ctx2, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#0000FF");
                }

                if (clearance === true){
                    drawClearance(ctx2, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#0000FF");
                }
            }
        }

        else if (measure === true){
            ctx2.beginPath();
            ctx2.strokeStyle    = "#0000FF";
            ctx2.lineWidth      = 2.5;
            ctx2.globalAlpha    = 0.35;

            ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx2.globalAlpha    = 1;

            ctx2.stroke();
        }

    }
    // Make sure the image is loaded first otherwise nothing will draw.

    background.onload = function () {
        var allowedDomains = ['bmwstylerims.com'];
        console.log(document.domain);
        if (allowedDomains.indexOf(document.domain) == -1) {
        // Code to redirect here
        //window.location.href = "https://bmwstylerims.com"; 
        }

        toggleMode();
    };
    //https://obfuscator.io/
    //https://javascriptobfuscator.com/Javascript-Obfuscator.aspx
</script>
</body>
<h3>What is the recommended tire pressure for the BMW wheel style 770?</h3>
<p>The tire pressure for the BMW wheel style 770 will depend on your BMW model. Most BMW models like the BMW Z4 Series and the , have a recommended tire pressure of 32 PSI (2.2 Bar). However, you should always double-check this for your specific BMW model. You can find out the recommended tire pressure for your BMW, by checking the the sticker on the inside edge of the driver’s door or, check your owner’s manual if you still have the same type of tires that came with the vehicle.</p>
<p>The post <a href="https://www.bmwstylerims.com/bmw-wheel-style-770/">BMW wheel style 770</a> appeared first on <a href="https://www.bmwstylerims.com">BmwStyleRims.com</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>BMW wheel style 772</title>
		<link>https://www.bmwstylerims.com/bmw-wheel-style-772/</link>
		
		<dc:creator><![CDATA[bmwstylerims.com]]></dc:creator>
		<pubDate>Sat, 06 Nov 2021 15:00:02 +0000</pubDate>
				<category><![CDATA[All BMW Wheel Styles]]></category>
		<category><![CDATA[BMW Z4 Series]]></category>
		<category><![CDATA[BMW Z4 Series G29]]></category>
		<category><![CDATA[G29]]></category>
		<guid isPermaLink="false">https://www.bmwstylerims.com/bmw-wheel-style-772/</guid>

					<description><![CDATA[<p>The BMW wheel style 772 is part of the BMW original wheels lineup. Find out more about the style 772 BMW wheels, which is standard  for the bmw Z4 G29 but might fit other models.&#8230; <a class="kt-excerpt-readmore" href="https://www.bmwstylerims.com/bmw-wheel-style-772/" aria-label="BMW wheel style 772">Read More</a></p>
<p>The post <a href="https://www.bmwstylerims.com/bmw-wheel-style-772/">BMW wheel style 772</a> appeared first on <a href="https://www.bmwstylerims.com">BmwStyleRims.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>The bmw Style wheel 772 is available in diameters of 19 inches and are staggerd wheels. This wheel is the original wheel style for the bmw series Z4 G29, however it might fit other models given the specifications match below with the replacement wheel sizes.</p>
<p><img decoding="async" class="centerimg" src="https://www.bmwstylerims.com/wp-content/uploads/2021/05/BMW-wheel-style-772.jpg" alt="BMW wheel style 772" data-skip-lazy="" /></p>
<h3><strong>BMW wheel style 772 </strong><strong>Technical Specifications &amp; Parts  </strong></h3>
<p><Table></p>
<td>Part Number</td>
<td>Part Name</td>
<td>Part Details</td>
<td>Search for Part</td>
</tr>
<tr>
<td>36116883641</td>
<td>Light alloy rim Ferricgrey</td>
<td>9X19 ET:32</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116883641 Light alloy rim Ferricgrey" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36116883642</td>
<td>Light alloy rim Ferricgrey</td>
<td>10X19 ET:40</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116883642 Light alloy rim Ferricgrey" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36136890324</td>
<td>Wheel bolt black</td>
<td>M14X1,25</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136890324 Wheel bolt black" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36136850834</td>
<td>Hub cap with chrome edge</td>
<td>BMW</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136850834 Hub cap with chrome edge" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36121116326</td>
<td>Rubber valve</td>
<td>L=42,5MM</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121116326 Rubber valve" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36141095389</td>
<td>Valve</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36141095389 Valve" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36121120779</td>
<td>Valve caps</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121120779 Valve caps" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36106877937</td>
<td>Wheel electronics module, RDC 433MHZ</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36106877937 Wheel electronics module, RDC 433MHZ" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36106877934</td>
<td>Wheel electronics module TPM 315MHZ</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36106877934 Wheel electronics module TPM 315MHZ" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36106879168</td>
<td>Repair kit, screw-type valve RDCi</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36106879168 Repair kit, screw-type valve RDCi" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36106879165</td>
<td>Valve insert RDCi</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36106879165 Valve insert RDCi" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36106879164</td>
<td>Valve cap RDCi</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36106879164 Valve cap RDCi" rel="noopener">search for part</a></td>
</tr>
</table>
<h5>BMW models for which the BMW wheel style 772 fits: G29         </h5>
<h5>Color Code: Ferric Grey</h5>
<h5></h5>
<h3>Will the BMW wheel style 772 fit on your BMW?</h3>
<p>Bear in mind that it could be dangerous to run your BMW on tires or wheels they aren&#8217;t designed to fit. If you are unsure about your current wheel specifications, please check our <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/" target="_blank" rel="noopener">BMW wheel fitment chart and guide</a></p>
<p>&nbsp;</p>
<p>Insert your existing BMW wheel and tire dimensions, and the sizes of the BMW wheel style 772, and the outcome will be shown on the diagram. The strut shown in the diagram below is for illustration purpose only.</p>
<body>
<div class="tirecomparison-calculator">   
    <div class="form_holder_cal"> 
                    <div class="form_one_container">
                        <div class="setup_old">
                            <h5 class="hclass">YOUR EXISTING SETUP</h5>
                        </div>
                        <form class="form_one">
                           <div class="input_row">
                              <div class="input_column_img">
                                 <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                              </div>
                              <div class="input_column">
                                 <label class="form_label" for="tireWidth">Width (mm)</label>
                                 <input id="tireWidth" oninput="tireFunction()" value="205" type="number" min="0" max="399">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireProfile">Profile</label>
                                <input id="tireProfile" oninput="tireFunction()" value="55" type="number" min="0" max="99">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireDiameter">Diameter (in)</label>
                                <input id="tireDiameter" oninput="tireFunction()" value="16" type="number" min="0" max="99">
                              </div>
                            </div>
                           <div class="input_row">
                            <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="offset">Offset (mm)</label>
                                <input id="offset" oninput="tireFunction()" value="40" type="number" min="-99" max="99">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="width">Width (in)</label>
                                <input id="width" oninput="tireFunction()" value="6.5" type="number" min="0" max="99">
                            </div>
                           </div>
                        </form>
                        <p class="psmall">Above values are only examples! If unsure of your current wheel size? <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/">Check here!</a> </p>
                    </div>
                    <div class="form_two_container">
                          <div class="setup_new">
                          <h5 class="hclass">YOUR NEW SETUP</h5>
                           </div>
                         <form class="form_two">
                           <div class="input_row">
                             <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireWidth">Width (mm)</label>
                                <input id="twoTireWidth" oninput="twoTireFunction()" value="235" type="number" min="0" max="399">
                                </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireProfile">Profile</label>
                                <input id="twoTireProfile" oninput="twoTireFunction()" value="40" type="number" min="0" max="99">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireDiameter">Diameter (in)</label>
                                 <input id="twoTireDiameter" oninput="twoTireFunction()" value="17" type="number" min="0" max="99">
                             </div>
                             </div>
                             <div class="input_row">
                                <div class="input_column_img">
                                    <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                                 </div>
                                 <div class="input_column">
                                     <label class="form_label" for="twoOffset">Offset (mm)</label>
                                     <input id="twoOffset" class="mm" value="20" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                 </div>
                                     <div class="input_column">
                                         <label class="form_label" for="twoWidth">Width (in)</label>
                                          <input id="twoWidth" class="ms" value="7.5" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                      </div>                          
                                </div>
                         </form>
                      <p class="psmall">Above values are only examples! Change values to view fittment.</p>
                    </div>
     
      
                    <div class="results_header">   
                     <h5 class="hclass">YOUR RESULTS</h5>
                      <p> are automatically applied below </p>
                  </div>  
               <div class="canvasHolder">
                 <canvas class="canvas" id="canvasA"></canvas>
                 <canvas class="canvas" id="canvasB"></canvas>
               </div> 
                <br>


                <div class="hide">
                    <div class="form-check">
                         <label class="lock locka" for="checkTires">
                           <input onclick="checkTires()" type="checkbox" value="" id="checkTires" checked>
                           <span>Show Tires</span>
                         </label>
                    </div>
                    <div class="form-check">
                        <label class="lock" for="checkMeasurements">
                          <input onclick="checkMeasurements()" type="checkbox" value="" id="checkMeasurements" checked>
                          <span>Show Measurements</span>
                        </label>
                    </div>
                    <div class="form-check advance_options">
                          <label class="lock lockd" for="checkClearance">
                          <input onclick="checkClearance()" type="checkbox" value="" id="checkClearance">
                          <span>Show Clearance</span>
                       </label>
                    </div>
                    <div class="form-check advance_options">
                       <label class="lock lockd" for="checkFenderSuspension">
                         <input onclick="checkFenderSuspension()" type="checkbox" value="" id="checkFenderSuspension">
                         <span>Show Fender and Suspension</span>
                       </label>
                    </div>
                
                    <input type="button" id="buttonToggle" class="example_c" value="Show More Options" onclick="toggleMode()">
                    <div class="form_three_container">
                        <form class="form_three">
                           <div class="block_one">          
                              <div class="advance_options form_one">
                                <label for="wheelwellWidth">Wheelwell Clearance (mm) </label>
                                <input id="wheelwellWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="fenderWidth">Fender Clearance (mm) </label>
                                  <input id="fenderWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="suspensionWidth">Suspension Width (mm)</label>
                                  <input id="suspensionWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="399">
                              </div>
                           </div>
                           <div class="block_two">
                              <div class="advance_options form_two">
                               </div>
                              <div class="advance_options form_two">
                                <label for="twoWheelwellWidth">New Wheelwell Clearance (mm) </label>
                                <input id="twoWheelwellWidth" oninput="twoTireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                           <div class="advance_options form_two">
                                <label for="twoFenderWidth">New Fender Clearance (mm)</label>
                                <input id="twoFenderWidth" oninput="twoTireFunction()" value="0" type="number" min="-99" max="99">
                           </div>
                           <div class="advance_options form_two">
                                <label for="twoSuspensionWidth">New Suspension Width (mm)</label>
                                <input id="twoSuspensionWidth" oninput="twoTireFunction()" value="0" type="number" min="0" max="99">
                           </div>
                          </div>
                        </form>
                    </div>
                 </div>
                   <div class="wheel_text">
                         <p>The diagram is only for show to help you visualize your tires and wheel fitment of your new setup.</p>
                         <br>
                         <p>Tire Width    - The width of your tire in millimeters. <strong>195</strong>/55ZR15</p>
                         <p>Tire Profile  - The ratio of tire wall width to tire width. 195/<strong>55</strong>ZR15</p>
                         <p>Tire Diameter - The diameter of your wheels in inches. 195/55ZR<strong>15</strong> </p>
                         <p>Offset - the distance from the center of the wheel to the mounting face in mm. ET<strong>20</strong> </p>
                         <p>Rim Width - The width of your rims in inches. <strong>7.5</strong>JX17 </p>
                   </div>
      
      
        <div class="table-results">
            <table class="table table-sm">
                <colgroup>
                    <col>
                    <col>
                    <col span="1" class="bg-light">
                    <col>
                </colgroup>
                <thead>
                    <tr>
                        <th id="measure" scope="col">Inches</th>
                        <th scope="col" class="tb_orgwheel">Original Wheel</th>
                        <th scope="col" class="tb_newwheel">New Wheel</th>
                        <th scope="col">Difference</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <th scope="row">Diameter</th>
                        <td id="diameterOne"></td>
                        <td id="diameterTwo"></td>
                        <td id="diameterPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Circumference</th>
                        <td id="circumferenceOne"></td>
                        <td id="circumferenceTwo"></td>
                        <td id="circumferencePercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Sidewall</th>
                        <td id="sidewallOne"></td>
                        <td id="sidewallTwo"></td>
                        <td id="sidewallPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Width</th>
                        <td id="widthOne"></td>
                        <td id="widthTwo"></td>
                        <td id="widthPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Wheel Revolutions</th>
                        <td id="revOne"></td>
                        <td id="revTwo"></td>
                        <td id="revPercentage"></td>
                    </tr>
                </tbody>
             </table>
                <input type="button" id="buttonConvert" value="Convert" onclick="convertTable()">
        </div>
    </div>
</div>
    

<style>
  .hide {
    display: none;
  }
  .results{
    color:white!important;
    text-align: center;
    background-color: #005a87;
    padding:5px;
  }

 .results_header{
    display:block;
    text-align: center;
    background-color: #007bff;
    margin-top:30px;    
    margin-bottom: 10px;
    margin-right:10px;
    margin-right:10px;
    max-width: 100%;
    padding:10px;
    width:100%;
    Color: #fff;
  }
.results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}


.lock {
	position:relative;
  cursor:pointer;
	height:32px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.lock input {
	display:none; 
}
.lock span:before,
.lock span:after{
	content:"";
}

.lock span:before {
	width:64px;
	height:32px;
	margin-right:8px;
	background:#EEE;
	border-radius:32px;
	display:inline-block;
	vertical-align:middle;
	transition:all .5s cubic-bezier(.175, .885, .32, 1);
}
.lock span:after {
	margin:2px;
	width:28px;
	height:28px;
	background:#FFF;
	border-radius:28px;
	position:absolute;
	left:0;
	z-index:2;
	transition:all .5s cubic-bezier(.175, .885, .32, 1); 
}
.lock input:checked + span:after {
	left:32px;
}
.lockd input:disabled + span:after{
	background: #acacac;
}
.lock input:checked + span:before {
	background-color:#006298;
}
.locka input:checked + span:before {
	background-color:#1CC691;
}
    .example_c {
        color: #fff !important;
        text-transform: uppercase;
        text-decoration: none;
        background: #006298;
        padding: 5px;
        border-radius: 5px;
        display: inline-block;
        border: none;
        transition: all 0.4s ease 0s;
    }
    .example_c:hover {
        background: black;
        letter-spacing: 1px;
        -webkit-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        -moz-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        box-shadow: 5px 40px -10px rgba(0,0,0,0.57);
        transition: all 0.4s ease 0s;
    }
    p { margin: 5px }
    .canvasHolder {
        position: relative;
    }

  /* form style*/ 
.psmall{
  font-size:small;
  padding-top:5px;
}

.hclass{
  color:#fff;
  font-weight:400;
}

  .setup_old{
    margin-right:10px;
    background-color: #FF6600;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
.setup_new{
    margin-right:0px;
    background-color: #007bff;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
    .form_holder_cal{
        background-color:#fff;
        padding-top:0px;   
        margin: 0 auto;
        max-width: 100%;
        
    } 
 
    .form_two{
        
        display: flex-grid;
    }
    .block_two{
        display: table-cell;
        vertical-align: middle;
        width: 50%;
    }
    .block_one{
        display: table-cell;
        float:left;
    }
    .form_two_container{
        display: table-cell;
          
        margin:auto;
             }
    
    .form_one_container{
        display: table-cell;
        
        margin:auto;
                   }
@media screen and (max-width: 750px) {
  .form_two_container {
    display: block;
    margin-top:30px;
    margin-bottom:20px;
    float:left;
   
  }
  .form_one_container {
    display: block;
    padding-top: 30px;
     }
  .results_header{
    display:inline-block;
    margin-right:10px;
    width:100%;
    text-align:center;
  }
  .results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}
}

@media screen and (max-width: 400px) {
  .form_two_container {
    width: 100%;
   
  }
  .form_one_container {
    width: 100%;
    
  }
}

.block_one{
    float:center;
    }

.input_row {
  display: table-row;
}

.input_column_img {
  display: table-column;
  padding-right: 5px; 
  float: left;
  width:100%;
  min-width: 50px;
}

.input_column 
  {
display: table-cell;
}

    .form_one{
        margin-right: 0px; 
    }

     .form_label {
        display:block;
        padding: 5px;
       margin-left: 10px;
       float: left;
       width:80%;
       Font-size:12px;
    }
    .form_one input[type="button"] { 
      min-width: 100px;}
    
  
    .form_two input[type="button"] { 
        min-width: 100px;
    }
    .form_one input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
      height: 28px;
  	   width: 80px;}
  
      .form_two input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
        height: 28px;
        width: 80px;}
    }
    .form-check-input {
        width: 20px;
     
    }
    .canvasHolder{
        float:left;
        position: relative;
        height: 500px; width: 400px; /*based on your canvas size*/
        
    }
  @media only screen and (max-width: 400px) {
  .canvasHolder{
              margin-left:-50px;
    }
}
    .canvas{
        position: absolute;
        top: 0; left: 0;
        }
    .tirecomparison-calculator {
        padding: 20px 5px;
        
        background: #fff;
 
        margin-left: 0px;
        margin-right: 0px;
        overflow: hidden;
    }
.table-results{
display: block;
width: 100%;
  /*
overflow-x: auto;
-webkit-overflow-scrolling: touch;*/
margin: 0 auto;
}

.tb_orgwheel {
  background-color:#FF6600;
  Color: #fff;
}
.tb_newwheel {
  background-color:#007bff;
  Color: #fff;
}

</style>
<script>
    let c = document.getElementById("canvasA");
    let d       = document.getElementById("canvasB");
    let ctx     = c.getContext("2d");
    let ctx2    = d.getContext("2d");
    let initialHeight   = 500;
    let initialWidth    = 400;
    c.width     = initialWidth;
    c.height    = initialHeight;
    d.width     = initialWidth;
    d.height    = initialHeight;

    let tireImg = new Image();
    tireImg.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/tire_PNG45.gif";
  
    let background = new Image();
    background.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/jTkeSmK.gif";

    let tireOffsetX = 200;
    let tireOffsetY = 50;

    let inches  = true;
    let enabled = true;
    let measure = true;
    let tires   = false;
    let clearance = true;
    let fendersuspension = false;
     
    var heckMeasurements = document.getElementById("checkMeasurements");
    var heckTires = document.getElementById("checkTires");
    //if enabled disable the function to draw
    function checkClearance(){
        var remember = document.getElementById("checkClearance");
        if (remember.checked){
            clearance = true;
            tireFunction();
            twoTireFunction();
        }else{
            clearance = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkFenderSuspension(){
        var remember = document.getElementById("checkFenderSuspension");
        if (remember.checked){
            fendersuspension = true;
            tireFunction();
            twoTireFunction();
        }else{
            fendersuspension = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkMeasurements(){
        if (heckMeasurements.checked){
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
            
        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkTires").checked = true;
            tires = true;
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();
        }
        else{
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();

        }
    }

    function checkTires(){
        if (heckTires.checked){
            tires = true;
            tireFunction();
            twoTireFunction();

        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkMeasurements").checked = true;
            tires = false;
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
        }
        else{
            tires = false;
            tireFunction();
            twoTireFunction();

        }
    }
function toggleMode(){
        var divsToHide = document.getElementsByClassName("advance_options"); //divsToHide is an array
        if (enabled === true){
            enabled = false;
            //hide elements
            for(var i = 0; i < divsToHide.length; i++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[i].style.display = "none"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Show More";
        }
        else if (enabled === false) {
            enabled = true;

            for(var x = 0; x < divsToHide.length; x++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[x].style.display = "block"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Hide";

        }
        tireFunction();
        twoTireFunction();
    }
 
    function processTableValues(colNum, tireHeight, tireSidewall, tiredWidth){
        document.getElementById("diameter" + colNum).textContent        = tireHeight.toFixed(2);
        document.getElementById("circumference" + colNum).textContent   = (3.14159 * tireHeight).toFixed(2);
        document.getElementById("sidewall" + colNum).textContent        = tireSidewall.toFixed(2);
        document.getElementById("width" + colNum).textContent           = (tiredWidth / 25.4).toFixed(2);
        document.getElementById("rev" + colNum).textContent             = (63360 / (3.14159 * tireHeight)).toFixed(0);
    }
    function processTableDifference(){
        document.getElementById("diameterPercentage").textContent       = ((((parseFloat(document.getElementById("diameterTwo").textContent) - parseFloat(document.getElementById("diameterOne").textContent)) / parseFloat(document.getElementById("diameterOne").textContent) * 100)) || 0).toFixed(0) + "%";
        document.getElementById("circumferencePercentage").textContent  = (((parseFloat(document.getElementById("circumferenceTwo").textContent) - parseFloat(document.getElementById("circumferenceOne").textContent)) / parseFloat(document.getElementById("circumferenceOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("sidewallPercentage").textContent       = (((parseFloat(document.getElementById("sidewallTwo").textContent) - parseFloat(document.getElementById("sidewallOne").textContent)) / parseFloat(document.getElementById("sidewallOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("widthPercentage").textContent          = (((parseFloat(document.getElementById("widthTwo").textContent) - parseFloat(document.getElementById("widthOne").textContent)) / parseFloat(document.getElementById("widthOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("revPercentage").textContent            = (parseFloat(document.getElementById("revTwo").textContent) - parseFloat(document.getElementById("revOne").textContent) || 0).toFixed(0);
    }  
    function convertTable() {
        if (inches === true) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) * 25.4).toFixed(0);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) * 25.4).toFixed(0);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) / 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) / 1.6).toFixed(0);

            document.getElementById("measure").textContent          = "Millimeters";
            inches = false;

        } else if (inches === false) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) / 25.4).toFixed(2);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) / 25.4).toFixed(2);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) * 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) * 1.6).toFixed(0);
            document.getElementById("measure").textContent          = "Inches";
            inches = true;
        }
    }
    let dimensionOffset = 0;
    let dimensionOffsetY = 51;
    function drawDimensions(canvasNum, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, strokeColor, offset){
        canvasNum.strokeStyle = strokeColor;

        //x line
        //big line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY); //top
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY); //bottom
        canvasNum.stroke();
        //x text
        canvasNum.font = "15px Helvetica";
        canvasNum.fillStyle = strokeColor;
        canvasNum.fillText(tireHeight.toFixed(1),  (tireWidth1) - fenderWidth + 15, ((midpoint1 - tireProfile) + (midpoint2 + tireProfile)) / 2 + offset);

        //top line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.stroke();

        //bottom line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();

        //y line
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.stroke();
        //y text
        canvasNum.textBaseline = "bottom";
        canvasNum.fillText((tiredWidth / 25.4).toFixed(2),  (tireWidth1 + tireWidth2) / 2 - 20 + offset  + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();
        
    }

    function drawFenderSuspension(canvasNum, newWidth, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, strokeColor){
        //draw fender line
        if (enabled === true && measure === true){
            if (tireWidth1 > newWidth){ 
            canvasNum.beginPath();
            canvasNum.setLineDash([2,3]);
            canvasNum.strokeStyle = strokeColor;
            canvasNum.moveTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            else {
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);

            canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            //draw suspension line
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);
            canvasNum.moveTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
        }
    }

    function drawClearance(canvasNum, wheelwellWidth, midpoint1, midpoint2, tireProfile, strokeColor){
        if (enabled === true && measure === true){
        //draw fender line
        canvasNum.beginPath();
        canvasNum.strokeStyle = strokeColor;
        canvasNum.moveTo(dimensionOffset + dimensionOffsetY + 80,  (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.lineTo(250 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.stroke();
        }
    }
    function drawProfile(canvasNum, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
    }
    function drawWidth(canvasNum, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();
    }

    function tireFunction() { //first set
        ctx.clearRect(0, 0, 500, 500);
        ctx.drawImage(background, 50, 50);
        let width           = document.getElementById("width").value * 12;
        let offset          = document.getElementById("offset").value / 2;
        let tireWidth       = parseInt(document.getElementById("tireWidth").value) / 4;
        let tireProfile     = parseInt(document.getElementById("tireProfile").value) * 1.1;
        let tireDiameter    = parseInt(document.getElementById("tireDiameter").value) * 12.5;
        let fenderWidth     = parseInt(document.getElementById("fenderWidth").value) || 0;
        let suspensionWidth = parseInt(document.getElementById("suspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("wheelwellWidth").value) || 0;

        let tiredWidth      = parseInt(document.getElementById("tireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("tireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("tireDiameter").value);
        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = ((((tiredWidth * (tiredProfile / 100)) * 2) + (tiredDiameter * 25.4)) / 25.4);

        processTableValues("One", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1 = (440 - tireDiameter) / 2;
        let midpoint2 = (440 + tireDiameter) / 2;

        tireProfile = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2 = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1 = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#FF6600", 0);

            //draw rect
            ctx.beginPath();
            ctx.strokeStyle    = "#FF6600";
            ctx.lineWidth      = 3;
            if (tires === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            if (enabled === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else{
            ctx.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            ctx.stroke();
            ctx.strokeStyle = "#000000";
            if (enabled === false){

            //draw lines on top and below the rectangle
            drawWidth(ctx, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

            //draw two lines connecting the tire widths to the base of the rectangle
            drawProfile(ctx, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
            ctx.strokeStyle = "#FF0000";

            //draw fender and suspension lines
            if (fendersuspension === true){
                drawFenderSuspension(ctx, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#FF0000");
            }

            if (clearance === true){
            drawClearance(ctx, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#FF0000");
            }
            }
        }

        else if (measure === false){
            ctx.beginPath();
            ctx.strokeStyle    = "#FF0000";
            ctx.lineWidth      = 3;
            ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx.stroke();
        }
    }

    function twoTireFunction() {
        ctx2.clearRect(0, 0, 500, 500);

        let width           = (document.getElementById("twoWidth").value) * 12;
        let offset          = (document.getElementById("twoOffset").value) / 2;
        let tireWidth       = (parseInt(document.getElementById("twoTireWidth").value)) / 4;
        let tireProfile     = (parseInt(document.getElementById("twoTireProfile").value)) * 1.1;
        let tireDiameter    = (parseInt(document.getElementById("twoTireDiameter").value)) * 12.5;

        let tiredWidth      = parseInt(document.getElementById("twoTireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("twoTireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("twoTireDiameter").value);
        let fenderWidth     = (parseInt(document.getElementById("twoFenderWidth").value)) || 0;
        let suspensionWidth = parseInt(document.getElementById("twoSuspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("twoWheelwellWidth").value) || 0;

        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = (((tiredWidth * (tiredProfile / 100))  * 2) + (tiredDiameter * 25.4)) / 25.4;

        processTableValues("Two", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue  = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1   = (440 - tireDiameter) / 2;
        let midpoint2   = (440 + tireDiameter) / 2;

        tireProfile     = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2  = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1  = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx2, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#007bff", 50);

            //draw rect 2
            ctx2.beginPath();
            ctx2.strokeStyle    = "#007bff";
            ctx2.lineWidth      = 2.5;
            if (enabled === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else {
                ctx2.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            if (tires === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 0.35;
                ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 1;
            }
            ctx2.stroke();
            ctx2.strokeStyle = "#000000";
            if (enabled === false){

                //draw lines on top and below the rectangle
                drawWidth(ctx2, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

                //draw two lines connecting the tire widths to the base of the rectangle
                drawProfile(ctx2, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
                ctx2.strokeStyle = "#0000FF";

                //draw fender and suspension lines
                if (fendersuspension === true){
                drawFenderSuspension(ctx2, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#0000FF");
                }

                if (clearance === true){
                    drawClearance(ctx2, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#0000FF");
                }
            }
        }

        else if (measure === true){
            ctx2.beginPath();
            ctx2.strokeStyle    = "#0000FF";
            ctx2.lineWidth      = 2.5;
            ctx2.globalAlpha    = 0.35;

            ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx2.globalAlpha    = 1;

            ctx2.stroke();
        }

    }
    // Make sure the image is loaded first otherwise nothing will draw.

    background.onload = function () {
        var allowedDomains = ['bmwstylerims.com'];
        console.log(document.domain);
        if (allowedDomains.indexOf(document.domain) == -1) {
        // Code to redirect here
        //window.location.href = "https://bmwstylerims.com"; 
        }

        toggleMode();
    };
    //https://obfuscator.io/
    //https://javascriptobfuscator.com/Javascript-Obfuscator.aspx
</script>
</body>
<h3>What is the recommended tire pressure for the BMW wheel style 772?</h3>
<p>The tire pressure for the BMW wheel style 772 will depend on your BMW model. Most BMW models like the BMW Z4 Series and the , have a recommended tire pressure of 32 PSI (2.2 Bar). However, you should always double-check this for your specific BMW model. You can find out the recommended tire pressure for your BMW, by checking the the sticker on the inside edge of the driver’s door or, check your owner’s manual if you still have the same type of tires that came with the vehicle.</p>
<p>The post <a href="https://www.bmwstylerims.com/bmw-wheel-style-772/">BMW wheel style 772</a> appeared first on <a href="https://www.bmwstylerims.com">BmwStyleRims.com</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>BMW wheel style 514</title>
		<link>https://www.bmwstylerims.com/bmw-wheel-style-514/</link>
		
		<dc:creator><![CDATA[bmwstylerims.com]]></dc:creator>
		<pubDate>Sat, 06 Nov 2021 14:56:17 +0000</pubDate>
				<category><![CDATA[All BMW Wheel Styles]]></category>
		<category><![CDATA[BMW Z4 Series]]></category>
		<category><![CDATA[BMW Z4 Series E89]]></category>
		<category><![CDATA[E89]]></category>
		<guid isPermaLink="false">https://www.bmwstylerims.com/bmw-wheel-style-514/</guid>

					<description><![CDATA[<p>The BMW wheel style 514 is part of the BMW original wheels lineup. Find out more about the style 514 BMW rims, which is standard  for the bmw Z4 E89 but might fit other models.&#8230; <a class="kt-excerpt-readmore" href="https://www.bmwstylerims.com/bmw-wheel-style-514/" aria-label="BMW wheel style 514">Read More</a></p>
<p>The post <a href="https://www.bmwstylerims.com/bmw-wheel-style-514/">BMW wheel style 514</a> appeared first on <a href="https://www.bmwstylerims.com">BmwStyleRims.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>The bmw Style wheel 514 is available in diameters of 17 inches and are staggerd wheels. This wheel is the original wheel style for the bmw series Z4 E89, however it might fit other models given the specifications match below with the replacement wheel sizes.</p>
<p><img decoding="async" class="centerimg" src="https://www.bmwstylerims.com/wp-content/uploads/2021/04/BMW-wheel-style-514.jpg" alt="BMW wheel style 514" data-skip-lazy="" /></p>
<h3><strong>BMW wheel style 514 </strong><strong>Technical Specifications &amp; Parts  </strong></h3>
<p><Table></p>
<td>Part Number</td>
<td>Part Name</td>
<td>Part Details</td>
<td>Search for Part</td>
</tr>
<tr>
<td>36116855527</td>
<td>Light alloy rim</td>
<td>8JX17 ET:29</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116855527 Light alloy rim" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36116855528</td>
<td>Light alloy rim</td>
<td>8,5JX17 ET:40</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116855528 Light alloy rim" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36136781150</td>
<td>Wheel bolt black</td>
<td>M12X1,5</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136781150 Wheel bolt black" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36136783536</td>
<td>Hub cap with chrome edge</td>
<td>BMW</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136783536 Hub cap with chrome edge" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36121116326</td>
<td>Rubber valve</td>
<td>L=42,5MM</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121116326 Rubber valve" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36146792829</td>
<td>Screw-in valve, RDC</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36146792829 Screw-in valve, RDC" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36141095389</td>
<td>Valve</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36141095389 Valve" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36121120779</td>
<td>Valve caps</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121120779 Valve caps" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36111095436</td>
<td>Valve caps RDC</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36111095436 Valve caps RDC" rel="noopener">search for part</a></td>
</tr>
</table>
<h5>BMW models for which the BMW wheel style 514 fits: E89         </h5>
<h5> </h5>
<h5></h5>
<h3>Will the BMW wheel style 514 fit on your BMW?</h3>
<p>Bear in mind that it could be dangerous to run your BMW on tires or wheels they aren&#8217;t designed to fit. If you are unsure about your current wheel specifications, please check our <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/" target="_blank" rel="noopener">BMW wheel fitment chart and guide</a></p>
<p>&nbsp;</p>
<p>Insert your existing BMW wheel and tire dimensions, and the sizes of the BMW wheel style 514, and the outcome will be shown on the diagram. The strut shown in the diagram below is for illustration purpose only.</p>
<body>
<div class="tirecomparison-calculator">   
    <div class="form_holder_cal"> 
                    <div class="form_one_container">
                        <div class="setup_old">
                            <h5 class="hclass">YOUR EXISTING SETUP</h5>
                        </div>
                        <form class="form_one">
                           <div class="input_row">
                              <div class="input_column_img">
                                 <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                              </div>
                              <div class="input_column">
                                 <label class="form_label" for="tireWidth">Width (mm)</label>
                                 <input id="tireWidth" oninput="tireFunction()" value="205" type="number" min="0" max="399">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireProfile">Profile</label>
                                <input id="tireProfile" oninput="tireFunction()" value="55" type="number" min="0" max="99">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireDiameter">Diameter (in)</label>
                                <input id="tireDiameter" oninput="tireFunction()" value="16" type="number" min="0" max="99">
                              </div>
                            </div>
                           <div class="input_row">
                            <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="offset">Offset (mm)</label>
                                <input id="offset" oninput="tireFunction()" value="40" type="number" min="-99" max="99">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="width">Width (in)</label>
                                <input id="width" oninput="tireFunction()" value="6.5" type="number" min="0" max="99">
                            </div>
                           </div>
                        </form>
                        <p class="psmall">Above values are only examples! If unsure of your current wheel size? <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/">Check here!</a> </p>
                    </div>
                    <div class="form_two_container">
                          <div class="setup_new">
                          <h5 class="hclass">YOUR NEW SETUP</h5>
                           </div>
                         <form class="form_two">
                           <div class="input_row">
                             <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireWidth">Width (mm)</label>
                                <input id="twoTireWidth" oninput="twoTireFunction()" value="235" type="number" min="0" max="399">
                                </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireProfile">Profile</label>
                                <input id="twoTireProfile" oninput="twoTireFunction()" value="40" type="number" min="0" max="99">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireDiameter">Diameter (in)</label>
                                 <input id="twoTireDiameter" oninput="twoTireFunction()" value="17" type="number" min="0" max="99">
                             </div>
                             </div>
                             <div class="input_row">
                                <div class="input_column_img">
                                    <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                                 </div>
                                 <div class="input_column">
                                     <label class="form_label" for="twoOffset">Offset (mm)</label>
                                     <input id="twoOffset" class="mm" value="20" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                 </div>
                                     <div class="input_column">
                                         <label class="form_label" for="twoWidth">Width (in)</label>
                                          <input id="twoWidth" class="ms" value="7.5" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                      </div>                          
                                </div>
                         </form>
                      <p class="psmall">Above values are only examples! Change values to view fittment.</p>
                    </div>
     
      
                    <div class="results_header">   
                     <h5 class="hclass">YOUR RESULTS</h5>
                      <p> are automatically applied below </p>
                  </div>  
               <div class="canvasHolder">
                 <canvas class="canvas" id="canvasA"></canvas>
                 <canvas class="canvas" id="canvasB"></canvas>
               </div> 
                <br>


                <div class="hide">
                    <div class="form-check">
                         <label class="lock locka" for="checkTires">
                           <input onclick="checkTires()" type="checkbox" value="" id="checkTires" checked>
                           <span>Show Tires</span>
                         </label>
                    </div>
                    <div class="form-check">
                        <label class="lock" for="checkMeasurements">
                          <input onclick="checkMeasurements()" type="checkbox" value="" id="checkMeasurements" checked>
                          <span>Show Measurements</span>
                        </label>
                    </div>
                    <div class="form-check advance_options">
                          <label class="lock lockd" for="checkClearance">
                          <input onclick="checkClearance()" type="checkbox" value="" id="checkClearance">
                          <span>Show Clearance</span>
                       </label>
                    </div>
                    <div class="form-check advance_options">
                       <label class="lock lockd" for="checkFenderSuspension">
                         <input onclick="checkFenderSuspension()" type="checkbox" value="" id="checkFenderSuspension">
                         <span>Show Fender and Suspension</span>
                       </label>
                    </div>
                
                    <input type="button" id="buttonToggle" class="example_c" value="Show More Options" onclick="toggleMode()">
                    <div class="form_three_container">
                        <form class="form_three">
                           <div class="block_one">          
                              <div class="advance_options form_one">
                                <label for="wheelwellWidth">Wheelwell Clearance (mm) </label>
                                <input id="wheelwellWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="fenderWidth">Fender Clearance (mm) </label>
                                  <input id="fenderWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="suspensionWidth">Suspension Width (mm)</label>
                                  <input id="suspensionWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="399">
                              </div>
                           </div>
                           <div class="block_two">
                              <div class="advance_options form_two">
                               </div>
                              <div class="advance_options form_two">
                                <label for="twoWheelwellWidth">New Wheelwell Clearance (mm) </label>
                                <input id="twoWheelwellWidth" oninput="twoTireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                           <div class="advance_options form_two">
                                <label for="twoFenderWidth">New Fender Clearance (mm)</label>
                                <input id="twoFenderWidth" oninput="twoTireFunction()" value="0" type="number" min="-99" max="99">
                           </div>
                           <div class="advance_options form_two">
                                <label for="twoSuspensionWidth">New Suspension Width (mm)</label>
                                <input id="twoSuspensionWidth" oninput="twoTireFunction()" value="0" type="number" min="0" max="99">
                           </div>
                          </div>
                        </form>
                    </div>
                 </div>
                   <div class="wheel_text">
                         <p>The diagram is only for show to help you visualize your tires and wheel fitment of your new setup.</p>
                         <br>
                         <p>Tire Width    - The width of your tire in millimeters. <strong>195</strong>/55ZR15</p>
                         <p>Tire Profile  - The ratio of tire wall width to tire width. 195/<strong>55</strong>ZR15</p>
                         <p>Tire Diameter - The diameter of your wheels in inches. 195/55ZR<strong>15</strong> </p>
                         <p>Offset - the distance from the center of the wheel to the mounting face in mm. ET<strong>20</strong> </p>
                         <p>Rim Width - The width of your rims in inches. <strong>7.5</strong>JX17 </p>
                   </div>
      
      
        <div class="table-results">
            <table class="table table-sm">
                <colgroup>
                    <col>
                    <col>
                    <col span="1" class="bg-light">
                    <col>
                </colgroup>
                <thead>
                    <tr>
                        <th id="measure" scope="col">Inches</th>
                        <th scope="col" class="tb_orgwheel">Original Wheel</th>
                        <th scope="col" class="tb_newwheel">New Wheel</th>
                        <th scope="col">Difference</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <th scope="row">Diameter</th>
                        <td id="diameterOne"></td>
                        <td id="diameterTwo"></td>
                        <td id="diameterPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Circumference</th>
                        <td id="circumferenceOne"></td>
                        <td id="circumferenceTwo"></td>
                        <td id="circumferencePercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Sidewall</th>
                        <td id="sidewallOne"></td>
                        <td id="sidewallTwo"></td>
                        <td id="sidewallPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Width</th>
                        <td id="widthOne"></td>
                        <td id="widthTwo"></td>
                        <td id="widthPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Wheel Revolutions</th>
                        <td id="revOne"></td>
                        <td id="revTwo"></td>
                        <td id="revPercentage"></td>
                    </tr>
                </tbody>
             </table>
                <input type="button" id="buttonConvert" value="Convert" onclick="convertTable()">
        </div>
    </div>
</div>
    

<style>
  .hide {
    display: none;
  }
  .results{
    color:white!important;
    text-align: center;
    background-color: #005a87;
    padding:5px;
  }

 .results_header{
    display:block;
    text-align: center;
    background-color: #007bff;
    margin-top:30px;    
    margin-bottom: 10px;
    margin-right:10px;
    margin-right:10px;
    max-width: 100%;
    padding:10px;
    width:100%;
    Color: #fff;
  }
.results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}


.lock {
	position:relative;
  cursor:pointer;
	height:32px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.lock input {
	display:none; 
}
.lock span:before,
.lock span:after{
	content:"";
}

.lock span:before {
	width:64px;
	height:32px;
	margin-right:8px;
	background:#EEE;
	border-radius:32px;
	display:inline-block;
	vertical-align:middle;
	transition:all .5s cubic-bezier(.175, .885, .32, 1);
}
.lock span:after {
	margin:2px;
	width:28px;
	height:28px;
	background:#FFF;
	border-radius:28px;
	position:absolute;
	left:0;
	z-index:2;
	transition:all .5s cubic-bezier(.175, .885, .32, 1); 
}
.lock input:checked + span:after {
	left:32px;
}
.lockd input:disabled + span:after{
	background: #acacac;
}
.lock input:checked + span:before {
	background-color:#006298;
}
.locka input:checked + span:before {
	background-color:#1CC691;
}
    .example_c {
        color: #fff !important;
        text-transform: uppercase;
        text-decoration: none;
        background: #006298;
        padding: 5px;
        border-radius: 5px;
        display: inline-block;
        border: none;
        transition: all 0.4s ease 0s;
    }
    .example_c:hover {
        background: black;
        letter-spacing: 1px;
        -webkit-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        -moz-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        box-shadow: 5px 40px -10px rgba(0,0,0,0.57);
        transition: all 0.4s ease 0s;
    }
    p { margin: 5px }
    .canvasHolder {
        position: relative;
    }

  /* form style*/ 
.psmall{
  font-size:small;
  padding-top:5px;
}

.hclass{
  color:#fff;
  font-weight:400;
}

  .setup_old{
    margin-right:10px;
    background-color: #FF6600;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
.setup_new{
    margin-right:0px;
    background-color: #007bff;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
    .form_holder_cal{
        background-color:#fff;
        padding-top:0px;   
        margin: 0 auto;
        max-width: 100%;
        
    } 
 
    .form_two{
        
        display: flex-grid;
    }
    .block_two{
        display: table-cell;
        vertical-align: middle;
        width: 50%;
    }
    .block_one{
        display: table-cell;
        float:left;
    }
    .form_two_container{
        display: table-cell;
          
        margin:auto;
             }
    
    .form_one_container{
        display: table-cell;
        
        margin:auto;
                   }
@media screen and (max-width: 750px) {
  .form_two_container {
    display: block;
    margin-top:30px;
    margin-bottom:20px;
    float:left;
   
  }
  .form_one_container {
    display: block;
    padding-top: 30px;
     }
  .results_header{
    display:inline-block;
    margin-right:10px;
    width:100%;
    text-align:center;
  }
  .results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}
}

@media screen and (max-width: 400px) {
  .form_two_container {
    width: 100%;
   
  }
  .form_one_container {
    width: 100%;
    
  }
}

.block_one{
    float:center;
    }

.input_row {
  display: table-row;
}

.input_column_img {
  display: table-column;
  padding-right: 5px; 
  float: left;
  width:100%;
  min-width: 50px;
}

.input_column 
  {
display: table-cell;
}

    .form_one{
        margin-right: 0px; 
    }

     .form_label {
        display:block;
        padding: 5px;
       margin-left: 10px;
       float: left;
       width:80%;
       Font-size:12px;
    }
    .form_one input[type="button"] { 
      min-width: 100px;}
    
  
    .form_two input[type="button"] { 
        min-width: 100px;
    }
    .form_one input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
      height: 28px;
  	   width: 80px;}
  
      .form_two input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
        height: 28px;
        width: 80px;}
    }
    .form-check-input {
        width: 20px;
     
    }
    .canvasHolder{
        float:left;
        position: relative;
        height: 500px; width: 400px; /*based on your canvas size*/
        
    }
  @media only screen and (max-width: 400px) {
  .canvasHolder{
              margin-left:-50px;
    }
}
    .canvas{
        position: absolute;
        top: 0; left: 0;
        }
    .tirecomparison-calculator {
        padding: 20px 5px;
        
        background: #fff;
 
        margin-left: 0px;
        margin-right: 0px;
        overflow: hidden;
    }
.table-results{
display: block;
width: 100%;
  /*
overflow-x: auto;
-webkit-overflow-scrolling: touch;*/
margin: 0 auto;
}

.tb_orgwheel {
  background-color:#FF6600;
  Color: #fff;
}
.tb_newwheel {
  background-color:#007bff;
  Color: #fff;
}

</style>
<script>
    let c = document.getElementById("canvasA");
    let d       = document.getElementById("canvasB");
    let ctx     = c.getContext("2d");
    let ctx2    = d.getContext("2d");
    let initialHeight   = 500;
    let initialWidth    = 400;
    c.width     = initialWidth;
    c.height    = initialHeight;
    d.width     = initialWidth;
    d.height    = initialHeight;

    let tireImg = new Image();
    tireImg.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/tire_PNG45.gif";
  
    let background = new Image();
    background.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/jTkeSmK.gif";

    let tireOffsetX = 200;
    let tireOffsetY = 50;

    let inches  = true;
    let enabled = true;
    let measure = true;
    let tires   = false;
    let clearance = true;
    let fendersuspension = false;
     
    var heckMeasurements = document.getElementById("checkMeasurements");
    var heckTires = document.getElementById("checkTires");
    //if enabled disable the function to draw
    function checkClearance(){
        var remember = document.getElementById("checkClearance");
        if (remember.checked){
            clearance = true;
            tireFunction();
            twoTireFunction();
        }else{
            clearance = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkFenderSuspension(){
        var remember = document.getElementById("checkFenderSuspension");
        if (remember.checked){
            fendersuspension = true;
            tireFunction();
            twoTireFunction();
        }else{
            fendersuspension = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkMeasurements(){
        if (heckMeasurements.checked){
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
            
        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkTires").checked = true;
            tires = true;
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();
        }
        else{
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();

        }
    }

    function checkTires(){
        if (heckTires.checked){
            tires = true;
            tireFunction();
            twoTireFunction();

        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkMeasurements").checked = true;
            tires = false;
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
        }
        else{
            tires = false;
            tireFunction();
            twoTireFunction();

        }
    }
function toggleMode(){
        var divsToHide = document.getElementsByClassName("advance_options"); //divsToHide is an array
        if (enabled === true){
            enabled = false;
            //hide elements
            for(var i = 0; i < divsToHide.length; i++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[i].style.display = "none"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Show More";
        }
        else if (enabled === false) {
            enabled = true;

            for(var x = 0; x < divsToHide.length; x++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[x].style.display = "block"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Hide";

        }
        tireFunction();
        twoTireFunction();
    }
 
    function processTableValues(colNum, tireHeight, tireSidewall, tiredWidth){
        document.getElementById("diameter" + colNum).textContent        = tireHeight.toFixed(2);
        document.getElementById("circumference" + colNum).textContent   = (3.14159 * tireHeight).toFixed(2);
        document.getElementById("sidewall" + colNum).textContent        = tireSidewall.toFixed(2);
        document.getElementById("width" + colNum).textContent           = (tiredWidth / 25.4).toFixed(2);
        document.getElementById("rev" + colNum).textContent             = (63360 / (3.14159 * tireHeight)).toFixed(0);
    }
    function processTableDifference(){
        document.getElementById("diameterPercentage").textContent       = ((((parseFloat(document.getElementById("diameterTwo").textContent) - parseFloat(document.getElementById("diameterOne").textContent)) / parseFloat(document.getElementById("diameterOne").textContent) * 100)) || 0).toFixed(0) + "%";
        document.getElementById("circumferencePercentage").textContent  = (((parseFloat(document.getElementById("circumferenceTwo").textContent) - parseFloat(document.getElementById("circumferenceOne").textContent)) / parseFloat(document.getElementById("circumferenceOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("sidewallPercentage").textContent       = (((parseFloat(document.getElementById("sidewallTwo").textContent) - parseFloat(document.getElementById("sidewallOne").textContent)) / parseFloat(document.getElementById("sidewallOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("widthPercentage").textContent          = (((parseFloat(document.getElementById("widthTwo").textContent) - parseFloat(document.getElementById("widthOne").textContent)) / parseFloat(document.getElementById("widthOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("revPercentage").textContent            = (parseFloat(document.getElementById("revTwo").textContent) - parseFloat(document.getElementById("revOne").textContent) || 0).toFixed(0);
    }  
    function convertTable() {
        if (inches === true) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) * 25.4).toFixed(0);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) * 25.4).toFixed(0);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) / 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) / 1.6).toFixed(0);

            document.getElementById("measure").textContent          = "Millimeters";
            inches = false;

        } else if (inches === false) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) / 25.4).toFixed(2);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) / 25.4).toFixed(2);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) * 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) * 1.6).toFixed(0);
            document.getElementById("measure").textContent          = "Inches";
            inches = true;
        }
    }
    let dimensionOffset = 0;
    let dimensionOffsetY = 51;
    function drawDimensions(canvasNum, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, strokeColor, offset){
        canvasNum.strokeStyle = strokeColor;

        //x line
        //big line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY); //top
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY); //bottom
        canvasNum.stroke();
        //x text
        canvasNum.font = "15px Helvetica";
        canvasNum.fillStyle = strokeColor;
        canvasNum.fillText(tireHeight.toFixed(1),  (tireWidth1) - fenderWidth + 15, ((midpoint1 - tireProfile) + (midpoint2 + tireProfile)) / 2 + offset);

        //top line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.stroke();

        //bottom line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();

        //y line
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.stroke();
        //y text
        canvasNum.textBaseline = "bottom";
        canvasNum.fillText((tiredWidth / 25.4).toFixed(2),  (tireWidth1 + tireWidth2) / 2 - 20 + offset  + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();
        
    }

    function drawFenderSuspension(canvasNum, newWidth, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, strokeColor){
        //draw fender line
        if (enabled === true && measure === true){
            if (tireWidth1 > newWidth){ 
            canvasNum.beginPath();
            canvasNum.setLineDash([2,3]);
            canvasNum.strokeStyle = strokeColor;
            canvasNum.moveTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            else {
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);

            canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            //draw suspension line
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);
            canvasNum.moveTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
        }
    }

    function drawClearance(canvasNum, wheelwellWidth, midpoint1, midpoint2, tireProfile, strokeColor){
        if (enabled === true && measure === true){
        //draw fender line
        canvasNum.beginPath();
        canvasNum.strokeStyle = strokeColor;
        canvasNum.moveTo(dimensionOffset + dimensionOffsetY + 80,  (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.lineTo(250 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.stroke();
        }
    }
    function drawProfile(canvasNum, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
    }
    function drawWidth(canvasNum, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();
    }

    function tireFunction() { //first set
        ctx.clearRect(0, 0, 500, 500);
        ctx.drawImage(background, 50, 50);
        let width           = document.getElementById("width").value * 12;
        let offset          = document.getElementById("offset").value / 2;
        let tireWidth       = parseInt(document.getElementById("tireWidth").value) / 4;
        let tireProfile     = parseInt(document.getElementById("tireProfile").value) * 1.1;
        let tireDiameter    = parseInt(document.getElementById("tireDiameter").value) * 12.5;
        let fenderWidth     = parseInt(document.getElementById("fenderWidth").value) || 0;
        let suspensionWidth = parseInt(document.getElementById("suspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("wheelwellWidth").value) || 0;

        let tiredWidth      = parseInt(document.getElementById("tireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("tireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("tireDiameter").value);
        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = ((((tiredWidth * (tiredProfile / 100)) * 2) + (tiredDiameter * 25.4)) / 25.4);

        processTableValues("One", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1 = (440 - tireDiameter) / 2;
        let midpoint2 = (440 + tireDiameter) / 2;

        tireProfile = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2 = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1 = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#FF6600", 0);

            //draw rect
            ctx.beginPath();
            ctx.strokeStyle    = "#FF6600";
            ctx.lineWidth      = 3;
            if (tires === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            if (enabled === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else{
            ctx.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            ctx.stroke();
            ctx.strokeStyle = "#000000";
            if (enabled === false){

            //draw lines on top and below the rectangle
            drawWidth(ctx, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

            //draw two lines connecting the tire widths to the base of the rectangle
            drawProfile(ctx, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
            ctx.strokeStyle = "#FF0000";

            //draw fender and suspension lines
            if (fendersuspension === true){
                drawFenderSuspension(ctx, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#FF0000");
            }

            if (clearance === true){
            drawClearance(ctx, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#FF0000");
            }
            }
        }

        else if (measure === false){
            ctx.beginPath();
            ctx.strokeStyle    = "#FF0000";
            ctx.lineWidth      = 3;
            ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx.stroke();
        }
    }

    function twoTireFunction() {
        ctx2.clearRect(0, 0, 500, 500);

        let width           = (document.getElementById("twoWidth").value) * 12;
        let offset          = (document.getElementById("twoOffset").value) / 2;
        let tireWidth       = (parseInt(document.getElementById("twoTireWidth").value)) / 4;
        let tireProfile     = (parseInt(document.getElementById("twoTireProfile").value)) * 1.1;
        let tireDiameter    = (parseInt(document.getElementById("twoTireDiameter").value)) * 12.5;

        let tiredWidth      = parseInt(document.getElementById("twoTireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("twoTireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("twoTireDiameter").value);
        let fenderWidth     = (parseInt(document.getElementById("twoFenderWidth").value)) || 0;
        let suspensionWidth = parseInt(document.getElementById("twoSuspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("twoWheelwellWidth").value) || 0;

        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = (((tiredWidth * (tiredProfile / 100))  * 2) + (tiredDiameter * 25.4)) / 25.4;

        processTableValues("Two", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue  = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1   = (440 - tireDiameter) / 2;
        let midpoint2   = (440 + tireDiameter) / 2;

        tireProfile     = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2  = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1  = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx2, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#007bff", 50);

            //draw rect 2
            ctx2.beginPath();
            ctx2.strokeStyle    = "#007bff";
            ctx2.lineWidth      = 2.5;
            if (enabled === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else {
                ctx2.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            if (tires === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 0.35;
                ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 1;
            }
            ctx2.stroke();
            ctx2.strokeStyle = "#000000";
            if (enabled === false){

                //draw lines on top and below the rectangle
                drawWidth(ctx2, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

                //draw two lines connecting the tire widths to the base of the rectangle
                drawProfile(ctx2, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
                ctx2.strokeStyle = "#0000FF";

                //draw fender and suspension lines
                if (fendersuspension === true){
                drawFenderSuspension(ctx2, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#0000FF");
                }

                if (clearance === true){
                    drawClearance(ctx2, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#0000FF");
                }
            }
        }

        else if (measure === true){
            ctx2.beginPath();
            ctx2.strokeStyle    = "#0000FF";
            ctx2.lineWidth      = 2.5;
            ctx2.globalAlpha    = 0.35;

            ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx2.globalAlpha    = 1;

            ctx2.stroke();
        }

    }
    // Make sure the image is loaded first otherwise nothing will draw.

    background.onload = function () {
        var allowedDomains = ['bmwstylerims.com'];
        console.log(document.domain);
        if (allowedDomains.indexOf(document.domain) == -1) {
        // Code to redirect here
        //window.location.href = "https://bmwstylerims.com"; 
        }

        toggleMode();
    };
    //https://obfuscator.io/
    //https://javascriptobfuscator.com/Javascript-Obfuscator.aspx
</script>
</body>
<h3>What is the recommended tire pressure for the BMW wheel style 514?</h3>
<p>The tire pressure for the BMW wheel style 514 will depend on your BMW model. Most BMW models like the BMW Z4 Series and the , have a recommended tire pressure of 32 PSI (2.2 Bar). However, you should always double-check this for your specific BMW model. You can find out the recommended tire pressure for your BMW, by checking the the sticker on the inside edge of the driver’s door or, check your owner’s manual if you still have the same type of tires that came with the vehicle.</p>
<p>The post <a href="https://www.bmwstylerims.com/bmw-wheel-style-514/">BMW wheel style 514</a> appeared first on <a href="https://www.bmwstylerims.com">BmwStyleRims.com</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>BMW wheel style 515</title>
		<link>https://www.bmwstylerims.com/bmw-wheel-style-515/</link>
		
		<dc:creator><![CDATA[bmwstylerims.com]]></dc:creator>
		<pubDate>Sat, 06 Nov 2021 14:56:17 +0000</pubDate>
				<category><![CDATA[All BMW Wheel Styles]]></category>
		<category><![CDATA[BMW Z4 Series]]></category>
		<category><![CDATA[BMW Z4 Series E89]]></category>
		<category><![CDATA[E89]]></category>
		<guid isPermaLink="false">https://www.bmwstylerims.com/bmw-wheel-style-515/</guid>

					<description><![CDATA[<p>The BMW wheel style 515 is part of the BMW original wheels lineup. Find out more about the style 515 BMW rims, which is standard  for the bmw Z4 E89 but might fit other models.&#8230; <a class="kt-excerpt-readmore" href="https://www.bmwstylerims.com/bmw-wheel-style-515/" aria-label="BMW wheel style 515">Read More</a></p>
<p>The post <a href="https://www.bmwstylerims.com/bmw-wheel-style-515/">BMW wheel style 515</a> appeared first on <a href="https://www.bmwstylerims.com">BmwStyleRims.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>The bmw Style wheel 515 is available in diameters of 18 inches and are staggerd wheels. This wheel is the original wheel style for the bmw series Z4 E89, however it might fit other models given the specifications match below with the replacement wheel sizes.</p>
<p><img decoding="async" class="centerimg" src="https://www.bmwstylerims.com/wp-content/uploads/2021/04/BMW-wheel-style-515.jpg" alt="BMW wheel style 515" data-skip-lazy="" /></p>
<h3><strong>BMW wheel style 515 </strong><strong>Technical Specifications &amp; Parts  </strong></h3>
<p><Table></p>
<td>Part Number</td>
<td>Part Name</td>
<td>Part Details</td>
<td>Search for Part</td>
</tr>
<tr>
<td>36111095436</td>
<td>Valve caps RDC</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36111095436 Valve caps RDC" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36116855529</td>
<td>Disc wheel, light alloy, bright-turned</td>
<td>8JX18 ET:29</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116855529 Disc wheel, light alloy, bright-turned" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36116855530</td>
<td>Disc wheel, light alloy, bright-turned</td>
<td>8,5JX18 ET:40</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116855530 Disc wheel, light alloy, bright-turned" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36136781150</td>
<td>Wheel bolt black</td>
<td>M12X1,5</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136781150 Wheel bolt black" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36136783536</td>
<td>Hub cap with chrome edge</td>
<td>BMW</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136783536 Hub cap with chrome edge" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36121116326</td>
<td>Rubber valve</td>
<td>L=42,5MM</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121116326 Rubber valve" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36146792829</td>
<td>Screw-in valve, RDC</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36146792829 Screw-in valve, RDC" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36141095389</td>
<td>Valve</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36141095389 Valve" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36121120779</td>
<td>Valve caps</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121120779 Valve caps" rel="noopener">search for part</a></td>
</tr>
</table>
<h5>BMW models for which the BMW wheel style 515 fits: E89         </h5>
<h5> </h5>
<h5></h5>
<h3>Will the BMW wheel style 515 fit on your BMW?</h3>
<p>Bear in mind that it could be dangerous to run your BMW on tires or wheels they aren&#8217;t designed to fit. If you are unsure about your current wheel specifications, please check our <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/" target="_blank" rel="noopener">BMW wheel fitment chart and guide</a></p>
<p>&nbsp;</p>
<p>Insert your existing BMW wheel and tire dimensions, and the sizes of the BMW wheel style 515, and the outcome will be shown on the diagram. The strut shown in the diagram below is for illustration purpose only.</p>
<body>
<div class="tirecomparison-calculator">   
    <div class="form_holder_cal"> 
                    <div class="form_one_container">
                        <div class="setup_old">
                            <h5 class="hclass">YOUR EXISTING SETUP</h5>
                        </div>
                        <form class="form_one">
                           <div class="input_row">
                              <div class="input_column_img">
                                 <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                              </div>
                              <div class="input_column">
                                 <label class="form_label" for="tireWidth">Width (mm)</label>
                                 <input id="tireWidth" oninput="tireFunction()" value="205" type="number" min="0" max="399">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireProfile">Profile</label>
                                <input id="tireProfile" oninput="tireFunction()" value="55" type="number" min="0" max="99">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireDiameter">Diameter (in)</label>
                                <input id="tireDiameter" oninput="tireFunction()" value="16" type="number" min="0" max="99">
                              </div>
                            </div>
                           <div class="input_row">
                            <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="offset">Offset (mm)</label>
                                <input id="offset" oninput="tireFunction()" value="40" type="number" min="-99" max="99">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="width">Width (in)</label>
                                <input id="width" oninput="tireFunction()" value="6.5" type="number" min="0" max="99">
                            </div>
                           </div>
                        </form>
                        <p class="psmall">Above values are only examples! If unsure of your current wheel size? <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/">Check here!</a> </p>
                    </div>
                    <div class="form_two_container">
                          <div class="setup_new">
                          <h5 class="hclass">YOUR NEW SETUP</h5>
                           </div>
                         <form class="form_two">
                           <div class="input_row">
                             <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireWidth">Width (mm)</label>
                                <input id="twoTireWidth" oninput="twoTireFunction()" value="235" type="number" min="0" max="399">
                                </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireProfile">Profile</label>
                                <input id="twoTireProfile" oninput="twoTireFunction()" value="40" type="number" min="0" max="99">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireDiameter">Diameter (in)</label>
                                 <input id="twoTireDiameter" oninput="twoTireFunction()" value="17" type="number" min="0" max="99">
                             </div>
                             </div>
                             <div class="input_row">
                                <div class="input_column_img">
                                    <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                                 </div>
                                 <div class="input_column">
                                     <label class="form_label" for="twoOffset">Offset (mm)</label>
                                     <input id="twoOffset" class="mm" value="20" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                 </div>
                                     <div class="input_column">
                                         <label class="form_label" for="twoWidth">Width (in)</label>
                                          <input id="twoWidth" class="ms" value="7.5" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                      </div>                          
                                </div>
                         </form>
                      <p class="psmall">Above values are only examples! Change values to view fittment.</p>
                    </div>
     
      
                    <div class="results_header">   
                     <h5 class="hclass">YOUR RESULTS</h5>
                      <p> are automatically applied below </p>
                  </div>  
               <div class="canvasHolder">
                 <canvas class="canvas" id="canvasA"></canvas>
                 <canvas class="canvas" id="canvasB"></canvas>
               </div> 
                <br>


                <div class="hide">
                    <div class="form-check">
                         <label class="lock locka" for="checkTires">
                           <input onclick="checkTires()" type="checkbox" value="" id="checkTires" checked>
                           <span>Show Tires</span>
                         </label>
                    </div>
                    <div class="form-check">
                        <label class="lock" for="checkMeasurements">
                          <input onclick="checkMeasurements()" type="checkbox" value="" id="checkMeasurements" checked>
                          <span>Show Measurements</span>
                        </label>
                    </div>
                    <div class="form-check advance_options">
                          <label class="lock lockd" for="checkClearance">
                          <input onclick="checkClearance()" type="checkbox" value="" id="checkClearance">
                          <span>Show Clearance</span>
                       </label>
                    </div>
                    <div class="form-check advance_options">
                       <label class="lock lockd" for="checkFenderSuspension">
                         <input onclick="checkFenderSuspension()" type="checkbox" value="" id="checkFenderSuspension">
                         <span>Show Fender and Suspension</span>
                       </label>
                    </div>
                
                    <input type="button" id="buttonToggle" class="example_c" value="Show More Options" onclick="toggleMode()">
                    <div class="form_three_container">
                        <form class="form_three">
                           <div class="block_one">          
                              <div class="advance_options form_one">
                                <label for="wheelwellWidth">Wheelwell Clearance (mm) </label>
                                <input id="wheelwellWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="fenderWidth">Fender Clearance (mm) </label>
                                  <input id="fenderWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="suspensionWidth">Suspension Width (mm)</label>
                                  <input id="suspensionWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="399">
                              </div>
                           </div>
                           <div class="block_two">
                              <div class="advance_options form_two">
                               </div>
                              <div class="advance_options form_two">
                                <label for="twoWheelwellWidth">New Wheelwell Clearance (mm) </label>
                                <input id="twoWheelwellWidth" oninput="twoTireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                           <div class="advance_options form_two">
                                <label for="twoFenderWidth">New Fender Clearance (mm)</label>
                                <input id="twoFenderWidth" oninput="twoTireFunction()" value="0" type="number" min="-99" max="99">
                           </div>
                           <div class="advance_options form_two">
                                <label for="twoSuspensionWidth">New Suspension Width (mm)</label>
                                <input id="twoSuspensionWidth" oninput="twoTireFunction()" value="0" type="number" min="0" max="99">
                           </div>
                          </div>
                        </form>
                    </div>
                 </div>
                   <div class="wheel_text">
                         <p>The diagram is only for show to help you visualize your tires and wheel fitment of your new setup.</p>
                         <br>
                         <p>Tire Width    - The width of your tire in millimeters. <strong>195</strong>/55ZR15</p>
                         <p>Tire Profile  - The ratio of tire wall width to tire width. 195/<strong>55</strong>ZR15</p>
                         <p>Tire Diameter - The diameter of your wheels in inches. 195/55ZR<strong>15</strong> </p>
                         <p>Offset - the distance from the center of the wheel to the mounting face in mm. ET<strong>20</strong> </p>
                         <p>Rim Width - The width of your rims in inches. <strong>7.5</strong>JX17 </p>
                   </div>
      
      
        <div class="table-results">
            <table class="table table-sm">
                <colgroup>
                    <col>
                    <col>
                    <col span="1" class="bg-light">
                    <col>
                </colgroup>
                <thead>
                    <tr>
                        <th id="measure" scope="col">Inches</th>
                        <th scope="col" class="tb_orgwheel">Original Wheel</th>
                        <th scope="col" class="tb_newwheel">New Wheel</th>
                        <th scope="col">Difference</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <th scope="row">Diameter</th>
                        <td id="diameterOne"></td>
                        <td id="diameterTwo"></td>
                        <td id="diameterPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Circumference</th>
                        <td id="circumferenceOne"></td>
                        <td id="circumferenceTwo"></td>
                        <td id="circumferencePercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Sidewall</th>
                        <td id="sidewallOne"></td>
                        <td id="sidewallTwo"></td>
                        <td id="sidewallPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Width</th>
                        <td id="widthOne"></td>
                        <td id="widthTwo"></td>
                        <td id="widthPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Wheel Revolutions</th>
                        <td id="revOne"></td>
                        <td id="revTwo"></td>
                        <td id="revPercentage"></td>
                    </tr>
                </tbody>
             </table>
                <input type="button" id="buttonConvert" value="Convert" onclick="convertTable()">
        </div>
    </div>
</div>
    

<style>
  .hide {
    display: none;
  }
  .results{
    color:white!important;
    text-align: center;
    background-color: #005a87;
    padding:5px;
  }

 .results_header{
    display:block;
    text-align: center;
    background-color: #007bff;
    margin-top:30px;    
    margin-bottom: 10px;
    margin-right:10px;
    margin-right:10px;
    max-width: 100%;
    padding:10px;
    width:100%;
    Color: #fff;
  }
.results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}


.lock {
	position:relative;
  cursor:pointer;
	height:32px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.lock input {
	display:none; 
}
.lock span:before,
.lock span:after{
	content:"";
}

.lock span:before {
	width:64px;
	height:32px;
	margin-right:8px;
	background:#EEE;
	border-radius:32px;
	display:inline-block;
	vertical-align:middle;
	transition:all .5s cubic-bezier(.175, .885, .32, 1);
}
.lock span:after {
	margin:2px;
	width:28px;
	height:28px;
	background:#FFF;
	border-radius:28px;
	position:absolute;
	left:0;
	z-index:2;
	transition:all .5s cubic-bezier(.175, .885, .32, 1); 
}
.lock input:checked + span:after {
	left:32px;
}
.lockd input:disabled + span:after{
	background: #acacac;
}
.lock input:checked + span:before {
	background-color:#006298;
}
.locka input:checked + span:before {
	background-color:#1CC691;
}
    .example_c {
        color: #fff !important;
        text-transform: uppercase;
        text-decoration: none;
        background: #006298;
        padding: 5px;
        border-radius: 5px;
        display: inline-block;
        border: none;
        transition: all 0.4s ease 0s;
    }
    .example_c:hover {
        background: black;
        letter-spacing: 1px;
        -webkit-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        -moz-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        box-shadow: 5px 40px -10px rgba(0,0,0,0.57);
        transition: all 0.4s ease 0s;
    }
    p { margin: 5px }
    .canvasHolder {
        position: relative;
    }

  /* form style*/ 
.psmall{
  font-size:small;
  padding-top:5px;
}

.hclass{
  color:#fff;
  font-weight:400;
}

  .setup_old{
    margin-right:10px;
    background-color: #FF6600;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
.setup_new{
    margin-right:0px;
    background-color: #007bff;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
    .form_holder_cal{
        background-color:#fff;
        padding-top:0px;   
        margin: 0 auto;
        max-width: 100%;
        
    } 
 
    .form_two{
        
        display: flex-grid;
    }
    .block_two{
        display: table-cell;
        vertical-align: middle;
        width: 50%;
    }
    .block_one{
        display: table-cell;
        float:left;
    }
    .form_two_container{
        display: table-cell;
          
        margin:auto;
             }
    
    .form_one_container{
        display: table-cell;
        
        margin:auto;
                   }
@media screen and (max-width: 750px) {
  .form_two_container {
    display: block;
    margin-top:30px;
    margin-bottom:20px;
    float:left;
   
  }
  .form_one_container {
    display: block;
    padding-top: 30px;
     }
  .results_header{
    display:inline-block;
    margin-right:10px;
    width:100%;
    text-align:center;
  }
  .results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}
}

@media screen and (max-width: 400px) {
  .form_two_container {
    width: 100%;
   
  }
  .form_one_container {
    width: 100%;
    
  }
}

.block_one{
    float:center;
    }

.input_row {
  display: table-row;
}

.input_column_img {
  display: table-column;
  padding-right: 5px; 
  float: left;
  width:100%;
  min-width: 50px;
}

.input_column 
  {
display: table-cell;
}

    .form_one{
        margin-right: 0px; 
    }

     .form_label {
        display:block;
        padding: 5px;
       margin-left: 10px;
       float: left;
       width:80%;
       Font-size:12px;
    }
    .form_one input[type="button"] { 
      min-width: 100px;}
    
  
    .form_two input[type="button"] { 
        min-width: 100px;
    }
    .form_one input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
      height: 28px;
  	   width: 80px;}
  
      .form_two input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
        height: 28px;
        width: 80px;}
    }
    .form-check-input {
        width: 20px;
     
    }
    .canvasHolder{
        float:left;
        position: relative;
        height: 500px; width: 400px; /*based on your canvas size*/
        
    }
  @media only screen and (max-width: 400px) {
  .canvasHolder{
              margin-left:-50px;
    }
}
    .canvas{
        position: absolute;
        top: 0; left: 0;
        }
    .tirecomparison-calculator {
        padding: 20px 5px;
        
        background: #fff;
 
        margin-left: 0px;
        margin-right: 0px;
        overflow: hidden;
    }
.table-results{
display: block;
width: 100%;
  /*
overflow-x: auto;
-webkit-overflow-scrolling: touch;*/
margin: 0 auto;
}

.tb_orgwheel {
  background-color:#FF6600;
  Color: #fff;
}
.tb_newwheel {
  background-color:#007bff;
  Color: #fff;
}

</style>
<script>
    let c = document.getElementById("canvasA");
    let d       = document.getElementById("canvasB");
    let ctx     = c.getContext("2d");
    let ctx2    = d.getContext("2d");
    let initialHeight   = 500;
    let initialWidth    = 400;
    c.width     = initialWidth;
    c.height    = initialHeight;
    d.width     = initialWidth;
    d.height    = initialHeight;

    let tireImg = new Image();
    tireImg.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/tire_PNG45.gif";
  
    let background = new Image();
    background.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/jTkeSmK.gif";

    let tireOffsetX = 200;
    let tireOffsetY = 50;

    let inches  = true;
    let enabled = true;
    let measure = true;
    let tires   = false;
    let clearance = true;
    let fendersuspension = false;
     
    var heckMeasurements = document.getElementById("checkMeasurements");
    var heckTires = document.getElementById("checkTires");
    //if enabled disable the function to draw
    function checkClearance(){
        var remember = document.getElementById("checkClearance");
        if (remember.checked){
            clearance = true;
            tireFunction();
            twoTireFunction();
        }else{
            clearance = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkFenderSuspension(){
        var remember = document.getElementById("checkFenderSuspension");
        if (remember.checked){
            fendersuspension = true;
            tireFunction();
            twoTireFunction();
        }else{
            fendersuspension = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkMeasurements(){
        if (heckMeasurements.checked){
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
            
        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkTires").checked = true;
            tires = true;
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();
        }
        else{
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();

        }
    }

    function checkTires(){
        if (heckTires.checked){
            tires = true;
            tireFunction();
            twoTireFunction();

        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkMeasurements").checked = true;
            tires = false;
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
        }
        else{
            tires = false;
            tireFunction();
            twoTireFunction();

        }
    }
function toggleMode(){
        var divsToHide = document.getElementsByClassName("advance_options"); //divsToHide is an array
        if (enabled === true){
            enabled = false;
            //hide elements
            for(var i = 0; i < divsToHide.length; i++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[i].style.display = "none"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Show More";
        }
        else if (enabled === false) {
            enabled = true;

            for(var x = 0; x < divsToHide.length; x++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[x].style.display = "block"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Hide";

        }
        tireFunction();
        twoTireFunction();
    }
 
    function processTableValues(colNum, tireHeight, tireSidewall, tiredWidth){
        document.getElementById("diameter" + colNum).textContent        = tireHeight.toFixed(2);
        document.getElementById("circumference" + colNum).textContent   = (3.14159 * tireHeight).toFixed(2);
        document.getElementById("sidewall" + colNum).textContent        = tireSidewall.toFixed(2);
        document.getElementById("width" + colNum).textContent           = (tiredWidth / 25.4).toFixed(2);
        document.getElementById("rev" + colNum).textContent             = (63360 / (3.14159 * tireHeight)).toFixed(0);
    }
    function processTableDifference(){
        document.getElementById("diameterPercentage").textContent       = ((((parseFloat(document.getElementById("diameterTwo").textContent) - parseFloat(document.getElementById("diameterOne").textContent)) / parseFloat(document.getElementById("diameterOne").textContent) * 100)) || 0).toFixed(0) + "%";
        document.getElementById("circumferencePercentage").textContent  = (((parseFloat(document.getElementById("circumferenceTwo").textContent) - parseFloat(document.getElementById("circumferenceOne").textContent)) / parseFloat(document.getElementById("circumferenceOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("sidewallPercentage").textContent       = (((parseFloat(document.getElementById("sidewallTwo").textContent) - parseFloat(document.getElementById("sidewallOne").textContent)) / parseFloat(document.getElementById("sidewallOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("widthPercentage").textContent          = (((parseFloat(document.getElementById("widthTwo").textContent) - parseFloat(document.getElementById("widthOne").textContent)) / parseFloat(document.getElementById("widthOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("revPercentage").textContent            = (parseFloat(document.getElementById("revTwo").textContent) - parseFloat(document.getElementById("revOne").textContent) || 0).toFixed(0);
    }  
    function convertTable() {
        if (inches === true) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) * 25.4).toFixed(0);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) * 25.4).toFixed(0);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) / 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) / 1.6).toFixed(0);

            document.getElementById("measure").textContent          = "Millimeters";
            inches = false;

        } else if (inches === false) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) / 25.4).toFixed(2);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) / 25.4).toFixed(2);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) * 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) * 1.6).toFixed(0);
            document.getElementById("measure").textContent          = "Inches";
            inches = true;
        }
    }
    let dimensionOffset = 0;
    let dimensionOffsetY = 51;
    function drawDimensions(canvasNum, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, strokeColor, offset){
        canvasNum.strokeStyle = strokeColor;

        //x line
        //big line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY); //top
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY); //bottom
        canvasNum.stroke();
        //x text
        canvasNum.font = "15px Helvetica";
        canvasNum.fillStyle = strokeColor;
        canvasNum.fillText(tireHeight.toFixed(1),  (tireWidth1) - fenderWidth + 15, ((midpoint1 - tireProfile) + (midpoint2 + tireProfile)) / 2 + offset);

        //top line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.stroke();

        //bottom line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();

        //y line
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.stroke();
        //y text
        canvasNum.textBaseline = "bottom";
        canvasNum.fillText((tiredWidth / 25.4).toFixed(2),  (tireWidth1 + tireWidth2) / 2 - 20 + offset  + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();
        
    }

    function drawFenderSuspension(canvasNum, newWidth, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, strokeColor){
        //draw fender line
        if (enabled === true && measure === true){
            if (tireWidth1 > newWidth){ 
            canvasNum.beginPath();
            canvasNum.setLineDash([2,3]);
            canvasNum.strokeStyle = strokeColor;
            canvasNum.moveTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            else {
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);

            canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            //draw suspension line
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);
            canvasNum.moveTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
        }
    }

    function drawClearance(canvasNum, wheelwellWidth, midpoint1, midpoint2, tireProfile, strokeColor){
        if (enabled === true && measure === true){
        //draw fender line
        canvasNum.beginPath();
        canvasNum.strokeStyle = strokeColor;
        canvasNum.moveTo(dimensionOffset + dimensionOffsetY + 80,  (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.lineTo(250 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.stroke();
        }
    }
    function drawProfile(canvasNum, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
    }
    function drawWidth(canvasNum, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();
    }

    function tireFunction() { //first set
        ctx.clearRect(0, 0, 500, 500);
        ctx.drawImage(background, 50, 50);
        let width           = document.getElementById("width").value * 12;
        let offset          = document.getElementById("offset").value / 2;
        let tireWidth       = parseInt(document.getElementById("tireWidth").value) / 4;
        let tireProfile     = parseInt(document.getElementById("tireProfile").value) * 1.1;
        let tireDiameter    = parseInt(document.getElementById("tireDiameter").value) * 12.5;
        let fenderWidth     = parseInt(document.getElementById("fenderWidth").value) || 0;
        let suspensionWidth = parseInt(document.getElementById("suspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("wheelwellWidth").value) || 0;

        let tiredWidth      = parseInt(document.getElementById("tireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("tireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("tireDiameter").value);
        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = ((((tiredWidth * (tiredProfile / 100)) * 2) + (tiredDiameter * 25.4)) / 25.4);

        processTableValues("One", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1 = (440 - tireDiameter) / 2;
        let midpoint2 = (440 + tireDiameter) / 2;

        tireProfile = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2 = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1 = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#FF6600", 0);

            //draw rect
            ctx.beginPath();
            ctx.strokeStyle    = "#FF6600";
            ctx.lineWidth      = 3;
            if (tires === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            if (enabled === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else{
            ctx.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            ctx.stroke();
            ctx.strokeStyle = "#000000";
            if (enabled === false){

            //draw lines on top and below the rectangle
            drawWidth(ctx, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

            //draw two lines connecting the tire widths to the base of the rectangle
            drawProfile(ctx, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
            ctx.strokeStyle = "#FF0000";

            //draw fender and suspension lines
            if (fendersuspension === true){
                drawFenderSuspension(ctx, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#FF0000");
            }

            if (clearance === true){
            drawClearance(ctx, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#FF0000");
            }
            }
        }

        else if (measure === false){
            ctx.beginPath();
            ctx.strokeStyle    = "#FF0000";
            ctx.lineWidth      = 3;
            ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx.stroke();
        }
    }

    function twoTireFunction() {
        ctx2.clearRect(0, 0, 500, 500);

        let width           = (document.getElementById("twoWidth").value) * 12;
        let offset          = (document.getElementById("twoOffset").value) / 2;
        let tireWidth       = (parseInt(document.getElementById("twoTireWidth").value)) / 4;
        let tireProfile     = (parseInt(document.getElementById("twoTireProfile").value)) * 1.1;
        let tireDiameter    = (parseInt(document.getElementById("twoTireDiameter").value)) * 12.5;

        let tiredWidth      = parseInt(document.getElementById("twoTireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("twoTireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("twoTireDiameter").value);
        let fenderWidth     = (parseInt(document.getElementById("twoFenderWidth").value)) || 0;
        let suspensionWidth = parseInt(document.getElementById("twoSuspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("twoWheelwellWidth").value) || 0;

        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = (((tiredWidth * (tiredProfile / 100))  * 2) + (tiredDiameter * 25.4)) / 25.4;

        processTableValues("Two", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue  = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1   = (440 - tireDiameter) / 2;
        let midpoint2   = (440 + tireDiameter) / 2;

        tireProfile     = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2  = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1  = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx2, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#007bff", 50);

            //draw rect 2
            ctx2.beginPath();
            ctx2.strokeStyle    = "#007bff";
            ctx2.lineWidth      = 2.5;
            if (enabled === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else {
                ctx2.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            if (tires === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 0.35;
                ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 1;
            }
            ctx2.stroke();
            ctx2.strokeStyle = "#000000";
            if (enabled === false){

                //draw lines on top and below the rectangle
                drawWidth(ctx2, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

                //draw two lines connecting the tire widths to the base of the rectangle
                drawProfile(ctx2, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
                ctx2.strokeStyle = "#0000FF";

                //draw fender and suspension lines
                if (fendersuspension === true){
                drawFenderSuspension(ctx2, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#0000FF");
                }

                if (clearance === true){
                    drawClearance(ctx2, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#0000FF");
                }
            }
        }

        else if (measure === true){
            ctx2.beginPath();
            ctx2.strokeStyle    = "#0000FF";
            ctx2.lineWidth      = 2.5;
            ctx2.globalAlpha    = 0.35;

            ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx2.globalAlpha    = 1;

            ctx2.stroke();
        }

    }
    // Make sure the image is loaded first otherwise nothing will draw.

    background.onload = function () {
        var allowedDomains = ['bmwstylerims.com'];
        console.log(document.domain);
        if (allowedDomains.indexOf(document.domain) == -1) {
        // Code to redirect here
        //window.location.href = "https://bmwstylerims.com"; 
        }

        toggleMode();
    };
    //https://obfuscator.io/
    //https://javascriptobfuscator.com/Javascript-Obfuscator.aspx
</script>
</body>
<h3>What is the recommended tire pressure for the BMW wheel style 515?</h3>
<p>The tire pressure for the BMW wheel style 515 will depend on your BMW model. Most BMW models like the BMW Z4 Series and the , have a recommended tire pressure of 32 PSI (2.2 Bar). However, you should always double-check this for your specific BMW model. You can find out the recommended tire pressure for your BMW, by checking the the sticker on the inside edge of the driver’s door or, check your owner’s manual if you still have the same type of tires that came with the vehicle.</p>
<p>The post <a href="https://www.bmwstylerims.com/bmw-wheel-style-515/">BMW wheel style 515</a> appeared first on <a href="https://www.bmwstylerims.com">BmwStyleRims.com</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>BMW wheel style 325</title>
		<link>https://www.bmwstylerims.com/bmw-wheel-style-325/</link>
		
		<dc:creator><![CDATA[bmwstylerims.com]]></dc:creator>
		<pubDate>Sat, 06 Nov 2021 14:51:39 +0000</pubDate>
				<category><![CDATA[All BMW Wheel Styles]]></category>
		<category><![CDATA[BMW M Series Wheels]]></category>
		<category><![CDATA[BMW Z4 Series]]></category>
		<category><![CDATA[BMW Z4 Series E89]]></category>
		<category><![CDATA[E89]]></category>
		<guid isPermaLink="false">https://www.bmwstylerims.com/bmw-wheel-style-325/</guid>

					<description><![CDATA[<p>The BMW wheel style 325 is part of the BMW original wheels lineup. Find out more about the style 325 BMW rims, which is standard for the bmw E89, but might fit other models.&#8230; <a class="kt-excerpt-readmore" href="https://www.bmwstylerims.com/bmw-wheel-style-325/" aria-label="BMW wheel style 325">Read More</a></p>
<p>The post <a href="https://www.bmwstylerims.com/bmw-wheel-style-325/">BMW wheel style 325</a> appeared first on <a href="https://www.bmwstylerims.com">BmwStyleRims.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>The BMW wheel style 325 is part of bmw&#8217;s lineup of original wheel styles.<br />
 The bmw Style 325 wheel is available in diameters of 18&#8243; inches, with a bolt pattern of 5&#215;120.<br />
 This rare rim is the original wheel style for the bmw series E89, however it might fit other models given the specifications match below with the replacement wheel.The style given to this wheel is best described as M-Star Spoke.</p>
<p><img decoding="async" class="centerimg" src="https://www.bmwstylerims.com/wp-content/uploads/2021/04/BMW-wheel-style-325.jpg" alt="BMW wheel style 325" data-skip-lazy="" /></p>
<h3><strong>BMW wheel style 325 </strong><strong>Technical Specifications &amp; Parts  </strong></h3>
<p><Table></p>
<td>Part Number</td>
<td>Part Name</td>
<td>Part Details</td>
<td>Search for Part</td>
</tr>
<tr>
<td>36117842133</td>
<td>Light alloy rim</td>
<td>8JX18 ET:29</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36117842133 Light alloy rim" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36117842134</td>
<td>Light alloy rim</td>
<td>8,5JX18 ET:40</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36117842134 Light alloy rim" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36136781150</td>
<td>Wheel bolt black</td>
<td>M12X1,5</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136781150 Wheel bolt black" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36136783536</td>
<td>Hub cap with chrome edge</td>
<td>BMW</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136783536 Hub cap with chrome edge" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36121178869</td>
<td>Rubber valve</td>
<td>L=48,5MM</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121178869 Rubber valve" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36121116326</td>
<td>Rubber valve</td>
<td>L=42,5MM</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121116326 Rubber valve" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36146792829</td>
<td>Screw-in valve, RDC</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36146792829 Screw-in valve, RDC" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36141095389</td>
<td>Valve</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36141095389 Valve" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36121120779</td>
<td>Valve caps</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121120779 Valve caps" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36111095436</td>
<td>Valve caps RDC</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36111095436 Valve caps RDC" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36112228660</td>
<td>M badge</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36112228660 M badge" rel="noopener">search for part</a></td>
</tr>
</table>
<h5>BMW models for which the BMW wheel style 325 fits: E89         </h5>
<h5> </h5>
<h5></h5>
<h3>Will the BMW wheel style 325 fit on your BMW?</h3>
<p>Bear in mind that it could be dangerous to run your BMW on tires or wheels they aren&#8217;t designed to fit. If you are unsure about your current wheel specifications, please check our <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/" target="_blank" rel="noopener">BMW wheel fitment chart and guide</a></p>
<p>&nbsp;</p>
<p>Insert your existing BMW wheel and tire dimensions, and the sizes of the BMW wheel style 325, and the outcome will be shown on the diagram. The strut shown in the diagram below is for illustration purpose only.</p>
<body>
<div class="tirecomparison-calculator">   
    <div class="form_holder_cal"> 
                    <div class="form_one_container">
                        <div class="setup_old">
                            <h5 class="hclass">YOUR EXISTING SETUP</h5>
                        </div>
                        <form class="form_one">
                           <div class="input_row">
                              <div class="input_column_img">
                                 <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                              </div>
                              <div class="input_column">
                                 <label class="form_label" for="tireWidth">Width (mm)</label>
                                 <input id="tireWidth" oninput="tireFunction()" value="205" type="number" min="0" max="399">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireProfile">Profile</label>
                                <input id="tireProfile" oninput="tireFunction()" value="55" type="number" min="0" max="99">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireDiameter">Diameter (in)</label>
                                <input id="tireDiameter" oninput="tireFunction()" value="16" type="number" min="0" max="99">
                              </div>
                            </div>
                           <div class="input_row">
                            <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="offset">Offset (mm)</label>
                                <input id="offset" oninput="tireFunction()" value="40" type="number" min="-99" max="99">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="width">Width (in)</label>
                                <input id="width" oninput="tireFunction()" value="6.5" type="number" min="0" max="99">
                            </div>
                           </div>
                        </form>
                        <p class="psmall">Above values are only examples! If unsure of your current wheel size? <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/">Check here!</a> </p>
                    </div>
                    <div class="form_two_container">
                          <div class="setup_new">
                          <h5 class="hclass">YOUR NEW SETUP</h5>
                           </div>
                         <form class="form_two">
                           <div class="input_row">
                             <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireWidth">Width (mm)</label>
                                <input id="twoTireWidth" oninput="twoTireFunction()" value="235" type="number" min="0" max="399">
                                </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireProfile">Profile</label>
                                <input id="twoTireProfile" oninput="twoTireFunction()" value="40" type="number" min="0" max="99">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireDiameter">Diameter (in)</label>
                                 <input id="twoTireDiameter" oninput="twoTireFunction()" value="17" type="number" min="0" max="99">
                             </div>
                             </div>
                             <div class="input_row">
                                <div class="input_column_img">
                                    <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                                 </div>
                                 <div class="input_column">
                                     <label class="form_label" for="twoOffset">Offset (mm)</label>
                                     <input id="twoOffset" class="mm" value="20" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                 </div>
                                     <div class="input_column">
                                         <label class="form_label" for="twoWidth">Width (in)</label>
                                          <input id="twoWidth" class="ms" value="7.5" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                      </div>                          
                                </div>
                         </form>
                      <p class="psmall">Above values are only examples! Change values to view fittment.</p>
                    </div>
     
      
                    <div class="results_header">   
                     <h5 class="hclass">YOUR RESULTS</h5>
                      <p> are automatically applied below </p>
                  </div>  
               <div class="canvasHolder">
                 <canvas class="canvas" id="canvasA"></canvas>
                 <canvas class="canvas" id="canvasB"></canvas>
               </div> 
                <br>


                <div class="hide">
                    <div class="form-check">
                         <label class="lock locka" for="checkTires">
                           <input onclick="checkTires()" type="checkbox" value="" id="checkTires" checked>
                           <span>Show Tires</span>
                         </label>
                    </div>
                    <div class="form-check">
                        <label class="lock" for="checkMeasurements">
                          <input onclick="checkMeasurements()" type="checkbox" value="" id="checkMeasurements" checked>
                          <span>Show Measurements</span>
                        </label>
                    </div>
                    <div class="form-check advance_options">
                          <label class="lock lockd" for="checkClearance">
                          <input onclick="checkClearance()" type="checkbox" value="" id="checkClearance">
                          <span>Show Clearance</span>
                       </label>
                    </div>
                    <div class="form-check advance_options">
                       <label class="lock lockd" for="checkFenderSuspension">
                         <input onclick="checkFenderSuspension()" type="checkbox" value="" id="checkFenderSuspension">
                         <span>Show Fender and Suspension</span>
                       </label>
                    </div>
                
                    <input type="button" id="buttonToggle" class="example_c" value="Show More Options" onclick="toggleMode()">
                    <div class="form_three_container">
                        <form class="form_three">
                           <div class="block_one">          
                              <div class="advance_options form_one">
                                <label for="wheelwellWidth">Wheelwell Clearance (mm) </label>
                                <input id="wheelwellWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="fenderWidth">Fender Clearance (mm) </label>
                                  <input id="fenderWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="suspensionWidth">Suspension Width (mm)</label>
                                  <input id="suspensionWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="399">
                              </div>
                           </div>
                           <div class="block_two">
                              <div class="advance_options form_two">
                               </div>
                              <div class="advance_options form_two">
                                <label for="twoWheelwellWidth">New Wheelwell Clearance (mm) </label>
                                <input id="twoWheelwellWidth" oninput="twoTireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                           <div class="advance_options form_two">
                                <label for="twoFenderWidth">New Fender Clearance (mm)</label>
                                <input id="twoFenderWidth" oninput="twoTireFunction()" value="0" type="number" min="-99" max="99">
                           </div>
                           <div class="advance_options form_two">
                                <label for="twoSuspensionWidth">New Suspension Width (mm)</label>
                                <input id="twoSuspensionWidth" oninput="twoTireFunction()" value="0" type="number" min="0" max="99">
                           </div>
                          </div>
                        </form>
                    </div>
                 </div>
                   <div class="wheel_text">
                         <p>The diagram is only for show to help you visualize your tires and wheel fitment of your new setup.</p>
                         <br>
                         <p>Tire Width    - The width of your tire in millimeters. <strong>195</strong>/55ZR15</p>
                         <p>Tire Profile  - The ratio of tire wall width to tire width. 195/<strong>55</strong>ZR15</p>
                         <p>Tire Diameter - The diameter of your wheels in inches. 195/55ZR<strong>15</strong> </p>
                         <p>Offset - the distance from the center of the wheel to the mounting face in mm. ET<strong>20</strong> </p>
                         <p>Rim Width - The width of your rims in inches. <strong>7.5</strong>JX17 </p>
                   </div>
      
      
        <div class="table-results">
            <table class="table table-sm">
                <colgroup>
                    <col>
                    <col>
                    <col span="1" class="bg-light">
                    <col>
                </colgroup>
                <thead>
                    <tr>
                        <th id="measure" scope="col">Inches</th>
                        <th scope="col" class="tb_orgwheel">Original Wheel</th>
                        <th scope="col" class="tb_newwheel">New Wheel</th>
                        <th scope="col">Difference</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <th scope="row">Diameter</th>
                        <td id="diameterOne"></td>
                        <td id="diameterTwo"></td>
                        <td id="diameterPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Circumference</th>
                        <td id="circumferenceOne"></td>
                        <td id="circumferenceTwo"></td>
                        <td id="circumferencePercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Sidewall</th>
                        <td id="sidewallOne"></td>
                        <td id="sidewallTwo"></td>
                        <td id="sidewallPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Width</th>
                        <td id="widthOne"></td>
                        <td id="widthTwo"></td>
                        <td id="widthPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Wheel Revolutions</th>
                        <td id="revOne"></td>
                        <td id="revTwo"></td>
                        <td id="revPercentage"></td>
                    </tr>
                </tbody>
             </table>
                <input type="button" id="buttonConvert" value="Convert" onclick="convertTable()">
        </div>
    </div>
</div>
    

<style>
  .hide {
    display: none;
  }
  .results{
    color:white!important;
    text-align: center;
    background-color: #005a87;
    padding:5px;
  }

 .results_header{
    display:block;
    text-align: center;
    background-color: #007bff;
    margin-top:30px;    
    margin-bottom: 10px;
    margin-right:10px;
    margin-right:10px;
    max-width: 100%;
    padding:10px;
    width:100%;
    Color: #fff;
  }
.results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}


.lock {
	position:relative;
  cursor:pointer;
	height:32px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.lock input {
	display:none; 
}
.lock span:before,
.lock span:after{
	content:"";
}

.lock span:before {
	width:64px;
	height:32px;
	margin-right:8px;
	background:#EEE;
	border-radius:32px;
	display:inline-block;
	vertical-align:middle;
	transition:all .5s cubic-bezier(.175, .885, .32, 1);
}
.lock span:after {
	margin:2px;
	width:28px;
	height:28px;
	background:#FFF;
	border-radius:28px;
	position:absolute;
	left:0;
	z-index:2;
	transition:all .5s cubic-bezier(.175, .885, .32, 1); 
}
.lock input:checked + span:after {
	left:32px;
}
.lockd input:disabled + span:after{
	background: #acacac;
}
.lock input:checked + span:before {
	background-color:#006298;
}
.locka input:checked + span:before {
	background-color:#1CC691;
}
    .example_c {
        color: #fff !important;
        text-transform: uppercase;
        text-decoration: none;
        background: #006298;
        padding: 5px;
        border-radius: 5px;
        display: inline-block;
        border: none;
        transition: all 0.4s ease 0s;
    }
    .example_c:hover {
        background: black;
        letter-spacing: 1px;
        -webkit-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        -moz-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        box-shadow: 5px 40px -10px rgba(0,0,0,0.57);
        transition: all 0.4s ease 0s;
    }
    p { margin: 5px }
    .canvasHolder {
        position: relative;
    }

  /* form style*/ 
.psmall{
  font-size:small;
  padding-top:5px;
}

.hclass{
  color:#fff;
  font-weight:400;
}

  .setup_old{
    margin-right:10px;
    background-color: #FF6600;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
.setup_new{
    margin-right:0px;
    background-color: #007bff;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
    .form_holder_cal{
        background-color:#fff;
        padding-top:0px;   
        margin: 0 auto;
        max-width: 100%;
        
    } 
 
    .form_two{
        
        display: flex-grid;
    }
    .block_two{
        display: table-cell;
        vertical-align: middle;
        width: 50%;
    }
    .block_one{
        display: table-cell;
        float:left;
    }
    .form_two_container{
        display: table-cell;
          
        margin:auto;
             }
    
    .form_one_container{
        display: table-cell;
        
        margin:auto;
                   }
@media screen and (max-width: 750px) {
  .form_two_container {
    display: block;
    margin-top:30px;
    margin-bottom:20px;
    float:left;
   
  }
  .form_one_container {
    display: block;
    padding-top: 30px;
     }
  .results_header{
    display:inline-block;
    margin-right:10px;
    width:100%;
    text-align:center;
  }
  .results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}
}

@media screen and (max-width: 400px) {
  .form_two_container {
    width: 100%;
   
  }
  .form_one_container {
    width: 100%;
    
  }
}

.block_one{
    float:center;
    }

.input_row {
  display: table-row;
}

.input_column_img {
  display: table-column;
  padding-right: 5px; 
  float: left;
  width:100%;
  min-width: 50px;
}

.input_column 
  {
display: table-cell;
}

    .form_one{
        margin-right: 0px; 
    }

     .form_label {
        display:block;
        padding: 5px;
       margin-left: 10px;
       float: left;
       width:80%;
       Font-size:12px;
    }
    .form_one input[type="button"] { 
      min-width: 100px;}
    
  
    .form_two input[type="button"] { 
        min-width: 100px;
    }
    .form_one input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
      height: 28px;
  	   width: 80px;}
  
      .form_two input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
        height: 28px;
        width: 80px;}
    }
    .form-check-input {
        width: 20px;
     
    }
    .canvasHolder{
        float:left;
        position: relative;
        height: 500px; width: 400px; /*based on your canvas size*/
        
    }
  @media only screen and (max-width: 400px) {
  .canvasHolder{
              margin-left:-50px;
    }
}
    .canvas{
        position: absolute;
        top: 0; left: 0;
        }
    .tirecomparison-calculator {
        padding: 20px 5px;
        
        background: #fff;
 
        margin-left: 0px;
        margin-right: 0px;
        overflow: hidden;
    }
.table-results{
display: block;
width: 100%;
  /*
overflow-x: auto;
-webkit-overflow-scrolling: touch;*/
margin: 0 auto;
}

.tb_orgwheel {
  background-color:#FF6600;
  Color: #fff;
}
.tb_newwheel {
  background-color:#007bff;
  Color: #fff;
}

</style>
<script>
    let c = document.getElementById("canvasA");
    let d       = document.getElementById("canvasB");
    let ctx     = c.getContext("2d");
    let ctx2    = d.getContext("2d");
    let initialHeight   = 500;
    let initialWidth    = 400;
    c.width     = initialWidth;
    c.height    = initialHeight;
    d.width     = initialWidth;
    d.height    = initialHeight;

    let tireImg = new Image();
    tireImg.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/tire_PNG45.gif";
  
    let background = new Image();
    background.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/jTkeSmK.gif";

    let tireOffsetX = 200;
    let tireOffsetY = 50;

    let inches  = true;
    let enabled = true;
    let measure = true;
    let tires   = false;
    let clearance = true;
    let fendersuspension = false;
     
    var heckMeasurements = document.getElementById("checkMeasurements");
    var heckTires = document.getElementById("checkTires");
    //if enabled disable the function to draw
    function checkClearance(){
        var remember = document.getElementById("checkClearance");
        if (remember.checked){
            clearance = true;
            tireFunction();
            twoTireFunction();
        }else{
            clearance = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkFenderSuspension(){
        var remember = document.getElementById("checkFenderSuspension");
        if (remember.checked){
            fendersuspension = true;
            tireFunction();
            twoTireFunction();
        }else{
            fendersuspension = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkMeasurements(){
        if (heckMeasurements.checked){
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
            
        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkTires").checked = true;
            tires = true;
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();
        }
        else{
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();

        }
    }

    function checkTires(){
        if (heckTires.checked){
            tires = true;
            tireFunction();
            twoTireFunction();

        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkMeasurements").checked = true;
            tires = false;
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
        }
        else{
            tires = false;
            tireFunction();
            twoTireFunction();

        }
    }
function toggleMode(){
        var divsToHide = document.getElementsByClassName("advance_options"); //divsToHide is an array
        if (enabled === true){
            enabled = false;
            //hide elements
            for(var i = 0; i < divsToHide.length; i++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[i].style.display = "none"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Show More";
        }
        else if (enabled === false) {
            enabled = true;

            for(var x = 0; x < divsToHide.length; x++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[x].style.display = "block"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Hide";

        }
        tireFunction();
        twoTireFunction();
    }
 
    function processTableValues(colNum, tireHeight, tireSidewall, tiredWidth){
        document.getElementById("diameter" + colNum).textContent        = tireHeight.toFixed(2);
        document.getElementById("circumference" + colNum).textContent   = (3.14159 * tireHeight).toFixed(2);
        document.getElementById("sidewall" + colNum).textContent        = tireSidewall.toFixed(2);
        document.getElementById("width" + colNum).textContent           = (tiredWidth / 25.4).toFixed(2);
        document.getElementById("rev" + colNum).textContent             = (63360 / (3.14159 * tireHeight)).toFixed(0);
    }
    function processTableDifference(){
        document.getElementById("diameterPercentage").textContent       = ((((parseFloat(document.getElementById("diameterTwo").textContent) - parseFloat(document.getElementById("diameterOne").textContent)) / parseFloat(document.getElementById("diameterOne").textContent) * 100)) || 0).toFixed(0) + "%";
        document.getElementById("circumferencePercentage").textContent  = (((parseFloat(document.getElementById("circumferenceTwo").textContent) - parseFloat(document.getElementById("circumferenceOne").textContent)) / parseFloat(document.getElementById("circumferenceOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("sidewallPercentage").textContent       = (((parseFloat(document.getElementById("sidewallTwo").textContent) - parseFloat(document.getElementById("sidewallOne").textContent)) / parseFloat(document.getElementById("sidewallOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("widthPercentage").textContent          = (((parseFloat(document.getElementById("widthTwo").textContent) - parseFloat(document.getElementById("widthOne").textContent)) / parseFloat(document.getElementById("widthOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("revPercentage").textContent            = (parseFloat(document.getElementById("revTwo").textContent) - parseFloat(document.getElementById("revOne").textContent) || 0).toFixed(0);
    }  
    function convertTable() {
        if (inches === true) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) * 25.4).toFixed(0);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) * 25.4).toFixed(0);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) / 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) / 1.6).toFixed(0);

            document.getElementById("measure").textContent          = "Millimeters";
            inches = false;

        } else if (inches === false) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) / 25.4).toFixed(2);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) / 25.4).toFixed(2);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) * 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) * 1.6).toFixed(0);
            document.getElementById("measure").textContent          = "Inches";
            inches = true;
        }
    }
    let dimensionOffset = 0;
    let dimensionOffsetY = 51;
    function drawDimensions(canvasNum, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, strokeColor, offset){
        canvasNum.strokeStyle = strokeColor;

        //x line
        //big line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY); //top
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY); //bottom
        canvasNum.stroke();
        //x text
        canvasNum.font = "15px Helvetica";
        canvasNum.fillStyle = strokeColor;
        canvasNum.fillText(tireHeight.toFixed(1),  (tireWidth1) - fenderWidth + 15, ((midpoint1 - tireProfile) + (midpoint2 + tireProfile)) / 2 + offset);

        //top line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.stroke();

        //bottom line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();

        //y line
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.stroke();
        //y text
        canvasNum.textBaseline = "bottom";
        canvasNum.fillText((tiredWidth / 25.4).toFixed(2),  (tireWidth1 + tireWidth2) / 2 - 20 + offset  + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();
        
    }

    function drawFenderSuspension(canvasNum, newWidth, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, strokeColor){
        //draw fender line
        if (enabled === true && measure === true){
            if (tireWidth1 > newWidth){ 
            canvasNum.beginPath();
            canvasNum.setLineDash([2,3]);
            canvasNum.strokeStyle = strokeColor;
            canvasNum.moveTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            else {
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);

            canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            //draw suspension line
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);
            canvasNum.moveTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
        }
    }

    function drawClearance(canvasNum, wheelwellWidth, midpoint1, midpoint2, tireProfile, strokeColor){
        if (enabled === true && measure === true){
        //draw fender line
        canvasNum.beginPath();
        canvasNum.strokeStyle = strokeColor;
        canvasNum.moveTo(dimensionOffset + dimensionOffsetY + 80,  (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.lineTo(250 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.stroke();
        }
    }
    function drawProfile(canvasNum, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
    }
    function drawWidth(canvasNum, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();
    }

    function tireFunction() { //first set
        ctx.clearRect(0, 0, 500, 500);
        ctx.drawImage(background, 50, 50);
        let width           = document.getElementById("width").value * 12;
        let offset          = document.getElementById("offset").value / 2;
        let tireWidth       = parseInt(document.getElementById("tireWidth").value) / 4;
        let tireProfile     = parseInt(document.getElementById("tireProfile").value) * 1.1;
        let tireDiameter    = parseInt(document.getElementById("tireDiameter").value) * 12.5;
        let fenderWidth     = parseInt(document.getElementById("fenderWidth").value) || 0;
        let suspensionWidth = parseInt(document.getElementById("suspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("wheelwellWidth").value) || 0;

        let tiredWidth      = parseInt(document.getElementById("tireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("tireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("tireDiameter").value);
        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = ((((tiredWidth * (tiredProfile / 100)) * 2) + (tiredDiameter * 25.4)) / 25.4);

        processTableValues("One", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1 = (440 - tireDiameter) / 2;
        let midpoint2 = (440 + tireDiameter) / 2;

        tireProfile = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2 = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1 = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#FF6600", 0);

            //draw rect
            ctx.beginPath();
            ctx.strokeStyle    = "#FF6600";
            ctx.lineWidth      = 3;
            if (tires === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            if (enabled === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else{
            ctx.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            ctx.stroke();
            ctx.strokeStyle = "#000000";
            if (enabled === false){

            //draw lines on top and below the rectangle
            drawWidth(ctx, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

            //draw two lines connecting the tire widths to the base of the rectangle
            drawProfile(ctx, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
            ctx.strokeStyle = "#FF0000";

            //draw fender and suspension lines
            if (fendersuspension === true){
                drawFenderSuspension(ctx, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#FF0000");
            }

            if (clearance === true){
            drawClearance(ctx, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#FF0000");
            }
            }
        }

        else if (measure === false){
            ctx.beginPath();
            ctx.strokeStyle    = "#FF0000";
            ctx.lineWidth      = 3;
            ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx.stroke();
        }
    }

    function twoTireFunction() {
        ctx2.clearRect(0, 0, 500, 500);

        let width           = (document.getElementById("twoWidth").value) * 12;
        let offset          = (document.getElementById("twoOffset").value) / 2;
        let tireWidth       = (parseInt(document.getElementById("twoTireWidth").value)) / 4;
        let tireProfile     = (parseInt(document.getElementById("twoTireProfile").value)) * 1.1;
        let tireDiameter    = (parseInt(document.getElementById("twoTireDiameter").value)) * 12.5;

        let tiredWidth      = parseInt(document.getElementById("twoTireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("twoTireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("twoTireDiameter").value);
        let fenderWidth     = (parseInt(document.getElementById("twoFenderWidth").value)) || 0;
        let suspensionWidth = parseInt(document.getElementById("twoSuspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("twoWheelwellWidth").value) || 0;

        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = (((tiredWidth * (tiredProfile / 100))  * 2) + (tiredDiameter * 25.4)) / 25.4;

        processTableValues("Two", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue  = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1   = (440 - tireDiameter) / 2;
        let midpoint2   = (440 + tireDiameter) / 2;

        tireProfile     = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2  = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1  = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx2, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#007bff", 50);

            //draw rect 2
            ctx2.beginPath();
            ctx2.strokeStyle    = "#007bff";
            ctx2.lineWidth      = 2.5;
            if (enabled === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else {
                ctx2.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            if (tires === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 0.35;
                ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 1;
            }
            ctx2.stroke();
            ctx2.strokeStyle = "#000000";
            if (enabled === false){

                //draw lines on top and below the rectangle
                drawWidth(ctx2, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

                //draw two lines connecting the tire widths to the base of the rectangle
                drawProfile(ctx2, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
                ctx2.strokeStyle = "#0000FF";

                //draw fender and suspension lines
                if (fendersuspension === true){
                drawFenderSuspension(ctx2, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#0000FF");
                }

                if (clearance === true){
                    drawClearance(ctx2, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#0000FF");
                }
            }
        }

        else if (measure === true){
            ctx2.beginPath();
            ctx2.strokeStyle    = "#0000FF";
            ctx2.lineWidth      = 2.5;
            ctx2.globalAlpha    = 0.35;

            ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx2.globalAlpha    = 1;

            ctx2.stroke();
        }

    }
    // Make sure the image is loaded first otherwise nothing will draw.

    background.onload = function () {
        var allowedDomains = ['bmwstylerims.com'];
        console.log(document.domain);
        if (allowedDomains.indexOf(document.domain) == -1) {
        // Code to redirect here
        //window.location.href = "https://bmwstylerims.com"; 
        }

        toggleMode();
    };
    //https://obfuscator.io/
    //https://javascriptobfuscator.com/Javascript-Obfuscator.aspx
</script>
</body>
<h3>What is the recommended tire pressure for the BMW wheel style 325?</h3>
<p>The tire pressure for the BMW wheel style 325 will depend on your BMW model. Most BMW models like the BMW Z4 Series and the , have a recommended tire pressure of 32 PSI (2.2 Bar). However, you should always double-check this for your specific BMW model. You can find out the recommended tire pressure for your BMW, by checking the the sticker on the inside edge of the driver’s door or, check your owner’s manual if you still have the same type of tires that came with the vehicle.</p>
<p>The post <a href="https://www.bmwstylerims.com/bmw-wheel-style-325/">BMW wheel style 325</a> appeared first on <a href="https://www.bmwstylerims.com">BmwStyleRims.com</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>BMW wheel style 326</title>
		<link>https://www.bmwstylerims.com/bmw-wheel-style-326/</link>
		
		<dc:creator><![CDATA[bmwstylerims.com]]></dc:creator>
		<pubDate>Sat, 06 Nov 2021 14:51:39 +0000</pubDate>
				<category><![CDATA[All BMW Wheel Styles]]></category>
		<category><![CDATA[BMW M Series Wheels]]></category>
		<category><![CDATA[BMW Z4 Series]]></category>
		<category><![CDATA[BMW Z4 Series E89]]></category>
		<category><![CDATA[E89]]></category>
		<guid isPermaLink="false">https://www.bmwstylerims.com/bmw-wheel-style-326/</guid>

					<description><![CDATA[<p>The BMW wheel style 326 is part of the BMW original wheels lineup. Find out more about the style 326 BMW rims, which is standard for the bmw E89, but might fit other models.&#8230; <a class="kt-excerpt-readmore" href="https://www.bmwstylerims.com/bmw-wheel-style-326/" aria-label="BMW wheel style 326">Read More</a></p>
<p>The post <a href="https://www.bmwstylerims.com/bmw-wheel-style-326/">BMW wheel style 326</a> appeared first on <a href="https://www.bmwstylerims.com">BmwStyleRims.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>The BMW wheel style 326 is part of bmw&#8217;s lineup of original wheel styles.<br />
 The bmw Style 326 wheel is available in diameters of 19&#8243; inches, with a bolt pattern of 5&#215;120.<br />
 This rare rim is the original wheel style for the bmw series E89, however it might fit other models given the specifications match below with the replacement wheel.The style given to this wheel is best described as M Double Spoke.</p>
<p><img decoding="async" class="centerimg" src="https://www.bmwstylerims.com/wp-content/uploads/2021/04/BMW-wheel-style-326.jpg" alt="BMW wheel style 326" data-skip-lazy="" /></p>
<h3><strong>BMW wheel style 326 </strong><strong>Technical Specifications &amp; Parts  </strong></h3>
<p><Table></p>
<td>Part Number</td>
<td>Part Name</td>
<td>Part Details</td>
<td>Search for Part</td>
</tr>
<tr>
<td>36121120779</td>
<td>Valve caps</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121120779 Valve caps" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36111095436</td>
<td>Valve caps RDC</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36111095436 Valve caps RDC" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36112228660</td>
<td>M badge</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36112228660 M badge" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36117842135</td>
<td>Light alloy rim</td>
<td>8JX19 ET:29</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36117842135 Light alloy rim" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36117842136</td>
<td>Light alloy rim</td>
<td>9JX19 ET:40</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36117842136 Light alloy rim" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36136781150</td>
<td>Wheel bolt black</td>
<td>M12X1,5</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136781150 Wheel bolt black" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36136783536</td>
<td>Hub cap with chrome edge</td>
<td>BMW</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136783536 Hub cap with chrome edge" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36121178869</td>
<td>Rubber valve</td>
<td>L=48,5MM</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121178869 Rubber valve" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36121116326</td>
<td>Rubber valve</td>
<td>L=42,5MM</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121116326 Rubber valve" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36146792829</td>
<td>Screw-in valve, RDC</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36146792829 Screw-in valve, RDC" rel="noopener">search for part</a></td>
</tr>
<tr>
<td>36141095389</td>
<td>Valve</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36141095389 Valve" rel="noopener">search for part</a></td>
</tr>
</table>
<h5>BMW models for which the BMW wheel style 326 fits: E89         </h5>
<h5> </h5>
<h5></h5>
<h3>Will the BMW wheel style 326 fit on your BMW?</h3>
<p>Bear in mind that it could be dangerous to run your BMW on tires or wheels they aren&#8217;t designed to fit. If you are unsure about your current wheel specifications, please check our <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/" target="_blank" rel="noopener">BMW wheel fitment chart and guide</a></p>
<p>&nbsp;</p>
<p>Insert your existing BMW wheel and tire dimensions, and the sizes of the BMW wheel style 326, and the outcome will be shown on the diagram. The strut shown in the diagram below is for illustration purpose only.</p>
<body>
<div class="tirecomparison-calculator">   
    <div class="form_holder_cal"> 
                    <div class="form_one_container">
                        <div class="setup_old">
                            <h5 class="hclass">YOUR EXISTING SETUP</h5>
                        </div>
                        <form class="form_one">
                           <div class="input_row">
                              <div class="input_column_img">
                                 <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                              </div>
                              <div class="input_column">
                                 <label class="form_label" for="tireWidth">Width (mm)</label>
                                 <input id="tireWidth" oninput="tireFunction()" value="205" type="number" min="0" max="399">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireProfile">Profile</label>
                                <input id="tireProfile" oninput="tireFunction()" value="55" type="number" min="0" max="99">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireDiameter">Diameter (in)</label>
                                <input id="tireDiameter" oninput="tireFunction()" value="16" type="number" min="0" max="99">
                              </div>
                            </div>
                           <div class="input_row">
                            <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="offset">Offset (mm)</label>
                                <input id="offset" oninput="tireFunction()" value="40" type="number" min="-99" max="99">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="width">Width (in)</label>
                                <input id="width" oninput="tireFunction()" value="6.5" type="number" min="0" max="99">
                            </div>
                           </div>
                        </form>
                        <p class="psmall">Above values are only examples! If unsure of your current wheel size? <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/">Check here!</a> </p>
                    </div>
                    <div class="form_two_container">
                          <div class="setup_new">
                          <h5 class="hclass">YOUR NEW SETUP</h5>
                           </div>
                         <form class="form_two">
                           <div class="input_row">
                             <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireWidth">Width (mm)</label>
                                <input id="twoTireWidth" oninput="twoTireFunction()" value="235" type="number" min="0" max="399">
                                </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireProfile">Profile</label>
                                <input id="twoTireProfile" oninput="twoTireFunction()" value="40" type="number" min="0" max="99">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireDiameter">Diameter (in)</label>
                                 <input id="twoTireDiameter" oninput="twoTireFunction()" value="17" type="number" min="0" max="99">
                             </div>
                             </div>
                             <div class="input_row">
                                <div class="input_column_img">
                                    <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                                 </div>
                                 <div class="input_column">
                                     <label class="form_label" for="twoOffset">Offset (mm)</label>
                                     <input id="twoOffset" class="mm" value="20" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                 </div>
                                     <div class="input_column">
                                         <label class="form_label" for="twoWidth">Width (in)</label>
                                          <input id="twoWidth" class="ms" value="7.5" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                      </div>                          
                                </div>
                         </form>
                      <p class="psmall">Above values are only examples! Change values to view fittment.</p>
                    </div>
     
      
                    <div class="results_header">   
                     <h5 class="hclass">YOUR RESULTS</h5>
                      <p> are automatically applied below </p>
                  </div>  
               <div class="canvasHolder">
                 <canvas class="canvas" id="canvasA"></canvas>
                 <canvas class="canvas" id="canvasB"></canvas>
               </div> 
                <br>


                <div class="hide">
                    <div class="form-check">
                         <label class="lock locka" for="checkTires">
                           <input onclick="checkTires()" type="checkbox" value="" id="checkTires" checked>
                           <span>Show Tires</span>
                         </label>
                    </div>
                    <div class="form-check">
                        <label class="lock" for="checkMeasurements">
                          <input onclick="checkMeasurements()" type="checkbox" value="" id="checkMeasurements" checked>
                          <span>Show Measurements</span>
                        </label>
                    </div>
                    <div class="form-check advance_options">
                          <label class="lock lockd" for="checkClearance">
                          <input onclick="checkClearance()" type="checkbox" value="" id="checkClearance">
                          <span>Show Clearance</span>
                       </label>
                    </div>
                    <div class="form-check advance_options">
                       <label class="lock lockd" for="checkFenderSuspension">
                         <input onclick="checkFenderSuspension()" type="checkbox" value="" id="checkFenderSuspension">
                         <span>Show Fender and Suspension</span>
                       </label>
                    </div>
                
                    <input type="button" id="buttonToggle" class="example_c" value="Show More Options" onclick="toggleMode()">
                    <div class="form_three_container">
                        <form class="form_three">
                           <div class="block_one">          
                              <div class="advance_options form_one">
                                <label for="wheelwellWidth">Wheelwell Clearance (mm) </label>
                                <input id="wheelwellWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="fenderWidth">Fender Clearance (mm) </label>
                                  <input id="fenderWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="suspensionWidth">Suspension Width (mm)</label>
                                  <input id="suspensionWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="399">
                              </div>
                           </div>
                           <div class="block_two">
                              <div class="advance_options form_two">
                               </div>
                              <div class="advance_options form_two">
                                <label for="twoWheelwellWidth">New Wheelwell Clearance (mm) </label>
                                <input id="twoWheelwellWidth" oninput="twoTireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                           <div class="advance_options form_two">
                                <label for="twoFenderWidth">New Fender Clearance (mm)</label>
                                <input id="twoFenderWidth" oninput="twoTireFunction()" value="0" type="number" min="-99" max="99">
                           </div>
                           <div class="advance_options form_two">
                                <label for="twoSuspensionWidth">New Suspension Width (mm)</label>
                                <input id="twoSuspensionWidth" oninput="twoTireFunction()" value="0" type="number" min="0" max="99">
                           </div>
                          </div>
                        </form>
                    </div>
                 </div>
                   <div class="wheel_text">
                         <p>The diagram is only for show to help you visualize your tires and wheel fitment of your new setup.</p>
                         <br>
                         <p>Tire Width    - The width of your tire in millimeters. <strong>195</strong>/55ZR15</p>
                         <p>Tire Profile  - The ratio of tire wall width to tire width. 195/<strong>55</strong>ZR15</p>
                         <p>Tire Diameter - The diameter of your wheels in inches. 195/55ZR<strong>15</strong> </p>
                         <p>Offset - the distance from the center of the wheel to the mounting face in mm. ET<strong>20</strong> </p>
                         <p>Rim Width - The width of your rims in inches. <strong>7.5</strong>JX17 </p>
                   </div>
      
      
        <div class="table-results">
            <table class="table table-sm">
                <colgroup>
                    <col>
                    <col>
                    <col span="1" class="bg-light">
                    <col>
                </colgroup>
                <thead>
                    <tr>
                        <th id="measure" scope="col">Inches</th>
                        <th scope="col" class="tb_orgwheel">Original Wheel</th>
                        <th scope="col" class="tb_newwheel">New Wheel</th>
                        <th scope="col">Difference</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <th scope="row">Diameter</th>
                        <td id="diameterOne"></td>
                        <td id="diameterTwo"></td>
                        <td id="diameterPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Circumference</th>
                        <td id="circumferenceOne"></td>
                        <td id="circumferenceTwo"></td>
                        <td id="circumferencePercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Sidewall</th>
                        <td id="sidewallOne"></td>
                        <td id="sidewallTwo"></td>
                        <td id="sidewallPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Width</th>
                        <td id="widthOne"></td>
                        <td id="widthTwo"></td>
                        <td id="widthPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Wheel Revolutions</th>
                        <td id="revOne"></td>
                        <td id="revTwo"></td>
                        <td id="revPercentage"></td>
                    </tr>
                </tbody>
             </table>
                <input type="button" id="buttonConvert" value="Convert" onclick="convertTable()">
        </div>
    </div>
</div>
    

<style>
  .hide {
    display: none;
  }
  .results{
    color:white!important;
    text-align: center;
    background-color: #005a87;
    padding:5px;
  }

 .results_header{
    display:block;
    text-align: center;
    background-color: #007bff;
    margin-top:30px;    
    margin-bottom: 10px;
    margin-right:10px;
    margin-right:10px;
    max-width: 100%;
    padding:10px;
    width:100%;
    Color: #fff;
  }
.results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}


.lock {
	position:relative;
  cursor:pointer;
	height:32px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.lock input {
	display:none; 
}
.lock span:before,
.lock span:after{
	content:"";
}

.lock span:before {
	width:64px;
	height:32px;
	margin-right:8px;
	background:#EEE;
	border-radius:32px;
	display:inline-block;
	vertical-align:middle;
	transition:all .5s cubic-bezier(.175, .885, .32, 1);
}
.lock span:after {
	margin:2px;
	width:28px;
	height:28px;
	background:#FFF;
	border-radius:28px;
	position:absolute;
	left:0;
	z-index:2;
	transition:all .5s cubic-bezier(.175, .885, .32, 1); 
}
.lock input:checked + span:after {
	left:32px;
}
.lockd input:disabled + span:after{
	background: #acacac;
}
.lock input:checked + span:before {
	background-color:#006298;
}
.locka input:checked + span:before {
	background-color:#1CC691;
}
    .example_c {
        color: #fff !important;
        text-transform: uppercase;
        text-decoration: none;
        background: #006298;
        padding: 5px;
        border-radius: 5px;
        display: inline-block;
        border: none;
        transition: all 0.4s ease 0s;
    }
    .example_c:hover {
        background: black;
        letter-spacing: 1px;
        -webkit-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        -moz-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        box-shadow: 5px 40px -10px rgba(0,0,0,0.57);
        transition: all 0.4s ease 0s;
    }
    p { margin: 5px }
    .canvasHolder {
        position: relative;
    }

  /* form style*/ 
.psmall{
  font-size:small;
  padding-top:5px;
}

.hclass{
  color:#fff;
  font-weight:400;
}

  .setup_old{
    margin-right:10px;
    background-color: #FF6600;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
.setup_new{
    margin-right:0px;
    background-color: #007bff;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
    .form_holder_cal{
        background-color:#fff;
        padding-top:0px;   
        margin: 0 auto;
        max-width: 100%;
        
    } 
 
    .form_two{
        
        display: flex-grid;
    }
    .block_two{
        display: table-cell;
        vertical-align: middle;
        width: 50%;
    }
    .block_one{
        display: table-cell;
        float:left;
    }
    .form_two_container{
        display: table-cell;
          
        margin:auto;
             }
    
    .form_one_container{
        display: table-cell;
        
        margin:auto;
                   }
@media screen and (max-width: 750px) {
  .form_two_container {
    display: block;
    margin-top:30px;
    margin-bottom:20px;
    float:left;
   
  }
  .form_one_container {
    display: block;
    padding-top: 30px;
     }
  .results_header{
    display:inline-block;
    margin-right:10px;
    width:100%;
    text-align:center;
  }
  .results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}
}

@media screen and (max-width: 400px) {
  .form_two_container {
    width: 100%;
   
  }
  .form_one_container {
    width: 100%;
    
  }
}

.block_one{
    float:center;
    }

.input_row {
  display: table-row;
}

.input_column_img {
  display: table-column;
  padding-right: 5px; 
  float: left;
  width:100%;
  min-width: 50px;
}

.input_column 
  {
display: table-cell;
}

    .form_one{
        margin-right: 0px; 
    }

     .form_label {
        display:block;
        padding: 5px;
       margin-left: 10px;
       float: left;
       width:80%;
       Font-size:12px;
    }
    .form_one input[type="button"] { 
      min-width: 100px;}
    
  
    .form_two input[type="button"] { 
        min-width: 100px;
    }
    .form_one input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
      height: 28px;
  	   width: 80px;}
  
      .form_two input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
        height: 28px;
        width: 80px;}
    }
    .form-check-input {
        width: 20px;
     
    }
    .canvasHolder{
        float:left;
        position: relative;
        height: 500px; width: 400px; /*based on your canvas size*/
        
    }
  @media only screen and (max-width: 400px) {
  .canvasHolder{
              margin-left:-50px;
    }
}
    .canvas{
        position: absolute;
        top: 0; left: 0;
        }
    .tirecomparison-calculator {
        padding: 20px 5px;
        
        background: #fff;
 
        margin-left: 0px;
        margin-right: 0px;
        overflow: hidden;
    }
.table-results{
display: block;
width: 100%;
  /*
overflow-x: auto;
-webkit-overflow-scrolling: touch;*/
margin: 0 auto;
}

.tb_orgwheel {
  background-color:#FF6600;
  Color: #fff;
}
.tb_newwheel {
  background-color:#007bff;
  Color: #fff;
}

</style>
<script>
    let c = document.getElementById("canvasA");
    let d       = document.getElementById("canvasB");
    let ctx     = c.getContext("2d");
    let ctx2    = d.getContext("2d");
    let initialHeight   = 500;
    let initialWidth    = 400;
    c.width     = initialWidth;
    c.height    = initialHeight;
    d.width     = initialWidth;
    d.height    = initialHeight;

    let tireImg = new Image();
    tireImg.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/tire_PNG45.gif";
  
    let background = new Image();
    background.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/jTkeSmK.gif";

    let tireOffsetX = 200;
    let tireOffsetY = 50;

    let inches  = true;
    let enabled = true;
    let measure = true;
    let tires   = false;
    let clearance = true;
    let fendersuspension = false;
     
    var heckMeasurements = document.getElementById("checkMeasurements");
    var heckTires = document.getElementById("checkTires");
    //if enabled disable the function to draw
    function checkClearance(){
        var remember = document.getElementById("checkClearance");
        if (remember.checked){
            clearance = true;
            tireFunction();
            twoTireFunction();
        }else{
            clearance = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkFenderSuspension(){
        var remember = document.getElementById("checkFenderSuspension");
        if (remember.checked){
            fendersuspension = true;
            tireFunction();
            twoTireFunction();
        }else{
            fendersuspension = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkMeasurements(){
        if (heckMeasurements.checked){
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
            
        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkTires").checked = true;
            tires = true;
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();
        }
        else{
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();

        }
    }

    function checkTires(){
        if (heckTires.checked){
            tires = true;
            tireFunction();
            twoTireFunction();

        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkMeasurements").checked = true;
            tires = false;
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
        }
        else{
            tires = false;
            tireFunction();
            twoTireFunction();

        }
    }
function toggleMode(){
        var divsToHide = document.getElementsByClassName("advance_options"); //divsToHide is an array
        if (enabled === true){
            enabled = false;
            //hide elements
            for(var i = 0; i < divsToHide.length; i++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[i].style.display = "none"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Show More";
        }
        else if (enabled === false) {
            enabled = true;

            for(var x = 0; x < divsToHide.length; x++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[x].style.display = "block"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Hide";

        }
        tireFunction();
        twoTireFunction();
    }
 
    function processTableValues(colNum, tireHeight, tireSidewall, tiredWidth){
        document.getElementById("diameter" + colNum).textContent        = tireHeight.toFixed(2);
        document.getElementById("circumference" + colNum).textContent   = (3.14159 * tireHeight).toFixed(2);
        document.getElementById("sidewall" + colNum).textContent        = tireSidewall.toFixed(2);
        document.getElementById("width" + colNum).textContent           = (tiredWidth / 25.4).toFixed(2);
        document.getElementById("rev" + colNum).textContent             = (63360 / (3.14159 * tireHeight)).toFixed(0);
    }
    function processTableDifference(){
        document.getElementById("diameterPercentage").textContent       = ((((parseFloat(document.getElementById("diameterTwo").textContent) - parseFloat(document.getElementById("diameterOne").textContent)) / parseFloat(document.getElementById("diameterOne").textContent) * 100)) || 0).toFixed(0) + "%";
        document.getElementById("circumferencePercentage").textContent  = (((parseFloat(document.getElementById("circumferenceTwo").textContent) - parseFloat(document.getElementById("circumferenceOne").textContent)) / parseFloat(document.getElementById("circumferenceOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("sidewallPercentage").textContent       = (((parseFloat(document.getElementById("sidewallTwo").textContent) - parseFloat(document.getElementById("sidewallOne").textContent)) / parseFloat(document.getElementById("sidewallOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("widthPercentage").textContent          = (((parseFloat(document.getElementById("widthTwo").textContent) - parseFloat(document.getElementById("widthOne").textContent)) / parseFloat(document.getElementById("widthOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("revPercentage").textContent            = (parseFloat(document.getElementById("revTwo").textContent) - parseFloat(document.getElementById("revOne").textContent) || 0).toFixed(0);
    }  
    function convertTable() {
        if (inches === true) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) * 25.4).toFixed(0);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) * 25.4).toFixed(0);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) / 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) / 1.6).toFixed(0);

            document.getElementById("measure").textContent          = "Millimeters";
            inches = false;

        } else if (inches === false) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) / 25.4).toFixed(2);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) / 25.4).toFixed(2);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) * 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) * 1.6).toFixed(0);
            document.getElementById("measure").textContent          = "Inches";
            inches = true;
        }
    }
    let dimensionOffset = 0;
    let dimensionOffsetY = 51;
    function drawDimensions(canvasNum, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, strokeColor, offset){
        canvasNum.strokeStyle = strokeColor;

        //x line
        //big line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY); //top
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY); //bottom
        canvasNum.stroke();
        //x text
        canvasNum.font = "15px Helvetica";
        canvasNum.fillStyle = strokeColor;
        canvasNum.fillText(tireHeight.toFixed(1),  (tireWidth1) - fenderWidth + 15, ((midpoint1 - tireProfile) + (midpoint2 + tireProfile)) / 2 + offset);

        //top line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.stroke();

        //bottom line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();

        //y line
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.stroke();
        //y text
        canvasNum.textBaseline = "bottom";
        canvasNum.fillText((tiredWidth / 25.4).toFixed(2),  (tireWidth1 + tireWidth2) / 2 - 20 + offset  + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();
        
    }

    function drawFenderSuspension(canvasNum, newWidth, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, strokeColor){
        //draw fender line
        if (enabled === true && measure === true){
            if (tireWidth1 > newWidth){ 
            canvasNum.beginPath();
            canvasNum.setLineDash([2,3]);
            canvasNum.strokeStyle = strokeColor;
            canvasNum.moveTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            else {
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);

            canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            //draw suspension line
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);
            canvasNum.moveTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
        }
    }

    function drawClearance(canvasNum, wheelwellWidth, midpoint1, midpoint2, tireProfile, strokeColor){
        if (enabled === true && measure === true){
        //draw fender line
        canvasNum.beginPath();
        canvasNum.strokeStyle = strokeColor;
        canvasNum.moveTo(dimensionOffset + dimensionOffsetY + 80,  (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.lineTo(250 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.stroke();
        }
    }
    function drawProfile(canvasNum, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
    }
    function drawWidth(canvasNum, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();
    }

    function tireFunction() { //first set
        ctx.clearRect(0, 0, 500, 500);
        ctx.drawImage(background, 50, 50);
        let width           = document.getElementById("width").value * 12;
        let offset          = document.getElementById("offset").value / 2;
        let tireWidth       = parseInt(document.getElementById("tireWidth").value) / 4;
        let tireProfile     = parseInt(document.getElementById("tireProfile").value) * 1.1;
        let tireDiameter    = parseInt(document.getElementById("tireDiameter").value) * 12.5;
        let fenderWidth     = parseInt(document.getElementById("fenderWidth").value) || 0;
        let suspensionWidth = parseInt(document.getElementById("suspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("wheelwellWidth").value) || 0;

        let tiredWidth      = parseInt(document.getElementById("tireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("tireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("tireDiameter").value);
        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = ((((tiredWidth * (tiredProfile / 100)) * 2) + (tiredDiameter * 25.4)) / 25.4);

        processTableValues("One", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1 = (440 - tireDiameter) / 2;
        let midpoint2 = (440 + tireDiameter) / 2;

        tireProfile = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2 = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1 = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#FF6600", 0);

            //draw rect
            ctx.beginPath();
            ctx.strokeStyle    = "#FF6600";
            ctx.lineWidth      = 3;
            if (tires === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            if (enabled === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else{
            ctx.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            ctx.stroke();
            ctx.strokeStyle = "#000000";
            if (enabled === false){

            //draw lines on top and below the rectangle
            drawWidth(ctx, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

            //draw two lines connecting the tire widths to the base of the rectangle
            drawProfile(ctx, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
            ctx.strokeStyle = "#FF0000";

            //draw fender and suspension lines
            if (fendersuspension === true){
                drawFenderSuspension(ctx, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#FF0000");
            }

            if (clearance === true){
            drawClearance(ctx, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#FF0000");
            }
            }
        }

        else if (measure === false){
            ctx.beginPath();
            ctx.strokeStyle    = "#FF0000";
            ctx.lineWidth      = 3;
            ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx.stroke();
        }
    }

    function twoTireFunction() {
        ctx2.clearRect(0, 0, 500, 500);

        let width           = (document.getElementById("twoWidth").value) * 12;
        let offset          = (document.getElementById("twoOffset").value) / 2;
        let tireWidth       = (parseInt(document.getElementById("twoTireWidth").value)) / 4;
        let tireProfile     = (parseInt(document.getElementById("twoTireProfile").value)) * 1.1;
        let tireDiameter    = (parseInt(document.getElementById("twoTireDiameter").value)) * 12.5;

        let tiredWidth      = parseInt(document.getElementById("twoTireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("twoTireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("twoTireDiameter").value);
        let fenderWidth     = (parseInt(document.getElementById("twoFenderWidth").value)) || 0;
        let suspensionWidth = parseInt(document.getElementById("twoSuspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("twoWheelwellWidth").value) || 0;

        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = (((tiredWidth * (tiredProfile / 100))  * 2) + (tiredDiameter * 25.4)) / 25.4;

        processTableValues("Two", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue  = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1   = (440 - tireDiameter) / 2;
        let midpoint2   = (440 + tireDiameter) / 2;

        tireProfile     = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2  = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1  = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx2, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#007bff", 50);

            //draw rect 2
            ctx2.beginPath();
            ctx2.strokeStyle    = "#007bff";
            ctx2.lineWidth      = 2.5;
            if (enabled === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else {
                ctx2.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            if (tires === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 0.35;
                ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 1;
            }
            ctx2.stroke();
            ctx2.strokeStyle = "#000000";
            if (enabled === false){

                //draw lines on top and below the rectangle
                drawWidth(ctx2, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

                //draw two lines connecting the tire widths to the base of the rectangle
                drawProfile(ctx2, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
                ctx2.strokeStyle = "#0000FF";

                //draw fender and suspension lines
                if (fendersuspension === true){
                drawFenderSuspension(ctx2, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#0000FF");
                }

                if (clearance === true){
                    drawClearance(ctx2, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#0000FF");
                }
            }
        }

        else if (measure === true){
            ctx2.beginPath();
            ctx2.strokeStyle    = "#0000FF";
            ctx2.lineWidth      = 2.5;
            ctx2.globalAlpha    = 0.35;

            ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx2.globalAlpha    = 1;

            ctx2.stroke();
        }

    }
    // Make sure the image is loaded first otherwise nothing will draw.

    background.onload = function () {
        var allowedDomains = ['bmwstylerims.com'];
        console.log(document.domain);
        if (allowedDomains.indexOf(document.domain) == -1) {
        // Code to redirect here
        //window.location.href = "https://bmwstylerims.com"; 
        }

        toggleMode();
    };
    //https://obfuscator.io/
    //https://javascriptobfuscator.com/Javascript-Obfuscator.aspx
</script>
</body>
<h3>What is the recommended tire pressure for the BMW wheel style 326?</h3>
<p>The tire pressure for the BMW wheel style 326 will depend on your BMW model. Most BMW models like the BMW Z4 Series and the , have a recommended tire pressure of 32 PSI (2.2 Bar). However, you should always double-check this for your specific BMW model. You can find out the recommended tire pressure for your BMW, by checking the the sticker on the inside edge of the driver’s door or, check your owner’s manual if you still have the same type of tires that came with the vehicle.</p>
<p>The post <a href="https://www.bmwstylerims.com/bmw-wheel-style-326/">BMW wheel style 326</a> appeared first on <a href="https://www.bmwstylerims.com">BmwStyleRims.com</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
