Програми стажувань
• Можливості в межах напряму «Дії Марії Склодовської-Кюрі» (MSCA) від Офісу Горизонт Європа в Україні:
MSCA Postdoctoral Fellowships 2025 (HORIZON-MSCA-2025-PF) (дедлайн 10 вересня 2025 року)
• Програми імені Фулбрайта:
Fulbright Research and Development Program (дедлайн 01 листопада 2025 року)
Fulbright Visiting Scholar Program (дедлайн 15 жовтня 2025 року)
• Можливості від Вишеградського фонду:
Стипендії для докторантів денної форми навчання або дослідників/викладачів, які мають ступінь доктора філософії (дедлайн 31 травня 2025 | 30 листопада 2025 року)
• Scholarship Programme of the Slovak Republic:
Стипендії для іноземних студентів, аспірантів, викладачів, дослідників та митців (дедлайн 30 квітня 2025 року)
• Можливості від The Alexander von Humboldt Foundation:
Georg Forster Research Fellowship (дедлайн 01 червня 2025 | 01 жовтня 2025 року)
• Можливості від Deutscher Akademischer Austauschdienst (DAAD):
Global Postdoc Fellowship 2025 (дедлайн буде оголошено пізніше, орієнтовно жовтень-листопад 2025 року)
Research Grants in Germany (дедлайн 15 серпня 2025 року)
Bilateral Exchange of Academics (to Germany) (дедлайн 15 серпня 2025 року)
• Можливості від Free State of Bavaria:
Стипендіальна програма від Вільної держави Баварія для випускників з країн Центральної, Східної та Південно-Східної Європи (дедлайни на 2026/2027 рік буде анонсовано влітку 2025 року)
• Можливості від The Foundation for Polish Science:
Програма «ДЛЯ УКРАЇНИ» (дедлайн 02 червня 2025 року)
• Можливості від Polish National Agency for Academic Exchange:
ZAWACKA NAWA PROGRAMME (дедлайн 30 вересня 2025)
Із деталями усіх вищевказаних програм та конкурсів можна ознайомитись у презентації за посиланням.
.progress-wrapper { margin: 15px 0; width: 100%; max-width: 600px; } .progress-container { width: 100%; height: 6px; background-color: #f2f7f7; border-radius: 4px; position: relative; overflow: hidden; } .progress-bar { height: 100%; background-color: #959e55; width: 0%; transition: width 0.5s ease-in-out; position: absolute; top: 0; left: 0; } .year-marks { position: absolute; width: 100%; height: 6px; top: 0; left: 0; pointer-events: none; } .year-mark { width: 1px; height: 100%; background-color: #0c1f38; position: absolute; top: 0; } .date-labels { display: flex; justify-content: space-between; margin-top: 1px; font-size: 12px; color: #0c1f38; position: relative; } document.addEventListener("DOMContentLoaded", function () { const progressWrappers = document.querySelectorAll(".progress-wrapper"); progressWrappers.forEach(wrapper => { // Read start and end dates const startDate = new Date(wrapper.getAttribute("data-start").trim()); const endDate = new Date(wrapper.getAttribute("data-end").trim()); // Validate dates if (isNaN(startDate) || isNaN(endDate)) { console.error("Invalid start or end date:", wrapper.getAttribute("data-start"), wrapper.getAttribute("data-end")); return; } const progressBar = wrapper.querySelector(".progress-bar"); const yearMarksContainer = wrapper.querySelector(".year-marks"); const dateLabelsContainer = document.createElement("div"); dateLabelsContainer.classList.add("date-labels"); wrapper.appendChild(dateLabelsContainer); // Calculate total days and progress const totalDays = Math.round((endDate - startDate) / (1000 * 60 * 60 * 24)); const currentDate = new Date(); // Get current date const elapsedDays = Math.round((currentDate - startDate) / (1000 * 60 * 60 * 24)); // Calculate progress in absolute days const progress = Math.max(0, Math.min(elapsedDays, totalDays)); // Set progress bar width in absolute days progressBar.style.width = (progress / totalDays) * 100 + "%"; // Generate year markers const startYearValue = startDate.getFullYear(); const endYearValue = endDate.getFullYear(); const totalYears = endYearValue - startYearValue + 1; // Clear any existing elements yearMarksContainer.innerHTML = ''; for (let i = 0; i <= totalYears; i++) { const yearMark = document.createElement("div"); yearMark.classList.add("year-mark"); // Calculate the exact position of the year mark const yearDate = new Date(startYearValue + i, 0, 1); const yearPosition = ((yearDate - startDate) / (endDate - startDate)) * 100; yearMark.style.left = `${yearPosition}%`; yearMarksContainer.appendChild(yearMark); } // Add start and end dates const startDateLabel = document.createElement("span"); startDateLabel.textContent = startDate.toLocaleDateString(); dateLabelsContainer.appendChild(startDateLabel); const endDateLabel = document.createElement("span"); endDateLabel.textContent = endDate.toLocaleDateString(); dateLabelsContainer.appendChild(endDateLabel); }); });