:root {
    /* Container Width */
    --max-width: 1440px;

    /* Fonts */
    --font-primary: "Avenir Next W05";
    --font-awesome: "Font Awesome 6 Free";

    /* enhancements */
    font-synthesis: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

    /* Colors */
    --color-primary: #3399ff;
    --color-accent-1: #fc552e;
    --color-accent-2: #a90062;
    --color-accent-3: #25b276;
    --color-accent-4: #60248c;
    --color-accent-5: #1fbcd5;
    --color-dark: #393e41;
    --color-gray: #d3d3d3;
    --color-light: #fff;
    --color-neutral: #f5f5f5;
    --color-yellow: #ecca1a;

    /* --top-countdown: var(--color-accent-1); */

    interpolate-size: allow-keywords; /* Used for animating height auto property */
}

/* Scrollbar
==================================================*/
::-webkit-scrollbar-track {
    background-color: var(--color-#fff);
    border-radius: 0;
}
::-webkit-scrollbar-thumb {
    background-color: var(--color-primary);
    border-radius: 0;
}
::-webkit-scrollbar-thumb:hover {
    background-color: #45494d;
}
::-webkit-scrollbar {
    width: 0.45rem;
    height: 0.45rem;
}

/* CSS Reset */
*,
*::before,
*::after {
    margin: 0;
    border: 0;
    padding: 0;
    box-sizing: border-box !important;
}

/* Fonts */
@font-face {
    font-family: "Avenir Next W05";
    src: url("../fonts/5226623/a7d3bd64-119b-40ad-985c-a50776f2ae49.eot?#iefix");
    src: url("../fonts/5226623/a7d3bd64-119b-40ad-985c-a50776f2ae49.eot?#iefix") format("eot"), url("../fonts/5226623/9851da0a-2481-4687-bbeb-ed4ab170dc38.woff2") format("woff2"), url("../fonts/5226623/cebce072-9561-4c6d-8c89-f0cefec63289.woff") format("woff"), url("../fonts/5226623/8d00a64e-2d77-46b1-8804-6012868d61c9.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: "Avenir Next W05";
    src: url("../fonts/5199694/33b5fc3f-3be1-45d1-bc29-6a9286da6f8e.eot?#iefix");
    src: url("../fonts/5199694/33b5fc3f-3be1-45d1-bc29-6a9286da6f8e.eot?#iefix") format("eot"), url("../fonts/5199694/750e110a-c47f-4c8f-829a-b56cc20cc51d.woff2") format("woff2"), url("../fonts/5199694/f3420df8-1310-4059-9207-e82b1c9dd3a5.woff") format("woff"), url("../fonts/5199694/9d614368-aa4e-48a6-856a-c89ac91e6a35.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
}
h1 {
    font-size: 48px;
    font-weight: 700;
    line-height: 1;
    color: #000;
}
h2 {
    font-size: 36px;
    font-weight: 700;
    line-height: 1.25;
    color: #000;
}
h2.special {
    font-size: 60px;
}
#mainNavigation .topnavlist h3 {
    font-size: 28px;
    font-weight: 700;
    line-height: 1 !important;
    color: var(--color-dark);
}
#mainNavigation .topnavlist h4 {
    font-size: 24px;
    font-weight: 700;
    line-height: 1 !important;
}
p {
    font-size: 18px;
    line-height: 1.5 !important;
    padding: 0.45em 0; /* hot fix for paragraph styles */
    text-wrap: balance;
}

/* Utility */
.container {
    width: 100%;
    max-width: var(--max-width);
    margin: 0 auto;
}

/* Buttons */
.btn {
    display: inline-block;
    font-family: var(--font-primary);
    font-weight: 500;
    color: #fff;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    user-select: none;
    padding: 0.375rem 1rem;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: 0.375rem;
    border: 1px solid transparent;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    cursor: pointer;
}
.btn:hover,
.btn:focus {
    text-decoration: none;
}
.btn:focus {
    box-shadow: 0 0 0 0.25rem rgba(0, 123, 255, 0.25); /* Default focus shadow, can be customized in each type */
}
.btn:disabled,
.btn.disabled {
    opacity: 0.65;
    pointer-events: none;
}
/* Primary button styles */
.btn-primary {
    background-color: var(--color-yellow);
    border-color: var(--color-yellow);
    color: #000;
}
.btn-primary:active,
.btn-primary:focus,
.btn-primary:hover {
    background-color: #d4b417;
    border-color: #d4b417;
}
/* Secondary button styles */
.btn-secondary {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: #fff !important;
}
.btn-secondary:active,
.btn-secondary:focus,
.btn-secondary:hover {
    background-color: #2876cc;
    border-color: #2876cc;
}
/* Tertiary */
.btn-tertiary {
    background-color: var(--color-neutral);
    border-color: var(--color-neutral);
    color: #000;
}

/* .btn-tertiary:active,
.btn-tertiary:focus,
.btn-tertiary:hover {
    border-width: 2px;
    background-color: transparent;
    border-color: var(--color-accent-4);
    color: var(--color-accent-4) !important;
} */

/* Button Link */
.btn-link {
    text-decoration: none;
}
.btn-link:hover {
    text-decoration: underline;
    text-underline-offset: 5px;
}
.btn-link i {
    transform: translateX(5px);
}
.btn-link:hover i {
    transition: 150ms transform ease-in-out;
    transform: translateX(8px);
}

/* Accessibility Overlay */
.overlay {
    position: relative;
    z-index: 1;
}
.overlay::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.2); /* Black with 50% opacity */
    z-index: -1;
}

/* Screen Reader */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    background-color: #000;
    color: #fff;
}

/*----------- LEADERBOARD AD -----------------------------------*/

.leaderboard {
    background-color: #979797;
    /*background: url("https://tdwi.org/design/TDWI/tdwi/2015/img/leaderboardBG.jpg") repeat-x 0 0 #979797;*/
    text-align: center;
    width: 100%;
    max-height: 108px;
    padding: 0;
    margin: 0;
    z-index: 2;
}

.leaderboard div.ad {
    max-width: 728px;
    width: 728px;
    padding: 0;
    margin: 0 auto;
}

.leaderboard div.ad a {
    text-decoration: none;
    display: block;
    max-width: 728px;
    width: 728px;
}

.leaderboard div.ad a img {
    margin: 0 auto;
}

/*----------- END LEADERBOARD AD -----------------------------------*/

body {
    font-family: var(--font-primary) !important;
}

