/*
Theme Name: The7 Child
Template: dt-the7
*/

:root{
    --cross-shadow:
        rgba(255,255,255,0.55) 0px 1px 0px inset,
        rgba(20,20,30,0.08) 0px -6px 14px -8px,
        rgba(0,0,0,0.025) 0px 0px 0px 1px,
        rgba(0,0,0,0.03) 0px 4px 6px -2px,
        rgba(20,20,30,0.035) 0px 12px 20px -6px,
        rgba(40,35,80,0.04) 0px 24px 36px -12px;
    --cross-shadow-hover: 
		rgba(0,0,0,0.035) 0px 0px 0px 1px,
        rgba(0,0,0,0.04) 0px 8px 12px -2px,
        rgba(30,30,60,0.05) 0px 18px 28px -6px,
        rgba(50,45,100,0.06) 0px 36px 52px -12px;
    --cross-shadow-badge: 0 6px 18px rgba(0,0,0,.15);
}

p{
    color:#202121;
}

.tribe-events-event-image{
    display:none;
}

.tribe-events-tooltip .tribe-events-event-thumb img{
    display:none;
}

span.wpcf7-list-item{
    display:block;
}

/* Hide The Events Calendar view switcher (List/Month/etc.) */
.tribe-events .tribe-events-c-view-selector,
.tribe-events .tribe-events-c-view-selector__content,
.tribe-events .tribe-events-c-view-selector__button,
.tribe-events .tribe-events-header__top-bar{
    display:none !important;
}

/* Shared drop shadow styles */
.event-card,
.blog-carousel-shortcode article,
.impact-stat-card > .vc_column-inner > .wpb_wrapper{
    box-shadow:var(--cross-shadow);
}

.event-card:hover,
.blog-carousel-shortcode article:hover{
    box-shadow:var(--cross-shadow-hover);
}

/* Home page cards row */
.home-card-row{
    margin-left:-15px;
    margin-right:-15px;
}

.home-card-row > .card{
    padding-left:15px !important;
    padding-right:15px !important;
    box-sizing:border-box;
}

.vc_row.vc_column-gap-30{
    margin-left:-15px;
    margin-right:-15px;
}

.vc_row.vc_column-gap-30 > .card{
    padding-left:15px !important;
    padding-right:15px !important;
    box-sizing:border-box;
}

/* Card shell */
.card > .vc_column-inner{
    padding:0 !important;
    background:transparent !important;
}

.card > .vc_column-inner > .wpb_wrapper{
    background:#fff;
    border-radius:26px;
    overflow:hidden;
    box-shadow:var(--cross-shadow);
    transition:.3s;
    height:100%;
    display:flex;
    flex-direction:column;
    text-align:center;
    font-family:'Montserrat', sans-serif;
}

.card:hover > .vc_column-inner > .wpb_wrapper{
    transform:translateY(-6px);
    box-shadow:var(--cross-shadow-hover);
}

/* Image */
.card-image{
    margin-bottom:0 !important;
}

.card-image .wpb_wrapper,
.card-image .vc_figure,
.card-image .vc_single_image-wrapper{
    display:block;
    width:100%;
    max-width:none !important;
}

.card-image img{
    width:100%;
    height:300px;
    object-fit:cover;
    object-position:center;
    display:block;
}

/* Floating icon */
.card-icon{
    margin-top:-70px;
    margin-bottom:16px;
    position:relative;
    z-index:2;
}

.card-icon .vc_icon_element-inner{
    width:140px;
    height:140px;
    border-radius:50%;
    background:#fff !important;
    box-shadow:0 10px 25px rgba(0,0,0,.08);
}

.card-icon .vc_icon_element-icon{
    font-size:85px !important;
    line-height:140px !important;
}

.vc_icon_element.vc_icon_element-outer .vc_icon_element-inner.vc_icon_element-size-lg.vc_icon_element-have-style-inner {
    height: 8.5em !important;
    width: 8.5em !important;
}

