{"id":791,"date":"2025-12-19T11:49:18","date_gmt":"2025-12-19T10:49:18","guid":{"rendered":"https:\/\/zainwestujwsiebie.pl\/cms\/?page_id=791"},"modified":"2026-03-12T10:12:47","modified_gmt":"2026-03-12T09:12:47","slug":"instytucje-szkoleniowe","status":"publish","type":"page","link":"https:\/\/zainwestujwsiebie.pl\/cms\/instytucje-szkoleniowe\/","title":{"rendered":"Instytucje szkoleniowe \u015bwiadcz\u0105ce us\u0142ugi w projekcie Kierunek \u2013 Rozw\u00f3j"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"791\" class=\"elementor elementor-791\">\n\t\t\t\t<div class=\"elementor-element elementor-element-857ca53 e-flex e-con-boxed e-con e-parent\" data-id=\"857ca53\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fb05855 elementor-absolute elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"fb05855\" data-element_type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;absolute&quot;}\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a9bf343 e-flex e-con-boxed e-con e-parent\" data-id=\"a9bf343\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fcb3010 elementor-widget elementor-widget-spacer\" data-id=\"fcb3010\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-56d54f56 e-con-full e-flex e-con e-parent\" data-id=\"56d54f56\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-4921c97d e-con-full e-flex e-con e-child\" data-id=\"4921c97d\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7cbcd47 elementor-widget elementor-widget-text-editor\" data-id=\"7cbcd47\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Do \u015bwiadczenia us\u0142ug w projekcie Kierunek \u2013 Rozw\u00f3j s\u0105\u00a0<strong>upowa\u017cnione wy\u0142\u0105cznie podmioty, kt\u00f3re zawar\u0142y umowy ramowe<\/strong>\u00a0<strong>z Wojew\u00f3dzkim Urz\u0119dem Pracy w Toruniu<\/strong>,<strong>\u00a0<\/strong>uwzgl\u0119dnione na poni\u017cszym wykazie.<\/p><p><strong>Wa\u017cne! Zanim zapiszesz si\u0119 na us\u0142ug\u0119 w Bazie Us\u0142ug Rozwojowych (BUR)<\/strong>\u00a0<strong>sprawd\u017a<\/strong>, czy na naszej li\u015bcie figuruje us\u0142ugodawca, u kt\u00f3rego chcesz si\u0119 szkoli\u0107. Wykaz jest regularnie aktualizowany &#8211; zagl\u0105daj tu, aby by\u0107 na bie\u017c\u0105co.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b0e8009 elementor-widget elementor-widget-spacer\" data-id=\"b0e8009\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fe93b15 elementor-widget elementor-widget-heading\" data-id=\"fe93b15\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Jak znale\u017a\u0107 w BUR instytucj\u0119 szkoleniow\u0105 dzia\u0142aj\u0105c\u0105 w projekcie Kierunek \u2013 Rozw\u00f3j?<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-37038e3 elementor-widget elementor-widget-text-editor\" data-id=\"37038e3\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<ul><li>Wyszukaj interesuj\u0105c\u0105 Ci\u0119 us\u0142ug\u0119\/instytucj\u0119 w\u00a0<a href=\"https:\/\/uslugirozwojowe.parp.gov.pl\/wyszukiwarka\/uslugi\/szukaj\" target=\"_blank\" rel=\"noopener\">Bazie Us\u0142ug Rozwojowych<\/a>,\u00a0<\/li><li>Sprawd\u017a na zamieszczonym powy\u017cej wykazie, czy us\u0142ugodawca realizuj\u0105cy dan\u0105 us\u0142ug\u0119 w BUR uczestniczy w projekcie Kierunek \u2013 Rozw\u00f3j.\u00a0<\/li><\/ul><p>Us\u0142ugodawcy wsp\u00f3\u0142pracuj\u0105cy z nami\u00a0<strong>maj\u0105 obowi\u0105zek oznacza\u0107 ka\u017cd\u0105 us\u0142ug\u0119 w BUR nazw\u0105 projektu \u201eKierunek \u2013 Rozw\u00f3j\u201d<\/strong>. Aby \u0142atwo ich odnale\u017a\u0107, skorzystaj w BUR z funkcji filtrowania i wyszukaj us\u0142ugi po tej w\u0142a\u015bnie nazwie.<\/p><p><strong>Uwaga!<\/strong>\u00a0Zawsze por\u00f3wnaj wyniki wyszukiwania w BUR z naszym wykazem us\u0142ugodawc\u00f3w, by mie\u0107 pewno\u015b\u0107, \u017ce dana instytucja faktycznie uczestniczy w projekcie.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-634a8fa elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"634a8fa\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div id=\"wup-container\">\r\n    <h1 class=\"wup-title\">Wykaz us\u0142ugodawc\u00f3w, kt\u00f3rzy zawarli umowy ramowe z WUP w Toruniu<\/h1>\r\n    \r\n    <!-- Kontrolki -->\r\n    <div class=\"wup-controls\">\r\n        <div class=\"wup-search-box\">\r\n            <label for=\"searchInput\" class=\"sr-only\">Wyszukaj us\u0142ugodawc\u0119<\/label>\r\n            <input \r\n                type=\"text\" \r\n                id=\"searchInput\" \r\n                aria-label=\"Wyszukaj us\u0142ugodawc\u0119 po nazwie, NIP, mie\u015bcie lub ulicy\"\r\n                placeholder=\"\ud83d\udd0d Wyszukaj us\u0142ugodawc\u0119 (nazwa, NIP, miasto, ulica...)\">\r\n        <\/div>\r\n        <div class=\"wup-view-toggle\" role=\"group\" aria-label=\"Prze\u0142\u0105cznik widoku\">\r\n            <button id=\"tableViewBtn\" class=\"active\" aria-pressed=\"true\">\ud83d\udccb Widok tabeli<\/button>\r\n            <button id=\"cardViewBtn\" aria-pressed=\"false\">\ud83d\udcf1 Widok kafelkowy<\/button>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Loading -->\r\n    <div id=\"loadingMessage\" class=\"wup-loading\">\u0141adowanie danych...<\/div>\r\n\r\n    <!-- Widok tabeli -->\r\n    <div id=\"tableView\" class=\"wup-table-container\">\r\n        <table id=\"dataTable\" class=\"wup-table\" role=\"table\" aria-label=\"Lista us\u0142ugodawc\u00f3w\">\r\n            <caption class=\"sr-only\">Wykaz us\u0142ugodawc\u00f3w, kt\u00f3rzy zawarli umowy ramowe z WUP w Toruniu<\/caption>\r\n            <thead>\r\n                <tr>\r\n                    <th scope=\"col\">Lp.<\/th>\r\n                    <th scope=\"col\">ID Us\u0142ugodawcy z BUR<\/th>\r\n                    <th scope=\"col\">NIP<\/th>\r\n                    <th scope=\"col\">Nazwa us\u0142ugodawcy<\/th>\r\n                    <th scope=\"col\">Ulica<\/th>\r\n                    <th scope=\"col\">Kod pocztowy<\/th>\r\n                    <th scope=\"col\">Miasto<\/th>\r\n                <\/tr>\r\n            <\/thead>\r\n            <tbody id=\"tableBody\">\r\n            <\/tbody>\r\n        <\/table>\r\n        <div id=\"noResults\" class=\"wup-no-results\" style=\"display: none;\" role=\"status\" aria-live=\"polite\">\r\n            Nie znaleziono wynik\u00f3w dla podanego zapytania.\r\n        <\/div>\r\n        \r\n        <!-- Paginacja tabeli -->\r\n        <div id=\"tablePagination\" class=\"wup-pagination\" role=\"navigation\" aria-label=\"Paginacja tabeli\">\r\n            <button id=\"tablePrevBtn\" class=\"wup-pagination-btn\" aria-label=\"Poprzednia strona\">\r\n                \u2190 Poprzednia\r\n            <\/button>\r\n            <div id=\"tablePageInfo\" class=\"wup-pagination-info\"><\/div>\r\n            <div class=\"wup-per-page\">\r\n                <label for=\"tablePerPage\">Wy\u015bwietl:<\/label>\r\n                <select id=\"tablePerPage\" aria-label=\"Liczba rekord\u00f3w na stronie\">\r\n                    <option value=\"25\" selected>25 rekord\u00f3w<\/option>\r\n                    <option value=\"50\">50 rekord\u00f3w<\/option>\r\n                    <option value=\"100\">100 rekord\u00f3w<\/option>\r\n                    <option value=\"all\">Wszystkie rekordy<\/option>\r\n                <\/select>\r\n            <\/div>\r\n            <button id=\"tableNextBtn\" class=\"wup-pagination-btn\" aria-label=\"Nast\u0119pna strona\">\r\n                Nast\u0119pna \u2192\r\n            <\/button>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Widok kafelkowy -->\r\n    <div id=\"cardView\" class=\"wup-cards-container\" style=\"display: none;\">\r\n        <div id=\"cardsGrid\" class=\"wup-cards-grid\" role=\"list\">\r\n        <\/div>\r\n        <div id=\"noResultsCards\" class=\"wup-no-results\" style=\"display: none;\" role=\"status\" aria-live=\"polite\">\r\n            Nie znaleziono wynik\u00f3w dla podanego zapytania.\r\n        <\/div>\r\n        \r\n        <!-- Paginacja kafelk\u00f3w -->\r\n        <div id=\"cardPagination\" class=\"wup-pagination\" role=\"navigation\" aria-label=\"Paginacja kafelk\u00f3w\">\r\n            <button id=\"cardPrevBtn\" class=\"wup-pagination-btn\" aria-label=\"Poprzednia strona\">\r\n                \u2190 Poprzednia\r\n            <\/button>\r\n            <div id=\"cardPageInfo\" class=\"wup-pagination-info\"><\/div>\r\n            <div class=\"wup-per-page\">\r\n                <label for=\"cardPerPage\">Wy\u015bwietl:<\/label>\r\n                <select id=\"cardPerPage\" aria-label=\"Liczba kafelk\u00f3w na stronie\">\r\n                    <option value=\"12\" selected>12 kafelk\u00f3w<\/option>\r\n                    <option value=\"24\">24 kafelki<\/option>\r\n                    <option value=\"48\">48 kafelk\u00f3w<\/option>\r\n                    <option value=\"all\">Wszystkie kafelki<\/option>\r\n                <\/select>\r\n            <\/div>\r\n            <button id=\"cardNextBtn\" class=\"wup-pagination-btn\" aria-label=\"Nast\u0119pna strona\">\r\n                Nast\u0119pna \u2192\r\n            <\/button>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n<style>\r\n* {\r\n    box-sizing: border-box;\r\n}\r\n\r\n.sr-only {\r\n    position: absolute;\r\n    width: 1px;\r\n    height: 1px;\r\n    padding: 0;\r\n    margin: -1px;\r\n    overflow: hidden;\r\n    clip: rect(0, 0, 0, 0);\r\n    white-space: nowrap;\r\n    border-width: 0;\r\n}\r\n\r\n#wup-container {\r\n    max-width: 1400px;\r\n    margin: 0 auto;\r\n    padding: 20px;\r\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\r\n}\r\n\r\n.wup-title {\r\n    text-align: center;\r\n    color: #005A94;\r\n    font-size: 28px;\r\n    font-weight: 600;\r\n    margin-bottom: 30px;\r\n    padding-bottom: 15px;\r\n    border-bottom: 3px solid #006EB6;\r\n}\r\n\r\n.wup-controls {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    align-items: center;\r\n    margin-bottom: 25px;\r\n    gap: 20px;\r\n    flex-wrap: wrap;\r\n}\r\n\r\n.wup-search-box {\r\n    flex: 1;\r\n    min-width: 300px;\r\n}\r\n\r\n.wup-search-box input {\r\n    width: 100%;\r\n    padding: 12px 20px;\r\n    font-size: 16px;\r\n    border: 2px solid #dbeafe;\r\n    border-radius: 8px;\r\n    outline: none;\r\n    transition: all 0.3s ease;\r\n}\r\n\r\n.wup-search-box input:focus {\r\n    border-color: #006EB6;\r\n    box-shadow: 0 0 0 3px rgba(0, 110, 182, 0.1);\r\n    outline: 2px solid #006EB6;\r\n    outline-offset: 2px;\r\n}\r\n\r\n.wup-view-toggle {\r\n    display: flex;\r\n    gap: 10px;\r\n}\r\n\r\n.wup-view-toggle button {\r\n    padding: 10px 20px;\r\n    font-size: 15px;\r\n    border: 2px solid #dbeafe;\r\n    background: white;\r\n    color: #005A94;\r\n    border-radius: 8px;\r\n    cursor: pointer;\r\n    transition: all 0.3s ease;\r\n    font-weight: 500;\r\n}\r\n\r\n.wup-view-toggle button:hover {\r\n    background: #eff6ff;\r\n    border-color: #006EB6;\r\n}\r\n\r\n.wup-view-toggle button:focus {\r\n    outline: 2px solid #006EB6;\r\n    outline-offset: 2px;\r\n}\r\n\r\n.wup-view-toggle button.active {\r\n    background: #006EB6;\r\n    color: white;\r\n    border-color: #006EB6;\r\n}\r\n\r\n.wup-loading {\r\n    text-align: center;\r\n    padding: 40px;\r\n    color: #005A94;\r\n    font-size: 18px;\r\n    font-weight: 500;\r\n}\r\n\r\n.wup-table-container {\r\n    overflow-x: auto;\r\n    background: white;\r\n    border-radius: 12px;\r\n    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.07);\r\n}\r\n\r\n.wup-table {\r\n    width: 100%;\r\n    border-collapse: collapse;\r\n    background: white;\r\n}\r\n\r\n.wup-table thead {\r\n    background: linear-gradient(135deg, #006EB6 0%, #004d80 100%);\r\n    color: white;\r\n    position: sticky;\r\n    top: 0;\r\n    z-index: 10;\r\n}\r\n\r\n.wup-table th {\r\n    padding: 15px 12px;\r\n    text-align: left;\r\n    font-weight: 600;\r\n    font-size: 14px;\r\n    text-transform: uppercase;\r\n    letter-spacing: 0.5px;\r\n    white-space: nowrap;\r\n}\r\n\r\n.wup-table tbody tr {\r\n    border-bottom: 1px solid #e5e7eb;\r\n    transition: background-color 0.2s ease;\r\n}\r\n\r\n.wup-table tbody tr:nth-child(odd) {\r\n    background-color: #f0f9ff;\r\n}\r\n\r\n.wup-table tbody tr:nth-child(even) {\r\n    background-color: white;\r\n}\r\n\r\n.wup-table tbody tr:hover {\r\n    background-color: #dbeafe !important;\r\n}\r\n\r\n.wup-table td {\r\n    padding: 14px 12px;\r\n    font-size: 14px;\r\n    color: #374151;\r\n}\r\n\r\n.wup-table td:first-child {\r\n    font-weight: 600;\r\n    color: #005A94;\r\n}\r\n\r\n.wup-cards-grid {\r\n    display: grid;\r\n    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));\r\n    gap: 20px;\r\n    margin-top: 20px;\r\n}\r\n\r\n.wup-card {\r\n    background: white;\r\n    border-radius: 12px;\r\n    padding: 20px;\r\n    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);\r\n    transition: all 0.3s ease;\r\n    border: 2px solid #e5e7eb;\r\n}\r\n\r\n.wup-card:hover {\r\n    transform: translateY(-4px);\r\n    box-shadow: 0 8px 16px rgba(0, 110, 182, 0.15);\r\n    border-color: #006EB6;\r\n}\r\n\r\n.wup-card-header {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    align-items: start;\r\n    margin-bottom: 15px;\r\n    padding-bottom: 12px;\r\n    border-bottom: 2px solid #f0f9ff;\r\n}\r\n\r\n.wup-card-number {\r\n    background: linear-gradient(135deg, #006EB6 0%, #004d80 100%);\r\n    color: white;\r\n    padding: 6px 12px;\r\n    border-radius: 6px;\r\n    font-weight: 700;\r\n    font-size: 14px;\r\n}\r\n\r\n.wup-card-id {\r\n    background: #e6f3f9;\r\n    color: #005A94;\r\n    padding: 6px 12px;\r\n    border-radius: 6px;\r\n    font-weight: 600;\r\n    font-size: 13px;\r\n}\r\n\r\n.wup-card-name {\r\n    font-size: 18px;\r\n    font-weight: 700;\r\n    color: #005A94;\r\n    margin-bottom: 15px;\r\n    line-height: 1.3;\r\n}\r\n\r\n.wup-card-details {\r\n    display: flex;\r\n    flex-direction: column;\r\n    gap: 10px;\r\n}\r\n\r\n.wup-card-detail {\r\n    display: flex;\r\n    align-items: start;\r\n    gap: 8px;\r\n}\r\n\r\n.wup-card-label {\r\n    font-weight: 600;\r\n    color: #6b7280;\r\n    min-width: 100px;\r\n    font-size: 13px;\r\n}\r\n\r\n.wup-card-value {\r\n    color: #374151;\r\n    font-size: 14px;\r\n    flex: 1;\r\n}\r\n\r\n.wup-card-address {\r\n    margin-top: 12px;\r\n    padding-top: 12px;\r\n    border-top: 1px solid #e5e7eb;\r\n}\r\n\r\n.wup-no-results {\r\n    text-align: center;\r\n    padding: 60px 20px;\r\n    color: #6b7280;\r\n    font-size: 18px;\r\n    background: #f9fafb;\r\n    border-radius: 12px;\r\n    margin-top: 20px;\r\n}\r\n\r\n\/* Paginacja *\/\r\n.wup-pagination {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    align-items: center;\r\n    margin-top: 25px;\r\n    padding: 20px 0;\r\n    gap: 15px;\r\n    flex-wrap: wrap;\r\n}\r\n\r\n.wup-pagination-btn {\r\n    padding: 10px 20px;\r\n    font-size: 15px;\r\n    border: 2px solid #dbeafe;\r\n    background: white;\r\n    color: #005A94;\r\n    border-radius: 8px;\r\n    cursor: pointer;\r\n    transition: all 0.3s ease;\r\n    font-weight: 500;\r\n    min-width: 140px;\r\n}\r\n\r\n.wup-pagination-btn:hover:not(:disabled) {\r\n    background: #eff6ff;\r\n    border-color: #006EB6;\r\n    transform: translateY(-2px);\r\n}\r\n\r\n.wup-pagination-btn:focus {\r\n    outline: 2px solid #006EB6;\r\n    outline-offset: 2px;\r\n}\r\n\r\n.wup-pagination-btn:disabled {\r\n    opacity: 0.4;\r\n    cursor: not-allowed;\r\n    background: #f3f4f6;\r\n    border-color: #e5e7eb;\r\n    color: #9ca3af;\r\n}\r\n\r\n.wup-pagination-info {\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: center;\r\n    gap: 5px;\r\n    font-size: 14px;\r\n    color: #374151;\r\n}\r\n\r\n.wup-pagination-pages {\r\n    font-weight: 600;\r\n    color: #005A94;\r\n    font-size: 16px;\r\n}\r\n\r\n.wup-pagination-total {\r\n    font-size: 13px;\r\n    color: #6b7280;\r\n}\r\n\r\n\/* Select liczby rekord\u00f3w *\/\r\n.wup-per-page {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 8px;\r\n    font-size: 14px;\r\n    color: #374151;\r\n    font-weight: 500;\r\n}\r\n\r\n.wup-per-page label {\r\n    white-space: nowrap;\r\n    color: #005A94;\r\n    font-weight: 600;\r\n}\r\n\r\n.wup-per-page select {\r\n    padding: 8px 12px;\r\n    font-size: 14px;\r\n    border: 2px solid #dbeafe;\r\n    border-radius: 8px;\r\n    background: white;\r\n    color: #005A94;\r\n    cursor: pointer;\r\n    font-weight: 500;\r\n    outline: none;\r\n    transition: all 0.3s ease;\r\n    appearance: auto;\r\n}\r\n\r\n.wup-per-page select:hover {\r\n    border-color: #006EB6;\r\n    background: #eff6ff;\r\n}\r\n\r\n.wup-per-page select:focus {\r\n    border-color: #006EB6;\r\n    box-shadow: 0 0 0 3px rgba(0, 110, 182, 0.1);\r\n    outline: 2px solid #006EB6;\r\n    outline-offset: 2px;\r\n}\r\n\r\n\/* Responsywno\u015b\u0107 *\/\r\n@media (max-width: 768px) {\r\n    .wup-title {\r\n        font-size: 22px;\r\n    }\r\n\r\n    .wup-controls {\r\n        flex-direction: column;\r\n        align-items: stretch;\r\n    }\r\n\r\n    .wup-search-box {\r\n        min-width: 100%;\r\n    }\r\n\r\n    .wup-view-toggle {\r\n        justify-content: center;\r\n    }\r\n\r\n    .wup-view-toggle button {\r\n        flex: 1;\r\n        font-size: 14px;\r\n        padding: 10px 15px;\r\n    }\r\n\r\n    .wup-table {\r\n        font-size: 12px;\r\n    }\r\n\r\n    .wup-table th,\r\n    .wup-table td {\r\n        padding: 10px 8px;\r\n    }\r\n\r\n    .wup-cards-grid {\r\n        grid-template-columns: 1fr;\r\n    }\r\n\r\n    .wup-pagination {\r\n        flex-direction: column;\r\n        gap: 15px;\r\n        align-items: stretch;\r\n    }\r\n\r\n    .wup-pagination-btn {\r\n        width: 100%;\r\n        min-width: auto;\r\n    }\r\n\r\n    .wup-per-page {\r\n        justify-content: center;\r\n    }\r\n\r\n    .wup-per-page select {\r\n        flex: 1;\r\n    }\r\n}\r\n\r\n@media (max-width: 480px) {\r\n    #wup-container {\r\n        padding: 15px;\r\n    }\r\n\r\n    .wup-title {\r\n        font-size: 18px;\r\n    }\r\n\r\n    .wup-table th {\r\n        font-size: 11px;\r\n        padding: 8px 5px;\r\n    }\r\n\r\n    .wup-table td {\r\n        font-size: 12px;\r\n        padding: 8px 5px;\r\n    }\r\n}\r\n<\/style>\r\n\r\n<!-- Biblioteka do odczytu Excel -->\r\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/xlsx\/0.18.5\/xlsx.full.min.js\"><\/script>\r\n\r\n<script>\r\n\/\/ Globalne zmienne\r\nlet allData = [];\r\nlet filteredData = [];\r\nlet currentView = 'table';\r\nlet currentTablePage = 1;\r\nlet currentCardPage = 1;\r\nlet itemsPerTablePage = 25;\r\nlet itemsPerCardPage = 12;\r\n\r\n\/\/ G\u0142\u00f3wna funkcja inicjalizuj\u0105ca\r\ndocument.addEventListener('DOMContentLoaded', function() {\r\n    const excelFileUrl = 'https:\/\/zainwestujwsiebie.pl\/cms\/wp-content\/uploads\/2026\/03\/Umowy_ramowe_3.2026.xlsx?v=' + Date.now();\r\n    \r\n    loadExcelData(excelFileUrl);\r\n    \r\n    document.getElementById('tableViewBtn').addEventListener('click', function() {\r\n        switchView('table');\r\n    });\r\n    \r\n    document.getElementById('cardViewBtn').addEventListener('click', function() {\r\n        switchView('cards');\r\n    });\r\n    \r\n    document.getElementById('searchInput').addEventListener('input', function(e) {\r\n        filterData(e.target.value);\r\n    });\r\n    \r\n    \/\/ Obs\u0142uga zmiany liczby rekord\u00f3w - tabela\r\n    document.getElementById('tablePerPage').addEventListener('change', function() {\r\n        const val = this.value;\r\n        itemsPerTablePage = val === 'all' ? Infinity : parseInt(val);\r\n        currentTablePage = 1;\r\n        renderTable(filteredData);\r\n    });\r\n\r\n    \/\/ Obs\u0142uga zmiany liczby rekord\u00f3w - kafelki\r\n    document.getElementById('cardPerPage').addEventListener('change', function() {\r\n        const val = this.value;\r\n        itemsPerCardPage = val === 'all' ? Infinity : parseInt(val);\r\n        currentCardPage = 1;\r\n        renderCards(filteredData);\r\n    });\r\n    \r\n    \/\/ Paginacja - tabela\r\n    document.getElementById('tablePrevBtn').addEventListener('click', function() {\r\n        if (currentTablePage > 1) {\r\n            currentTablePage--;\r\n            renderTable(filteredData);\r\n            scrollToTop();\r\n        }\r\n    });\r\n    \r\n    document.getElementById('tableNextBtn').addEventListener('click', function() {\r\n        const totalPages = Math.ceil(filteredData.length \/ itemsPerTablePage);\r\n        if (currentTablePage < totalPages) {\r\n            currentTablePage++;\r\n            renderTable(filteredData);\r\n            scrollToTop();\r\n        }\r\n    });\r\n    \r\n    \/\/ Paginacja - kafelki\r\n    document.getElementById('cardPrevBtn').addEventListener('click', function() {\r\n        if (currentCardPage > 1) {\r\n            currentCardPage--;\r\n            renderCards(filteredData);\r\n            scrollToTop();\r\n        }\r\n    });\r\n    \r\n    document.getElementById('cardNextBtn').addEventListener('click', function() {\r\n        const totalPages = Math.ceil(filteredData.length \/ itemsPerCardPage);\r\n        if (currentCardPage < totalPages) {\r\n            currentCardPage++;\r\n            renderCards(filteredData);\r\n            scrollToTop();\r\n        }\r\n    });\r\n});\r\n\r\nfunction loadExcelData(url) {\r\n    fetch(url)\r\n        .then(response => {\r\n            if (!response.ok) throw new Error('Nie mo\u017cna za\u0142adowa\u0107 pliku Excel');\r\n            return response.arrayBuffer();\r\n        })\r\n        .then(data => {\r\n            const workbook = XLSX.read(data, {type: 'array'});\r\n            const firstSheet = workbook.Sheets[workbook.SheetNames[0]];\r\n            const jsonData = XLSX.utils.sheet_to_json(firstSheet, {header: 1, defval: ''});\r\n            processData(jsonData.slice(4));\r\n            document.getElementById('loadingMessage').style.display = 'none';\r\n        })\r\n        .catch(error => {\r\n            console.error('B\u0142\u0105d:', error);\r\n            document.getElementById('loadingMessage').innerHTML = \r\n                '<p style=\"color: #ef4444;\">B\u0142\u0105d podczas wczytywania danych. Sprawd\u017a URL pliku Excel.<\/p>';\r\n        });\r\n}\r\n\r\nfunction processData(rawData) {\r\n    allData = rawData\r\n        .filter(row => row[0] && row[0] !== 'Lp.')\r\n        .map(row => ({\r\n            id: row[1] || '',\r\n            nip: row[2] || '',\r\n            nazwa: row[3] || '',\r\n            ulica: row[4] || '',\r\n            kod: row[5] || '',\r\n            miasto: row[6] || ''\r\n        }))\r\n        .sort((a, b) => {\r\n            const nazwaA = a.nazwa.toLowerCase();\r\n            const nazwaB = b.nazwa.toLowerCase();\r\n            if (nazwaA < nazwaB) return -1;\r\n            if (nazwaA > nazwaB) return 1;\r\n            return 0;\r\n        })\r\n        .map((row, index) => ({\r\n            ...row,\r\n            lp: index + 1\r\n        }));\r\n    \r\n    filteredData = [...allData];\r\n    renderData(filteredData);\r\n}\r\n\r\nfunction renderData(data) {\r\n    if (currentView === 'table') {\r\n        renderTable(data);\r\n    } else {\r\n        renderCards(data);\r\n    }\r\n}\r\n\r\nfunction renderTable(data) {\r\n    const tbody = document.getElementById('tableBody');\r\n    const noResults = document.getElementById('noResults');\r\n    const pagination = document.getElementById('tablePagination');\r\n    \r\n    if (data.length === 0) {\r\n        tbody.innerHTML = '';\r\n        noResults.style.display = 'block';\r\n        pagination.style.display = 'none';\r\n        return;\r\n    }\r\n    \r\n    noResults.style.display = 'none';\r\n    pagination.style.display = 'flex';\r\n    \r\n    const isAll = !isFinite(itemsPerTablePage);\r\n    const totalPages = isAll ? 1 : Math.ceil(data.length \/ itemsPerTablePage);\r\n    if (currentTablePage > totalPages) currentTablePage = totalPages;\r\n\r\n    const startIndex = isAll ? 0 : (currentTablePage - 1) * itemsPerTablePage;\r\n    const endIndex = isAll ? data.length : startIndex + itemsPerTablePage;\r\n    const pageData = data.slice(startIndex, endIndex);\r\n    \r\n    let html = '';\r\n    pageData.forEach(row => {\r\n        html += `\r\n            <tr>\r\n                <td>${row.lp}<\/td>\r\n                <td>${row.id}<\/td>\r\n                <td>${row.nip}<\/td>\r\n                <td><strong>${row.nazwa}<\/strong><\/td>\r\n                <td>${row.ulica}<\/td>\r\n                <td>${row.kod}<\/td>\r\n                <td>${row.miasto}<\/td>\r\n            <\/tr>\r\n        `;\r\n    });\r\n    \r\n    tbody.innerHTML = html;\r\n    updatePaginationControls('table', currentTablePage, totalPages, data.length, isAll);\r\n}\r\n\r\nfunction renderCards(data) {\r\n    const cardsGrid = document.getElementById('cardsGrid');\r\n    const noResults = document.getElementById('noResultsCards');\r\n    const pagination = document.getElementById('cardPagination');\r\n    \r\n    if (data.length === 0) {\r\n        cardsGrid.innerHTML = '';\r\n        noResults.style.display = 'block';\r\n        pagination.style.display = 'none';\r\n        return;\r\n    }\r\n    \r\n    noResults.style.display = 'none';\r\n    pagination.style.display = 'flex';\r\n    \r\n    const isAll = !isFinite(itemsPerCardPage);\r\n    const totalPages = isAll ? 1 : Math.ceil(data.length \/ itemsPerCardPage);\r\n    if (currentCardPage > totalPages) currentCardPage = totalPages;\r\n\r\n    const startIndex = isAll ? 0 : (currentCardPage - 1) * itemsPerCardPage;\r\n    const endIndex = isAll ? data.length : startIndex + itemsPerCardPage;\r\n    const pageData = data.slice(startIndex, endIndex);\r\n    \r\n    let html = '';\r\n    pageData.forEach(row => {\r\n        html += `\r\n            <div class=\"wup-card\" role=\"listitem\">\r\n                <div class=\"wup-card-header\">\r\n                    <span class=\"wup-card-number\">Nr ${row.lp}<\/span>\r\n                    <span class=\"wup-card-id\">ID: ${row.id}<\/span>\r\n                <\/div>\r\n                <div class=\"wup-card-name\">${row.nazwa}<\/div>\r\n                <div class=\"wup-card-details\">\r\n                    <div class=\"wup-card-detail\">\r\n                        <span class=\"wup-card-label\">NIP:<\/span>\r\n                        <span class=\"wup-card-value\">${row.nip}<\/span>\r\n                    <\/div>\r\n                <\/div>\r\n                <div class=\"wup-card-address\">\r\n                    <div class=\"wup-card-detail\">\r\n                        <span class=\"wup-card-label\">\ud83d\udccd Adres:<\/span>\r\n                        <span class=\"wup-card-value\">${row.ulica}<br>${row.kod} ${row.miasto}<\/span>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        `;\r\n    });\r\n    \r\n    cardsGrid.innerHTML = html;\r\n    updatePaginationControls('card', currentCardPage, totalPages, data.length, isAll);\r\n}\r\n\r\nfunction updatePaginationControls(viewType, currentPage, totalPages, totalItems, isAll) {\r\n    const prevBtn = document.getElementById(viewType + 'PrevBtn');\r\n    const nextBtn = document.getElementById(viewType + 'NextBtn');\r\n    const pageInfo = document.getElementById(viewType + 'PageInfo');\r\n    \r\n    prevBtn.disabled = isAll || currentPage === 1;\r\n    nextBtn.disabled = isAll || currentPage === totalPages;\r\n    \r\n    const itemsPerPage = viewType === 'table' ? itemsPerTablePage : itemsPerCardPage;\r\n    const startItem = isAll ? 1 : (currentPage - 1) * itemsPerPage + 1;\r\n    const endItem = isAll ? totalItems : Math.min(currentPage * itemsPerPage, totalItems);\r\n    \r\n    pageInfo.innerHTML = isAll\r\n        ? `<div class=\"wup-pagination-pages\">Wszystkie rekordy<\/div>\r\n           <div class=\"wup-pagination-total\">Wy\u015bwietlanie wszystkich ${totalItems} rekord\u00f3w<\/div>`\r\n        : `<div class=\"wup-pagination-pages\">Strona ${currentPage} z ${totalPages}<\/div>\r\n           <div class=\"wup-pagination-total\">Wy\u015bwietlanie ${startItem}\u2013${endItem} z ${totalItems} rekord\u00f3w<\/div>`;\r\n}\r\n\r\nfunction scrollToTop() {\r\n    document.getElementById('wup-container').scrollIntoView({ behavior: 'smooth', block: 'start' });\r\n}\r\n\r\nfunction switchView(view) {\r\n    currentView = view;\r\n    \r\n    const tableView = document.getElementById('tableView');\r\n    const cardView = document.getElementById('cardView');\r\n    const tableBtn = document.getElementById('tableViewBtn');\r\n    const cardBtn = document.getElementById('cardViewBtn');\r\n    \r\n    if (view === 'table') {\r\n        tableView.style.display = 'block';\r\n        cardView.style.display = 'none';\r\n        tableBtn.classList.add('active');\r\n        cardBtn.classList.remove('active');\r\n        tableBtn.setAttribute('aria-pressed', 'true');\r\n        cardBtn.setAttribute('aria-pressed', 'false');\r\n    } else {\r\n        tableView.style.display = 'none';\r\n        cardView.style.display = 'block';\r\n        tableBtn.classList.remove('active');\r\n        cardBtn.classList.add('active');\r\n        tableBtn.setAttribute('aria-pressed', 'false');\r\n        cardBtn.setAttribute('aria-pressed', 'true');\r\n    }\r\n    \r\n    renderData(filteredData);\r\n}\r\n\r\nfunction filterData(searchTerm) {\r\n    if (!searchTerm || searchTerm.trim() === '') {\r\n        filteredData = [...allData];\r\n    } else {\r\n        const term = searchTerm.toLowerCase().trim();\r\n        filteredData = allData.filter(row =>\r\n            row.lp.toString().includes(term) ||\r\n            row.id.toString().toLowerCase().includes(term) ||\r\n            row.nip.toString().toLowerCase().includes(term) ||\r\n            row.nazwa.toLowerCase().includes(term) ||\r\n            row.ulica.toLowerCase().includes(term) ||\r\n            row.kod.toLowerCase().includes(term) ||\r\n            row.miasto.toLowerCase().includes(term)\r\n        );\r\n    }\r\n    \r\n    currentTablePage = 1;\r\n    currentCardPage = 1;\r\n    renderData(filteredData);\r\n}\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-64f96ed elementor-widget elementor-widget-spacer\" data-id=\"64f96ed\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-218a228 e-con-full e-flex e-con e-child\" data-id=\"218a228\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f8dfd66 elementor-widget elementor-widget-heading\" data-id=\"f8dfd66\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Nie widzisz swojego us\u0142ugodawcy na naszej li\u015bcie?<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c733b03 elementor-widget elementor-widget-text-editor\" data-id=\"c733b03\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Poinformuj go o projekcie i przeka\u017c\u00a0<a href=\"https:\/\/zainwestujwsiebie.pl\/cms\/kontakt-dla-uczestnikow-i-uslugodawcow\/\">kontakt do nas dla us\u0142ugodawc\u00f3w<\/a>.\u00a0Ch\u0119tnie nawi\u0105\u017cemy wsp\u00f3\u0142prac\u0119!<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0b812fc elementor-widget elementor-widget-spacer\" data-id=\"0b812fc\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-65b79e68 e-con-full e-flex e-con e-child\" data-id=\"65b79e68\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-17e3159 elementor-widget-divider--view-line_text elementor-widget-divider--element-align-center elementor-invisible elementor-widget elementor-widget-divider\" data-id=\"17e3159\" data-element_type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;zoomIn&quot;}\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t\t<span class=\"elementor-divider__text elementor-divider__element\">\n\t\t\t\t# Fundusze Europejskie\t\t\t\t<\/span>\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Do \u015bwiadczenia us\u0142ug w projekcie Kierunek \u2013 Rozw\u00f3j s\u0105\u00a0upowa\u017cnione wy\u0142\u0105cznie podmioty, kt\u00f3re zawar\u0142y umowy ramowe\u00a0z Wojew\u00f3dzkim Urz\u0119dem Pracy w Toruniu,\u00a0uwzgl\u0119dnione [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_theme","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"normal-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-791","page","type-page","status-publish","hentry"],"rttpg_featured_image_url":null,"rttpg_author":{"display_name":"admin","author_link":"https:\/\/zainwestujwsiebie.pl\/cms\/author\/admin\/"},"rttpg_comment":0,"rttpg_category":null,"rttpg_excerpt":"Do \u015bwiadczenia us\u0142ug w projekcie Kierunek \u2013 Rozw\u00f3j s\u0105\u00a0upowa\u017cnione wy\u0142\u0105cznie podmioty, kt\u00f3re zawar\u0142y umowy ramowe\u00a0z Wojew\u00f3dzkim Urz\u0119dem Pracy w Toruniu,\u00a0uwzgl\u0119dnione [&hellip;]","_links":{"self":[{"href":"https:\/\/zainwestujwsiebie.pl\/cms\/wp-json\/wp\/v2\/pages\/791","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zainwestujwsiebie.pl\/cms\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/zainwestujwsiebie.pl\/cms\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/zainwestujwsiebie.pl\/cms\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zainwestujwsiebie.pl\/cms\/wp-json\/wp\/v2\/comments?post=791"}],"version-history":[{"count":52,"href":"https:\/\/zainwestujwsiebie.pl\/cms\/wp-json\/wp\/v2\/pages\/791\/revisions"}],"predecessor-version":[{"id":5444,"href":"https:\/\/zainwestujwsiebie.pl\/cms\/wp-json\/wp\/v2\/pages\/791\/revisions\/5444"}],"wp:attachment":[{"href":"https:\/\/zainwestujwsiebie.pl\/cms\/wp-json\/wp\/v2\/media?parent=791"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}