/* Top Countdown */
#top-countdown {
    position: relative;
    padding: 1rem;
    background: url(/design/TDWI/Events/conferences/las-vegas/2025/img/dots-background-25.png) no-repeat center 25% / cover;
    background-color: #fff;
}
#top-countdown::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 6px;
    background: linear-gradient(to right, var(--color-accent-1) 0%, var(--color-accent-1) 20%, var(--color-accent-2) 20%, var(--color-accent-2) 40%, var(--color-accent-3) 40%, var(--color-accent-3) 60%, var(--color-accent-4) 60%, var(--color-accent-4) 80%, var(--color-accent-5) 80%, var(--color-accent-5) 100%);
}
#top-countdown .container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
}
#top-countdown p:first-of-type {
    font-size: 1.1rem;
    letter-spacing: 0.5px;
    line-height: 1.3;
    text-align: right;
    color: #000;
}
#top-countdown p > em {
    font-size: 0.9rem;
    font-weight: 700;
}
#top-countdown a {
    color: var(--color-primary);
    /* text-decoration: underline; */
}
#countdown-timer {
    border-radius: 5px;
    padding: 0.5rem 0.7rem;
    background-color: #f5f5f5;
    font-weight: 700;
    text-decoration: none;
    color: var(--color-dark);
}
#countdown-timer .dhms {
    color: #000;
}
#countdown-timer .live {
    color: red;
}
@media (max-width: 767px) {
    #top-countdown p:first-of-type {
        text-align: center;
    }
    #top-countdown .container {
        flex-direction: column;
        gap: 0.5rem;
    }
}

/* Utility Navigation */
#utility-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1.5rem;
    background-color: var(--color-dark);
}
#utility-nav .login-link-wrapper {
    a + a {
        margin-left: 1.5rem;
    }
    @media (max-width: 767px) {
        display: none;
    }
}
#utility-nav .socials {
    display: flex;
    gap: 1rem;
}
#utility-nav .socials img,
#utility-nav .links img {
    height: 30px;
    vertical-align: middle;
}
#utility-nav .socials img:hover,
#utility-nav .links img:hover {
    transition: 150ms transform ease-in-out;
    transform-origin: center;
    transform: scale(1.15);
}
#utility-nav .links {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}
#utility-nav .links a {
    color: #fff;
}
#utility-nav .links a:not(:has(img)):hover {
    transition: 150ms all ease-in-out;
    transform-origin: bottom;
    transform: translateY(-4px);
}
@media (max-width: 991px) {
    #utility-nav {
        flex-direction: column-reverse;
        gap: 1rem;
    }
}
@media (max-width: 767px) {
    #utility-nav .links {
        gap: 1rem;
    }
    #utility-nav .links a {
        /* font-size: 0.9rem; */
        text-wrap: balance;
        text-align: center;
    }
}

/* Search
==================================================*/
.search {
    display: none;
    width: 100%;
    max-width: 800px;
    position: absolute;
    z-index: 10000;
    top: 50%;
    left: 50%;
    transform: translateX(-50%, -50);
    border-radius: 0.25rem;
    padding: 1.5rem;
    background-color: var(--color-neutral);
    box-shadow: 0 0 0 9999px rgba(18, 18, 18, 0.5);

    @media (max-width: 991px) {
        width: 75%;
    }

    &.open {
        display: block;
        animation: searchFadeInFromTop 750ms cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
    }

    fieldset {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 1.5rem;

        label {
            font-size: 1.25rem;
            font-weight: 700;
        }
        input[type="text"] {
            width: 100%;
            font-family: inherit;
            font-size: 1.1rem;
            border-radius: 0.25rem;
            padding: 1rem 1.5rem;
            background-color: #fff !important;
            color: #000 !important;
        }

        .submit {
            display: inline-block;
            font-family: inherit;
            font-size: 1rem;
            /* font-weight: 700; */
            padding: 0.625rem 1.25rem;
            border-radius: 0.5rem;
            text-decoration: none;
            cursor: pointer;
            background-color: var(--color-primary);
            color: #fff;
            &:hover {
                background-color: #1a8cff;
            }
        }
    }

    .search-close {
        display: block;
        position: absolute;
        top: -12px;
        right: -12px;
        border-radius: 100%;
        background-color: var(--color-dark);
        box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;
        cursor: pointer;

        &:hover {
            background-color: #2d3133;
            transition: 333ms all ease;
        }

        i {
            padding: 0.5rem 0.65rem;
            font-size: 1.25rem;
            color: var(--color-light);
        }
    }
}

/* New Navigation
==================================================*/
/* Temporary */
.hide-nav-item-on-test {
    display: none !important;
}
.utilityNavigationMenu {
    display: none !important; /* hide real util nav */
}