.vc_icon_element.vc_icon_element-outer .vc_icon_element-inner.vc_icon_element-size-lg .vc_icon_element-icon {
    font-size: 4em !important;
}

/* Title */
.card-title{
    margin:10px 0 10px !important;
	font-size:30pt !important;
	font-family: 'Montserrat';
	color:var(--card-accent) !important;

}

/* Text */
.card-text{
    padding:0 28px;
    margin-bottom:22px;
    flex:1;
	font-size:18pt !important;
}

.card-text p{
    margin:0;
}

/* Button */
.card-button{
    margin-top:auto !important;
    margin-bottom:18px !important;
    display:flex;
    justify-content:center;
	color:var(--card-accent) !important;
}

.card-button .vc_btn3{
    width:260px;
    height:70px;
    display:flex !important;
    align-items:center;
    justify-content:center;
    padding:0 !important;

    font-family:'Montserrat', sans-serif;
    font-weight:600;
    font-size:20pt !important;
    text-decoration:none !important;

    color:var(--card-accent) !important;
    background:#fff !important;
    background-image:none !important;
    border:2px solid var(--card-accent) !important;
    border-color:var(--card-accent) !important;
    box-shadow:none !important;
    text-shadow:none !important;
    border-radius:14px !important;
    transition:.2s ease;
    -webkit-appearance:none;
    appearance:none;
}

.card-button .vc_btn3:hover,
.card-button .vc_btn3:focus{
    background:var(--card-accent) !important;
    background-image:none !important;
    color:#fff !important;
    border:2px solid var(--card-accent) !important;
    border-color:var(--card-accent) !important;
    box-shadow:none !important;
    text-shadow:none !important;
    text-decoration:none !important;
}

.card-button .vc_btn3:hover *,
.card-button .vc_btn3:focus *{
    color:#fff !important;
}

/* Card colors */
.card:nth-child(1){
    --card-accent:#f28c18;
}

.card:nth-child(2){
    --card-accent:#b7c21b;
}

.card:nth-child(3){
    --card-accent:#3c3c96;
}

.card a{
    text-decoration:none !important;
    color:inherit !important;
}

.card a:hover,
.card a:focus,
.card a:active,
.card a:visited{
    text-decoration:none !important;
    color:inherit !important;
}

.card > .vc_column-inner > .wpb_wrapper > a{
    display:block;
    height:100%;
}

/* Home page featured events */
.featured-events-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:32px;
    margin-top:40px;
}

.event-card{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    transition:.3s;
    display:flex;
    flex-direction:column;
}

.event-card:hover{
    transform:translateY(-6px);
}

.event-image{
    position:relative;
    display:block;
}

.event-image img{
    width:100%;
    height:240px;
    object-fit:cover;
    display:block;
}

.event-date{
    position:absolute;
    top:18px;
    left:18px;
    background:#fff;
    border-radius:10px;
    padding:8px 12px;
    font-size:13px;
    font-weight:600;
    color:#333;
    box-shadow:var(--cross-shadow-badge);
}

.event-month{
    display:block;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    color:#666;
}

.event-day{
    display:block;
    font-size:22px;
    font-weight:700;
    color:#222;
}

.event-content{
    padding:26px;
    text-align:center;
    flex-grow:1;
    display:flex;
    flex-direction:column;
}

.event-content h3{
    font-size:20px;
    margin-bottom:8px;
    line-height:1.3;
}

.event-meta{
    font-size:14px;
    color:#777;
    margin-bottom:18px;
}

.event-button{
    display:inline-flex;
    align-self:center;
    padding:8px 18px;
    border-radius:30px;
    background:#fff;
    border:2px solid #333092;
    color:#333092;
    text-decoration:none;
    font-weight:600;
    font-size:14px;
    margin-top:auto;
    width:auto;
}

.event-button:hover{
    background:#333092;
    color:#fff;
}

@media (max-width:1024px){
    .featured-events-grid{
        grid-template-columns:1fr 1fr;
    }
}

@media (max-width:767px){
    .featured-events-grid{
        grid-template-columns:1fr;
    }
}

