PageSourceSearch

https://www.layoutconcepts.com/

html layoutconcepts.com collected 2026-10-10 00:36:01 UTC 76,488 bytes, 1,508 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3
4<head>
5    
6    <title>    Home Page  |  Layout Concepts
7</title>
8    
9    <meta charset="utf-8">
10    <meta http-equiv="X-UA-Compatible" content="IE=edge">
11    <meta http-equiv="content-language" content="en">
12    <meta name="csrf-token" content="pWDGPW6tqyqcvFyV5n0urj1T1xQoQeikt7zAgSWZ">
13    <meta name="base-url" content="https://www.layoutconcepts.com">
14    <meta name="trade-discount" content="0">
15    <meta http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate, post-check=0, pre-check=0" />
16    <meta http-equiv="Pragma" content="no-cache" />
17    <meta http-equiv="Expires" content="0" />
18    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
19    <link rel="canonical" href="https://www.layoutconcepts.com">
20
21    <link rel="stylesheet" href="https://www.layoutconcepts.com/vendor/webkul/suggestion/assets/css/suggestion.min.css" async>
22
23    
24                            <meta name="title" content="Home Page  |  Layout Concepts" />
25        
26                    <meta name="description" content="Home Page  | Layout Concepts" />
27        
28                    <meta name="keywords" content="Home Page  | Layout Concepts" />
29                <!-- TrustBox script -->
30    
30<script type="text/javascript" src="//widget.trustpilot.com/bootstrap/v5/tp.widget.bootstrap.min.js" async></script>
30
31
32    
33    
34    
35            <link rel="icon" sizes="16x16" href="https://themodelcentre.b-cdn.net/a94cf6be-0300-468d-afe4-21d6f6164b2e.png?class=Full?optimizer=image" />
36    
37    
38    <link rel="preload" href="https://www.layoutconcepts.com/themes/velocity/assets/fonts/font-rango/rango.ttf?o0evyv" as="font" crossorigin="anonymous" async  />
39
40
41<link rel="stylesheet" href="https://www.layoutconcepts.com/themes/velocity/assets/css/bootstrap.min.css" async  />
42<link rel="stylesheet" href="https://www.layoutconcepts.com/themes/velocity/assets/css/velocity.css" async />
43<link rel="stylesheet" href="https://www.layoutconcepts.com/themes/velocity/assets/css/lightgallery.min.css" async  />
44<link rel="stylesheet" href="https://www.layoutconcepts.com/themes/velocity/assets/css/unite-gallery.min.css" async  />
45<link rel="stylesheet" href="https://www.layoutconcepts.com/imagerotator/css/basic.css" async  />
46
47<!-- or include the full Satellite theme -->
48<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/themes/satellite-min.css" integrity="sha256-p/rGN4RGy6EDumyxF9t7LKxWGg6/MZfGhJM/asKkqvA=" crossorigin="anonymous">
49
50
51
52
53<!-- <link rel="stylesheet" href="https://www.layoutconcepts.com/themes/velocity/assets/css/velocity.css" />
54<link rel="stylesheet" href="https://www.layoutconcepts.com/themes/velocity/assets/css/unite-gallery.css" /> -->
55<!-- <link rel="stylesheet" href="https://www.layoutconcepts.com/themes/velocity/assets/css/lightgallery.css" /> -->
56
57
58            <link rel="preload" as="image" href="https://themodelcentre.b-cdn.net/977bfee4-cc59-41ea-ba74-6fd5055fbfb2.jpeg?class=Full?optimizer=image">
59    
60    <style type="text/css">
61        .product-price span:first-child, .product-price span:last-child {
62            font-size: 18px;
63            font-weight: 600;
64        }
65    </style>
66<!--
67
68<link href='https://fonts.googleapis.com/css?family=Montserrat' rel='stylesheet' async > -->
69
70
71<style>
72    .searchanise-wrapper form {
73        width: 70%;
74        min-width: 400px;
75    }
76</style>
77
78
79    
80    
80<script type="text/javascript" src="https://api.goaffpro.com/loader.js?shop=hmzaofzcqg"></script>
80
81</head>
82
83<body >
84
85
86
87<div id="app">
88    <product-quick-view v-if="$root.quickView"></product-quick-view>
89
90    <div class="main-container-wrapper">
91
92                    
93            <nav class="row" id="top">
94    <div class="col-sm-12" style="background-color: var(--primary-color);">
95        <div class="d-inline-block" style="position: relative; width: 100%; text-align: center; padding: 12px 20px;">
96  <div style="display: inline-block;" class="basicText">
97    <h6 class="amountLeft" style="font-weight: 600;text-align: center;margin: auto;font-style: normal;font-size: 16px;line-height: 16px;color: white;display: block;">
98      <div class="amasty-shipbar-car">
99        <svg class="amshipbar-mobile" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" data-bind="click: contentVisibility.bind(null,true)" version="1.1" id="Layer_1" x="0px" width="64px" height="32px" y="0px" viewBox="0 0 99 50.48" xml:space="preserve">
100          
101          <path class="st0" style="fill: #FEC70D;" d="M41.99,38.03c0,0.3-0.03,0.62-0.09,0.97l-0.01,0.03c-0.47,2.41-2.6,4.16-5.05,4.16c-2.45,0-4.57-1.75-5.04-4.12  l-0.01-0.09c-0.06-0.33-0.09-0.64-0.09-0.95c0-2.84,2.31-5.16,5.15-5.16C39.68,32.87,41.99,35.19,41.99,38.03 M84.67,38.03  c0,0.3-0.03,0.61-0.09,0.93c-0.01,0.03
101-0.01,0.06-0.01,0.09c-0.48,2.4-2.6,4.13-5.04,4.13c-2.46,0-4.58-1.74-5.04-4.12l-0.01-0.09  c-0.06-0.34-0.09-0.64-0.09-0.95c0-2.84,2.31-5.16,5.15-5.16C82.36,32.87,84.67,35.19,84.67,38.03 M84.02,18.62H70.88  c-0.73,0-1.57-0.67-1.73-1.38l-2.01-8.66c2.64,0.4,5.84,1.63,7.61,2.98L84.02,18.62z M90.46,28.39v0.71h-0.68  c-0.72,0-1.31-0.59-1.31-1.31c0-0.72,0.59-1.31,1.31-1.31h0.42C90.37,27.16,90.46,27.82,90.46,28.39 M93.28,23.96  c-0.63-1.67-1.57-3.29-2.64-4.57c-0.06-0.08-0.11-0.15-0.17-0.21c-0.52-0.6-1.07-1.12-1.62-1.54L77,8.62  c-2.81-2.14-7.95-3.87-11.48-3.87H22.51c-0.95,0-1.71,0.83-1.71,1.85c0,1.03,0.77,1.86,1.71,1.86h40.8l2.23,9.63  c0.54,2.34,2.94,4.25,5.34,4.25h17.36c0.13,0.18,0.26,0.37,0.38,0.56c-2.22,0.52-3.85,2.51-3.85,4.89c0,2.77,2.25,5.02,5.01,5.02  h0.68v0.73c0,1.46-0.87,2.83-2.15,3.49c-0.5-4.41-4.28-7.87-8.79-7.87c-4.69,0-8.54,3.67-8.83,8.3H45.68  c-0.29-4.63-4.14-8.3-8.83-8.3c-4.69,0-8.53,3.67-8.83,8.29c-2.05-0.12-3.68-1.83-3.68-3.92v-0.23h2.47c0.94,0,1.71-0.83,1.71-1.86  c0-1.02-0.77-1.86-1.71-1.86H14.57c-0.94,0-1.71,0.83-1.71,1.86c0,1.03,0.77,1.86,1.71,1.86h6.05v0.23c0,4.21,3.42,7.63,7.62,7.63  h0.33c1.29,3.45,4.56,5.73,8.27,5.73c3.71,0,6.98-2.28,8.28-5.73h26.13c1.29,3.45,4.57,5.73,8.28,5.73c3.76,0,7.05-2.33,8.32-5.84  c3.63-0.62,6.32-3.79,6.32-7.52v-5.15C94.17,27.03,93.86,25.5,93.28,23.96"></path>
102          <path class="st0" style="fill: #FEC70D;" d="M11.14,13.23h20.49c0.95,0,1.71-0.83,1.71-1.85c0-1.03-0.77-1.86-1.71-1.86H11.14c-0.95,0-1.71,0.83-1.71,1.86  C9.42,12.4,10.19,13.23,11.14,13.23"></path>
103          <path class="st0" style="fill: #FEC70D;" d="M16.77,17.59c0,1.02,0.77,1.86,1.71,1.86h14.98c0.94,0,1.71-0.83,1.71-1.86c0-1.02-0.77-1.85-1.71-1.85H18.49  C17.54,15.74,16.77,16.57,16.77,17.59"></path>
104          <path class="st0" style="fill: #FEC70D;" d="M29.5,24.16c0-1.02-0.77-1.86-1.71-1.86H4.55c-0.95,0-1.71,0.83-1.71,1.86c0,1.02,0.77,1.86,1.71,1.86h23.24  C28.73,26.01,29.5,25.18,29.5,24.16"></path>
105        </svg>
106      </div>Get FREE UK postage when you spend <span>&pound;250</span> or more on our website <button class="learn_more">Learn More</button>
107    </h6>
108  </div>
109  <div class="learnMoreContent" style="display: none;width: fit-content;margin: 0 auto;">
110    <h6 class="amountLeft" style="font-weight: 600;text-align: center;margin: auto;font-style: normal;font-size: 16px;line-height: 16px;color: white;display: block;">
111      <div class="amasty-shipbar-car">
112        <svg class="amshipbar-mobile" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" data-bind="click: contentVisibility.bind(null,true)" version="1.1" id="Layer_1" x="0px" width="64px" height="32px" y="0px" viewBox="0 0 99 50.48" xml:space="preserve">
113          
114          <path class="st0" style="fill: #FEC70D;" d="M41.99,38.03c0,0.3-0.03,0.62-0.09,0.97l-0.01,0.03c-0.47,2.41-2.6,4.16-5.05,4.16c-2.45,0-4.57-1.75-5.04-4.12  l-0.01-0.09c-0.06-0.33-0.09-0.64-0.09-0.95c0-2.84,2.31-5.16,5.15-5.16C39.68,32.87,41.99,35.19,41.99,38.03 M84.67,38.03  c0,0.3-0.03,0.61-0.09,0.93c-0.01,0.03
114-0.01,0.06-0.01,0.09c-0.48,2.4-2.6,4.13-5.04,4.13c-2.46,0-4.58-1.74-5.04-4.12l-0.01-0.09  c-0.06-0.34-0.09-0.64-0.09-0.95c0-2.84,2.31-5.16,5.15-5.16C82.36,32.87,84.67,35.19,84.67,38.03 M84.02,18.62H70.88  c-0.73,0-1.57-0.67-1.73-1.38l-2.01-8.66c2.64,0.4,5.84,1.63,7.61,2.98L84.02,18.62z M90.46,28.39v0.71h-0.68  c-0.72,0-1.31-0.59-1.31-1.31c0-0.72,0.59-1.31,1.31-1.31h0.42C90.37,27.16,90.46,27.82,90.46,28.39 M93.28,23.96  c-0.63-1.67-1.57-3.29-2.64-4.57c-0.06-0.08-0.11-0.15-0.17-0.21c-0.52-0.6-1.07-1.12-1.62-1.54L77,8.62  c-2.81-2.14-7.95-3.87-11.48-3.87H22.51c-0.95,0-1.71,0.83-1.71,1.85c0,1.03,0.77,1.86,1.71,1.86h40.8l2.23,9.63  c0.54,2.34,2.94,4.25,5.34,4.25h17.36c0.13,0.18,0.26,0.37,0.38,0.56c-2.22,0.52-3.85,2.51-3.85,4.89c0,2.77,2.25,5.02,5.01,5.02  h0.68v0.73c0,1.46-0.87,2.83-2.15,3.49c-0.5-4.41-4.28-7.87-8.79-7.87c-4.69,0-8.54,3.67-8.83,8.3H45.68  c-0.29-4.63-4.14-8.3-8.83-8.3c-4.69,0-8.53,3.67-8.83,8.29c-2.05-0.12-3.68-1.83-3.68-3.92v-0.23h2.47c0.94,0,1.71-0.83,1.71-1.86  c0-1.02-0.77-1.86-1.71-1.86H14.57c-0.94,0-1.71,0.83-1.71,1.86c0,1.03,0.77,1.86,1.71,1.86h6.05v0.23c0,4.21,3.42,7.63,7.62,7.63  h0.33c1.29,3.45,4.56,5.73,8.27,5.73c3.71,0,6.98-2.28,8.28-5.73h26.13c1.29,3.45,4.57,5.73,8.28,5.73c3.76,0,7.05-2.33,8.32-5.84  c3.63-0.62,6.32-3.79,6.32-7.52v-5.15C94.17,27.03,93.86,25.5,93.28,23.96"></path>
115          <path class="st0" style="fill: #FEC70D;" d="M11.14,13.23h20.49c0.95,0,1.71-0.83,1.71-1.85c0-1.03-0.77-1.86-1.71-1.86H11.14c-0.95,0-1.71,0.83-1.71,1.86  C9.42,12.4,10.19,13.23,11.14,13.23"></path>
116          <path class="st0" style="fill: #FEC70D;" d="M16.77,17.59c0,1.02,0.77,1.86,1.71,1.86h14.98c0.94,0,1.71-0.83,1.71-1.86c0-1.02-0.77-1.85-1.71-1.85H18.49  C17.54,15.74,16.77,16.57,16.77,17.59"></path>
117          <path class="st0" style="fill: #FEC70D;" d="M29.5,24.16c0-1.02-0.77-1.86-1.71-1.86H4.55c-0.95,0-1.71,0.83-1.71,1.86c0,1.02,0.77,1.86,1.71,1.86h23.24  C28.73,26.01,29.5,25.18,29.5,24.16"></path>
118        </svg>
119      </div> Free Shipping is available for all orders over &pound;250 for UK delivery addresses only. Only available online. <svg class="extra" data-bind="click: helpFlag.bind(null, false), style: { fill : extraColor }" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 476.737 476.737" style="fill: #047EB5">
120        <path d="M238.369 0C106.726 0 0 106.726 0 238.369c0 131.675 106.726 238.369 238.369 238.369 131.675 0 238.369-106.694 238.369-238.369C476.737 106.726 370.043 0 238.369 0zm110.444 150.395l-88.578 88.61 78.407 87.338c6.198 6.198 6.198 16.304 0 22.47-6.166 6.198-16.273 6.198-22.438 0l-78.407-87.338-87.37 87.338c-6.198 6.198-16.273 6.198-22.47 0-6.198-6.166-6.198-16.273 0-22.47l88.578-88.578-78.376-87.37c-6.198-6.198-6.198-16.273 0-22.47s16.273-6.198 22.47 0l78.407 87.37 87.338-87.37c6.198-6.198 16.273-6.198 22.47 0 6.198 6.197 6.166 16.272-.031 22.47z"></path>
121      </svg>
122    </h6>
123  </div>
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143</div>
144
145
146<!--
147
148
149    
150
151
152-->
153    </div>
154</nav>
155            
156
157            
158            <header class="sticky-header">
159  <div class="row remove-padding-margin velocity-divide-page">
160<div class="left">
161  <div class="dcc-desktop-burger">
162      <mobile-header is-customer="false" heading="Shop by Category" :header-content="[]" cart-items-count="0" cart-route="https://www.layoutconcepts.com/checkout/cart" :locale="{&quot;id&quot;:1,&quot;code&quot;:&quot;en&quot;,&quot;name&quot;:&quot;English&quot;,&quot;created_at&quot;:null,&quot;updated_at&quot;:null,&quot;direction&quot;:&quot;ltr&quot;,&quot;locale_image&quot;:null,&quot;image_url&quot;:&quot;https:\/\/www.layoutconcepts.com\/flags\/en.png&quot;}" :all-locales="[{&quot;id&quot;:1,&quot;code&quot;:&quot;en&quot;,&quot;name&quot;:&quot;English&quot;,&quot;created_at&quot;:null,&quot;updated_at&quot;:null,&quot;direction&quot;:&quot;ltr&quot;,&quot;locale_image&quot;:null,&quot;image_url&quot;:&quot;https:\/\/www.layoutconcepts.com\/flags\/en.png&quot;,&quot;pivot&quot;:{&quot;channel_id&quot;:1,&quot;locale_id&quot;:1}}]" :currency="{&quot;id&quot;:5,&quot;code&quot;:&quot;GBP&quot;,&quot;name&quot;:&quot;UK&quot;,&quot;created_at&quot;:&quot;2023-03-10T15:30:14.000000Z&quot;,&quot;updated_at&quot;:&quot;2023-03-10T15:30:14.000000Z&quot;,&quot;symbol&quot;:&quot;\u00a3&quot;}" :all-currencies="[{&quot;id&quot;:5,&quot;code&quot;:&quot;GBP&quot;,&quot;name&quot;:&quot;UK&quot;,&quot;created_at&quot;:&quot;2023-03-10T15:30:14.000000Z&quot;,&quot;updated_at&quot;:&quot;2023-03-10T15:30:14.000000Z&quot;,&quot;symbol&quot;:&quot;\u00a3&quot;,&quot;pivot&quot;:{&quot;channel_id&quot;:1,&quot;currency_id&quot;:5}}]">
163  
164  <div style="display: flex; justify-content: space-between; align-items: center">
165    <div>
166      <div class="hamburger-wrapper">
167        <i class="rango-toggle hamburger" style="color:white"></i>
168      </div>
169    </div>
170    <div style="padding: 0px 30px; flex-grow: 1">
171    </div>
172    <div>
173      <div class="mobile-mini-cart">
174        <a class="mini-cart-content" href="https://www.layoutconcepts.com/checkout/cart" style="color: black">
175          <i class="material-icons-outlined">shopping_cart</i>
176          <div class="badge-container">
177            <span class="badge">0</span>
178          </div>
179        </a>
180      </div>
181    </div>
182  </div>
183
184
185  <template v-slot:greetings>
186    
187
188      </template>
189
190  <template v-slot:customer-navigation>
191      </template>
192
193  <template v-slot:extra-navigation>
194    <li>
195        <a class="unset" href="/pre-owned" style="background: #ffc809;padding: 2px;">
196            <span>Sell your models</span>
197        </a>
198    </li>
199    <li>
200      
201    
202            <a class="unset" href="https://www.layoutconcepts.com/customer/login?redirect=%2F">
203        <span>Sign In</span>
204      </a>
205          </li>
206
207    <li>
208            <a class="unset" href="https://www.layoutconcepts.com/customer/register?redirect=%2F">
209        <span>Sign Up</span>
210      </a>
211          </li>
212  </template>
213
214  <template v-slot:logo>
215    
216  </template>
217
218  <template v-slot:search-bar>
219    <algolia-search/>  </template>
220
221</mobile-header>
222  </div>
223  <a class="navbar-brand" href="https://www.layoutconcepts.com" aria-label="Logo">
224    <!-- <img class="logo" src="https://themodelcentre.b-cdn.net/af39a5fc-a327-431b-a274-1a7f91f063d6.png?class=Full?optimizer=image" alt="" />  -->
225    <img class="logo" src="https://www.layoutconcepts.com/themes/velocity/assets/images/dcc_logo.png" alt="" />
226  </a>
227</div>
228    <div class="quarter-screen" style="">
229        <!-- <a class="compare-btn unset" href="/pre-owned"  style="background: #ffc809; padding: 6px; font-size: 12px; font-weight: 900; color: black !important;"> -->
230        <!--    Sell your models -->
231        <!-- </a> -->
232    </div>
233    <div class="right searchbar">
234      <div class="header-search-wrapper">
235        <div class="header-search-col">
236          <algolia-search/>        </div>
237
238        <div class="vc-full-screen">
239          <div class="left-wrapper" style="align-items: center">
240            
241
242            <wishlist-component-with-badge
243        is-customer="false"
244        is-text="true"
245        src="https://www.layoutconcepts.com/customer/account/wishlist">
246    </wishlist-component-with-badge>
247
248
249            
250
251            
252
253            
254                        <a href="https://www.layoutconcepts.com/customer/login" style="margin: 17px;" class="compare-btn unset">
255              Sign In
256            </a>
257            
258            
259            
260
261            
262
263            <a class="mini-cart-btn">
264    <mini-cart
265        is-tax-inclusive="1"
266        view-cart-route="https://www.layoutconcepts.com/checkout/cart"
267        checkout-route="https://www.layoutconcepts.com/checkout/onepage"
268        check-minimum-order-route="https://www.layoutconcepts.com/checkout/check-minimum-order"
269        cart-text="Cart"
270        view-cart-text="View Shopping Cart"
271        checkout-text="Go to Full Checkout"
272        cart-total-text="Cart Total"
273        token="pWDGPW6tqyqcvFyV5n0urj1T1xQoQeikt7zAgSWZ"
274        form-action="https://www.layoutconcepts.com/checkout/cart"
275    >
276    </mini-cart>
277</a>
278            
279          </div>
280        </div>
281      </div>
282      
283    </div>
284  </div>
285  <div class="newsletter-subscription">
286    <div class="newsletter-wrapper row col-12" style="color:#164480;padding: 0 30px; background-color: var(--light-primary-color); margin-top : 38px; display: flex; justify-content: space-between;">
287        <div style="display: flex; justify-content: flex-start; gap: 30px;">
288            <div class="no-padding" style="margin: 5px 0">
289                <a class="a" style="display: flex; align-items: center; gap: 8px;" href="/">
290                    <div style="text-align: center; font-size: 40px;">
291                            <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#007bff"><path d="M240-200h120v-240h240v240h120v-360L480-740 240-560v360Zm-80 80v-480l320-240 320 240v480H520v-240h-80v240H160Zm320-350Z"/></svg> 
292                    </div>
293                    <div>
294                        <div class="extra-header" style="text-align: left; font-size: 13px;">Home</div>
295                    </div>
296                </a>
297            </div>
298            <div class="no-padding" style="margin: 5px 0">
299                <a class="a" style="display: flex; align-items: center; gap: 8px;" href="/all-products?sort=name&order=asc">
300                    <div style="text-align: center; font-size: 40px;">
301                        <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#007bff"><path d="M120-120v-720h720v720H120Zm640-80v-240H520v240h240Zm0-560H520v240h240v-240Zm-560 0v240h240v-240H200Zm0 560h240v-240H200v240Z"/></svg>
302                    </div>
303                    <div>
304                        <div class="extra-header" style="text-align: left; font-size: 13px;">All Products</div>
305                    </div>
306                </a>
307            </div>
308        </div>
309        <div style="display: flex; gap: 30px;">
310            <div class="no-padding" style="margin: 5px 0">
311                <a class="a" style="display: flex; align-items: center; gap: 8px;" href="/page/shipping-policy">
312                    <div style="text-align: center; font-size: 40px;">
313                        <i class="material-icons text-down-5">location_on</i>
314                    </div>
315                    <div>
316                        <div class="extra-header" style="text-align: left font-size: 13px;">Delivery</div>
317                        
318                    </div>
319                </a>
320            </div>
321            <div class="no-padding" style="margin: 5px 0">
322                <a class="a" style="display: flex; align-items: center; gap: 8px;" href="/page/return-policy">
323                    <div style="text-align: center; font-size: 40px;">
324                        <i class="material-icons text-down-5">autorenew</i>
325                    </div>
326                    <div>
327                        <div class="extra-header" style="text-align: left; font-size: 13px;">Returns</div>
328                        
329                    </div>
330                </a>
331            </div>
332            <div class="no-padding" style="margin: 5px 0">
333                <a class="a" style="display: flex; align-items: center; gap: 8px;" href="/page/pre-orders">
334                    <div style="text-align: center; font-size: 40px;">
335                        <i class="material-icons text-down-5">schedule</i>
336                    </div>
337                    <div>
338                        <div class="extra-header" style="text-align: left font-size: 13px;">Pre-Orders</div>
339                        
340                    </div>
341                </a>
342            </div>
343            <div class="no-padding" style="margin: 5px 0">
344                <a class="a" style="display: flex; align-items: center; gap: 8px;" href="/contact">
345                    <div style="text-align: center; font-size: 40px;">
346                        <i class="material-icons text-down-5">people</i>
347                    </div>
348                    <div>
349                        <div class="extra-header" style="text-align: left; font-size: 13px;">Contact</div>
350                        
351                    </div>
352                </a>
353            </div>
354        </div>
355        <div></div>
356    </div>
357</div>
358</header>
359
360
361
362            
363
364            <div class="main-content-wrapper col-12 no-padding">
365
366                
367                <header class="row velocity-divide-page vc-header header-shadow active">
368
369                    
370                    <div class="vc-small-screen container">
371                        <mobile-header is-customer="false" heading="Shop by Category" :header-content="[]" cart-items-count="0" cart-route="https://www.layoutconcepts.com/checkout/cart" :locale="{&quot;id&quot;:1,&quot;code&quot;:&quot;en&quot;,&quot;name&quot;:&quot;English&quot;,&quot;created_at&quot;:null,&quot;updated_at&quot;:null,&quot;direction&quot;:&quot;ltr&quot;,&quot;locale_image&quot;:null,&quot;image_url&quot;:&quot;https:\/\/www.layoutconcepts.com\/flags\/en.png&quot;}" :all-locales="[{&quot;id&quot;:1,&quot;code&quot;:&quot;en&quot;,&quot;name&quot;:&quot;English&quot;,&quot;created_at&quot;:null,&quot;updated_at&quot;:null,&quot;direction&quot;:&quot;ltr&quot;,&quot;locale_image&quot;:null,&quot;image_url&quot;:&quot;https:\/\/www.layoutconcepts.com\/flags\/en.png&quot;,&quot;pivot&quot;:{&quot;channel_id&quot;:1,&quot;locale_id&quot;:1}}]" :currency="{&quot;id&quot;:5,&quot;code&quot;:&quot;GBP&quot;,&quot;name&quot;:&quot;UK&quot;,&quot;created_at&quot;:&quot;2023-03-10T15:30:14.000000Z&quot;,&quot;updated_at&quot;:&quot;2023-03-10T15:30:14.000000Z&quot;,&quot;symbol&quot;:&quot;\u00a3&quot;}" :all-currencies="[{&quot;id&quot;:5,&quot;code&quot;:&quot;GBP&quot;,&quot;name&quot;:&quot;UK&quot;,&quot;created_at&quot;:&quot;2023-03-10T15:30:14.000000Z&quot;,&quot;updated_at&quot;:&quot;2023-03-10T15:30:14.000000Z&quot;,&quot;symbol&quot;:&quot;\u00a3&quot;,&quot;pivot&quot;:{&quot;channel_id&quot;:1,&quot;currency_id&quot;:5}}]">
372  
373  <div style="display: flex; justify-content: space-between; align-items: center">
374    <div>
375      <div class="hamburger-wrapper">
376        <i class="rango-toggle hamburger" style="color:white"></i>
377      </div>
378    </div>
379    <div style="padding: 0px 30px; flex-grow: 1">
380    </div>
381    <div>
382      <div class="mobile-mini-cart">
383        <a class="mini-cart-content" href="https://www.layoutconcepts.com/checkout/cart" style="color: black">
384          <i class="material-icons-outlined">shopping_cart</i>
385          <div class="badge-container">
386            <span class="badge">0</span>
387          </div>
388        </a>
389      </div>
390    </div>
391  </div>
392
393
394  <template v-slot:greetings>
395    
396
397      </template>
398
399  <template v-slot:customer-navigation>
400      </template>
401
402  <template v-slot:extra-navigation>
403    <li>
404        <a class="unset" href="/pre-owned" style="background: #ffc809;padding: 2px;">
405            <span>Sell your models</span>
406        </a>
407    </li>
408    <li>
409      
410    
411            <a class="unset" href="https://www.layoutconcepts.com/customer/login?redirect=%2F">
412        <span>Sign In</span>
413      </a>
414          </li>
415
416    <li>
417            <a class="unset" href="https://www.layoutconcepts.com/customer/register?redirect=%2F">
418        <span>Sign Up</span>
419      </a>
420          </li>
421  </template>
422
423  <template v-slot:logo>
424    
425  </template>
426
427  <template v-slot:search-bar>
428    <algolia-search/>  </template>
429
430</mobile-header>
431                    </div>
432
433                </header>
434
435                <div class="">
436                    <div class="row col-12 remove-padding-margin">
437                        <sidebar-component
438                            main-sidebar=true
439                            id="sidebar-level-0"
440                            url="https://www.layoutconcepts.com"
441                            category-count="9"
442                            add-class="category-list-container pt10">
443                        </sidebar-component>
444
445                        <div class="col-12 no-padding content" id="home-right-bar-container">
446                            <div class="container-right row no-margin col-12 no-padding">
447                                
448
449                                    <div class="slider-container">
450        <slider-component
451            direction="ltr"
452            default-banner="https://www.layoutconcepts.com/themes/velocity/assets/images/banner.webp"
453            :banners="[{&quot;path&quot;:&quot;4308223&quot;,&quot;slider_path&quot;:&quot;https:\/\/www.layoutconcepts.com\/page\/about-us&quot;,&quot;title&quot;:&quot;Welcome&quot;,&quot;page&quot;:&quot;home&quot;,&quot;content&quot;:&quot;&quot;,&quot;image_url&quot;:&quot;https:\/\/themodelcentre.b-cdn.net\/977bfee4-cc59-41ea-ba74-6fd5055fbfb2.jpeg?class=Full?optimizer=image&quot;},{&quot;path&quot;:&quot;4308224&quot;,&quot;slider_path&quot;:&quot;https:\/\/www.layoutconcepts.com\/page\/about-us&quot;,&quot;title&quot;:&quot;Welcome 2&quot;,&quot;page&quot;:&quot;home&quot;,&quot;content&quot;:&quot;&quot;,&quot;image_url&quot;:&quot;https:\/\/themodelcentre.b-cdn.net\/cb347309-c31f-482b-9bf9-1e1701befa59.jpeg?class=Full?optimizer=image&quot;}]">
454
455            
456
457                            <img class="col-12 no-padding banner-icon" src="https://themodelcentre.b-cdn.net/977bfee4-cc59-41ea-ba74-6fd5055fbfb2.jpeg?class=Full?optimizer=image" alt=""/>
458            
459        </slider-component>
460    </div>
461
462                                
463                            </div>
464                        </div>
465                    </div>
466                </div>
467            </div>
468        
469        <div class="container">
470            
471
472            
473    <div class="full-content-wrapper">
474        
475
476            
477                <post-collections
478    count="16"
479    carousel-id="new-posts-carousel"
480    title="Latest News"
481    url="https://www.layoutconcepts.com/get-new-articles?count=16"
482    locale-direction="ltr"
483    show-recently-viewed="false"
484>
485</post-collections>
486                <product-collections
487    count="16"
488    product-id="new-products-carousel"
489    product-title="Featured Products"
490    product-route="https://www.layoutconcepts.com/category-details?category-slug=new-products&amp;count=16"
491    locale-direction="ltr"
492    show-recently-viewed="false"
493    recently-viewed-title="Recently Viewed Products"
494    no-data-text="Not Available">
495</product-collections>
496
497
498                <product-collections
499    count="16"
500    product-id="new-products-carousel"
501    product-title="Pre-Owned Products"
502    product-route="https://www.layoutconcepts.com/category-details?category-slug=pre-owned-products&amp;count=16"
503    locale-direction="ltr"
504    show-recently-viewed="false"
505    recently-viewed-title="Recently Viewed Products"
506    no-data-text="Not Available">
507</product-collections>
508
509
510                
511                
512                
513                
514                
515                
516                
517                            
518
519        
520    </div>
521
522
523            
524        </div>
525    </div>
526
527    
528    <velocity-overlay-loader></velocity-overlay-loader>
529
530    <go-top bg-color="#26A37C"></go-top>
531</div>
532
533
534    
535
536    <div class="footer">
537	
538    <div class="newsletter-subscription">
539    <div class="newsletter-wrapper row col-12" style="color:#164480;padding: 0 20%; background-color: var(--light-primary-color); margin : 0">
540        <div class="col-lg-3 col-md-12 no-padding" style="margin: 5px 0">
541            <a class="a" style="display: grid; grid-template-columns: 40px auto;" href="/page/shipping-policy">
542                <div style="grid-row: 1 / 3; text-align: center; font-size: 40px; padding-top: 5px">
543                    <i class="material-icons text-down-5">location_on</i>
544                </div>
545                <div class="extra-header" style="text-align: left">Secure Delivery</div>
546                <div class="extra-content" style="text-align: left;">Royal Mail or DHL</div>
547            </a>
548        </div>
549        <div class="col-lg-3 col-md-12 no-padding" style="margin: 5px 0">
550            <a class="a" style="display: grid; grid-template-columns: 40px auto;" href="/page/return-policy">
551                <div style="grid-row: 1 / 3; text-align: center; font-size: 40px; padding-top: 5px">
552                    <i class="material-icons text-down-5">autorenew</i>
553                </div>
554                <div class="extra-header" style="text-align: left;">30 Day Returns</div>
555                <div class="extra-content" style="text-align: left;">Return any unopened goods</div>
556            </a>
557        </div>
558        <div class="col-lg-3 col-md-12 no-padding" style="margin: 5px 0">
559            <a class="a" style="display: grid; grid-template-columns: 40px auto;" href="/page/faq">
560                <div style="grid-row: 1 / 3; text-align: center; font-size: 40px; padding-top: 5px">
561                    <i class="material-icons text-down-5">schedule</i>
562                </div>
563                <div class="extra-header" style="text-align: left">TMC Pre-Orders</div>
564                <div class="extra-content" style="text-align: left;">View our policy</div>
565            </a>
566        </div>
567        <div class="col-lg-3 col-md-12 no-padding" style="margin: 5px 0">
568            <a class="a" style="display: grid; grid-template-columns: 40px auto;" href="/contact">
569                <div style="grid-row: 1 / 3; text-align: center; font-size: 40px; padding-top: 5px">
570                    <i class="material-icons text-down-5">people</i>
571                </div>
572                <div class="extra-header" style="text-align: left;">Online Support Team</div>
573                <div class="extra-content" style="text-align: left;">Mon-Fri 9am-4:30pm (Sat 9:30am to 2pm)</div>
574            </a>
575        </div>
576    </div>
577</div>    <div class="footer-content">
578        <div class="row mobile-margin" style="margin:0px !important;">
579            <div class="footer-statics col-12 no-margin no-padding">
580    
581<!--    <div>
vendor: 102 bytes, lines 581-584
581
582        
583        <script src="https://www.google.com/recaptcha/api.js" async defer></script>
584        
584<form class="row" action="https://www.layoutconcepts.com/subscribe">
585            <div class="col-lg-2 col-md-6 col-sm-6 mb-1">
586                <input
587                    type="text"
588                    name="first_name"
589                    class="form-control subscribe-field"
590                    placeholder="First Name"
591                    aria-label="Newsletter"
592                    required />
593            </div>
594            <div class="col-lg-2 col-md-6 col-sm-6 mb-1">
595                <input
596                    type="text"
597                    name="last_name"
598                    class="form-control subscribe-field"
599                    placeholder="Last Name"
600                    aria-label="Newsletter"
601                    required />
602            </div>
603            <div class="col-lg-2 col-md-6 col-sm-6 mb-1">
604                <input
605                    type="email"
606                    name="subscriber_email"
607                    class="form-control subscribe-field"
608                    placeholder="Email Address"
609                    aria-label="Newsletter"
610                    required />
611            </div>
612            
613            <div class="col-lg-3 col-md-6 col-sm-6">
614                <button type="submit" class="btn" style="width:100%;border-radius: 0px;border-color: #ffc809;background-color: white;color: #0580B8;padding: 7px 25px;box-shadow: 3px 3px 7px #00000050;font-weight: bold;">Subscribe</button>
615            </div>
616        </form>
617
618        
619    </div>
620    <div style="margin: 25px 0px;width: 100%;height: 1px;background-color: white;">
621    </div>
622</div>
623-->
624
625<!-- Added by Matt 7th Jan 2026 - Change and make perminant -->
626
627<div class="footer-statics col-12 no-margin no-padding">
628    <div>
629        <a href="https://mailchi.mp/dccconcepts/newsletter-subscribe" target="_blank" rel="noopener noreferrer" style="display: block; width: 100%;">
630            <img
631                src="https://www.layoutconcepts.com/images/Newsletter.png"
632                alt="Subscribe to our newsletter"
633                style="width: 25%; height: auto; display: block; margin: 0 auto; border-radius: 4px;" />
634        </a>
635    </div>
636
637    <div style="margin: 25px 0px; width: 100%; height: 1px; background-color: white;">
638    </div>
639</div>
640
641
642
643
644            <div class="w-100">
645    <div class="row footer-statics col-12 no-padding no-margin">
646        <div class="col-lg-3 col-md-12 col-sm-12 footer-ct-content no-padding">
647	<div>
648        <div class="col-lg-12 col-md-12 col-sm-12 no-padding">
649            <ul type="none" class="light">
650                <li>
651                    <h5 style="color: #4BBDF1;">Customer Service</h5>
652                </li>
653                <li>
654                    <a href="/contact">Contact Us</a>
655                </li>
656                <li>
657                    <a href="/page/shipping-policy">Shipping</a>
658                </li>
659                <li>
660                    <a href="/page/return-policy">Returns</a>
661                </li>
662                <li>
663                    <a href="/page/faq">FAQ</a>
664                </li>
665            </ul>
666        </div>
667	</div>
668</div>
669        <div class="col-lg-3 col-md-12 col-sm-12 footer-ct-content">
670	<div class="row">
671        <div class="col-lg-12 col-md-12 col-sm-12 no-padding">
672            <ul type="none">
673                <li>
674                    <h5 style="color: #4BBDF1;">About Layout Concepts</h5>
675                </li>
676                <li>
677                    <a href="/page/about-us">About Layout Concepts</a>
678                </li>
679                <li>
680                    <a href="/page/exhibitions">Exhibitions</a>
681                </li>
682            </ul>
683        </div>
684	</div>
685</div>
686        <div class="col-lg-3 col-md-12 col-sm-12 footer-rt-content no-padding">
687    <div class="row">
688        <div class="mb5 col-12" style="color: #4BBDF1;">
689            <h3 class="contact-address">+44 (0) 1729 821 080</h3>
690            <h3 class="contact-address">[email protected]</h3>
691        </div>
692    </div>
693
694    <div class="row">
695        <img src="https://www.layoutconcepts.com/themes/velocity/assets/images/payment-logos.jpg" alt="" style="max-width: 100%; max-height: 60px" />
696    </div>
697</div>
698        <div class="col-lg-3 col-md-12 col-sm-12 software-description no-padding">
699  <div class="align-self-end" style="display: flex;flex-direction: column;">
700    <img class="mobile-hidden" src="https://themodelcentre.b-cdn.net/static/lc/logo-text.png" alt="" style="align-self: end;margin-left: 100px;" width="80" height="60" class="mb-3" />
701    <p class="mobile-hidden" style="font-size: 13px;text-align: right;">Layout Concepts Ltd, Unit E, The Sidings,<br>
702      Settle, North Yorkshire, BD24 9RP</p>
703    <div style="margin-left:auto;">
704      <a href="https://x.com/dccconcepts?s=21">
705        <img style="margin-left: auto;width:30px;height:30px;margin-right: 10px;" src="https://www.layoutconcepts.com/themes/velocity/assets/images/twitter.svg">
706      </a>
707      <a href="https://www.instagram.com/dccconcepts?igsh=Yzc2cm5hMjRtMGRs">
708        <img style="width: 30px;height:30px;margin-right: 10px;" src="https://www.layoutconcepts.com/themes/velocity/assets/images/instagram.svg">
709      </a>
710      <a href="https://www.facebook.com/share/15cP6ja6szL/?mibextid=wwXIfr">
711        <img style="width: 30px;height:30px;margin-right: 10px;" src="https://www.layoutconcepts.com/themes/velocity/assets/images/facebook.svg">
712      </a>
713      <a href="https://www.youtube.com/@dccconceptsyoutube6446">
714        <img style="height:38px;" src="https://www.layoutconcepts.com/themes/velocity/assets/images/youtube.svg">
715      </a>
716    </div>
717  </div>
718</div>
719    </div>
720    
721    <div style="margin: 25px 0px;width: 100%;height: 1px;background-color: white;">
722    </div>
723</div>            <div class="footer-copy-right">
724    <div class="no-padding row no-margin">
725        <span>Copyright @ Layout Concepts 2026</span>
726        <div class="mobile-hidden">
727            <a style="margin-left: auto;margin-right: 15px;" href="/page/terms-conditions">Terms & Conditions</a> 
728            <a style="margin-right: 15px;" href="/page/privacy-policy">Privacy Policy</a>
729            <a style="" href="/page/cookie-policy">Cookies Policy</a>
730        </div>
731    </div>
732</div>
733        </div>
734    </div>
735</div>
736
737    
738
739<style>
740    .path-hint {
741        border: solid 1px transparent;
742        padding: 1px;
743    }
744
745    .path-hint:hover {
746        border: 1px solid red;
747    }
748
749    .path-hint-tooltip {
750        padding: 0px 10px;
751        position: absolute;
752        background: #000000;
753        z-index: 10000;
754        color: #fff;
755        font-size: 10px;
756    }
757
758    .path-hint-tooltip h4 {
759        margin-top: 5px;
760        margin-bottom: 3px;
761        color: #fff;
762        font-size: 12px;
763    }
764
765    .path-hint-tooltip ul li {
766        margin-bottom: 3px;
767    }
768
769    .main-container-wrapper .product-card .product-image img {
770        max-width: 100%;
771    }
772</style>
773
774<script>
775    window.addEventListener("load", function(event) {
776        $('.testing').each(function(index) {
777            if ($(this).siblings(':not(.path-hint)').length == 1
778                && $(this).next().prop("tagName") != 'INPUT'
779                && $(this).next().prop("tagName") != 'TEXTAREA'
780                && $(this).next().prop("tagName") != 'SELECT'
781            ) {
782                $(this).next().addClass('path-hint');
783
784                $(this).next().attr({
785                    'data-toggle': 'tooltip',
786                    'data-title': $(this).parent('.path-hint').attr('data-title'),
787                    'data-id': $(this).parent('.path-hint').attr('data-id')
788                });
789
790                $(this).unwrap();
791            }
792
793            $(this).remove();
794        });
795
796        $('.path-hint').on('mouseover', function(e) {
797            e.stopPropagation();
798
799            var currentElement = $(e.currentTarget);
800
801            var tooltipContent = '<h4>Template</h4>' + currentElement.attr('data-title');
802
803            if ($(this).parents('.path-hint').length) {
804                tooltipContent += '<h4>Parents</h4>';
805
806                tooltipContent += '<ul>';
807
808                $(this).parents('.path-hint').each(function(index) {
809                    tooltipContent += '<li>' + $(this).attr('data-title')  + '</li>';
810                });
811
812                tooltipContent += '</ul>';
813            }
814
815            $('body').append("<span class='path-hint-tooltip' id='" + currentElement.attr('data-id') + "'>" + tooltipContent + "</span>")
816
817            var elementWidth = currentElement.outerWidth()
818
819            var tooltipWidth = $('.path-hint-tooltip').outerWidth()
820
821            var leftOffset = currentElement.offset().left;
822
823            minus = 0;
824
825            temp = leftOffset + (elementWidth / 2) + (tooltipWidth / 2)
826
827            if (temp > $(window).outerWidth()) {
828                minus = temp - $(window).outerWidth();
829            }
830
831            if (elementWidth > tooltipWidth) {
832                var left = leftOffset + ((elementWidth / 2) - (tooltipWidth / 2));
833            } else {
834                var left = leftOffset - ((tooltipWidth / 2) - (elementWidth / 2));
835            }
836
837            if (left <= 0) {
838                left = 10;
839            }
840
841            $('.path-hint-tooltip').css('left', left - minus)
842
843            $('.path-hint-tooltip').css('top', currentElement.offset().top + 20)
844        })
845
846        $('[data-toggle="tooltip"]').on('mouseout', function(e) {
847            var currentElement = $(e.currentTarget);
848
849            $("#" + currentElement.attr('data-id')).remove();
850        })
851    })
852</script>
852
853
854
855<div id="alert-container"></div>
856
857
858<script src="https://www.layoutconcepts.com/js/static/jquery.min.js" ></script>
vendor: 1 bytes, line 858
858
859<script type="text/javascript" src="https://www.layoutconcepts.com/themes/velocity/assets/js/manifest.js"></script>
vendor: 1 bytes, line 859
859
860<script type="text/javascript" src="https://www.layoutconcepts.com/themes/velocity/assets/js/velocity-core.js"></script>
860
861<!--
861<script type="text/javascript" src="https://www.layoutconcepts.com/themes/velocity/assets/js/components.js"></script>
861-->
862<script type="text/javascript" src="https://www.layoutconcepts.com/js/static/checkout.js?v=0.1478007571"></script>
vendor: 1 bytes, line 862
862
863<script type="text/javascript" src="https://www.layoutconcepts.com/themes/velocity/assets/js/components.js?v=0.204839805"></script>
vendor: 1 bytes, line 863
863
864<script type="text/javascript" src="https://www.layoutconcepts.com/js/static/unitegallery.min.js"></script>
vendor: 1 bytes, line 864
864
865<script type="text/javascript" src="https://www.layoutconcepts.com/js/static/lightgallery-all.min.js" ></script>
vendor: 1 bytes, line 865
865
866<script type="text/javascript" src="https://www.layoutconcepts.com/js/static/ug-theme-tiles.js"></script>
vendor: 1 bytes, line 866
866
867<script type="text/javascript" src="https://www.layoutconcepts.com/js/static/custom.js?v=0.1215839478"></script>
vendor: 1 bytes, line 867
867
868<script type="text/javascript" src="https://www.layoutconcepts.com/imagerotator/js/imagerotator.js"></script>
vendor: 1 bytes, line 868
868
869<script src="https://cc-cdn.com/generic/scripts/v1/cc_c2a.min.js"></script>
869
870
871<script src="https://www.paypal.com/sdk/js?client-id=AQtIzX2yu52oPULSCZcLz6Bi8ilfNk1q2RcKZVZpU9aqxMoEbuwkqHwAcDJn7HX7vl8GKoduU-VvtbpY&merchant-id=GGF2MRFVD5FJQ&components=buttons,googlepay,applepay,card-fields&currency=GBP&intent=capture&enable-funding=venmo,paylater,card&disable-funding=applepay"></script>
871
872
873<script src="https://pay.google.com/gp/p/js/pay.js"></script>
vendor: 1 bytes, line 873
873
874<script src="https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js"></script>
874
875
876<script type="text/javascript">
877    const stripekey = "pk_live_51HJeQGAYtB1ScveHYw1N9GSLbZpacqhKUNblrGgDvdIogn5MnezT3jzxQw0z6cK0jyP0A5x0CcvLSJrcX6bBlDxl00hJdeyfS3";
878    const algoliaId = "8FQIRLI38I";
879    const algoliaKey = "74e73a4f3eac1e83ca1b50931f4c06c7";
880    const algoliaIndexname = "products";
881    const fetchifyToken = "4e4fe-f7106-e9274-0abeb";
882    const baseUrl = "https://www.layoutconcepts.com";
883    const paypalEnv = "production";
884    const paypalLiveClientId = "AQtIzX2yu52oPULSCZcLz6Bi8ilfNk1q2RcKZVZpU9aqxMoEbuwkqHwAcDJn7HX7vl8GKoduU-VvtbpY";
885    const paypalTestClientId = "AV7BV7axg5-tA_hg6uS3lB92S9DCSu6O1KwhWNg06D2sicqcMJ1iKvxgzOpuN0-DigKaTAvZrxOTcloJ";
886    (() => {
887        /* activate session messages */
888        let message = {"message":null,"messageType":"","messageLabel":""};
889        if (message.messageType && message.message !== '') {
890            window.showAlert(message.messageType, message.messageLabel, message.message);
891        }
892
893        /* activate server error messages */
894        window.serverErrors = [];
895                            
896        /* add translations */
897        window._translations = {"admin":{"system":{"velocity":{"general":"General","category":"Category","settings":"Settings","extension_name":"Velocity Theme","error-module-inactive":"Warning: Velocity theme status is inactive"},"settings":{"channels":{"subscription_bar":"Subscription bar content"}}
897,"general":{"status":"Status","active":"Active","inactive":"Inactive"},"category":{"all":"All","left":"Left","right":"Right","active":"Active","custom":"Custom","inactive":"Inactive","image-alignment":"Image Alignment","icon-status":"Category Icon Status","image-status":"Category Image Status","sub-category-show":"Show Sub Category","image-height":"Image\u0027s Height [in Pixel]","image-width":"Image\u0027s Width [in Pixel]","show-tooltip":"Show Category\u0027s Tooltip","num-sub-category":"Number Of Sub Category"}},"layouts":{"velocity":"Velocity","cms-pages":"CMS Pages","meta-data":"Meta Data","category-menu":"Category Menu","header-content":"Header Content"},"contents":{"self":"Self","active":"Active","new-tab":"New Tab","inactive":"Inactive","title":"Content List","select":"-- Select --","add-title":"Add Content","btn-add-content":"Add Content","save-btn-title":"Save Content","autocomplete":"[Autocomplete]","no-result-found":"No record found.","search-hint":"Search product here...","mass-delete-success":"Selected content deleted successfully.","mass-update-success":"Selected content updated successfully.","tab":{"page":"Page Setting","content":"Content Setting","meta_content":"Meta Data"},"page":{"title":"Title","status":"Status","position":"Position"},"content":{"content-type":"Content Type","custom-title":"Custom Title","category-slug":"Category Slug","link-target":"Page Link Target","custom-product":"Store Products","custom-heading":"Custom Heading","catalog-type":"Product Catalog Type","static-description":"Content Description","page-link":"Page Link [e.g. http:\/\/example.com\/..\/..\/]"},"datagrid":{"id":"Id","title":"Title","status":"Status","position":"Position","content-type":"Content Type"}},"meta-data":{"footer":"Footer","title":"Velocity meta data","activate-slider":"Activate Slider","home-page-content":"Home Page Content","footer-left-content":"Footer Left Content","subscription-content":"Subscription bar Content","sidebar-categories":"Sidebar Categories","header_content_count":"Header Content Count","footer-left-raw-content":"\u003Cp\u003EWe love to craft softwares and solve the real world problems with the binaries. We are highly committed to our goals. We invest our resources to create world class easy to use softwares and applications for the enterprise business with the top notch, on the edge technology expertise.\u003C\/p\u003E","slider-path":"Slider Path","category-logo":"Category logo","product-policy":"Product Policy","update-meta-data":"Update","product-view-image":"Product View Image","advertisement-two":"Advertisement Two Images","advertisement-one":"Advertisement One Images","footer-middle-content":"Footer Middle Content","advertisement-four":"Advertisement Four Images","advertisement-three":"Advertisement Three Images","images":"Images","general":"General","add-image-btn-title":"Add Image","image-four-resolution":"First image resolutions should be like 427px X 410px , \n                                            Second images resolutions should be like 397px X 180px , \n                                            Third images resolutions should be like 397px X 180px , \n                                            Fouth image resolutions should be like 427px X 410px","image-three-resolution":"First image resolution should be like 635px X 465px ,\n                                            Second image resolutions should be like 620px X 225px,\n                                            Third image resolutions should be like 620px X 225px","image-two-resolution":"First image resolution should be like 953px X 447px ,\n                                            Second image resolution should be like 303px X 446px","image-locale-resolution":"Image resolution should be like 20px X 20px","footer-middle":{"about-us":"About Us","customer-service":"Customer Service","whats-new":"What\u0027s New","contact-us":"Contact Us","order-and-returns":"Order and Returns","payment-policy":"Payment Policy","shipping-policy":"Shipping Policy","privacy-and-cookies-policy":"Privacy and Cookies Policy"}},"category":{"image-four-resolution":"First image resolutions should be like 427px X 410px , \n                                            Second images resolutions should be like 397px X 180px , \n                                            Third images resolutions should be like 397px X 180px , \n                                            Fouth image resolutions should be like 427px X 410px","image-three-resolution":"First image resolution should be like 635px X 465px ,\n                                            Second image resolutions should be like 620px X 225px,\n                                            Third image resolutions should be like 620px X 225px","image-two-resolution":"First image resolution should be like 953px X 447px ,\n                                            Second image resolution should be like 303px X 446px","image-locale-resolution":"Image resolution should be like 20px X 20px","save-btn-title":"Save Menu","title":"Category Menu List","add-title":"Add Menu Content","edit-title":"Edit Menu Content","btn-add-category":"Add Category Content","datagrid":{"category-id":"Category Id","category-name":"Category Name","category-icon":"Category Icon","category-status":"Status"},"tab":{"general":"General"}
897,"status":"Status","active":"Active","inactive":"Inactive","select":"-- Select --","icon-class":"Icon Class","select-category":"Choose Category","tooltip-content":"Tooltip Content","mass-delete-success":"Selected categories menu deleted successfully."},"general":{"locale_logo":"Locale Logo"}},"home":{"view-all":"View All","add-to-cart":"Add To Cart","hot-categories":"Hot Categories","payment-methods":"Payment Methods","customer-reviews":"Customer Reviews","shipping-methods":"Shipping Methods","popular-categories":"Popular Categories"},"header":{"cart":"Cart","guest":"Guest","logout":"Logout","title":"Account","account":"Account","profile":"Profile","wishlist":"Wishlist","all-categories":"All Categories","search-text":"Search products here","welcome-message":"Welcome, :customer_name","dropdown-text":"Manage Cart, Orders \u0026 Wishlist"},"menu-navbar":{"text-more":"More","text-category":"Shop by Category"},"minicart":{"cart":"Cart","view-cart":"View Cart"},"checkout":{"qty":"Qty","checkout":"Checkout","cart":{"view-cart":"View Cart","cart-summary":"Cart Summary"},"items":"Items","subtotal":"Subtotal","sub-total":"Sub Total","proceed":"Proceed to checkout"},"customer":{"compare":{"text":"Compare","compare_similar_items":"Compare Similar Items","add-tooltip":"Add product to compare list","added":"Item successfully added to compare list","already_added":"Item already added to compare list","removed":"Item successfully removed from compare list","removed-all":"All Items successfully removed from compare list","empty-text":"You don\u0027t have any items in your compare list","product_image":"Product Image","actions":"Actions"},"login-form":{"sign-up":"Sign up","new-customer":"New Customer","customer-login":"Customer Login","registered-user":"Registered User","your-email-address":"Your email address","form-login-text":"If you have an account, sign in with your email address."},"signup-form":{"login":"Login","become-user":"New Customers","user-registration":"User Registration","form-sginup-text":"Creating an account has many benefits: check out faster, keep more than one address, track orders and more."},"forget-password":{"login":"Login","forgot-password":"Forgot Password","recover-password":"Recover Password","recover-password-text":"If you forgot your password, recover it by entering your email address."},"wishlist":{"remove-all-success":"All the items from your wishlist have been removed"}},"error":{"go-to-home":"Go to home","page-lost-short":"Page lost content","something_went_wrong":"something went wrong","page-lost-description":"The page you\u0027re looking for isn\u0027t available. Try to search again or use the Go Back button below."},"products":{"text":"Products","details":"Details","reviews-title":"Reviews","reviewed":"Reviewed","review-by":"Review by","quick-view":"Quick View","not-available":"Not Available","submit-review":"Submit Review","ratings":":totalRatings Ratings","reviews-count":":totalReviews Reviews","customer-rating":"Customer Rating","more-infomation":"More Information","view-all-reviews":"View All Reviews","write-your-review":"Write Your Review","short-description":"Short Descriptions","recently-viewed":"Recently Viewed Products","be-first-review":"Be the first to write a review","tax-inclusive":"Inclusive of all taxes"},"shop":{"gender":{"male":"Male","other":"Other","female":"Female"},"general":{"no":"No","yes":"Yes","view":"View","filter":"Filter","orders":"Orders","update":"Update","reviews":"Reviews","download":"Download","currencies":"Currencies","addresses":"Addresses","top-brands":"Top Brands","new-password":"New password","no-file-available":"No File Available!","downloadables":"Downloadable Products","confirm-new-password":"Confirm new password","enter-current-password":"Enter your current password","alert":{"info":"Info","error":"Error","success":"Success","warning":"Warning"}},"wishlist":{"add-wishlist-text":"Add product to wishlist","remove-wishlist-text":"Remove product from wishlist"},"overlay-loader":{"message":"In Progress"}},"responsive":{"header":{"done":"Done","languages":"Languages","greeting":"Welcome, :customer !"}}};
898    })();
899
900    /**
901     * Wishist form will dynamically create and execute.
902     *
903     * @param {!string} action
904     * @param {!string} method
905     * @param {!string} csrfToken
906     */
907    function submitWishlistForm(action, method, isConfirm, csrfToken) {
908        if (isConfirm && ! confirm('Do you really want to do this ?')) return;
909
910        let form = document.createElement('form');
911            form.method = 'POST';
912            form.action = action;
913
914        let _methodElement = document.createElement('input');
915            _methodElement.type = 'hidden';
916            _methodElement.name = '_method';
917            _methodElement.value = method;
918            form.appendChild(_methodElement);
919
920        let _tokenElement = document.createElement('input');
921            _tokenElement.type = 'hidden';
922            _tokenElement.name ='_token';
923            _tokenElement.value = csrfToken;
924            form.appendChild(_tokenElement);
925
926        document.body.appendChild(form);
927        form.submit();
928    }
929    $(document).ready(function(){
930       setTimeout(function(){
931        if($("#da-gallery").length > 0){
932            $("#da-gallery").unitegallery({
933                tiles_type: "nested"  ,
934                lightbox_type: "wide",
935            });
936          }
937       },1000);
938    });
939</script>
939
940
941<script type="text/javascript">
942  (() => {
943    document.addEventListener('scroll', e => {
944      scrollPosition = Math.round(window.scrollY);
945
946      if (scrollPosition > 50) {
947        document.querySelector('header').classList.add('header-shadow');
948        document.querySelector('header .newsletter-subscription').classList.add('hide');
949      } else {
950        document.querySelector('header').classList.remove('header-shadow');
951        document.querySelector('header .newsletter-subscription').classList.remove('hide');
952      }
953    });
954  })();
955
956</script>
956
957
958<script>
959  $(document).ready(function() {
960    $(document).mouseup(function(e) {
961      var container = $(".form-control");
962      if (!container.is(e.target) && container.has(e.target).length === 0) {
963        $('.suggests').hide();
964      } else {
965        $('.suggests').show();
966      }
967    });
968  });
969
970</script>
vendor: 65 bytes, lines 970-972
970
971
972<script async src="https://www.googletagmanager.com/gtag/js?id=
972G-MS1YZDK34P
vendor: 12 bytes, line 972
972"></script>
973<script>
974  window.dataLayer = window.dataLayer || [];
975  function gtag(){dataLayer.push(arguments);}
976  if (localStorage.getItem('cookie_consent') != 'rejected') {
977    gtag('js', new Date());
978    gtag('config', 'G-MS1YZDK34P');
979  }
980</script>
980
981
982<style type="text/css">
983  #payment-message{color: red;}
984  #googlepay-container {
985    height: 44px;
986    margin-bottom: 18px;
987  }
988  #applepay-container {
989    padding: 0px 15px; 
990    position: relative; 
991    margin-bottom: 18px;
992    z-index: 0;
993  }
994  apple-pay-button {
995    --apple-pay-button-width: 140px;
996    --apple-pay-button-height: 30px;
997    --apple-pay-button-border-radius: 5px;
998    --apple-pay-button-padding: 5px 0px;
999  }
1000</style>
1001
1002<style>
1003    .coupon-container .control-group > div {
1004        width: 100%;
1005        display: flex;
1006        align-items: center;
1007        justify-content: space-between;
1008        gap: 10px;
1009        flex-direction: row;
1010    }
1011    .coupon-container .control-group > div input {
1012        max-width: 200px;
1013        font-size: 16px;
1014    }
1015    .coupon-container .control-group > div button {
1016        margin: 0px;
1017        font-size: 16px;
1018    }
1019    @media (max-width: 575px) {
1020        .coupon-container .control-group > div {
1021            flex-direction: column;
1022        }
1023        .coupon-container .control-group > div input {
1024            max-width: 100%;
1025            width: 100%;
1026            font-size: 1rem;
1027        }
1028        .coupon-container .control-group > div button {
1029            width: 100%;
1030            font-size: 1rem;
1031        }
1032    }
1033</style>
1034
1035<script type="text/x-template" id="coupon-component-template">
1036    <div class="coupon-container">
1037        <div class="discount-control" style="margin-bottom: 10px;">
1038            <form class="custom-form" method="post" @submit.prevent="applyCoupon">
1039                <div class="control-group" :class="[error_message ? 'has-error' : '']">
1040                    <div>
1041                        <input
1042                            type="text"
1043                            name="code"
1044                            class="control"
1045                            v-model="coupon_code"
1046                            placeholder="Enter Coupon Code" />
1047                        <button class="theme-btn light" :disabled="disable_button" style="">
1048                            Apply Coupon
1049                        </button>
1050                    </div>
1051                    <div class="control-error" style="font-size: 14px;">{{ error_message }}</div>
1052                </div>
1053            </form>
1054        </div>
1055
1056        <div class="applied-coupon-details" v-if="applied_coupon">
1057            <label style="font-size: 14px;">Applied Coupon</label>
1058
1059            <label
1060                class="right"
1061                style="display: inline-flex; align-items: center; width: auto; padding-left: 0 !important; margin-right: 10px; font-size: 16px;">
1062                <b>{{ applied_coupon }}</b>
1063                <i class="rango-close fs18" title="Remove Coupon" v-on:click="removeCoupon"></i>
1064            </label>
1065        </div>
1066    </div>
1067</script>
1067
1068
1069<script>
1070    Vue.component('coupon-component', {
1071        template: '#coupon-component-template',
1072
1073        inject: ['$validator'],
1074
1075        data: function() {
1076            return {
1077                coupon_code: '',
1078                error_message: '',
1079                applied_coupon: "",
1080                route_name: "shop.home.index",
1081                disable_button: false,
1082            }
1083        },
1084
1085        watch: {
1086            coupon_code: function (value) {
1087                if (value != '') {
1088                    this.error_message = '';
1089                }
1090            }
1091        },
1092
1093        mounted: function () {
1094            eventBus.$on("onApplyCoupon", this.onReceiveApplyCoupon);
1095            eventBus.$on("onRemoveCoupon", this.onReceiveRemoveCoupon);
1096        },
1097
1098        methods: {
1099            applyCoupon: function() {
1100                if (! this.coupon_code.length) {
1101                    this.error_message = 'Coupon code is invalid.';
1102
1103                    return;
1104                }
1105
1106                this.error_message = null;
1107
1108                this.disable_button = true;
1109
1110                let code = this.coupon_code;
1111
1112                axios
1113                    .post(
1114                        'https://www.layoutconcepts.com/checkout/cart/coupon', {code}
1115                    ).then(response => {
1116                        if (response.data.success) {
1117                            this.applied_coupon = this.coupon_code;
1118                            this.coupon_code = '';
1119
1120                            eventBus.$emit('onApplyCoupon', {applied_coupon: this.applied_coupon, coupon_code:this.coupon_code });
1121
1122                            window.flashMessages = [{'type': 'alert-success', 'message': response.data.message}];
1123
1124                            this.$root.addFlashMessages();
1125
1126                            this.redirectIfCartPage();
1127                        } else {
1128                            this.error_message = response.data.message;
1129                        }
1130
1131                        this.disable_button = false;
1132                    }).catch(error => {
1133                        this.error_message = error.response.data.message;
1134
1135                        this.disable_button = false;
1136                    });
1137            },
1138
1139            removeCoupon: function () {
1140                let self = this;
1141
1142                axios
1143                    .delete('https://www.layoutconcepts.com/checkout/cart/coupon')
1144                    .then(function(response) {
1145                        self.applied_coupon = '';
1146                        self.disable_button = false;
1147
1148                        eventBus.$emit('onRemoveCoupon')
1149
1150                        window.flashMessages = [{'type': 'alert-success', 'message': response.data.message}];
1151
1152                        self.$root.addFlashMessages();
1153
1154                        self.redirectIfCartPage();
1155                    })
1156                    .catch(function(error) {
1157                        window.flashMessages = [{'type': 'alert-error', 'message': error.response.data.message}];
1158
1159                        self.$root.addFlashMessages();
1160                    });
1161            },
1162
1163            redirectIfCartPage: function() {
1164                if (this.route_name != 'shop.checkout.cart.index') return;
1165
1166                setTimeout(function() {
1167                    window.location.reload();
1168                }, 700);
1169            },
1170
1171            onReceiveApplyCoupon: function({ applied_coupon, coupon_code }) {
1172                this.applied_coupon = applied_coupon;
1173                this.coupon_code = coupon_code;
1174                this.disable_button = false;
1175                this.error_message = null;
1176            },
1177
1178            onReceiveRemoveCoupon: function() {
1179                this.applied_coupon = '';
1180                this.coupon_code = '';
1181                this.disable_button = false;
1182                this.error_message = null;
1183            }
1184        }
1185    });
1186</script>
1186
1187;
1188
1189<script type="text/javascript">
1190    $(function() {
1191        var screenWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
1192        var searchInput = screenWidth > 768 ? '#snize_search_input' : '#snize_search_input_mob';
1193
1194        Searchanise = {};
1195        Searchanise.host = 'https://searchserverapi.com';
1196        Searchanise.ApiKey = `8Y6G8x3Z5w`;
1197        Searchanise.SearchInput = searchInput;
1198
1199        Searchanise.AutoCmpParams = {};
1200        Searchanise.AutoCmpParams.restrictBy = {};
1201
1202        Searchanise.ResultsParams = {};
1203        Searchanise.ResultsParams.restrictBy = {};
1204
1205        Searchanise.options = {};
1206        Searchanise.options.ResultsDiv = '#snize_search_results';
1207        Searchanise.options.PriceFormat = {
1208            rate : 1.0,
1209            symbol: '?',
1210            decimals: 2,
1211            decimals_separator: '.',
1212            thousands_separator: ',',
1213            after: false
1214        };
1215
1216        (function() {
1217            var __se = document.createElement('script');
1218            __se.src = 'https://searchserverapi.com/widgets/v1.0/init.js';
1219            __se.setAttribute('async', 'true');
1220            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(__se, s);
1221            window.Searchanise = Searchanise
1222        })();
1223    });
1224
1225    document.addEventListener("Searchanise.Loaded", function () {
1226        setTimeout(() => {
1227            $('#snize_search_input').closest('form').attr('action', '/search-results');
1228            $('#snize_search_input_mob').closest('form').attr('action', '/search-results');
1229        }, 2000);
1230    });
1231</script>
1231
1232
1233
1234<script>
1235    (function(w,d,u,t,o,c){w['dmtrackingobjectname']=o;c=d.createElement(t);c.async=1;c.src=u;t=d.getElementsByTagName
1236        (t)[0];t.parentNode.insertBefore(c,t);w[o]=w[o]||function(){(w[o].q=w[o].q||[]).push(arguments);};
1237    })(window, document, '//static.trackedweb.net/js/_dmptv4.js', 'script', 'dmPt');
1238    window.dmPt('create', 'DM-9688114984-01', 'www.themodelcentre.com');
1239    window.dmPt('track');
1240
1241    const insightData = JSON.parse(`[]`);
1242        console.log(insightData);
1243    window.dmPt("cartInsight", insightData);
1244
1245        (function(d, w) {
1246        w.MissiveChatConfig = {"id":"a0aa5e85-e4d7-4b6a-93a5-f8be9775af91","chat":{"position":"bottom-right","hidden":false,"hideWhenOffline":false,"showOnlineStatus":true,"showAvatars":true,"showNames":true,"rememberOpenState":true,"variables":{"main-color":"#027db4","background-color":"#ffffff","text-color":"#34363a","light-text-color":"#7b7c7f","width":"350px","height":"600px","margin":"20px","opened-border-radius":"18px","closed-border-radius":"30px","button-border-radius":"10em","header-opened-background-color":"var(--main-color)","close-button-color":"#ffffff","status-online-color":"#00b351","status-offline-color":"#f23131","status-connecting-color":"#fdd157","font-family":"-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif","font-size":"15px"}},"visitor":{"askName":true,"requireName":true,"askEmail":true,"requireEmail":true,"requireConsent":false},"messages":{"welcome":"Hi there! 👋\n\nThe team will reply as soon as possible","identify":"Let's take some details before we begin.","title":"Chat with us","online":"We're online","offline":"We're offline","connecting":"Connecting…","identifyName":"Name","identifyEmail":"Email","identifySubmit":"Submit","identifyRequired":"* Required field"}};
1247        var s = d.createElement('script');
1248        s.async = true;
1249        s.src = 'https://webchat.missiveapp.com/' + w.MissiveChatConfig.id + '/missive.js';
1250        if (d.head) d.head.appendChild(s);
1251    })(document, window);
1252
1253    document.addEventListener('DOMContentLoaded', function() {
1254        const form = document.getElementById('mc-embedded-subscribe-form');
1255
1256        if (form) {
1257            form.addEventListener('submit', function(event) {
1258                const email = document.getElementById('mce-EMAIL').value;
1259                window.dmPt("identify", { email: email });
1260                console.log(email);
1261            });
1262        }        
1263
1264        eventBus.$on('checkout-address-changed', (address) => {
1265            const email = address.billing.email;
1266            const phone = address.billing.phone;
1267            window.dmPt("identify", { email: email, mobileNumber: phone });
1268        });
1269
1270        if (typeof google !== 'undefined' && typeof paypal !== 'undefined' && paypal.Googlepay) {
1271           onGooglePayLoaded().catch(console.log);
1272        } else {
1273            // Wait for SDKs to load
1274            window.addEventListener('load', function() {
1275               if (google && paypal.Googlepay) {
1276                   onGooglePayLoaded().catch(console.log);
1277               }
1278            });
1279        }
1280
1281        // Activate the explicit Apple Pay flow defined in
1282        // public/js/static/checkout.js (setupApplepay). This populates
1283        // #full-applepay-container with a real <apple-pay-button>
1284        // element that opens an ApplePaySession with proper line items
1285        // (Subtotal / VAT / Shipping / Discount / Total) and all
1286        // available shipping methods — see Redmine: Apple Pay sheet
1287        // showed only sub_total + one shipping option pre-fix.
1288        if (typeof paypal !== 'undefined' && paypal.Applepay) {
1289            if (window.ApplePaySession && ApplePaySession.supportsVersion(4) && ApplePaySession.canMakePayments()) {
1290                setupApplepay().catch(console.error);
1291            }
1292        } else {
1293            // SDK not loaded yet — wait for it
1294            window.addEventListener('load', function () {
1295                if (typeof paypal !== 'undefined' && paypal.Applepay) {
1296                    if (window.ApplePaySession && ApplePaySession.supportsVersion(4) && ApplePaySession.canMakePayments()) {
1297                        setupApplepay().catch(console.error);
1298                    }
1299                }
1300            });
1301        }
1302    });
1303</script>
1303
1304
1305<div id="cookie-consent-bar" style="display: none; position: fixed; bottom: 0; left: 0; right: 0; background-color: #333; color: #fff; padding: 15px 30px; box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1); z-index: 3147483000 !important;">
1306    <!-- Main Cookie Consent Content -->
1307    <div id="cookie-main" style="display: flex; justify-content: space-between; align-items: center;">
1308        <p style="margin: 0; font-size: 14px;">
1309            We use cookies to ensure you get the best experience on our website.
1310        </p>
1311        <div style="display: flex; gap: 10px;">
1312            <button id="accept-cookies" style="background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; cursor: pointer;">
1313                Accept
1314            </button>
1315            <button id="preferences-cookies" style="background: #FFC107; color: black; border: none; padding: 10px 20px; border-radius: 5px; cursor: pointer;">
1316                Preferences
1317            </button>
1318        </div>
1319    </div>
1320
1321    <!-- Preferences Panel -->
1322    <div id="cookie-preferences" style="display: none; flex-direction: column;">
1323        <p style="margin: 0 0 15px 0; font-size: 14px;">
1324            Manage your cookie preferences below:
1325        </p>
1326        <div style="margin-bottom: 15px;">
1327            <label style="font-size: 14px; display: flex; justify-content: space-between; align-items: center;">
1328                Necessary Cookies
1329                <span style="font-weight: bold;">Always allowed</span>
1330            </label>
1331        </div>
1332        <div style="margin-bottom: 15px;">
1333            <label style="font-size: 14px; display: flex; justify-content: space-between; align-items: center;">
1334                Functionality and Performance Cookies
1335                <input id="performance-cookies" type="checkbox" checked style="transform: scale(1.2); cursor: pointer;">
1336            </label>
1337        </div>
1338        <div style="display: flex; justify-content: space-between; padding-top: 30px;">
1339            <button id="close-preferences" style="background: #FFC107; color: black; border: none; padding: 10px 20px; border-radius: 5px; cursor: pointer;">
1340                Close
1341            </button>
1342            <button id="save-preferences" style="background: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; cursor: pointer;">
1343                Save Preferences & Exit
1344            </button>
1345        </div>
1346    </div>
1347</div>
1348
1349
1350
1351<script>
1352    document.addEventListener("DOMContentLoaded", function () {
1353        // Show the cookie consent bar only if no prior choice exists.
1354        if (!localStorage.getItem('cookie_consent')) {
1355            document.getElementById('cookie-consent-bar').style.display = 'block';
1356        }
1357
1358        // Handle "Accept" button click
1359        document.getElementById('accept-cookies').addEventListener('click', function () {
1360            localStorage.setItem('cookie_consent', 'accepted');
1361            document.getElementById('cookie-consent-bar').style.display = 'none';
1362
1363            // Enable analytics (optional)
1364            // if (typeof gtag === 'function') {
1365            //     gtag('consent', 'update', { ad_storage: 'granted', analytics_storage: 'granted' });
1366            // }
1367        });
1368
1369        // Handle "Preferences" button click
1370        document.getElementById('preferences-cookies').addEventListener('click', function () {
1371            document.getElementById('cookie-main').style.display = 'none';
1372            document.getElementById('cookie-preferences').style.display = 'flex';
1373        });
1374
1375        // Handle "Save Preferences & Exit" button click
1376        document.getElementById('save-preferences').addEventListener('click', function () {
1377            const performanceCookies = document.getElementById('performance-cookies').checked;
1378
1379            localStorage.setItem('cookie_consent', performanceCookies ? 'accepted' : 'rejected');
1380            document.getElementById('cookie-consent-bar').style.display = 'none';
1381
1382            // Remove analytics cookies if performance cookies are rejected
1383            if (!performanceCookies) {
1384                if (typeof gtag === 'function') {
1385                    gtag('consent', 'update', {
1386                        ad_storage: 'denied',
1387                        analytics_storage: 'denied',
1388                    });
1389                }
1390                document.cookie = "_ga=; path=/; max-age=0;";
1391                document.cookie = "_gid=; path=/; max-age=0;";
1392            }
1393        });
1394
1395        // Handle "Close" button click
1396        document.getElementById('close-preferences').addEventListener('click', function () {
1397            document.getElementById('cookie-main').style.display = 'flex';
1398            document.getElementById('cookie-preferences').style.display = 'none';
1399        });
1400    });
1401</script>
1401
1402
1403
1404
1405
1406
1407
1408<script>
1409window.LC_CUSTOMER_DISCOUNT_BY_SKU = {"AED-SSC.3":{"pct":30,"rrp":44.95,"sale":31.47},"AED-SSC.1":{"pct":30,"rrp":15.95,"sale":11.17},"DCP-CB72DiP":{"pct":15,"rrp":2039.7,"sale":1733.75},"NCE5240042":{"pct":20,"rrp":269.95,"sale":215.96},"LCBB-94TTM":{"pct":30,"rrp":140.8,"sale":98.56}};
1410(function () {
1411    var map = window.LC_CUSTOMER_DISCOUNT_BY_SKU || {};
1412    if (!map || (typeof map === 'object' && !Object.keys(map).length)) return;
1413
1414    // Read the customer's trade % (if any) from the same meta tag the
1415    // trade overlay uses. 0 means non-trade customer OR trade % = 0 —
1416    // lc will always win for non-trade customers when the rule is active.
1417    var tradeMeta = document.querySelector('meta[name="trade-discount"]');
1418    var tradePct = tradeMeta ? parseFloat(tradeMeta.getAttribute('content') || '0') : 0;
1419    if (!isFinite(tradePct) || tradePct < 0) tradePct = 0;
1420
1421    // Per Redmine #3112: products tagged no_trade_discount don't get the
1422    // trade discount, so trade pct is effectively 0 for them. Still
1423    // applies to the lc overlay though — different attribute, no opt-out.
1424    var noTradeSet = new Set(window.LC_NO_TRADE_DISCOUNT_SKUS || []);
1425
1426    function skuOf(hit) {
1427        var card = hit.closest('.algolia-product-item');
1428        if (!card) return null;
1429        var skuEl = card.querySelector('.sku');
1430        if (!skuEl) return null;
1431        return (skuEl.textContent || '').replace(/^\s*SKU:\s*/i, '').trim();
1432    }
1433
1434    function trimZeros(n) {
1435        // 12.00 -> "12", 12.50 -> "12.5", 19.5 -> "19.5"
1436        return Number(n).toFixed(2).replace(/\.?0+$/, '');
1437    }
1438
1439    function patch(hit) {
1440        // Skip if either overlay already patched this hit. Each overlay
1441        // decides for itself whether to claim a hit based on the shared
1442        // data, so order of execution doesn't matter for correctness —
1443        // these flags just prevent double-patching on MutationObserver
1444        // re-scans.
1445        if (hit.dataset.tradeApplied || hit.dataset.lcDiscountApplied) return;
1446
1447        var sku = skuOf(hit);
1448        if (!sku) return;
1449
1450        var entry = map[sku];
1451        if (!entry) return;
1452        var pct  = parseFloat(entry.pct);
1453        var rrp  = parseFloat(entry.rrp);
1454        var sale = parseFloat(entry.sale);
1455        if (!isFinite(pct) || !isFinite(rrp) || !isFinite(sale) ||
1456            pct <= 0 || pct > 100 || rrp <= 0 || sale <= 0 || sale >= rrp) return;
1457
1458        // Per Matt 2026-05-13 spec: HIGHER % wins. If the trade % for this
1459        // customer beats the lc %, defer — the trade overlay will patch
1460        // this hit. Tie goes to trade (matches server-side dispatcher).
1461        var effectiveTradePct = noTradeSet.has(sku) ? 0 : tradePct;
1462        if (effectiveTradePct >= pct) return;
1463
1464        var priceSpan = hit.querySelector('span');
1465        if (!priceSpan) return;
1466
1467        // Sanity check — the rendered price should match the indexed RRP
1468        // within a penny. If it doesn't, something else is going on (eg
1469        // catalog rules, customer group price) — skip the patch rather
1470        // than overwrite a price we don't recognise.
1471        var m = priceSpan.textContent.match(/£\s*([\d.]+)/);
1472        if (!m) return;
1473        var rendered = parseFloat(m[1]);
1474        if (!isFinite(rendered) || Math.abs(rendered - rrp) > 0.01) return;
1475
1476        hit.dataset.lcDiscountApplied = '1';
1477
1478        priceSpan.textContent = '£' + sale.toFixed(2);
1479
1480        var sup = document.createElement('sup');
1481        sup.className = 'discount-percent';
1482        sup.style.cssText = 'font-size: 14px; font-weight: 600; color: #4fa3d1; margin-left: 4px;';
1483        sup.textContent = '-' + trimZeros(pct) + '%';
1484        hit.appendChild(sup);
1485
1486        var sub = document.createElement('sub');
1487        sub.className = 'regular-price';
1488        sub.style.cssText = 'font-size: 14px; color: #000; text-decoration: line-through; margin-left: 4px;';
1489        sub.textContent = '£' + rrp.toFixed(2);
1490        hit.appendChild(sub);
1491    }
1492
1493    function scan() {
1494        document.querySelectorAll('.hit-price').forEach(patch);
1495    }
1496
1497    if (document.readyState === 'loading') {
1498        document.addEventListener('DOMContentLoaded', scan);
1499    } else {
1500        scan();
1501    }
1502
1503    new MutationObserver(scan).observe(document.body, { childList: true, subtree: true });
1504})();
1505</script>
1505
1506
1507</body>
1508</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.