/* Navigation - Remove hover functionality, keep visual styles */
.mainNavigationMenu {
    height: 83.5px;

    ul.topnavlist {
        z-index: 9999;
        position: relative;
        display: grid;
        grid-template-columns: 1fr auto auto auto auto auto auto;
        align-items: center;
        gap: 1.5rem;
        padding: 1rem 1.5rem;
        box-sizing: border-box;
        list-style-type: none;
        background-color: var(--color-light);

        &::after {
            content: "";
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 0.2rem;
            background: linear-gradient(to right, var(--color-primary), var(--color-primary));
            z-index: -1;
        }

        @media (max-width: 1200px) {
            gap: 1.25rem;
        }

        @media (max-width: 991px) {
            height: 83.5px;
            overflow: hidden;

            &.open {
                interpolate-size: allow-keywords;
                height: fit-content;
                animation: mobileNavHeight 333ms ease-out forwards !important;
            }

            grid-template-columns: 1fr auto auto;
            gap: 1rem;

            .nav-menu-level-1 {
                grid-column: 1 / -1;
                border-radius: 0.5rem;
                text-align: center;
                background-color: var(--color-neutral);
                cursor: pointer;

                &.active {
                    background-color: var(--color-primary);

                    & > a {
                        color: var(--color-light);
                    }

                    & > a.hasChild::after {
                        content: "\f057";
                        display: inline-block;
                        transform: rotateZ(90deg);
                    }
                }

                & > ul.open {
                    display: block;
                    width: 100%;
                    max-height: 35vh;
                    border-radius: 0 0 0.5rem 0.5rem;
                    padding: 1rem;
                    background-color: var(--color-neutral);
                    overflow-y: auto;
                    animation: mobileNavListHeight 333ms ease-out forwards !important;

                    & > * {
                        text-align: left;
                    }
                }
            }
            .nav-mobile-menu-toggle {
                order: 1;
            }
            .nav-think {
                order: 2;
                margin-top: 0.5rem;
            }
            .nav-train {
                order: 3;
            }
            .nav-engage {
                order: 4;
            }
            .nav-explore {
                order: 5;
                margin-bottom: 0.75rem;
            }
            .nav-search-button {
                margin: 0 0.75rem 0 0 !important;
                order: 0;
            }
        }

        .nav-logo {
            img {
                height: 45px;
            }
        }

        .nav-menu-level-1 {
            position: relative;

            /* // Default state - hidden */
            & > ul {
                display: none;
                opacity: 0;
                visibility: hidden;
            }

            & > a {
                margin-bottom: 1rem;
                font-size: 1.1rem;
                font-weight: 700;
                text-decoration: none;
                color: #000;
                line-height: calc(83.5px - 2rem);

                @media (max-width: 991px) {
                    line-height: calc(83.5px - 2.25rem);
                }
            }

            & > a.hasChild::after {
                content: "\f13a";
                font-family: var(--font-awesome);
                font-weight: 900;
                margin-left: 0.5rem;
                color: var(--color-gray);
                transition: transform 333ms ease;
            }

            /* // Desktop positioning and styling */
            @media (min-width: 992px) {
                & > ul {
                    position: absolute !important;
                    top: 3rem !important;
                    right: -1rem !important;
                    z-index: 10000 !important;
                }

                /* // Show state (controlled by JS) - includes sticky */
                &.sticky {
                    & > ul {
                        display: inline-block;
                        opacity: 1;
                        visibility: visible;
                        animation: fadeInFromBottom 1000ms cubic-bezier(0.075, 0.82, 0.165, 1) forwards;
                    }

                    & > a.hasChild::after {
                        content: "\f057";
                        display: inline-block;
                        transform: rotateZ(90deg);
                        color: var(--color-dark);
                    }
                }
            }

            /* // Level 1 Menu styling (same as before) */
            > ul {
                width: 450px;
                max-height: 66vh;
                padding: 1.5rem;
                background-color: var(--color-neutral);
                box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
                overflow-y: auto;

                &::-webkit-scrollbar-thumb {
                    background-color: var(--color-dark);
                }
                &::-webkit-scrollbar-thumb:hover {
                    background-color: #2d3133;
                }

                /* // Adjust Desktop Nav Width Before Mobile Menu Appears */
                @media (max-width: 1200px) {
                    width: 325px;
                }

                @media (max-width: 991px) {
                    width: 100%;
                    position: static !important;
                    top: auto !important;
                    left: auto !important;
                    transform: none !important;
                    z-index: auto !important;
                    opacity: 1 !important;
                    visibility: visible !important;
                    transition: none !important;
                }

                /* // All the existing nested styles remain the same... */
                > li {
                    list-style-type: none;

                    &.no-link > a {
                        pointer-events: none;

                        &::after {
                            display: none;
                        }
                    }

                    > a {
                        display: block;
                        margin-bottom: 0.75rem;
                        font-size: 1.1rem;
                        font-weight: 700;
                        line-height: unset;
                        text-decoration: none;
                        color: #000;

                        &:hover {
                            &::after {
                                display: inline-block;
                                transform: translateX(0.25rem);
                            }
                        }

                        &::after {
                            content: "\f101";
                            font-family: var(--font-awesome);
                            font-size: 0.85rem;
                            font-weight: 900;
                            margin-left: 0.33rem;
                            color: inherit;
                            transition: transform 333ms ease;
                        }

                        &:hover {
                            text-decoration: underline;
                        }
                    }

                    ul {
                        li {
                            margin-top: 0.75rem;
                            margin-left: 1.5rem;
                            list-style-type: disc;

                            &:first-of-type {
                                margin-top: 0 !important;
                            }

                            a {
                                width: 100%;
                                display: block;
                                font-weight: 500;
                                font-size: 1rem;
                                line-height: 1.5;
                                text-decoration: none;
                                color: var(--color-dark);

                                & > .nav-subheading {
                                    display: block;
                                    font-weight: 500 !important;
                                    color: var(--color-dark) !important;
                                }

                                & > span:not(.type) {
                                    font-weight: 400;
                                    color: var(--color-primary);
                                }

                                & > .type {
                                    font-weight: 600;
                                    &::after {
                                        content: ":";
                                    }
                                }

                                + .displayDate {
                                    pointer-events: none;
                                    display: block;
                                    margin-top: 0.3rem;
                                    font-weight: 400;
                                    color: var(--color-primary);
                                }

                                &:hover {
                                    text-decoration: underline;
                                }
                            }
                        }
                    }

                    & + .nav-item-category {
                        margin-top: 0.5rem;
                    }
                }

                > li:not(:first-of-type) a.hasChild {
                    margin-top: 1.5rem;
                }

                .nested-nav {
                    .subMenuHeader {
                        display: none;
                    }
                    img {
                        display: none;
                    }
                }

                .train-nav-footer {
                    display: none;
                }
            }
        }

        /* // Rest of the navigation styles remain the same... */
        .nav-cta-button {
            @media (max-width: 991px) {
                display: none;
            }
        }

        .nav-search-button {
            margin-left: -0.5rem;

            @media (max-width: 1200px) {
                margin-left: -0.75px;
            }
            @media (max-width: 991px) {
                margin-right: -0.5rem;
                margin-left: unset;
            }

            i {
                font-size: 1.3rem;
                color: var(--color-dark);
            }
        }

        .nav-mobile-menu-toggle {
            @media (min-width: 992px) {
                display: none;
            }

            #mobile-menu-toggle {
                display: block;
                width: 26px;
                height: 22px;
                position: relative;
                cursor: pointer;
                background-color: transparent;

                &.open {
                    span {
                        &:nth-child(1) {
                            top: 50%;
                            transform: translateY(-50%) rotate(45deg);
                        }
                        &:nth-child(2) {
                            opacity: 0;
                        }
                        &:nth-child(3) {
                            bottom: 50%;
                            transform: translateY(50%) rotate(-45deg);
                        }
                    }
                }

                span {
                    display: block;
                    width: 100%;
                    height: 3px;
                    position: absolute;
                    left: 0;
                    border-radius: 0.5rem;
                    background-color: var(--color-dark);
                    transition: 333ms all cubic-bezier(0.175, 0.885, 0.32, 1.275);
                    pointer-events: none;

                    &:nth-child(1) {
                        top: 0;
                    }
                    &:nth-child(2) {
                        top: 50%;
                        transform: translateY(-50%);
                    }
                    &:nth-child(3) {
                        bottom: 0;
                    }
                }
            }
        }
    }
}
/* END New Navigation */