.events-more{
    text-align:center;
    margin-top:30px;
}

.events-more a{
    font-weight:600;
    text-decoration:none;
}

/* Home page blog cards */
.blog-carousel-shortcode article{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    transition:.3s;
    height:100%;
    display:flex;
    flex-direction:column;
}

.blog-carousel-shortcode article:hover{
    transform:translateY(-6px);
}

.blog-carousel-shortcode .post-thumbnail img{
    height:220px;
    object-fit:cover;
    width:100%;
    display:block;
}

.blog-carousel-shortcode .post-entry-content{
    padding:24px;
    flex-grow:1;
    display:flex;
    flex-direction:column;
    background:#fff;
}

.blog-carousel-shortcode .entry-title{
    font-size:20px;
    line-height:1.35;
    margin-bottom:10px;
}

.blog-carousel-shortcode .entry-meta{
    font-size:13px;
    color:#777;
    margin-bottom:12px;
}

.blog-carousel-shortcode .owl-stage-outer{
    padding:18px;
    padding-bottom:30px;
    margin:-18px;
}

/* Impact Cards */
.impact-stat-card > .vc_column-inner{
    padding:0 !important;
}

.impact-stat-card > .vc_column-inner > .wpb_wrapper{
    background:#fff;
    border-radius:24px;
    padding:28px 28px;
    height:100%;
}

.impact-stat-card .stats-block{
    display:flex !important;
    align-items:center;
    gap:20px;
    margin:0;
    min-height:120px;
}

.impact-stat-card .aio-icon-left{
    display:flex !important;
    align-items:center;
    justify-content:center;
    height:100%;
}

.impact-stat-card .ult-just-icon-wrapper,
.impact-stat-card .align-icon{
    display:flex !important;
    align-items:center;
    justify-content:center;
}

.impact-stat-card .aio-icon{
    display:flex !important;
    align-items:center;
    justify-content:center;
    line-height:1 !important;
}

.impact-stat-card .stats-desc{
    display:flex !important;
    flex-direction:column;
    justify-content:center;
    min-width:0;
    flex:1 1 auto;
}

.impact-stat-card .stats-number{
    color:#333092 !important;
    margin-bottom:4px;
}

.impact-stat-card .stats-text{
    color:#2f3151 !important;
    margin:0;
}

.impact-stat-card a{
    text-decoration:none;
    color:inherit;
    display:block;
    height:100%;
}

.impact-stat-card a.impact-card-link{
    display:block;
    height:100%;
    text-decoration:none;
    color:inherit;
}

.impact-stat-card a.impact-card-link:hover{
    text-decoration:none;
    color:inherit;
}

/* Base transition */
.impact-stat-card > .vc_column-inner > .wpb_wrapper{
    transition: all .3s ease;
}

/* Hover effect (same as events/blog) */
.impact-stat-card:hover > .vc_column-inner > .wpb_wrapper{
    transform: translateY(-6px);
    box-shadow: var(--cross-shadow-hover);
}

/* Impact Cards Grid*/
.impact-grid{
    display:flex;
    flex-wrap:wrap;
}

.impact-grid > .wpb_column{
    width:33.3333%;
}

@media (max-width:1024px){
    .impact-grid > .wpb_column{
        width:50%;
    }
}

