/*
Theme Name: Kadence Child
Theme URI: https://www.kadencewp.com/kadence-theme/
Template: kadence
Author: Kadence WP
Author URI: https://www.kadencewp.com/
Description: Kadence Theme is a lightweight yet full featured WordPress theme for creating beautiful fast loading and accessible websites, easier than ever. It features an easy to use drag and drop header and footer builder to build any type of header in minutes. It features a full library of gorgeous starter templates that are easy to modify with our intelligent global font and color controls. With extensive integration with the most popular 3rd party plugins, you can quickly build impressive ecommerce websites, course websites, business websites, and more.
Tags: translation-ready,accessibility-ready,two-columns,right-sidebar,left-sidebar,footer-widgets,blog,custom-logo,custom-background,custom-menu,rtl-language-support,editor-style,threaded-comments,custom-colors,featured-images,wide-blocks,full-width-template,theme-options,e-commerce
Version: 1.5.0.1779344215
Updated: 2026-05-21 06:16:53

*/

/*===========================================
 Theme customization
============================================*/

/*
    * Table of Contents
    * -----------------
    * 01. Global
    * 02. Header
    * 03. Footer
    * 04. Home page
    * 05. Responsive

*/

/*--------------------
 01. Global style 
-----------------------*/
ol,ul{
    padding: 0;
    margin: 0;
}
.single-content ul, .single-content ol{
    padding: 0;
    margin: 0;
}
.single-content ul, .single-content ol {
    padding-left: 18px;
}
.slick-track{

    display: flex !important;

}
.slick-slide{
    height: inherit !important;
}
.wp-block-quote>cite {
    color: var(--global-palette4);
    font-family: var(--global-body-font-family);
    font-size: 16px;
}
body.page .entry-content-wrap {
    padding: 0;
}
.size-full img {
    width: 100%;
}
.h-full{
    height: 100%;
}
.h-full img {
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.sub-heading {
	display:inline-flex;
}
.heading-line-section {
    position: relative;
    text-align: center;
}

.heading-line-section .wp-block-kadence-spacer {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
}

.heading-line-section .wp-block-kadence-advancedheading {
    display: inline-block;
    margin: 0 auto;
    background: #fff;
    padding: 0 20px;
    position: relative;
    z-index: 9;
}
.kt-accordion-wrap .kt-blocks-accordion-header .kt-blocks-accordion-icon-trigger:before, .kt-accordion-wrap .kt-blocks-accordion-header .kt-blocks-accordion-icon-trigger:after {
    background: #000 !important;
    width: 8px;
    height: 2px;
    left: 8px;
    top: 11px;
}
.wp-block-kadence-iconlist ul.kt-svg-icon-list .kt-svg-icon-list-item-wrap .kt-svg-icon-list-single {
    margin-top: 4px;
}

body.page .mb-gradient >.kt-inside-inner-col:before {
    opacity: 0;
}

@media screen and (min-width: 1025px) and (max-width: 1280px){
	h1 {
		font-size:49px;
	}
}

.circle-img {
	
    max-width: 50px !important;
    width: 50px !important;
    height: 50px !important;
}

.circle-img img {
	width: 100%;
	height: 100%;
}

.single-post .content-area {
    margin-bottom: 120px;
}

/*--------------------
 02. Header style 
-----------------------*/
.site-header .site-container {
    padding: 0;
}

.site-header .site-container .site-header-main-section-right > div:first-child{
    border-left: 1px solid #dedede;
}
.site-header .site-container .menu {
    padding-left: 20px;
}
.site-header .menu li{
    position: relative;
    padding: 15px 30px;
    transition: all 0.3s ease-in-out;
}
.site-header .menu li a, .site-footer .site-middle-footer-wrap .menu li a{
    position: relative;
    overflow: hidden;
    display: block;
}
.site-header .menu li a span,
.site-footer .site-middle-footer-wrap .menu li a span{
    position: relative;             /* anchor for ::after */
    display: inline-block;
    transition: transform 0.3s ease-in-out;
    will-change: transform;
}
.site-header .menu li a span::after,
.site-footer .site-middle-footer-wrap .menu li a span::after{
    content: attr(data-text);
    position: absolute;
    left: 0;
    top: 100%;                      /* IMPORTANT: place under the span */
    width: 100%;
    color: inherit;
}
.site-header .menu li a:hover span,
.site-footer .site-middle-footer-wrap .menu li a:hover span{
  transform: translateY(-100%);
}
.site-header .site-container .site-main-header-inner-wrap .site-branding {
    background: var(--global-palette2);
}
.site-header .site-container .menu {
    padding-left: 20px;
}

.site-header .site-container .site-main-header-inner-wrap .site-branding {
    background: var(--global-palette2);
}

.site-header .site-container .site-header-main-section-right > div * {
    height: 100%;
}

.site-header .site-container .site-header-main-section-right .button {
    display: flex;
    align-items: center;
    min-width: 160px;
    justify-content: center;
    box-shadow: none !important;
    font-size: 16px;
    
    border-radius: 0 !important;
}
.site-header .site-container .menu {
    padding-left: 20px;
}

.site-header .site-container .site-main-header-inner-wrap .site-branding {
    background: var(--global-palette2);
}

.site-header .site-container .site-header-main-section-right > div * {
    height: 100%;
}

.site-header .site-container .site-header-main-section-right .button {
    display: flex;
    align-items: center;
    min-width: 160px;
    justify-content: center;
    box-shadow: none !important;
}

.site-header .site-container .site-header-main-section-right .header-button-wrap .button:hover {
    background: var(--global-palette11) !important;
    color: #fff !important;
}

.site-header .site-container .site-header-main-section-right > div {margin: 0;}

.site-header .site-container .site-header-main-section-right .header-button2-wrap .button:hover {
    background: var(--global-palette12) !important;
}

@media (max-width: 1199px){
    .site-header .menu li {
        position: relative;
        padding: 5px 5px;
    }
    .site-branding {
        padding: 20px 30px 20px 30px;
    }
    .main-navigation .primary-menu-container > ul li.menu-item > a {
        padding-left: 5px;
        padding-right: 5px;
    }
    #mobile-drawer .drawer-inner {
        height: 100%;
    }
    
    #mobile-drawer .drawer-inner .drawer-content {
        height: 100%;
        display: flex;
        align-items: start;
        flex-direction: column;
    }
    #mobile-drawer .drawer-inner .drawer-content .site-header-item:last-child {
        margin-top: auto;
        margin-bottom: 0;
        width: 100%;
    }
    
    #mobile-drawer .drawer-inner .drawer-content .site-header-item:last-child .mobile-html-inner , #mobile-drawer .drawer-inner .drawer-content .site-header-item:last-child .mobile-html-inner p {
        display: flex;
        gap: 10px;
    }
    
    #mobile-drawer .drawer-inner .drawer-content .site-header-item:last-child .mobile-html-inner .button {
        flex-grow: 1;
        width: 50%;
        text-align: center;
    }
    
    #mobile-drawer .drawer-inner .drawer-content .site-header-item:last-child .mobile-html-inner p {
        width: 100%;
    }
    #mobile-drawer .drawer-header .drawer-toggle{
        margin: 20px -13px 0 0;
    }
    body.admin-bar .popup-drawer .site-header-item.site-header-focus-item:last-child{
        margin-bottom: 30px !important;
    }
    .mobile-navigation ul li > a {
        padding-left: 0;
    }
    .mobile-navigation ul li > a {
        padding-left: 0;
    }

    #mobile-drawer .header-mobile-social-wrap {
        border-top: 1px solid #ddd;
        display: block;
        width: 100%;
        padding-top: 35px;
    }

    #mobile-drawer .drawer-content .site-header-item {
        width: 100%;
    }
}

