null
An error occurred while processing the template.
An error has occurred when reading existing sub-variable "iterator"; see cause exception! The type of the containing value was: extended_hash+string (org.json.JSONObject wrapped into f.e.b.StringModel)

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #list accessories.iterator() as acces...  [in template "20116#20152#233505" at line 751, column 25]
----
1<#--  
2    Techinal specifications 
3--> 
4 
5<#assign portletId = themeDisplay.getPortletDisplay().getId() > 
6<#assign printURL = themeDisplay.getURLCurrent() + "?p_p_id=" + portletId + "&p_p_state=maximized&print" > 
7<#assign printMode = themeDisplay.getURLCurrent()?contains("print")> 
8<#assign siteDefaultLocale = portalUtil.getSiteDefaultLocale(groupId)?string?replace("_","-") > 
9 
10<#if cmsEntity?has_content> 
11<#assign ns = themeDisplay.portletDisplay.getId() > 
12<#if cmsEntity.getField(profile, "/entity/relationships/productSpecifications")?has_content> 
13    <#assign productSpecifications = cmsEntity.getField(profile, "/entity/relationships/productSpecifications") > 
14</#if> 
15<#if cmsEntity.getField(profile, "/entity/relationships/amplifierSpecifications")?has_content> 
16    <#assign amplifierSpecifications = cmsEntity.getField(profile, "/entity/relationships/amplifierSpecifications") > 
17</#if> 
18<#if cmsEntity.getField(profile, "/entity/relationships/connectorSpecifications")?has_content> 
19    <#assign connectorSpecifications = cmsEntity.getField(profile, "/entity/relationships/connectorSpecifications") > 
20</#if> 
21<#if  cmsEntity.getField(profile, "/entity/relationships/driverSpecifications")?has_content> 
22    <#assign driverSpecifications = cmsEntity.getField(profile, "/entity/relationships/driverSpecifications") > 
23</#if> 
24 
25<#if productSpecifications?has_content || connectorSpecifications?has_content || driverSpecifications?has_content> 
26 
27<hr> 
28<#include "${templatesPath}/227222" /> 
29 
30<@sectionHeader title="${title}" menuTitle="${menuTitle}" cssClasses="bg-white" id="section-technical-specifications"/> 
31 
32 
33 
34 
35    <div id="section-specs"> 
36     
37        <div class="row"> 
38            <#if productSpecifications?has_content && !productSpecifications.properties.isNull("shortTermMaxSpl")> 
39                <div class="col-lg-6"> 
40                    <div class="media product-page-media"> 
41                        <@imageThumbnail src="${getProductSpecificationIconUrl('SPL')}" id="" cssClasses="mr-3" thumbnail="techSpecIcon"/> 
42                        <div class="media-body"> 
43                            <h4 class="mt-0 text-bolder"><@liferay.language key="spl"/></h4> 
44                            <p class="small">${productSpecifications.properties.shortTermMaxSpl} dB</p>   
45                        </div> 
46                    </div> 
47                </div> 
48            </#if> 
49            <#if amplifierSpecifications?has_content> 
50            <div class="col-lg-6"> 
51                <div class="media product-page-media"> 
52                    <@imageThumbnail src="${getProductSpecificationIconUrl('AmplifierPower')}" id="" cssClasses="mr-3" thumbnail="techSpecIcon"/> 
53                    <div class="media-body"> 
54                        <h4 class="mt-0 text-bolder"><@liferay.language key="amplifier-power"/></h4> 
55                        <p class="small"> 
56                        <#list amplifierSpecifications.iterator() as amplifierSpecification> 
57                            <#if amplifierSpecification.properties.amplifierCount gt 1> 
58                                ${amplifierSpecification.properties.amplifierCount} X  
59                            </#if> 
60                            ${amplifierSpecification.properties.amplifierPower} W ${localizeField(amplifierSpecification.properties.frequencyRange, profile.getCMSLangCode())} 
61                            (${localizeField(amplifierSpecification.properties.amplifierTechnology, profile.getCMSLangCode())}) <#sep>+ 
62                        </#list> 
63                        </p>  
64                    </div> 
65                </div> 
66            </div> 
67            </#if> 
68        </div> 
69        <div class="row"> 
70        <#if productSpecifications?has_content> 
71                <div class="col-lg-6"> 
72                    <div class="media product-page-media"> 
73                        <@imageThumbnail src="${getProductSpecificationIconUrl('FrequencyResponse')}" id="" cssClasses="mr-3" thumbnail="techSpecIcon"/> 
74                        <div class="media-body"> 
75                            <h4 class="mt-0 text-bolder"><@liferay.language key="frequency-response"/></h4> 
76                            <p class="small"> 
77                                <#if !productSpecifications.properties.isNull("frequencyResponseLowCutoff6dB")> 
78                                    ${productSpecifications.properties.frequencyResponseLowCutoff6dB} 
79                                </#if> 
80                                <#if !productSpecifications.properties.isNull("frequencyResponseHighCutoff6dB")> 
81                                    Hz -  
82                                    <#if productSpecifications.properties.frequencyResponseHighCutoff6dB < 1000> 
83                                        ${productSpecifications.properties.frequencyResponseHighCutoff6dB} Hz 
84                                    <#else> 
85                                        ${productSpecifications.properties.frequencyResponseHighCutoff6dB/1000} kHz  
86                                    </#if> 
87                                </#if> 
88                                ("-6 dB") 
89                            </p> 
90                        </div> 
91                    </div> 
92                </div> 
93            </#if> 
94            <#if productSpecifications?has_content> 
95                <#if !productSpecifications.properties.isNull("frequencyResponseAccuracy")> 
96                <div class="col-lg-6"> 
97                    <div class="media product-page-media"> 
98                        <@imageThumbnail src="${getProductSpecificationIconUrl('AccuracyOfFrequencyResponse')}" id="" cssClasses="mr-3" thumbnail="techSpecIcon"/> 
99                        <div class="media-body"> 
100 
101                            <h4 class="mt-0 text-bolder"><@liferay.language key="accuracy-of-frequency-response"/></h4> 
102                            <p class="small"> 
103                                &#xB1;  
104                                <#if !productSpecifications.properties.isNull("frequencyResponseAccuracy")> 
105                                    ${productSpecifications.properties.frequencyResponseAccuracy} dB 
106                                </#if> 
107                                <#if !productSpecifications.properties.isNull("frequencyResponseLowCutoff")> 
108                                    (${productSpecifications.properties.frequencyResponseLowCutoff}  Hz  
109                                </#if> 
110                                <#if !productSpecifications.properties.isNull("frequencyResponseHighCutoff")> 
111                                    -  
112                                    <#if productSpecifications.properties.frequencyResponseHighCutoff < 1000> 
113                                            ${productSpecifications.properties.frequencyResponseHighCutoff} Hz) 
114                                    <#else> 
115                                        ${productSpecifications.properties.frequencyResponseHighCutoff/1000} kHz) 
116                                    </#if> 
117                                </#if> 
118                            </p> 
119                        </div> 
120                    </div> 
121                </div> 
122                </#if> 
123            </#if> 
124        </div> 
125        <div class="row"> 
126             <#if driverSpecifications?has_content> 
127            <div class="col-lg-6"> 
128                <div class="media product-page-media"> 
129                    <@imageThumbnail src="${getProductSpecificationIconUrl('DriverDimension')}" id="" cssClasses="mr-3" thumbnail="techSpecIcon"/> 
130                    <div class="media-body"> 
131                        <h4 class="mt-0 text-bolder"><@liferay.language key="driver-dimensions"/></h4> 
132                        <p class="small"> 
133                            <#list driverSpecifications.iterator() as driverSpecification> 
134                                <#assign driverId = driverSpecification.id> 
135                                <#if !driverSpecification.properties.isNull("driverHeight") || !driverSpecification.properties.isNull("driverWidth")> 
136                                    <#if driverSpecification.properties.driverCount gt 1> 
137                                        <span>${driverSpecification.properties.driverCount} x</span> 
138                                    </#if> 
139                                    <#if !driverSpecification.properties.isNull("driverHeight")> 
140                                        <span>H </span><span id="driverHeight-${ns}-${driverId}"> ${driverSpecification.properties.driverHeight} </span><span> x</span> 
141                                    </#if> 
142                                    <#if !driverSpecification.properties.isNull("driverWidth")> 
143                                        <span> W </span><span id="driverWidth-${ns}-${driverId}"> ${driverSpecification.properties.driverWidth} </span><span id="mm_inch-driver-${ns}-${driverId}">mm</span> 
144                                    </#if> 
145                                    <#if !driverSpecification.properties.isNull("frequencyRange")> 
146                                        <span>${localizeField(driverSpecification.properties.frequencyRange, profile.getCMSLangCode())}</span> <#sep>+ 
147                                    </#if> 
148                                <#elseif !driverSpecification.properties.isNull("driverDiameter")> 
149                                    <#if driverSpecification.properties.driverCount gt 1> 
150                                        <span>${driverSpecification.properties.driverCount} x</span> 
151                                    </#if> 
152                                    <#if !driverSpecification.properties.isNull("driverDiameter")> 
153                                        <span class="text-intro">&#8960; </span> 
154                                        <span id="driverDiameter-${ns}-${driverId}">${driverSpecification.properties.driverDiameter} </span><span id="mm_inch-driver-${ns}-${driverId}">mm</span> 
155                                    </#if> 
156                                    <#if !driverSpecification.properties.isNull("frequencyRange")> 
157                                        <span>${localizeField(driverSpecification.properties.frequencyRange, profile.getCMSLangCode())}</span> <#sep>+ 
158                                    </#if> 
159                                </#if> 
160                            </#list> 
161                             
162                                <a class="small" id="mmtoinch-driver-${ns}">(<@liferay.language key="view-in-inches"/>)</a> 
163                            
164                        </p> 
165                    </div> 
166                </div> 
167            </div> 
168            </#if> 
169            <#if productSpecifications?has_content> 
170                <div class="col-lg-6"> 
171                    <div class="media product-page-media"> 
172                        <@imageThumbnail src="${getProductSpecificationIconUrl('Dimension')}" id="" cssClasses="mr-3" thumbnail="techSpecIcon"/> 
173                        <div class="media-body"> 
174                            <h4 class="mt-0 text-bolder"><@liferay.language key="dimensions"/></h4> 
175                            <p class="small">  
176                                <#if !productSpecifications.properties.isNull("heightWithIsoPod")> 
177                                    H <span id="heightWithIsoPod-${ns}">${productSpecifications.properties.heightWithIsoPod}</span>  
178                                    x W <span id="width-${ns}">${productSpecifications.properties.width}</span> x D <span id="depth-${ns}">${productSpecifications.properties.depth}</span>  
179                                    <span id="mm_inch-${ns}">mm</span>, 
180                                   <@liferay.language key="with-iso-pod"/>&#8482; 
181                                    <a class="small" id="mmtoinch-${ns}">(<@liferay.language key="view-in-inches"/>)</a> 
182                                <#else> 
183                                    H <span id="height-${ns}">${productSpecifications.properties.height}</span>  
184                                    x W <span id="width-${ns}">${productSpecifications.properties.width}</span> x D <span id="depth-${ns}">${productSpecifications.properties.depth}</span>  
185                                    <span id="mm_inch-${ns}">mm</span>, 
186                                    <a class="small" id="mmtoinch-${ns}">(<@liferay.language key="view-in-inches"/>)</a> 
187                                </#if> 
188                            </p> 
189                        </div> 
190                    </div> 
191                </div> 
192            </#if> 
193        </div> 
194        <div class="row"> 
195            <#if productSpecifications?has_content> 
196                <div class="col-lg-6"> 
197                    <div class="media product-page-media"> 
198                        <@imageThumbnail src="${getProductSpecificationIconUrl('Weight')}" id="" cssClasses="mr-3" thumbnail="techSpecIcon"/> 
199                        <div class="media-body"> 
200                            <h4 class="mt-0 text-bolder"><@liferay.language key="weight"/></h4> 
201                            <#if productSpecifications?has_content> 
202                            <#assign lbWeigt = "${productSpecifications.properties.weight*2.20462262}"> 
203                            <p class="small">${productSpecifications.properties.weight} kg / ${lbWeigt?number?string[".#"]} lb</p> 
204                            </#if> 
205                        </div> 
206                    </div> 
207                </div> 
208            </#if> 
209            <#if connectorSpecifications?has_content> 
210            <div class="col-lg-6"> 
211                <div class="media product-page-media"> 
212                    <@imageThumbnail src="${getProductSpecificationIconUrl('Connections')}" id="" cssClasses="mr-3" thumbnail="techSpecIcon"/> 
213                    <div class="media-body"> 
214                        <h4 class="mt-0 text-bolder"><@liferay.language key="connections"/></h4> 
215                            <#list connectorSpecifications.iterator() as connectorSpecification> 
216                                <p class="small"> 
217                                <#if !connectorSpecification.properties.isNull("connectorCount")> 
218                                    ${connectorSpecification.properties.connectorCount} 
219                                </#if> 
220                                <#if !connectorSpecification.properties.isNull("connectorType")> 
221                                     x ${localizeField(connectorSpecification.properties.connectorType, profile.getCMSLangCode())} 
222                                </#if> 
223                                <#if !connectorSpecification.properties.isNull("connectorSignal")> 
224                                     ${localizeField(connectorSpecification.properties.connectorSignal, profile.getCMSLangCode())} 
225                                </#if> 
226                                <#if !connectorSpecification.properties.isNull("connectorFunction")> 
227                                    ${localizeField(connectorSpecification.properties.connectorFunction, profile.getCMSLangCode())} 
228                                </#if> 
229                                </p> 
230                            </#list>    
231                    </div> 
232                </div> 
233            </div> 
234            </#if> 
235        </div> 
236 
237        <div class="btn-container"> 
238            <a class="btn btn-dark btn-medium btn-margin-top" onClick="openPopup(3)" href="#section-technical-specifications"> 
239                <@liferay.language key="open-all-details"/> 
240                <@linkIcon cssClasses="icon tiny-icon" alt="" icon="arrow-white"/> 
241            </a> 
242        </div> 
243    </div> 
244 
245<@sectionFooter/> 
246 
247 
248<#--  Popup  --> 
249 
250<div id="theme-popup3" class="popup"> 
251    <div class="close-button-container"> 
252        <button class="close" onClick="closePopup(3)"></button> 
253    </div> 
254 
255    <div class="panel popup-content" id="popupContent3"> 
256        <div class="panel-body" id="TechnicalSpecifications"> 
257         
258<#assign firstIamgeOfFirstAssetURL = ""> 
259 
260<#if cmsEntity.getField(profile, "/entity/relationships/variants")?has_content> 
261    <#assign firstVariant = cmsEntity.getField(profile, "/entity/relationships/variants").get(0)> 
262    <#assign variantImages = variantImages(firstVariant, siteDefaultLocale) > 
263     
264    <#if variantImages?has_content> 
265       <#assign firstIamgeOfFirstAssetURL = variantImages.get(0).url> 
266    </#if> 
267</#if> 
268 
269 
270           <#if productSpecifications?has_content> 
271                <div class="row"> 
272                    <div class="col-lg-8"> 
273                        <h3 class="section-heading text-bolder h2"> 
274                            ${localizeField(productSpecifications.title, profile.getCMSLangCode())} 
275                        </h3> 
276                        <#if cmsEntity.getLocalizedField(profile, "/entity/fields/subtitle")?has_content> 
277                            <h3 class="subtitle">${cmsEntity.getLocalizedField(profile, "/entity/fields/subtitle")}</h3> 
278                        </#if> 
279                        <h3 class="text-bolder mb-4"><@liferay.language key="technical-specifications"/></h3> 
280                        </#if> 
281                        <#if cmsEntity.getField(profile, "/entity/fields/summary")?has_content> 
282                            ${cmsContentFormatterService.getMarkdown(cmsEntity.getLocalizedField(profile, "/entity/fields/summary"))} 
283                        </#if> 
284                    </div> 
285                    <div class="col-lg-3 text-center"> 
286                        <@imageThumbnail src="${firstIamgeOfFirstAssetURL}" /> 
287                    </div> 
288                </div> 
289 
290                <div class="pull-right pt-3 d-print-none" style="margin-top: -80px"> 
291                    <a rel="nofollow" href="${printURL}" target="_blank"> 
292                        <img class="print-icon" alt="<@liferay.language key="print"/>"  
293                            width="40"  
294                            src="/o/genelec-site-theme/images/icons/basic-icons/print.png"  
295                        /> 
296                    </a> 
297                </div> 
298 
299                <div class="bg-black tech-spec-sub-header"> 
300                    <h3 class="text-bolder mb-0"><@liferay.language key="system-specifications"/></h3> 
301                </div> 
302                 
303                <div class="technical-specifications-table"> 
304            <#if productSpecifications?has_content> 
305                <div class="row"> 
306                    <div class="col-lg-4"> 
307                        <h5 class="text-bolder"><@liferay.language key="frequency-response"/></h5> 
308                        <p class="text-tight"> 
309                             
310                            <#if productSpecifications?has_content> 
311                                <span class="small text-bolder"> 
312                                <#if !productSpecifications.properties.isNull("frequencyResponseLowCutoff")> 
313                                    ${productSpecifications.properties.frequencyResponseLowCutoff} Hz 
314                                </#if> 
315                                <#if !productSpecifications.properties.isNull("frequencyResponseHighCutoff")> 
316                                     -  
317                                    <#if productSpecifications.properties.frequencyResponseHighCutoff < 1000> 
318                                        ${productSpecifications.properties.frequencyResponseHighCutoff} Hz 
319                                    <#else> 
320                                        ${productSpecifications.properties.frequencyResponseHighCutoff/1000} kHz 
321                                    </#if> 
322                                </#if> 
323                                <#if !productSpecifications.properties.isNull("frequencyResponseAccuracy")> 
324                                (&#xB1; ${productSpecifications.properties.frequencyResponseAccuracy} dB) 
325                                </#if> 
326                                </span> 
327                            </#if> 
328                        </p> 
329                        <#if !productSpecifications.properties.isNull("frequencyResponseLowCutoff6dB")> 
330                        <@printIfNotEmpty title="low-cutoff--6db" container=productSpecifications.properties field="frequencyResponseLowCutoff6dB" cssTitle="text-medium text-bolder" cssContent="small text-bolder" unit="Hz"/> 
331                        </#if> 
332                        <p class="text-tight"> 
333                            <span class="text-medium text-bolder"><@liferay.language key="high-cutoff--6db"/></span><br> 
334                            <span class="small text-bolder"> 
335                                <#if productSpecifications.properties.frequencyResponseHighCutoff6dB < 1000> 
336                                    ${productSpecifications.properties.frequencyResponseHighCutoff6dB} Hz 
337                                <#else> 
338                                    ${productSpecifications.properties.frequencyResponseHighCutoff6dB/1000} kHz 
339                                </#if> 
340                            </span> 
341                        </p> 
342                    </div> 
343                    <div class="col-lg-8 no-padding"> 
344                        <#if productSpecifications?has_content> 
345                            <#if !productSpecifications.assets.isNull("frequencyResponseGraph")> 
346                                <#assign frequencyResponseGraph = productSpecifications.assets.frequencyResponseGraph.url> 
347                                <@imageThumbnailLazy data="${frequencyResponseGraph}" id="" cssClasses="technical-specifications-img lazy" thumbnail="frequencyResponseGraph"/> 
348                            </#if> 
349                        </#if> 
350                    </div> 
351                </div> 
352 
353                <div class="row"> 
354                    <div class="col-lg-4 middle-lines"> 
355                        <h5 class="text-bolder"><@liferay.language key="spl"/></h5> 
356                        <@printIfNotEmptyTwoFields title="peak-spl" container=productSpecifications.properties field="peakSpl" field2="peakSplDescription" cssTitle="text-medium text-bolder" cssContent="small text-bolder" cssContentField2="small" unit="dB" mathSymbol="&ge;"/> 
357                        <@printIfNotEmptyTwoFields title="short-term-max-spl" container=productSpecifications.properties field="shortTermMaxSpl" field2="shortTermMaxSplDescription" cssTitle="text-medium text-bolder" cssContent="small text-bolder" cssContentField2="small" unit="dB" mathSymbol="&ge;"/> 
358                        <@printIfNotEmptyTwoFields title="long-term-max-spl" container=productSpecifications.properties field="longTermMaxSpl" field2="longTermMaxSplDescription" cssTitle="text-medium text-bolder" cssContent="small text-bolder" cssContentField2="small" unit="dB" mathSymbol="&ge;"/> 
359                         
360                    </div> 
361                    <div class="col-lg-4 middle-lines"> 
362                        <h5 class="text-bolder"><@liferay.language key="self-generated-noise"/></h5> 
363                        <@printIfNotEmptyTwoFields title="self-generated-noise" container=productSpecifications.properties field="selfGeneratedNoiseLevel" field2="selfGeneratedNoiseDescription" cssTitle="text-medium text-bolder" cssContent="small text-bolder" cssContentField2="small" unit="dB SPL" mathSymbol="&le;" /> 
364                    </div> 
365                    <#if !productSpecifications.properties.isNull("weight")> 
366                        <div class="col-lg-4 middle-lines"> 
367                            <h5 class="text-bolder"><@liferay.language key="weight"/></h5> 
368 
369                            <span class="text-medium text-bolder"><@liferay.language key="weight"/></span><br> 
370                            <#assign lbWeigt = "${productSpecifications.properties.weight*2.20462262}"> 
371                            <span class="small text-bolder">${productSpecifications.properties.weight} kg</span> 
372                            <span class="small">(${lbWeigt?number?string[".#"]} lb)</span> 
373                        </div> 
374                    </#if> 
375                </div> 
376                <div class="row"> 
377                    <div class="col-lg-4"> 
378                        <h5 class="text-bolder"><@liferay.language key="dimensions"/></h5> 
379                        <@printIfNotEmptyInches title="height" container=productSpecifications.properties field="height" cssTitle="text-medium text-bolder" cssContent="small text-bolder" cssContentField2="small popupHeight" unit="mm"/> 
380                         
381                        <#if !productSpecifications.properties.isNull("heightWithIsoPod") && productSpecifications.properties.heightWithIsoPod gt 0> 
382                            <@printIfNotEmptyInches title="height-with-iso-pod" container=productSpecifications.properties field="heightWithIsoPod" cssTitle="text-medium text-bolder" cssContent="small text-bolder" cssContentField2="small popupHeightWithIsoPod" unit="mm"/> 
383                        </#if> 
384 
385                        <@printIfNotEmptyInches title="width" container=productSpecifications.properties field="width" cssTitle="text-medium text-bolder" cssContent="small text-bolder" cssContentField2="small popupWidth" unit="mm"/> 
386                         
387                        <@printIfNotEmptyInches title="depth" container=productSpecifications.properties field="depth" cssTitle="text-medium text-bolder" cssContent="small text-bolder" cssContentField2="small popupDepth" unit="mm"/> 
388                         
389                        <#if !productSpecifications.properties.isNull("dimensionsDescription")> 
390                            <p>${localizeField(productSpecifications.properties.dimensionsDescription, profile.getCMSLangCode())}</p> 
391                        </#if> 
392                         
393                    </div> 
394                    <div class="col-lg-8 no-padding"> 
395                        <#if !productSpecifications.assets.isNull("dimensionsLineGraph")> 
396                        <#assign dimensionsLineGraph = productSpecifications.assets.dimensionsLineGraph.url> 
397                        <@imageThumbnailLazy data="${dimensionsLineGraph}" id="" cssClasses="technical-specifications-img lazy" thumbnail="dimensionsLineGraph"/> 
398                        </#if> 
399                    </div> 
400                </div> 
401             
402                <#if !productSpecifications.properties.isNull("enclosureMaterial") || !productSpecifications.properties.isNull("enclosureType")> 
403                    <div class="row"> 
404                        <h5 class="text-bolder col-lg-12 mb-0"><@liferay.language key="enclosure"/></h5> 
405                        <@printIfNotEmpty title="enclosure-material" container=productSpecifications.properties field="enclosureMaterial" cssTitle="text-medium text-bolder" cssContent="small text-bolder" cssDiv="col-lg-4" localization="profile.getCMSLangCode()"/> 
406                        <@printIfNotEmpty title="enclosure-type" container=productSpecifications.properties field="enclosureType" cssTitle="text-medium text-bolder" cssContent="small text-bolder" cssDiv="col-lg-4" localization="profile.getCMSLangCode()"/> 
407                    </div> 
408                </#if> 
409 
410            </#if> 
411 
412            <#if driverSpecifications?has_content> 
413                <div class="row"> 
414                    <h5 class="text-bolder col-lg-12 mb-0"><@liferay.language key="drivers"/></h5> 
415 
416                    <#if driverSpecifications?has_content> 
417                        <#list driverSpecifications.iterator() as driverSpecification> 
418                            <div class="col-lg-4"> 
419                                <#if !driverSpecification.properties.isNull("frequencyRange")> 
420                                    <span class="small text-bolder">${localizeField(driverSpecification.properties.frequencyRange, profile.getCMSLangCode())}</span><br><br> 
421                                </#if> 
422                                     
423                                    <@printIfNotEmpty title="driver-type" container=driverSpecification.properties field="driverType" cssTitle="small text-bolder" cssContent="small" localization="profile.getCMSLangCode()"/> 
424 
425                                <#if !driverSpecification.properties.isNull("driverDescription")> 
426                                    <p class="text-tight"> 
427                                        <span class="small">${localizeField(driverSpecification.properties.get("driverDescription"), profile.getCMSLangCode())}</span> 
428                                    </p> 
429                                </#if> 
430                                <#if !driverSpecification.properties.isNull("driverCount")> 
431                                    <#assign count = "${driverSpecification.properties.driverCount}"> 
432                                    <#if count?number gte 2> 
433                                        <p class="text-tight"> 
434                                            <span class="small text-bolder"><@liferay.language key="count"/></span><br> 
435                                            <span class="small">${count}</span><br> 
436                                        </p> 
437                                    </#if> 
438                                </#if> 
439                                <#assign driverId = driverSpecification.id> 
440                                 
441                                <@printIfNotEmptyInches title="diameter" container=driverSpecification.properties field="driverDiameter" cssTitle="small text-bolder" cssContent="small" cssContentField2="small popupDriverDiameter-${driverId}" unit="mm"/> 
442 
443                                <@printIfNotEmptyInches title="width" container=driverSpecification.properties field="driverWidth" cssTitle="small text-bolder" cssContent="small" cssContentField2="small popupDriverWidth-${driverId}" unit="mm"/> 
444 
445                                <@printIfNotEmptyInches title="height" container=driverSpecification.properties field="driverHeight" cssTitle="small text-bolder" cssContent="small" cssContentField2="small popupDriverHeight-${driverId}" unit="mm"/> 
446 
447                                 
448                            </div> 
449                        </#list> 
450                    </#if> 
451                </div> 
452            </#if> 
453 
454            <#if productSpecifications?has_content> 
455                <#if !productSpecifications.assets.isNull("verticalDirectivityGraph") || !productSpecifications.assets.isNull("horizontalDirectivityGraph")> 
456                    <div class="row"> 
457                        <h5 class="text-bolder col-lg-12 mb-0"><@liferay.language key="directivity"/></h5> 
458 
459                        <#if !productSpecifications.assets.isNull("verticalDirectivityGraph")> 
460                            <div class="col-lg-6"> 
461                                <div class="small text-bolder mb-3"><@liferay.language key="vertical-directivity"/></div> 
462                                <#assign verticalDirectivityGraph = productSpecifications.assets.verticalDirectivityGraph.url> 
463                                <@imageThumbnailLazy data="${verticalDirectivityGraph}" id="" cssClasses="technical-specifications-img lazy" thumbnail="verticalDirectivityGraph"/> 
464                            </div> 
465                        </#if> 
466                        <#if !productSpecifications.assets.isNull("horizontalDirectivityGraph")> 
467                            <div class="col-lg-6"> 
468                                <div class="small text-bolder mb-3"><@liferay.language key="horizontal-directivity"/></div> 
469                                <#assign horizontalDirectivityGraph = productSpecifications.assets.horizontalDirectivityGraph.url> 
470                                <@imageThumbnailLazy data="${horizontalDirectivityGraph}" id="" cssClasses="technical-specifications-img lazy" thumbnail="horizontalDirectivityGraph"/> 
471                            </div> 
472                        </#if> 
473                    </div> 
474                </#if> 
475 
476                    <div class="row"> 
477                        <h5 class="text-bolder col-lg-12 mb-0"><@liferay.language key="harmonic-distortion"/> </h5> 
478                        <div class="col-lg-4"> 
479                            <#if !productSpecifications.properties.isNull("bassDistortionDescription")> 
480                                <#assign bassDistortionContent = localizeField(productSpecifications.properties.bassDistortionDescription, profile.getCMSLangCode())> 
481                                 
482                                    <span class="small"> 
483                                        ${bassDistortionContent} &le;${productSpecifications.properties.bassDistortion} % 
484                                    </span><br> 
485                             
486                            </#if> 
487                            <#if !productSpecifications.properties.isNull("midrangeDistortionDescription")> 
488                                <#assign midrangeDistortionContent = localizeField(productSpecifications.properties.midrangeDistortionDescription, profile.getCMSLangCode())> 
489                                 
490                                    <span class="small"> 
491                                        ${midrangeDistortionContent} &le;${productSpecifications.properties.midrangeDistortion} % 
492                                    </span><br> 
493                             
494                            </#if> 
495                            <#if !productSpecifications.properties.isNull("trebleDistortionDescription")> 
496                                <#assign trebleDistortionContent = localizeField(productSpecifications.properties.trebleDistortionDescription, profile.getCMSLangCode())> 
497                                 
498                                    <span class="small"> 
499                                        ${trebleDistortionContent} &le;${productSpecifications.properties.trebleDistortion} % 
500                                    </span> 
501                             
502                            </#if> 
503                        </div> 
504                    </div> 
505                    <#if !productSpecifications.assets.isNull("groupDelayGraphs") || !productSpecifications.properties.isNull("groupDelayText")> 
506                        <div class="row"> 
507                            <div class="col-lg-4"> 
508                                <h5 class="text-bolder"><@liferay.language key="group-delay"/></h5> 
509                                    <#if !productSpecifications.properties.isNull("groupDelayText")> 
510                                        <span class="small"> 
511                                            <#assign groupDelayText = cmsContentFormatterService.getMarkdown(localizeField(productSpecifications.properties.groupDelayText, profile.getCMSLangCode()), 300)> 
512                                            ${groupDelayText} 
513                                        </span> 
514                                    </#if> 
515 
516                            </div> 
517                            <#if !productSpecifications.assets.isNull("groupDelayGraphs")> 
518                                <#assign groupDelayGraphs = productSpecifications.assets.groupDelayGraphs> 
519                                <#list groupDelayGraphs.iterator() as groupDelayGraph> 
520                                    <div class="col-lg-8 no-padding"> 
521                                        <@imageThumbnailLazy data="${groupDelayGraph.url}" id="" cssClasses="technical-specifications-img lazy" thumbnail="groupDelayGraphs"/> 
522                                    </div> 
523                                    <#sep><div class="col-lg-4"></div> 
524                                </#list> 
525                            </#if> 
526                        </div> 
527                    </#if> 
528 
529                </div> 
530            </#if> 
531            <div class="bg-black tech-spec-sub-header">  
532                <h3 class="text-bolder mb-0"><@liferay.language key="amplifier-section"/></h3>  
533            </div> 
534                         
535            <div class="technical-specifications-table"> 
536                <#if amplifierSpecifications?has_content> 
537                    <div class="row"> 
538                        <h5 class="text-bolder col-lg-12 mb-0"><@liferay.language key="amplifiers"/></h5> 
539 
540                        <#list amplifierSpecifications.iterator() as amplifierSpecification> 
541                        <div class="col-lg-4"> 
542                            <span class="text-medium text-bolder">${localizeField(amplifierSpecification.title, profile.getCMSLangCode())}</span><br> 
543                         
544                            <#if !amplifierSpecification.properties.isNull("amplifierPower")> 
545                            <p class="text-tight"> 
546                            <#if !amplifierSpecification.properties.isNull("amplifierCount")> 
547                                <#assign amplifierCount = amplifierSpecification.properties.amplifierCount> 
548                                <#if amplifierCount gt 1> 
549                                    <span class="small">${amplifierCount} x ${amplifierSpecification.properties.amplifierPower} W ${localizeField(amplifierSpecification.properties.amplifierTechnology, profile.getCMSLangCode())}</span> 
550                                <#else> 
551                                    <span class="small">${amplifierSpecification.properties.amplifierPower} W ${localizeField(amplifierSpecification.properties.amplifierTechnology, profile.getCMSLangCode())}</span> 
552                                </#if> 
553                            <#else> 
554                                <span class="small">${amplifierSpecification.properties.amplifierPower} W ${localizeField(amplifierSpecification.properties.amplifierTechnology, profile.getCMSLangCode())}</span> 
555                            </#if> 
556                            </p> 
557                            </#if> 
558                            <#assign amplifierId = amplifierSpecification.id> 
559                            <@printIfNotEmpty  container=amplifierSpecification.properties field="amplifierDescription" cssContent="small" localization="profile.getCMSLangCode()"/> 
560 
561                            <@printIfNotEmptyInches title="diameter" container=amplifierSpecification.properties field="amplifierDiameter" cssTitle="small text-bolder" cssContent="small" cssContentField2="small popupAmplifierDiameter-${amplifierId}" unit="mm"/> 
562 
563                            <@printIfNotEmptyInches title="height" container=amplifierSpecification.properties field="amplifierHeight" cssTitle="small text-bolder" cssContent="small" cssContentField2="small popupAmplifierHeight-${amplifierId}" unit="mm"/> 
564 
565                            <@printIfNotEmptyInches title="width" container=amplifierSpecification.properties field="amplifierWidth" cssTitle="small text-bolder" cssContent="small" cssContentField2="small popupAmplifierWidth-${amplifierId}" unit="mm"/> 
566 
567                            <@printIfNotEmptyInches title="depth" container=amplifierSpecification.properties field="amplifierDepth" cssTitle="small text-bolder" cssContent="small" cssContentField2="small popupAmplifierDepth-${amplifierId}" unit="mm"/> 
568                             
569                            <#if !amplifierSpecification.properties.isNull("amplifierWeight")> 
570                                <#assign amplifierLbWeigt = "${amplifierSpecification.properties.amplifierWeight*2.20462262}"> 
571                                <p class="text-tight"> 
572                                    <span class="small text-bolder"><@liferay.language key="weight"/></span><br> 
573                                    <span class="small">${amplifierSpecification.properties.amplifierWeight} kg</span> 
574                                    <span class="small">(${amplifierLbWeigt?number?string[".#"]} lb)</span> 
575                                </p> 
576                            </#if> 
577         
578                        </div> 
579                        </#list> 
580                    </div> 
581                </#if> 
582                <#if productSpecifications?has_content> 
583                    <div class="row"> 
584                        <div class="col-lg-12"> 
585                            <h5 class="text-bolder"><@liferay.language key="mains-voltage"/></h5> 
586                            <@printIfNotEmpty container=productSpecifications.properties field="mainsVoltage" cssContent="text-medium text-bolder" localization="profile.getCMSLangCode()"/> 
587                        </div>   
588                    </div> 
589 
590                    <div class="row"> 
591                        <h5 class="text-bolder col-lg-12 mb-0"><@liferay.language key="power-consumption"/></h5> 
592                         
593                        <@printIfNotEmpty title="iss-active" container=productSpecifications.properties field="powerConsumptionISSActive" cssTitle="text-medium text-bolder" cssDiv="col-lg-4" cssContent="small text-bolder" unit="W" mathSymbol="&le;"/> 
594                     
595                        <@printIfNotEmpty title="idle" container=productSpecifications.properties field="powerConsumptionIdle" cssTitle="text-medium text-bolder" cssDiv="col-lg-4" cssContent="small text-bolder" unit="W" mathSymbol="&le;"/> 
596                     
597                        <@printIfNotEmpty title="full-output" container=productSpecifications.properties field="powerConsumptionFullOutput" cssTitle="text-medium text-bolder" cssDiv="col-lg-4" cssContent="small text-bolder" unit="W"/> 
598                    </div> 
599                </#if> 
600            </div> 
601 
602            <div class="bg-black tech-spec-sub-header">  
603                <h3 class="text-bolder mb-0"><@liferay.language key="signal-processing-section"/></h3>  
604            </div> 
605                         
606            <div class="technical-specifications-table"> 
607             
608                <#if connectorSpecifications?has_content> 
609                    <div class="row"> 
610                        <h5 class="text-bolder col-lg-12 mb-0"><@liferay.language key="connectors"/></h5> 
611 
612                        <#list connectorSpecifications.iterator() as connectorSpecification> 
613                        <#assign connectorCount = "${connectorSpecification.properties.connectorCount}"> 
614                        <div class="col-lg-6"> 
615                            <#if !connectorSpecification.properties.isNull(connectorSignal)> 
616                                <span class="text-medium text-bolder">${localizeField(connectorSpecification.properties.connectorSignal, profile.getCMSLangCode())} <@liferay.language key="connectors"/></span><br> 
617                            </#if> 
618                            <p class="text-tight"> 
619                                <#if connectorCount?number gt 1> 
620                                    <span class="small text-bolder">${connectorCount} x ${localizeField(connectorSpecification.properties.connectorFunction, profile.getCMSLangCode())}</span><br> 
621                                <#else> 
622                                    <span class="small text-bolder">${localizeField(connectorSpecification.properties.connectorFunction, profile.getCMSLangCode())}</span><br> 
623                                </#if> 
624                                <#if !connectorSpecification.properties.isNull("connectorDescription")> 
625                                <span class="small"> 
626                                    <#assign connectorDescription = cmsContentFormatterService.getMarkdown(localizeField(connectorSpecification.properties.connectorDescription, profile.getCMSLangCode()), 300)> 
627                                    ${connectorDescription} 
628                                </span> 
629                                </#if> 
630                                <br> 
631                            </p> 
632                        </div> 
633                        </#list> 
634                    </div> 
635                </#if> 
636                <#if productSpecifications?has_content> 
637                <#if !productSpecifications.properties.isNull("bassMidCrossover") || !productSpecifications.properties.isNull("bassTrebleCrossover") || !productSpecifications.properties.isNull("midTrebleCrossover") || !productSpecifications.properties.isNull("crossoverDescription")> 
638                    <div class="row"> 
639                        <h5 class="text-bolder col-lg-12 mb-0"><@liferay.language key="crossover"/></h5> 
640             
641                        <@printIfNotEmpty title="Bass/Mid" container=productSpecifications.properties field="bassMidCrossover" cssTitle="text-medium text-bolder" cssContent="small text-bolder" cssDiv="col-lg-4" unit="Hz"/> 
642                        <@printIfNotEmpty title="Bass/Treble" container=productSpecifications.properties field="bassTrebleCrossover" cssTitle="text-medium text-bolder" cssContent="small text-bolder" cssDiv="col-lg-4" unit="Hz"/> 
643                        <@printIfNotEmpty title="Mid/Treble" container=productSpecifications.properties field="midTrebleCrossover" cssTitle="text-medium text-bolder" cssContent="small text-bolder" cssDiv="col-lg-4" unit="Hz"/> 
644                         
645                    </div> 
646                        <#if !productSpecifications.properties.isNull("crossoverDescription") && localizeField(productSpecifications.properties.crossoverDescription, profile.getCMSLangCode())?has_content> 
647                        <div class="row border-top-0"> 
648                            <div class="col-12"> 
649                                <#assign crossoverDescription = cmsContentFormatterService.getMarkdown(localizeField(productSpecifications.properties.crossoverDescription, profile.getCMSLangCode()), 300)> 
650                                    ${crossoverDescription} 
651                            </div> 
652                        </div> 
653                        </#if>                     
654                </#if> 
655                </#if> 
656            </div> 
657 
658                 
659                <#-- Product codes --> 
660 
661                <#if cmsEntity.getField(profile, "/entity/relationships/variants")?has_content> 
662                    <div class="bg-black tech-spec-sub-header">  
663                        <h3 class="text-bolder mb-0"><@liferay.language key="product-variants"/></h3>  
664                    </div> 
665                     
666                    <div class="technical-specifications-table product-codes-table"> 
667                        <div class="row border-0"> 
668                            <div class="col-lg-12 pb-0"> 
669                                <h5 class="text-bolder"><@liferay.language key="product-codes"/></h5> 
670                            </div> 
671                        </div> 
672 
673                        <div class="row border-0 d-none d-lg-flex row-header"> 
674                            <div class="col-lg-2 pt-0 pb-0 text-bolder"> 
675                                <@liferay.language key="product-code"/> 
676                            </div> 
677                            <div class="col-lg-6 pt-0 pb-0 text-bolder"> 
678                                <@liferay.language key="product-information"/> 
679                            </div> 
680                            <div class="col-lg-2 pt-0 pb-0 text-bolder"> 
681                                <@liferay.language key="ean-code"/> 
682                            </div> 
683                            <div class="col-lg-2 pt-0 pb-0 text-bolder"> 
684                                <@liferay.language key="cn-code"/> 
685                            </div>                                 
686                        </div> 
687                         
688                        <#list cmsEntity.getField(profile, "/entity/relationships/variants").iterator() as variant> 
689                            <div class="row border-0 mt-0 mb-0"> 
690                                <div class="col-lg-2 pt-0 pb-0"> 
691                                    <#if !variant.properties.isNull("sku")>${variant.properties.sku}</#if> 
692                                </div> 
693                                <div class="col-lg-6 pt-0 pb-0"> 
694                                    <#if !variant.properties.isNull("title")> 
695                                        ${localizeField(variant.properties.title, profile.getCMSLangCode())} 
696                                    </#if> 
697                                </div> 
698                                <div class="col-lg-2 pt-0 pb-0"> 
699                                    <#if !variant.properties.isNull("eanCode")> 
700                                        <span class="d-lg-none field-label"><@liferay.language key="ean-code"/>: </span> 
701                                        ${variant.properties.eanCode} 
702                                    </#if> 
703                                </div> 
704                                <div class="col-lg-2 pt-0 pb-0"> 
705                                    <#if !variant.properties.isNull("cnCode")> 
706                                        <span class="d-lg-none field-label"><@liferay.language key="cn-code"/>: </span> 
707                                        ${variant.properties.cnCode} 
708                                    </#if> 
709                                </div>                                 
710                            </div> 
711                        </#list> 
712                    </div> 
713 
714                </#if> 
715                 
716                <#-- Compatible Accessories --> 
717                 
718 
719                <#if cmsEntity.getField(profile, "/entity/relationships/accessories")?has_content> 
720                    <div class="bg-black tech-spec-sub-header mt-4">  
721                        <h3 class="text-bolder mb-0"><@liferay.language key="compatible-accessories"/></h3>  
722                    </div> 
723                     
724                    <div class="technical-specifications-table product-codes-table"> 
725                        <div class="row border-0"> 
726                            <div class="col-lg-12 pb-0"> 
727                                <h5 class="text-bolder"><@liferay.language key="product-codes"/></h5> 
728                            </div> 
729                        </div> 
730 
731                        <div class="row border-0 d-none d-lg-flex row-header"> 
732                            <div class="col-lg-2 pt-0 pb-0 text-bolder"> 
733                                <@liferay.language key="product-code"/> 
734                            </div> 
735                            <div class="col-lg-6 pt-0 pb-0 text-bolder"> 
736                                <@liferay.language key="product-information"/> 
737                            </div> 
738                            <div class="col-lg-2 pt-0 pb-0 text-bolder"> 
739                                <@liferay.language key="ean-code"/> 
740                            </div> 
741                            <div class="col-lg-2 pt-0 pb-0 text-bolder"> 
742                                <@liferay.language key="cn-code"/> 
743                            </div>                                 
744                        </div> 
745 
746                        <#if cmsEntity.getLocalizedField(profile, "/entity/relationships/accessories")?has_content> 
747                            <#assign accessories = cmsEntity.getLocalizedField(profile, "/entity/relationships/accessories").references > 
748                        <#else> 
749                            <#assign accessories = cmsEntity.getField(profile, "/entity/relationships/accessories") > 
750                        </#if> 
751                        <#list accessories.iterator() as accessory> 
752                            <#if !accessory.isNull("relationships") && !accessory.relationships.isNull("variants")> 
753                                <#list accessory.relationships.variants.iterator() as accesoryVariant> 
754                                    <div class="row border-0 mt-0 mb-0"> 
755                                        <div class="col-lg-2 pt-0 pb-0"> 
756                                            <#if !accesoryVariant.properties.isNull("sku")>${accesoryVariant.properties.sku}</#if> 
757                                        </div> 
758                                        <div class="col-lg-6 pt-0 pb-0"> 
759                                            <#if !accesoryVariant.properties.isNull("title")> 
760                                                ${localizeField(accesoryVariant.properties.title, profile.getCMSLangCode())} 
761                                            </#if> 
762                                        </div> 
763                                        <div class="col-lg-2 pt-0 pb-0"> 
764                                            <#if !accesoryVariant.properties.isNull("eanCode")> 
765                                                <span class="d-lg-none field-label"><@liferay.language key="ean-code"/>: </span> 
766                                                ${accesoryVariant.properties.eanCode} 
767                                            </#if> 
768                                        </div> 
769                                        <div class="col-lg-2 pt-0 pb-0"> 
770                                            <#if !accesoryVariant.properties.isNull("cnCode")> 
771                                                <span class="d-lg-none field-label"><@liferay.language key="cn-code"/>: </span> 
772                                                ${accesoryVariant.properties.cnCode} 
773                                            </#if> 
774                                        </div>                                 
775                                    </div> 
776                                </#list> 
777                            </#if> 
778                            
779                        </#list> 
780                    </div> 
781 
782                </#if> 
783                 
784                <div class="row"> 
785                    <div class="col-lg-12"> 
786                        <h5 class="text-bolder tech-spec-bottom"><@liferay.language key="For-even-more-technical-details-please-see-product-operating-manual"/></h5> 
787                    </div> 
788                </div>              
789        </div> <!-- /panel-body --> 
790    </div> <!-- /popup-content --> 
791</div> <!-- /theme-popup --> 
792 
793<style> 
794    .technical-specifications-img{ 
795        border: 1px solid #CCC; 
796
797    .tech-spec-sub-header{ 
798        padding: 20px; 
799
800    .tech-spec-bottom { 
801        margin-top: 5%; 
802
803    .technical-specifications-table .row { 
804        border-bottom: none; 
805
806    .technical-specifications-table>.row> [class*="col-"] { 
807        padding-top: 20px; 
808        padding-bottom: 20px; 
809
810    .technical-specifications-table>.row>h5 { 
811        padding-bottom: 0 !important; 
812
813    .technical-specifications-table .row:first-of-type { 
814        border-top: none; 
815
816    .tech-spec-sub-header + .row { 
817        border-top: none; 
818
819    .no-padding { 
820        padding: 0; 
821
822 
823    @media (min-width: 992px){ 
824        .middle-lines:not(:first-of-type){ 
825            border-left:1px solid #CCC;  
826
827        .technical-specifications-table { 
828            margin: auto 20px; 
829
830
831 
832    #mmtoinch-${ns}:hover, 
833    #mmtoinch-${ns}:focus { 
834        text-decoration: none; 
835        cursor: pointer; 
836
837    #mmtoinch-driver-${ns}:hover, 
838    #mmtoinch-driver-${ns}:focus { 
839        text-decoration: none; 
840        cursor: pointer; 
841
842</style> 
843 
844<script> 
845 
846<#if productSpecifications?has_content> 
847 $("#mmtoinch-${ns}").click(function(){ 
848    <#if !productSpecifications.properties.isNull("heightWithIsoPod")> 
849    $("#heightWithIsoPod-${ns}").text(function(i, v){ 
850        return v == '${productSpecifications.properties.heightWithIsoPod}' ? mminch("${productSpecifications.properties.heightWithIsoPod}").toInch() : '${productSpecifications.properties.heightWithIsoPod}' 
851    }); 
852    </#if> 
853    <#if !productSpecifications.properties.isNull("height")> 
854    $("#height-${ns}").text(function(i, v){ 
855        return v == '${productSpecifications.properties.height}' ? mminch("${productSpecifications.properties.height}").toInch() : '${productSpecifications.properties.height}' 
856 
857    }); 
858    </#if> 
859    <#if !productSpecifications.properties.isNull("width")> 
860    $("#width-${ns}").text(function(i, v){ 
861        return v == '${productSpecifications.properties.width}' ? mminch("${productSpecifications.properties.width}").toInch() : '${productSpecifications.properties.width}' 
862 
863    }); 
864    </#if> 
865    <#if !productSpecifications.properties.isNull("depth")> 
866    $("#depth-${ns}").text(function(i, v){ 
867        return v == '${productSpecifications.properties.depth}' ? mminch("${productSpecifications.properties.depth}").toInch() : '${productSpecifications.properties.depth}' 
868 
869    }); 
870    </#if> 
871     $("#mm_inch-${ns}").text(function(i, v){ 
872        return v == 'mm' ? 'in' : 'mm' 
873 
874    }); 
875    $("#mmtoinch-${ns}").text(function(i, v){ 
876        return v == '(<@liferay.language key="view-in-inches"/>)' ? '(<@liferay.language key="view-in-mm"/>)' : '(<@liferay.language key="view-in-inches"/>)' 
877 
878    }); 
879  }); 
880</#if> 
881<#if driverSpecifications?has_content> 
882  $("#mmtoinch-driver-${ns}").click(function(){ 
883      <#list driverSpecifications.iterator() as driverSpecification> 
884      <#assign driverId = driverSpecification.id> 
885    <#if !driverSpecification.properties.isNull("driverHeight")> 
886    $("#driverHeight-${ns}-${driverId}").text(function(i, v){ 
887        return v == mminch('${driverSpecification.properties.driverHeight}').toInch() ? '${driverSpecification.properties.driverHeight}' : mminch('${driverSpecification.properties.driverHeight}').toInch() 
888 
889    }); 
890    </#if> 
891    <#if !driverSpecification.properties.isNull("driverWidth")> 
892    $("#driverWidth-${ns}-${driverId}").text(function(i, v){ 
893        return v == mminch("${driverSpecification.properties.driverWidth}").toInch() ? '${driverSpecification.properties.driverWidth}' : mminch("${driverSpecification.properties.driverWidth}").toInch() 
894 
895    }); 
896    </#if> 
897    <#if !driverSpecification.properties.isNull("driverDiameter")> 
898    $("#driverDiameter-${ns}-${driverId}").text(function(i, v){ 
899        return v == mminch("${driverSpecification.properties.driverDiameter}").toInch() ? '${driverSpecification.properties.driverDiameter}' : mminch("${driverSpecification.properties.driverDiameter}").toInch() 
900 
901    }); 
902    </#if> 
903     
904    $("#mm_inch-driver-${ns}-${driverId}").text(function(i, v){ 
905        return v == ' in' ? ' mm' : ' in' 
906 
907    }); 
908    </#list> 
909     
910     $("#mmtoinch-driver-${ns}").text(function(i, v){ 
911        return v == '(<@liferay.language key="view-in-inches"/>)' ? '(<@liferay.language key="view-in-mm"/>)' : '(<@liferay.language key="view-in-inches"/>)' 
912 
913    }); 
914     
915  }); 
916</#if> 
917 
918 
919  // close popup when clicking outside of the element  
920  function closeTechSpecsPopup(e) { 
921    if(!$('#popupContent'+"3").is(e.target) &&  
922        $('#popupContent'+"3").has(e.target).length == 0 &&  
923        $(e.target).attr('class') != 'close' && 
924        $('#theme-popup'+"3").css("display") == "block"){ 
925            closePopup("3"); 
926           history.pushState(null, null, ' '); 
927
928    }; 
929 
930 
931 
932 $(document).ready(function(){ 
933    if(window.location.hash.indexOf("section-technical-specifications") > -1) { 
934	    openPopup(3); 
935    }; 
936 }); 
937 
938 
939$(document).on({ 
940    "mouseup": function (e) { closeTechSpecsPopup(e); }, 
941    "touchstart": function (e) { closeTechSpecsPopup(e); } 
942}); 
943 
944 $(".close").click(function(){ 
945     history.pushState(null, null, ' '); 
946 }); 
947 
948  
949 <#-- If printing --> 
950 if (window.location.href.indexOf("&print") > -1) { 
951    $('#section-technical-specifications').parent().addClass("print"); 
952    $('#theme-popup3').removeClass("popup"); 
953    $('#popupContent3').removeClass("popup-content"); 
954    $('#TechnicalSpecifications img.lazy').each(function() { 
955        $(this).removeClass("lazy"); 
956        $(this).attr("src", $(this).data("src")); 
957        $(this).removeAttr("data-src"); 
958    }); 
959     
960    window.print(); 
961
962  
963 </script> 
964 </#if> 
965 </#if> 
966 
967<#if printMode> 
968<@liferay_util["html-top"] outputKey="htmltop" > 
969    <meta name="robots" content="noindex" /> 
970</@>  
971</#if> 
972  
973 <style> 
974  .print #section-technical-specifications { display: none; } 
975  .print #TechnicalSpecifications { max-width: 1280px; margin: auto; padding: 30px 15px;} 
976  .print .print-icon { display: none;} 
977  .print #submenu-links { display: none !important; }  
978   
979 @media print { 
980 
981    .print #TechnicalSpecifications { padding: 0;}  
982    #content h3.section-heading { font-size: 2em; } 
983    .bg-black h3 { border-bottom: 5px solid #000; color: #000; } 
984    .tech-spec-sub-header { padding: 0px; } 
985    .col-lg-2 {max-width: calc(100% / 6); } 
986    .col-lg-3 {max-width: calc(100% / 4); } 
987    .col-lg-4 {max-width: calc(100% / 3); } 
988    .col-lg-6 { max-width: 50%; } 
989    .col-lg-8 { max-width: calc(100%/12*8); } 
990    .print .row { break-inside: avoid; } 
991    .print .product-codes-table .row-header { display: flex !important; }     
992    .print .product-codes-table .field-label { display: none; } 
993
994 </style>