@media (max-width:767px){
    .impact-grid > .wpb_column{
        width:50%;
    }
	.impact-stat-card .stats-block{
        flex-direction:column !important;
        align-items:center;
        justify-content:center;
        text-align:center;
        gap:10px;
        min-height:auto;
    }

    .impact-stat-card .aio-icon-left{
        height:auto;
    }
	.vc_row.vc_row-o-equal-height>.vc_column_container{
	    padding: 8px !important;
	}
    .impact-stat-card .stats-desc{
        align-items:center;
        text-align:center;
    }
	/* Stack layout */
    .impact-stat-card .stats-block{
        flex-direction:column !important;
        align-items:center;
        justify-content:center;
        text-align:center;
        gap:10px;
        min-height:auto;
    }

    /* Center icon */
    .impact-stat-card .aio-icon-left,
    .impact-stat-card .ult-just-icon-wrapper,
    .impact-stat-card .align-icon,
    .impact-stat-card .aio-icon{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        margin:0 auto;
        text-align:center !important;
		padding-right: 0px !important;
    }

    /* Center text wrapper */
    .impact-stat-card .stats-desc{
        align-items:center !important;
        text-align:center !important;
        width:100%;
    }

    /* Center number + text explicitly */
    .impact-stat-card .stats-number,
    .impact-stat-card .stats-text{
        text-align:center !important;
        width:100%;
    }

    .impact-stat-card .aio-icon{
        font-size:52px !important;
    }
	
    .vc_row.vc_custom_1774745000388{
        margin: 0px !important;
    }
}
}

.sponsor-title{
    text-align:center;
}

.sponsor-title .uvc-heading-spacer{
    display:none;
}

.sponsor-title .uvc-main-heading{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:30px;
    width:100%;
    font-family:'Montserrat', sans-serif;
    font-size:30px;
    color:#3c3c96;
    text-align:center;
}

.sponsor-title .uvc-main-heading::before,
.sponsor-title .uvc-main-heading::after{
    content:"";
    flex:0 0 60px;
    height:1px;
    background:#3c3c96;
    position:relative;
    top:2px;
}

.sponsor-title .uvc-main-heading h1,
.sponsor-title .uvc-main-heading h2,
.sponsor-title .uvc-main-heading h3,
.sponsor-title .uvc-main-heading h4,
.sponsor-title .uvc-main-heading h5,
.sponsor-title .uvc-main-heading h6{
    margin:0 !important;
    color:inherit;
    font:inherit;
    text-align:center;
}


.pill-btn{
    display:inline-flex;
    align-items:center;
    gap:8px;

    padding:12px 16px;
    border-radius:18px;

    background:#f1f1f6;
    color:#23235a !important;
    text-decoration:none !important;

    font-family:'Montserrat', sans-serif;
    font-size:20px;
    font-weight:500;

    transition:.2s ease;
}

.pill-btn i{
    font-size:20px;
}

.pill-btn:hover{
    background:#e7e7f0;
}

.ga-hours-header{
    display:inline-flex;
    align-items:center;
    gap:14px;
    text-decoration:none !important;
    color:#23235a !important;
    font-family:'Montserrat', sans-serif;
    min-height:56px;
	transform:translateY(-10px);
}

.ga-hours-header i{
    font-size:22px;
    line-height:1;
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
}

.ga-hours-header #hours{
    display:block;
    font-size:16px;
    line-height:1.25;
    color:#23235a !important;
	gap:2px;
}

.ga-hours-header #hours strong{
    display:block;
    font-size:16px;
    font-weight:700;
    line-height:1.2;
    color:#23235a !important;
}

.ga-hours-header:hover,
.ga-hours-header:hover #hours,
.ga-hours-header:hover strong{
    text-decoration:none !important;
    color:#23235a !important;
}

.masthead.inline-header{
    position:relative;
}

/* Constrain both rows the same way */
.masthead.inline-header .top-bar,
.masthead.inline-header .header-bar{
    max-width:1250px;
    width:100%;
    margin:0 auto;
    box-sizing:border-box;
    padding-left:220px !important;
    padding-right:40px !important;
}

/* Lower row needs relative because logo is positioned from it */
.masthead.inline-header .header-bar{
    position:relative;
}

/* Keep only ONE branding rule */
.masthead.inline-header .header-bar .branding{
    position:absolute;
    top:-70px;
    left:40px;
    z-index:20;
    display:block !important;
}

/* Remove the broader branding rule if you still have it */
.masthead.inline-header .branding{
    position:static;
    top:auto;
    left:auto;
    z-index:auto;
}

/* Push nav to the right */
.masthead.inline-header .header-bar #primary-menu{
    margin-left:auto !important;
}

