:root {
    font-size: 16px;

    /* Primary - Based on #ffbf01 (a vibrant golden yellow) */
    --color-primary: #ffbf01;
    --color-primary-darker: #cc9900;
    --color-primary-lighter: #ffd84d;
    --color-primary-50: #ffe680;
    --color-primary-25: #fff0b3;
    --color-primary-10: #fff7d9;
    --color-primary-5: #fffbec;

    /* Neutral colors */
    --color-neutral: #1A1A1A;
    --color-neutral-80: #333333;
    --color-neutral-60: #5C5C5C;
    --color-neutral-40: #858585;
    --color-neutral-20: #B0B0B0;
    --color-neutral-15: #C9C9C9;
    --color-neutral-10: #EBEBEB;
    --color-neutral-5: #F3F3F3;
    --color-neutral-0: #fff;

    /* Secondary - Based on #1a0076 (deep indigo) */
    --color-secondary: #1a0076;
    --color-secondary-80: #3d2a99;
    --color-secondary-60: #5f54b3;
    --color-secondary-40: #8b84cc;
    --color-secondary-20: #b6b3e5;
    --color-secondary-10: #d9d7f2;
    --color-secondary-5: #f0effa;

    --br-main: .5rem;
}

/*
article.page-content-section h1,
article.page-content-section h2,
article.page-content-section h3,
article.page-content-section h4,
article.page-content-section h5,
article.page-content-section h6 {
    color: var(--color-secondary);
}
*/

.btn {
    color: var(--color-secondary);
}

.btn.style-2 {
    color: var(--color-primary-lighter);
}

.mad-navigation>.current-menu-item>a, .mad-navigation>li:hover>a, .mad-navigation>.current-menu-item:after, .mad-navigation>li:hover:after {
    color: var(--color-secondary-60);
}

.mad-pre-header .mad-our-info .mad-info {
    color: var(--color-secondary-5);
}

.core-items i {
    font-size:65px;
    color: var(--color-secondary);
}

.mad-counter-icon.core-stats i {
    color: var(--color-primary);
    font-size: 65px;
    margin-bottom:20px;
}

.mad-icon-box:hover .core-items i {
    font-size:65px;
    color: var(--color-primary);
}

.mad-entity .mad-entity-content[class*="with-texture"]:before {
    background: url(../images/mic.png) no-repeat;
}

.mad-colorizer--scheme-color-5>.mad-colorizer-bg-color,
[class*="with-overlap"]:after {
    background: var(--color-secondary);
}

.core-candidate-section.with-overlap-color-2:after {
    background: var(--color-primary-10) !important;
}

.mad-entities.wiht-bg-backplate:not(.type-3) .mad-entity .core-candidates.mad-entity-media:after {
    background: none;
}

.core-donate-cta-section[class*="with-texture"] .mad-colorizer-bg-color:after {
    background: url(../images/donate-cta-bg.png) no-repeat;
    background-size: cover;
}

.core-testimonials-section.mad-section:not(.mad-section--stretched-content-no-px) {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

.mad-entities:not(.type-6):not(.mad-entity-small) .mad-entity .mad-entity-tags:after {
    background: var(--color-secondary);
}

.mad-entities.type-2 .mad-entity .mad-entity-tags {
    color: var(--color-primary-5);
}

.core-blog-link[class*="mad-text-link"] {
    color: var(--color-secondary);
}

.mad-footer:after,
.mad-footer:before {
    background: none;
}

.mad-footer:not(.footer-2) {
    background: url(../images/footer_bg1.png) no-repeat var(--color-secondary) center center;
}

aside .mad-banners .mad-banner:after {
    background:none;
}

.mad-banners .mad-banner.banner-cta:after,
.mad-banners .mad-banner.banner-2:after {
    background-image: url(../images/banner_bg2.png);
}

.text-center {
    text-align:center;
}

.fec-disclaimer {
    border:1px solid #fff;
    padding:10px;
}

.mad-back-to-top {
    top: 80%;
}

footer img.png-icon {
    margin-top: 12px; 
}

img.png-icon {
    height:18px;
    width:18px;
}

.mad-counter-icon.about-stats i {
    color: var(--color-secondary);
    font-size: 55px;
    margin-top: 20px;
}

.mad-tab.mad-active {
    opacity: 100 !important;
}

[class*="with-overlay"]:not(.mad-section):before {
    background: var(--color-secondary);
}

.mad-breadcrumb.with-bg-img {
    padding-top: 6.75rem;
    padding-bottom: 6.75rem;
}

aside .mad-widget ul > li > a {
    color: var(--color-secondary) !important;
}

aside .mad-widget ul > li > a:hover {
    color: var(--color-primary) !important;
}

aside .mad-entity-tags a:not(.btn) {
    color: var(--color-secondary-60);
}

.pulsing-gradient {
    background: linear-gradient(135deg, var(--color-secondary), #1c0960);
    background-size: 200% 200%;
    animation: gradientPulse 6s ease-in-out infinite;
}

#cancel-comment-reply-link {
    display:block;
    font-size:20px;
}

body.page-template-template-contact .mad-link,
body.single-asset .mad-link,
.njpac-assets .mad-text-link,
.related-articles a.related-link,
.mad-pagination>li>a.mad-arrows,
.main-single-blog .mad-entity-tags a,
.mad-gallery-cat,
.mad-filter>li>a,
.mad-404-title {
    color: var(--color-secondary);
}

.mad-pagination>li>a.mad-arrows:hover {
    color: var(--color-primary);
}

.njpac-assets.mad-grid-item,
.njpac-candidates.mad-grid-item {
    transition: opacity 0.4s ease;
    display: none;
}

.featured-media {
    background: #fff;
    border-radius: 6px;
    padding: 20px;
}

article.dark-content-bg,
article.dark-content-bg p,
article.dark-content-bg h6,
article.dark-content-bg h5,
article.dark-content-bg h4,
article.dark-content-bg h3,
article.dark-content-bg h2,
article.dark-content-bg h1 {
    color:#fff;
}

article.dark-content-bg:before {
    background: var(--color-neutral) !important;
}

/*
.njpac-assets {
    height:100%;
    display: inline-flex;
}
*/

.uppercase {
    text-transform:uppercase !important;
}

.video-responsive {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;
}

.video-responsive iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

body.single-asset .mad-img {
    display:block;
}

body.single-asset .mad-img img {
    width:100%;
}

body.single-asset


@keyframes gradientPulse {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}