/* -----------------------
 03. Footer style
---------------------------- */

footer .site-bottom-footer-wrap .site-footer-bottom-section-1 {
    justify-content: space-between;
}

footer .site-bottom-footer-wrap .site-footer-bottom-section-1 .menu {
    display: flex;
    gap: 25px;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
.site-middle-footer-inner-wrap .menu li {
    border-right: 1px solid rgb(255 255 255 / 20%);
}

.site-middle-footer-inner-wrap .menu li:last-child {
    border-right: none;
}
footer .site-bottom-footer-wrap .site-bottom-footer-inner-wrap {
    border-top: 1px solid rgb(255 255 255 / 20%);
}
.site-middle-footer-inner-wrap .menu li:first-child > a{
    padding-left: 0 !important;
}


.subscribe-form form {
    display: flex;
    align-items: center;
    width: 100%;
}
.subscribe-form p {
    margin: 0;
}
.subscribe-form form .gform_body,
.subscribe-form form .gform_footer {
    margin: 0;
    padding: 0;
}

.subscribe-form form .gform_fields {
    margin: 0;
}

.subscribe-form form .gfield {
    margin: 0;
}

/* Input Section */
.subscribe-form form .gform_body {
    flex: 1;
}

.subscribe-form form .ginput_container {
/*     height: 100%; */
    background: #fff;
}

.subscribe-form form input, .subscribe-form form input[type="email"] {
    width: 100%;
    height: 56px;
    border: 0;
    background: #FFFFFF;
    padding: 0 24px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    color: #222222;
    box-shadow: none;
    outline: none;
    border-radius: 0;
    text-align: left;
}

.subscribe-form form input[type="email"]::placeholder {
    color: #A9A9A9;
    opacity: 1;
}

.subscribe-form form .gform-footer {
    flex-shrink: 0;
}

.subscribe-form form .gform-footer input[type="submit"] {
    height: 56px !important;
    min-width: 180px;
    border: 0;
    border-radius: 0 !important;
    background: #02283B !important;
    color: #FFFFFF !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    padding: 0 32px !important;
    gap: 12px;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}


/* Hover */
.subscribe-form form .gform-footer input[type="submit"]:hover {
    background: #03364d !important;
}

/* Remove Gravity Forms default spacing */
.subscribe-form form .hidden_label .gfield_label {
    display: none;
}


/* Testimonial blocks */
body.page .testimonial-slider ul.kb-query-grid-wrap {
    margin-left: -25px;
    margin-right: -25px;
}

.testimonial-slider .kb-query-grid-wrap .slick-slide {
    padding: 10px 25px;
}

/* Testimonial blocks end*/

@media (max-width: 991px) {
    .subscribe-form form input[type="email"] {
        padding: 0 20px;
    }

    #gform_submit_button_1 {
        min-width: 160px;
    }
}


