.adsbygoogle {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    text-align: center;
}

.adsbygoogle[data-ad-status="unfilled"] {
    display: none !important;
}

.ad-wrapper {
    display: block;
    width: 100%;
    min-width: 280px;
    padding: 0;
    margin: 0;
    text-align: center;
    box-sizing: border-box;
}

.ad-wrapper-header {
    display: block;
    width: 100%;
    min-width: 280px;
    padding: 10px 0;
    margin: 0 0 20px 0;
    min-height: 148px;
    text-align: center;
    box-sizing: border-box;
}
.ad-placeholder.ad-header-leaderboard,
.ad-wrapper-header .ad-header-leaderboard {
    content-visibility: visible;
    contain: none;
}

.ad-wrapper-below-video {
    display: block;
    width: 100%;
    min-width: 280px;
    padding: 0;
    margin: 20px 0;
    text-align: center;
    box-sizing: border-box;
}

.ad-wrapper-sidebar {
    display: block;
    width: 100%;
    min-width: 160px;
    margin: 0;
    padding: 0;
    text-align: center;
    box-sizing: border-box;
    max-height: none !important;
}

.ad-placeholder {
    display: block;
    width: 100%;
    min-width: 280px;
    background-color: transparent !important;
    padding: 0 !important;
    margin: 0 auto;
    border-radius: 0 !important;
    text-align: center;
    overflow: visible !important;
    box-sizing: border-box;
    contain: layout style;
    content-visibility: auto;
}

.ad-placeholder .adsbygoogle {
    display: block;
    width: 100%;
}

.ad-label {
    display: block;
    font-size: 10px;
    color: #888;
    text-transform: uppercase;
    padding: 2px 0;
    background-color: rgba(255, 255, 255, 0.5);
}

.ad-slot {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
    color: #636c77;
    font-size: 14px;
    text-align: center;
    contain: layout style;
    overflow: hidden;
}

.ad-slot > .ad-label {
    padding: 8px 0;
    display: block;
}

.ad-slot .adsbygoogle,
.ad-placeholder .adsbygoogle {
    display: block;
    width: 100%;
}

.ad-header-leaderboard {
    display: block;
    width: 100%;
    min-width: 280px;
    max-width: 970px;
    min-height: 96px;
    margin: 16px auto;
    padding: 0 !important;
    text-align: center !important;
    background-color: transparent;
    contain: layout style;
    content-visibility: auto;
    contain-intrinsic-size: 970px 96px;
    box-sizing: border-box;
}

.ad-header-leaderboard .adsbygoogle {
    min-height: 90px;
    display: block !important;
    margin: 0 auto !important;
}

.ad-header-leaderboard .adsbygoogle[data-ad-status="unfilled"] {
    display: none !important;
    min-height: 0 !important;
}

.ad-below-video {
    display: block;
    width: 100%;
    min-width: 280px;
    min-height: 280px;
    margin: 16px 0;
    padding: 0 !important;
    text-align: center !important;
    clear: both;
    contain: layout style;
    content-visibility: auto;
    contain-intrinsic-size: 0 280px;
    box-sizing: border-box;
}

.ad-below-video.ad-placeholder {
    display: block;
}

.ad-below-video .adsbygoogle {
    min-height: 250px;
    width: 100%;
    margin: 0 auto !important;
}

.ad-below-video .ad-label {
    max-height: 20px;
    overflow: hidden;
    box-sizing: border-box;
}

.ad-in-feed {
    display: block;
    width: 100%;
    min-width: 280px;
    min-height: 250px;
    margin: 16px 0;
    padding: 0 !important;
    text-align: center;
    box-sizing: border-box;
}

.ad-in-feed .adsbygoogle {
    min-height: 100px;
    display: block !important;
}