/* Search */
/* .searchContainer {
    background: #393e41 url(/design/TDWI/tdwi/2017/img/search_icon_white.png) no-repeat scroll 10px center;
    display: none;
    overflow: hidden;
    padding-left: 30px;
    border-bottom: 1px solid #fff;
}
.search {
    width: 80%;
    float: left;
}
.search fieldset {
    border: 0 none;
    padding: 0;
    margin: 0.5em 0;
    outline: medium none;
}
.search fieldset input[type="text"] {
    background: #393e41 none repeat scroll 0 0;
    border: 0 none;
    color: #ffffff;
    content: "Search";
    font-size: 100%;
    height: 20px;
    margin: 0;
    padding: 0.5em;
    width: 80%;
}
.search .submit {
    display: none;
} */

/* Hero CTA */
#hero-cta {
    position: relative;
    border-bottom: 1px solid #393e41;
}
#hero-cta #year-badge {
    position: absolute;
    right: 15px;
    bottom: 15px;
    width: 125px;
    aspect-ratio: 1/1;
    z-index: 9899;
}
#hero-cta .cta-slides {
    width: 100%;
    height: 700px;
    margin-bottom: 0 !important; /* remove slick dots offset */
}
#hero-cta .cta-slides .cta-slide {
    /* max-width: var(--max-width); */
    height: 700px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-color: var(--color-accent-3);
    transition: 250ms background-image ease-in-out;
}

/* Slide 1 */
#hero-cta .cta-slides .cta-slide:nth-child(1) {
    background-image: url("https://tdwi.org/~/media/TDWI/images/Web/Hero/sd25conferencebackground.webp");
}
#hero-cta .cta-slides .cta-slide:nth-child(1) > img {
    height: 100px;
}

/* Slide 2 */
#hero-cta .cta-slides .cta-slide:nth-child(2) {
    background-image: url("https://tdwi.org/~/media/TDWI/images/Web/Hero/sd25summitbackground.webp");
}
#hero-cta .cta-slides .cta-slide:nth-child(2) > img {
    height: 125px;
}

/* Slide 3 (moved to 4) */
#hero-cta .cta-slides .cta-slide:nth-child(4) {
    background-image: url("https://tdwi.org/~/media/TDWI/images/Web/Hero/sd25circledots1.webp");
}
#hero-cta .cta-slides .cta-slide:nth-child(4) > h1 {
    color: var(--color-accent-4);
}
#hero-cta .cta-slides .cta-slide:nth-child(4) > h2 {
    color: #000;
}

/* Slide 4 (moved to 3) - WEBINAR */
#hero-cta .cta-slides .cta-slide:nth-child(3) {
    background-image: url("https://tdwi.org/~/media/TDWI/TDWI 2026/assets/images/webinars/webinars_hero.webp");
}
#hero-cta .cta-slides .cta-slide:nth-child(3) > h1 {
    margin-bottom: 1rem;
    /* text-decoration: underline; */
    /* color: var(--color-accent-4); */
    color: #fff;

    @media (max-width: 767px) {
        margin-bottom: 1rem;
    }
}
#hero-cta .cta-slides .cta-slide:nth-child(3) > h2 {
    max-width: 1200px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    margin-bottom: 3.5rem;

    @media (max-width: 767px) {
        grid-template-columns: 1fr;
        gap: 1rem;
        margin-bottom: 1.5rem !important;
    }
}
#hero-cta .cta-slides .cta-slide:nth-child(3) p {
    font-size: 1.8rem;
    font-weight: 500;
    text-align: left;
    color: #000;

    @media (max-width: 767px) {
        font-size: 1rem;
    }

    span {
        display: block;
        font-size: 1.2rem;
        font-weight: 700;
        color: #fff;

        @media (max-width: 767px) {
            font-size: 0.85rem;
        }
    }
}

#hero-cta .cta-slide {
    position: relative;
    padding: 1rem;
    text-align: center;
}
#hero-cta .cta-slide > * {
    max-width: var(--max-width);
}
#hero-cta .cta-slide > img {
    margin-bottom: 1rem;
    height: 75px;
}
#hero-cta .cta-slide > .cta-location-date {
    margin-bottom: 1rem;
    font-size: 1.3rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: #fff;
}
#hero-cta .cta-slide > h1 {
    margin-bottom: 1.5rem;
    line-height: 1.25;
    color: #fff;
}
#hero-cta .cta-slide > h2 {
    margin-bottom: 2rem;
    font-weight: 400;
    color: #fff;
}
#hero-cta .cta-slide > .btn {
    font-size: 1.25rem;
    padding: 0.5rem 1.25rem;
}
#hero-cta p {
    padding: 0 !important; /* Offset Global P Padding */
}
#hero-cta .slick-dots {
    bottom: 15px;
}
#hero-cta .slick-dots li button:before {
    font-size: 15px;
}

@media (max-width: 767px) {
    #hero-cta #year-badge {
        width: 85px;
    }
    #hero-cta .cta-slides {
        height: 550px;
    }
    #hero-cta .cta-slides .cta-slide {
        height: 550px;
    }
    #hero-cta .cta-slide > img {
        margin-bottom: 1rem;
    }
    #hero-cta .cta-slides .cta-slide:nth-child(1) > img {
        height: 50px;
    }
    #hero-cta .cta-slides .cta-slide:nth-child(2) > img {
        height: 75px;
    }
    #hero-cta .cta-slide > h1 {
        font-size: 36px;
    }
    #hero-cta .cta-slide > h2 {
        font-size: 24px;
    }
}

/* TDWI Stats */
#tdwi-stats {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    padding: 2rem 1rem;
}
#tdwi-stats .stat {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
}
#tdwi-stats .stat .icon {
    width: 85px;
    aspect-ratio: 1/1;
    display: flex;
    flex-shrink: 0;
    flex-grow: 0;
    justify-content: center;
    align-items: center;
    border-radius: 100%;
    background-color: var(--color-accent-1);
}
#tdwi-stats .stat:nth-child(2) .icon {
    background-color: var(--color-accent-2);
}
#tdwi-stats .stat:nth-child(3) .icon {
    background-color: var(--color-accent-4);
}
#tdwi-stats .stat .icon > img {
    height: 55px;
}
#tdwi-stats .stat:nth-child(2) .icon > img {
    height: 45px;
}
#tdwi-stats .stat:nth-child(3) .icon > img {
    height: 45px;
}
#tdwi-stats .stat .value {
    font-size: 2rem;
    font-weight: 700;
}
#tdwi-stats .stat .description {
    max-width: 250px;
    font-size: 1.2rem;
    font-weight: 500;
    color: var(--color-dark);
}
#tdwi-stats .stat:nth-child(2) .description {
    max-width: 300px;
}
#tdwi-stats p {
    padding: 0 !important; /* Offset Global P Padding */
}
@media (min-width: 992px) {
    #tdwi-stats .stat + .stat {
        border-left: 2px solid var(--color-neutral);
        padding-left: 2rem;
    }
}
@media (max-width: 991px) {
    #tdwi-stats .stat .description,
    #tdwi-stats .stat:nth-child(2) .description {
        max-width: unset;
    }
    #tdwi-stats {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* Recent Work */
