Help
RSS
API
Feed
Maltego
Contact
Domain > smtp1.italmarket.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2021-03-20
46.4.81.13
(
ClassC
)
2024-11-07
136.243.59.247
(
ClassC
)
Port 80
HTTP/1.1 404 Not FoundDate: Thu, 07 Nov 2024 02:25:33 GMTServer: Apache/2X-Powered-By: PHP/7.4.33Upgrade: h2,h2cConnection: UpgradeVary: Accept-Encoding,User-AgentTransfer-Encoding: chunkedContent-Type: text/html; charsetUTF-8 !DOCTYPE>html>head>!-- Google Tag Manager -->script typetext/plain data-cookiecategoryanalytics>script>(function(w,d,s,l,i){wlwl||;wl.push({gtm.start:new Date().getTime(),event:gtm.js});var fd.getElementsByTagName(s)0,jd.createElement(s),dll!dataLayer?&l+l:;j.asynctrue;j.srchttps://www.googletagmanager.com/gtm.js?id+i+dl;f.parentNode.insertBefore(j,f);})(window,document,script,dataLayer,GTM-NQ5FK2P);/script>!-- End Google Tag Manager -->meta http-equivContent-Type contenttext/html; charsetutf-8>meta contentwidthdevice-width, initial-scale1.0, maximum-scale1.0, user-scalable0; nameviewport />meta nameapple-mobile-web-app-capable contentyes />TITLE> | , /TITLE>meta namerobots contentnoindex>META NAMEdescription CONTENT | , >META NAMEkeywords CONTENT>link relalternate typeapplication/rss+xml titleROR hrefror-smtp1.xml/>meta namegoogle-site-verification contentXnXpeKaFTKbLxO8pfKxpS_w6NqKcn5se4lgbRrBikwE />link hrefhttp://www.italmarket.com/stile2.css relstylesheet typetext/css>style> /* CSS Document */ /* Smartphones (portrait and landscape) ----------- */ @media only screen and (min-device-width : 320px) and (max-device-width : 480px) { html { font-size: 75%; } } /* Smartphones (landscape) ----------- */ @media only screen and (min-width : 321px) { html { font-size: 120%; } } /* Smartphones (portrait) ----------- */ @media only screen and (max-width : 320px) { html { font-size: 120%; } } /* iPads (portrait and landscape) ----------- */ @media only screen and (min-device-width : 768px) and (max-device-width : 1024px) { html { font-size: 120%; } } /* iPads (landscape) ----------- */ @media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : landscape) { html { font-size: 150%; } } /* iPads (portrait) ----------- */ @media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : portrait) { html { font-size: 120%; } } /* Desktops and laptops ----------- */ @media only screen and (min-width : 1224px) { html { font-size: 156%; } } /* Large screens ----------- */ @media only screen and (min-width : 1824px) { html { font-size: 200%; } } /* iPhone 4 ----------- */ @media only screen and (-webkit-min-device-pixel-ratio : 1.5), only screen and (min-device-pixel-ratio : 1.5) { html { font-size: 190%; } } .bordo {border: 1px solid #003366; background-color: #F3F3F3; }#Layer1 { position:absolute; left:91px; top:30px; width:884px; height:435px; z-index:1;}.style7 {font-size: 36px}h1 {color: #003366;text-decoration:none;}.testogrosso {color: #003366;text-decoration:none;}h1 { font-size: 100%; }h2 { font-size: 90%; }h3 { font-size: 80%; }h5 { font-size: 70%; }h6 { font-size: 60%; }#banner900{ max-width: 100%; min-width: 10px; height: auto;}.server a {line-height:20px;margin:5px; }/style>/head>body>!-- Google Tag Manager (noscript) -->noscript>iframe srchttps://www.googletagmanager.com/ns.html?idGTM-NQ5FK2Pheight0 width0 styledisplay:none;visibility:hidden>/iframe>/noscript>!-- End Google Tag Manager (noscript) -->div idbanneralto>div classlogosx>h1 aligncenter classtestogrosso> - /h1>/div>/div>div idcorpo> div idgabbiacentrale>br> /p> /td> /tr>/table> p> Non sono presenti siti con /p> br> br>br> br> br> /div>/div>/noscript>style>/** Light color-scheme **/:root{ --cc-bg: #fff; --cc-text: #2d4156; --cc-btn-primary-bg: #2d4156; --cc-btn-primary-text: var(--cc-bg); --cc-btn-primary-hover-bg: #1d2e38; --cc-btn-secondary-bg: #eaeff2; --cc-btn-secondary-text: var(--cc-text); --cc-btn-secondary-hover-bg: #d8e0e6; --cc-toggle-bg-off: #919ea6; --cc-toggle-bg-on: var(--cc-btn-primary-bg); --cc-toggle-bg-readonly: #d5dee2; --cc-toggle-knob-bg: #fff; --cc-toggle-knob-icon-color: #ecf2fa; --cc-block-text: var(--cc-text); --cc-cookie-category-block-bg: #f0f4f7; --cc-cookie-category-block-bg-hover: #e9eff4; --cc-section-border: #f1f3f5; --cc-cookie-table-border: #e9edf2; --cc-overlay-bg: rgba(4, 6, 8, .85); --cc-webkit-scrollbar-bg: #cfd5db; --cc-webkit-scrollbar-bg-hover: #9199a0;}/** Dark color-scheme **/.c_darkmode{ --cc-bg: #181b1d; --cc-text: #d8e5ea; --cc-btn-primary-bg: #a6c4dd; --cc-btn-primary-text: #000; --cc-btn-primary-hover-bg: #c2dff7; --cc-btn-secondary-bg: #33383c; --cc-btn-secondary-text: var(--cc-text); --cc-btn-secondary-hover-bg: #3e454a; --cc-toggle-bg-off: #667481; --cc-toggle-bg-on: var(--cc-btn-primary-bg); --cc-toggle-bg-readonly: #454c54; --cc-toggle-knob-bg: var(--cc-cookie-category-block-bg); --cc-toggle-knob-icon-color: var(--cc-bg); --cc-block-text: #b3bfc5; --cc-cookie-category-block-bg: #23272a; --cc-cookie-category-block-bg-hover: #2b3035; --cc-section-border: #292d31; --cc-cookie-table-border: #2b3035; --cc-webkit-scrollbar-bg: #667481; --cc-webkit-scrollbar-bg-hover: #9199a0;}.theme_turquoise{ --cc-bg: #161a1c; --cc-text: #d8e5ea; --cc-btn-primary-bg: #60fed2; --cc-btn-primary-text: #000; --cc-btn-primary-hover-bg: #4dd4ae; --cc-btn-secondary-bg: #242c31; --cc-btn-secondary-text: var(--cc-text); --cc-btn-secondary-hover-bg: #2b353c; --cc-toggle-bg-off: #667481; --cc-toggle-bg-on: var(--cc-btn-primary-bg); --cc-toggle-bg-readonly: #343e45; --cc-toggle-knob-bg: var(--cc-cookie-category-block-bg); --cc-toggle-knob-icon-color: var(--cc-bg); --cc-cookie-category-block-bg: #1e2428; --cc-cookie-category-block-bg-hover: #242c31; --cc-section-border: #222a30; --cc-block-text: #bac9cf; --cc-cookie-table-border: #2b3035; --cc-overlay-bg: rgba(4, 6, 8, .85); --cc-webkit-scrollbar-bg: #2c343a; --cc-webkit-scrollbar-bg-hover: #384148;}.theme_turquoise .cc_div a{ color: var(--cc-btn-primary-bg);}.theme_turquoise #cc_div #s-hdr{ border-bottom: none;}.theme_turquoise .cc_div #c-txt{ color: #b0b8c6!important;}.theme_funky{ --cc-bg: #f9faff; --cc-text: #112954; --cc-btn-primary-bg: #3859d0; --cc-btn-primary-text: var(--cc-bg); --cc-btn-primary-hover-bg: #1d2e38; --cc-btn-secondary-bg: #dfe7f9; --cc-btn-secondary-text: var(--cc-text); --cc-btn-secondary-hover-bg: #c6d1ea; --cc-toggle-bg-off: #8fa8d6; --cc-toggle-bg-on: #3859d0; --cc-toggle-bg-readonly: #cbd8f1; --cc-toggle-knob-bg: #fff; --cc-toggle-knob-icon-color: #ecf2fa; --cc-block-text: var(--cc-text); --cc-cookie-category-block-bg: #ebeff9; --cc-cookie-category-block-bg-hover: #dbe5f9; --cc-section-border: #f1f3f5; --cc-cookie-table-border: #e1e7f3; --cc-overlay-bg: rgba(230, 235, 255, .85); --cc-webkit-scrollbar-bg: #ebeff9; --cc-webkit-scrollbar-bg-hover: #3859d0;}.theme_funky #c-ttl{ color: var(--cc-btn-primary-bg);}/* Custom border radius */.theme_funky #cm, .theme_funky #s-bl .act .b-acc, .theme_funky #s-inr, .theme_funky .cc_div .b-tl, .theme_funky .cc_div .c-bl{ border-radius: 1.2em;}.theme_funky .cc_div .c-bn{ border-radius: .7em;}.cc_div *,.cc_div :before,.cc_div :after{ -webkit-box-sizing: border-box; box-sizing: border-box; float: none; font-style: inherit; font-variant: normal; font-weight: inherit; font-family: inherit; line-height: 1.2; font-size: 1em; transition: none; animation: none; margin: 0; padding: 0; text-transform: none; letter-spacing: unset; color: inherit; background: none; border: none; box-shadow: none; text-decoration: none; text-align: left; visibility: unset;}.cc_div { font-size: 16px; font-weight: 400; font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; color: #2d4156; color: var(--cc-text);}.cc_div .c-bn,.cc_div .b-tl,#s-ttl,#c-ttl,#s-bl td:before{ font-weight: 600;}#cm,#s-inr,.cc_div .c-bl,.cc_div .b-tl,#s-bl .act .b-acc{ border-radius: .35em;}#s-bl .act .b-acc{ border-top-left-radius: 0; border-top-right-radius: 0;}.cc_div input,.cc_div button,.cc_div a{ -webkit-appearance: none; -moz-appearance: none; appearance: none;}.cc_div a{ border-bottom: 1px solid;}.cc_div a:hover{ text-decoration: none; border-color: transparent;}/* Make elements animatable */.c--anim #cm,.c--anim #s-cnt,.c--anim #s-inr,#cs-ov,#cm-ov{ transition: visibility .25s linear, opacity .25s ease, transform .25s ease!important;}.c--anim .c-bn{ transition: background-color .25s ease!important;}/* start transitions */.c--anim #cm.bar.slide,.c--anim .bar.slide #s-inr{ transition: visibility .4s ease, opacity .4s ease, transform .4s ease!important;}.c--anim #cm.bar.slide + #cm-ov,.c--anim .bar.slide + #cs-ov{ transition: visibility .4s ease, opacity .4s ease, transform .4s ease!important;}#cm.bar.slide,.cc_div .bar.slide #s-inr{ transform: translateX(100%); opacity: 1;}#cm.bar.top.slide,.cc_div .bar.left.slide #s-inr{ transform: translateX(-100%); opacity: 1;}#cm.slide,.cc_div .slide #s-inr{ transform: translateY(1.6em);}#cm.top.slide{ transform: translateY(-1.6em);}#cm.bar.slide{ transform: translateY(100%);}#cm.bar.top.slide{ transform: translateY(-100%);}/* end transitions *//* Show modals */.show--consent .c--anim #cm,.show--consent .c--anim #cm.bar,.show--settings .c--anim #s-inr,.show--settings .c--anim .bar.slide #s-inr{ opacity: 1; transform: scale(1); visibility: visible!important;}.show--consent .c--anim #cm.box.middle,.show--consent .c--anim #cm.cloud.middle{ transform: scale(1) translateY(-50%);}.show--settings .c--anim #s-cnt{ visibility: visible!important;}/* Show overlays */.force--consent.show--consent .c--anim #cm-ov,.show--settings .c--anim #cs-ov{ visibility: visible!important; opacity: 1!important;}#cm{ font-family: inherit; padding: 1.1em 1.8em 1.4em 1.8em; position: fixed; z-index: 1; background: #fff; background: var(--cc-bg); max-width: 24.2em; width: 100%; bottom: 1.250em; right: 1.250em; box-shadow: 0 0.625em 1.875em #000000; box-shadow: 0 0.625em 1.875em rgba(2, 2, 3, 0.28); opacity: 0; visibility: hidden; transform: scale(.95); line-height: initial;}/** fix https://github.com/orestbida/cookieconsent/issues/94 **/#cc_div #cm { display: block!important;}#c-ttl{ margin-bottom: .7em; font-size: 1.05em;}.cloud #c-ttl{ margin-top: -.15em;}#c-txt{ font-size: 0.9em; line-height: 1.5em;}.cc_div #c-bns{ display: flex; justify-content: space-between; margin-top: 1.4em;}.cc_div .c-bn{ color: #40505a; color: var(--cc-btn-secondary-text); background: #e5ebef; background: var(--cc-btn-secondary-bg); padding: 1em 1.7em; display: inline-block; cursor: pointer; font-size: 0.82em; -moz-user-select: none; -khtml-user-select: none; -webkit-user-select: none; -o-user-select: none; user-select: none; text-align: center; border-radius: 4px; flex: 1;}#c-bns button + button,#s-cnt button + button,#s-c-bn{ float: right; margin-left: 1em;}#s-cnt #s-rall-bn{ float: none;}#cm .c_link:hover,#cm .c_link:active,#s-cnt button + button:hover,#s-cnt button + button:active,#s-c-bn:active,#s-c-bn:hover{ background: #d8e0e6; background: var(--cc-btn-secondary-hover-bg);}/**CookieConsent settings modal**/#s-cnt{ position: fixed; top: 0; left: 0; width: 100%; z-index: 101; display: table; height: 100%; visibility: hidden;}#s-bl{ outline: none;}#s-bl .title{ margin-top: 1.4em;}#s-bl .title:first-child{ margin-top: 0;}#s-bl .b-bn{ margin-top: 0;}#s-bl .b-acc .p{ margin-top: 0; padding: 1em;}#s-cnt .b-bn .b-tl{ display: block; font-family: inherit; font-size: .95em; width: 100%; position: relative; padding: 1.3em 6.4em 1.3em 2.7em; background: none; transition: background-color .25s ease;}#s-cnt .b-bn .b-tl.exp{ cursor: pointer;}#s-cnt .act .b-bn .b-tl{ border-bottom-right-radius: 0; border-bottom-left-radius: 0;}#s-cnt .b-bn .b-tl:active,#s-cnt .b-bn .b-tl:hover{ background: #e9eff4; background: var(--cc-cookie-category-block-bg-hover);}#s-bl .b-bn{ position: relative;}#s-bl .c-bl{ padding: 1em; margin-bottom: .5em; border: 1px solid #f1f3f5; border-color: var(--cc-section-border); transition: background-color .25s ease;}#s-bl .c-bl:hover{ background: #f0f4f7; background: var(--cc-cookie-category-block-bg);}#s-bl .c-bl:last-child{ margin-bottom: .5em;}#s-bl .c-bl:first-child{ transition: none; padding: 0; margin-top: 0; border:none; margin-bottom: 2em;}#s-bl .c-bl:not(.b-ex):first-child:hover{ background: transparent; background: unset;}#s-bl .c-bl.b-ex{ padding: 0; border: none; background: #f0f4f7; background: var(--cc-cookie-category-block-bg); transition: none;}#s-bl .c-bl.b-ex + .c-bl{ margin-top: 2em;}#s-bl .c-bl.b-ex + .c-bl.b-ex{ margin-top: 0;}#s-bl .c-bl.b-ex:first-child{ margin-bottom: 1em;}#s-bl .c-bl.b-ex:first-child{ margin-bottom: .5em;}#s-bl .b-acc{ max-height: 0; overflow: hidden; padding-top: 0; margin-bottom: 0; display: none;}#s-bl .act .b-acc{ max-height: 100%; display: block; overflow: hidden;}#s-cnt .p{ font-size: 0.9em; line-height: 1.5em; margin-top: .85em; color: #2d4156; color: var(--cc-block-text);}.cc_div .b-tg .c-tgl:disabled{ cursor: not-allowed;}#c-vln{ display: table-cell; vertical-align: middle; position: relative;}#cs{ padding: 0 1.7em; width: 100%; position: fixed; left: 0; right: 0; top: 0; bottom: 0; height: 100%;}#s-inr{ height: 100%; position: relative; max-width: 45em; margin: 0 auto; transform: scale(.96); opacity: 0; padding-top: 4.75em; padding-bottom: 4.75em; position: relative; height: 100%; overflow: hidden; visibility: hidden; box-shadow: rgba(3, 6, 9, .26) 0px 13px 27px -5px;}#s-inr,#s-hdr,#s-bns{ background: #fff; background: var(--cc-bg);}#s-bl{ overflow-y: auto; overflow-y: overlay; overflow-x: hidden; height: 100%; padding: 1.3em 2.1em; display: block; width: 100%;}#s-bns{ position: absolute; bottom: 0; left: 0; right: 0; padding: 1em 2.1em; border-top: 1px solid #f1f3f5; border-color: var(--cc-section-border); height: 4.75em;}.cc_div .cc-link{ color: #253b48; color: var(--cc-btn-primary-bg); border-bottom: 1px solid #253b48; border-color: var(--cc-btn-primary-bg); display: inline; padding-bottom: 0; text-decoration: none; cursor: pointer; font-weight: 600;}.cc_div .cc-link:hover,.cc_div .cc-link:active{ border-color: transparent;}#c-bns button:first-child,#s-bns button:first-child{ color: #fff; color: var(--cc-btn-primary-text); background: #253b48; background: var(--cc-btn-primary-bg);}#c-bns.swap button:first-child{ color: #40505a; color: var(--cc-btn-secondary-text); background: #e5ebef; background: var(--cc-btn-secondary-bg);}#c-bns.swap button:last-child{ color: #fff; color: var(--cc-btn-primary-text); background: #253b48; background: var(--cc-btn-primary-bg);}.cc_div .b-tg .c-tgl:checked ~ .c-tg{ background: #253b48; background: var(--cc-toggle-bg-on);}#c-bns button:first-child:active,#c-bns button:first-child:hover,#s-bns button:first-child:active,#s-bns button:first-child:hover,#c-bns.swap button:last-child:active,#c-bns.swap button:last-child:hover{ background: #1d2e38; background: var(--cc-btn-primary-hover-bg);}#c-bns.swap button:first-child:active,#c-bns.swap button:first-child:hover{ background: #d8e0e6; background: var(--cc-btn-secondary-hover-bg);}#s-hdr{ position: absolute; top: 0; width: 100%; display: table; padding: 0 2.1em; height: 4.75em; vertical-align: middle; z-index: 2; border-bottom: 1px solid #f1f3f5; border-color: var(--cc-section-border);}#s-ttl{ display: table-cell; vertical-align: middle; font-size: 1em;}#s-c-bn{ padding: 0; width: 1.7em; height: 1.7em; font-size: 1.45em; margin: 0; font-weight: initial; position: relative;}#s-c-bnc{ display: table-cell; vertical-align: middle;}.cc_div span.t-lb { position: absolute; top: 0; z-index: -1; opacity: 0; pointer-events: none; overflow: hidden;}#c_policy__text{ height: 31.250em; overflow-y: auto; margin-top: 1.250em;}#c-s-in{ position: relative; transform: translateY(-50%); top: 50%; height: 100%; height: calc(100% - 2.5em); max-height: 37.5em;}@media screen and (min-width: 688px) { /** works only on webkit-based browsers **/ #s-bl::-webkit-scrollbar{ width: .9em; height: 100%; background: transparent; border-radius: 0 0.250em 0.250em 0; } #s-bl::-webkit-scrollbar-thumb{ border: 0.25em solid var(--cc-bg); background: #cfd5db; background: var(--cc-webkit-scrollbar-bg); border-radius: 100em; } #s-bl::-webkit-scrollbar-thumb:hover{ background: #9199a0; background: var(--cc-webkit-scrollbar-bg-hover); } #s-bl::-webkit-scrollbar-button { width: 10px; height: 5px; }}/** custom checkbox **//* The container */.cc_div .b-tg { position: absolute; right: 0; top: 0; bottom: 0; display: inline-block; margin: auto; right: 1.2em; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; vertical-align: middle;}/* Hide the browsers default checkbox */.cc_div .b-tg .c-tgl { position: absolute; cursor: pointer; display: block; top: 0; left: 0; margin: 0; border: 0;}/* Create a custom checkbox */.cc_div .b-tg .c-tg { position: absolute; background: #919ea6; background: var(--cc-toggle-bg-off); transition: background-color .25s ease, box-shadow .25s ease; pointer-events: none;}.cc_div span.t-lb,.cc_div .b-tg,.cc_div .b-tg .c-tg,.cc_div .b-tg .c-tgl{ width: 3.4em; height: 1.5em; border-radius: 4em;}.cc_div .b-tg .c-tg.c-ro{ cursor: not-allowed;}.cc_div .b-tg .c-tgl ~ .c-tg.c-ro{ background: #d5dee2; background: var(--cc-toggle-bg-readonly);}.cc_div .b-tg .c-tgl ~ .c-tg.c-ro:after{ box-shadow: none;}/* Style the checkmark/indicator */.cc_div .b-tg .c-tg:after { content: ; position: relative; display: block; left: 0.125em; top: 0.125em; width: 1.25em; height: 1.25em; border: none; box-sizing: content-box; background: #fff; background: var(--cc-toggle-knob-bg); box-shadow: 0 1px 2px rgba(24, 32, 35, .36); transition: transform .25s ease; border-radius: 100%;}/* Show the checkmark when checked */.cc_div .b-tg .c-tgl:checked ~ .c-tg:after{ transform: translateX(1.9em);}#s-bl table,#s-bl th,#s-bl td{ border: none;}#s-bl tbody tr{ transition: background-color .25s ease;}#s-bl tbody tr:hover{ background: #e9eff4; background: var(--cc-cookie-category-block-bg-hover);}#s-bl table { text-align: left; border-collapse: collapse; width: 100%; padding: 0; margin: 0; overflow: hidden;}#s-bl td, #s-bl th { padding: 0.8em 0.625em; text-align: left; vertical-align: top; font-size: .8em; padding-left: 1.2em;}#s-bl th { font-family: inherit; padding: 1.2em 1.2em;}#s-bl thead tr:first-child{ border-bottom: 1px solid #e9edf2; border-color: var(--cc-cookie-table-border);}.force--consent #s-cnt,.force--consent #cs{ width: 100vw;}#cm-ov,#cs-ov{ position: fixed; left: 0; right: 0; top: 0; bottom: 0; visibility: hidden; opacity: 0; background: #070707; background: rgba(4, 6, 8, .85); background: var(--cc-overlay-bg); display: none; transition: none;}.show--settings #cs-ov,.c--anim #cs-ov,.force--consent .c--anim #cm-ov,.force--consent.show--consent #cm-ov{ display: block;}#cs-ov{ z-index: 2;}.force--consent .cc_div{ position: fixed; top: 0; left: 0; bottom: 0; width: 100%; width: 100vw; visibility: hidden; transition: visibility .25s linear;}.force--consent.show--consent .c--anim .cc_div,.force--consent.show--settings .c--anim .cc_div{ visibility: visible;}.force--consent #cm{ position: absolute;}.force--consent #cm.bar{ width: 100vw; max-width: 100vw;}html.force--consent.show--consent{ overflow-y: hidden!important;}html.force--consent.show--consent,html.force--consent.show--consent body{ height: auto!important; overflow-x: hidden!important;}/** END BLOCK PAGE SCROLL *//** BEGIN ICONS **/.cc_div .b-bn .b-tl.exp::before,.cc_div .act .b-bn .b-tl.exp::before{ border: solid #2d4156; border-color: var(--cc-btn-secondary-text); border-width: 0 2px 2px 0; padding: .2em; display: inline-block; position: absolute; content: ; margin-right: 15px; position: absolute; transform: translateY(-50%) rotate(45deg); left: 1.2em; top: 50%;}.cc_div .act .b-bn .b-tl::before{ transform: translateY(-20%) rotate(225deg);}.cc_div .on-i::before{ border: solid #fff; border-color: var(--cc-toggle-knob-icon-color); border-width: 0 2px 2px 0; padding: .1em; display: inline-block; padding-bottom: .45em; content: ; margin: 0 auto; transform: rotate(45deg); top: .37em; left: .75em; position: absolute;}#s-c-bn::before,#s-c-bn::after{ content: ; position: absolute; left: .82em; top: .58em; height: .6em; width: 1.5px; background: #444d53; background: var(--cc-btn-secondary-text); transform: rotate(45deg); border-radius: 1em; margin: 0 auto;}#s-c-bn::after{ transform: rotate(-45deg);}.cc_div .off-i,.cc_div .on-i{ height: 100%; width: 50%; position: absolute; right: 0; display: block; text-align: center; transition: opacity .15s ease;}.cc_div .on-i{ left: 0; opacity: 0;}.cc_div .off-i::before,.cc_div .off-i::after{ right: .8em; top: .42em; content: ; height: .7em; width: .09375em; display: block; background: #cdd6dc; background: var(--cc-toggle-knob-icon-color); margin: 0 auto; position: absolute; transform-origin: center;}.cc_div .off-i::before { transform: rotate(45deg);}.cc_div .off-i::after { transform: rotate(-45deg);}.cc_div .b-tg .c-tgl:checked ~ .c-tg .on-i{ opacity: 1;}.cc_div .b-tg .c-tgl:checked ~ .c-tg .off-i{ opacity: 0;}/** END ICONS **/#cm.box.middle,#cm.cloud.middle{ top: 50%; transform: translateY(-37%); bottom: auto;}#cm.box.middle.zoom,#cm.cloud.middle.zoom{ transform: scale(.95) translateY(-50%);}#cm.box.center{ left: 1em; right: 1em; margin: 0 auto;}/* Start cloud layout */#cm.cloud { max-width: 50em; margin: 0 auto; text-align: center; left: 1em; right: 1em; overflow: hidden; padding: 1.3em 2em; width: unset;}.cc_div .cloud #c-inr{ display: table; width: 100%;}.cc_div .cloud #c-inr-i{ width: 70%; display: table-cell; vertical-align: top; padding-right: 2.4em;}.cc_div .cloud #c-txt{ font-size: 0.85em;}.cc_div .cloud #c-bns{ min-width: 170px; display: table-cell; vertical-align: middle;}#cm.cloud .c-bn{ margin: .625em 0 0 0; width: 100%;}#cm.cloud .c-bn:first-child{ margin: 0;}#cm.cloud.left{ margin-right: 1.25em;}#cm.cloud.right{ margin-left: 1.25em;}/* End cloud layout *//* Start bar layout */#cm.bar { width: 100%; max-width: 100%; left: 0; right: 0; bottom: 0; border-radius: 0; position: fixed; padding: 2em;}#cm.bar #c-inr{ max-width: 32em; margin: 0 auto;}#cm.bar #c-bns{ max-width: 33.75em;}#cm.bar #cs{ padding: 0;}.cc_div .bar #c-s-in{ top: 0; transform: none; height: 100%; max-height: 100%;}.cc_div .bar #s-hdr,.cc_div .bar #s-bl,.cc_div .bar #s-bns { padding-left: 1.6em; padding-right: 1.6em;}.cc_div .bar #cs{ padding: 0;}/* align bar to right by default */.cc_div .bar #s-inr{ margin: 0; margin-left: auto; margin-right: 0; border-radius: 0; max-width: 32em;}.cc_div .bar.left #s-inr{ margin-left: 0; margin-right: auto;}/* Force table to not be like tables anymore */.cc_div .bar #s-bl table, .cc_div .bar #s-bl thead, .cc_div .bar #s-bl tbody, .cc_div .bar #s-bl th, .cc_div .bar #s-bl td, .cc_div .bar #s-bl tr,.cc_div .bar #s-cnt{ display: block; }/* Hide table headers (but not display: none;, for accessibility) */.cc_div .bar #s-bl thead tr{ position: absolute; top: -9999px; left: -9999px;}.cc_div .bar #s-bl tr{ border-top: 1px solid #e3e7ed; border-color: var(--cc-cookie-table-border);}.cc_div .bar #s-bl td { /* Behave like a row */ border: none; position: relative; padding-left: 35%; }.cc_div .bar #s-bl td:before { position: absolute; left: 1em; padding-right: 0.625em; white-space: nowrap; content: attr(data-column); color: #000; color: var(--cc-text); overflow: hidden; text-overflow: ellipsis;}/* End bar layout *//* Positions */#cm.top { bottom: auto; top: 1.250em;}#cm.left{ right: auto; left: 1.250em;}#cm.right{ left: auto; right: 1.250em;}#cm.bar.left,#cm.bar.right{ left: 0; right: 0;}#cm.bar.top{ top: 0;}/* end positions */@media screen and (max-width: 688px) { #cm, #cm.cloud, #cm.left, #cm.right{ width: auto; max-width: 100%; margin: 0; padding: 1.4em!important; right: 1em; left: 1em; bottom: 1em; display: block; } .force--consent #cm, .force--consent #cm.cloud{ width: auto; max-width: 100vw; } #cm.top{ top: 1em; bottom: auto; } #cm.bottom{ bottom: 1em; top: auto; } #cm.bar.bottom{ bottom: 0; } #cm.cloud .c-bn{ font-size: .85em; } #s-bns, .cc_div .bar #s-bns{ padding: 1em 1.3em; } .cc_div .bar #s-inr{ max-width: 100%; width: 100%; } .cc_div .cloud #c-inr-i{ padding-right: 0; } #cs{ border-radius: 0; padding: 0; } #c-s-in{ max-height: 100%; height: 100%; top: 0; transform: none; } .cc_div .b-tg{ transform: scale(1.1); right: 1.1em; } #s-inr{ margin: 0; padding-bottom: 7.9em; border-radius: 0; } #s-bns{ height: 7.9em; } #s-bl, .cc_div .bar #s-bl{ padding: 1.3em; } #s-hdr, .cc_div .bar #s-hdr{ padding: 0 1.3em; } /** dynamic table layout **/ #s-bl table { width: 100%; } #s-inr.bns-t{ padding-bottom: 10.5em; } .bns-t #s-bns{ height: 10.5em; } .cc_div .bns-t .c-bn{ font-size: 0.83em; padding: .9em 1.6em; } #s-cnt .b-bn .b-tl{ padding-top: 1.2em; padding-bottom: 1.2em; } /* Force table to not be like tables anymore */ #s-bl table, #s-bl thead, #s-bl tbody, #s-bl th, #s-bl td, #s-bl tr, #s-cnt{ display: block; } /* Hide table headers (but not display: none;, for accessibility) */ #s-bl thead tr{ position: absolute; top: -9999px; left: -9999px; } #s-bl tr{ border-top: 1px solid #e3e7ed; border-color: var(--cc-cookie-table-border); } #s-bl td { /* Behave like a row */ border: none; position: relative; padding-left: 35%; } #s-bl td:before { position: absolute; left: 1em; padding-right: 0.625em; white-space: nowrap; content: attr(data-column); color: #000; color: var(--cc-text); overflow: hidden; text-overflow: ellipsis; } #cm .c-bn, .cc_div .c-bn{ width: 100%; margin-right: 0; } #s-cnt #s-rall-bn{ margin-left: 0; } .cc_div #c-bns{ flex-direction: column; } #c-bns button + button, #s-cnt button + button{ margin-top: 0.625em; margin-left: 0; float: unset; } #cm.cloud, #cm.box{ left: 1em; right: 1em; width: auto; } #cm.cloud.right, #cm.cloud.left{ margin: 0; } .cc_div .cloud #c-bns, .cc_div .cloud #c-inr, .cc_div .cloud #c-inr-i{ display: block; width: auto; min-width: unset; } .cc_div .cloud #c-txt{ font-size: .9em; } .cc_div .cloud #c-bns{ margin-top: 1.625em; }}/* Begin IE fixes */.cc_div.ie #c-vln{ height: 100%; padding-top: 5.62em;}.cc_div.ie .bar #c-vln{ padding-top: 0;}.cc_div.ie #cs{ max-height: 37.5em; position: relative; top: 0; margin-top: -5.625em;}.cc_div.ie .bar #cs{ margin-top:0; max-height: 100%;}.cc_div.ie #cm{ border: 1px solid #dee6e9;}.cc_div.ie #c-s-in{ top: 0;}.cc_div.ie .b-tg{ padding-left: 1em; margin-bottom: 0.7em;}.cc_div.ie .b-tg .c-tgl:checked ~ .c-tg:after{ left: 1.95em;}.cc_div.ie #s-bl table{ overflow: auto;}.cc_div.ie .b-tg .c-tg{ display: none;}.cc_div.ie .b-tg .c-tgl{ position: relative; display: inline-block; vertical-align: middle; margin-bottom: 0.2em; height: auto;}.cc_div.ie #s-cnt .b-bn .b-tl{ padding: 1.3em 6.4em 1.3em 1.4em}.cc_div.ie .bar #s-bl td:before{ display: none;}.cc_div.ie .bar #s-bl td{ padding: 0.8em 0.625em 0.8em 1.2em;}.cc_div.ie .bar #s-bl thead tr{ position: relative;}.cc_div.ie .b-tg .t-lb{ filter: alpha(opacity0);}.cc_div.ie #cm-ov,.cc_div.ie #cs-ov{ filter: alpha(opacity80);}/** END IE FIXES **//style>script>/*! * CookieConsent v2.7.1 * https://www.github.com/orestbida/cookieconsent * Author Orest Bida * Released under the MIT License */(function(){ use strict; /** * @param {HTMLElement} root - optional element where the cookieconsent will be appended * @returns {Object} cookieconsent object with API */ var CookieConsent function(root){ /** * CHANGE THIS FLAG FALSE TO DISABLE console.log() */ var ENABLE_LOGS true; var _config { current_lang: en, auto_language: null, autorun: true, // run as soon as loaded cookie_name: cc_cookie, cookie_expiration: 182, // default: 6 months (in days) cookie_domain: window.location.hostname, // default: current domain cookie_path: /, cookie_same_site: Lax, use_rfc_cookie: false, autoclear_cookies: true, revision: 0, script_selector: data-cookiecategory }; /** * Object which holds the main methods/API (.show, .run, ...) */ var _cookieconsent {}; /** * Internal state variables */ var saved_cookie_content {}; var consent_modal_exists false; var cookie_consent_accepted false; var consent_modal_visible false; var settings_modal_visible false; var clicked_inside_modal false; var current_modal_focusable; var all_table_headers, all_blocks, onAccept, onChange, onFirstAction; var valid_revisiontrue, revision_enabledfalse, datanull; /** * Accept type: * - all * - necessary * - custom * @type {string} */ var accept_type; /** * Contains all accepted categories * @type {string} */ var accepted_categories; /** * Contains all non-accepted (rejected) categories * @type {string} */ var rejected_categories; // Dont run plugin (to avoid indexing its text content) if bot detected var is_bot false; /** * Save reference to the last focused element on the page * (used later to restore focus when both modals are closed) */ var last_elem_before_modal; var last_consent_modal_btn_focus; /** * Both of the arrays below have the same structure: * 0 > holds reference to the FIRST focusable element inside modal * 1 > holds reference to the LAST focusable element inside modal */ var consent_modal_focusable ; var settings_modal_focusable ; /** * Keep track of enabled/disabled categories * @type {boolean} */ var toggle_states ; /** * Stores all available categories * @type {string} */ var toggle_categories ; /** * Keep track of readonly toggles * @type {boolean} */ var toggle_readonly ; /** * Pointers to main dom elements (to avoid retrieving them later using document.getElementById) */ var html_dom document.documentElement; var main_container; var consent_modal; var settings_container, settings_inner; /** * Update config settings * @param {Object} conf_params */ var _setConfig function(conf_params){ // _log(CookieConsent CONFIG: received_config_settings , conf_params); if(typeof conf_paramscookie_expiration number) _config.cookie_expiration conf_paramscookie_expiration; if(typeof conf_paramscookie_necessary_only_expiration number) _config.cookie_necessary_only_expiration conf_paramscookie_necessary_only_expiration; if(typeof conf_paramsautorun boolean) _config.autorun conf_paramsautorun; if(typeof conf_paramscookie_domain string) _config.cookie_domain conf_paramscookie_domain; if(typeof conf_paramscookie_same_site string) _config.cookie_same_site conf_paramscookie_same_site; if(typeof conf_paramscookie_path string) _config.cookie_path conf_paramscookie_path; if(typeof conf_paramscookie_name string) _config.cookie_name conf_paramscookie_name; if(typeof conf_paramsonAccept function) onAccept conf_paramsonAccept; if(typeof conf_paramsonFirstAction function) onFirstAction conf_paramsonFirstAction; if(typeof conf_paramsonChange function) onChange conf_paramsonChange; if(typeof conf_paramsrevision number){ conf_paramsrevision > -1 && (_config.revision conf_paramsrevision); revision_enabled true; } if(conf_paramsautoclear_cookies true) _config.autoclear_cookies true; if(conf_paramsuse_rfc_cookie true) _config.use_rfc_cookie true; if(conf_paramshide_from_bots true){ is_bot navigator && ((navigator.userAgent && /bot|crawl|spider|slurp|teoma/i.test(navigator.userAgent)) || navigator.webdriver); } _config.page_scripts conf_paramspage_scripts true; _config.page_scripts_order conf_paramspage_scripts_order ! false; if (conf_paramsauto_language browser || conf_paramsauto_language true) { _config.auto_language browser; } else if (conf_paramsauto_language document) { _config.auto_language document; } _config.current_lang _resolveCurrentLang(conf_params.languages, conf_paramscurrent_lang); } /** * Search for all occurrences in the current page and add an onClick listener : * when clicked > open settings modal */ var _addCookieSettingsButtonListener function(){ var all_links document.querySelectorAll(adata-ccc-settings, buttondata-ccc-settings); for(var x0; xall_links.length; x++){ all_linksx.setAttribute(aria-haspopup, dialog); _addEvent(all_linksx, click, function(event){ _cookieconsent.showSettings(0); event.preventDefault ? event.preventDefault() : event.returnValue false; }); } } /** * Get a valid language (at least 1 must be defined) * @param {string} lang - desired language * @param {Object} all_languages - all defined languages * @returns {string} validated language */ var _getValidatedLanguage function(lang, all_languages){ if(Object.prototype.hasOwnProperty.call(all_languages, lang)){ return lang; }else if(_getKeys(all_languages).length > 0){ if(Object.prototype.hasOwnProperty.call(all_languages, _config.current_lang)){ return _config.current_lang ; }else{ return _getKeys(all_languages)0; } } } /** * Save reference to first and last focusable elements inside each modal * to prevent losing focus while navigating with TAB */ var _getModalFocusableData function(){ /** * Note: any of the below focusable elements, which has the attribute tabindex-1 AND is either * the first or last element of the modal, wont receive focus during open/close modal */ var allowed_focusable_types href, button, input, details, tabindex0; function _getAllFocusableElements(modal, _array){ var focus_laterfalse, focus_firstfalse; // ie might throw exception due to complex unsupported selector > a:not(tabindex-1) try{ var focusable_elems modal.querySelectorAll(allowed_focusable_types.join(:not(tabindex-1), )); var attr, lenfocusable_elems.length, i0; while(i len){ attr focusable_elemsi.getAttribute(data-focus); if(!focus_first && attr 1){ focus_first focusable_elemsi; }else if(attr 0){ focus_later focusable_elemsi; if(!focus_first && focusable_elemsi+1.getAttribute(data-focus) ! 0){ focus_first focusable_elemsi+1; } } i++; } }catch(e){ return modal.querySelectorAll(allowed_focusable_types.join(, )); } /** * Save first and last elements (used to lock/trap focus inside modal) */ _array0 focusable_elems0; _array1 focusable_elemsfocusable_elems.length - 1; _array2 focus_later; _array3 focus_first; } /** * Get settings modalS all focusable elements * Save first and last elements (used to lock/trap focus inside modal) */ _getAllFocusableElements(settings_inner, settings_modal_focusable); /** * If consent modal exists, do the same */ if(consent_modal_exists){ _getAllFocusableElements(consent_modal, consent_modal_focusable); } } var _conf_params, _createConsentModal, revision_message, consent_text; /** * Generate cookie consent html based on config settings * @param {boolean} never_accepted - used to know whether to create both modals or not * @param {Object} conf_params - user configuration parameters */ var _createCookieConsentHTML function(never_accepted, conf_params){ // Create main container which holds both consent modal & settings modal main_container _createNode(div); main_container.id cc--main; // Fix layout flash main_container.style.position fixed; main_container.style.zIndex 1000000; main_container.innerHTML !--if lt IE 9 >div idcc_div classcc_div ie>/div>!endif-->!--if (gt IE 8)|!(IE)>!-->div idcc_div classcc_div>/div>!--!endif--> var all_modals_container main_container.children0; // Get current language var lang _config.current_lang; // Feature detection :> avoid IE exception since .textContent is not always supported var innerText (typeof html_dom.textContent string ? textContent : innerText); _conf_params conf_params; _createConsentModal function(conf_params){ if(conf_paramsforce_consent true){ _addClass(html_dom, force--consent); } var description conf_params.languageslangconsent_modaldescription; if(revision_enabled){ if(!valid_revision){ description description.replace({{revision_message}}, revision_message || conf_params.languageslangconsent_modalrevision_message || ); }else{ description description.replace({{revision_message}}, ); } } if(consent_modal){ consent_text.innerHTML description; return; } consent_modal _createNode(div); var consent_modal_inner _createNode(div); var consent_modal_inner_inner _createNode(div); consent_text _createNode(div); var consent_buttons _createNode(div); var overlay _createNode(div); consent_modal.id cm; consent_modal_inner.id c-inr; consent_modal_inner_inner.id c-inr-i; consent_text.id c-txt; consent_buttons.id c-bns; overlay.id cm-ov; consent_modal.setAttribute(role, dialog); consent_modal.setAttribute(aria-modal, true); consent_modal.setAttribute(aria-hidden, false); consent_modal.setAttribute(aria-labelledby, c-ttl); consent_modal.setAttribute(aria-describedby, c-txt); /** * Make modal by default hidden to prevent weird page jumps/flashes (shown only once css is loaded) */ consent_modal.style.visibility overlay.style.visibility hidden; overlay.style.opacity 0; // Use insertAdjacentHTML instead of innerHTML var consent_modal_title_value conf_params.languageslangconsent_modaltitle; // Add title (if valid) if(consent_modal_title_value){ var consent_title _createNode(div); consent_title.id c-ttl; consent_title.setAttribute(role, heading); consent_title.setAttribute(aria-level, 2); consent_title.insertAdjacentHTML(beforeend, consent_modal_title_value); consent_modal_inner_inner.appendChild(consent_title); } consent_text.insertAdjacentHTML(beforeend, description); consent_modal_inner_inner.appendChild(consent_text); var primary_btn_data conf_params.languageslangconsent_modalprimary_btn, // accept current selection secondary_btn_data conf_params.languageslangconsent_modalsecondary_btn; // Add primary button if not falsy if(primary_btn_data){ var consent_primary_btn _createNode(button); consent_primary_btn.id c-p-bn; consent_primary_btn.className c-bn; consent_primary_btninnerText conf_params.languageslangconsent_modalprimary_btntext; var _accept_type; if(primary_btn_datarole accept_all) _accept_type all _addEvent(consent_primary_btn, click, function(){ _cookieconsent.hide(); // _log(CookieConsent ACCEPT: cookie_consent was accepted!); _cookieconsent.accept(_accept_type); }); } // Add secondary button if not falsy if(secondary_btn_data){ var consent_secondary_btn _createNode(button); consent_secondary_btn.id c-s-bn; consent_secondary_btn.className c-bn c_link; consent_secondary_btninnerText conf_params.languageslangconsent_modalsecondary_btntext; if(secondary_btn_datarole accept_necessary){ _addEvent(consent_secondary_btn, click, function(){ _cookieconsent.hide(); _cookieconsent.accept(); // accept necessary only }); }else{ _addEvent(consent_secondary_btn, click, function(){ _cookieconsent.showSettings(0); }); } } // Swap buttons var gui_options_data conf_paramsgui_options; if(gui_options_data && gui_options_dataconsent_modal && gui_options_dataconsent_modalswap_buttons true){ secondary_btn_data && consent_buttons.appendChild(consent_secondary_btn); primary_btn_data && consent_buttons.appendChild(consent_primary_btn); consent_buttons.className swap; }else{ primary_btn_data && consent_buttons.appendChild(consent_primary_btn); secondary_btn_data && consent_buttons.appendChild(consent_secondary_btn); } consent_modal_inner.appendChild(consent_modal_inner_inner); (primary_btn_data || secondary_btn_data ) && consent_modal_inner.appendChild(consent_buttons); consent_modal.appendChild(consent_modal_inner); // Append consent modal to main container all_modals_container.appendChild(consent_modal); all_modals_container.appendChild(overlay); consent_modal_exists true; } // Create consent modal if(!never_accepted) _createConsentModal(conf_params); /** * Create all consent_modal elements */ settings_container _createNode(div); var settings_container_valign _createNode(div); var settings _createNode(div); var settings_container_inner _createNode(div); settings_inner _createNode(div); var settings_title _createNode(div); var settings_header _createNode(div); var settings_close_btn _createNode(button); var settings_close_btn_container _createNode(div); var settings_blocks _createNode(div); var overlay _createNode(div); /** * Set ids */ settings_container.id s-cnt; settings_container_valign.id c-vln; settings_container_inner.id c-s-in; settings.id cs; settings_title.id s-ttl; settings_inner.id s-inr; settings_header.id s-hdr; settings_blocks.id s-bl; settings_close_btn.id s-c-bn; overlay.id cs-ov; settings_close_btn_container.id s-c-bnc; settings_close_btn.className c-bn; settings_close_btn.setAttribute(aria-label, conf_params.languageslangsettings_modalclose_btn_label || Close); settings_container.setAttribute(role, dialog); settings_container.setAttribute(aria-modal, true); settings_container.setAttribute(aria-hidden, true); settings_container.setAttribute(aria-labelledby, s-ttl); settings_title.setAttribute(role, heading); settings_container.style.visibility overlay.style.visibility hidden; overlay.style.opacity 0; settings_close_btn_container.appendChild(settings_close_btn); // If esc key is pressed inside settings_container div > hide settings _addEvent(settings_container_valign, keydown, function(evt){ evt evt || window.event; if (evt.keyCode 27) { _cookieconsent.hideSettings(0); } }, true); _addEvent(settings_close_btn, click, function(){ _cookieconsent.hideSettings(0); }); all_blocks conf_params.languages_config.current_langsettings_modalblocks; all_table_headers conf_params.languages_config.current_langsettings_modalcookie_table_headers; var n_blocks all_blocks.length; // Set settings modal title settings_title.insertAdjacentHTML(beforeend, conf_params.languages_config.current_langsettings_modaltitle); // Create settings modal content (blocks) for(var i0; in_blocks; ++i){ var title_data all_blocksititle, description_data all_blocksidescription, toggle_data all_blocksitoggle, cookie_table_data all_blocksicookie_table, remove_cookie_tables conf_paramsremove_cookie_tables true, isExpandable (description_data && truthy) || (!remove_cookie_tables && (cookie_table_data && truthy)); // Create title var block_section _createNode(div); var block_table_container _createNode(div); // Create description if(description_data){ var block_desc _createNode(div); block_desc.className p; block_desc.insertAdjacentHTML(beforeend, description_data); } var block_title_container _createNode(div); block_title_container.className title; block_section.className c-bl; block_table_container.className desc; // Create toggle if specified (opt in/out) if(typeof toggle_data ! undefined){ var accordion_id c-ac-+i; // Create button (to collapse/expand block description) var block_title_btn isExpandable ? _createNode(button) : _createNode(div); var block_switch_label _createNode(label); var block_switch _createNode(input); var block_switch_span _createNode(span); var label_text_span _createNode(span); // These 2 spans will contain each 2 pseudo-elements to generate tick and x icons var block_switch_span_on_icon _createNode(span); var block_switch_span_off_icon _createNode(span); block_title_btn.className isExpandable ? b-tl exp : b-tl; block_switch_label.className b-tg; block_switch.className c-tgl; block_switch_span_on_icon.className on-i; block_switch_span_off_icon.className off-i; block_switch_span.className c-tg; label_text_span.className t-lb; if(isExpandable){ block_title_btn.setAttribute(aria-expanded, false); block_title_btn.setAttribute(aria-controls, accordion_id); } block_switch.type checkbox; block_switch_span.setAttribute(aria-hidden, true); var cookie_category toggle_data.value; block_switch.value cookie_category; label_text_spaninnerText title_data; block_title_btn.insertAdjacentHTML(beforeend, title_data); block_title_container.appendChild(block_title_btn); block_switch_span.appendChild(block_switch_span_on_icon); block_switch_span.appendChild(block_switch_span_off_icon); /** * If never accepted > generate toggles with the states defined in the config. object * Otherwise, retrieve values from saved cookie */ if(never_accepted){ if(_inArray(saved_cookie_contentlevel, cookie_category) > -1){ block_switch.checked true; toggle_states.push(true); }else{ toggle_states.push(false); } }else if(toggle_dataenabled){ block_switch.checked true; toggle_states.push(true); }else{ toggle_states.push(false); } toggle_categories.push(cookie_category); /** * Set toggle as readonly if true (disable checkbox) */ if(toggle_datareadonly){ block_switch.disabled true; _addClass(block_switch_span, c-ro); toggle_readonly.push(true); }else{ toggle_readonly.push(false); } _addClass(block_table_container, b-acc); _addClass(block_title_container, b-bn); _addClass(block_section, b-ex); block_table_container.id accordion_id; block_table_container.setAttribute(aria-hidden, true); block_switch_label.appendChild(block_switch); block_switch_label.appendChild(block_switch_span); block_switch_label.appendChild(label_text_span); block_title_container.appendChild(block_switch_label); /** * On button click handle the following :> aria-expanded, aria-hidden and act class for current block */ isExpandable && (function(accordion, block_section, btn){ _addEvent(block_title_btn, click, function(){ if(!_hasClass(block_section, act)){ _addClass(block_section, act); btn.setAttribute(aria-expanded, true); accordion.setAttribute(aria-hidden, false); }else{ _removeClass(block_section, act); btn.setAttribute(aria-expanded, false); accordion.setAttribute(aria-hidden, true); } }, false); })(block_table_container, block_section, block_title_btn); }else{ /** * If block is not a button (no toggle defined), * create a simple div instead */ if(title_data){ var block_title _createNode(div); block_title.className b-tl; block_title.setAttribute(role, heading); block_title.setAttribute(aria-level, 3); block_title.insertAdjacentHTML(beforeend, title_data); block_title_container.appendChild(block_title); } } title_data && block_section.appendChild(block_title_container); description_data && block_table_container.appendChild(block_desc); // if cookie table found, generate table for this block if(!remove_cookie_tables && typeof cookie_table_data ! undefined){ var tr_tmp_fragment document.createDocumentFragment(); /** * Use custom table headers */ for(var p0; pall_table_headers.length; ++p){ // create new header var th1 _createNode(th); var obj all_table_headersp; th1.setAttribute(scope, col); // get custom header content if(obj){ var new_column_key obj && _getKeys(obj)0; th1innerText all_table_headerspnew_column_key; tr_tmp_fragment.appendChild(th1); } } var tr_tmp _createNode(tr); tr_tmp.appendChild(tr_tmp_fragment); // create table header & append fragment var thead _createNode(thead); thead.appendChild(tr_tmp); // append header to table var block_table _createNode(table); block_table.appendChild(thead); var tbody_fragment document.createDocumentFragment(); // create table content for(var n0; ncookie_table_data.length; n++){ var tr _createNode(tr); for(var g0; gall_table_headers.length; ++g){ // get custom header content obj all_table_headersg; if(obj){ new_column_key _getKeys(obj)0; var td_tmp _createNode(td); // Allow html inside table cells td_tmp.insertAdjacentHTML(beforeend, cookie_table_datannew_column_key); td_tmp.setAttribute(data-column, objnew_column_key); tr.appendChild(td_tmp); } } tbody_fragment.appendChild(tr); } // append tbody_fragment to tbody & append the latter into the table var tbody _createNode(tbody); tbody.appendChild(tbody_fragment); block_table.appendChild(tbody); block_table_container.appendChild(block_table); } /** * Append only if is either: * - togglable div with title * - a simple div with at least a title or description */ if(toggle_data && title_data || (!toggle_data && (title_data || description_data))){ block_section.appendChild(block_table_container); settings_blocks.appendChild(block_section); } } // Create settings buttons var settings_buttons _createNode(div); var settings_save_btn _createNode(button); var settings_accept_all_btn _createNode(button); settings_buttons.id s-bns; settings_save_btn.id s-sv-bn; settings_accept_all_btn.id s-all-bn; settings_save_btn.className c-bn; settings_accept_all_btn.className c-bn; settings_save_btn.insertAdjacentHTML(beforeend, conf_params.languages_config.current_langsettings_modalsave_settings_btn); settings_accept_all_btn.insertAdjacentHTML(beforeend, conf_params.languages_config.current_langsettings_modalaccept_all_btn); settings_buttons.appendChild(settings_accept_all_btn); var reject_all_btn_text conf_params.languages_config.current_langsettings_modalreject_all_btn; // Add third optional reject all button if provided if(reject_all_btn_text){ var reject_all_btn _createNode(button); reject_all_btn.id s-rall-bn; reject_all_btn.className c-bn; reject_all_btn.insertAdjacentHTML(beforeend, reject_all_btn_text); _addEvent(reject_all_btn, click, function(){ _cookieconsent.hideSettings(); _cookieconsent.hide(); _cookieconsent.accept(); }); settings_inner.className bns-t; settings_buttons.appendChild(reject_all_btn); } settings_buttons.appendChild(settings_save_btn); // Add save preferences button onClick event // Hide both settings modal and consent modal _addEvent(settings_save_btn, click, function(){ _cookieconsent.hideSettings(); _cookieconsent.hide(); _cookieconsent.accept(); }); _addEvent(settings_accept_all_btn, click, function(){ _cookieconsent.hideSettings(); _cookieconsent.hide(); _cookieconsent.accept(all); }); settings_header.appendChild(settings_title); settings_header.appendChild(settings_close_btn_container); settings_inner.appendChild(settings_header); settings_inner.appendChild(settings_blocks); settings_inner.appendChild(settings_buttons); settings_container_inner.appendChild(settings_inner); settings.appendChild(settings_container_inner); settings_container_valign.appendChild(settings); settings_container.appendChild(settings_container_valign); all_modals_container.appendChild(settings_container); all_modals_container.appendChild(overlay); // Finally append everything to body (main_container holds both modals) (root || document.body).appendChild(main_container); } /** * Set toggles/checkboxes based on accepted categories and save cookie * @param {string} accepted_categories - Array of categories to accept */ var _saveCookiePreferences function(accepted_categories){ // Retrieve all toggle/checkbox values var category_toggles document.querySelectorAll(.c-tgl) || ; var changedSettings , must_reload false; // If there are opt in/out toggles ... if(category_toggles.length > 0){ for(var i0; icategory_toggles.length; i++){ if(_inArray(accepted_categories, toggle_categoriesi) ! -1){ category_togglesi.checked true; if(!toggle_statesi){ changedSettings.push(toggle_categoriesi); toggle_statesi true; } }else{ category_togglesi.checked false; if(toggle_statesi){ changedSettings.push(toggle_categoriesi); toggle_statesi false; } } } /** * If autoclear_cookiestrue -> delete all cookies which are unused (based on selected preferences) */ if(_config.autoclear_cookies && cookie_consent_accepted && changedSettings.length > 0){ // Get number of blocks var len all_blocks.length; var count -1; // Retrieve all cookies var all_cookies_array _getCookie(, all); // delete cookies on www.domain.com and .www.domain.com (can also be without www) var domains _config.cookie_domain, .+_config.cookie_domain; // if domain has www, delete cookies also for domain.com and .domain.com if(_config.cookie_domain.slice(0, 4) www.){ var non_www_domain _config.cookie_domain.substr(4); // remove first 4 chars (www.) domains.push(non_www_domain); domains.push(. + non_www_domain); } // For each block for(var jk0; jklen; jk++){ // Save current block (local scope & less accesses -> ~faster value retrieval) var curr_block all_blocksjk; // If current block has a toggle for opt in/out if(Object.prototype.hasOwnProperty.call(curr_block, toggle)){ // if current block has a cookie table, an off toggle, // and its preferences were just changed > delete cookies if( !toggle_states++count && Object.prototype.hasOwnProperty.call(curr_block, cookie_table) && _inArray(changedSettings, curr_blocktogglevalue) > -1 ){ var curr_cookie_table curr_blockcookie_table; // Get first property name var ckey _getKeys(all_table_headers0)0; // Get number of cookies defined in cookie_table var clen curr_cookie_table.length; // set must_reload to true if reloadon_disable if(curr_blocktogglereload on_disable) must_reload true; // for each row defined in the cookie table for(var hk0; hkclen; hk++){ // Get current row of table (corresponds to all cookie params) var curr_row curr_cookie_tablehk, found_cookies ; var curr_cookie_name curr_rowckey; var is_regex curr_rowis_regex || false; var curr_cookie_domain curr_rowdomain || null; var curr_cookie_path curr_rowpath || false; // set domain to the specified domain curr_cookie_domain && ( domains curr_cookie_domain, .+curr_cookie_domain); // If regex provided > filter cookie array if(is_regex){ for(var n0; nall_cookies_array.length; n++){ if(all_cookies_arrayn.match(curr_cookie_name)){ found_cookies.push(all_cookies_arrayn); } } }else{ var found_index _inArray(all_cookies_array, curr_cookie_name); if(found_index > -1) found_cookies.push(all_cookies_arrayfound_index); } //_log(CookieConsent AUTOCLEAR: search cookie: + curr_cookie_name + , found:, found_cookies); // If cookie exists -> delete it if(found_cookies.length > 0){ _eraseCookies(found_cookies, curr_cookie_path, domains); curr_blocktogglereload on_clear && (must_reload true); } } } } } } } saved_cookie_content { level: accepted_categories, revision: _config.revision, data: data, rfc_cookie: _config.use_rfc_cookie } // save cookie with preferences level (only if never accepted or settings were updated) if(!cookie_consent_accepted || changedSettings.length > 0 || !valid_revision){ valid_revision true; _setCookie(_config.cookie_name, JSON.stringify(saved_cookie_content)); _manageExistingScripts(); } if(!cookie_consent_accepted){ if(typeof onFirstAction function) onFirstAction(_cookieconsent.getUserPreferences(), saved_cookie_content); if(typeof onAccept function) onAccept(saved_cookie_content); cookie_consent_accepted true; return; } // fire onChange only if settings were changed if(typeof onChange function && changedSettings.length > 0){ onChange(saved_cookie_content, changedSettings); } /** * reload page if needed */ if(must_reload){ window.location.reload(); } } /** * Function to run after css load * @callback cssLoaded */ /** * Load style via ajax in background (and then show modal) * @param {string} css_path * @param {cssLoaded} callback */ var _loadCSS function(css_path, callback){ // Enable if given path is string and non empty var enable typeof css_path string && css_path ! ; if(enable && !document.getElementById(cc--style)){ // Create style tag var style _createNode(style); // ad an id so that in SPA apps (react-like) the style doesnt get loaded multiple times when plugin is called style.id cc--style; var xhr new XMLHttpRequest(); xhr.onreadystatechange function() { if(this.readyState 4 && this.status 200){ // Necessary for IE9 style.setAttribute(type, text/css); if(style.styleSheet){ // if IE9 style.styleSheet.cssText this.responseText; }else{ // all other browsers style.appendChild(document.createTextNode(this.responseText)); } // Append css text content document.getElementsByTagName(head)0.appendChild(style); //_log(CookieConsent AUTOLOAD_CSS: loaded style + css_path + ); callback(); } }; xhr.open(GET, css_path); xhr.send(); }else{ callback(); } } /** * Returns index of found element inside array, otherwise -1 * @param {Array} arr * @param {Object} value * @returns {number} */ var _inArray function(arr, value){ var len arr.length; for(var i0; ilen; i++){ if(arri value) return i; } return -1; } /** * Helper function which prints info (console.log()) * @param {Object} print_msg * @param {Object} optional_param */ var _log function(print_msg, optional_param, error){ ENABLE_LOGS && (!error ? console.log(print_msg, optional_param ! undefined ? optional_param : ) : console.error(print_msg, optional_param || )); } /** * Helper function which creates an HTMLElement object based on type and returns it. * @param {string} type * @returns {HTMLElement} */ var _createNode function(type){ var el document.createElement(type); if(type button){ el.setAttribute(type, type); } return el; } /** * Resolve which language should be used. * * @param {Object} languages Object with language translations * @param {string} requested_language Language specified by given configuration parameters * @returns {string} */ var _resolveCurrentLang function (languages, requested_language) { // _log(CookieConsent LANG: auto_language strategy is + _config.auto_language + ); if (_config.auto_language browser) { return _getValidatedLanguage(_getBrowserLang(), languages); } else if (_config.auto_language document) { return _getValidatedLanguage(document.documentElement.lang, languages); } else { if (typeof requested_language string) { return _config.current_lang _getValidatedLanguage(requested_language, languages); } } // _log(CookieConsent LANG: setting current_lang + _config.current_lang + ); return _config.current_lang; // otherwise return default } /** * Get current clients browser language * @returns {string} */ var _getBrowserLang function(){ var browser_lang navigator.language || navigator.browserLanguage; browser_lang.length > 2 && (browser_lang browser_lang0+browser_lang1); // _log(CookieConsent LANG: detected_browser_lang + browser_lang + ); return browser_lang.toLowerCase() } /** * Trap focus inside modal and focus the first * focusable element of current active modal */ var _handleFocusTrap function(){ var tabbedOutsideDiv false; var tabbedInsideModal false; _addEvent(document, keydown, function(e){ e e || window.event; // If is tab key > ok if(e.key ! Tab) return; // If there is any modal to focus if(current_modal_focusable){ // If reached natural end of the tab sequence > restart if(e.shiftKey){ if (document.activeElement current_modal_focusable0) { current_modal_focusable1.focus(); e.preventDefault(); } }else{ if (document.activeElement current_modal_focusable1) { current_modal_focusable0.focus(); e.preventDefault(); } } // If have not yet used tab (or shift+tab) and modal is open ... // Focus the first focusable element if(!tabbedInsideModal && !clicked_inside_modal){ tabbedInsideModal true; !tabbedOutsideDiv && e.preventDefault(); if(e.shiftKey){ if(current_modal_focusable3){ if(!current_modal_focusable2){ current_modal_focusable0.focus(); }else{ current_modal_focusable2.focus(); } }else{ current_modal_focusable1.focus(); } }else{ if(current_modal_focusable3){ current_modal_focusable3.focus(); }else{ current_modal_focusable0.focus(); } } } } !tabbedInsideModal && (tabbedOutsideDiv true); }); if(document.contains){ _addEvent(main_container, click, function(e){ e e || window.event; /** * If click is on the foreground overlay (and not inside settings_modal), * hide settings modal * * Notice: click on div is not supported in IE */ if(settings_modal_visible){ if(!settings_inner.contains(e.target)){ _cookieconsent.hideSettings(0); clicked_inside_modal false; }else{ clicked_inside_modal true; } }else if(consent_modal_visible){ if(consent_modal.contains(e.target)){ clicked_inside_modal true; } } }, true); } } /** * Manage each modals layout * @param {Object} gui_options */ var _guiManager function(gui_options, only_consent_modal){ // If gui_options is not object > exit if(typeof gui_options ! object) return; var consent_modal_options gui_optionsconsent_modal; var settings_modal_options gui_optionssettings_modal; /** * Helper function which adds layout and * position classes to given modal * * @param {HTMLElement} modal * @param {string} allowed_layouts * @param {string} allowed_positions * @param {string} layout * @param {string} position */ function _setLayout(modal, allowed_layouts, allowed_positions, allowed_transitions, layout, position, transition){ position (position && position.split( )) || ; // Check if specified layout is valid if(_inArray(allowed_layouts, layout) > -1){ // Add layout classes _addClass(modal, layout); // Add position class (if specified) if(!(layout bar && position0 middle) && _inArray(allowed_positions, position0) > -1){ for(var i0; iposition.length; i++){ _addClass(modal, positioni); } } } // Add transition class (_inArray(allowed_transitions, transition) > -1) && _addClass(modal, transition); } if(consent_modal_exists && consent_modal_options){ _setLayout( consent_modal, box, bar, cloud, top, middle, bottom, zoom, slide, consent_modal_optionslayout, consent_modal_optionsposition, consent_modal_optionstransition ); } if(!only_consent_modal && settings_modal_options){ _setLayout( settings_container, bar, left, right, zoom, slide, settings_modal_optionslayout, settings_modal_optionsposition, settings_modal_optionstransition ); } } /** * Returns true if cookie category is accepted by the user * @param {string} cookie_category * @returns {boolean} */ _cookieconsent.allowedCategory function(cookie_category){ return _inArray( JSON.parse(_getCookie(_config.cookie_name, one, true) || {})level || , cookie_category ) > -1; } /** * Check if cookieconsent is already attached to dom * If not, create one, configure it and attach it to the body */ _cookieconsent.run function(conf_params){ if(!document.getElementById(cc_div)){ // configure all parameters _setConfig(conf_params); // if is bot, dont run plugin if(is_bot) return; // Retrieve cookie value (if set) saved_cookie_content JSON.parse(_getCookie(_config.cookie_name, one, true) || {}); cookie_consent_accepted saved_cookie_contentlevel ! undefined; data saved_cookie_contentdata ! undefined ? saved_cookie_contentdata : null; // Compare current revision with the one retrieved from cookie valid_revision typeof conf_paramsrevision number ? cookie_consent_accepted ? conf_paramsrevision > -1 ? saved_cookie_contentrevision _config.revision : true : true : true; // If invalid revision or cookie is empty > create consent modal consent_modal_exists (!cookie_consent_accepted || !valid_revision); // Generate cookie-settings dom (& consent modal) _createCookieConsentHTML(!consent_modal_exists, conf_params); _loadCSS(conf_paramstheme_css, function(){ _getModalFocusableData(); _guiManager(conf_paramsgui_options); _addCookieSettingsButtonListener(); if(_config.autorun && consent_modal_exists){ _cookieconsent.show(conf_paramsdelay || 0); } // Add class to enable animations/transitions setTimeout(function(){_addClass(main_container, c--anim);}, 30); // Accessibility :> if tab pressed > trap focus inside modal setTimeout(function(){_handleFocusTrap();}, 100); }); if(cookie_consent_accepted && valid_revision){ var rfc_prop_exists typeof saved_cookie_contentrfc_cookie boolean; /* * Convert cookie to rfc format (if `use_rfc_cookie` is enabled) */ if(!rfc_prop_exists || (rfc_prop_exists && saved_cookie_contentrfc_cookie ! _config.use_rfc_cookie)){ saved_cookie_contentrfc_cookie _config.use_rfc_cookie; _setCookie(_config.cookie_name, JSON.stringify(saved_cookie_content)); } _manageExistingScripts(); if(typeof conf_paramsonAccept function){ conf_paramsonAccept(saved_cookie_content); } } }else{ _log(CookieConsent NOTICE: cookie consent already attached to body!); } } /** * Show settings modal (with optional delay) * @param {number} delay */ _cookieconsent.showSettings function(delay){ setTimeout(function() { _addClass(html_dom, show--settings); settings_container.setAttribute(aria-hidden, false); settings_modal_visible true; /** * Set focus to the first focusable element inside settings modal */ setTimeout(function(){ // If there is no consent-modal, keep track of the last focused elem. if(!consent_modal_visible){ last_elem_before_modal document.activeElement; }else{ last_consent_modal_btn_focus document.activeElement; } if (settings_modal_focusable.length 0) return; if(settings_modal_focusable3){ settings_modal_focusable3.focus(); }else{ settings_modal_focusable0.focus(); } current_modal_focusable settings_modal_focusable; }, 200); _log(CookieConsent SETTINGS: show settings_modal); }, delay > 0 ? delay : 0); } /** * This function handles the loading/activation logic of the already * existing scripts based on the current accepted cookie categories */ var _manageExistingScripts function(){ if(!_config.page_scripts) return; // get all the scripts with cookie-category attribute var scripts document.querySelectorAll(script + _config.script_selector + ); var sequential_enabled _config.page_scripts_order; var accepted_categories saved_cookie_contentlevel || ; //_log(CookieConsent SCRIPT_MANAGER: sequential loading:, sequential_enabled); /** * Load scripts (sequentially), using a recursive function * which loops through the scripts array * @param {Element} scripts scripts to load * @param {number} index current script to load */ var _loadScripts function(scripts, index){ if(index scripts.length){ var curr_script scriptsindex; var curr_script_category curr_script.getAttribute(_config.script_selector); /** * If current scripts category is on the array of categories * accepted by the user > load script */ if(_inArray(accepted_categories, curr_script_category) > -1){ curr_script.type text/javascript; curr_script.removeAttribute(_config.script_selector); // get current script data-src var src curr_script.getAttribute(data-src); // create fresh script (with the same code) var fresh_script _createNode(script); fresh_script.textContent curr_script.innerHTML; // Copy attributes over to the new revived script (function(destination, source){ var attr, attributes source.attributes; var len attributes.length; for(var i0; ilen; i++){ attr attributesi; destination.setAttribute(attr.nodeName, attr.nodeValue); } })(fresh_script, curr_script); // set src (if data-src found) src ? (fresh_script.src src) : (src curr_script.src); // if script has src attribute // try loading it sequentially if(src){ if(sequential_enabled){ // load script sequentially > the next script will not be loaded // until the currents script onload event triggers if(fresh_script.readyState) { // only required for IE 9 fresh_script.onreadystatechange function() { if (fresh_script.readyState loaded || fresh_script.readyState complete ) { fresh_script.onreadystatechange null; _loadScripts(scripts, ++index); } }; }else{ // others fresh_script.onload function(){ fresh_script.onload null; _loadScripts(scripts, ++index); }; } }else{ // if sequential option is disabled // treat current script as inline (without onload event) src false; } } // Replace current sleeping script with the new revived one curr_script.parentNode.replaceChild(fresh_script, curr_script); /** * If we managed to get here and scr is still set, it means that * the script is loading/loaded sequentially so dont go any further */ if(src) return; } // Go to next script right away _loadScripts(scripts, ++index); } } _loadScripts(scripts, 0); } /** * Save custom data inside cookie * @param {object|string} new_data * @param {string} mode * @returns {boolean} */ var _setCookieData function(new_data, mode){ var set false; /** * If mode is update: * add/update only the specified props. */ if(mode update){ data _cookieconsent.get(data); var same_type typeof data typeof new_data; if(same_type && typeof data object){ !data && (data {}); for(var prop in new_data){ if(dataprop ! new_dataprop){ dataprop new_dataprop set true; } } }else if((same_type || !data) && data ! new_data){ data new_data; set true; } }else{ data new_data; set true; } if(set){ saved_cookie_contentdata data; _setCookie(_config.cookie_name, JSON.stringify(saved_cookie_content)); } return set; } /** * Forcefully set a specific revision and show consent modal * @param {number} new_revision * @param {boolean} prompt_consent * @returns {boolean} */ var _setRevision function(new_revision, prompt_consent, message){ // If plugin has been initialized and new revision is valid if( main_container && typeof new_revision number && saved_cookie_contentrevision ! new_revision ){ revision_enabled true; revision_message message; valid_revision false; _config.revision new_revision; // Show consent modal ? if(prompt_consent true){ _createConsentModal(_conf_params); _guiManager(_conf_paramsgui_options, true); _getModalFocusableData(); _cookieconsent.show(); }else { // If revision was modified, save cookie with the new revision _cookieconsent.accept(); } return true; } return false; } /** * Helper method to set a variety of fields * @param {string} field * @param {object} data * @returns {boolean} */ _cookieconsent.set function(field, data){ switch(field){ case data: return _setCookieData(datavalue, datamode); case revision: return _setRevision(datavalue, dataprompt_consent, datamessage); default: return false; } } /** * Retrieve data from existing cookie * @param {string} field * @param {string} cookie_name * @returns {any} */ _cookieconsent.get function(field, cookie_name){ var cookie JSON.parse(_getCookie(cookie_name || _config.cookie_name, one, true) || {}); return cookiefield; } /** * Read current configuration value * @returns {any} */ _cookieconsent.getConfig function(field){ return _configfield; } /** * @typedef {object} userPreferences * @property {string} accept_type * @property {string} accepted_categories * @property {string} rejected_categories */ /** * Retrieve current user preferences (summary) * @returns {userPreferences} */ _cookieconsent.getUserPreferences function(){ // get accepted categories accepted_categories saved_cookie_contentlevel || ; // number of categories marked as necessary/readonly var necessary_categories_count toggle_readonly.filter(function(readonly){ return readonly true; }).length; // calculate rejected categories (all_categories - accepted_categories) rejected_categories toggle_categories.filter(function(category){ return (_inArray(accepted_categories, category) -1); }); // set accept type based on accepted/rejected categories if(accepted_categories.length toggle_categories.length) accept_type all; else if(rejected_categories.length > 0 && accepted_categories.length necessary_categories_count) accept_type necessary else accept_type custom return { accept_type: accept_type, accepted_categories: accepted_categories, rejected_categories: rejected_categories } } /** * Function which will run after script load * @callback scriptLoaded */ /** * Dynamically load script (append to head) * @param {string} src * @param {scriptLoaded} callback * @param {string} attrs */ _cookieconsent.loadScript function(src, callback, attrs){ var function_defined typeof callback function; // Load script only if not already loaded if(!document.querySelector(scriptsrc + src + )){ var script _createNode(script); // if an array is provided > add custom attributes if(attrs && attrs.length > 0){ for(var i0; iattrs.length; ++i){ attrsi && script.setAttribute(attrsiname, attrsivalue); } } // if callback function defined > run callback onload if(function_defined){ if(script.readyState) { // only required for IE 9 script.onreadystatechange function() { if ( script.readyState loaded || script.readyState complete ) { script.onreadystatechange null; callback(); } }; }else{ //Others script.onload callback; } } script.src src; /** * Append script to head */ (document.head ? document.head : document.getElementsByTagName(head)0).appendChild(script); }else{ function_defined && callback(); } } /** * Manage dynamically loaded scripts: https://github.com/orestbida/cookieconsent/issues/101 * If plugin has already run, call this method to enable * the newly added scripts based on currently selected preferences */ _cookieconsent.updateScripts function(){ _manageExistingScripts(); } /** * Show cookie consent modal (with delay parameter) * @param {number} delay */ _cookieconsent.show function(delay){ if(consent_modal_exists){ setTimeout(function() { _addClass(html_dom, show--consent); /** * Update attributes/internal statuses */ consent_modal.setAttribute(aria-hidden, false); consent_modal_visible true; setTimeout(function(){ last_elem_before_modal document.activeElement; current_modal_focusable consent_modal_focusable; }, 200); //_log(CookieConsent MODAL: show consent_modal); }, delay > 0 ? delay : 0); } } /** * Hide consent modal */ _cookieconsent.hide function(){ if(consent_modal_exists){ _removeClass(html_dom, show--consent); consent_modal.setAttribute(aria-hidden, true); consent_modal_visible false; setTimeout(function(){ //restore focus to the last page element which had focus before modal opening last_elem_before_modal.focus(); current_modal_focusable null; }, 200); //_log(CookieConsent MODAL: hide); } } /** * Hide settings modal */ _cookieconsent.hideSettings function(){ _removeClass(html_dom, show--settings); settings_modal_visible false; settings_container.setAttribute(aria-hidden, true); setTimeout(function(){ /** * If consent modal is visible, focus him (instead of page document) */ if(consent_modal_visible){ last_consent_modal_btn_focus && last_consent_modal_btn_focus.focus(); current_modal_focusable consent_modal_focusable; }else{ /** * Restore focus to last page element which had focus before modal opening */ last_elem_before_modal.focus(); current_modal_focusable null; } clicked_inside_modal false; }, 200); //_log(CookieConsent SETTINGS: hide settings_modal); } /** * Accept cookieconsent function API * @param {string|string} _categories - Categories to accept * @param {string} _exclusions - Excluded categories optional */ _cookieconsent.accept function(_categories, _exclusions){ var categories _categories || undefined; var exclusions _exclusions || ; var to_accept ; /** * Get all accepted categories * @returns {string} */ var _getCurrentPreferences function(){ var toggles document.querySelectorAll(.c-tgl) || ; var states ; for(var i0; itoggles.length; i++){ if(togglesi.checked){ states.push(togglesi.value); } } return states; } if(!categories){ to_accept _getCurrentPreferences(); }else{ if( typeof categories object && typeof categories.length number ){ for(var i0; icategories.length; i++){ if(_inArray(toggle_categories, categoriesi) ! -1) to_accept.push(categoriesi); } }else if(typeof categories string){ if(categories all) to_accept toggle_categories.slice(); else{ if(_inArray(toggle_categories, categories) ! -1) to_accept.push(categories); } } } // Remove excluded categories if(exclusions.length > 1){ for(i0; iexclusions.length; i++){ to_accept to_accept.filter(function(item) { return item ! exclusionsi }) } } // Add back all the categories set as readonly/required for(i0; itoggle_categories.length; i++){ if( toggle_readonlyi true && _inArray(to_accept, toggle_categoriesi) -1 ){ to_accept.push(toggle_categoriesi); } } _saveCookiePreferences(to_accept); } /** * API function to easily erase cookies * @param {(string|string)} _cookies * @param {string} _path - optional * @param {string} _domain - optional */ _cookieconsent.eraseCookies function(_cookies, _path, _domain){ var cookies ; var domains _domain ? _domain, .+_domain : _config.cookie_domain, .+_config.cookie_domain; if(typeof _cookies object && _cookies.length > 0){ for(var i0; i_cookies.length; i++){ this.validCookie(_cookiesi) && cookies.push(_cookiesi); } }else{ this.validCookie(_cookies) && cookies.push(_cookies); } _eraseCookies(cookies, _path, domains); } /** * Set cookie, by specifying name and value * @param {string} name * @param {string} value */ var _setCookie function(name, value) { var cookie_expiration _config.cookie_expiration; if(typeof _config.cookie_necessary_only_expiration number && accept_type necessary) cookie_expiration _config.cookie_necessary_only_expiration; value _config.use_rfc_cookie ? encodeURIComponent(value) : value; var date new Date(); date.setTime(date.getTime() + (1000 * (cookie_expiration * 24 * 60 * 60))); var expires ; expires + date.toUTCString(); var cookieStr name + + (value || ) + expires + ; Path + _config.cookie_path + ;; cookieStr + SameSite + _config.cookie_same_site + ;; // assures cookie works with localhost (> dont specify domain if on localhost) if(window.location.hostname.indexOf(.) > -1){ cookieStr + Domain + _config.cookie_domain + ;; } if(window.location.protocol https:) { cookieStr + Secure;; } document.cookie cookieStr; // _log(CookieConsent SET_COOKIE: cookie + name + + value + was set! Expires after + cookie_expiration + days); } /** * Get cookie value by name, * returns the cookie value if found (or an array * of cookies if filter provided), otherwise empty string: * @param {string} name * @param {string} filter - one or all * @param {boolean} get_value - set to true to obtain its value * @returns {string|string} */ var _getCookie function(name, filter, get_value) { var found; if(filter one){ found document.cookie.match((^|;)\\s* + name + \\s*\\s*(^;+)); found found ? (get_value ? found.pop() : name) : ; if(found && name _config.cookie_name){ try{ found JSON.parse(found) }catch(e){ try { found JSON.parse(decodeURIComponent(found)) } catch (e) { // if I got here > cookie value is not a valid json string found {}; } } found JSON.stringify(found); } }else if(filter all){ // array of names of all existing cookies var cookies document.cookie.split(/;\s*/); found ; for(var i0; icookies.length; i++){ found.push(cookiesi.split()0); } } return found; } /** * Delete cookie by name & path * @param {string} cookies * @param {string} custom_path - optional * @param {string} domains - example: domain.com, .domain.com */ var _eraseCookies function(cookies, custom_path, domains) { var path custom_path ? custom_path : /; var expires ExpiresThu, 01 Jan 1970 00:00:01 GMT;; for(var i0; icookies.length; i++){ for(var j0; jdomains.length; j++){ document.cookie cookiesi + ; path + path + (domainsj.indexOf(.) > -1 ? ; domain + domainsj : ) + ; + expires; } // _log(CookieConsent AUTOCLEAR: deleting cookie: + cookiesi + path: + path + domain:, domains); } } /** * Returns true if cookie was found and has valid value (not empty string) * @param {string} cookie_name * @returns {boolean} */ _cookieconsent.validCookie function(cookie_name){ return _getCookie(cookie_name, one, true) ! ; } /** * Function to run when event is fired * @callback eventFired */ /** * Add event listener to dom object (cross browser function) * @param {Element} elem * @param {string} event * @param {eventFired} fn * @param {boolean} passive */ var _addEvent function(elem, event, fn, _passive) { var passive _passive true; if (elem.addEventListener) { passive ? elem.addEventListener(event, fn , { passive: true }) : elem.addEventListener(event, fn, false); } else { /** * For old browser, add on before event: * click:> onclick */ elem.attachEvent(on + event, fn); } } /** * Get all prop. keys defined inside object * @param {Object} obj */ var _getKeys function(obj){ if(typeof obj object){ var keys , i 0; for (keysi++ in obj); return keys; } } /** * Append class to the specified dom element * @param {HTMLElement} elem * @param {string} classname */ var _addClass function (elem, classname){ if(elem.classList) elem.classList.add(classname) else{ if(!_hasClass(elem, classname)) elem.className + +classname; } } /** * Remove specified class from dom element * @param {HTMLElement} elem * @param {string} classname */ var _removeClass function (el, className) { el.classList ? el.classList.remove(className) : el.className el.className.replace(new RegExp((\\s|^) + className + (\\s|$)), ); } /** * Check if html element has class * @param {HTMLElement} el * @param {string} className */ var _hasClass function(el, className) { if (el.classList) { return el.classList.contains(className); } return !!el.className.match(new RegExp((\\s|^) + className + (\\s|$))); } return _cookieconsent; }; var init initCookieConsent; /** * Make CookieConsent object accessible globally */ if(typeof windowinit ! function){ windowinit CookieConsent }})();// obtain cookieconsent pluginvar domain window.location.hostname;var cc initCookieConsent();var cookie ðŸª;var logo a hrefhttps://www.conceptpoint.it titleConcept Point: Web Agency a Roma relnofollow styletext-decoration:none;border-bottom:transparent;color:white;>img srchttps://www.conceptpoint.it/images/logo-transparent.png width130 height118 altConcept Point: Web Agency a Roma>/a>;// run plugin with config objectcc.run({ current_lang : it, autoclear_cookies : true, // default: false theme_css: cookieconsent.css, cookie_name: cc_cookie, // default: cc_cookie cookie_expiration : 365, // default: 182 page_scripts: true, // default: false // auto_language: null, // default: null; could also be browser or document // autorun: true, // default: true // delay: 0, // default: 0 // force_consent: false, // hide_from_bots: false, // default: false // remove_cookie_tables: false // default: false // cookie_domain: location.hostname, // default: current domain // cookie_path: /, // default: root // cookie_same_site: Lax, // use_rfc_cookie: false, // default: false // revision: 0, // default: 0 gui_options: { consent_modal: { layout: box, // box,cloud,bar position: bottom right, // bottom,middle,top + left,right,center transition: slide // zoom,slide }, settings_modal: { layout: box, // box,bar // position: left, // right,left (available only if bar layout selected) transition: slide // zoom,slide } }, onAccept: function (cookie) { console.log(onAccept fired ...); // delete line below //typeof doDemoThings function && doDemoThings(cookie); }, onChange: function (cookie, changed_preferences) { console.log(onChange fired ...); // If analytics categorys status was changed ... if (changed_preferences.indexOf(analytics) > -1) { // If analytics category is disabled ... if (!cc.allowedCategory(analytics)) { // Disable gtag ... console.log(disabling gtag) window.dataLayer window.dataLayer || ; function gtag() { dataLayer.push(arguments); } gtag(consent, default, { ad_storage: denied, analytics_storage: denied }); } } // delete line below typeof doDemoThings function && doDemoThings(cookie); }, languages: { en: { consent_modal: { title: cookie + We use cookies!, description: Hi, this website uses essential cookies to ensure its proper operation and tracking cookies to understand how you interact with it. The latter will be set only after consent. button typebutton data-ccc-settings classcc-link>Let me choose/button>, primary_btn: { text: Accept all, role: accept_all // accept_selected or accept_all }, secondary_btn: { text: Reject all, role: accept_necessary // settings or accept_necessary } }, settings_modal: { title: logo, save_settings_btn: Save settings, accept_all_btn: Accept all, reject_all_btn: Reject all, close_btn_label: Close, cookie_table_headers: {col1: Name}, {col2: Domain}, {col3: Expiration}, {col4: Description} , blocks: { title: Cookie usage 📢, description: I use cookies to ensure the basic functionalities of the website and to enhance your online experience. You can choose for each category to opt-in/out whenever you want. For more details relative to cookies and other sensitive data, please read the full a href# classcc-link>privacy policy/a>. }, { title: Strictly necessary cookies, description: These cookies are essential for the proper functioning of my website. Without these cookies, the website would not work properly, toggle: { value: necessary, enabled: true, readonly: true // cookie categories with readonlytrue are all treated as necessary cookies } }, { title: Performance and Analytics cookies, description: These cookies allow the website to remember the choices you have made in the past, toggle: { value: analytics, // there are no default categories > you specify them enabled: false, readonly: false }, cookie_table: { col1: ^_ga, col2: google.com, col3: 2 years, col4: description ..., is_regex: true }, { col1: _gid, col2: google.com, col3: 1 day, col4: description ..., } }, { title: Advertisement and Targeting cookies, description: These cookies collect information about how you use the website, which pages you visited and which links you clicked on. All of the data is anonymized and cannot be used to identify you, toggle: { value: targeting, enabled: false, readonly: false } }, { title: More information, description: For any queries in relation to my policy on cookies and your choices, please a classcc-link hrefhttps://orestbida.com/contact>contact me/a>., } } }, it: { consent_modal: { title: Usiamo i Cookie!, description: Salve, questo sito utilizza cookie essenziali per garantire il suo corretto funzionamento e cookie di tracciamento per capire come interagisci con esso. Quest\ultimo sarà impostato solo dopo il consenso. button typebutton data-ccc-settings classcc-link>Modifica le Preferenze/button>, primary_btn: { text: Accetta tutto, role: accept_all // accept_selected or accept_all }, secondary_btn: { text: Solo necessari, role: accept_necessary // settings or accept_necessary } }, settings_modal: { title: logo, save_settings_btn: Salva i settaggi, accept_all_btn: Accetta tutto, reject_all_btn: Rifiuta tutto, close_btn_label: Chiudi, cookie_table_headers: {col1: Nome}, {col2: Dominio}, {col3: Scadenza}, {col4: Descrizione} , blocks: { title: Utilizzo dei Cookie, description: Utilizzo i cookie per garantire le funzionalità di base del sito Web e per migliorare la tua esperienza online. Puoi scegliere per ogni categoria di attivare/disattivare quando vuoi. Per maggiori dettagli relativi ai cookie e ad altri dati sensibili, si prega di leggere l\informativa completa a hrefhttps://www.italmarket.com/privacy.php?dominio+domain+ target_blank relnofollow titleprivacy classcc-link>privacy policy/a>. }, { title: Cookie strettamente necessari, description: Questi cookie sono essenziali per il corretto funzionamento del mio sito web. Senza questi cookie, il sito web non funzionerebbe correttamente, toggle: { value: necessary, enabled: true, readonly: true // cookie categories with readonlytrue are all treated as necessary cookies }, cookie_table: { col1: ^lhc_per, col2: domain, col3: 6 mesi, col4: Chat, is_regex: true }, { col1: ^cc_cookie, col2: domain, col3: 1 anno, col4: Scelta cookie Gdpr, is_regex: true } }, { title: Cookie di performance e di analisi, description: Questi cookie permettono al sito di ricordare le scelte che hai fatto in passato, toggle: { value: analytics, // there are no default categories > you specify them enabled: false, readonly: false }, cookie_table: { col1: ^_ga, col2: google.com, col3: 2 anni, col4: , is_regex: true }, { col1: ^CONSENT, col2: google.com, col3: 1 giorno, col4: , is_regex: true }, { col1: ^test_cookie, col2: doubleclick.net, col3: 1 giorno, col4: , is_regex: true }, { col1: _gid, col2: google.com, col3: 1 giorno, col4: , }, { col1: ^_gcl_au, col2: google.com, col3: 1 giorno, col4: , }, { col1: _fbp, col2: facebook.com, col3: 90 giorni, col4: , }, { col1: _fbc, col2: facebook.com, col3: 90 giorni, col4: , } }, { title: Cookie pubblicitari e di targeting, description: Questi cookie raccolgono informazioni su come utilizzi il sito web, quali pagine hai visitato e su quali link hai cliccato. Tutti i dati sono anonimi e non possono essere utilizzati per identificarti, toggle: { value: targeting, enabled: false, readonly: false } }, { title: Maggiori informazioni, description: Per qualsiasi domanda in relazione alla mia politica sui cookie e alle tue scelte, per favore contattaci., } } } }});//document.body.innerHTML + div style\\>a href\javascript:void(0);\ aria-label\View cookie settings\ data-cc\c-settings\>Cookie Settings/a>/div>;/script>div stylebackground-color:white;height:40px;line-height:40px;text-align:center;font-family:inherit; font-size:12px;color:white;>a hrefjavascript:void(0); aria-labelView cookie settings data-ccc-settings styleborder:1px solid #000; padding:4px 8px 4px 8px;background-color:#40505a; color:white;>Preferenze GDPR Cookie/a>/div>/body>/html>
Subdomains
Date
Domain
IP
garman2000.italmarket.com
2024-09-18
136.243.59.247
mail10.italmarket.com
2024-09-18
136.243.59.247
mx10.italmarket.com
2024-09-18
136.243.59.247
mx20.italmarket.com
2024-09-18
136.243.59.247
mail01.italmarket.com
2024-09-18
136.243.59.247
smtp01.italmarket.com
2024-09-18
136.243.59.247
mx01.italmarket.com
2024-09-18
136.243.59.247
mail11.italmarket.com
2024-09-18
136.243.59.247
imap1.italmarket.com
2024-09-18
136.243.59.247
smtp1.italmarket.com
2024-11-07
136.243.59.247
ms1.italmarket.com
2024-09-18
136.243.59.247
mail02.italmarket.com
2024-09-18
136.243.59.247
mx02.italmarket.com
2024-09-18
136.243.59.247
mail12.italmarket.com
2024-09-18
136.243.59.247
mail2.italmarket.com
2024-11-02
136.243.59.247
imap2.italmarket.com
2024-09-18
136.243.59.247
server2.italmarket.com
2024-09-18
136.243.59.247
smtp3.italmarket.com
2024-09-18
136.243.59.247
mx3.italmarket.com
2024-11-02
136.243.59.247
mail4.italmarket.com
2024-09-18
136.243.59.247
milano-expo-2015.italmarket.com
2024-09-18
136.243.59.247
mail5.italmarket.com
2024-09-18
136.243.59.247
mx7.italmarket.com
2024-09-18
136.243.59.247
mail8.italmarket.com
2024-09-18
136.243.59.247
barracuda.italmarket.com
2024-09-18
136.243.59.247
bed-and-breakfast-in-italia.italmarket.com
2024-09-18
136.243.59.247
globoitalia.italmarket.com
2024-11-03
136.243.59.247
albergo-in-umbria.italmarket.com
2024-09-18
136.243.59.247
villalaetitia.italmarket.com
2024-09-18
136.243.59.247
atspomezia.italmarket.com
2024-09-18
136.243.59.247
agenziafla.italmarket.com
2024-09-18
136.243.59.247
aziendaagricoladicola.italmarket.com
2024-09-18
136.243.59.247
centrostudimontaleroma.italmarket.com
2024-09-18
136.243.59.247
artraslochiroma.italmarket.com
2024-09-18
136.243.59.247
centromaterassiroma.italmarket.com
2024-10-30
136.243.59.247
mephistoshoproma.italmarket.com
2024-09-18
136.243.59.247
officinalarobina.italmarket.com
2024-09-18
136.243.59.247
studioa.italmarket.com
2024-09-18
136.243.59.247
dbsprogettocasa.italmarket.com
2024-09-18
136.243.59.247
mta.italmarket.com
2024-11-07
136.243.59.247
poczta.italmarket.com
2024-09-18
136.243.59.247
vservice.italmarket.com
2024-09-18
136.243.59.247
exchange.italmarket.com
2024-10-29
136.243.59.247
arrediperfarmacie.italmarket.com
2024-09-18
136.243.59.247
cruiseromeairportshuttle.italmarket.com
2024-09-18
136.243.59.247
axapiscine.italmarket.com
2024-09-18
136.243.59.247
www.axapiscine.italmarket.com
2024-09-18
136.243.59.247
caseonline.italmarket.com
2024-09-18
136.243.59.247
librionline.italmarket.com
2024-09-18
136.243.59.247
tubestoneanimazione.italmarket.com
2024-09-18
136.243.59.247
costantiniilluminazione.italmarket.com
2024-09-18
136.243.59.247
comune.italmarket.com
2024-09-18
136.243.59.247
mail.comune.italmarket.com
2024-09-18
136.243.59.247
smtp.comune.italmarket.com
2024-09-18
136.243.59.247
autodemolizionipepe.italmarket.com
2024-10-30
136.243.59.247
www.autodemolizionipepe.italmarket.com
2024-09-18
136.243.59.247
pasticceriacecere.italmarket.com
2024-09-18
136.243.59.247
secure.italmarket.com
2024-09-18
136.243.59.247
gate.italmarket.com
2024-09-18
136.243.59.247
mailgate.italmarket.com
2024-09-18
136.243.59.247
marmidelite.italmarket.com
2024-09-18
136.243.59.247
remote.italmarket.com
2024-09-18
136.243.59.247
smtpauth.italmarket.com
2024-09-18
136.243.59.247
cartocci.italmarket.com
2024-09-18
136.243.59.247
pacifici.italmarket.com
2024-09-18
136.243.59.247
sismearredi.italmarket.com
2024-09-18
136.243.59.247
laurentinaviaggi.italmarket.com
2024-09-18
136.243.59.247
caymanviaggi.italmarket.com
2024-09-18
136.243.59.247
romanaelettromontaggi.italmarket.com
2024-09-18
136.243.59.247
fanitraslochi.italmarket.com
2024-09-18
136.243.59.247
artraslochi.italmarket.com
2024-09-18
136.243.59.247
traslochiemili.italmarket.com
2024-09-18
136.243.59.247
eventispettacoli.italmarket.com
2024-09-18
136.243.59.247
gentilelegnami.italmarket.com
2024-11-02
136.243.59.247
profyvontogni.italmarket.com
2024-11-03
136.243.59.247
vscreazioni.italmarket.com
2024-09-18
136.243.59.247
romanagruppi.italmarket.com
2024-09-18
136.243.59.247
profimetalinfissi.italmarket.com
2024-09-18
136.243.59.247
balduinaeuroimpianti.italmarket.com
2024-09-18
136.243.59.247
isoimpianti.italmarket.com
2024-09-18
136.243.59.247
riscaldamentopalazzoimpianti.italmarket.com
2024-09-18
136.243.59.247
delliponti.italmarket.com
2024-09-18
136.243.59.247
micciprofessionisti.italmarket.com
2024-09-18
136.243.59.247
email.italmarket.com
2024-09-18
136.243.59.247
newmail.italmarket.com
2024-09-18
136.243.59.247
novaedil.italmarket.com
2024-09-18
136.243.59.247
rigasrl.italmarket.com
2024-09-18
136.243.59.247
igisrl.italmarket.com
2024-09-18
136.243.59.247
centrofersrl.italmarket.com
2024-09-18
136.243.59.247
magirsrl.italmarket.com
2024-09-18
136.243.59.247
m.italmarket.com
2024-09-18
136.243.59.247
spam.italmarket.com
2024-09-18
136.243.59.247
antispam.italmarket.com
2024-09-18
136.243.59.247
mailin.italmarket.com
2024-09-18
136.243.59.247
vpn.italmarket.com
2024-10-30
136.243.59.247
sima-arredo.italmarket.com
2024-09-18
136.243.59.247
fullservicevideo.italmarket.com
2024-09-18
136.243.59.247
residenzasanpantaleo.italmarket.com
2024-09-18
136.243.59.247
po.italmarket.com
2024-09-18
136.243.59.247
hotelilpapavero.italmarket.com
2024-09-18
136.243.59.247
coccodrilloinnamorato.italmarket.com
2024-09-18
136.243.59.247
cap.italmarket.com
2024-09-18
136.243.59.247
pop.italmarket.com
2024-09-18
136.243.59.247
securepop.italmarket.com
2024-09-18
136.243.59.247
ftp.italmarket.com
2024-09-18
136.243.59.247
smtp.italmarket.com
2024-09-18
136.243.59.247
crossup.italmarket.com
2024-10-31
136.243.59.247
italdibipackcenter.italmarket.com
2024-09-18
136.243.59.247
postmaster.italmarket.com
2024-09-18
136.243.59.247
server.italmarket.com
2024-09-18
136.243.59.247
andreashuttletour.italmarket.com
2024-11-05
136.243.59.247
idrogas.italmarket.com
2024-09-18
136.243.59.247
mails.italmarket.com
2024-09-18
136.243.59.247
ms.italmarket.com
2024-09-18
136.243.59.247
smtps.italmarket.com
2024-09-18
136.243.59.247
vps.italmarket.com
2024-09-18
136.243.59.247
europont.italmarket.com
2024-09-18
136.243.59.247
root.italmarket.com
2024-09-18
136.243.59.247
post.italmarket.com
2024-09-18
136.243.59.247
srv.italmarket.com
2024-09-18
136.243.59.247
media-view.italmarket.com
2024-09-18
136.243.59.247
gw.italmarket.com
2024-11-03
136.243.59.247
mailgw.italmarket.com
2024-09-18
136.243.59.247
www.italmarket.com
2023-10-23
46.4.81.13
mx.italmarket.com
2024-09-18
136.243.59.247
a.mx.italmarket.com
2024-09-18
136.243.59.247
box.italmarket.com
2024-11-07
136.243.59.247
vetroprivacy.italmarket.com
2024-09-18
136.243.59.247
mbmultitechnology.italmarket.com
2024-09-18
136.243.59.247
madeinitaly.italmarket.com
2024-09-18
136.243.59.247
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]