<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="uk">
	<id>https://wiki.nuwm.edu.ua/index.php?action=history&amp;feed=atom&amp;title=%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%BD%D0%BE-%D0%BB%D0%BE%D0%B3%D1%96%D1%87%D0%BD%D0%B0_%D1%81%D1%85%D0%B5%D0%BC%D0%B0_%D0%9E%D0%9F%D0%9F_%D0%93%D0%A2%D0%91%D0%92%D0%86%D0%92%D0%A2_%28%D0%9D%D0%B0%D0%B2%D1%87%D0%B0%D0%BB%D1%8C%D0%BD%D0%B8%D0%B9_%D0%BF%D0%BB%D0%B0%D0%BD_2026%29</id>
	<title>Структурно-логічна схема ОПП ГТБВІВТ (Навчальний план 2026) - Історія редагувань</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.nuwm.edu.ua/index.php?action=history&amp;feed=atom&amp;title=%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%BD%D0%BE-%D0%BB%D0%BE%D0%B3%D1%96%D1%87%D0%BD%D0%B0_%D1%81%D1%85%D0%B5%D0%BC%D0%B0_%D0%9E%D0%9F%D0%9F_%D0%93%D0%A2%D0%91%D0%92%D0%86%D0%92%D0%A2_%28%D0%9D%D0%B0%D0%B2%D1%87%D0%B0%D0%BB%D1%8C%D0%BD%D0%B8%D0%B9_%D0%BF%D0%BB%D0%B0%D0%BD_2026%29"/>
	<link rel="alternate" type="text/html" href="https://wiki.nuwm.edu.ua/index.php?title=%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%BD%D0%BE-%D0%BB%D0%BE%D0%B3%D1%96%D1%87%D0%BD%D0%B0_%D1%81%D1%85%D0%B5%D0%BC%D0%B0_%D0%9E%D0%9F%D0%9F_%D0%93%D0%A2%D0%91%D0%92%D0%86%D0%92%D0%A2_(%D0%9D%D0%B0%D0%B2%D1%87%D0%B0%D0%BB%D1%8C%D0%BD%D0%B8%D0%B9_%D0%BF%D0%BB%D0%B0%D0%BD_2026)&amp;action=history"/>
	<updated>2026-09-20T21:31:28Z</updated>
	<subtitle>Історія редагувань цієї сторінки в вікі</subtitle>
	<generator>MediaWiki 1.36.0</generator>
	<entry>
		<id>https://wiki.nuwm.edu.ua/index.php?title=%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%BD%D0%BE-%D0%BB%D0%BE%D0%B3%D1%96%D1%87%D0%BD%D0%B0_%D1%81%D1%85%D0%B5%D0%BC%D0%B0_%D0%9E%D0%9F%D0%9F_%D0%93%D0%A2%D0%91%D0%92%D0%86%D0%92%D0%A2_(%D0%9D%D0%B0%D0%B2%D1%87%D0%B0%D0%BB%D1%8C%D0%BD%D0%B8%D0%B9_%D0%BF%D0%BB%D0%B0%D0%BD_2026)&amp;diff=44594&amp;oldid=prev</id>
		<title>S.V.Klimov в 19:38, 18 вересня 2026</title>
		<link rel="alternate" type="text/html" href="https://wiki.nuwm.edu.ua/index.php?title=%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%BD%D0%BE-%D0%BB%D0%BE%D0%B3%D1%96%D1%87%D0%BD%D0%B0_%D1%81%D1%85%D0%B5%D0%BC%D0%B0_%D0%9E%D0%9F%D0%9F_%D0%93%D0%A2%D0%91%D0%92%D0%86%D0%92%D0%A2_(%D0%9D%D0%B0%D0%B2%D1%87%D0%B0%D0%BB%D1%8C%D0%BD%D0%B8%D0%B9_%D0%BF%D0%BB%D0%B0%D0%BD_2026)&amp;diff=44594&amp;oldid=prev"/>
		<updated>2026-09-18T19:38:36Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;uk&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Попередня версія&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версія за 19:38, 18 вересня 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Рядок 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Рядок 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;html lang=&amp;quot;uk&amp;quot;&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;head&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    &amp;lt;meta charset=&amp;quot;UTF-8&amp;quot;&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    &amp;lt;title&amp;gt;Конструктор ОПП з автоматичним підрахунком кредитів&amp;lt;/title&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &amp;lt;style&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &amp;lt;style&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         body {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         body {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l444&quot;&gt;Рядок 444:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Рядок 440:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         });&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         });&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &amp;lt;/script&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &amp;lt;/script&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/body&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/html&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key 2022_wiki_db:diff::1.12:old-44593:rev-44594 --&gt;