#showcase-cards {
    padding: 4rem 1rem;
    background-color: var(--color-neutral);
}
#showcase-cards p {
    padding: 0 !important; /* Offset Global P Padding */
}
#showcase-cards .cards {
    width: 100%;
    max-width: 1440px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    margin: 0 auto;
}
#showcase-cards .card {
    border-radius: 5px;
    background-color: #fff;
    overflow: hidden;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
}
#showcase-cards .card > .topper {
    width: 100%;
    min-height: 200px;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}
#showcase-cards .card:nth-child(1) > .topper {
    background-color: var(--color-accent-2);
}
#showcase-cards .card:nth-child(2) > .topper {
    background-color: var(--color-accent-5);
}
#showcase-cards .card:nth-child(3) > .topper {
    background-color: var(--color-accent-3);
}
#showcase-cards .card:nth-child(4) > .topper {
    background-color: var(--color-accent-1);
}
#showcase-cards .card > .topper .type {
    font-size: 0.9rem;
    font-weight: 700;
    /* text-transform: uppercase; */
    letter-spacing: 0.25px;
    color: #000;
}
#showcase-cards .card > .topper .title {
    margin: 0.5rem 0;
    font-size: 1.5rem;
    font-family: "PT Serif", serif;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.5px;
    color: #fff;
}
#showcase-cards .card > .topper small {
    font-size: 0.85rem;
    color: #000;
}
#showcase-cards .card > .description {
    padding: 1.5rem 1.5rem 1rem 1.5rem;
}
#showcase-cards .cards .description > .tag {
    border-radius: 5px;
    padding: 0.25rem 0.5rem;
    background-color: #393e41;
    font-size: 0.7rem;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #fff;
}
#showcase-cards .cards .description > h3 {
    margin: 1rem 0 0.7rem 0;
    font-size: 1.2rem;
    font-weight: 700;
}
#showcase-cards .cards .description > p {
    margin-top: 1rem;
    font-size: 1rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    overflow: hidden;
    text-overflow: ellipsis;
    /* line-height: 1.3; */
}
#showcase-cards .cards .description .btn-wrapper {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 1.3rem;
    padding-right: 0.5rem;
}
#showcase-cards .btn-wrapper > a {
    text-decoration: none;
}
#showcase-cards .btn-wrapper > a:hover {
    text-decoration: underline;
    text-underline-offset: 5px;
}
#showcase-cards .card:nth-child(1) > .description > .btn-wrapper > a {
    color: var(--color-accent-2);
}
#showcase-cards .card:nth-child(2) > .description > .btn-wrapper > a {
    color: var(--color-accent-5);
}
#showcase-cards .card:nth-child(3) > .description > .btn-wrapper > a {
    color: var(--color-accent-3);
}
#showcase-cards .card:nth-child(4) > .description > .btn-wrapper > a {
    color: var(--color-accent-1);
}
#showcase-cards .btn-wrapper > a i {
    transform: translateX(5px);
}
#showcase-cards .btn-wrapper > a:hover i {
    transition: 150ms transform ease-in-out;
    transform: translateX(8px);
}
#showcase-cards .card .card-topic-link {
    padding: 0.5rem 0.25rem;
    text-align: center;
}
#showcase-cards .card:nth-child(1) .card-topic-link {
    background-color: var(--color-accent-2);
}
#showcase-cards .card:nth-child(2) .card-topic-link {
    background-color: var(--color-accent-5);
}
#showcase-cards .card:nth-child(3) .card-topic-link {
    background-color: var(--color-accent-3);
}
#showcase-cards .card:nth-child(4) .card-topic-link {
    background-color: var(--color-accent-1);
}
#showcase-cards .card .card-topic-link > a {
    color: #fff;
}
#showcase-cards .card .card-topic-link > a:hover {
    text-decoration: none;
}
@media (max-width: 1200px) {
    #showcase-cards .cards {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 767px) {
    #showcase-cards .cards {
        grid-template-columns: 1fr;
    }
    #showcase-cards {
        padding: 2rem;
    }
}

/* Think */
#think {
    padding: 4rem 1rem;
}
#think p {
    padding: 0 !important; /* Offset Global P Padding */
}
#think .container {
    max-width: 1250px;
}
#think h2 {
    /* padding: 0 1rem; */
    /* text-align: center; */
    color: var(--color-accent-2);
}
#think h3 {
    margin: 0.7rem 0 1rem;
    /* font-size: 1.2rem; */
    /* font-weight: 700; */
    color: #000;
}
#think h4 {
    margin: 2rem 0 1rem 0;
}
#think .icon-title {
    margin-bottom: 2rem;
    text-align: center;
}
#think .think-icons {
    width: 1050px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
}
#think .think-icon {
    width: 300px;
    aspect-ratio: 1/1;
    display: flex;
    flex-grow: 0;
    flex-shrink: 0;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    outline: var(--color-accent-2) 1px solid;
    border: 8px solid var(--color-neutral);
    border-radius: 50%;
    padding: 1.5rem;
    background-color: var(--color-accent-2);
    text-align: center;
}
#think .think-icon:hover {
    transform-origin: center;
    transform: scale(1.05);
    transition: 250ms transform ease-in-out;
}
#think .think-icon > h3 {
    margin: 0.6rem 0;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.1;
    color: #fff;
}
#think .think-icon > p {
    font-size: 0.95rem;
    color: #fff;
}
#think .think-icon i {
    font-size: 2.5rem;
    color: #fff;
}
#think .think-featured {
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-content: center;
    align-items: flex-start;
    gap: 1rem;
}
#think .think-featured .featured-publication {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2rem;
}
#think .think-featured .featured-publication > img {
    height: 325px;
    border: 1px solid #00000050;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
}

#think .think-featured .featured-publication .sponsors {
    height: 25px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0.75rem;
    margin-top: 1.5rem;
}
#think .think-featured .featured-publication .sponsors > small {
    font-size: 0.85rem;
    font-weight: 700;
}
#think .think-featured .featured-publication .sponsors .logo-wrapper {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1rem;
}
#think .think-featured .featured-publication .sponsors img {
    max-height: 20px;
}

