
/* ========================================
   DLI Custom Styles
   ======================================== */

/* Intro paragraph for web pages */

.page-intro {
  font-size: 1rem;
  word-spacing: 4px;
}


/* Green Bullet Lists */

.contentarea ul.bullets-green {
    list-style-type: disc !important;
    list-style-position: inside !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}

.contentarea ul.bullets-green li {
    display: list-item;
    list-style-type: disc !important;
    background-image: none !important;
    color: #595959;
}

.contentarea ul.bullets-green li::before {
    content: none !important;
}

.contentarea ul.bullets-green li::marker {
    font-size: 12px;
    color: #8CC000;
}

/* Reduce spacing between headings and bullet lists */
.contentarea h5:has(+ ul.bullets-green) {
    margin-bottom: 5px;
}

.contentarea h5 + ul.bullets-green {
    margin-top: 0 !important;
}


/* ==========================================
   DLI Contact Inquiry Form
   ========================================== */

   
.dli-inquiry {
    margin: 0 0 10px;
}

.dli-inquiry h2 {
    margin-bottom: 20px;
}

.dli-inquiry > p {
    margin-bottom: 12px;
    line-height: 1.6;
}

/* Required fields note */

.dli-required-note {
    margin: 20px 0 15px;
    font-size: 13px;
    color: #666;
}

/* Two-column layout */

.dli-form-columns {
    display: flex;
    gap: 35px;
    align-items: flex-start;
    margin-bottom: 20px;
}

.dli-form-column {
    flex: 1;
    min-width: 0;
}

/* Form fields */

.dli-form-field {
    margin-bottom: 20px;
}

.dli-form-field label {
    display: block;
    margin-bottom: 7px;
    font-size: 14px;
    font-weight: 600;
    color: #333;
}

.dli-form-field input,
.dli-form-field textarea {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 10px 12px;
    margin: 0;
    border: 1px solid #ccc;
    border-radius: 3px;
    background: #fff;
    color: #333;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.5;
}

.dli-form-field input {
    height: 42px;
}

.dli-form-field textarea {
    min-height: 130px;
    resize: vertical;
}

/* Shorten the Additional Details field */
#inquiry-details {
    min-height: 114px;
    height: 114px;
}

/* Focus states */

.dli-form-field input:focus,
.dli-form-field textarea:focus {
    border-color: #91c100;
    outline: 2px solid #91c100;
    outline-offset: 1px;
}

/* Privacy notice */

.dli-form-privacy {
    margin: 10px 0 20px;
    font-size: 13px;
    line-height: 1.5;
}

/* Submit button */

.dli-form-submit {
    display: inline-block;
    padding: 12px 25px;
    background: #616161;
    border: 1px solid #616161;
    border-radius: 3px;
    color: #fff;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
}

.dli-form-submit:hover {
    background: #91c100;
    border-color: #91c100;
}

.dli-form-submit:focus-visible {
    outline: 2px solid #333;
    outline-offset: 3px;
}

/* Mobile layout */

@media (max-width: 767px) {
    .dli-form-columns {
        flex-direction: column;
        gap: 0;
    }

    .dli-form-column {
        width: 100%;
    }

    .dli-form-submit {
        width: 100%;
        box-sizing: border-box;
    }
}


/* Contact form submission messages */

.dli-form-message {
    margin: 0 0 24px;
    padding: 16px 20px;
    border: 1px solid #d5d5d5;
    border-left: 4px solid #91c100;
    background-color: #f7f9f2;
    color: #333333;
    line-height: 1.6;
}

.dli-form-message[hidden] {
    display: none;
}

.dli-form-message strong {
    display: block;
    margin-bottom: 4px;
}

.dli-form-message.is-error {
    border-left-color: #b42318;
    background-color: #fff5f4;
}

.dli-form-submit:disabled {
    opacity: 0.65;
    cursor: wait;
}

/* Contact form spam protection */

