{"product_id":"shimano-105-fc-r7000-hollowtech-ii-crankset-w-o-cg-black-1","title":"Shimano 105 FC-R7000  Hollowtech II Crankset w\/o CG (Black)","description":"\u003ch5\u003eDescription\u003c\/h5\u003e \u003cp class=\"product-short-description\"\u003e\u003cstrong\u003eSHIMANO 105\u003c\/strong\u003e - HOLLOWTECH II - Road Crankset - 2x11-speed\u003c\/p\u003e \u003cp\u003eThe redesigned SHIMANO 105 FC-R7000 crank balances weight and efficiency without sacrificing stiffness. Its wider gear pitch increases clearance with small gearings on modern 135mm O.L.D. frames. It is offered in 53-39, 52-36, and 50-34T chainring options and 160, 165, 170, 172.5, and 175mm crank arm lengths. Silky Black and Spark Silver color options are available.\u003c\/p\u003e \u003ch5\u003eFeature\u003c\/h5\u003e \u003cul class=\"product-feature-list bft\"\u003e \u003cli class=\"type-benefit\"\u003eOptimum power transfer\u003c\/li\u003e \u003cli class=\"type-feature\"\u003eBalances weight and efficiency without sacrificing stiffness\u003c\/li\u003e \u003cli class=\"type-benefit\"\u003eMultiple options provide greater choice\u003c\/li\u003e \u003cli class=\"type-feature\"\u003eRider Tuned performance with numerous gear combinations\u003c\/li\u003e \u003cli class=\"type-benefit\"\u003eGreater frame compatibility\u003c\/li\u003e \u003cli class=\"type-feature\"\u003eWider gear pitch increases chain clearance with small gearings and allows for 410 mm chain stays on 135 mm O.L.D.\u003c\/li\u003e \u003c\/ul\u003e \u003ch5\u003eTechnology\u003c\/h5\u003e \u003cp\u003e\u003cspan\u003e\u003cimg src=\"https:\/\/bike.shimano.com\/content\/dam\/global\/cg1SHICCycling\/final\/technology\/technologyIcon\/hollowtech.png\" alt=\"hollowtech\"\u003e\u003c\/span\u003e\u003c\/p\u003e \u003ch3\u003eHOLLOWTECH Crank Arm\u003c\/h3\u003e \u003cp\u003e\u003cstrong\u003eHollow forged crank arms\u003c\/strong\u003e\u003cbr\u003e\u003c\/p\u003e \u003cp\u003eA lightweight crankset not only reduces the bike’s weight, but decreases rotating mass to aid in acceleration.\u003cbr\u003eThe challenge is to reduce the weight of the crank without reducing its strength and rigidity.\u003cbr\u003eSHIMANO’s advanced forging technology has solved the problem through the HOLLOWTECH crank.\u003cbr\u003eJust like high quality frame tubing, a hollow crank arm can provide amazing strength and rigidity at very lightweight.\u003c\/p\u003e \u003cp\u003e\u003cimg src=\"https:\/\/bike.shimano.com\/content\/dam\/productsite\/shimano\/tech-description\/hollowtech\/Tech_Image_HollowtechCrankArm_01.jpg\" alt=\"Hollow Tech\" width=\"485\" height=\"281\"\u003e\u003c\/p\u003e \u003cp\u003e\u003cspan\u003e\u003cimg src=\"https:\/\/bike.shimano.com\/content\/dam\/global\/cg1SHICCycling\/final\/technology\/technologyIcon\/hollowtech_2_3.png\" alt=\"hollowtech_2_3\"\u003e\u003c\/span\u003e\u003c\/p\u003e \u003ch3\u003eHOLLOWTECH II\u003c\/h3\u003e \u003cp\u003e﻿\u003cspan\u003eProviding the best balance of stiffness, strength, weight and rotating performance\u003c\/span\u003e\u003cbr\u003e\u003cspan\u003eThe concept of HOLLOWTECH II technology is focused on producing a superior crankset which will maximize a rider’s power transfer. The rigidity of the crankset ensures pedaling efficiency while its weight, a key element of the crankset, you want light, aids in cycling longer distances over which the rider needs to pedal more. Naturally, SHIMANO strove for the optimum balance between the conflicting needs of stiffness while producing a lightweight crank. HOLLOWTECH technology is an ultra-lightweight hollow crankarm created by SHIMANO with the company’s own proprietary forging technology that also maintains rigidity. The addition of HOLLOWTECH II technology integrates the bottom bracket axle with the right crankarm for more stiffness and a weight savings to achieve a high-dimensional balance. Its outboard bottom bracket bearing system provides better weight distribution and more pedaling stability, allowing for more efficient power transfer.  \u003c\/span\u003e\u003cspan\u003eThe HOLLOWTECH II crankset has been developed by pursuing the optimum balance of stiffness \u0026amp; rotating performance in a lightweight and beautiful crankset design.\u003c\/span\u003e\u003c\/p\u003e \u003cp\u003e\u003cspan\u003e\u003cimg src=\"https:\/\/bike.shimano.com\/content\/dam\/productsite\/shimano\/tech-description\/Tech_Image_HollowtechIITechnology_01.jpg\" alt=\"Hollow Tech 2-1\" width=\"311\" height=\"252\"\u003e\u003c\/span\u003e\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003e24mm Diameter Axle And Bearings\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003eWhy choose the 24mm axle and bearings for the HOLLOWTECH II crankset?\u003c\/p\u003e \u003cp\u003eThe diameter of the Bottom Bracket axle and bearings was of primary importance for the development because the Bottom Bracket axle area is tied to such key elements as stiffness, strength, weight and rotating performance.\u003c\/p\u003e \u003cp\u003e\u003cimg src=\"https:\/\/bike.shimano.com\/content\/dam\/productsite\/shimano\/tech-description\/Tech_Image_HollowtechIITechnology_02.jpg\" alt=\"Hollow Tech 2-2\" width=\"585\" height=\"342\"\u003e\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eWhat’s important is the total balance of crankset\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003eIn addition, taking the crankset as a whole, the total balance of crankarm rigidity, axle stiffness, bearing position and others is essential. Indeed, the crankset is designed by careful consideration of the total balance of those elements to prevent breakage.\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eOutboard Bearing\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003eFor most frames with 68mm Bottom Bracket shells, HOLLOWTECH II with 24mm axle can set the bearing position outside of the frame to provide better weight distribution and more stability.\u003c\/p\u003e \u003cp\u003e\u003cimg src=\"https:\/\/bike.shimano.com\/content\/dam\/productsite\/shimano\/tech-description\/Tech_Image_HollowtechIITechnology_03.jpg\" alt=\"Hollow Tech 2-3\" width=\"187\" height=\"329\"\u003e\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eOutboard Bearing\u003c\/strong\u003e\u003cbr\u003e\u003cbr\u003eFor most frames with 68mm Bottom Bracket shells, HOLLOWTECH II with 24mm axle can set the bearing position outside of the frame to provide better weight distribution and more stability.\u003c\/p\u003e \u003cp\u003e\u003cimg src=\"https:\/\/bike.shimano.com\/content\/dam\/productsite\/shimano\/tech-description\/Tech_Image_HollowtechIITechnology_04.jpg\" alt=\"Hollow Tech 2-4\" width=\"381\" height=\"205\"\u003e\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003e24mm Diameter Axle And Bearings Provide Optimum Balance For The Crankset\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003eAfter studying all these problems thoroughly, we made the decision to adopt the 24mm diameter axle and bearings, which have the optimum balance, for the HOLLOWTECH II crankset.\u003c\/p\u003e \u003cp\u003eIn addition, an examination of the total crankset, including the crankarm and gears, proves the optimum balance of rigidity, weight and rotating performance for the ultimate transfer of power to your bike. HOLLOWTECH II is simply the most optimized crankset design on the market.\u003c\/p\u003e \u003cul class=\"feature-list-content1 feature-text\"\u003e\u003c\/ul\u003e \u003ch5\u003eSpecification\u003c\/h5\u003e \u003ctable ng-style=\"{'width': rows[$index].tableWidth }\" width=\"100%\"\u003e \u003ctbody\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"3\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eRear speeds\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003e11\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"3\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eCompatible chain\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003eHG-EV 11-speed\/ HG-X11\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"3\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eChainline (mm)\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003e43.5\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"3\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eP.C.D. left \/ right (mm)\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003e110\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"3\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eGear arms (pcs)\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003e4\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"3\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eChainring combination\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003e50-34T\u003cbr\u003e52-36T\u003cbr\u003e53-39T\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"3\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eQ-factor\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003e146\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"8\" colspan=\"1\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eCrank arm length (mm)\u003c\/span\u003e\u003c\/th\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"2\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003e160\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel update_8\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003eX\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"2\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003e165\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003eX\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"2\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003e167.5\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003e-\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"2\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003e170\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003eX\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"2\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003e172.5\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003eX\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"2\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003e175\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003eX\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"2\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003e177.5\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003e-\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"2\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003e180\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003e-\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"2\" colspan=\"1\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eOptional chain guard\u003c\/span\u003e\u003c\/th\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"2\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eWith chain guard\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003e-\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"2\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eWithout chain guard\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003eX\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"3\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eHOLLOWTECH II\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003eX\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"3\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003e2-PIECE CRANKSET\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003e-\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"3\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eHOLLOWTECH crank arm\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003eX\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"3\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eOCTALINK\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003e-\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"3\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eHOLLOWGLIDE\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003e-\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"3\" colspan=\"1\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eCompatible BB type\u003c\/span\u003e\u003c\/th\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"2\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eOutboard\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003eX\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"2\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eOCTALINK\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003e-\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"2\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eSquare\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003e-\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"2\" colspan=\"1\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eRecommended BB\u003c\/span\u003e\u003c\/th\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"2\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eThreaded (normal)\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003eSM-BBR60\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"2\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003ePressfit\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003eSM-BB72-41B\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"1\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eAxle length of BB-UN \/ ES (mm)\u003c\/span\u003e\u003c\/th\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"2\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eThreaded (normal)\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003e-\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"2\" colspan=\"1\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eThreaded BB shell width (mm)\u003c\/span\u003e\u003c\/th\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"2\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003e68\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003eX\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"2\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003e70\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003eX\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"2\" colspan=\"1\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eCrank arm\u003c\/span\u003e\u003c\/th\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"2\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eMaterial\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003eAluminum\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"2\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eFinish\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003eAnodized\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"2\" colspan=\"1\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eCrank axle\u003c\/span\u003e\u003c\/th\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"2\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eMaterial\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003eSteel\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"2\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eFinish\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003ePlated\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"2\" colspan=\"1\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eOuter ring\u003c\/span\u003e\u003c\/th\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"2\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eMaterial\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003eAluminum\/ GFRP\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"2\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eFinish\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003eAnodized\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"2\" colspan=\"1\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eInner ring\u003c\/span\u003e\u003c\/th\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"2\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eMaterial\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003eAluminum\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"2\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eFinish\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003eAnodized\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" colspan=\"1\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eOuter \/ middle ring fixing bolt\u003c\/span\u003e\u003c\/th\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"2\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eMaterial\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003eStainless steel\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"3\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eCrank fixing bolt included\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003eX\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003ctr ng-repeat=\"(rowIndex, value) in rows track by $index\" class=\"ng-scope\"\u003e \u003cth class=\"spec-table-head ng-scope\" ng-style=\"{'width': rowIndex == 0 ? '200px' : '' }\" rowspan=\"\" colspan=\"3\" ng-repeat=\"name in filterItems(value) track by $index\" ng-if=\"value.name[$index] != null \u0026amp;\u0026amp; value.name[$index] != ''\"\u003e\u003cspan ng-bind-html=\"name\" class=\"ng-binding\"\u003eAverage Weight (170mm, w\/o BB)\u003c\/span\u003e\u003c\/th\u003e \u003ctd ng-repeat=\"col in value.cols track by $index\" ng-class=\"addClass(value, $index, col)\" class=\"ng-scope newmodel\"\u003e\u003cspan class=\"ng-scope ng-binding\" ng-if=\"value.name[0] != 'Model no.'\" ng-bind-html=\"col.value | markedHtml:input_q\"\u003e713.4 g (50-34T)\u003cbr\u003e742.6 g (52-36T)\u003cbr\u003e757.8 g (53-39T)\u003c\/span\u003e\u003c\/td\u003e \u003c\/tr\u003e \u003c\/tbody\u003e \u003c\/table\u003e","brand":"Shimano India","offers":[{"title":"170mm | 34-50T","offer_id":41364039008334,"sku":"IFCR7000CX04L","price":14350.0,"currency_code":"INR","in_stock":true},{"title":"170mm | 36-52T","offer_id":41364039041102,"sku":"IFCR7000CX26L","price":14350.0,"currency_code":"INR","in_stock":true},{"title":"172.5mm | 34-50T","offer_id":41364039073870,"sku":"IFCR7000DX04L","price":14350.0,"currency_code":"INR","in_stock":true},{"title":"172.5mm | 36-52T","offer_id":41364039106638,"sku":"IFCR7000DX26L","price":14350.0,"currency_code":"INR","in_stock":true},{"title":"175mm | 36-52T","offer_id":41364039139406,"sku":"IFCR7000EX26L","price":14350.0,"currency_code":"INR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0598\/9967\/4702\/files\/P-FC-R7000_BC19Nd0115_750_750.jpg?v=1716151365","url":"https:\/\/bikeshopindia.com\/products\/shimano-105-fc-r7000-hollowtech-ii-crankset-w-o-cg-black-1","provider":"The Bike Shop V2","version":"1.0","type":"link"}