#think .think-featured .featured-publication .publication-text .publication-title {
    font-size: 18px;
    font-weight: 700;
}
#think .think-featured .featured-publication .publication-text .publication-description {
    margin: 1rem 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    overflow: hidden;
    text-overflow: ellipsis;
    /* text-indent: 25px; */
}
#think .think-featured .featured-event img {
    width: 100%;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
}
@media (max-width: 1440px) {
    #think .think-featured {
        align-items: center;
    }
}
@media (max-width: 1300px) {
    #think .think-icons {
        width: 100%;
        max-width: 767px;
        grid-template-columns: repeat(2, 1fr);
    }
    #think .think-icon {
        margin: 0 auto;
    }
}
@media (max-width: 991px) {
    #think .think-featured {
        grid-template-columns: 1fr;
    }
    #think .think-featured .featured-publication {
        gap: 1rem;
    }
}
@media (max-width: 767px) {
    #think {
        padding: 2rem 1rem;
    }
    #think .think-icons {
        grid-template-columns: 1fr;
    }
    #think .think-featured .featured-publication > img {
        height: 250px;
    }
    /* #think .think-featured .featured-publication .sponsors {
        gap: 0.5rem;
    } */
    #think .think-featured .featured-publication {
        margin-bottom: 2rem;
        flex-direction: column;
    }
}

/* Think */
#train {
    padding: 4rem 1rem;
    background-image: url(../images/purple-circles.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: var(--color-neutral);
}
#train p {
    padding: 0 !important; /* Offset Global P Padding */
}
#train .container {
    width: 100%;
    max-width: 1250px;
    display: grid;
    justify-content: center;
    align-items: center;
    grid-template-columns: 1fr auto;
    gap: 2rem;
}
#train h2 {
    color: var(--color-accent-4);
}
#train h3 {
    margin: 0.7rem 0 1rem;
}
#train h4 {
    margin: 2rem 0 1rem 0;
}
#train ul {
    margin: 0.5rem 0 1.25rem 0;
    border-radius: 5px;
    /* padding: 1rem; */
    /* background-color: var(--color-accent-4); */
    color: #000;
}
#train ul li {
    margin-left: 2rem;
    line-height: 1.5;
    letter-spacing: 0.3px;
}
#train ul li a {
    font-weight: 700;
    text-decoration: underline;
    color: var(--color-accent-4);
}
#train ul li a:hover {
    text-decoration: none;
}
#train ul li + li {
    margin-top: 0.5rem;
}
#train .train-text .train-btn-group {
    margin-top: 1rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}
#train .train-featured {
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-content: center;
    align-items: flex-start;
    gap: 1rem;
}
#train .train-featured p {
    font-size: 18px;
    margin-bottom: 1rem;
}
#train .train-graphic {
    width: 550px;
    height: 450px;
    position: relative;
    /* background-color: #fff; */
}
#train .train-graphic .circle {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 150px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    padding: 1rem;
    background-color: var(--color-accent-4);
    text-align: center;
    color: #fff;
}
#train .train-graphic .circle-default {
    width: 100%;
    max-width: 175px;
    /* height: 100%; */
    margin: 0 auto;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 0.5rem;
    border-radius: 5px;
    /* background-color: #fff; */
    color: #000;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /* border: 1px solid rgba(0,0,0,0.5); */
    /* box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px; */
    font-size: 1rem;
    font-weight: 700;
}
#train .train-graphic .circle-1-info,
#train .train-graphic .circle-2-info,
#train .train-graphic .circle-3-info,
#train .train-graphic .circle-4-info {
    display: none;
    width: 100%;
    max-width: 225px;
    /* height: 100%; */
    margin: 0 auto;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 0.5rem;
    border-radius: 5px;
    background-color: #fff;
    color: #000;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    /* border: 1px solid rgba(0,0,0,0.5); */
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}
#train .train-graphic .circle:nth-child(1) {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}
#train .train-graphic .circle:nth-child(2) {
    top: 150px;
    left: 0;
}
#train .train-graphic .circle:nth-child(3) {
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
#train .train-graphic .circle:nth-child(4) {
    top: 150px;
    right: 0;
}
#train .train-graphic .circle > i {
    color: var(--color-dark);
    pointer-events: none;
}
#train .train-graphic .circle:nth-child(1) > i {
    position: absolute;
    left: 160px;
    top: 115px;
    font-size: 3rem;
    /* color: red; */
    transform: rotateZ(45deg);
}
#train .train-graphic .circle:nth-child(2) > i {
    position: absolute;
    left: 140px;
    top: -35px;
    font-size: 3rem;
    /* color: blue; */
    transform: rotateZ(315deg);
}
#train .train-graphic .circle:nth-child(3) > i {
    position: absolute;
    left: -60px;
    top: -10px;
    font-size: 3rem;
    /* color: green; */
    transform: rotateZ(225deg);
}
#train .train-graphic .circle:nth-child(4) > i {
    position: absolute;
    left: -40px;
    top: 140px;
    font-size: 3rem;
    /* color: orange; */
    transform: rotateZ(135deg);
}

@media (max-width: 991px) {
    #train .container {
        grid-template-columns: 1fr;
    }
    #train .train-graphic {
        margin: 0 auto;
    }
}
@media (max-width: 767px) {
    #train {
        padding: 2rem 1rem;
    }
    #train .train-graphic {
        width: 395px; /*450px;*/
        transform-origin: center;
        transform: scale(0.9);
    }
    #train .train-graphic .circle-default {
        max-width: 155px;
    }
    #train .train-graphic .circle:nth-child(1) > i {
        left: 130px; /* 140 */
    }
    #train .train-graphic .circle:nth-child(2) > i {
        left: 100px; /* 120 */
    }
    #train .train-graphic .circle:nth-child(3) > i {
        left: -30px; /* -40 */
    }
    #train .train-graphic .circle:nth-child(4) > i {
        left: 10px; /*-6px;*/
    }
}
@media (max-width: 425px) {
    #train .train-graphic {
        width: 350px; /*450px;*/
        transform-origin: center;
        transform: scale(0.85);
    }
}

/* Engage */
#engage {
    padding: 4rem 1rem;
    background-image: url(../images/radial-dots.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: #fff;
}
#engage p {
    padding: 0 !important; /* Offset Global P Padding */
}
#engage .container {
    width: 100%;
    max-width: 1250px;
}
#engage .engage-items {
    width: 85%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}
