{"id":51358,"date":"2024-07-25T13:46:08","date_gmt":"2024-07-25T18:46:08","guid":{"rendered":"https:\/\/www.tarleton.edu\/news\/?page_id=51358"},"modified":"2024-10-23T14:29:22","modified_gmt":"2024-10-23T19:29:22","slug":"upcoming-events","status":"publish","type":"page","link":"https:\/\/www.tarleton.edu\/news\/upcoming-events\/","title":{"rendered":"Upcoming Events"},"content":{"rendered":"\n<div class=\"section-title-area\"><h2 class=\"section-title\">Upcoming Events<\/h2><\/div>\n\n\n\r\n<div\r\n    class=\"carousel-container\"\r\n    role=\"region\"\r\n    aria-label=\"Calendar Events Carousel\"\r\n>\r\n    <button\r\n        class=\"carousel-button prev\"\r\n        type=\"button\"\r\n        aria-label=\"Previous events\"\r\n        disabled\r\n        aria-disabled=\"true\"\r\n    >\r\n        <i\r\n            class=\"fas fa-chevron-left\"\r\n            aria-hidden=\"true\"\r\n        ><\/i>\r\n    <\/button>\r\n\r\n    <div\r\n        class=\"calendar-carousel\"\r\n        aria-live=\"polite\"\r\n    >\r\n        <div\r\n            class=\"calendar-carousel-track\"\r\n            role=\"list\"\r\n        >\r\n\r\n            \r\n                \r\n                    \r\n                    <a\r\n                        class=\"calendar-carousel-item\"\r\n                        href=\"https:\/\/calendar.tarleton.edu\/athletics\/event\/102918-tarleton-state-university-football-at-bowling\"\r\n                        target=\"_blank\"\r\n                        rel=\"noopener\"\r\n                        role=\"listitem\"\r\n                        tabindex=\"-1\"\r\n                        aria-label=\"Tarleton State University Football at Bowling Green - September 5 - 11:00am - 2:00pm (opens in new tab)\"\r\n                    >\r\n\r\n                        <div>\r\n\r\n                            <div class=\"event-date\">\r\n                                <strong>\r\n                                    September 5                                <\/strong>\r\n                            <\/div>\r\n\r\n                            <div\r\n                                class=\"event-divider\"\r\n                                aria-hidden=\"true\"\r\n                            ><\/div>\r\n\r\n                            <div class=\"event-title\">\r\n                                Tarleton State University Football at Bowling Green                            <\/div>\r\n\r\n                            \r\n                                <div class=\"event-time\">\r\n                                    11:00am - 2:00pm                                <\/div>\r\n\r\n                            \r\n                        <\/div>\r\n\r\n                    <\/a>\r\n\r\n                \r\n                    \r\n                    <a\r\n                        class=\"calendar-carousel-item\"\r\n                        href=\"https:\/\/calendar.tarleton.edu\/athletics\/event\/103593-tarleton-state-university-womens-volleyball-at\"\r\n                        target=\"_blank\"\r\n                        rel=\"noopener\"\r\n                        role=\"listitem\"\r\n                        tabindex=\"-1\"\r\n                        aria-label=\"Tarleton State University Women\u2019s Volleyball at Incarnate Word - September 5 - 1:00pm - 3:00pm (opens in new tab)\"\r\n                    >\r\n\r\n                        <div>\r\n\r\n                            <div class=\"event-date\">\r\n                                <strong>\r\n                                    September 5                                <\/strong>\r\n                            <\/div>\r\n\r\n                            <div\r\n                                class=\"event-divider\"\r\n                                aria-hidden=\"true\"\r\n                            ><\/div>\r\n\r\n                            <div class=\"event-title\">\r\n                                Tarleton State University Women\u2019s Volleyball at Incarnate Word                            <\/div>\r\n\r\n                            \r\n                                <div class=\"event-time\">\r\n                                    1:00pm - 3:00pm                                <\/div>\r\n\r\n                            \r\n                        <\/div>\r\n\r\n                    <\/a>\r\n\r\n                \r\n                    \r\n                    <a\r\n                        class=\"calendar-carousel-item\"\r\n                        href=\"https:\/\/calendar.tarleton.edu\/athletics\/event\/104039-tarleton-state-university-womens-soccer-at-houston\"\r\n                        target=\"_blank\"\r\n                        rel=\"noopener\"\r\n                        role=\"listitem\"\r\n                        tabindex=\"-1\"\r\n                        aria-label=\"Tarleton State University Women\u2019s Soccer at Houston Christian - September 6 - 1:00pm - 3:00pm (opens in new tab)\"\r\n                    >\r\n\r\n                        <div>\r\n\r\n                            <div class=\"event-date\">\r\n                                <strong>\r\n                                    September 6                                <\/strong>\r\n                            <\/div>\r\n\r\n                            <div\r\n                                class=\"event-divider\"\r\n                                aria-hidden=\"true\"\r\n                            ><\/div>\r\n\r\n                            <div class=\"event-title\">\r\n                                Tarleton State University Women\u2019s Soccer at Houston Christian                            <\/div>\r\n\r\n                            \r\n                                <div class=\"event-time\">\r\n                                    1:00pm - 3:00pm                                <\/div>\r\n\r\n                            \r\n                        <\/div>\r\n\r\n                    <\/a>\r\n\r\n                \r\n                    \r\n                    <a\r\n                        class=\"calendar-carousel-item\"\r\n                        href=\"https:\/\/calendar.tarleton.edu\/hr\/event\/103529-labor-day-holiday\"\r\n                        target=\"_blank\"\r\n                        rel=\"noopener\"\r\n                        role=\"listitem\"\r\n                        tabindex=\"-1\"\r\n                        aria-label=\"Labor Day Holiday - September 7 (opens in new tab)\"\r\n                    >\r\n\r\n                        <div>\r\n\r\n                            <div class=\"event-date\">\r\n                                <strong>\r\n                                    September 7                                <\/strong>\r\n                            <\/div>\r\n\r\n                            <div\r\n                                class=\"event-divider\"\r\n                                aria-hidden=\"true\"\r\n                            ><\/div>\r\n\r\n                            <div class=\"event-title\">\r\n                                Labor Day Holiday                            <\/div>\r\n\r\n                            \r\n                        <\/div>\r\n\r\n                    <\/a>\r\n\r\n                \r\n                    \r\n                    <a\r\n                        class=\"calendar-carousel-item\"\r\n                        href=\"https:\/\/calendar.tarleton.edu\/library\/event\/104484-library-hours-for-labor-day\"\r\n                        target=\"_blank\"\r\n                        rel=\"noopener\"\r\n                        role=\"listitem\"\r\n                        tabindex=\"-1\"\r\n                        aria-label=\"Library Hours for Labor Day - September 7 - 12:00pm - 11:59pm (opens in new tab)\"\r\n                    >\r\n\r\n                        <div>\r\n\r\n                            <div class=\"event-date\">\r\n                                <strong>\r\n                                    September 7                                <\/strong>\r\n                            <\/div>\r\n\r\n                            <div\r\n                                class=\"event-divider\"\r\n                                aria-hidden=\"true\"\r\n                            ><\/div>\r\n\r\n                            <div class=\"event-title\">\r\n                                Library Hours for Labor Day                            <\/div>\r\n\r\n                            \r\n                                <div class=\"event-time\">\r\n                                    12:00pm - 11:59pm                                <\/div>\r\n\r\n                            \r\n                        <\/div>\r\n\r\n                    <\/a>\r\n\r\n                \r\n                    \r\n                    <a\r\n                        class=\"calendar-carousel-item\"\r\n                        href=\"https:\/\/calendar.tarleton.edu\/athletics\/event\/104497-tarleton-state-university-womens-golf-at-2026\"\r\n                        target=\"_blank\"\r\n                        rel=\"noopener\"\r\n                        role=\"listitem\"\r\n                        tabindex=\"-1\"\r\n                        aria-label=\"Tarleton State University Women\u2019s Golf at 2026 Tulane Classic - September 8 (opens in new tab)\"\r\n                    >\r\n\r\n                        <div>\r\n\r\n                            <div class=\"event-date\">\r\n                                <strong>\r\n                                    September 8                                <\/strong>\r\n                            <\/div>\r\n\r\n                            <div\r\n                                class=\"event-divider\"\r\n                                aria-hidden=\"true\"\r\n                            ><\/div>\r\n\r\n                            <div class=\"event-title\">\r\n                                Tarleton State University Women\u2019s Golf at 2026 Tulane Classic                            <\/div>\r\n\r\n                            \r\n                        <\/div>\r\n\r\n                    <\/a>\r\n\r\n                \r\n                    \r\n                    <a\r\n                        class=\"calendar-carousel-item\"\r\n                        href=\"https:\/\/calendar.tarleton.edu\/library\/event\/104165-rickett-pop-up-library\"\r\n                        target=\"_blank\"\r\n                        rel=\"noopener\"\r\n                        role=\"listitem\"\r\n                        tabindex=\"-1\"\r\n                        aria-label=\"Rickett Pop-up Library - September 8 - 1:00pm - 2:00pm (opens in new tab)\"\r\n                    >\r\n\r\n                        <div>\r\n\r\n                            <div class=\"event-date\">\r\n                                <strong>\r\n                                    September 8                                <\/strong>\r\n                            <\/div>\r\n\r\n                            <div\r\n                                class=\"event-divider\"\r\n                                aria-hidden=\"true\"\r\n                            ><\/div>\r\n\r\n                            <div class=\"event-title\">\r\n                                Rickett Pop-up Library                            <\/div>\r\n\r\n                            \r\n                                <div class=\"event-time\">\r\n                                    1:00pm - 2:00pm                                <\/div>\r\n\r\n                            \r\n                        <\/div>\r\n\r\n                    <\/a>\r\n\r\n                \r\n                    \r\n                    <a\r\n                        class=\"calendar-carousel-item\"\r\n                        href=\"https:\/\/calendar.tarleton.edu\/coba\/event\/104488-entrepreneurship-club-meeting\"\r\n                        target=\"_blank\"\r\n                        rel=\"noopener\"\r\n                        role=\"listitem\"\r\n                        tabindex=\"-1\"\r\n                        aria-label=\"Entrepreneurship Club Meeting - September 8 - 6:00pm - 7:00pm (opens in new tab)\"\r\n                    >\r\n\r\n                        <div>\r\n\r\n                            <div class=\"event-date\">\r\n                                <strong>\r\n                                    September 8                                <\/strong>\r\n                            <\/div>\r\n\r\n                            <div\r\n                                class=\"event-divider\"\r\n                                aria-hidden=\"true\"\r\n                            ><\/div>\r\n\r\n                            <div class=\"event-title\">\r\n                                Entrepreneurship Club Meeting                            <\/div>\r\n\r\n                            \r\n                                <div class=\"event-time\">\r\n                                    6:00pm - 7:00pm                                <\/div>\r\n\r\n                            \r\n                        <\/div>\r\n\r\n                    <\/a>\r\n\r\n                \r\n            \r\n        <\/div>\r\n    <\/div>\r\n\r\n    <button\r\n        class=\"carousel-button next\"\r\n        type=\"button\"\r\n        aria-label=\"Next events\"\r\n        aria-disabled=\"false\"\r\n    >\r\n        <i\r\n            class=\"fas fa-chevron-right\"\r\n            aria-hidden=\"true\"\r\n        ><\/i>\r\n    <\/button>\r\n\r\n<\/div>\r\n\r\n<style>\r\n\r\n.carousel-container {\r\n    --items-per-view: 4;\r\n    --carousel-gap: 24px;\r\n\r\n    width: 100%;\r\n    max-width: 1310px;\r\n    margin: 0 auto 25px;\r\n    padding: 0 15px;\r\n    box-sizing: border-box;\r\n\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n\r\n    gap: 12px;\r\n\r\n    overflow: hidden;\r\n    position: relative;\r\n}\r\n\r\n.calendar-carousel {\r\n    flex: 1 1 auto;\r\n    min-width: 0;\r\n    overflow: hidden;\r\n    position: relative;\r\n}\r\n\r\n.calendar-carousel-track {\r\n    display: flex;\r\n    gap: var(--carousel-gap);\r\n\r\n    transition:\r\n        transform 0.3s ease-in-out;\r\n\r\n    will-change: transform;\r\n    justify-content: flex-start;\r\n}\r\n\r\n.calendar-carousel-track.is-centered {\r\n    justify-content: center;\r\n}\r\n\r\na.calendar-carousel-item {\r\n    text-decoration: none !important;\r\n    color: inherit;\r\n}\r\n\r\n.calendar-carousel-item {\r\n    flex: 0 0 calc(\r\n        (100% - (var(--carousel-gap) * (var(--items-per-view) - 1)))\r\n        \/ var(--items-per-view)\r\n    );\r\n\r\n    max-width: calc(\r\n        (100% - (var(--carousel-gap) * (var(--items-per-view) - 1)))\r\n        \/ var(--items-per-view)\r\n    );\r\n\r\n    min-width: 0;\r\n\r\n    text-align: center;\r\n\r\n    padding: 20px;\r\n\r\n    border: 1px solid #c9c9c9;\r\n\r\n    box-sizing: border-box;\r\n\r\n    background: #ffffff;\r\n\r\n    box-shadow:\r\n        0 4px 10px rgba(0, 0, 0, 0.18);\r\n\r\n    transition:\r\n        transform 0.2s ease,\r\n        box-shadow 0.2s ease;\r\n}\r\n\r\n.calendar-carousel-item:hover,\r\n.calendar-carousel-item:focus-visible {\r\n    transform: translateY(-4px);\r\n\r\n    box-shadow:\r\n        0 8px 16px rgba(0, 0, 0, 0.18);\r\n}\r\n\r\n.calendar-carousel-item:focus-visible {\r\n    outline: 3px solid #4f2d7f;\r\n    outline-offset: 3px;\r\n}\r\n\r\n.carousel-button {\r\n    width: 52px;\r\n    height: 52px;\r\n\r\n    min-width: 52px;\r\n    min-height: 52px;\r\n\r\n    padding: 0;\r\n\r\n    border: 1px solid #bdbdbd;\r\n    border-radius: 999px;\r\n\r\n    background-color: #ffffff;\r\n\r\n    color:\r\n        rgba(0, 0, 0, 0.75);\r\n\r\n    cursor: pointer;\r\n\r\n    display: inline-flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n\r\n    flex: 0 0 auto;\r\n\r\n    box-shadow:\r\n        0 1px 3px rgba(0, 0, 0, 0.12);\r\n}\r\n\r\n.carousel-button i {\r\n    font-size: 24px;\r\n    line-height: 1;\r\n}\r\n\r\n.carousel-button[disabled],\r\n.carousel-button[aria-disabled=\"true\"] {\r\n    opacity: 0.45;\r\n    cursor: default;\r\n}\r\n\r\n.event-date {\r\n    font-family:\r\n        'PT Serif',\r\n        Arial,\r\n        sans-serif;\r\n\r\n    font-size:\r\n        clamp(1rem, 1vw + 0.7rem, 1.35rem);\r\n\r\n    line-height: 1.4;\r\n    font-weight: 700;\r\n\r\n    color: #000000;\r\n\r\n    margin-bottom: 10px;\r\n\r\n    letter-spacing: 1px;\r\n\r\n    overflow-wrap: anywhere;\r\n    word-break: break-word;\r\n}\r\n\r\n.event-divider {\r\n    background-color: #4f2d7f;\r\n    height: 4px;\r\n}\r\n\r\n.event-title {\r\n    font-family:\r\n        'Source Sans Pro',\r\n        Arial,\r\n        sans-serif;\r\n\r\n    color: #000000;\r\n\r\n    font-size:\r\n        clamp(1rem, 0.4vw + 0.9rem, 1.15rem);\r\n\r\n    line-height: 1.45;\r\n    font-weight: 400;\r\n\r\n    margin-top: 10px;\r\n\r\n    overflow-wrap: anywhere;\r\n    word-break: break-word;\r\n}\r\n\r\n.event-time {\r\n    font-family:\r\n        'Source Sans Pro',\r\n        Arial,\r\n        sans-serif;\r\n\r\n    color: #000000;\r\n\r\n    font-size: 0.95rem;\r\n    line-height: 1.45;\r\n    font-weight: 400;\r\n\r\n    margin-top: 5px;\r\n\r\n    overflow-wrap: anywhere;\r\n    word-break: break-word;\r\n}\r\n\r\n\r\n\/* ========================================\r\n   TABLET\r\n======================================== *\/\r\n\r\n@media (max-width: 1024px) {\r\n\r\n    .carousel-container {\r\n        --items-per-view: 2;\r\n        --carousel-gap: 20px;\r\n    }\r\n\r\n    .calendar-carousel-item {\r\n        padding: 18px;\r\n    }\r\n\r\n    .event-date {\r\n        margin-bottom: 8px;\r\n    }\r\n\r\n}\r\n\r\n\r\n\/* ========================================\r\n   MOBILE\r\n======================================== *\/\r\n\r\n@media (max-width: 640px) {\r\n\r\n    .carousel-container {\r\n        --items-per-view: 1;\r\n        --carousel-gap: 0px;\r\n\r\n        padding: 0 10px;\r\n        gap: 8px;\r\n    }\r\n\r\n    .calendar-carousel-item {\r\n        padding: 16px;\r\n    }\r\n\r\n    .carousel-button {\r\n        width: 44px;\r\n        height: 44px;\r\n\r\n        min-width: 44px;\r\n        min-height: 44px;\r\n    }\r\n\r\n    .carousel-button i {\r\n        font-size: 20px;\r\n    }\r\n\r\n}\r\n\r\n<\/style>\r\n\r\n<script>\r\n\r\ndocument.addEventListener(\r\n    'DOMContentLoaded',\r\n    function () {\r\n\r\n        \/*\r\n         * Support multiple calendar carousels\r\n         * if they ever exist on the same page.\r\n         *\/\r\n        document\r\n            .querySelectorAll('.carousel-container')\r\n            .forEach(function (container) {\r\n\r\n                let currentPage = 0;\r\n\r\n                const carousel =\r\n                    container.querySelector(\r\n                        '.calendar-carousel'\r\n                    );\r\n\r\n                const track =\r\n                    container.querySelector(\r\n                        '.calendar-carousel-track'\r\n                    );\r\n\r\n                const prev =\r\n                    container.querySelector(\r\n                        '.carousel-button.prev'\r\n                    );\r\n\r\n                const next =\r\n                    container.querySelector(\r\n                        '.carousel-button.next'\r\n                    );\r\n\r\n                if (\r\n                    !carousel ||\r\n                    !track ||\r\n                    !prev ||\r\n                    !next\r\n                ) {\r\n                    return;\r\n                }\r\n\r\n                \/*\r\n                 * Get carousel items.\r\n                 *\/\r\n                const items = () =>\r\n                    Array.from(\r\n                        track.querySelectorAll(\r\n                            '.calendar-carousel-item'\r\n                        )\r\n                    );\r\n\r\n                \/*\r\n                 * Read responsive items-per-view\r\n                 * value from CSS.\r\n                 *\/\r\n                const itemsPerView = () => {\r\n\r\n                    const raw =\r\n                        getComputedStyle(container)\r\n                            .getPropertyValue(\r\n                                '--items-per-view'\r\n                            )\r\n                            .trim();\r\n\r\n                    const parsed =\r\n                        parseInt(raw, 10);\r\n\r\n                    return (\r\n                        Number.isFinite(parsed) &&\r\n                        parsed > 0\r\n                    )\r\n                        ? parsed\r\n                        : 4;\r\n                };\r\n\r\n                \/*\r\n                 * Get current flex gap.\r\n                 *\/\r\n                const trackGap = () => {\r\n\r\n                    return (\r\n                        parseFloat(\r\n                            getComputedStyle(track).gap\r\n                        ) || 0\r\n                    );\r\n                };\r\n\r\n                \/*\r\n                 * Get width of first card.\r\n                 *\/\r\n                const itemWidth = () => {\r\n\r\n                    const first =\r\n                        items()[0];\r\n\r\n                    return first\r\n                        ? first\r\n                            .getBoundingClientRect()\r\n                            .width\r\n                        : 0;\r\n                };\r\n\r\n                \/*\r\n                 * Width of one carousel movement unit.\r\n                 *\/\r\n                const itemStep = () =>\r\n                    itemWidth() + trackGap();\r\n\r\n                \/*\r\n                 * Total number of cards.\r\n                 *\/\r\n                const totalItems = () =>\r\n                    items().length;\r\n\r\n                \/*\r\n                 * Maximum available page.\r\n                 *\/\r\n                const maxPage = () => {\r\n\r\n                    const perView =\r\n                        itemsPerView();\r\n\r\n                    const total =\r\n                        totalItems();\r\n\r\n                    return Math.max(\r\n                        0,\r\n                        Math.ceil(\r\n                            total \/ perView\r\n                        ) - 1\r\n                    );\r\n                };\r\n\r\n                \/*\r\n                 * Determine visible card indexes.\r\n                 *\/\r\n                function currentVisibleRange() {\r\n\r\n                    const perView =\r\n                        itemsPerView();\r\n\r\n                    const first =\r\n                        currentPage * perView;\r\n\r\n                    const last =\r\n                        Math.min(\r\n                            first + perView - 1,\r\n                            totalItems() - 1\r\n                        );\r\n\r\n                    return {\r\n                        first: first,\r\n                        last: last\r\n                    };\r\n                }\r\n\r\n                \/*\r\n                 * Center cards when there aren't\r\n                 * enough to fill the carousel.\r\n                 *\/\r\n                function syncCenteredState() {\r\n\r\n                    track.classList.toggle(\r\n                        'is-centered',\r\n                        totalItems() <=\r\n                            itemsPerView()\r\n                    );\r\n                }\r\n\r\n                \/*\r\n                 * Only visible event cards should\r\n                 * participate in keyboard tab order.\r\n                 *\/\r\n                function updateVisibleItemsAccessibility() {\r\n\r\n                    const range =\r\n                        currentVisibleRange();\r\n\r\n                    items().forEach(\r\n                        function (item, index) {\r\n\r\n                            const visible =\r\n                                index >= range.first &&\r\n                                index <= range.last;\r\n\r\n                            item.setAttribute(\r\n                                'tabindex',\r\n                                visible\r\n                                    ? '0'\r\n                                    : '-1'\r\n                            );\r\n\r\n                            item.classList.toggle(\r\n                                'is-visible-item',\r\n                                visible\r\n                            );\r\n                        }\r\n                    );\r\n                }\r\n\r\n                \/*\r\n                 * Update previous\/next buttons.\r\n                 *\/\r\n                function updateButtons() {\r\n\r\n                    const atStart =\r\n                        currentPage <= 0;\r\n\r\n                    const atEnd =\r\n                        currentPage >= maxPage();\r\n\r\n                    prev.disabled =\r\n                        atStart;\r\n\r\n                    prev.setAttribute(\r\n                        'aria-disabled',\r\n                        atStart\r\n                            ? 'true'\r\n                            : 'false'\r\n                    );\r\n\r\n                    prev.style.visibility =\r\n                        atStart\r\n                            ? 'hidden'\r\n                            : 'visible';\r\n\r\n\r\n                    next.disabled =\r\n                        atEnd;\r\n\r\n                    next.setAttribute(\r\n                        'aria-disabled',\r\n                        atEnd\r\n                            ? 'true'\r\n                            : 'false'\r\n                    );\r\n\r\n                    next.style.visibility =\r\n                        atEnd\r\n                            ? 'hidden'\r\n                            : 'visible';\r\n                }\r\n\r\n                \/*\r\n                 * Calculate translation amount.\r\n                 *\/\r\n                function pageOffset() {\r\n\r\n                    return (\r\n                        currentPage *\r\n                        itemStep() *\r\n                        itemsPerView()\r\n                    );\r\n                }\r\n\r\n                \/*\r\n                 * Prevent invalid page positions.\r\n                 *\/\r\n                function clampPage() {\r\n\r\n                    currentPage =\r\n                        Math.max(\r\n                            0,\r\n                            Math.min(\r\n                                currentPage,\r\n                                maxPage()\r\n                            )\r\n                        );\r\n                }\r\n\r\n                \/*\r\n                 * Main carousel update.\r\n                 *\/\r\n                function updateCarousel() {\r\n\r\n                    clampPage();\r\n\r\n                    syncCenteredState();\r\n\r\n                    updateVisibleItemsAccessibility();\r\n\r\n                    const offset =\r\n                        totalItems() <=\r\n                        itemsPerView()\r\n                            ? 0\r\n                            : pageOffset();\r\n\r\n                    track.style.transform =\r\n                        `translateX(-${offset}px)`;\r\n\r\n                    updateButtons();\r\n                }\r\n\r\n                \/*\r\n                 * Focus first visible card after\r\n                 * keyboard carousel navigation.\r\n                 *\/\r\n                function focusFirstVisibleItem() {\r\n\r\n                    const firstVisible =\r\n                        track.querySelector(\r\n                            '.calendar-carousel-item[tabindex=\"0\"]'\r\n                        );\r\n\r\n                    if (firstVisible) {\r\n                        firstVisible.focus();\r\n                    }\r\n                }\r\n\r\n                \/*\r\n                 * Next page.\r\n                 *\/\r\n                function goToNextPage(moveFocus) {\r\n\r\n                    if (\r\n                        currentPage >= maxPage()\r\n                    ) {\r\n                        return;\r\n                    }\r\n\r\n                    currentPage++;\r\n\r\n                    updateCarousel();\r\n\r\n                    if (moveFocus) {\r\n\r\n                        window.setTimeout(\r\n                            focusFirstVisibleItem,\r\n                            310\r\n                        );\r\n                    }\r\n                }\r\n\r\n                \/*\r\n                 * Previous page.\r\n                 *\/\r\n                function goToPrevPage(moveFocus) {\r\n\r\n                    if (currentPage <= 0) {\r\n                        return;\r\n                    }\r\n\r\n                    currentPage--;\r\n\r\n                    updateCarousel();\r\n\r\n                    if (moveFocus) {\r\n\r\n                        window.setTimeout(\r\n                            focusFirstVisibleItem,\r\n                            310\r\n                        );\r\n                    }\r\n                }\r\n\r\n                \/*\r\n                 * Navigation buttons.\r\n                 *\/\r\n                next.addEventListener(\r\n                    'click',\r\n                    function () {\r\n\r\n                        goToNextPage(\r\n                            document.activeElement ===\r\n                                next\r\n                        );\r\n                    }\r\n                );\r\n\r\n                prev.addEventListener(\r\n                    'click',\r\n                    function () {\r\n\r\n                        goToPrevPage(\r\n                            document.activeElement ===\r\n                                prev\r\n                        );\r\n                    }\r\n                );\r\n\r\n                \/*\r\n                 * Recalculate responsive sizing.\r\n                 *\/\r\n                window.addEventListener(\r\n                    'resize',\r\n                    updateCarousel\r\n                );\r\n\r\n                \/*\r\n                 * Initial carousel setup.\r\n                 *\/\r\n                updateCarousel();\r\n\r\n            });\r\n\r\n    }\r\n);\r\n\r\n<\/script>\n\n\n\n<div style=\"text-align:center;\"><a class=\"btn btn-theme-primary btn-lg\" href=\"https:\/\/calendar.tarleton.edu\/\">View More Events<\/a><\/div>\n\n\n\n<script>\njQuery(document).ready(function($) {\n    var slider = $('#n2-ss-28');\n    slider.on('beforeChange', function(event, slick, currentSlide, nextSlide){\n        var scrollBy = 4; \/\/ Number of slides to move\n        slick.slickSetOption('slidesToScroll', scrollBy, true);\n    });\n});\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Upcoming Events View More Events<\/p>\n","protected":false},"author":3,"featured_media":49676,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template-fullwidth.php","meta":{"_acf_changed":false,"inline_featured_image":false,"advgb_blocks_editor_width":"","advgb_blocks_columns_visual_guide":"","footnotes":""},"class_list":["post-51358","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"coauthors":[],"author_meta":{"author_link":"https:\/\/www.tarleton.edu\/news\/author\/keegan-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2\/","display_name":"keegan"},"relative_dates":{"created":"Posted 2 years ago","modified":"Updated 2 years ago"},"absolute_dates":{"created":"Posted on July 25, 2024","modified":"Updated on October 23, 2024"},"absolute_dates_time":{"created":"Posted on July 25, 2024 1:46 pm","modified":"Updated on October 23, 2024 2:29 pm"},"featured_img_caption":"Tarleton State University entrance with flags and flowers.","featured_img":"https:\/\/www.tarleton.edu\/news\/wp-content\/uploads\/sites\/65\/2023\/10\/Spring-Flowers-Admin-Gates_7545.jpg","series_order":"","_links":{"self":[{"href":"https:\/\/www.tarleton.edu\/news\/wp-json\/wp\/v2\/pages\/51358","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tarleton.edu\/news\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.tarleton.edu\/news\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.tarleton.edu\/news\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tarleton.edu\/news\/wp-json\/wp\/v2\/comments?post=51358"}],"version-history":[{"count":0,"href":"https:\/\/www.tarleton.edu\/news\/wp-json\/wp\/v2\/pages\/51358\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.tarleton.edu\/news\/wp-json\/wp\/v2\/media\/49676"}],"wp:attachment":[{"href":"https:\/\/www.tarleton.edu\/news\/wp-json\/wp\/v2\/media?parent=51358"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}