&lt;/table&gt;</summary>
		<author><name>S.V.Klimov</name></author>
	</entry>
	<entry>
		<id>https://wiki.nuwm.edu.ua/index.php?title=%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%BD%D0%BE-%D0%BB%D0%BE%D0%B3%D1%96%D1%87%D0%BD%D0%B0_%D1%81%D1%85%D0%B5%D0%BC%D0%B0_%D0%9E%D0%9F%D0%9F_%D0%93%D0%A2%D0%91%D0%92%D0%86%D0%92%D0%A2_(%D0%9D%D0%B0%D0%B2%D1%87%D0%B0%D0%BB%D1%8C%D0%BD%D0%B8%D0%B9_%D0%BF%D0%BB%D0%B0%D0%BD_2026)&amp;diff=44593&amp;oldid=prev</id>
		<title>S.V.Klimov: Створена сторінка: &lt;!DOCTYPE html&gt; &lt;html lang=&quot;uk&quot;&gt; &lt;head&gt;     &lt;meta charset=&quot;UTF-8&quot;&gt;     &lt;title&gt;Конструктор ОПП з автоматичним підрахунком...</title>
		<link rel="alternate" type="text/html" href="https://wiki.nuwm.edu.ua/index.php?title=%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%BD%D0%BE-%D0%BB%D0%BE%D0%B3%D1%96%D1%87%D0%BD%D0%B0_%D1%81%D1%85%D0%B5%D0%BC%D0%B0_%D0%9E%D0%9F%D0%9F_%D0%93%D0%A2%D0%91%D0%92%D0%86%D0%92%D0%A2_(%D0%9D%D0%B0%D0%B2%D1%87%D0%B0%D0%BB%D1%8C%D0%BD%D0%B8%D0%B9_%D0%BF%D0%BB%D0%B0%D0%BD_2026)&amp;diff=44593&amp;oldid=prev"/>
		<updated>2026-09-18T19:33:24Z</updated>

		<summary type="html">&lt;p&gt;Створена сторінка: &amp;lt;!DOCTYPE html&amp;gt; &amp;lt;html lang=&amp;quot;uk&amp;quot;&amp;gt; &amp;lt;head&amp;gt;     &amp;lt;meta charset=&amp;quot;UTF-8&amp;quot;&amp;gt;     &amp;lt;title&amp;gt;Конструктор ОПП з автоматичним підрахунком...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Нова сторінка&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html lang=&amp;quot;uk&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;meta charset=&amp;quot;UTF-8&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Конструктор ОПП з автоматичним підрахунком кредитів&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;style&amp;gt;&lt;br /&gt;
        body {&lt;br /&gt;
            font-family: 'Segoe UI', Arial, sans-serif;&lt;br /&gt;
            background-color: #f1f5f9;&lt;br /&gt;
            padding: 15px;&lt;br /&gt;
            margin: 0;&lt;br /&gt;
            user-select: none;&lt;br /&gt;
        }&lt;br /&gt;
        h2 { text-align: center; color: #1e293b; margin: 0 0 5px 0; font-size: 18px; }&lt;br /&gt;
        .subtitle { text-align: center; color: #64748b; margin-bottom: 15px; font-size: 12px; }&lt;br /&gt;
        &lt;br /&gt;
        .matrix-wrapper {&lt;br /&gt;
            position: relative;&lt;br /&gt;
            width: 100%;&lt;br /&gt;
            box-sizing: border-box;&lt;br /&gt;
        }&lt;br /&gt;
        .matrix {&lt;br /&gt;
            display: flex; &lt;br /&gt;
            gap: 8px; &lt;br /&gt;
            position: relative; &lt;br /&gt;
            z-index: 2;&lt;br /&gt;
            width: 100%;&lt;br /&gt;
        }&lt;br /&gt;
        .column {&lt;br /&gt;
            flex: 1; &lt;br /&gt;
            min-width: 135px; &lt;br /&gt;
            background: #ffffff;&lt;br /&gt;
            border: 1px dashed #cbd5e1; &lt;br /&gt;
            border-radius: 6px; &lt;br /&gt;
            padding: 6px;&lt;br /&gt;
            display: flex; &lt;br /&gt;
            flex-direction: column; &lt;br /&gt;
            gap: 8px; &lt;br /&gt;
            min-height: 840px;&lt;br /&gt;
            box-sizing: border-box;&lt;br /&gt;
            position: relative;&lt;br /&gt;
            padding-bottom: 45px; /* Місце для лічильника внизу */&lt;br /&gt;
        }&lt;br /&gt;
        .column.drag-over { background: #f8fafc; border-color: #3b82f6; }&lt;br /&gt;
        .header {&lt;br /&gt;
            font-weight: bold; text-align: center; padding: 6px;&lt;br /&gt;
            background: #334155; color: white; border-radius: 4px; font-size: 12px;&lt;br /&gt;
            pointer-events: none;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        /* СТИЛЬ БЛОКУ ВИБІРКОВИХ КОМПОНЕНТІВ */&lt;br /&gt;
        .elective-section {&lt;br /&gt;
            margin-top: auto; /* Притискає блок донизу колонки */&lt;br /&gt;
            background: #f8fafc;&lt;br /&gt;
            border: 1.5px dashed #cbd5e1;&lt;br /&gt;
            border-radius: 6px;&lt;br /&gt;
            padding: 6px;&lt;br /&gt;
            display: flex;&lt;br /&gt;
            flex-direction: column;&lt;br /&gt;
            gap: 8px;&lt;br /&gt;
            min-height: 48px;&lt;br /&gt;
            box-sizing: border-box;&lt;br /&gt;
        }&lt;br /&gt;
        .elective-header {&lt;br /&gt;
            font-size: 9px;&lt;br /&gt;
            font-weight: 700;&lt;br /&gt;
            color: #64748b;&lt;br /&gt;
            text-align: center;&lt;br /&gt;
            text-transform: uppercase;&lt;br /&gt;
            letter-spacing: 0.4px;&lt;br /&gt;
            padding-bottom: 3px;&lt;br /&gt;
            border-bottom: 1px dashed #cbd5e1;&lt;br /&gt;
            pointer-events: none;&lt;br /&gt;
        }&lt;br /&gt;
        .elective-empty {&lt;br /&gt;
            font-size: 9px;&lt;br /&gt;
            color: #94a3b8;&lt;br /&gt;
            text-align: center;&lt;br /&gt;
            font-style: italic;&lt;br /&gt;
            padding: 4px 0;&lt;br /&gt;
            pointer-events: none;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        /* СТИЛЬ ЛІЧИЛЬНИКА КРЕДИТІВ ВНИЗУ */&lt;br /&gt;
        .semester-summary {&lt;br /&gt;
            position: absolute; bottom: 6px; left: 6px; right: 6px;&lt;br /&gt;
            background: #e2e8f0; color: #1e293b; text-align: center;&lt;br /&gt;
            font-weight: bold; font-size: 11px; padding: 6px; border-radius: 4px;&lt;br /&gt;
            border: 1px solid #cbd5e1; pointer-events: none;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        .block {&lt;br /&gt;
            position: relative; border-radius: 5px; padding: 16px 6px 16px 6px; &lt;br /&gt;
            min-height: 58px; display: flex; align-items: center; justify-content: center;&lt;br /&gt;
            text-align: center; font-size: 10px; cursor: grab;&lt;br /&gt;
            box-shadow: 0 1px 3px rgba(0,0,0,0.04); border: 1.5px solid transparent;&lt;br /&gt;
            box-sizing: border-box; line-height: 1.2;&lt;br /&gt;
        }&lt;br /&gt;
        .block:active { cursor: grabbing; }&lt;br /&gt;
        .block.dragging { opacity: 0.3; background-color: #cbd5e1 !important; border-color: #94a3b8 !important; }&lt;br /&gt;
        &lt;br /&gt;
        .code {&lt;br /&gt;
            position: absolute; left: 4px; top: 2px;&lt;br /&gt;
            font-size: 8.5px; font-weight: bold; color: rgba(0,0,0,0.4);&lt;br /&gt;
        }&lt;br /&gt;
        .credits {&lt;br /&gt;
            position: absolute; right: 4px; bottom: 2px;&lt;br /&gt;
            font-size: 8.5px; font-weight: bold; padding: 1px 2px;&lt;br /&gt;
            background: rgba(0,0,0,0.05); border-radius: 2px; color: #475569;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        .blue { background-color: #DCE6F1; border-color: #B4C6E7; color: #1F4E79; }&lt;br /&gt;
        .green { background-color: #E2EFDA; border-color: #C6E0B4; color: #375623; }&lt;br /&gt;
        .yellow { background-color: #FFF2CC; border-color: #FFE699; color: #7F6000; font-weight: bold; }&lt;br /&gt;
        .gray { background-color: #F2F2F2; border-color: #D9D9D9; color: #595959; }&lt;br /&gt;
        .pink { background-color: #FCE4D6; border-color: #F8CBAD; color: #C65911; font-weight: bold; }&lt;br /&gt;
        .orange { background-color: #e5a872; border-color: #d8965f; color: #ffffff; font-weight: bold; }&lt;br /&gt;
        .purple { background-color: #a89bc9; border-color: #9687ba; color: #ffffff; font-weight: bold; }&lt;br /&gt;
&lt;br /&gt;
        #arrows-svg {&lt;br /&gt;
            position: absolute; top: 0; left: 0; width: 100%; height: 100%;&lt;br /&gt;
            z-index: 1; pointer-events: none;&lt;br /&gt;
        }&lt;br /&gt;
    &amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;h2&amp;gt;Структурно-логічна схема ОПП ГТБВІВТ (Навчальний план 2026)&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;subtitle&amp;quot;&amp;gt;Всі 8 семестрів на екрані. Кредити внизу рахуються автоматично при перетягуванні!&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;div class=&amp;quot;matrix-wrapper&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;svg id=&amp;quot;arrows-svg&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;defs&amp;gt;&lt;br /&gt;
                &amp;lt;marker id=&amp;quot;arrow&amp;quot; viewBox=&amp;quot;0 0 10 10&amp;quot; refX=&amp;quot;6&amp;quot; refY=&amp;quot;5&amp;quot; markerWidth=&amp;quot;5&amp;quot; markerHeight=&amp;quot;5&amp;quot; orient=&amp;quot;auto-start-reverse&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;path d=&amp;quot;M 0 1.5 L 7 5 L 0 8.5 z&amp;quot; fill=&amp;quot;#64748b&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/marker&amp;gt;&lt;br /&gt;
            &amp;lt;/defs&amp;gt;&lt;br /&gt;
        &amp;lt;/svg&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;div class=&amp;quot;matrix&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;!-- СЕМЕСТР 1 --&amp;gt;&lt;br /&gt;
            &amp;lt;div class=&amp;quot;column&amp;quot; id=&amp;quot;sem-1&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;header&amp;quot;&amp;gt;Сем. 1&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block blue&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b2&amp;quot; data-credits=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК2&amp;lt;/span&amp;gt;Іноземна мова&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;3 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block blue&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b1&amp;quot; data-credits=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК3&amp;lt;/span&amp;gt;Українська державність і культура&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;4 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block blue&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b3&amp;quot; data-credits=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК4&amp;lt;/span&amp;gt;Основи цифрових технологій&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;3 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block blue&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;chem&amp;quot; data-credits=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК6&amp;lt;/span&amp;gt;Хімія&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;3 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block blue&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;math1&amp;quot; data-credits=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК7&amp;lt;/span&amp;gt;Вища математика&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;5 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block blue&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b6&amp;quot; data-credits=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК11&amp;lt;/span&amp;gt;Метрологія і стандартизація&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;3 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block blue&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b7&amp;quot; data-credits=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК12&amp;lt;/span&amp;gt;Інженерна графіка&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;3 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block green&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;geom&amp;quot; data-credits=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК21&amp;lt;/span&amp;gt;Інженерна геодезія та геоінформатика&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;4 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &lt;br /&gt;
                &amp;lt;div class=&amp;quot;elective-section&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;div class=&amp;quot;elective-header&amp;quot;&amp;gt;Вибіркові компоненти&amp;lt;/div&amp;gt;&lt;br /&gt;
                    &amp;lt;div class=&amp;quot;elective-empty&amp;quot;&amp;gt;Не передбачено&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                &amp;lt;div class=&amp;quot;semester-summary&amp;quot;&amp;gt;Всього: &amp;lt;span class=&amp;quot;sem-total&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt; кр.&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- СЕМЕСТР 2 --&amp;gt;&lt;br /&gt;
            &amp;lt;div class=&amp;quot;column&amp;quot; id=&amp;quot;sem-2&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;header&amp;quot;&amp;gt;Сем. 2&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block blue&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b10&amp;quot; data-credits=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК2&amp;lt;/span&amp;gt;Іноземна мова (прод.)&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;3 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block blue&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b9&amp;quot; data-credits=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК1&amp;lt;/span&amp;gt;Українська мова (за проф.)&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;3 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block blue&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b11&amp;quot; data-credits=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК5&amp;lt;/span&amp;gt;Екологія&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;3 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block blue&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;phys&amp;quot; data-credits=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК8&amp;lt;/span&amp;gt;Физика&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;3 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block blue&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;mech1&amp;quot; data-credits=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК9&amp;lt;/span&amp;gt;Теоретична механіка&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;5 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block blue&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;hydr1&amp;quot; data-credits=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК16&amp;lt;/span&amp;gt;Гідравліка&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;4 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block blue&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b_opn&amp;quot; data-credits=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК20&amp;lt;/span&amp;gt;Основи національного спротиву&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;5 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block gray&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b16&amp;quot; data-credits=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК22&amp;lt;/span&amp;gt;Навчальна практика з геодезії&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;6 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &lt;br /&gt;
                &amp;lt;div class=&amp;quot;elective-section&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;div class=&amp;quot;elective-header&amp;quot;&amp;gt;Вибіркові компоненти&amp;lt;/div&amp;gt;&lt;br /&gt;
                    &amp;lt;div class=&amp;quot;elective-empty&amp;quot;&amp;gt;Не передбачено&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                &amp;lt;div class=&amp;quot;semester-summary&amp;quot;&amp;gt;Всього: &amp;lt;span class=&amp;quot;sem-total&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt; кр.&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- СЕМЕСТР 3 --&amp;gt;&lt;br /&gt;
            &amp;lt;div class=&amp;quot;column&amp;quot; id=&amp;quot;sem-3&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;header&amp;quot;&amp;gt;Сем. 3&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block blue&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b18&amp;quot; data-credits=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК2&amp;lt;/span&amp;gt;Іноземна мова (прод.)&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;3 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block blue&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;geology&amp;quot; data-credits=&amp;quot;3.5&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК14&amp;lt;/span&amp;gt;Інженерна геологія та гідрогеологія&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;3.5 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block green&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b20&amp;quot; data-credits=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК24&amp;lt;/span&amp;gt;Механіка ґрунтів та фундаменти&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;4 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block green&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b21&amp;quot; data-credits=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК25&amp;lt;/span&amp;gt;Основи раціонального природокористування та природообл...&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;4 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block green&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;materials&amp;quot; data-credits=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК23&amp;lt;/span&amp;gt;Будівельне матеріалознавство&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;3 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block blue&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;hydr2&amp;quot; data-credits=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК16&amp;lt;/span&amp;gt;Гідравліка (продовження)&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;5 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &lt;br /&gt;
                &amp;lt;div class=&amp;quot;elective-section&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;div class=&amp;quot;elective-header&amp;quot;&amp;gt;Вибіркові компоненти&amp;lt;/div&amp;gt;&lt;br /&gt;
                    &amp;lt;div class=&amp;quot;elective-empty&amp;quot;&amp;gt;Не передбачено&amp;lt;/div&amp;gt;&lt;br /&gt;
                    &amp;lt;div class=&amp;quot;block yellow&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;spkv2&amp;quot; data-credits=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;СпКВ2&amp;lt;/span&amp;gt;Спецкурс за вибором&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;3 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                    &amp;lt;div class=&amp;quot;block orange&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b23&amp;quot; data-credits=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;МД&amp;lt;/span&amp;gt;Мейджор&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;6 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                &amp;lt;div class=&amp;quot;semester-summary&amp;quot;&amp;gt;Всього: &amp;lt;span class=&amp;quot;sem-total&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt; кр.&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- СЕМЕСТР 4 --&amp;gt;&lt;br /&gt;
            &amp;lt;div class=&amp;quot;column&amp;quot; id=&amp;quot;sem-4&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;header&amp;quot;&amp;gt;Сем. 4&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block blue&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b26&amp;quot; data-credits=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК2&amp;lt;/span&amp;gt;Іноземна мова (завершення)&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;3 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block blue&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b17&amp;quot; data-credits=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК13&amp;lt;/span&amp;gt;Використання та охорона водних ресурсів&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;3 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block blue&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;sopromat&amp;quot; data-credits=&amp;quot;4.5&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК17&amp;lt;/span&amp;gt;Опір матеріалів та буд. механіка&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;4.5 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block gray&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b27&amp;quot; data-credits=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК27&amp;lt;/span&amp;gt;Навчальна практика за ОП&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;3 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block green&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b28&amp;quot; data-credits=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК28&amp;lt;/span&amp;gt;Виробнича база будівництва&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;3 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block green&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b30&amp;quot; data-credits=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК37&amp;lt;/span&amp;gt;Економіка будівництва&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;3 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &lt;br /&gt;
                &amp;lt;div class=&amp;quot;elective-section&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;div class=&amp;quot;elective-header&amp;quot;&amp;gt;Вибіркові компоненти&amp;lt;/div&amp;gt;&lt;br /&gt;
                    &amp;lt;div class=&amp;quot;elective-empty&amp;quot;&amp;gt;Не передбачено&amp;lt;/div&amp;gt;&lt;br /&gt;
                    &amp;lt;div class=&amp;quot;block yellow&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b24&amp;quot; data-credits=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;СпКВ1&amp;lt;/span&amp;gt;Спецкурс за вибором&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;3 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                    &amp;lt;div class=&amp;quot;block orange&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b31&amp;quot; data-credits=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;МД&amp;lt;/span&amp;gt;Мейджор&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;6 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                &amp;lt;div class=&amp;quot;semester-summary&amp;quot;&amp;gt;Всього: &amp;lt;span class=&amp;quot;sem-total&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt; кр.&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- СЕМЕСТР 5 --&amp;gt;&lt;br /&gt;
            &amp;lt;div class=&amp;quot;column&amp;quot; id=&amp;quot;sem-5&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;header&amp;quot;&amp;gt;Сем. 5&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block blue&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b33&amp;quot; data-credits=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК18&amp;lt;/span&amp;gt;Інженерна гідрологія та регулювання стоку&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;5 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block green&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b34&amp;quot; data-credits=&amp;quot;4.5&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК26&amp;lt;/span&amp;gt;Насоси та насосні станції&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;4.5 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block green&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;struct&amp;quot; data-credits=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК29&amp;lt;/span&amp;gt;Будівельні конструкції&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;4 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &lt;br /&gt;
                &amp;lt;div class=&amp;quot;elective-section&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;div class=&amp;quot;elective-header&amp;quot;&amp;gt;Вибіркові компоненти&amp;lt;/div&amp;gt;&lt;br /&gt;
                    &amp;lt;div class=&amp;quot;elective-empty&amp;quot;&amp;gt;Не передбачено&amp;lt;/div&amp;gt;&lt;br /&gt;
                    &amp;lt;div class=&amp;quot;block orange&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b36&amp;quot; data-credits=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;МД&amp;lt;/span&amp;gt;Мейджор&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;6 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                    &amp;lt;div class=&amp;quot;block purple&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b_mn1&amp;quot; data-credits=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;МН&amp;lt;/span&amp;gt;Майнор&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;6 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                &amp;lt;div class=&amp;quot;semester-summary&amp;quot;&amp;gt;Всього: &amp;lt;span class=&amp;quot;sem-total&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt; кр.&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- СЕМЕСТР 6 --&amp;gt;&lt;br /&gt;
            &amp;lt;div class=&amp;quot;column&amp;quot; id=&amp;quot;sem-6&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;header&amp;quot;&amp;gt;Сем. 6&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block blue&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b39&amp;quot; data-credits=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК15&amp;lt;/span&amp;gt;Філософія&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;3 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block green&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;hydro_str1&amp;quot; data-credits=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК30&amp;lt;/span&amp;gt;Гідротехнічні споруди&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;6 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block green&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;org1&amp;quot; data-credits=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК31&amp;lt;/span&amp;gt;Організація і технологія буд. робіт&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;4 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block green&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;hydro_inf&amp;quot; data-credits=&amp;quot;3.5&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК36&amp;lt;/span&amp;gt;Гідроінформатика&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;3.5 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;               &lt;br /&gt;
                &amp;lt;div class=&amp;quot;block gray&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b38&amp;quot; data-credits=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК19&amp;lt;/span&amp;gt;Навчальна практика з гідрології&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;3 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block gray&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b43&amp;quot; data-credits=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК38&amp;lt;/span&amp;gt;Виробнича практика&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;3 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &lt;br /&gt;
                &amp;lt;div class=&amp;quot;elective-section&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;div class=&amp;quot;elective-header&amp;quot;&amp;gt;Вибіркові компоненти&amp;lt;/div&amp;gt;&lt;br /&gt;
                    &amp;lt;div class=&amp;quot;elective-empty&amp;quot;&amp;gt;Не передбачено&amp;lt;/div&amp;gt;&lt;br /&gt;
                    &amp;lt;div class=&amp;quot;block orange&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b44&amp;quot; data-credits=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;МД&amp;lt;/span&amp;gt;Мейджор&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;6 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                    &amp;lt;div class=&amp;quot;block purple&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b_mn2&amp;quot; data-credits=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;МН&amp;lt;/span&amp;gt;Майнор&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;6 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                &amp;lt;div class=&amp;quot;semester-summary&amp;quot;&amp;gt;Всього: &amp;lt;span class=&amp;quot;sem-total&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt; кр.&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- СЕМЕСТР 7 --&amp;gt;&lt;br /&gt;
            &amp;lt;div class=&amp;quot;column&amp;quot; id=&amp;quot;sem-7&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;header&amp;quot;&amp;gt;Сем. 7&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block green&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b46&amp;quot; data-credits=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК32&amp;lt;/span&amp;gt;Водна інженерія та водні технології&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;5 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block green&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;hydro_str2&amp;quot; data-credits=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК30&amp;lt;/span&amp;gt;Гідротехнічні споруди (прод.)&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;4 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block green&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b47&amp;quot; data-credits=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК33&amp;lt;/span&amp;gt;Основи техн. експлуатації споруд&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;3 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &lt;br /&gt;
                &amp;lt;div class=&amp;quot;elective-section&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;div class=&amp;quot;elective-header&amp;quot;&amp;gt;Вибіркові компоненти&amp;lt;/div&amp;gt;&lt;br /&gt;
                    &amp;lt;div class=&amp;quot;elective-empty&amp;quot;&amp;gt;Не передбачено&amp;lt;/div&amp;gt;&lt;br /&gt;
                    &amp;lt;div class=&amp;quot;block orange&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b49&amp;quot; data-credits=&amp;quot;12&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;МД&amp;lt;/span&amp;gt;Мейджор&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;12 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                    &amp;lt;div class=&amp;quot;block purple&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b_mn3&amp;quot; data-credits=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;МН&amp;lt;/span&amp;gt;Майнор&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;6 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                &amp;lt;div class=&amp;quot;semester-summary&amp;quot;&amp;gt;Всього: &amp;lt;span class=&amp;quot;sem-total&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt; кр.&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- СЕМЕСТР 8 --&amp;gt;&lt;br /&gt;
            &amp;lt;div class=&amp;quot;column&amp;quot; id=&amp;quot;sem-8&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;header&amp;quot;&amp;gt;Сем. 8&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block green&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b51&amp;quot; data-credits=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК32&amp;lt;/span&amp;gt;Водна інженерія та технології (прод.)&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;4 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block green&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;org_hydro&amp;quot; data-credits=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК33&amp;lt;/span&amp;gt;Основи техн. експлуатації (прод.)&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;3 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block blue&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b53&amp;quot; data-credits=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК10&amp;lt;/span&amp;gt;Охорона праці в галузі&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;3 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block green&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b54&amp;quot; data-credits=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК34&amp;lt;/span&amp;gt;Організація гідротехн. будівництва&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;5 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block green&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b55&amp;quot; data-credits=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК35&amp;lt;/span&amp;gt;Кошторисна вартість будівництва&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;3 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block gray&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;b56&amp;quot; data-credits=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК39&amp;lt;/span&amp;gt;Переддипломна практика&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;3 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;block pink&amp;quot; draggable=&amp;quot;true&amp;quot; id=&amp;quot;diploma&amp;quot; data-credits=&amp;quot;9&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ОК40&amp;lt;/span&amp;gt;Кваліфікаційна бакалаврська робота&amp;lt;span class=&amp;quot;credits&amp;quot;&amp;gt;9 кр.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &lt;br /&gt;
                &amp;lt;div class=&amp;quot;elective-section&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;div class=&amp;quot;elective-header&amp;quot;&amp;gt;Вибіркові компоненти&amp;lt;/div&amp;gt;&lt;br /&gt;
                    &amp;lt;div class=&amp;quot;elective-empty&amp;quot;&amp;gt;Не передбачено&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                &amp;lt;div class=&amp;quot;semester-summary&amp;quot;&amp;gt;Всього: &amp;lt;span class=&amp;quot;sem-total&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt; кр.&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;script&amp;gt;&lt;br /&gt;
        const connections = [&lt;br /&gt;
            { src: 'math1', dst: 'phys' },&lt;br /&gt;
            { src: 'math1', dst: 'mech1' },&lt;br /&gt;
            { src: 'mech1', dst: 'sopromat' },&lt;br /&gt;
            { src: 'chem', dst: 'materials' },&lt;br /&gt;
            { src: 'geom', dst: 'b16' },&lt;br /&gt;
            { src: 'hydr1', dst: 'hydr2' },&lt;br /&gt;
            { src: 'hydr2', dst: 'hydro_inf' },&lt;br /&gt;
            { src: 'sopromat', dst: 'struct' },&lt;br /&gt;
            { src: 'hydro_inf', dst: 'hydro_str1' },&lt;br /&gt;
            { src: 'hydro_str1', dst: 'hydro_str2' },&lt;br /&gt;
            { src: 'org1', dst: 'b54' },&lt;br /&gt;
            { src: 'b54', dst: 'diploma' }&lt;br /&gt;
        ];&lt;br /&gt;
&lt;br /&gt;
        function drawConnections() {&lt;br /&gt;
            const svg = document.getElementById('arrows-svg');&lt;br /&gt;
            svg.querySelectorAll('path').forEach(p =&amp;gt; p.remove());&lt;br /&gt;
&lt;br /&gt;
            const wrapperRect = document.querySelector('.matrix-wrapper').getBoundingClientRect();&lt;br /&gt;
&lt;br /&gt;
            connections.forEach(conn =&amp;gt; {&lt;br /&gt;
                const srcEl = document.getElementById(conn.src);&lt;br /&gt;
                const dstEl = document.getElementById(conn.dst);&lt;br /&gt;
&lt;br /&gt;
                if (srcEl &amp;amp;&amp;amp; dstEl) {&lt;br /&gt;
                    const srcRect = srcEl.getBoundingClientRect();&lt;br /&gt;
                    const dstRect = dstEl.getBoundingClientRect();&lt;br /&gt;
&lt;br /&gt;
                    const x_start = srcRect.right - wrapperRect.left;&lt;br /&gt;
                    const y_start = srcRect.top + srcRect.height / 2 - wrapperRect.top;&lt;br /&gt;
&lt;br /&gt;
                    const x_end = dstRect.left - wrapperRect.left;&lt;br /&gt;
                    const y_end = dstRect.top + dstRect.height / 2 - wrapperRect.top;&lt;br /&gt;
&lt;br /&gt;
                    const path = document.createElementNS('http://www.w3.org/2000/svg', 'path');&lt;br /&gt;
                    let dStr = '';&lt;br /&gt;
                    &lt;br /&gt;
                    if (x_end &amp;gt; x_start) {&lt;br /&gt;
                        const x_mid = x_start + (x_end - x_start) / 2;&lt;br /&gt;
                        dStr = `M ${x_start},${y_start} L ${x_mid},${y_start} L ${x_mid},${y_end} L ${x_end},${y_end}`;&lt;br /&gt;
                    } else {&lt;br /&gt;
                        const x_mid = x_start + 8;&lt;br /&gt;
                        dStr = `M ${x_start},${y_start} L ${x_mid},${y_start} L ${x_mid},${y_end + 25} L ${x_end - 8},${y_end + 25} L ${x_end - 8},${y_end} L ${x_end},${y_end}`;&lt;br /&gt;
                    }&lt;br /&gt;
&lt;br /&gt;
                    path.setAttribute('d', dStr);&lt;br /&gt;
                    path.setAttribute('fill', 'none');&lt;br /&gt;
                    path.setAttribute('stroke', '#64748b');&lt;br /&gt;
                    path.setAttribute('stroke-width', '1.2');&lt;br /&gt;
                    path.setAttribute('marker-end', 'url(#arrow)');&lt;br /&gt;
                    svg.appendChild(path);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // ДИНАМІЧНИЙ ПІДРАХУНОК КРЕДИТІВ СЕМЕСТРУ ТА ПЕРЕМИКАННЯ НАПИСУ &amp;quot;НЕ ПЕРЕДБАЧЕНО&amp;quot;&lt;br /&gt;
        function calculateCredits() {&lt;br /&gt;
            document.querySelectorAll('.column').forEach(column =&amp;gt; {&lt;br /&gt;
                let total = 0;&lt;br /&gt;
                column.querySelectorAll('.block').forEach(block =&amp;gt; {&lt;br /&gt;
                    total += parseFloat(block.getAttribute('data-credits') || 0);&lt;br /&gt;
                });&lt;br /&gt;
                column.querySelector('.sem-total').innerText = total;&lt;br /&gt;
&lt;br /&gt;
                // Керування написом у порожній зоні вибіркових курсів&lt;br /&gt;
                const electiveSec = column.querySelector('.elective-section');&lt;br /&gt;
                if (electiveSec) {&lt;br /&gt;
                    const emptyMsg = electiveSec.querySelector('.elective-empty');&lt;br /&gt;
                    if (emptyMsg) {&lt;br /&gt;
                        const hasBlocks = electiveSec.querySelectorAll('.block').length &amp;gt; 0;&lt;br /&gt;
                        emptyMsg.style.display = hasBlocks ? 'none' : 'block';&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        const columns = document.querySelectorAll('.column');&lt;br /&gt;
&lt;br /&gt;
        document.querySelectorAll('.block').forEach(block =&amp;gt; {&lt;br /&gt;
            block.addEventListener('dragstart', () =&amp;gt; block.classList.add('dragging'));&lt;br /&gt;
            block.addEventListener('dragend', () =&amp;gt; {&lt;br /&gt;
                block.classList.remove('dragging');&lt;br /&gt;
                drawConnections();&lt;br /&gt;
                calculateCredits();&lt;br /&gt;
            });&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        columns.forEach(column =&amp;gt; {&lt;br /&gt;
            column.addEventListener('dragover', (e) =&amp;gt; {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                column.classList.add('drag-over');&lt;br /&gt;
                &lt;br /&gt;
                const draggingBlock = document.querySelector('.dragging');&lt;br /&gt;
                if (!draggingBlock) return;&lt;br /&gt;
&lt;br /&gt;
                const afterElement = getDragAfterElement(column, e.clientY);&lt;br /&gt;
                const electiveSec = column.querySelector('.elective-section');&lt;br /&gt;
                &lt;br /&gt;
                if (afterElement) {&lt;br /&gt;
                    // Якщо курсор знаходиться над обов'язковою зоною, але після неї є елементи вибіркової&lt;br /&gt;
                    if (electiveSec &amp;amp;&amp;amp; electiveSec.contains(afterElement) &amp;amp;&amp;amp; e.clientY &amp;lt; electiveSec.getBoundingClientRect().top) {&lt;br /&gt;
                        column.insertBefore(draggingBlock, electiveSec);&lt;br /&gt;
                    } else {&lt;br /&gt;
                        afterElement.parentNode.insertBefore(draggingBlock, afterElement);&lt;br /&gt;
                    }&lt;br /&gt;
                } else {&lt;br /&gt;
                    if (electiveSec &amp;amp;&amp;amp; e.clientY &amp;gt;= electiveSec.getBoundingClientRect().top) {&lt;br /&gt;
                        electiveSec.appendChild(draggingBlock);&lt;br /&gt;
                    } else if (electiveSec) {&lt;br /&gt;
                        column.insertBefore(draggingBlock, electiveSec);&lt;br /&gt;
                    } else {&lt;br /&gt;
                        column.insertBefore(draggingBlock, column.querySelector('.semester-summary'));&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
                drawConnections();&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            column.addEventListener('dragleave', () =&amp;gt; column.classList.remove('drag-over'));&lt;br /&gt;
            column.addEventListener('drop', () =&amp;gt; {&lt;br /&gt;
                column.classList.remove('drag-over');&lt;br /&gt;
                drawConnections();&lt;br /&gt;
                calculateCredits();&lt;br /&gt;
            });&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        function getDragAfterElement(column, y) {&lt;br /&gt;
            const draggableElements = [...column.querySelectorAll('.block:not(.dragging)')];&lt;br /&gt;
            return draggableElements.reduce((closest, child) =&amp;gt; {&lt;br /&gt;
                const box = child.getBoundingClientRect();&lt;br /&gt;
                const offset = y - box.top - box.height / 2;&lt;br /&gt;
                if (offset &amp;lt; 0 &amp;amp;&amp;amp; offset &amp;gt; closest.offset) {&lt;br /&gt;
                    return { offset: offset, element: child };&lt;br /&gt;
                } else {&lt;br /&gt;
                    return closest;&lt;br /&gt;
                }&lt;br /&gt;
            }, { offset: Number.NEGATIVE_INFINITY }).element;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        window.addEventListener('load', () =&amp;gt; {&lt;br /&gt;
            setTimeout(() =&amp;gt; {&lt;br /&gt;
                drawConnections();&lt;br /&gt;
                calculateCredits();&lt;br /&gt;
            }, 300);&lt;br /&gt;
        });&lt;br /&gt;
        window.addEventListener('resize', () =&amp;gt; {&lt;br /&gt;
            drawConnections();&lt;br /&gt;
        });&lt;br /&gt;
    &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;/div&gt;</summary>
		<author><name>S.V.Klimov</name></author>
	</entry>
</feed>