@media (max-width: 767px) {

    .subscribe-form form .ginput_container {
        margin-bottom: 20px;
        background: transparent;
    }
    .subscribe-form form {
        flex-direction: column;
    }

    .subscribe-form form .gform_footer {
        width: 100%;
    }

    #gform_submit_button_1 {
        width: 100%;
        min-width: auto;
        padding: 19px !important;
    }
    .subscribe-form form .gform_body{
        flex-grow: 1;
        width: 100%;
    }
}

@media screen and (min-width: 768px) and (max-width: 1199px){
    footer .site-middle-footer-wrap .site-middle-footer-inner-wrap {
        grid-template-columns: minmax(0, 0.5fr) minmax(0, 2fr) minmax(0, 0.5fr) !important;
        grid-column-gap: 15px !important;
        grid-row-gap: 15px !important;
    }
    .site-middle-footer-inner-wrap .menu li > a {
        padding: 0 30px !important;
    }
}

@media screen and (min-width: 768px) and (max-width: 991px){
    .site-middle-footer-inner-wrap .menu li > a {
        padding: 0 12px !important;
    }
}
@media (max-width: 1199px){
    footer .site-bottom-footer-wrap .site-footer-bottom-section-1{
        flex-wrap: wrap;
    }
    .site-middle-footer-inner-wrap .menu li {
        margin: 10px 0;
    }
    footer .site-bottom-footer-wrap .site-footer-bottom-section-1 .footer-widget-area {
        flex: 100%;
        max-width: 100%;
        margin: 0 auto;
    }
    
    footer .site-bottom-footer-wrap .site-footer-bottom-section-1 .footer-widget-area .footer-html-inner {
        text-align: center;
    }
}

@media (max-width: 767px){
    .site-footer-wrap .footer-navigation .footer-menu-container>ul li {
        border: none;
        text-align: center;
        width: 100%;
    }
    
    .site-footer-wrap .footer-navigation .footer-menu-container>ul {
        display: block;
        width: 100%;
    }
    
    .site-footer-wrap .footer-navigation {
        justify-content: start !important;
        width: 100%;
    }
    
    .site-footer-wrap .footer-navigation .footer-menu-container {
        width: 100%;
    }
    
    .site-middle-footer-inner-wrap .menu li > a {
        padding: 0 !important;
    }
    .footer-social-wrap {
        margin: 0px 0 0px 0;
    }
    footer .site-bottom-footer-wrap .site-footer-bottom-section-1 .menu {
        gap: 10px 50px;
    }
}


/* ----------------------
 Block CSS 
 ------------------------*/
body.page .mission-section > .kt-inside-inner-col:before {
    background-position: -24%  -200px;
}


/* Bloks Responsive media */

@media (max-width: 1600px){
    body.page .mission-section > .kt-inside-inner-col:before{
        background-position: -20% -40%;
    }
}
@media (max-width: 1199px){
    body.page .mission-section > .kt-inside-inner-col:before {
        background-size: 70%;
    }
}
/* Bloks Responsive media end */

/* Blog card css */
.blog-card {
    height: 100%;
}