#engage h2 {
    color: var(--color-accent-3);
}
#engage h3 {
    margin: 0.7rem 0 1.5rem;
}
#engage h4 {
    margin: 2rem 0;
    margin-left: 7.5%;
}
#engage .engage-item {
    display: grid;
    grid-template-columns: auto 1fr;
    /* justify-content: center; */
    /* align-items: flex-start; */
    gap: 1rem;
}
#engage .engage-item-logo {
    width: 80px !important;
    /* background-color: orange; */
    display: flex;
    justify-content: center;
}
#engage .engage-item-logo > i {
    font-size: 55px;
    color: var(--color-accent-3);
}
#engage .engage-item .engage-title {
    margin-bottom: 0.5rem;
    font-size: 22px;
    font-weight: 700;
    color: var(--color-accent-3);
}
#engage .engage-item .btn-link {
    display: block;
    font-size: 1.1rem;
    margin-top: 0.5rem;
    color: var(--color-accent-3);
}
@media (max-width: 767px) {
    #engage {
        padding: 2rem 1rem;
    }
    #engage h4 {
        margin-left: 0;
    }
    #engage .engage-items {
        width: 100%;
        grid-template-columns: 1fr;
    }
    #engage .engage-items .engage-item {
        padding: 1rem;
    }
    #engage .engage-item:nth-child(even) {
        border-radius: 5px;
        background-color: var(--color-neutral);
    }
}

/* Explore by Topic */
#explore-by-topic {
    width: 100%;
    max-width: 2560px; /* Needed for massive screens */
    margin: 0 auto;
    padding-top: 2rem;
}
#explore-by-topic h2 {
    padding: 0 1rem;
    text-align: center;
}
#explore-by-topic h3 {
    margin: 0.7rem 0 1.5rem;
    padding: 0 1rem;
    text-align: center;
}
#explore-by-topic .topics {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    overflow: hidden;
}
#explore-by-topic .topics a {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1.8rem 1rem;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-align: center;
    text-decoration: none;
    color: #fff;
}
#explore-by-topic .topics a:hover {
    transition: 150ms transform ease-in-out;
    transform: scale(1.05);
    transform-origin: center;
    text-decoration: underline;
}
#explore-by-topic .topics a:nth-child(1) {
    background-color: var(--color-accent-2);
}
#explore-by-topic .topics a:nth-child(2) {
    background-color: var(--color-accent-1);
}
#explore-by-topic .topics a:nth-child(3) {
    background-color: var(--color-accent-3);
}
#explore-by-topic .topics a:nth-child(4) {
    background-color: var(--color-accent-4);
}
#explore-by-topic .topics a:nth-child(5) {
    background-color: var(--color-accent-5);
}
#explore-by-topic .topics a:nth-child(6) {
    background-color: #f5f5f5;
    color: #121212;
}
@media (max-width: 1200px) {
    #explore-by-topic .topics {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 767px) {
    #explore-by-topic .topics {
        grid-template-columns: 1fr;
    }
}

/* Testimonials */
#testimonials {
    max-width: calc(var(--max-width) + 4rem); /* 4rem added to adjust for internal margin in slider */
    margin: 3rem auto 5rem auto;
}
#testimonials p {
    padding: 0 !important; /* Offset Global P Padding */
}
#testimonials .testimonial {
    min-height: 275px;
    margin: 0 2rem;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
    border-radius: 15px;
    padding: 2rem;
    background: linear-gradient(30deg, #25b276, #1fbcd5);
    text-align: center;
}
#testimonials .testimonial:hover {
    cursor: grab;
}
#testimonials .testimonial:active {
    cursor: grabbing;
}
#testimonials .testimonial > p {
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 1px;
    color: #fff;
}
#testimonials .testimonial .person {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.3rem;
}
#testimonials .testimonial .person > img {
    width: 80px;
    aspect-ratio: 1/1;
    border-radius: 100%;
}
#testimonials .testimonial .person p {
    font-size: 1.1rem;
    font-weight: 700;
    text-align: left;
    /* line-height: 1.3; */
}
#testimonials .testimonial .person p > span {
    color: #fff;
}
#testimonials .slick-dots li button:before {
    font-size: 8px;
    line-height: 25px;
}
@media (max-width: 1200px) {
    #testimonials .testimonial {
        margin: 0 1rem;
    }
}

/* FAQ */
#faq {
    padding: 4rem 1rem;
    background-image: url(../images/faq-background_1@2x.png);
    background-repeat: no-repeat;
    background-size: 1000px;
    background-position: -500px center;
    background-color: var(--color-neutral);
}
#faq h2 {
    margin-bottom: 2rem;
    text-align: center;
}
#faq .qa {
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
    cursor: pointer;
}
#faq .qa + .qa {
    margin-top: 1rem;
}
#faq .qa .question {
    /* border-bottom: 3px solid var(--color-accent-5); */
    padding: 1rem 2rem;
    background-color: #fff;
    font-size: 18px;
    font-weight: 700;
}
#faq .qa .question::after {
    content: "\f077";
    font-family: "Font Awesome 6 Free";
    float: right;
}
#faq .qa.open .question::after {
    transform: rotate(180deg);
    transition: 250ms transform ease-in-out;
}
#faq .question {
    border-bottom: 0px solid var(--color-accent-5);
}
#faq .open > .question {
    border-bottom-width: 3px;
    transition: border-bottom-width 250ms ease-in-out;
}
#faq .answer {
    height: 0;
    padding: 0 1rem;
}
#faq .open > .answer {
    height: auto;
    padding: 1.5rem;
    transition: height 250ms ease-in-out, padding 250ms ease-in-out;
    background-color: var(--color-neutral);
}

/* FAQ UL */
#faq ul {
    margin: 0 0 0 2rem !important;
    padding: 0.5rem 0 !important;

    li + li {
        margin-top: 1rem !important;
    }
}

@media (min-width: 992px) {
    #faq .container {
        max-width: 1100px;
    }
}
@media (max-width: 767px) {
    #faq {
        padding: 2rem 1rem;
    }
}
@media (max-width: 575px) {
    #faq .qa .question::after {
        display: none;
    }
}

/* Dot Matrix */
#dot-matrix {
    padding: 4rem 1rem;
    background-image: url(../images/dot-background.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: #fff;
}
#dot-matrix h2 {
    text-align: center;
}
#dot-matrix h3 {
    margin: 0.7rem 0 1.5rem;
    text-align: center;
}
#dot-matrix .dot-chart-key-wrapper {
    width: 100%;
    max-width: var(--max-width);
    margin: 0 auto;
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    align-items: flex-start;
    gap: 2rem;
}
#dot-matrix #dot-chart {
    width: 100%;
    display: grid;
    align-items: center;
    grid-template-columns: repeat(auto-fit, minmax(25px, 1fr));
    gap: 0.9rem;
    margin: 0 auto;
}
#dot-matrix #dot-chart .dot {
    font-size: 32px;
    /*
    width: 23px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    */
}
#dot-matrix #dot-chart-key {
    width: 300px;
    display: flex;
    flex-direction: column;
    /* flex-wrap: wrap; */
    justify-content: center;
    align-items: flex-start;
    border: 1px solid #000;
    border-radius: 15px;
    padding: 1rem;
    gap: 10px;
    /* margin: 1.5rem 0 2rem; */
    background-color: #fff;
}
#dot-matrix #dot-chart-key > small {
    width: 100%;
    display: block;
    margin: 0.5rem auto 0rem auto;
    background-color: var(--color-neutral);
    border-radius: 5px;
    padding: 0.25rem;
    text-align: center;
}
#dot-matrix .key-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
}
#dot-chart-key i {
    font-size: 20px;
}
#dot-matrix .mobile-show {
    display: none !important    ;
}
/* .key-dot {
    width: 15px;
    height: 15px;
    border-radius: 50%;
} */

