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>£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 £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="{"id":1,"code":"en","name":"English","created_at":null,"updated_at":null,"direction":"ltr","locale_image":null,"image_url":"https:\/\/www.layoutconcepts.com\/flags\/en.png"}" :all-locales="[{"id":1,"code":"en","name":"English","created_at":null,"updated_at":null,"direction":"ltr","locale_image":null,"image_url":"https:\/\/www.layoutconcepts.com\/flags\/en.png","pivot":{"channel_id":1,"locale_id":1}}]" :currency="{"id":5,"code":"GBP","name":"UK","created_at":"2023-03-10T15:30:14.000000Z","updated_at":"2023-03-10T15:30:14.000000Z","symbol":"\u00a3"}" :all-currencies="[{"id":5,"code":"GBP","name":"UK","created_at":"2023-03-10T15:30:14.000000Z","updated_at":"2023-03-10T15:30:14.000000Z","symbol":"\u00a3","pivot":{"channel_id":1,"currency_id":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="{"id":1,"code":"en","name":"English","created_at":null,"updated_at":null,"direction":"ltr","locale_image":null,"image_url":"https:\/\/www.layoutconcepts.com\/flags\/en.png"}" :all-locales="[{"id":1,"code":"en","name":"English","created_at":null,"updated_at":null,"direction":"ltr","locale_image":null,"image_url":"https:\/\/www.layoutconcepts.com\/flags\/en.png","pivot":{"channel_id":1,"locale_id":1}}]" :currency="{"id":5,"code":"GBP","name":"UK","created_at":"2023-03-10T15:30:14.000000Z","updated_at":"2023-03-10T15:30:14.000000Z","symbol":"\u00a3"}" :all-currencies="[{"id":5,"code":"GBP","name":"UK","created_at":"2023-03-10T15:30:14.000000Z","updated_at":"2023-03-10T15:30:14.000000Z","symbol":"\u00a3","pivot":{"channel_id":1,"currency_id":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="[{"path":"4308223","slider_path":"https:\/\/www.layoutconcepts.com\/page\/about-us","title":"Welcome","page":"home","content":"","image_url":"https:\/\/themodelcentre.b-cdn.net\/977bfee4-cc59-41ea-ba74-6fd5055fbfb2.jpeg?class=Full?optimizer=image"},{"path":"4308224","slider_path":"https:\/\/www.layoutconcepts.com\/page\/about-us","title":"Welcome 2","page":"home","content":"","image_url":"https:\/\/themodelcentre.b-cdn.net\/cb347309-c31f-482b-9bf9-1e1701befa59.jpeg?class=Full?optimizer=image"}]"> 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&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&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¤cy=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.