.blog-card > .kt-inside-inner-col {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.blog-card > .kt-inside-inner-col .blog-content {
    flex-grow: 1;
}

.blog-card > .kt-inside-inner-col .blog-content .kt-inside-inner-col {
    flex-grow: 1;
    display: flex;
}

.blog-card .wp-block-kadence-image {
    position: relative;
    overflow: hidden;
}

.blog-card .wp-block-kadence-image img {
    transition: all 0.3s ease-in-out;
}

.blog-card:hover .wp-block-kadence-image img {
    transform: scale(1.095);
}

.blog-card > .kt-inside-inner-col .blog-content ul.wp-block-kadence-dynamiclist li {
    padding: 10px;
    border-radius: 0;
}
/* Blog card css end */


/* Apply service icon */

.apply-service .wp-block-kadence-infobox .kt-blocks-info-box-media-container {
    max-width: 90px;
    flex: 0 0 90px;
}
.path-card {
    height: 100%;
}

.path-card .info-box-link {
    height: 100%;
}
.path-card .kt-blocks-info-box-media.kt-blocks-info-box-media {
    height: 80px;
}

.path-card .kt-blocks-info-box-media.kt-blocks-info-box-media img {
    height: 50px;
    object-fit: contain;
}

/* Review Card BLock */

.testimonial {padding: 20px 0;}
.testimonial .quote-img {
    position: absolute;
    right: 60px;
    top: 0;
}
.testimonial > .wp-block-kadence-column {
    height: 100%;
}

.testimonial > .wp-block-kadence-column > .kt-inside-inner-col {
    height: 100%;
    display: flex;
}

.testimonial > .wp-block-kadence-column > .kt-inside-inner-col .review-info {
    margin-top: auto;
}


.testimonial .logo-icon {
    filter: brightness(0) invert(1);
    width: 180px;
	width: auto;
    justify-content: end;
}

.testimonial .logo-icon img {
    width: 100%;
    object-fit: contain;
}

.form-height {
    height: 550px !important;
    overflow: scroll !important;
}

/* .form-height .kt-inside-inner-col {
    height: 550px;
} */

.form-height::-webkit-scrollbar {
    width: 2px;
    height: 2px;
}

/* Background track area */
.form-height::-webkit-scrollbar-track {
    background: #f3f4f6;
}

/* Draggable handle bar */
.form-height::-webkit-scrollbar-thumb {
    background: #023047;
    border-radius: 4px;
}

.form-height .kt-inside-inner-col > div {
    overflow: overlay;
}.form-height .kt-inside-inner-col iframe {
    overflow: scroll !important;
}
/* =========================================
   SLICK ARROWS
========================================= */

body.page .testimonial-slider .slick-arrow {
    position: absolute;
    top: auto;
    bottom: -60px;
    width: 45px;
    height: 24px;
    border: 0;
    border-radius: 0;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    font-size: 0;
    z-index: 2;
    cursor: pointer;
}

.testimonial-slider .slick-arrow:before {
    display: none;
}

/* Previous Arrow */

body.page .testimonial-slider .slick-prev {
    right: 85px;
    left: auto;
    background-image: url('assets/images/arrow-left.svg');
}

/* Next Arrow */

body.page .testimonial-slider .slick-next {
    right: 20px;
    background-image: url('assets/images/arrow-right.svg');
}

/* =========================================
   SLICK DOTS
========================================= */

body.page .testimonial-slider .slick-dots {
    position: absolute;
    bottom: -35px;
    left: 25px;
    width: auto;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0;
    margin: 0;
}

.testimonial-slider .slick-dots li {
    width: 18px;
    height: 2px;
    margin: 0;
    transition: all 0.3s ease-in-out;
}

.testimonial-slider .slick-dots li button {
    width: 100%;
    height: 2px;
    padding: 0;
    background: #ffffff;
    opacity: 1;
    display: block;
    position: static;
}

.testimonial-slider .slick-dots li button:before {
    display: none;
}

.testimonial-slider .slick-dots li.slick-active {
    width: 48px;
    transition: all 0.3s ease-in-out;
}
.testimonial-slider .slick-dots li.slick-active button {
    background: #d8a52f;
    transition: all 0.3s ease-in-out;
}
body.page .testimonial-slider button.slick-arrow.slick-disabled {
    opacity: 0;
}
.testimonial-section > .kt-inside-inner-col:after {
    content: "";
    transition: all .3s ease-in-out;
    background-image: url('https://krekura.com/build/derocco/wp-content/uploads/2026/06/blue-circle-bg.svg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-blend-mode: overlay;
    content: "";
    opacity: 1;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: -1;
    transition: all .3s ease-in-out;
}
.testimonial-slider .kb-query-grid-wrap .slick-slide > .wp-block-kadence-column , .testimonial-slider .kb-query-grid-wrap .slick-slide > .wp-block-kadence-column > .kt-inside-inner-col {
    height: 100%;
}

.testimonial-slider .kb-query-grid-wrap .slick-slide > .wp-block-kadence-column > .kt-inside-inner-col {
    display: flex;
    justify-content: flex-start;
}

.testimonial-slider .kb-query-grid-wrap .slick-slide > .wp-block-kadence-column > .kt-inside-inner-col .review-info {
    margin-top: auto;
}


/* About us page */
.page-id-1013 footer .site-top-footer-wrap {
    display: none;
}
.advisory-card {
    height: 100%;
    justify-content: center;
}
.advisory-name {
    height: 72px;
    width: 72px;
    display: flex;
    align-items: center;
    overflow: hidden;
    justify-content: center;
}

.nav-list ul.kt-svg-icon-list {
    display: flex;
}

body.page .nav-list ul.kt-svg-icon-list {
    padding: 0;
    display: flex !important;
    overflow-x: scroll;
    flex-wrap: nowrap !important;
    -webkit-user-drag: auto;
}
.nav-list ul.kt-svg-icon-list::-webkit-scrollbar {
    width: 1px;              
    height: 1px;            
  }
  
.nav-list ul.kt-svg-icon-list::-webkit-scrollbar-track {
    background: #fff;      
    border-radius: 5px;       
}
  
.nav-list ul.kt-svg-icon-list::-webkit-scrollbar-thumb {
    background: var(--global-palette2);         
    border-radius: 5px;      
    border: 3px solid #f1f1f1; 
}
  

body.page .nav-list ul.kt-svg-icon-list li {
    display: block !important;
    flex-grow: 1;
}

body.page .nav-list ul.kt-svg-icon-list .kt-svg-icon-list-single {
    display: none !important;
}

body.page .nav-list ul.kt-svg-icon-list li.wp-block-kadence-listitem a {
    padding: 16px 20px;
    border-bottom: 4px solid transparent;
    display: block;
    text-align: center;
    white-space: nowrap;
}

body.page .nav-list ul.kt-svg-icon-list li.wp-block-kadence-listitem.active a.kt-svg-icon-link {
    border-color: var(--global-palette2);
    color: var(--global-palette15);
}

.leadership-card {
    height: 100%;
}

.leadership-card .kt-inside-inner-col {
    display: flex;
    flex-direction: column;
}


.page-id-1197 footer .site-top-footer-wrap {
    display: none;
}
.page-id-1246 .site-top-footer-wrap {
    display: none;
}
.donate-form iframe{
    border: none !important;
    width: 810px;
    border: none;
    padding: 0;
    height: 350px;
}
.individual-card .kt-inside-inner-col {
    display: flex;
    flex-direction: column;
}
.entry.single-entry{
	box-shadow: none;
}



@media (min-width: 768px) and (max-width: 1200px){
    
    footer .site-top-footer-wrap .kb-row-layout-idblock-11_12bc7f-2f > .kt-row-column-wrap {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
}
@media (min-width: 1200px){
    
    .aboutmission-section > .kt-inside-inner-col:before {
        background-size: 50% !important ;
        background-position: -30% 30% !important;
    }
}
@media (max-width: 1199px){
    .apply-service .wp-block-kadence-infobox .kt-blocks-info-box-media-container{
        text-align: center;
        margin: 0 auto;
        max-width: 70px;
    }
    .apply-service .wp-block-kadence-infobox .kt-blocks-info-box-media-container .kt-blocks-info-box-media {
        margin: 0 auto 10px;
    }
    .testimonial .logo-icon {
        width: 70px;
    }
    body.page .testimonial-slider ul.kb-query-grid-wrap {
        margin-left: -15px;
        margin-right: -15px;
    }
    .testimonial-slider .kb-query-grid-wrap .slick-slide {
        padding: 10px 15px;
    }
    .testimonial .quote-img {
        right: 30px;
    }
    .form-height{
        height: 750px !important;
    }
}
@media (max-width: 767px){
    .mb-full-btn .kb-button{
        width: 100% !important;
    }
    .wp-block-kadence-iconlist ul.kt-svg-icon-list .kt-svg-icon-list-item-wrap .kt-svg-icon-list-single {
        margin-top: 2px;
    }
    

    /* Global css */
    body.page .mb-gradient >.kt-inside-inner-col:before {
        opacity: 1;
    }
    
    .form-height{
        height: 550px !important;
		height: 380px !important;
		
    }
    
}
/* Block CSS end */

/* ==========================================================================
   Side gutters near the content max width (1408px)
   Rows pad themselves with --global-content-edge-padding (1rem) inside 20px
   section padding, which left content ~36px (or less) from the screen edge
   between roughly 1350px and 1470px. Ease the padding up to 28px when space is
   tight so content keeps a ~48px gutter, then back to 1rem once there is room.
   ========================================================================== */
@media (min-width: 1025px) {
    :root {
        --global-content-edge-padding: clamp(1rem, calc(752px - 50vw), 28px);
    }

    .df-program-timeline .df-program-timeline__wrap {
        box-sizing: border-box;
        padding-left: var(--global-content-edge-padding);
        padding-right: var(--global-content-edge-padding);
    }
}

/* ==========================================================================
   Background motion (assets/js/derocco-motion.js)
   The script copies gear / cross-grid backgrounds into these layers, then hides
   the original background with the *-off classes.
   ========================================================================== */
.dr-motion-host {
    isolation: isolate;
}

.dr-motion-layer {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: -2;
}

.dr-motion-layer--overlay {
    z-index: -1;
}

.dr-motion-layer .dr-gear,
.dr-motion-layer .dr-crosses {
    position: absolute;
    max-width: none;
    display: block;
}

.dr-motion-layer .dr-gear {
    transform-origin: 50% 50%;
    will-change: transform;
}

.dr-motion-layer .dr-crosses path {
    opacity: 0;
    transition: opacity 0.8s ease;
}

.dr-motion-layer .dr-crosses.is-revealed path {
    opacity: 1;
}

.dr-motion-host.dr-bg-own-off {
    background-image: none !important;
}

.dr-motion-host.dr-bg-overlay-off::before {
    background-image: none !important;
}

/* Square grid (Grid.svg): rebuilt as real lines that draw in behind one diagonal wavefront
   from the bright bottom-right corner. derocco-motion.js drives stroke-dashoffset per frame
   (pathLength=1 on each line, so a 1-unit dash hides/shows it); no CSS transition here. */
.dr-motion-layer .dr-grid-lines {
    position: absolute;
    max-width: none;
    display: block;
    overflow: visible;
}

.dr-motion-layer .dr-grid-line {
    stroke-dasharray: 1 1;
    stroke-dashoffset: 1;
}

/* Line patterns: each line draws itself in. */
.dr-motion-layer .dr-lines {
    position: absolute;
    max-width: none;
    display: block;
}

.dr-motion-layer .dr-lines .dr-line {
    transition: stroke-dashoffset 1.8s cubic-bezier(0.45, 0, 0.2, 1);
}

.dr-motion-layer .dr-lines.is-revealed .dr-line {
    stroke-dashoffset: 0 !important;
}

/* Mentor / mentee pairings table (blog: "Mentorship: Where Experience Meets Opportunity"). */
.wp-block-table.dr-mentor-pairs table {
    border-collapse: collapse;
    border: 1px solid rgba(4, 88, 125, 0.18);
}

.wp-block-table.dr-mentor-pairs th,
.wp-block-table.dr-mentor-pairs td {
    border: 0;
    border-bottom: 1px solid rgba(4, 88, 125, 0.14);
    padding: 16px 20px;
    vertical-align: top;
    text-align: left;
}

.wp-block-table.dr-mentor-pairs thead {
    border-bottom: 0;
}

.wp-block-table.dr-mentor-pairs th {
    background: var(--global-palette10, #e8f4fa);
    font-family: "Poppins", sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--global-palette11, #04587d);
}

.wp-block-table.dr-mentor-pairs td strong {
    color: var(--global-palette1, #023047);
}

.wp-block-table.dr-mentor-pairs td + td,
.wp-block-table.dr-mentor-pairs th + th {
    border-left: 1px solid rgba(4, 88, 125, 0.14);
}

@media (max-width: 767px) {
    .wp-block-table.dr-mentor-pairs th,
    .wp-block-table.dr-mentor-pairs td {
        padding: 12px 12px;
        font-size: 14px;
    }
}

/* Logo dot (derocco-motion.js): an inline copy of the logo sits exactly over the <img>
   (kept in place for layout) with the dot as its own shape. */
.dr-logo-svg {
    position: absolute;
    pointer-events: none;
    overflow: visible;
}

.dr-logo-img-hidden {
    opacity: 0 !important;
}

.dr-logo-dot {
    transform-box: fill-box;
    transform-origin: 50% 100%;
}

/* Header, on load: the dot drops in like a period being stamped on, with a little bounce. */
.dr-logo-dot.is-dropping {
    animation: dr-dot-drop 950ms cubic-bezier(0.3, 0, 0.3, 1) 350ms both;
}

/* Footer: hidden until the logo scrolls into view, then it drops in. */
.dr-logo-dot.is-waiting {
    opacity: 0;
}

/* On hover: a quick hop with a squash on landing. */
.dr-logo-dot.is-hopping {
    animation: dr-dot-hop 560ms cubic-bezier(0.3, 0, 0.3, 1);
}

@keyframes dr-dot-drop {
    0% { transform: translateY(-320%); opacity: 0; }
    25% { opacity: 1; }
    42% { transform: translateY(0) scale(1.25, 0.72); }
    58% { transform: translateY(-70%) scale(0.9, 1.1); }
    74% { transform: translateY(0) scale(1.1, 0.88); }
    86% { transform: translateY(-16%) scale(1, 1); }
    100% { transform: translateY(0) scale(1, 1); }
}

@keyframes dr-dot-hop {
    0% { transform: translateY(0) scale(1, 1); }
    18% { transform: translateY(0) scale(1.15, 0.82); }
    50% { transform: translateY(-150%) scale(0.92, 1.1); }
    78% { transform: translateY(0) scale(1.18, 0.8); }
    90% { transform: translateY(-10%) scale(1, 1); }
    100% { transform: translateY(0) scale(1, 1); }
}

/* Home: the Questions (FAQ) section's tinted background started with a hard edge right under
   the white "Partners in the Work" section. Fade the tint in over the first ~220px instead.
   (Targets the Home FAQ section by its Kadence ID.) */
.kadence-column32_990e1f-24 > .kt-inside-inner-col {
    isolation: isolate;
}

.kadence-column32_990e1f-24 > .kt-inside-inner-col::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 220px;
    background: linear-gradient(to bottom, #fff 0%, rgba(255, 255, 255, 0) 100%);
    pointer-events: none;
    z-index: -1;
}

/* Small details: cards lift slightly on hover. */

/* Cards lift slightly on hover (not for reduced motion or touch screens). */
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    /* body + li: outranks Kadence's own query-item transition so the shadow eases too. */
    .dr-person,
    body .leadership-loop li.kb-query-item,
    body .advisory-loop li.kb-query-item {
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    .dr-person:hover,
    .leadership-loop .kb-query-item:hover,
    .advisory-loop .kb-query-item:hover {
        transform: translateY(-4px);
        box-shadow: 0 18px 40px rgba(2, 48, 71, 0.1);
    }
}

/* Home, Emily Stover section: her quote. The opening mark hangs in the margin so the words
   align with the text below; an attribution line sits under the quote, above the accent bar. */
.dr-honor-quote {
    text-indent: -0.36em;
}

/* The accent bar's spacer normally pulls itself up under the heading (-32px); after the
   attribution it should just sit below it. */
.dr-honor-attribution + .wp-block-kadence-spacer {
    margin-top: 0 !important;
}

/* Phones: no hang, so the opening mark doesn't crowd the screen edge. */
@media (max-width: 767px) {
    .dr-honor-quote {
        text-indent: 0;
    }
}

.entry-content p.dr-honor-attribution {
    margin: 2px 0 16px;
    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--global-palette11, #04587d);
}

/* Get Involved: "Five Ways to Make an Impact" cards (.path-card) link down to their sections. */
.path-card .info-box-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.path-card .info-box-link .kt-blocks-info-box-title {
    margin-bottom: 0;
}

.path-card .info-box-link:focus-visible {
    outline: 2px solid var(--global-palette11, #04587d);
    outline-offset: 3px;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .wp-block-kadence-infobox.path-card .info-box-link {
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    .wp-block-kadence-infobox.path-card .info-box-link:hover {
        transform: translateY(-4px);
        box-shadow: 0 18px 40px rgba(2, 48, 71, 0.1);
    }
}

/* Tablet and phone: compact rows, icon left and title right. */
@media (max-width: 1024px) {
    .wp-block-kadence-infobox.path-card .info-box-link {
        flex-direction: row;
        justify-content: flex-start;
        gap: 16px;
        padding: 14px 18px;
        text-align: left;
    }

    .path-card .info-box-link .kt-blocks-info-box-media-container {
        flex: 0 0 auto;
        margin: 0;
    }

    .path-card .info-box-link .kt-blocks-info-box-media.kt-blocks-info-box-media {
        height: 52px;
        width: 52px;
        margin: 0;
        padding: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .path-card .info-box-link .kt-blocks-info-box-media.kt-blocks-info-box-media img {
        height: 32px;
        width: 32px;
    }

    .path-card .info-box-link .kt-infobox-textcontent {
        text-align: left;
    }

    .path-card .info-box-link .kt-blocks-info-box-title {
        margin: 0;
    }

    .path-card .kt-blocks-info-box-title br {
        display: none;
    }

    /* Every row the same height, whether the title takes one line or two. */
    body .wp-block-kadence-rowlayout.kb-row-layout-id1197_5ff429-df > .kt-row-column-wrap {
        grid-auto-rows: 1fr;
    }
}

/* Apply page (1454): eligibility and requirements card where the old web form was. */
.dr-apply-card {
    counter-reset: dr-apply-step;
}

.entry-content .dr-apply-card .dr-apply-title {
    font-size: 32px;
    line-height: 1.2;
    margin: 0 0 10px;
}

.entry-content .dr-apply-card .dr-apply-intro {
    margin: 0 0 40px;
}

.entry-content .dr-apply-card .dr-apply-step {
    counter-increment: dr-apply-step;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 20px;
    line-height: 1.3;
    margin: 40px 0 16px;
    padding-bottom: 10px;
    border-bottom: 2px solid #ffcc4e;
}

.entry-content .dr-apply-card .dr-apply-intro + .dr-apply-step {
    margin-top: 0;
}

.dr-apply-card .dr-apply-step::before {
    content: counter(dr-apply-step);
    flex: 0 0 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--global-palette1, #023047);
    color: #ffcc4e;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 800;
}

.entry-content .dr-apply-card .dr-apply-step + p {
    margin: 0 0 12px;
}

.entry-content ul.dr-check-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.entry-content ul.dr-check-list li {
    position: relative;
    margin: 0 0 10px;
    padding-left: 30px;
}

.entry-content ul.dr-check-list li:last-child {
    margin-bottom: 0;
}

.entry-content ul.dr-check-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.3em;
    width: 18px;
    height: 18px;
    background: no-repeat center / 18px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2304587d' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}

.dr-apply-card .dr-apply-cta {
    margin-top: 44px;
}

.entry-content .dr-apply-card .dr-apply-note {
    margin: 12px 0 0;
    font-size: 14px;
    color: #606058;
}

/* 404 page: derocco-motion.js wraps the "0" of the 404 heading and adds the logo's yellow dot,
   centred in the hole of the 0 (measured for Poppins Bold: hole centre 0.322em in, 0.382em up). */
.dr-404-zero {
    position: relative;   /* stays inline so the heading keeps its exact height */
}

.dr-404-dot {
    position: absolute;
    left: calc(0.322em - 0.065em);
    top: calc(1.05em - 0.382em - 0.065em);   /* inline box top = baseline minus Poppins ascent (1.05em) */
    width: 0.13em;
    height: 0.13em;
    display: block;
}

.dr-404-dot-inner {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: #ffcc4e;
    transform-origin: 50% 100%;
}

@media (prefers-reduced-motion: no-preference) {
    /* Falls in from above with the logo dot's bounce, then glances around every few seconds. */
    .dr-404-zero.is-dropping .dr-404-dot {
        transform-origin: 50% 100%;
        animation: dr-404-drop 1100ms cubic-bezier(0.3, 0, 0.3, 1) 300ms both;
    }

    .dr-404-zero.is-dropping .dr-404-dot-inner {
        animation: dr-404-look 6s ease-in-out 2.2s infinite;
    }

    .dr-404-zero .dr-404-dot-inner.is-hopping {
        animation: dr-404-hop 560ms cubic-bezier(0.3, 0, 0.3, 1);
    }
}

@keyframes dr-404-drop {
    0% { transform: translateY(-900%); opacity: 0; }
    20% { opacity: 1; }
    42% { transform: translateY(0) scale(1.3, 0.7); }
    58% { transform: translateY(-110%) scale(0.9, 1.1); }
    74% { transform: translateY(0) scale(1.12, 0.86); }
    86% { transform: translateY(-25%) scale(1, 1); }
    100% { transform: translateY(0) scale(1, 1); }
}

@keyframes dr-404-look {
    0%, 58% { transform: translate(0, 0); }
    64%, 70% { transform: translate(-30%, -40%); }
    77%, 83% { transform: translate(30%, -40%); }
    90%, 100% { transform: translate(0, 0); }
}

@keyframes dr-404-hop {
    0% { transform: translateY(0) scale(1, 1); }
    18% { transform: translateY(0) scale(1.15, 0.82); }
    50% { transform: translateY(-150%) scale(0.92, 1.1); }
    78% { transform: translateY(0) scale(1.18, 0.8); }
    90% { transform: translateY(-10%) scale(1, 1); }
    100% { transform: translateY(0) scale(1, 1); }
}

/* ── Get Involved: "Join Email List" opens an inline signup (Gravity Form 1 → MailerLite "Individuals") ── */
.dr-signup { max-width: 560px; margin-top: 24px; }
.dr-signup.is-collapsed { display: none; }
.dr-signup .gfield_label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.dr-signup.subscribe-form form .gform-footer input[type="submit"] { background: #ffcc4e !important; color: #023047 !important; min-width: 150px; }
.dr-signup.subscribe-form form .gform-footer input[type="submit"]:hover { background: #ffe08a !important; }
.dr-signup .gform_validation_errors { display: none; }
.dr-signup .gfield_validation_message { margin-top: 8px !important; padding: 0 !important; border: 0 !important; background: none !important; color: #ffcc4e !important; font-size: 14px; }
.dr-signup .gform_confirmation_message { color: #fff; font-size: 18px; font-weight: 600; }
.dr-signup .dr-signup-note { margin-top: 10px; color: rgba(255, 255, 255, 0.7); font-size: 14px; }
@media (max-width: 767px) {
  .dr-signup.subscribe-form form .ginput_container { margin-bottom: 12px; }
}
@media (prefers-reduced-motion: no-preference) {
  .dr-signup.is-open { animation: dr-signup-in 320ms ease-out both; }
  @keyframes dr-signup-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
}

/* ── Donate page: Give Lively form card (hero), photo crop ── */
.dr-give-col > .kt-inside-inner-col { width: 100%; }
.dr-give-card { width: 100%; max-width: 460px; margin: 0 auto; padding: 28px 26px 22px; background: #fff; box-shadow: -12px 12px 0 #023047; scroll-margin-top: 120px; }
.dr-give-card .dr-give-title { margin: 0 0 6px; font-size: 26px; line-height: 1.2; color: #023047; }
.dr-give-card .dr-give-intro { margin: 0 0 14px; font-size: 15px; line-height: 1.5; color: #606058; }
.dr-give-card #give-lively-widget { display: block; width: 100%; }
.dr-give-card .dr-give-note { display: flex; gap: 8px; align-items: flex-start; margin: 12px 0 0; font-size: 13px; line-height: 1.45; color: #606058; }
.dr-give-card .dr-give-note svg { flex: 0 0 auto; margin-top: 2px; color: #04587d; }
.kb-image1246_9f2788-1e img { object-position: 78% 40%; }
@media (max-width: 767px) {
  .dr-give-card { padding: 22px 16px 16px; box-shadow: -8px 8px 0 #023047; scroll-margin-top: 90px; }
  .dr-give-card .dr-give-title { font-size: 22px; }
  .dr-give-jump { display: none !important; }
}