@media (max-width: 991px) {
    #dot-matrix .mobile-hide {
        display: none !important;
    }
    #dot-matrix .mobile-show {
        display: block !important    ;
    }
    #dot-matrix #dot-chart-key {
        width: 100%;
        flex-direction: row;
        flex-wrap: wrap;
    }
    #dot-matrix .dot-chart-key-wrapper {
        flex-wrap: wrap-reverse;
    }
}
@media (max-width: 767px) {
    #dot-matrix #dot-chart {
        gap: 0.6rem;
    }
    #dot-matrix {
        padding: 2rem 1rem;
    }
}

/* TDWI Partners */
#tdwi-partners {
    width: 100%;
    max-width: 2560px; /* Needed for massive screens */
    margin: 0 auto;
    padding: 4rem 1rem;
    text-align: center;
    overflow: visible;
}
#tdwi-partners h3 {
    margin: 0.7rem 0 1.5rem 0;
}
#tdwi-partners .logos {
    overflow: hidden;
    white-space: nowrap;
}
#tdwi-partners .logos-slide {
    display: inline-flex;
    animation: scroll 35s linear infinite;
}
#tdwi-partners .logos-slide img {
    height: 80px;
    padding: 0 2rem; /* Adjust spacing between images */
    filter: grayscale(100%);
}
#tdwi-partners .logos-slide img:hover {
    filter: grayscale(0);
    transition: 250ms filter ease-in-out;
}
@media (max-width: 767px) {
    #tdwi-partners {
        padding: 2rem 1rem;
    }
}
@keyframes scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

/* Event Showcase */
#event-showcase {
    padding: 4rem 1rem;
    background-image: url(https://tdwi.org/design/tdwi/events/conferences/las-vegas/2025/img/transform-background-2.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
#event-showcase .event {
    max-width: var(--max-width);
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    margin: 0 auto;
    gap: 3rem;
}
#event-showcase .event-video {
    position: relative;
    width: 550px;
    aspect-ratio: 16/9;
    border-radius: 15px;
    overflow: hidden;
}
#event-showcase .event-video > iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
#event-showcase .event-description > p {
    margin-bottom: 1.5rem;
    color: #fff;
}
#event-showcase .event-description > .btn + .btn {
    margin-left: 0.5rem;
}

@media (max-width: 1200px) {
    #event-showcase .event-video {
        width: 450px;
    }
}
@media (max-width: 991px) {
    #event-showcase .event {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    #event-showcase .event-video {
        margin: 0 auto;
        width: 75%;
    }
}
@media (max-width: 767px) {
    #event-showcase .event-video {
        width: 100%;
    }
}

/* Footer */
#footer {
    padding: 2rem 1rem 2rem 1rem;
    background-color: var(--color-dark); /* neutral default*/
}
#footer .container {
    display: grid;
    grid-template-columns: 1fr 1.25fr;
    justify-content: center;
    align-items: center;
    gap: 1rem;
}
#footer .logo-socials-subscribe {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
}
#footer .footer-logo {
    height: 165px;
    filter: brightness(0) saturate(100%) invert(100%) sepia(1%) saturate(0%) hue-rotate(350deg) brightness(107%) contrast(100%);
}
#footer .socials {
    display: flex;
    gap: 1rem;
}
#footer .socials img,
#footer .links img {
    height: 30px;
    vertical-align: middle;
}
#footer .socials img:hover,
#footer .links img:hover {
    transition: 150ms transform ease-in-out;
    transform-origin: center;
    transform: scale(1.15);
}
#footer .btn-primary {
    color: #000 !important;
}
/* #footer .subscribe em {
    color: #000 !important;
} */
#footer .footer-links {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}
#footer .footer-links .link-group {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
#footer .footer-links .link-group h3 {
    font-weight: 700;
    font-size: 28px !important;
    color: var(--color-accent-3);
}
#footer .footer-links .link-group a {
    color: #fff; /* 000 default */
}
#footer .footer-links .link-group a:hover {
    text-decoration: none;
}

@media (max-width: 1200px) {
    #footer .container {
        grid-template-columns: auto 1fr;
        gap: 8rem;
    }
}
@media (max-width: 991px) {
    #footer .container {
        gap: 4rem;
    }
}
@media (max-width: 767px) {
    #footer .container {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 575px) {
    #footer .footer-links {
        flex-direction: column;
        gap: 2rem;
    }
    #footer .container {
        gap: 2rem;
    }
}

/* Copyright */
#copyright {
    padding: 0rem 1rem 2rem;
    background-color: var(--color-dark);
}
#copyright ul {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    margin-bottom: 1rem;
}
#copyright ul li {
    list-style-type: none;
}
#copyright ul li a,
#copyright p {
    text-align: center;
    color: #fff;
    font-size: 16px;
}

#copyright ul li a:hover {
    display: block;
    transition: 150ms all ease-in-out;
    transform-origin: bottom;
    transform: translateY(-4px);
}

/* Scroll to Top */
#scrollToTop {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 50px;
    height: 50px;
    background-color: var(--color-primary);
    color: #fff;
    border-radius: 50%;
    text-align: center;
    line-height: 50px;
    font-size: 24px;
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
    z-index: 1000;
}

#scrollToTop:hover {
    background-color: #2e8ce6;
}

@media (max-width: 767px) {
    #copyright ul {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }
    #copyright p {
        text-align: left;
    }
}

/* Animations
==================================================*/
@keyframes searchFadeInFromTop {
    0% {
        opacity: 0;
        transform: translate(-50%, 0);
    }
    100% {
        opacity: 1;
        transform: translate(-50%, -50%);
    }
}

@keyframes mobileNavHeight {
    0% {
        height: 83.5px;
    }
    100% {
        height: fit-content;
    }
}

@keyframes mobileNavListHeight {
    0% {
        max-height: 0;
    }
    100% {
        max-height: 35vh;
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes fadeInFromTop {
    0% {
        opacity: 0;
        transform: translateY(-2rem);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}
@keyframes fadeInFromBottom {
    0% {
        opacity: 0;
        transform: translateY(2rem);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}