/* Donate button styled like pill buttons but solid */
.dt-btn.dt-btn-submit{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;

    padding:12px 18px;
    border-radius:18px;

    background:#3c3c96 !important;
    color:#fff !important;

    font-family:'Montserrat', sans-serif;
    font-size:20px;
    font-weight:500;

    text-decoration:none !important;
    border:none !important;
    box-shadow:none !important;

    transition:.2s ease;
}

/* Hover */
.dt-btn.dt-btn-submit:hover{
    background:#2f2f78 !important; /* slightly darker purple */
    color:#fff !important;
}

.masthead:not(.side-header):not(.side-header-menu-icon) .header-bar{
    max-width:1250px !important;
}

/* Footer bar */
#footer .wf-container,
#footer .wf-container-footer{
    display:block !important;
}

#footer .widget.widget_block.wf-cell,
#footer .widget_block,
#footer .textwidget{
    width:100% !important;
    max-width:100% !important;
    float:none !important;
    margin:0 !important;
}

.cross-footer-top{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:40px;
    width:100%;
}

.cross-footer-brand{
    flex:0 0 auto;
}

.cross-footer-logo{
    display:block;
    height:62px;
    width:auto;
    max-width:100%;
}

.cross-footer-nav{
    display:flex !important;
    align-items:center;
    justify-content:flex-end;
    flex:1 1 auto;
    flex-wrap:wrap;
    gap:14px;
    text-align:right;
    font-size:16px;
    font-weight:600;
    line-height:1.3;
}

.cross-footer-nav a{
    color:#fff;
    text-decoration:none;
}

.cross-footer-nav a:hover{
    text-decoration:underline;
}

.cross-footer-nav span{
    opacity:.65;
    font-weight:400;
}

.cross-footer-divider{
    height:1px;
    width:100%;
    background:rgba(255,255,255,.18);
    margin:18px 0 0;
}

#bottom-bar .wf-container-bottom{
    display:block !important;
}

#bottom-bar .wf-float-right{
    float:none !important;
    width:100% !important;
    margin:0 !important;
}

#bottom-bar .bottom-text-block{
    width:100%;
}

.cross-footer-bottom{
    display:grid !important;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:20px;
    width:100%;
    font-size:12px;
    line-height:1.35;
}

.cross-footer-copy{
    white-space:nowrap;
    text-align:left;
}

.cross-footer-contact{
    white-space:nowrap;
    text-align:right;
    justify-self:end;
}

.cross-footer-contact a{
    color:inherit;
    text-decoration:none;
}

.cross-footer-contact a:hover{
    text-decoration:underline;
}

.cross-footer-contact span{
    margin:0 8px;
    opacity:.7;
}

.cross-footer-social a{
    width:30px;
    height:30px;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    overflow:hidden;
    background:rgba(255,255,255,.14) !important;
    transition:background .2s ease !important;
}

.cross-footer-social a:hover{
    background:rgba(255,255,255,.24) !important;
}

.cross-footer-social .soc-font-icon,
.cross-footer-social .soc-font-icon:before,
.cross-footer-social .soc-font-icon:after,
.cross-footer-social a:before,
.cross-footer-social a:after{
    background:transparent !important;
    box-shadow:none !important;
    border:none !important;
    transition:none !important;
}

.cross-footer-social{
    display:flex !important;
    align-items:center;
    gap:8px;
    margin:0;
}

.cross-footer-social a:before{
    display:none !important;
}

.cross-footer-top p,
.cross-footer-bottom p{
    margin:0;
}

.cross-footer-bottom br,
.cross-footer-social br{
    display:none !important;
}

@media (max-width: 1100px){
    .cross-footer-top{
        flex-direction:column;
        text-align:center;
    }

    .cross-footer-nav{
        justify-content:center;
        text-align:center;
    }

    .cross-footer-bottom{
        grid-template-columns:1fr;
        text-align:center;
    }

    .cross-footer-copy,
    .cross-footer-contact,
    .cross-footer-social{
        white-space:normal;
        text-align:center;
        justify-self:center;
        justify-content:center;
    }
}