.ad-in-feed:empty,
.ad-in-feed .adsbygoogle[data-ad-status="unfilled"] {
    display: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.sidebar-ad-placeholder {
    display: block;
    min-height: 250px !important;
    width: 100%;
    max-width: 300px;
    padding: 0 !important;
    margin: 0 auto !important;
}

.sidebar-ad-placeholder .adsbygoogle {
    min-height: 250px;
    width: 300px;
    max-width: 300px;
}

.ad-rail {
    display: block;
    width: 100%;
    max-width: 300px;
    margin: 16px auto;
    min-height: 620px;
    contain: layout style;
    content-visibility: auto;
    contain-intrinsic-size: 300px 620px;
}

.ad-vertical {
    display: block;
    width: 100%;
    min-width: 160px;
    min-height: 250px !important;
    max-height: none !important;
    margin: 0 auto;
    padding: 0 !important;
    text-align: center;
    box-sizing: border-box;
}

.ad-vertical .adsbygoogle {
    display: block !important;
    min-height: 250px;
    max-height: none !important;
}

.ad-below-content {
    display: block;
    width: 100%;
    margin: 24px 0;
    padding: 0;
    text-align: center;
    box-sizing: border-box;
}

.ad-970x90  { max-width: 970px; margin-left: auto; margin-right: auto; }
.ad-728x90  { max-width: 728px; margin-left: auto; margin-right: auto; }
.ad-300x250 { max-width: 100%; margin-left: auto; margin-right: auto; }
.ad-336x280 { max-width: 336px; margin-left: auto; margin-right: auto; }
.ad-160x600 { max-width: 160px; margin-left: auto; margin-right: auto; }
.ad-300x600 { max-width: 300px; margin-left: auto; margin-right: auto; }
.ad-320x50  { max-width: 320px; margin-left: auto; margin-right: auto; }
.ad-320x100 { max-width: 320px; margin-left: auto; margin-right: auto; }
.ad-slot--reserve {
    min-height: var(--reserve-height, 100px);
}
.ad-slot:not(.ad-slot--reserve):has(.adsbygoogle[data-ad-status="unfilled"]),
.ad-slot:not(.ad-slot--reserve).ad-status-empty,
.ad-placeholder:not(.ad-slot--reserve):has(.adsbygoogle[data-ad-status="unfilled"]),
.ad-placeholder:not(.ad-slot--reserve).ad-status-empty {
    display: none !important;
    visibility: hidden !important;
    min-height: 0 !important;
    max-height: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

.ad-slot.ad-status-empty .adsbygoogle,
.ad-placeholder.ad-status-empty .adsbygoogle,
.ad-slot--reserve.ad-status-empty .adsbygoogle {
    display: none !important;
}

.sj-widgetimpactfector {
    min-height: 250px !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

.sj-widgetimpactfector .sj-widgetcontent {
    padding: 0 !important;
    border: none !important;
}

@media (min-width: 992px) {
    .sj-widgetimpactfector {
        position: -webkit-sticky;
        position: sticky;
        top: 20px;
        z-index: 99;
    }
    
    .custom-sidebar-col .sj-widget {
        display: block;
        width: 100% !important;
        min-width: 300px;
        padding: 0 !important;
        overflow: visible !important;
    }
    
    .custom-sidebar-col .sj-sidebar {
        display: block;
        width: 100% !important;
        padding: 0 !important;
        overflow: visible !important;
    }
    
    .custom-sidebar-col .sj-widgetimpactfector > div {
        display: block;
        padding: 0 !important;
        margin: 0 !important;
        overflow: visible !important;
        width: 100% !important;
    }
}

@media (max-width: 991px) {
    .ad-rail {
        max-width: 300px;
        width: 100%;
    }
    
    .ad-header-leaderboard {
        margin: 12px auto;
        max-width: 728px;
    }
}

@media (max-width: 768px) {
    .ad-wrapper-header {
        padding: 0;
        margin: 0;
        min-height: 250px;
    }

    /* Force display header ad on mobile even if unfilled */
    .ad-wrapper-header:has(.adsbygoogle[data-ad-status="unfilled"]),
    .ad-header-leaderboard:has(.adsbygoogle[data-ad-status="unfilled"]),
    .ad-placeholder.ad-header-leaderboard:has(.adsbygoogle[data-ad-status="unfilled"]),
    .ad-header-leaderboard.ad-status-empty,
    .ad-placeholder.ad-header-leaderboard.ad-status-empty {
        display: block !important;
        visibility: visible !important;
        min-height: 250px !important;
        height: auto !important;
        max-height: 300px !important;
        padding: 0 !important;
        margin: 0 auto !important;
    }

    .ad-header-leaderboard {
        margin: 0 auto;
        min-height: 250px;
        max-height: 300px;
        contain-intrinsic-size: 100% 250px;
        aspect-ratio: 300 / 250;
        contain: layout style size;
        overflow: hidden;
    }

    .ad-header-leaderboard .adsbygoogle {
        min-height: 250px;
    }
    
    .ad-below-video {
        min-height: 250px;
        max-height: 300px;
        margin: 12px 0;
        contain-intrinsic-size: 100% 250px;
        aspect-ratio: 300 / 250;
        contain: layout style size;
        overflow: hidden;
    }

    .ad-wrapper-below-video {
        width: 100vw;
        max-width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
    }
    
    .ad-in-feed {
        min-height: 150px;
        contain: layout style size;
        overflow: hidden;
    }
    
    .ad-rail {
        min-height: 280px;
        contain-intrinsic-size: 300px 280px;
    }
    
    .ad-placeholder {
        padding: 12px;
        font-size: 14px;
        margin-left: 0;
        margin-right: 0;
        width: 100%;
        max-width: 100%;
        border-radius: 0;
        box-sizing: border-box;
        overflow: hidden;
    }

    .ad-placeholder.ad-header-leaderboard {
        padding: 0 !important;
    }

    .ad-placeholder.ad-below-video {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    
    .ad-slot {
        contain: layout style size;
    }
    
    .ad-slot--reserve {
        min-height: var(--reserve-height, 100px);
        max-height: calc(var(--reserve-height, 100px) * 1.15);
    }
}

@media (min-width: 992px) {
    .ad-in-feed:empty,
    .ad-in-feed.ad-placeholder:empty,
    .ad-in-feed.ad-slot:empty {
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
    }
    
    .ad-in-feed:has(.adsbygoogle[data-ad-status="unfilled"]),
    .ad-in-feed.ad-status-empty,
    .ad-placeholder.ad-in-feed.ad-status-empty {
        display: none !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        box-shadow: none !important;
    }
}

.ad-placeholder[data-lazy="true"] {
    content-visibility: auto;
    contain-intrinsic-size: 0 250px;
}

.ad_banner-container {
    display: block;
    width: 100%;
    min-height: 100px;
    margin: 0 auto;
    text-align: center;
    box-sizing: border-box;
}

@media (min-width: 992px) {
    .ad_banner-container {
        min-height: 90px;
    }
}

@media (max-width: 768px) {
    .ad_banner-container {
        min-height: 180px !important;
    }
}