.dli-honeypot {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* Explore DLI resource cards */
.dli-resource-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin: 30px 0 40px;
    clear: both;
}
.contentarea .dli-resource-card {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    min-width: 0;
    padding: 28px 24px;
    border: 1px solid #d5d5d5;
    border-top: 3px solid #91c100;
    border-radius: 3px;
    background: #fff;
    color: #454545;
    text-decoration: none;
    transition: border-color 180ms, box-shadow 180ms;
}
.contentarea .dli-resource-card:hover {
    border-color: #91c100;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    color: #454545;
    text-decoration: none;
}
.contentarea .dli-resource-card:focus {
    /* Override the legacy theme reset that removes all focus outlines. */
    outline: 3px solid #454545 !important;
    outline-offset: 4px;
    border-color: #91c100;
}
.dli-resource-card .dli-resource-card-icon {
    display: block;
    flex: 0 0 auto;
    width: 36px;
    height: 36px;
    margin-bottom: 20px;
    color: #91c100;
}
.dli-resource-card .dli-resource-card-font-icon {
    font-family: 'CoreIconsRegular';
    font-size: 36px;
    line-height: 36px;
}
.contentarea .dli-resource-card h2 {
    margin: 0 0 16px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    color: #454545;
}
.contentarea .dli-resource-card p {
    margin: 0 0 24px;
    font-size: 13px;
    line-height: 1.7;
    color: #454545;
}
.dli-resource-card .dli-resource-card-link {
    display: block;
    margin-top: auto;
    padding-top: 12px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.6;
    color: #454545;
    text-decoration: underline;
    text-decoration-color: #91c100;
    text-underline-offset: 4px;
}
.dli-resource-card-link span { color: #617f00; }
@media (max-width: 767px) {
    .dli-resource-cards {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
        margin-top: 24px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .contentarea .dli-resource-card { transition: none; }
}


/* AI Readiness document links: darker DLI green for contrast on white. */
.contentarea a.dli-ai-download {
    display: inline-block;
    padding: 6px 0;
    color: #617f00;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.contentarea a.dli-ai-download:hover {
    color: #454545;
    text-decoration: underline;
}
.contentarea a.dli-ai-download:focus {
    /* Override the legacy theme's global outline reset. */
    outline: 3px solid #454545 !important;
    outline-offset: 4px;
}
.dli-ai-download-note {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}


/* Inactive resource downloads retain link spacing without looking interactive. */
.contentarea .dli-download-placeholder {
    display: inline-block;
    padding: 6px 0;
    color: #616161;
    font-weight: 600;
}
.dli-download-placeholder .dli-download-coming-soon {
    font-size: 12px;
    font-weight: 400;
}


/* Main navigation: approved dropdown keyboard behavior across all pages. */
header nav ul.menu > li:focus-within > ul.sub-menu {
    display: block !important;
}
header nav a:focus,
header .mobile_menu a:focus,
header a.menu_toggler:focus {
    /* Override the legacy theme's global outline reset. */
    outline: 2px solid #91c100 !important;
    outline-offset: -3px;
}


/* Active desktop navigation: charcoal text on the existing green and texture. */
header nav ul.menu > li.current-menu-parent > a,
header nav ul.menu > li.current-menu-item > a,
header nav ul.menu > li.current-menu-parent > a:hover,
header nav ul.menu > li.current-menu-item > a:hover,
header nav ul.menu > li.current-menu-parent > a:focus,
header nav ul.menu > li.current-menu-item > a:focus,
header nav ul.menu > li.current-menu-parent > a span,
header nav ul.menu > li.current-menu-item > a span {
    color: #2c2c2c !important;
}


/* Accessible navigation for active site pages marked on the body. */
.dli-nav-accessible header nav ul.menu > li.dli-nav-dismissed > ul.sub-menu {
    display: none !important;
}
.dli-nav-accessible header button.menu_toggler {
    display: none;
    box-sizing: border-box;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    cursor: pointer;
    background: transparent url(../img/menu_btn.png) no-repeat;
}
.dli-nav-accessible header nav a:focus,
.dli-nav-accessible header .mobile_menu a:focus,
.dli-nav-accessible header .menu_toggler:focus {
    outline: 2px solid #fff !important;
    outline-offset: -4px;
    box-shadow: inset 0 0 0 2px #2c2c2c !important;
}
@supports selector(:focus-visible) {
    .dli-nav-accessible header nav a:focus:not(:focus-visible),
    .dli-nav-accessible header .mobile_menu a:focus:not(:focus-visible),
    .dli-nav-accessible header .menu_toggler:focus:not(:focus-visible) {
        outline: none !important;
        box-shadow: none !important;
    }
}
@media (max-width: 760px) {
    .dli-nav-accessible header button.menu_toggler {
        display: block;
        position: absolute;
        top: 7px;
        right: 0;
    }
}
@media (min-resolution: 2dppx) {
    .dli-nav-accessible header button.menu_toggler {
        background-image: url(../img/retina/menu_btn.png);
        background-size: 40px 40px;
    }
}
