/**
 * Ad Blocking CSS
 * Hides ad elements using CSS
 */

/* Hide ad containers */
[class*="ad"]:not([class*="add"]):not([class*="advance"]):not([class*="admin"]),
[id*="ad"]:not([id*="add"]):not([id*="advance"]):not([id*="admin"]),
[class*="advertisement"],
[id*="advertisement"],
[class*="banner"]:not([class*="banner-image"]),
[id*="banner"]:not([id*="banner-image"]),
[class*="popup"]:not([class*="popup-menu"]),
[id*="popup"]:not([id*="popup-menu"]),
[class*="sponsor"],
[id*="sponsor"],
[class*="promo"],
[id*="promo"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    width: 0 !important;
    position: absolute !important;
    left: -9999px !important;
    pointer-events: none !important;
}

/* Hide ad iframes */
iframe[src*="doubleclick"],
iframe[src*="googleadservices"],
iframe[src*="googlesyndication"],
iframe[src*="ads."],
iframe[src*="advertising"],
iframe[src*="adserver"],
iframe[src*="adnetwork"],
iframe[src*="adtech"],
iframe[src*="adform"],
iframe[src*="adnxs"],
iframe[src*="rubiconproject"],
iframe[src*="pubmatic"],
iframe[src*="openx"],
iframe[src*="criteo"],
iframe[src*="outbrain"],
iframe[src*="taboola"],
iframe[src*="revcontent"],
iframe[src*="mgid"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    width: 0 !important;
    position: absolute !important;
    left: -9999px !important;
    pointer-events: none !important;
}

/* Hide ad images */
img[src*="doubleclick"],
img[src*="googleadservices"],
img[src*="googlesyndication"],
img[src*="ads."],
img[src*="advertising"],
img[src*="adserver"],
img[src*="banner"],
img[alt*="ad"],
img[alt*="advertisement"],
img[alt*="banner"],
img[class*="ad"],
img[id*="ad"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    width: 0 !important;
    position: absolute !important;
    left: -9999px !important;
    pointer-events: none !important;
}

/* Hide ad scripts */
script[src*="doubleclick"],
script[src*="googleadservices"],
script[src*="googlesyndication"],
script[src*="ads."],
script[src*="advertising"],
script[src*="adserver"],
script[src*="googletagmanager"],
script[src*="google-analytics"],
script[src*="facebook.net"],
script[src*="facebook.com/tr"] {
    display: none !important;
}

/* Hide ad links */
a[href*="doubleclick"],
a[href*="googleadservices"],
a[href*="googlesyndication"],
a[href*="ads."],
a[href*="advertising"],
a[href*="adserver"],
a[href*="popup"],
a[href*="redirect"],
a[class*="ad"],
a[id*="ad"] {
    display: none !important;
    pointer-events: none !important;
}

/* Hide common ad class names */
.ads,
#ads,
.ad,
#ad,
.advertisement,
#advertisement,
.advertising,
#advertising,
.banner,
#banner,
.popup,
#popup,
.sponsor,
#sponsor,
.promo,
#promo,
.sidebar-ad,
.header-ad,
.footer-ad,
.content-ad,
.inline-ad,
.text-ad,
.image-ad,
.video-ad,
.native-ad,
.sticky-ad,
.floating-ad,
.interstitial-ad {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    width: 0 !important;
    position: absolute !important;
    left: -9999px !important;
    pointer-events: none !important;
}

/* Block overlay ads */
.overlay-ad,
.modal-ad,
.popup-ad,
.interstitial-ad,
.fullscreen-ad {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    width: 0 !important;
    position: absolute !important;
    left: -9999px !important;
    pointer-events: none !important;
    z-index: -1 !important;
}

/* Block ad containers with specific patterns */
div[class*="ad-container"],
div[id*="ad-container"],
div[class*="ad-wrapper"],
div[id*="ad-wrapper"],
div[class*="ad-box"],
div[id*="ad-box"],
div[class*="ad-unit"],
div[id*="ad-unit"],
div[class*="ad-slot"],
div[id*="ad-slot"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    width: 0 !important;
    position: absolute !important;
    left: -9999px !important;
    pointer-events: none !important;
}

