1<!DOCTYPE html> 2<!--[if IE 9]> <html class="ie9" prefix="og: http://ogp.me/ns#"> <![endif]--> 3<!--[if !IE]><!--> <html prefix="og: http://ogp.me/ns#"> <!--<![endif]--> 4<head>
5<script> 6 dataLayerMain = []; 7 </script>
7 8 9 10<!-- Google Tag Manager -->
11<script>
vendor: 331 bytes, lines 11-15
11(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 12new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 13j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 14'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 15})(window,document,'script','dataLayerMain','
15GTM-T5W4WQ
vendor: 3 bytes, line 15
15');
15</script>
15 16<!-- End Google Tag Manager --> 17 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 18 <title>Home - Godry-Social-Shopping</title> 19 <link rel="icon" href="https://storage.ning.com/topology/rest/1.0/file/get/13727922893?profile=original" type="image/png" /> 20 <meta name="description" content="Iscriviti e crea il tuo RelaShop a costo 0 consiglia prodotti a chi conosci e guadagni dal 20 al 40%. Saldo provvigioni settimanali." /> 21 <meta name="keywords" content="Social Shopping, Shopping relazionale, Shop personale online, Relashop, Passaparola digitale, Monetizzare le relazioni sociali, Consiglia e guadagna, guadagnare online le relazioni" /> 22<meta name="title" content="Home" /> 23<meta property="og:type" content="website" /> 24<meta property="og:url" content="https://godryshop.com/" /> 25<meta property="og:title" content="Home" /> 26<meta property="og:image" content="https://storage.ning.com/topology/rest/1.0/file/get/13706494475?profile=RESIZE_1024x1024" /> 27<link rel="image_src" href="https://godryshop.com/appatar.png" />
28<link href="https://fonts.googleapis.com/css?family=Fira+Sans:100|Fira+Sans:400|Fira+Sans:500|Fira+Sans:italic500|Fira+Sans:600|Fira+Sans:700|Montserrat:400|Montserrat:500|Montserrat:600" rel="stylesheet">
29<script type="text/javascript"> 30 djConfig = { preventBackButtonFix: false, isDebug: false } 31ning = {"CurrentApp":{"premium":true,"iconUrl":"\/appatar.png","url":"http:\/\/social-shopping-new.ning.com","domains":["godryshop.it","godry.co.uk","godryshop.com"],"storageHost":"https:\/\/storage.ning.com","online":true,"privateSource":true,"id":"social-shopping-new","appId":29146424,"description":"Iscriviti e crea il tuo "RelaShop" a costo 0 consiglia prodotti a chi conosci e guadagni dal 20 al 40%. Saldo provvigioni settimanali.","name":"Godry-Social-Shopping","owner":"13z80fzzt57nf","createdDate":"2025-08-20T11:04:53.660Z","canBuyAddons":false,"fileDeleteUrl":"https:\/\/upload.ning.com\/topology\/rest\/1.0\/file\/remove\/","fileInfoUrl":"https:\/\/upload.ning.com\/topology\/rest\/1.0\/file\/info\/","t":"","category":{"Social Shopping":null,"Shopping relazionale":null,"Shop personale online":null,"Relashop":null,"Passaparola digitale":null,"Monetizzare le relazioni sociali":null,"Consiglia e guadagna":null,"Come guadagnare online con le relazioni":null},"tags":["Social Shopping","Shopping relazionale","Shop personale online","Relashop","Passaparola digitale","Monetizzare le relazioni sociali","Consiglia e guadagna","Come guadagnare online con le relazioni"]},"CurrentProfile":null,"CurrentSitePage":{"bundleId":null,"sitePageTargetType":"customPage","id":"29146424:SitePage:166","title":"Home","targetType":"customPage"},"ICOBoxConfig":{"ICOboxLaunched":false,"timestamp":1790798224,"status":null,"ICOCollectedResult":true},"maxFileUploadSize":7}; 32 (function(){ 33 if (!window.ning) { return; } 34 35 var age, gender, rand, obfuscated, combined; 36 37 obfuscated = document.cookie.match(/xgdi=([^;]+)/); 38 if (obfuscated) { 39 var offset = 100000; 40 obfuscated = parseInt(obfuscated[1]); 41 rand = obfuscated / offset; 42 combined = (obfuscated % offset) ^ rand; 43 age = combined % 1000; 44 gender = (combined / 1000) & 3; 45 gender = (gender == 1 ? 'm' : gender == 2 ? 'f' : 0); 46 ning.viewer = {"age":age,"gender":gender}; 47 } 48 })(); 49 50 window.xg = window.xg || {}; 51xg.captcha = { 52 'shouldShow': false, 53 'siteKey': '6LcloYotAAAAABT8Q40mmTGw51NRSHVpWceJ9Zmj', 54 'spamChallengeAction': 'spamChallenge', 55 'problemsSigningInAction': 'problemsSigningIn', 56 'url': 'https://www.google.com/recaptcha/enterprise.js?onload=xg_captchaOnLoad&render=explicit&hl=it', 57 'loading': false, 58 'onReadyFunctions': [], 59 'load': function (onReady) { 60 if (window.grecaptcha && window.grecaptcha.enterprise && window.grecaptcha.enterprise.render) { onReady(); return; } 61 xg.captcha.onReadyFunctions.push(onReady); 62 if (xg.captcha.loading) { return; } 63 xg.captcha.loading = true; 64 var script = document.createElement('script'); 65 script.src = xg.captcha.url; 66 script.async = true; 67 script.defer = true; 68 document.getElementsByTagName('head')[0].appendChild(script); 69 } 70}; 71window.xg_captchaOnLoad = function () { 72 var onReadyFunctions = xg.captcha.onReadyFunctions; 73 xg.captcha.onReadyFunctions = []; 74 for (var i = 0; i < onReadyFunctions.length; i++) { onReadyFunctions[i](); } 75}; 76xg.addOnRequire = function(f) { xg.addOnRequire.functions.push(f); }; 77xg.addOnRequire.functions = []; 78xg.addOnFacebookLoad = function (f) { xg.addOnFacebookLoad.functions.push(f); }; 79xg.addOnFacebookLoad.functions = []; 80xg._loader = { 81 p: 0, 82 loading: function(set) { this.p++; }, 83 onLoad: function(set) { 84 this.p--; 85 if (this.p == 0 && typeof(xg._loader.onDone) == 'function') { 86 xg._loader.onDone(); 87 } 88 } 89}; 90xg._loader.loading('xnloader'); 91if (window.bzplcm) { 92 window.bzplcm._profileCount = 0; 93 window.bzplcm._profileSend = function() { if (window.bzplcm._profileCount++ == 1) window.bzplcm.send(); }; 94} 95xg._loader.onDone = function() { 96 if(window.bzplcm)window.bzplcm.start('ni'); 97 xg.shared.util.parseWidgets(); 98 var addOnRequireFunctions = xg.addOnRequire.functions; 99 xg.addOnRequire = function(f) { f(); }; 100 try { 101 if (addOnRequireFunctions) { dojo.lang.forEach(addOnRequireFunctions, function(onRequire) { onRequire.apply(); }); } 102 } catch (e) { 103 if(window.bzplcm)window.bzplcm.ts('nx').send(); 104 throw e; 105 } 106 if(window.bzplcm) { window.bzplcm.stop('ni'); window.bzplcm._profileSend(); } 107}; 108window.xn = { track: { event: function() {}, pageView: function() {}, registerCompletedFlow: function() {}, registerError: function() {}, timer: function() { return { lapTime: function() {} }; } } };</script>
108 109<meta name="viewport" content="width=device-width, initial-scale=1.0">
110<script type="text/javascript">less = { env: "development" }; </script>
110 111 112<style type="text/css" media="screen,projection"> 113@import url(https://static.ning.com/social-shopping-new/widgets/shared/less/unversioned/base/iconFont.css?xn_version=202609250855); 114 115</style> 116<link class="less-style less-base-and-theme-styles" rel="stylesheet" type="text/css" href="https://static.ning.com/byAppId/29146424/base-and-theme-styles.e1c617cb7ad5b4ad.css" /> 117<link class="custom-css-url" rel="stylesheet" type="text/css" media="screen,projection" href="https://static.ning.com/byAppId/29146424/custom.27e8d9022960ecb9.css"> 118 119<style type="text/css" media="screen,projection"> 120@import url(https://fonts.googleapis.com/css?family=Arvo|Cookie|Josefin+Sans|Libre+Baskerville|Merriweather|Montserrat|PT+Sans|Playfair+Display|Quicksand|Raleway|Roboto|Roboto+Condensed:300|Sacramento|Satisfy|Ubuntu+Mono); 121 122</style> 123<meta name="google-site-verification" content="mYpV7VdiUynczN2vBtJqVlPngtwOLoB5mapwNX0mRHQ" /> 124</head> 125<body class="page-home"> 126 <!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 126-127
126 127<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
127GTM-T5W4WQ
vendor: 83 bytes, line 127
127" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
128<!-- End Google Tag Manager (noscript) --> 129 130 <div class="before-content"> 131 132 <div class="ningbar cf"> 133 134 135 <ul class="ningbar-userLinks linkbar"> 136 137 <li> 138 <form id="xn_bar_menu_search" method="GET" action="/main/search/search"> 139 <input class="globalsearch" type="search" name="q" value=""><button class="globalsearch-button" type="button" onclick="document.getElementById('xn_bar_menu_search').submit();return false"></button> 140 </form> 141 </li> 142 143 <li><a href="https://godryshop.com/main/authorization/signUp?" class="ningbar-link">Iscriviti</a></li> 144 <li><a href="https://godryshop.com/main/authorization/signIn?target=https%3A%2F%2Fgodryshop.com%2F" class="ningbar-link">Accedi</a></li> 145 </ul> 146 147 </div> 148 149 150 </div> 151 152 <div class="central-content cf"> 153 <header class="site-headerFrame"> 154 <div class="site-header container"> 155 <div class="site-nameLogo"> 156 <p class="header-siteNameLogo"> 157 <a href="/" class="header-siteName header-hidden" id="header-siteName" > 158 Godry-Social-Shopping 159 </a> 160 <a href="/" class="header-logoImage " > 161 <img src="https://storage.ning.com/topology/rest/1.0/file/get/13715377664?profile=original&xn_version=202609250855" alt="Godry-Social-Shopping Logo" class="header-logoIMG"> 162 </a> 163 </p> 164 </div> 165 <nav class="header-nav navbar"> 166 <div class="occasional-button"> 167 <button class="button button-iconic"> 168 <i class="icon icon-menu"></i> 169 </button> 170 </div> 171 <ul class="mainTab"> 172 <li class="mainTab-item "> 173 <a class="" href="https://godryshop.com/home" data-pageType="customPage" > 174 <span>Home</span> 175 </a> 176 </li><li class="mainTab-item "> 177 <a class="" href="https://godryshop.com/main/authorization/signIn?target=%2Fmy%2Fprofile" data-pageType="profilePage" target="_blank"> 178 <span>Il mio Relashop</span> 179 </a> 180 </li><li class="mainTab-item "> 181 <a class="" href="https://godryshop.com/fashion" data-pageType="customPage" target="_blank"> 182 <span>Moda</span> 183 </a> 184 </li><li class="mainTab-item "> 185 <a class="" href="https://godryshop.com/bijou-clock" data-pageType="customPage" target="_blank"> 186 <span>Accessori Moda</span> 187 </a> 188 </li><li class="mainTab-item "> 189 <a class="" href="https://godryshop.com/casa" data-pageType="customPage" > 190 <span>Casa</span> 191 </a> 192 </li> 193 </ul> 194 </nav> 195 196</div> 197 198 </header> 199 200 <section class="site-bodyFrame"> 201 <div class="belowHeaderAdHtml"> 202 <div style="position: relative; width: 100%; height: 0; padding-top: 56.2500%; 203 padding-bottom: 0; box-shadow: 0 2px 8px 0 rgba(63,69,81,0.16); margin-top: 1.6em; margin-bottom: 0.9em; overflow: hidden; 204 border-radius: 8px; will-change: transform;"> 205 <iframe loading="lazy" style="position: absolute; width: 100%; height: 100%; top: 0; left: 0; border: none; padding: 0;margin: 0;" 206 src="https://www.canva.com/design/DAHSGbO4pWk/iN0KWBimKSr7rOf6ZmZcRA/watch?embed" allowfullscreen="allowfullscreen" allow="fullscreen"> 207 </iframe> 208</div> 209<a href="https://www.canva.com/design/DAHSGbO4pWk/iN0KWBimKSr7rOf6ZmZcRA/watch?utm_content=DAHSGbO4pWk&utm_campaign=designshare&utm_medium=embeds&utm_source=link" target="_blank" rel="noopener"> 210 </div> 211 212 <div class="site-body container"> 213 <header class="content-header"> 214 <h1 class="content-name">Home</h1> 215 </header> 216<section class="content-body entry"> 217 <div class="row"> 218 <div class="span16 tablet16 mobile16 column"> 219 <div class="grid-frame sheet section-html "> 220 <section class="module-body htmlSection"> 221 <div class="entry-content cf"> 222 <!-- ============================================================ 223 DISCOVERY GRID MARQUEE â versione dinamica 224 Aggiungi/rimuovi immagini SOLO nell'array JS `IMAGES` qui sotto. 225 Non serve più duplicare manualmente gli <img> nell'HTML. 226 ============================================================ --> 227<div class="discovery-grid-marquee" style="width: 100%; max-width: 100%; overflow: hidden; box-sizing: border-box; contain: content;" aria-label="Carosello immagini"> 228<div id="marqueeTrack" class="discovery-grid-marquee__track"><!-- Generato dinamicamente via JS --></div> 229</div> 230<style><!-- 231.discovery-grid-marquee{ 232 -webkit-mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent); 233 mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent); 234 } 235 .discovery-grid-marquee__track{ 236 display:flex; 237 width:max-content; 238 gap:16px; 239 padding:8px 0; 240 animation: discovery-grid-marquee-scroll var(--marquee-duration, 28s) linear infinite; 241 will-change: transform; 242 } 243 .discovery-grid-marquee__item{ 244 flex:0 0 auto; 245 width:220px; 246 aspect-ratio: 4 / 5; 247 border-radius:12px; 248 overflow:hidden; 249 box-shadow: 0 10px 24px rgba(0,0,0,.08); 250 background: var(--brand-surface, #eee); 251 } 252 .discovery-grid-marquee__item img{ 253 width:100%; 254 height:100%; 255 object-fit:cover; /* adatta l'immagine al box senza deformarla */ 256 object-position:center; /* centra il "soggetto" dell'immagine nel box */ 257 display:block; 258 } 259 @media (max-width: 768px){ 260 .discovery-grid-marquee__track{ gap:12px; animation-duration: 12s; } 261 .discovery-grid-marquee__item{ width:160px; border-radius:10px; } 262 } 263 @keyframes discovery-grid-marquee-scroll{ 264 0%{ transform: translateX(0); } 265 100%{ transform: translateX(-50%); } 266 } 267--></style>
268<script>// <![CDATA[ 269(function(){ 270 // ============================================================ 271 // 1) INSERISCI QUI LE TUE IMMAGINI â quante ne vuoi, in qualsiasi numero. 272 // Ogni oggetto: { src, alt } 273 // ============================================================ 274 const IMAGES = [ 275 // --- Moda & accessori --- 276 { src: "https://images.unsplash.com/photo-1511212269845-02902bfd3ca7?auto=format&fit=crop&w=800&q=70", alt: "Collana e gioielli" }, 277 { src: "https://images.unsplash.com/photo-1735352246756-1abb2a4ba09c?auto=format&fit=crop&w=800&q=70", alt: "Orologio da polso" }, 278 279 // --- Calzature --- 280 { src: "https://images.unsplash.com/photo-1676379827610-c380c52db0c6?auto=format&fit=crop&w=800&q=70", alt: "Sneakers bianche" }, 281 { src: "https://images.unsplash.com/photo-1615743472612-93b21e520fad?auto=format&fit=crop&w=800&q=70", alt: "Scarpa sportiva" }, 282 283 // --- Abbigliamento --- 284 { src: "https://images.unsplash.com/photo-1761090617068-f1b3257d27ad?auto=format&fit=crop&w=800&q=70", alt: "Rack di abiti in boutique" }, 285 { src: "https://images.unsplash.com/photo-1758537698215-af1e35acb911?auto=format&fit=crop&w=800&q=70", alt: "Maglioni piegati" }, 286 287 // --- Salute e benessere --- 288 { src: "https://images.unsplash.com/photo-1506126613408-eca07ce68773?auto=format&fit=crop&w=800&q=70", alt: "Yoga e meditazione" }, 289 290 // --- Arredo casa --- 291 { src: "https://images.unsplash.com/photo-1616137356540-b13b2a04a507?auto=format&fit=crop&w=800&q=70", alt: "Salotto moderno" }, 292 { src: "https://images.unsplash.com/photo-1764526624453-db32c24eca55?auto=format&fit=crop&w=800&q=70", alt: "Cucina moderna" } 293 // ... aggiungi altre righe qui, nessun limite 294 ]; 295 296 const marquee = document.querySelector('.discovery-grid-marquee'); 297 const track = document.getElementById('marqueeTrack'); 298 if (!marquee || !track) return; 299 300 // ============================================================ 301 // 2) Costruisce gli item nel DOM (funziona con N immagini) 302 // ============================================================ 303 function buildItem(img){ 304 const item = document.createElement('div'); 305 item.className = 'discovery-grid-marquee__item'; 306 307 const el = document.createElement('img'); 308 el.src = img.src; 309 el.alt = img.alt || ''; 310 el.loading = 'lazy'; 311 el.decoding = 'async'; 312 313 item.appendChild(el); 314 return item; 315 } 316 317 // Renderizza la lista una volta 318 IMAGES.forEach(img => track.appendChild(buildItem(img))); 319 320 // Duplica l'intera sequenza UNA sola volta per lo scroll infinito 321 // (l'animazione trasla del -50%, quindi serve esattamente il doppio del contenuto) 322 IMAGES.forEach(img => track.appendChild(buildItem(img))); 323 324 // ============================================================ 325 // 3) Velocità dinamica: più immagini = animazione un po' più lunga, 326 // così la velocità percepita resta costante indipendentemente da N 327 // ============================================================ 328 // Modifica SOLO questo numero per cambiare la velocità : 329 // valore più BASSO = scorrimento più VELOCE, valore più ALTO = più LENTO 330 const baseDuration = 14; // secondi per il set di riferimento (5 immagini) 331 const baseCount = 5; 332 const duration = Math.max(8, (IMAGES.length / baseCount) * baseDuration); 333 marquee.style.setProperty('--marquee-duration', duration + 's'); 334 335 // ============================================================ 336 // 4) Pausa su hover / touch (invariato) 337 // ============================================================ 338 const pause = () => track.style.animationPlayState = 'paused'; 339 const play = () => track.style.animationPlayState = 'running'; 340 marquee.addEventListener('mouseenter', pause); 341 marquee.addEventListener('mouseleave', play); 342 marquee.addEventListener('touchstart', pause, {passive:true}); 343 marquee.addEventListener('touchend', play, {passive:true}); 344})(); 345// ]]></script>
345 346 </div> 347 </section> 348 </div> 349 <div class="grid-frame sheet section-html "> 350 <section class="module-body htmlSection"> 351 <div class="entry-content cf"> 352 <p style="text-align: center;"> </p> 353<p style="text-align: center;"><a href="https://godryshop.com/main/authorization/signUp?#" target="_blank" rel="noopener"><img src="https://storage.ning.com/topology/rest/1.0/file/get/31214006492?profile=RESIZE_400x" width="400" /></a></p> 354 </div> 355 </section> 356 </div> 357 <div class="grid-frame sheet section-html "> 358 <section class="module-body htmlSection"> 359 <div class="entry-content cf"> 360 <p><a href="https://www.godryfashion.shop/" target="_blank" rel="noopener"><img class="align-center" src="https://storage.ning.com/topology/rest/1.0/file/get/31093415699?profile=RESIZE_584x" width="500" /></a></p> 361<p style="text-align: left;"><a href="https://godryshop.com/fashion" target="_blank" rel="noopener"><img class="align-full" src="https://storage.ning.com/topology/rest/1.0/file/get/31220950477?profile=RESIZE_180x180" width="100" /></a></p> 362<p> </p> 363 </div> 364 </section> 365 </div> 366 <div class="grid-frame sheet section-html "> 367 <section class="module-body htmlSection"> 368 <div class="entry-content cf"> 369 <p style="text-align: center;"><a href="https://www.godryaccessory.shop/" target="_blank" rel="noopener"><img src="https://storage.ning.com/topology/rest/1.0/file/get/31084431492?profile=RESIZE_584x" width="500" /></a></p> 370<p style="text-align: left;"><a href="https://godryshop.com/bijou-clock" target="_blank" rel="noopener"><img class="align-left align-center" src="https://storage.ning.com/topology/rest/1.0/file/get/31220950477?profile=RESIZE_180x180" width="100" /></a></p> 371 </div> 372 </section> 373 </div> 374 <div class="grid-frame sheet section-html "> 375 <section class="module-body htmlSection"> 376 <div class="entry-content cf"> 377 <p><a href="https://www.godryhome.shop/" target="_blank" rel="noopener"><img class="align-center" src="https://storage.ning.com/topology/rest/1.0/file/get/31220949294?profile=RESIZE_584x" width="499" /></a></p> 378<p><a href="https://godryshop.com/casa" target="_blank" rel="noopener"><img class="align-full" src="https://storage.ning.com/topology/rest/1.0/file/get/31220950477?profile=RESIZE_180x180" width="100" /></a></p> 379 </div> 380 </section> 381 </div> 382 <div class="grid-frame sheet section-html "> 383 <header class="module-header"> 384 <h3 class="module-name">A cosa stai pensando?</h3> 385 </header> 386 <section class="module-body htmlSection"> 387 <div class="entry-content cf"> 388 <p><a href="https://social-shopping-new.ning.com/videos/video/new" target="_blank" rel="noopener"><img class="align-left" src="https://storage.ning.com/topology/rest/1.0/file/get/13698006501?profile=RESIZE_180x180" width="100" /></a><a href="https://godryshop.com/photos/photo/editAfterUpload?ids=29146424%3APhotoEntry%3A146622" target="_blank" rel="noopener"><img class="align-right" src="https://storage.ning.com/topology/rest/1.0/file/get/13698007071?profile=RESIZE_180x180" width="100" /></a></p> 389 </div> 390 </section> 391 </div> 392 <div class="grid-frame sheet section-html "> 393 <section class="module-body htmlSection"> 394 <div class="entry-content cf"> 395 <!-- ============================================================ 396 DISCOVERY GRID MARQUEE â versione dinamica 397 Aggiungi/rimuovi immagini SOLO nell'array JS `IMAGES` qui sotto. 398 Non serve più duplicare manualmente gli <img> nell'HTML. 399 ============================================================ --> 400 401<div class="discovery-grid-marquee" style="width: 100%; max-width: 100%; overflow: hidden; box-sizing: border-box; contain: content;" aria-label="Carosello immagini"> 402 <div class="discovery-grid-marquee__track" id="marqueeTrack"> 403 <!-- Generato dinamicamente via JS --> 404 </div> 405</div> 406 407<style> 408 .discovery-grid-marquee{ 409 -webkit-mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent); 410 mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent); 411 } 412 .discovery-grid-marquee__track{ 413 display:flex; 414 width:max-content; 415 gap:16px; 416 padding:8px 0; 417 animation: discovery-grid-marquee-scroll var(--marquee-duration, 28s) linear infinite; 418 will-change: transform; 419 } 420 .discovery-grid-marquee__item{ 421 flex:0 0 auto; 422 width:220px; 423 aspect-ratio: 4 / 5; 424 border-radius:12px; 425 overflow:hidden; 426 box-shadow: 0 10px 24px rgba(0,0,0,.08); 427 background: var(--brand-surface, #eee); 428 } 429 .discovery-grid-marquee__item img{ 430 width:100%; 431 height:100%; 432 object-fit:cover; /* adatta l'immagine al box senza deformarla */ 433 object-position:center; /* centra il "soggetto" dell'immagine nel box */ 434 display:block; 435 } 436 @media (max-width: 768px){ 437 .discovery-grid-marquee__track{ gap:12px; animation-duration: 12s; } 438 .discovery-grid-marquee__item{ width:160px; border-radius:10px; } 439 } 440 @keyframes discovery-grid-marquee-scroll{ 441 0%{ transform: translateX(0); } 442 100%{ transform: translateX(-50%); } 443 } 444</style> 445
446<script> 447(function(){ 448 // ============================================================ 449 // 1) INSERISCI QUI LE TUE IMMAGINI â quante ne vuoi, in qualsiasi numero. 450 // Ogni oggetto: { src, alt } 451 // ============================================================ 452 453 // Genera un placeholder SVG con testo SEMPRE della stessa dimensione, 454 // indipendentemente da quanto è lunga la parola. 455 function ph(text, bg, fg){ 456 const svg = `<svg xmlns="http://www.w3.org/2000/svg" width="400" height="500"> 457 <rect width="100%" height="100%" fill="${bg}"/> 458 <text x="50%" y="50%" font-family="Arial, Helvetica, sans-serif" font-size="46" 459 font-weight="700" fill="${fg}" text-anchor="middle" dominant-baseline="middle">${text}</text> 460 </svg>`; 461 return "data:image/svg+xml;utf8," + encodeURIComponent(svg); 462 } 463 464 const IMAGES = [ 465 // --- Moda & accessori --- 466 { src: ph("Accessori", "#e8e3dc", "#6b6257"), alt: "Accessorio moda" }, 467 { src: ph("Gioielli", "#e3ded6", "#6b6257"), alt: "Gioielli e accessori" }, 468 { src: ph("Orologi", "#e8e3dc", "#6b6257"), alt: "Orologio e stile" }, 469 { src: ph("Occhiali", "#e3ded6", "#6b6257"), alt: "Occhiali da sole" }, 470 471 // --- Calzature --- 472 { src: ph("Sneakers", "#ded9d1", "#5c5348"), alt: "Sneakers moda" }, 473 { src: ph("Scarpe", "#e3ded6", "#5c5348"), alt: "Scarpe eleganti" }, 474 475 // --- Abbigliamento --- 476 { src: ph("Abiti", "#e8e3dc", "#6b6257"), alt: "Capi di abbigliamento" }, 477 { src: ph("Collezione", "#ded9d1", "#6b6257"), alt: "Collezione moda" }, 478 479 // --- Salute e benessere --- 480 { src: ph("Benessere", "#dce3dc", "#566b57"), alt: "Benessere e relax" }, 481 { src: ph("Salute", "#e3e8e0", "#566b57"), alt: "Salute e wellness" }, 482 483 // --- Arredo casa --- 484 { src: ph("Arredo Casa", "#e0dcd6", "#6b5f4f"), alt: "Arredamento moderno" }, 485 { src: ph("Interni", "#e8e3dc", "#6b5f4f"), alt: "Interni casa" } 486 // ... aggiungi altre righe qui, nessun limite 487 ]; 488 489 const marquee = document.querySelector('.discovery-grid-marquee'); 490 const track = document.getElementById('marqueeTrack'); 491 if (!marquee || !track) return; 492 493 // Pulisce il contenitore prima di popolarlo: evita che restino 494 // immagini "vecchie" o duplicate se lo script viene rieseguito 495 // (es. il CMS ricarica il blocco senza un refresh completo della pagina). 496 track.innerHTML = ''; 497 498 // ============================================================ 499 // 2) Costruisce gli item nel DOM (funziona con N immagini) 500 // ============================================================ 501 function buildItem(img){ 502 const item = document.createElement('div'); 503 item.className = 'discovery-grid-marquee__item'; 504 505 const el = document.createElement('img'); 506 el.src = img.src; 507 el.alt = img.alt || ''; 508 el.loading = 'lazy'; 509 el.decoding = 'async'; 510 511 item.appendChild(el); 512 return item; 513 } 514 515 // Renderizza la lista una volta 516 IMAGES.forEach(img => track.appendChild(buildItem(img))); 517 518 // Duplica l'intera sequenza UNA sola volta per lo scroll infinito 519 // (l'animazione trasla del -50%, quindi serve esattamente il doppio del contenuto) 520 IMAGES.forEach(img => track.appendChild(buildItem(img))); 521 522 // ============================================================ 523 // 3) Velocità dinamica: più immagini = animazione un po' più lunga, 524 // così la velocità percepita resta costante indipendentemente da N 525 // ============================================================ 526 // Modifica SOLO questo numero per cambiare la velocità : 527 // valore più BASSO = scorrimento più VELOCE, valore più ALTO = più LENTO 528 const baseDuration = 14; // secondi per il set di riferimento (5 immagini) 529 const baseCount = 5; 530 const duration = Math.max(8, (IMAGES.length / baseCount) * baseDuration); 531 marquee.style.setProperty('--marquee-duration', duration + 's'); 532 533 // ============================================================ 534 // 4) Pausa su hover / touch (invariato) 535 // ============================================================ 536 const pause = () => track.style.animationPlayState = 'paused'; 537 const play = () => track.style.animationPlayState = 'running'; 538 marquee.addEventListener('mouseenter', pause); 539 marquee.addEventListener('mouseleave', play); 540 marquee.addEventListener('touchstart', pause, {passive:true}); 541 marquee.addEventListener('touchend', play, {passive:true}); 542})(); 543</script>
543 544 </div> 545 </section> 546 </div> 547 </div> 548 </div> 549</section> 550 551 552 </div> 553 554 </section> 555 556 <footer class="site-footerFrame"> 557 <div class="site-footer container cf"> 558 <p class="footer-right"> 559 560 <a href="https://godryshop.com/main/authorization/signUp?target=https%3A%2F%2Fgodryshop.com%2Fmain%2Findex%2Freport" dojoType="PromptToJoinLink" _joinPromptText="Iscriviti o accedi per completare questo passaggio." _hasSignUp="true" _signInUrl="https://godryshop.com/main/authorization/signIn?target=https%3A%2F%2Fgodryshop.com%2Fmain%2Findex%2Freport">Segnala un problema</a> | 561 <a href="https://godryshop.com/main/authorization/termsOfService?previousUrl=https%3A%2F%2Fgodryshop.com%2F">Condizioni per l'utilizzo</a> 562 </p> 563 <p class="footer-left"> 564 © 2026 Godry-Social-Shopping 565 <span class="poweredBy-text"> 566 Offerto da <a class="poweredBy-logo" href="https://www.ning.com/it/" title="" alt="" rel="dofollow"> 567 <img class="poweredbylogo" width="37" height="15" src="https://static.ning.com/social-shopping-new/widgets/index/gfx/NING_MM_footer_blk1.png?xn_version=202609250855" 568 title="Creare un sito web con | Ning.com" alt="Costruttore sito online | Creare un sito web gratis | Ning.com"> 569 </a> 570</span> 571 572 </p> 573</div> 574 575 576 </footer> 577 578 </div> 579 580 <div class="after-content"> 581 <div id="xj_baz17246" class="xg_theme"></div> 582<div id="xg_overlay" style="display:none;"> 583<!--[if lte IE 6.5]><iframe></iframe><![endif]--> 584</div> 585<!--googleoff: all--><noscript> 586 <style type="text/css" media="screen"> 587 #xg { position:relative;top:120px; } 588 #xn_bar { top:120px; } 589 </style> 590 <div class="errordesc noscript"> 591 <div> 592 <h3><strong>Ciao, devi attivare il supporto JavaScript per utilizzare Godry-Social-Shopping.</strong></h3> 593 <p>Verifica le impostazioni del browser o contatta l'amministratore di sistema.</p> 594 <img src="/xn_resources/widgets/index/gfx/jstrk_off.gif" alt="" height="1" width="1" /> 595 </div> 596 </div> 597</noscript><!--googleon: all--> 598
599<script> 600 /* TODO: added checked for missing object on page */ 601 if (typeof xg.shared === "undefined") { xg.shared = {} } 602 xg.shared.templates = {"xg.shared.util":{"shared\/moreOfAddon.mustache":"<div class=\"add__example\">\n <div class=\"add__example_img tile\"\n data-scale=\"2.4\"\n data-image=\"{{dataImage}}\"><\/div>\n <div class=\"add__example_description\">\n <h3 class=\"add__example_title\">{{addonTitle}}<\/h3>\n <div class=\"overflow_scroll\">\n <p>{{addonDescription}}<\/p>\n <\/div>\n <div class=\"add__example_actions to_bottom\">\n <span class=\"price\">{{#DUaddon}}{{fromText}}{{\/DUaddon}}{{^DUaddon}}{{addonCurrency}}{{addonPrice}}{{\/DUaddon}} \/ {{addonPeriod}}<\/span>\n {{^DUaddon}}\n <button class=\"ds-button js_show_buyDetails\" data-addon=\"{{addonId}}\">\n <span>{{addText}}<\/span>\n <\/button>\n {{\/DUaddon}}\n <\/div>\n <\/div>\n\n<\/div>\n{{#DUaddon}}\n<div class=\"align-center\">\n <span class=\"payment-switcher\">\n <input class=\"switcher__input\" type=\"checkbox\" name=\"watched\" id=\"du_switcher_payment_period\">\n <label class=\"switcher__label\" for=\"du_switcher_payment_period\">\n <span class=\"switcher__text left\">{{monthly}}<\/span>\n <span class=\"switcher__text right\">{{annual}}<\/span>\n <\/label>\n <\/span>\n<\/div>\n<div data-type=\"popupActivate\">\n\n <div class=\"storage_block_info after_info\">\n <div class=\"extra_storage\">\n <h3 class=\"extra_storage_title\">{{addonTitle}}<\/h3>\n <p class=\"extra_storage_description\">{{descriptionText}}<\/p>\n <ul class=\"sell_list\">\n {{#duAddonsData.Month}}\n <li class=\"sell_item\">\n <input class=\"disk-usage\" id=\"sell_select_{{product}}\" data-slug=\"{{slug}}\" {{#default}}checked{{\/default}} type=\"radio\" name=\"sell_select\">\n <label for=\"sell_select_{{product}}\">{{capacity}} GB <span class=\"cost\">{{currency}}{{price}}<\/span><\/label>\n <span class=\"radio__icon_mini\"><\/span>\n <\/li>\n {{\/duAddonsData.Month}}\n <\/ul>\n <span class=\"info_prices\">*{{pricesText}}<\/span>\n <\/div>\n\n <div class=\"payment_wrapper\">\n {{{paymentContent}}}\n <\/div>\n <\/div>\n<\/div>\n{{\/DUaddon}}"}}</script>
602 603 604<div id="i18n" style="display: none;" data-locale="it_IT" 605 data-messages='{"MAX_CHARACTERS_IS":"Spiacenti. Il numero massimo di caratteri \u00e8 %1$s.","ADD":"Inserisci","ADDON_PRICE_FROM":"da %1$s%2$s","PRICES_SHOWN_PER_MONTH":"Prezzo mensile","ADDON_DU_PAID_DESCRIPTION_SHORT":"Puoi ottenere pi\u00f9 spazio sul tuo disco acquistando l'add-on di Spazio di archiviazione extra.","MONTHLY":"Mensile","ANNUAL":"Annuale","CLOSE":"Chiudi","OK":"OK","CANCEL":"Annulla","CONFIRMATION":"Conferma","FRAME_BUSTING_MSG_TITLE":"Spiacenti, questo sito non pu\u00f2 essere incorporato in un frame.","FRAME_BUSTING_MSG":"Se cerchi di impostare il tuo dominio personale per il tuo network Ning, fai clic qui per ulteriori informazioni su come impostarlo correttamente. Oppure, fai clic qui per andare al sito originale.","LOADING":"Caricamento in corso\u2026","JOIN_NOW":"Join Now","SIGN_UP":"Iscriviti","SIGN_IN":"Accedi","PENDING_PROMPT_TITLE":"Iscrizione in attesa di approvazione","YOU_CAN_DO_THIS":"Puoi effettuare questo passaggio non appena la tua iscrizione \u00e8 approvata dagli amministratori."}'></div>
606<script type="text/javascript" src="https://static.ning.com/social-shopping-new/widgets/lib/core.min.js?xn_version=202609250855"></script>
606<script> 607var sources = ["https:\/\/e-commerce.ning.com\/public\/api\/sdk.js","https:\/\/static.ning.com\/social-shopping-new\/widgets\/lib\/js\/jquery\/jquery-ui.min.js?xn_version=202609250855","https:\/\/static.ning.com\/social-shopping-new\/widgets\/lib\/js\/decimal\/decimal.min.js?xn_version=202609250855","https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/13696603294?profile=original&r=1755687905"]; 608var numSources = sources.length; 609var heads = document.getElementsByTagName('head'); 610var node = heads.length > 0 ? heads[0] : document.body; 611var onloadFunctionsObj = {}; 612var createScriptTagFunc = function (source) { 613 var script = document.createElement('script'); 614 615 script.type = 'text/javascript'; 616 var currentOnLoad = function () { 617 xg._loader.onLoad(source); 618 }; 619 if (script.readyState) { //for IE (including IE9) 620 script.onreadystatechange = function () { 621 if (script.readyState == 'complete' || script.readyState == 'loaded') { 622 script.onreadystatechange = null; 623 currentOnLoad(); 624 } 625 } 626 } else { 627 script.onerror = script.onload = currentOnLoad; 628 } 629 script.src = source; 630 node.appendChild(script); 631}; 632for (var i = 0; i < numSources; i++) { 633 xg._loader.loading(sources[i]); 634 createScriptTagFunc(sources[i]); 635} 636</script>
vendor: 1 bytes, line 636
636
637<script type="text/javascript"> 638if (!ning._) {ning._ = {}} 639ning._.compat = { encryptedToken: "<empty>" } 640ning._.CurrentServerTime = "2026-09-30T19:57:04+00:00"; 641ning._.probableScreenName = ""; 642ning._.domains = { 643 base: 'ning.com', 644 ports: { http: '80', ssl: '443' } 645}; 646ning.loader.version = '202609250855_1'; // DEP-260930_1:b615663 40 647djConfig.parseWidgets = false; 648</script>
648 649
649<script type="text/javascript"> 650 xg.token = ''; 651xg.canTweet = false; 652xg.cdnHost = 'static.ning.com'; 653xg.version = '202609250855'; 654xg.staticRoot = 'social-shopping-new'; 655xg.xnTrackHost = "coll.ning.com:80"; 656xg.cdnDefaultPolicyHost = 'static'; 657xg.cdnPolicy = []; 658xg.global = xg.global || {}; 659xg.global.currentMozzle = 'main'; 660xg.global.requestBase = ''; 661xg.num_thousand_sep = ","; 662xg.num_decimal_sep = "."; 663 (function() { 664 dojo.addOnLoad(function() { 665 if(window.bzplcm) { window.bzplcm.ts('hr'); window.bzplcm._profileSend(); } 666 }); 667 ning.loader.require('xg.shared.SubTabHover', 'xg.shared.PromptToJoinLink', 'xg.index.index.frameResizable', 'xg.index.index.tabChange', function() { xg._loader.onLoad('xnloader'); }); 668 })(); 669 </script>
669 670<!-- Start of Mobile Navigation --> 671<style> 672@media screen and (max-width: 769px) { 673.gpt-chat{ 674 position: fixed; 675 width: 95%; 676 height: 400px; 677 right: 2%; 678 background: white; 679 border-radius: 20px; 680 bottom: 115px; 681 box-shadow: 0px 2px 2px 2px rgba(0, 0, 0, 0.3); 682 display:none; 683 z-index: 9999; 684 } 685.mainTab.condensed-visible, .mainTab { 686 display: block; 687 position: absolute; 688 right: 0; 689 width: 250px; 690 z-index: 99; 691 background-color: #ffffff; 692 right: -250px; 693} 694body { 695 position: relative; 696} 697.navbar { 698 position: fixed; 699 right: 0; 700 top: 300px; 701 background-color: transparent; 702 background-image: none; 703} 704.navbar .icon-menu::before { 705 content: 'Menu'; 706 font-size: 16px; 707 font-weight: bolder; 708 font-family: inherit; 709} 710.icon-menu { 711 width: auto; 712 height: auto; 713} 714.navbar .button-iconic { 715 border-radius: 50px 0 0 50px; 716 background-color: black; 717} 718.occasional-button > .button-iconic { 719 color: #fff; 720 background-color: #f5165e; 721 722} 723.occasional-button > .button-iconic:hover, .occasional-button > .button-iconic.active { 724 background-color: #000; 725} 726} 727</style>
728<script> 729x$(window).load(function () { 730x$('.header-nav .button-iconic').click(function () { 731if (x$('.mainTab').hasClass('condensed-visible')) { 732 x$('body').animate({ right: 250}, 500); 733 x$('.mainTab').animate({ right: 0}, 500); 734} else { 735 x$('body').animate({ right: 0}, 500); 736 x$('.mainTab').animate({ right: -250}, 500); 737}; 738}); 739 }); 740</script>
vendor: 2 bytes, line 740
740
741<script> 742/* --------------------------------------------------------------- 743 Activity feed infinite scroll. 744 Patched by Ning engineering, 2026-09-11. 745 746 Previously this handler fired .click() on every scroll event with 747 no in-flight guard. MoreButton.js hides the button for the whole 748 duration of the request, and a hidden element reports 749 offset().top === 0, so the condition below was always true: the 750 page issued many concurrent requests carrying the same 751 start_offset and beforeCreatedDate (both are only updated in the 752 AJAX callback) and appended the same feed items over and over. 753 --------------------------------------------------------------- */ 754if (x$('body').hasClass('page-home')) { 755 document.addEventListener("scroll", commentsLoad); 756 757 function commentsLoad () { 758 var x = 10; 759 var $button = x$('.activityFeed-moreOldItemsButton'); 760 // Bail out while a request is in flight, and when the button is 761 // absent - offset() on an empty set is undefined, which used to 762 // throw a TypeError on every single scroll event. 763 if (!$button.length || !$button.is(':visible') || $button.hasClass('is-disabled')) { 764 return; 765 } 766 if (x$(window).height() + x$(window).scrollTop() + x >= $button.offset().top) { 767 $button.click(); 768 } 769 }; 770}; 771 772 773function gptToggle(){ 774 if(document.querySelector('.gpt-chat').style.display == 'none'){ 775 document.querySelector('.gpt-chat').style.display = 'block'; 776 }else document.querySelector('.gpt-chat').style.display = 'none'; 777} 778 779(function() { 780try{ 781 document.querySelector('.default_cover__img').style.height = "200px"; 782}catch(e){ } 783})(); 784</script>
vendor: 2 bytes, line 784
784
785<script src='https://cdn.jotfor.ms/agent/embedjs/01995393a33d7b898bfa20b58d334021d189/embed.js'> 786</script>
786 787 788<!-- company details --> 789<div id="company-details"> 790<center> 791<p>Co-immunity Group srl - San Giorgio Del Sannio 82018 - Piazza Risorgimento 40 - (BN) - P.iva 01839110622</p> 792</center> 793</div> 794<!-- end of code -->
794<script> 795 document.addEventListener("DOMContentLoaded", function () { 796 if (!window.dataLayerMain) { 797 return; 798 } 799 var handler = function (event) { 800 var element = event.currentTarget; 801 if (element.hasAttribute('data-track-disable')) { 802 return; 803 } 804 var options = JSON.parse(element.getAttribute('data-track')); 805 window.dataLayerMain.push({ 806 'event' : 'trackEvent', 807 'eventType' : 'googleAnalyticsNetwork', 808 'eventCategory' : options && options.category || '', 809 'eventAction' : options && options.action || '', 810 'eventLabel' : options && options.label || '', 811 'eventValue' : options && options.value || '' 812 }); 813 if (options && options.ga4) { 814 window.dataLayerMain.push(options.ga4); 815 } 816 }; 817 var elements = document.querySelectorAll('[data-track]'); 818 for (var i = 0; i < elements.length; i++) { 819 elements[i].addEventListener('click', handler); 820 } 821 }); 822</script>
822 823 824 825 </div> 826</body> 827</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.