PageSourceSearch

https://vdi.org.vn/

html vdi.org.vn collected 2026-10-02 12:48:28 UTC 177,647 bytes, 3,728 lines download raw bytes

1<!--[ucBQPPublishingHome.ascx - Page_Load] 
2 Message: Index was out of range. Must be non-negative and less than the size of the collection.
3Parameter name: index
4 Stacktrace:    at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
5   at System.Collections.Generic.List`1.get_Item(Int32 index)
6   at TVSPortal.Video.ucTCQPPublishingVideoTrangChu.<>c.<Page_Load>b__21_0(VideoItem x)
7   at System.Collections.Generic.List`1.ForEach(Action`1 action)
8   at TVSPortal.Video.ucTCQPPublishingVideoTrangChu.Page_Load(Object sender, EventArgs e)-->
9<!DOCTYPE html >
10<html dir="ltr" lang="en-US">
11    <head><meta http-equiv="X-UA-Compatible" content="IE=10" /><meta name="GENERATOR" content="Microsoft SharePoint" /><meta http-equiv="Content-type" content="text/html; charset=utf-8" /><meta name="google-site-verification" content="5kcYEtZctiM2io37FCi_pFBZzDJVTfG6hNXKDtVkOr0" /><meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /><meta http-equiv="Expires" content="0" /><link rel="icon" href="/Publishing_Resources/CongThongTin/assets/images/favicon.ico" type="image/x-icon" /><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css" /><link rel="stylesheet" href="/Publishing_Resources/CongThongTin/styles/style.css" /><link href="https://fonts.googleapis.com/css2?family=Sarabun:wght@300;400;500;600;700&amp;display=swap" rel="stylesheet" /><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" />
12        <title>
13	
14				Tổng cục Công nghiệp Quốc phòng
15			
16</title>
17		<link id="CssLink-703078c2116d40e9915966b2d7b054c1" rel="stylesheet" type="text/css" href="/_layouts/15/1033/styles/Themable/corev15.css?rev=UP2nlZLed9gOy%2BMP38oz0A%3D%3DTAG0"/>
18<style id="SPThemeHideForms" type="text/css">body {opacity:0 !important}</style>
19		
19<script type="text/javascript">// <![CDATA[ 
20
21var g_SPOffSwitches={};
22// ]]>
23</script>
vendor: 2 bytes, line 23
23
24<script type="text/javascript" src="/_layouts/15/1033/initstrings.debug.js?rev=Obe9mPQdjba9mQMmou7a0Q%3D%3DTAG0"></script>
vendor: 1 bytes, line 24
24
25<script type="text/javascript" src="/_layouts/15/init.debug.js?rev=pvn7xemfHR7reVOCABFQ%2BA%3D%3DTAG0"></script>
vendor: 1 bytes, line 25
25
26<script type="text/javascript" src="/_layouts/15/theming.js?rev=SuLUbbwTXcxFWOWLFUsOkw%3D%3DTAG0"></script>
vendor: 1 bytes, line 26
26
27<script type="text/javascript" src="/ScriptResource.axd?d=iDBW-8MsUEj05bDJQbWPNvxR-iRkt6X21EPwiUW60ED9romTrI7hG8LWW5UKcy5LTRu64JydtuFiOV5xAtwABb8wEtxfui0y_YZTHq-GJN3lJTnnnFnfJUlbqYIV9udINSuK0wwycgLCVbqlIp5X2pFOhfj4VrGDqm7Q-fjwYAJTEH5_OYgm5XOk-khc8VSb0&amp;t=74a40145"></script>
vendor: 1 bytes, line 27
27
28<script type="text/javascript" src="/_layouts/15/blank.js?rev=c3ZdPP%2B17MzLbz9osLMSCw%3D%3DTAG0"></script>
vendor: 1 bytes, line 28
28
29<script type="text/javascript" src="/ScriptResource.axd?d=9pTnQgbiomlhAzux3aUdYKlqe6NTHjIxZ1ksipULNn9pyzZpto4OoVzOu8tqMOD7B4wOzt2kNDmHWwRRQilXoGqiJj_ZggVrbgXxMbP7SZb3rm_IpHBNCFhrHX9moSRGZUnHDXD59IV-eMXb2spcKcL3yjezG9ZxqcPxdTYG-I75C6JHDtajvVI71V1N9fcPF2FlHcODytfnAKIdnWDQLg2&amp;t=74a40145"></script>
vendor: 1 bytes, line 29
29
30<script type="text/javascript">RegisterSod("require.js", "\u002f_layouts\u002f15\u002frequire.js?rev=bv3fWJhk0uFGpVwBxnZKNQ\u00253D\u00253DTAG0");</script>
vendor: 1 bytes, line 30
30
31<script type="text/javascript">RegisterSod("strings.js", "\u002f_layouts\u002f15\u002f1033\u002fstrings.debug.js?rev=WXemuDwxiJVfPoAinG7MeQ\u00253D\u00253DTAG0");</script>
vendor: 1 bytes, line 31
31
32<script type="text/javascript">RegisterSod("sp.res.resx", "\u002f_layouts\u002f15\u002f1033\u002fsp.res.js?rev=FnWveYddVjlqQYS2ZBOOzA\u00253D\u00253DTAG0");</script>
vendor: 1 bytes, line 32
32
33<script type="text/javascript">RegisterSod("sp.runtime.js", "\u002f_layouts\u002f15\u002fsp.runtime.debug.js?rev=yxIb4ZafttVMqR\u00252Fhcji\u00252BGQ\u00253D\u00253DTAG0");RegisterSodDep("sp.runtime.js", "sp.res.resx");</script>
vendor: 1 bytes, line 33
33
34<script type="text/javascript">RegisterSod("sp.js", "\u002f_layouts\u002f15\u002fsp.debug.js?rev=fcMKcsCVi7\u00252FwOAjN4YJnFA\u00253D\u00253DTAG0");RegisterSodDep("sp.js", "sp.runtime.js");RegisterSodDep("sp.js", "sp.ui.dialog.js");RegisterSodDep("sp.js", "sp.res.resx");</script>
vendor: 1 bytes, line 34
34
35<script type="text/javascript">RegisterSod("sp.init.js", "\u002f_layouts\u002f15\u002fsp.init.debug.js?rev=4wAvJARSjgQzMuV2LeDfEw\u00253D\u00253DTAG0");</script>
vendor: 1 bytes, line 35
35
36<script type="text/javascript">RegisterSod("sp.ui.dialog.js", "\u002f_layouts\u002f15\u002fsp.ui.dialog.debug.js?rev=uBp8RwIxG6xvP5\u00252FVjiwssg\u00253D\u00253DTAG0");RegisterSodDep("sp.ui.dialog.js", "sp.init.js");RegisterSodDep("sp.ui.dialog.js", "sp.res.resx");</script>
vendor: 1 bytes, line 36
36
37<script type="text/javascript">RegisterSod("core.js", "\u002f_layouts\u002f15\u002fcore.debug.js?rev=gdi\u00252BMnaMotfZH631xL96BA\u00253D\u00253DTAG0");RegisterSodDep("core.js", "strings.js");</script>
vendor: 1 bytes, line 37
37
38<script type="text/javascript">RegisterSod("menu.js", "\u002f_layouts\u002f15\u002fmenu.debug.js?rev=HDtI4xABmOAi7OjENBGhJQ\u00253D\u00253DTAG0");</script>
vendor: 1 bytes, line 38
38
39<script type="text/javascript">RegisterSod("mQuery.js", "\u002f_layouts\u002f15\u002fmquery.debug.js?rev=wGQMaOB9CDf25Pzx3x9VHQ\u00253D\u00253DTAG0");</script>
vendor: 1 bytes, line 39
39
40<script type="text/javascript">RegisterSod("callout.js", "\u002f_layouts\u002f15\u002fcallout.debug.js?rev=BbpsDbtCRyu62YiT98J1nA\u00253D\u00253DTAG0");RegisterSodDep("callout.js", "strings.js");RegisterSodDep("callout.js", "mQuery.js");RegisterSodDep("callout.js", "core.js");</script>
vendor: 1 bytes, line 40
40
41<script type="text/javascript">RegisterSod("sp.core.js", "\u002f_layouts\u002f15\u002fsp.core.debug.js?rev=g37f\u00252BoR5\u00252FYY6cJvoP6UDZA\u00253D\u00253DTAG0");RegisterSodDep("sp.core.js", "strings.js");RegisterSodDep("sp.core.js", "sp.init.js");RegisterSodDep("sp.core.js", "core.js");</script>
vendor: 1 bytes, line 41
41
42<script type="text/javascript">RegisterSod("clienttemplates.js", "\u002f_layouts\u002f15\u002fclienttemplates.debug.js?rev=MD9R07hYM0bMRh80hEyfzg\u00253D\u00253DTAG0");</script>
vendor: 1 bytes, line 42
42
43<script type="text/javascript">RegisterSod("sharing.js", "\u002f_layouts\u002f15\u002fsharing.debug.js?rev=61ouURS7kzuQ8tELSzF08g\u00253D\u00253DTAG0");RegisterSodDep("sharing.js", "strings.js");RegisterSodDep("sharing.js", "mQuery.js");RegisterSodDep("sharing.js", "clienttemplates.js");RegisterSodDep("sharing.js", "core.js");</script>
vendor: 1 bytes, line 43
43
44<script type="text/javascript">RegisterSod("suitelinks.js", "\u002f_layouts\u002f15\u002fsuitelinks.debug.js?rev=WQ9C6g\u00252F3d24SEqu6eN3yVA\u00253D\u00253DTAG0");RegisterSodDep("suitelinks.js", "strings.js");RegisterSodDep("suitelinks.js", "core.js");</script>
vendor: 1 bytes, line 44
44
45<script type="text/javascript">RegisterSod("userprofile", "\u002f_layouts\u002f15\u002fsp.userprofiles.debug.js?rev=0IOks9yleEgyg\u00252FcGHXSLxA\u00253D\u00253DTAG0");RegisterSodDep("userprofile", "sp.runtime.js");</script>
vendor: 1 bytes, line 45
45
46<script type="text/javascript">RegisterSod("followingcommon.js", "\u002f_layouts\u002f15\u002ffollowingcommon.debug.js?rev=YVkhU52f3GGHH1U\u00252F1C2xBg\u00253D\u00253DTAG0");RegisterSodDep("followingcommon.js", "strings.js");RegisterSodDep("followingcommon.js", "sp.js");RegisterSodDep("followingcommon.js", "userprofile");RegisterSodDep("followingcommon.js", "core.js");RegisterSodDep("followingcommon.js", "mQuery.js");</script>
vendor: 1 bytes, line 46
46
47<script type="text/javascript">RegisterSod("profilebrowserscriptres.resx", "\u002f_layouts\u002f15\u002f1033\u002fprofilebrowserscriptres.js?rev=qwf69WaVc1mYlJLXqmZmVA\u00253D\u00253DTAG0");</script>
vendor: 1 bytes, line 47
47
48<script type="text/javascript">RegisterSod("sp.ui.mysitecommon.js", "\u002f_layouts\u002f15\u002fsp.ui.mysitecommon.debug.js?rev=5cjuUN9PWwnw6sfFYAuviQ\u00253D\u00253DTAG0");RegisterSodDep("sp.ui.mysitecommon.js", "sp.init.js");RegisterSodDep("sp.ui.mysitecommon.js", "sp.runtime.js");RegisterSodDep("sp.ui.mysitecommon.js", "userprofile");RegisterSodDep("sp.ui.mysitecommon.js", "profilebrowserscriptres.resx");</script>
vendor: 1 bytes, line 48
48
49<script type="text/javascript">RegisterSod("browserScript", "\u002f_layouts\u002f15\u002fie55up.debug.js?rev=Lh\u00252FIoXhmkzMD3ChYtxmfrg\u00253D\u00253DTAG0");RegisterSodDep("browserScript", "strings.js");</script>
vendor: 1 bytes, line 49
49
50<script type="text/javascript">RegisterSod("inplview", "\u002f_layouts\u002f15\u002finplview.debug.js?rev=6\u00252F5LCpuRBC58th0exFWTiQ\u00253D\u00253DTAG0");RegisterSodDep("inplview", "strings.js");RegisterSodDep("inplview", "core.js");RegisterSodDep("inplview", "clienttemplates.js");RegisterSodDep("inplview", "sp.js");</script>
50
51<link type="text/xml" rel="alternate" href="/Public/_vti_bin/spsdisco.aspx" />
52            
53            
54            <!-- _lcid="1033" _version="16.0.10417" _dal="1" -->
55<!-- _LocalBinding -->
56
57<link rel="canonical" href="https://vdi.org.vn:443/Public/Pages/Index.aspx" />
58            
59            
60        <span id="DeltaSPWebPartManager">
61            
62        </span>	
63		<!-- Google tag (gtag.js) -->
vendor: 65 bytes, lines 63-64
63
64<script async src="https://www.googletagmanager.com/gtag/js?id=
64G-WCMYQ3H8ST
vendor: 13 bytes, line 64
64"></script>
65<script>
66  
vendor: 138 bytes, lines 66-70
66window.dataLayer = window.dataLayer || [];
67  function gtag(){dataLayer.push(arguments);}
68  gtag('js', new Date());
69
70  gtag('config', '
70G-WCMYQ3H8ST
vendor: 5 bytes, line 70
70');
71</script>
71
72    </head>
73    <body onhashchange="if (typeof(_spBodyOnHashChange) != 'undefined') _spBodyOnHashChange();">
74        
75        
76		
77        
78		<form method="post" action="./" onsubmit="javascript:return WebForm_OnSubmit();" id="aspnetForm">
79<div class="aspNetHidden">
80<input type="hidden" name="_wpcmWpid" id="_wpcmWpid" value="" />
81<input type="hidden" name="wpcmVal" id="wpcmVal" value="" />
82<input type="hidden" name="MSOWebPartPage_PostbackSource" id="MSOWebPartPage_PostbackSource" value="" />
83<input type="hidden" name="MSOTlPn_SelectedWpId" id="MSOTlPn_SelectedWpId" value="" />
84<input type="hidden" name="MSOTlPn_View" id="MSOTlPn_View" value="0" />
85<input type="hidden" name="MSOTlPn_ShowSettings" id="MSOTlPn_ShowSettings" value="False" />
86<input type="hidden" name="MSOGallery_SelectedLibrary" id="MSOGallery_SelectedLibrary" value="" />
87<input type="hidden" name="MSOGallery_FilterString" id="MSOGallery_FilterString" value="" />
88<input type="hidden" name="MSOTlPn_Button" id="MSOTlPn_Button" value="none" />
89<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
90<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
91<input type="hidden" name="__REQUESTDIGEST" id="__REQUESTDIGEST" value="noDigest" />
92<input type="hidden" name="MSOSPWebPartManager_DisplayModeName" id="MSOSPWebPartManager_DisplayModeName" value="Browse" />
93<input type="hidden" name="MSOSPWebPartManager_ExitingDesignMode" id="MSOSPWebPartManager_ExitingDesignMode" value="false" />
94<input type="hidden" name="MSOWebPartPage_Shared" id="MSOWebPartPage_Shared" value="" />
95<input type="hidden" name="MSOLayout_LayoutChanges" id="MSOLayout_LayoutChanges" value="" />
96<input type="hidden" name="MSOLayout_InDesignMode" id="MSOLayout_InDesignMode" value="" />
97<input type="hidden" name="_wpSelected" id="_wpSelected" value="" />
98<input type="hidden" name="_wzSelected" id="_wzSelected" value="" />
99<input type="hidden" name="MSOSPWebPartManager_OldDisplayModeName" id="MSOSPWebPartManager_OldDisplayModeName" value="Browse" />
100<input type="hidden" name="MSOSPWebPartManager_StartWebPartEditingName" id="MSOSPWebPartManager_StartWebPartEditingName" value="false" />
101<input type="hidden" name="MSOSPWebPartManager_EndWebPartEditing" id="MSOSPWebPartManager_EndWebPartEditing" value="false" />
102<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="Ck/p0fZB/7gxu0qVCFp2lOC8PIGQicQc5JABFEmyeHsBD6eQp/BORxGYRUNYLOtUJ/2SOy3K8ZH0g7fLa1RTPtzMuCeSyEv0dCNCRuztuqT4Kz8wWwKnLL1wxPleiYn3HutWxahzZoHuZWShW8WykXmf7RuwwrMBMBk910zpq90t4saWwiYSlRQ0jAefyV/jjzMAsMbgdLxM+iBk3ZqWB5EweMzNFd18F0boaIz5qU8xodT52NdHQSqRQdw9pmTg11f/v9MZKW2bNV2l/1FZWb5b2PkO0pRMnZd1/+lcnk14/nVDdSP8thUOGccW+rQpBCwBw9+Oqb7ncHJt/XHUcwyqb27omJBzY13iY4fJFUdTUJ7LXGPpQu2LkLxBdZIkIMDfSt+GmkzocIZ4uS7P9zqNXbW1WRI0wC2i2k0khuqnCFfVycQa1l97G/rELY5p8x0dbiv2LZ7pjlSN/81VqkSQ4FHj9wOmHTqgMNUVMRfBiUDkd5kqCUvSIIe/dvJSYTjvtRF5Dtkwpa2YBK4XUti5Hpmjej/cgUcvxPs1qjGQOJKC9m1p27JQXcRhl2P5LXP+gagJRRg0QDGeTck8U5rKjsAGOnB1CzW4XWZyQzjgzfhBb34Xko37j3/PSd86J8gLhDoZCb1kTYVboX65TPqaPR5t3zfsRPQxxUfcikoMSV3ERFI/I0iyTDYBcqwisP9Bbv3rXHYqXFkssUK7cSoTr2gST4q/ixMdSXew9kN9KWtJ330vpTsBIgrcpJgoKk2EdZ3lbqlyVzZ/oNC8bFCB7UilbB1A0u8N4YbBf7r1P3CPq/LMfJf+WrXUJDYa" />
103</div>
104
105<script type="text/javascript">
106//<![CDATA[
107var theForm = document.forms['aspnetForm'];
108if (!theForm) {
109    theForm = document.aspnetForm;
110}
111function __doPostBack(eventTarget, eventArgument) {
112    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
113        theForm.__EVENTTARGET.value = eventTarget;
114        theForm.__EVENTARGUMENT.value = eventArgument;
115        theForm.submit();
116    }
117}
118//]]>
119</script>
119
120
121
122<script src="/WebResource.axd?d=hhLnSkuJOjRhne1p4eMdSaBi8ERUFNLFyqoUbxJi_RDVxbGYaxoHLJ7b-F4ATscSoRsrfQDK0NEVitQLQFMkEmSORk9DKSgR1_5ENc0bccM1&amp;t=638883523099574018" type="text/javascript"></script>
122
123
124
125<script type="text/javascript">
126//<![CDATA[
127var MSOWebPartPageFormName = 'aspnetForm';
128var g_presenceEnabled = true;
129var g_wsaEnabled = false;
130
131var g_correlationId = '54ed40a2-f91e-0078-3761-a60b8fe1a818';
132var g_wsaQoSEnabled = false;
133var g_wsaQoSDataPoints = [];
134var g_wsaRUMEnabled = false;
135var g_wsaLCID = 1033;
136var g_wsaListTemplateId = 850;
137var g_wsaSiteTemplateId = 'CMSPUBLISHING#0';
138var _spPageContextInfo={"webServerRelativeUrl":"/Public","webAbsoluteUrl":"https://vdi.org.vn/Public","viewId":"","listId":"{a7fef96a-77ec-45f7-8ea3-769a547e8083}","listPermsMask":{"High":16,"Low":196673},"listUrl":"/Public/Pages","listTitle":"Pages","listBaseTemplate":850,"viewOnlyExperienceEnabled":false,"blockDownloadsExperienceEnabled":false,"idleSessionSignOutEnabled":false,"cdnPrefix":"","siteAbsoluteUrl":"https://vdi.org.vn","siteId":"{fdb5fe46-6074-4623-a514-d25bbef6be54}","showNGSCDialogForSyncOnTS":false,"supportPoundStorePath":true,"supportPercentStorePath":true,"siteSubscriptionId":null,"CustomMarkupInCalculatedFieldDisabled":true,"AllowCustomMarkupInCalculatedField":false,"isSPO":false,"farmLabel":null,"serverRequestPath":"/Public/Pages/Index.aspx","layoutsUrl":"_layouts/15","webId":"{ebebe186-259f-4cdb-9a14-50f0cd1872c3}","webTitle":"Tổng cục Công nghiệp Quốc phòng","webTemplate":"39","webTemplateConfiguration":"CMSPUBLISHING#0","webDescription":"Tổng cục Công nghiệp Quốc phòng","tenantAppVersion":"0","isAppWeb":false,"webLogoUrl":"_layouts/15/images/siteicon.png","webLanguage":1033,"currentLanguage":1033,"currentUICultureName":"en-US","currentCultureName":"en-US","currentCultureLCID":1033,"env":null,"nid":0,"fid":0,"serverTime":"2026-10-02T12:48:10.7585074Z","siteClientTag":"750$$16.0.10417.20153","crossDomainPhotosEnabled":false,"openInClient":false,"Has2019Era":true,"webUIVersion":15,"webPermMasks":{"High":16,"Low":196673},"pageListId":"{a7fef96a-77ec-45f7-8ea3-769a547e8083}","pageItemId":90,"pagePermsMask":{"High":16,"Low":196673},"pagePersonalizationScope":1,"userEmail":"","userId":0,"userLoginName":null,"userDisplayName":null,"isAnonymousUser":true,"isAnonymousGuestUser":false,"isEmailAuthenticationGuestUser":false,"isExternalGuestUser":false,"systemUserKey":null,"alertsEnabled":false,"siteServerRelativeUrl":"/","allowSilverlightPrompt":"True","themeCacheToken":"/Public::1:","themedCssFolderUrl":null,"themedImageFileNames":null,"modernThemingEnabled":true,"isSiteAdmin":false,"ExpFeatures":[480216468,1884350801,1158731092,62197791,538521105,335811073,4194306,34614301,268500996,-1946025984,28445328,-2147475455,134291456,65536,288,950272,1282,808326148,134217873,0,0,-1073217536,545285252,18350656,-467402752,6291457,-2147483644,1074794496,-1728053184,1845537108,622628,4102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"killSwitches":{},"InternalValidAuthorities":["sphost01:82","sphost01:92","10.0.0.10:446","xuctienthuongmai.vdi.org.vn","180.50.50.10:446","xuctienthuongmai.vdi.org.vn:446","tapchi.vdi.org.vn:448","sphost01:81","tapchi.vdi.org.vn","sphost01:91","10.0.0.10:448","180.50.50.10:448","sphost01","10.0.0.10","sphost01:90","vdi.org.vn","180.50.50.10","sphost01:83","10.0.0.10:447","sphost01:93","vietnamdefence.vdi.org.vn","vietnamdefence.vdi.org.vn:447","180.50.50.10:447"],"CorrelationId":"54ed40a2-f91e-0078-3761-a60b8fe1a818","hasManageWebPermissions":false,"isNoScriptEnabled":false,"groupId":null,"groupHasHomepage":true,"groupHasQuickLaunchConversationsLink":false,"departmentId":null,"hubSiteId":null,"hasPendingWebTemplateExtension":false,"isHubSite":false,"isWebWelcomePage":true,"siteClassification":"","hideSyncButtonOnODB":false,"showNGSCDialogForSyncOnODB":false,"sitePagesEnabled":false,"sitePagesFeatureVersion":0,"DesignPackageId":"00000000-0000-0000-0000-000000000000","groupType":null,"groupColor":"#d40ac7","siteColor":"#d40ac7","headerEmphasis":0,"navigationInfo":null,"guestsEnabled":false,"MenuData":{"SignInUrl":"/Public/_layouts/15/Authenticate.aspx?Source=%2F"},"RecycleBinItemCount":-1,"PublishingFeatureOn":true,"PreviewFeaturesEnabled":false,"disableAppViews":false,"disableFlows":false,"serverRedirectedUrl":null,"formDigestValue":"0x60E43E2C4B8A8084A9390BE180D10D318900FFAA192E4F985DD09938B00981545E00AF042CC3E6
1387FB5B3C9C90778567B36F61B73010D5E69049239C5F17A521D,02 Oct 2026 12:48:10 -0000","maximumFileSize":10240,"formDigestTimeoutSeconds":1800,"canUserCreateMicrosoftForm":false,"canUserCreateVisioDrawing":true,"readOnlyState":null,"isTenantDevSite":false,"preferUserTimeZone":false,"userTimeZoneData":null,"userTime24":false,"userFirstDayOfWeek":null,"webTimeZoneData":null,"webTime24":false,"webFirstDayOfWeek":null,"isSelfServiceSiteCreationEnabled":null,"alternateWebAppHost":"","aadTenantId":"","aadUserId":"","aadInstanceUrl":"","msGraphEndpointUrl":"https://","allowInfectedDownload":true};_spPageContextInfo.updateFormDigestPageLoaded=new Date();_spPageContextInfo.clientServerTimeDelta=new Date(_spPageContextInfo.serverTime)-new Date();if(typeof(define)=='function'){define('SPPageContextInfo',[],function(){return _spPageContextInfo;});}var L_Menu_BaseUrl="/Public";
139var L_Menu_LCID="1033";
140var L_Menu_SiteTheme="null";
141document.onreadystatechange=fnRemoveAllStatus; function fnRemoveAllStatus(){removeAllStatus(true)};Flighting.ExpFeatures = [480216468,1884350801,1158731092,62197791,538521105,335811073,4194306,34614301,268500996,-1946025984,28445328,-2147475455,134291456,65536,288,950272,1282,808326148,134217873,0,0,-1073217536,545285252,18350656,-467402752,6291457,-2147483644,1074794496,-1728053184,1845537108,622628,4102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]; (function()
142{
143    if(typeof(window.SP) == "undefined") window.SP = {};
144    if(typeof(window.SP.YammerSwitch) == "undefined") window.SP.YammerSwitch = {};
145
146    var ysObj = window.SP.YammerSwitch;
147    ysObj.IsEnabled = false;
148    ysObj.TargetYammerHostName = "www.yammer.com";
149} )(); var _spWebPartComponents = new Object();//]]>
150</script>
150
151
152<script src="/_layouts/15/blank.js?rev=c3ZdPP%2B17MzLbz9osLMSCw%3D%3DTAG0" type="text/javascript"></script>
vendor: 2 bytes, line 152
152
153<script type="text/javascript">
154//<![CDATA[
155if (typeof(Sys) === 'undefined') throw new Error('ASP.NET Ajax client-side framework failed to load.');
156//]]>
157</script>
157
158
159<script type="text/javascript">
160//<![CDATA[
161window.SPThemeUtils && SPThemeUtils.RegisterCssReferences([{"Url":"\u002f_layouts\u002f15\u002f1033\u002fstyles\u002fThemable\u002fcorev15.css?rev=UP2nlZLed9gOy\u00252BMP38oz0A\u00253D\u00253DTAG0","OriginalUrl":"\u002f_layouts\u002f15\u002f1033\u002fstyles\u002fThemable\u002fcorev15.css?rev=UP2nlZLed9gOy\u00252BMP38oz0A\u00253D\u00253DTAG0","Id":"CssLink-703078c2116d40e9915966b2d7b054c1","ConditionalExpression":"","After":"","RevealToNonIE":"false"}]);
162(function(){
163
164        if (typeof(_spBodyOnLoadFunctions) === 'undefined' || _spBodyOnLoadFunctions === null) {
165            return;
166        }
167        _spBodyOnLoadFunctions.push(function() {
168            SP.SOD.executeFunc('core.js', 'FollowingDocument', function() { FollowingDocument(); });
169        });
170    })();(function(){
171
172        if (typeof(_spBodyOnLoadFunctions) === 'undefined' || _spBodyOnLoadFunctions === null) {
173            return;
174        }
175        _spBodyOnLoadFunctions.push(function() {
176            SP.SOD.executeFunc('core.js', 'FollowingCallout', function() { FollowingCallout(); });
177        });
178    })();if (typeof(DeferWebFormInitCallback) == 'function') DeferWebFormInitCallback();function WebForm_OnSubmit() {
179UpdateFormDigest('\u002fPublic', 1440000);if (typeof(_spFormOnSubmitWrapper) != 'undefined') {return _spFormOnSubmitWrapper();} else {return true;};
180return true;
181}
182//]]>
183</script>
183
184
185<div class="aspNetHidden">
186
187	<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="E75E4FE5" />
188	<input type="hidden" name="__VIEWSTATEENCRYPTED" id="__VIEWSTATEENCRYPTED" value="" />
189</div>
190        
191		
191<script type="text/javascript">
192//<![CDATA[
193Sys.WebForms.PageRequestManager._initialize('ctl00$ScriptManager', 'aspnetForm', [], [], [], 90, 'ctl00');
194//]]>
195</script>
195
196
197		
198		<div>
199	
200			<div id="TurnOnAccessibility" style="display: none" class="s4-notdlg noindex">
201				<a id="linkTurnOnAcc" href="#" class="ms-accessible ms-acc-button" onclick="SetIsAccessibilityFeatureEnabled(true);UpdateAccessibilityUI();document.getElementById('linkTurnOffAcc').focus();return false;">
202					Turn on more accessible mode
203				</a>
204			</div>
205			<div id="TurnOffAccessibility" style="display: none" class="s4-notdlg noindex">
206				<a id="linkTurnOffAcc" href="#" class="ms-accessible ms-acc-button" onclick="SetIsAccessibilityFeatureEnabled(false);UpdateAccessibilityUI();document.getElementById('linkTurnOnAcc').focus();return false;">
207					Turn off more accessible mode
208				</a>
209			</div>
210		
211</div>
212        
213		<div id="ms-designer-ribbon">
214			<div>
215	
216	<div id="s4-ribbonrow" style="visibility:hidden;display:none"></div>
217
218</div>
219
220
221		</div>
222        
223		<div id="s4-workspace">
224            <div id="s4-bodyContainer">
225				   	<div id="ctl00_g_9e11e68b_8166_49ea_bf31_1ebf37d22463" WebPart="true" LoaiMenu="0" GiaTriSX="False" MenuRootID="0" __WebPartId="{9e11e68b_8166_49ea_bf31_1ebf37d22463}" __MarkupType="vsattributemarkup">
226	
227
228<div class="site-header-banner">
229    <div class="site-header-banner-inner">
230        <a href="/" class="site-header-banner-link">
231            <img src="/Publishing_Resources/CongThongTin/assets/images/Untitled design.png" alt="Tổng cục Công nghiệp Quốc phòng" class="site-header-banner-img">
232        </a>
233        <div class="mobile-menu-btn">
234            <i class="fas fa-bars"></i>
235        </div>
236    </div>
237</div>
238<nav class="header-menu" aria-label="Menu chính">
239        <div class="container">
240            <div class="header-menu-inner">
241                <div class="header-menu-top">
242                    <nav class="main-menu">
243                        <ul class="menu-list">
244                            <li class="menu-item">
245                                <a href="/" class="home-link">
246                                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
247                                        <path d="M20.04 6.82L14.28 2.79C12.71 1.69 10.3 1.75 8.78999 2.92L3.77999 6.83C2.77999 7.61 1.98999 9.21 1.98999 10.47V17.37C1.98999 19.92 4.05999 22 6.60999 22H17.39C19.94 22 22.01 19.93 22.01 17.38V10.6C22.01 9.25 21.14 7.59 20.04 6.82ZM12.75 18C12.75 18.41 12.41 18.75 12 18.75C11.59 18.75 11.25 18.41 11.25 18V15C11.25 14.59 11.59 14.25 12 14.25C12.41 14.25 12.75 14.59 12.75 15V18Z" fill="currentColor" />
248                                    </svg>
249                                </a>
250                            </li>
251                            
252                            <li class="menu-item" data-target="menu-item-data-51">
253                                
254                                <a href="">Giới thiệu<i class="fas fa-chevron-down"></i></a>
255                                <ul class="simple-dropdown">
256                                    
257                                    <li><a href="/gioi-thieu.html#TongQuan">Tổng quan</a></li>
258                                    
259                                    <li><a href="/gioi-thieu.html#tran-dai-nghia">GS.Trần Đại Nghĩa</a></li>
260                                    
261                                    <li><a href="/gioi-thieu.html#LDHN">L&#227;nh đạo hiện nay</a></li>
262                                    
263                                    <li><a href="/gioi-thieu.html#CCTC">Cơ cấu tổ chức</a></li>
264                                    
265                                    <li><a href="/gioi-thieu.html#DVTV">Đơn vị th&#224;nh vi&#234;n</a></li>
266                                    
267                                </ul>
268                                
269                            </li>
270                            
271                            <li class="menu-item" data-target="menu-item-data-52">
272                                
273                                <a href="">Sản phẩm</a>
274                                
275                            </li>
276                            
277                            <li class="menu-item" data-target="menu-item-data-53">
278                                
279                                <a href="">Tin tức - sự kiện<i class="fas fa-chevron-down"></i></a>
280                                <ul class="simple-dropdown">
281                                    
282                                    <li><a href="/tin-tuc/tin-hoat-dong-d101.html">Tin hoạt động</a></li>
283                                    
284                                    <li><a href="/tin-tuc/xuc-tien-thuong-mai-d102.html">X&#250;c tiến thương mại</a></li>
285                                    
286                                    <li><a href="/tin-tuc/tin-tong-hop-d104.html">Tin tổng hợp</a></li>
287                                    
288                                    <li><a href="/tin-tuc/bdkt-va-chuyen-doi-so-d105.html">BĐKT v&#224; Chuyển đổi số</a></li>
289                                    
290                                    <li><a href="/tin-tuc/bau-cu-dbqh-va-hdnd-cac-cap-d106.html">Bầu cử ĐBQH v&#224; HĐND c&#225;c cấp</a></li>
291                                    
292                                </ul>
293                                
294                            </li>
295                            
296                            <li class="menu-item" data-target="menu-item-data-54">
297                                
298                                <a href="/van-ban/van-ban-quy-pham.html">Văn bản ph&#225;p luật</a>
299                                
300                            </li>
301                            
302                            <li class="menu-item" data-target="menu-item-data-55">
303                                
304                                <a href="/lien-he.html">Li&#234;n hệ</a>
305                                
306                            </li>
307                            
308                            <li class="menu-item" data-target="menu-item-data-56">
309                                
310                                <a href="">Đa phương tiện<i class="fas fa-chevron-down"></i></a>
311                                <ul class="simple-dropdown">
312                                    
313                                    <li><a href="/video.html">Video</a></li>
314                                    
315                                    <li><a href="/hinh-anh.html">H&#236;nh ảnh</a></li>
316                                    
317                                </ul>
318                                
319                            </li>
320                            
321                        </ul>
322                    </nav>
323                    <div class="right-menu">
324                        <a class="search-btn" id="btnSearch">
325                            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
326                                <path d="M11 20C15.9706 20 20 15.9706 20 11C20 6.02944 15.9706 2 11 2C6.02944 2 2 6.02944 2 11C2 15.9706 6.02944 20 11 20Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
327                                <path d="M18.9304 20.6898C19.4604 22.2898 20.6704 22.4498 21.6004 21.0498C22.4504 19.7698 21.8904 18.7198 20.3504 18.7198C19.2104 18.7098 18.5704 19.5998 18.9304 20.6898Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
328                            </svg>
329                        </a>
330                        <div class="lang-switcher">
331                            <div class="lang-current">
332                                <img src="/Publishing_Resources/CongThongTin/assets/images/vn-language.png" alt="Vietnamese">
333                                <i class="fas fa-chevron-down"></i>
334                            </div>
335                            <ul class="lang-dropdown">
336                                <li>
337                                    <a href="/">
338                                        <img src="/Publishing_Resources/CongThongTin/assets/images/vn-language.png" alt="Vietnamese">
339                                        <span>Tiếng Việt</span>
340                                    </a>
341                                </li>
342                                <li>
343                                    <a href="/en">
344                                        <img src="/Publishing_Resources/CongThongTin/assets/images/en-language.png" alt="English">
345                                        <span>English</span>
346                                    </a>
347                                </li>
348                            </ul>
349                        </div>
350                    </div>
351                </div>
352
353            </div>
354        </div>
355</nav>
356<div class="mobile-menu">
357    <div class="mobile-menu-header">
358        <img src="/Publishing_Resources/CongThongTin/assets/images/logo.png" alt="logo-vdi">
359        <button type="button" class="close-menu">
360            <i class="fas fa-times"></i>
361        </button>
362    </div>
363    <nav class="mobile-nav">
364        <div class="mobile-lang-switcher">
365            <div class="lang-current">
366                <img src="/Publishing_Resources/CongThongTin/assets/images/vn-language.png" alt="Vietnamese">
367                <span>Tiếng Việt</span>
368                <i class="fas fa-chevron-down"></i>
369            </div>
370            <ul class="lang-dropdown">
371                <li>
372                    <a href="/">
373                        <img src="/Publishing_Resources/CongThongTin/assets/images/vn-language.png" alt="Vietnamese">
374                        <span>Tiếng Việt</span>
375                    </a>
376                </li>
377                <li>
378                    <a href="/en">
379                        <img src="/Publishing_Resources/CongThongTin/assets/images/en-language.png" alt="English">
380                        <span>English</span>
381                    </a>
382                </li>
383            </ul>
384        </div>
385        <ul class="mobile-menu-list">
386            <li class="mobile-menu-item">
387                <a href="/" class="home-link">
388                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
389                        <path d="M20.04 6.82L14.28 2.79C12.71 1.69 10.3 1.75 8.78999 2.92L3.77999 6.83C2.77999 7.61 1.98999 9.21 1.98999 10.47V17.37C1.98999 19.92 4.05999 22 6.60999 22H17.39C19.94 22 22.01 19.93 22.01 17.38V10.6C22.01 9.25 21.14 7.59 20.04 6.82ZM12.75 18C12.75 18.41 12.41 18.75 12 18.75C11.59 18.75 11.25 18.41 11.25 18V15C11.25 14.59 11.59 14.25 12 14.25C12.41 14.25 12.75 14.59 12.75 15V18Z" fill="currentColor" />
390                    </svg>
391                </a>
392            </li>
393            
394            <li class="menu-item" data-target="menu-item-data-51">
395                
396                <li class="mobile-menu-item">
397                    <a href="">Giới thiệu<i class="fas fa-chevron-down"></i></a>
398                    <ul class="mobile-submenu">
399                        
400                        <li><a href="/gioi-thieu.html#TongQuan">Tổng quan</a></li>
401                        
402                        <li><a href="/gioi-thieu.html#tran-dai-nghia">GS.Trần Đại Nghĩa</a></li>
403                        
404                        <li><a href="/gioi-thieu.html#LDHN">L&#227;nh đạo hiện nay</a></li>
405                        
406                        <li><a href="/gioi-thieu.html#CCTC">Cơ cấu tổ chức</a></li>
407                        
408                        <li><a href="/gioi-thieu.html#DVTV">Đơn vị th&#224;nh vi&#234;n</a></li>
409                        
410                    </ul>
411                </li>
412                
413            </li>
414            
415            <li class="menu-item" data-target="menu-item-data-52">
416                
417                <li class="mobile-menu-item">
418                    <a href="">Sản phẩm</a>
419                </li>
420                
421            </li>
422            
423            <li class="menu-item" data-target="menu-item-data-53">
424                
425                <li class="mobile-menu-item">
426                    <a href="">Tin tức - sự kiện<i class="fas fa-chevron-down"></i></a>
427                    <ul class="mobile-submenu">
428                        
429                        <li><a href="/tin-tuc/tin-hoat-dong-d101.html">Tin hoạt động</a></li>
430                        
431                        <li><a href="/tin-tuc/xuc-tien-thuong-mai-d102.html">X&#250;c tiến thương mại</a></li>
432                        
433                        <li><a href="/tin-tuc/tin-tong-hop-d104.html">Tin tổng hợp</a></li>
434                        
435                        <li><a href="/tin-tuc/bdkt-va-chuyen-doi-so-d105.html">BĐKT v&#224; Chuyển đổi số</a></li>
436                        
437                        <li><a href="/tin-tuc/bau-cu-dbqh-va-hdnd-cac-cap-d106.html">Bầu cử ĐBQH v&#224; HĐND c&#225;c cấp</a></li>
438                        
439                    </ul>
440                </li>
441                
442            </li>
443            
444            <li class="menu-item" data-target="menu-item-data-54">
445                
446                <li class="mobile-menu-item">
447                    <a href="/van-ban/van-ban-quy-pham.html">Văn bản ph&#225;p luật</a>
448                </li>
449                
450            </li>
451            
452            <li class="menu-item" data-target="menu-item-data-55">
453                
454                <li class="mobile-menu-item">
455                    <a href="/lien-he.html">Li&#234;n hệ</a>
456                </li>
457                
458            </li>
459            
460            <li class="menu-item" data-target="menu-item-data-56">
461                
462                <li class="mobile-menu-item">
463                    <a href="">Đa phương tiện<i class="fas fa-chevron-down"></i></a>
464                    <ul class="mobile-submenu">
465                        
466                        <li><a href="/video.html">Video</a></li>
467                        
468                        <li><a href="/hinh-anh.html">H&#236;nh ảnh</a></li>
469                        
470                    </ul>
471                </li>
472                
473            </li>
474            
475        </ul>
476    </nav>
477</div>
478
479<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
vendor: 2 bytes, line 479
479
480<script type="text/javascript">
481    $("#btnSearch").click(function () {
482        window.location.href = '/tim-kiem.html';
483    });
484</script>
484
485
486
487<style>
488/* Fix language dropdown cut off issue */
489.header-menu, .header-menu-inner, .header-menu-top, .right-menu, .lang-switcher {
490    overflow: visible !important;
491}
492.header-menu {
493    position: relative;
494    z-index: 9999 !important;
495}
496.lang-dropdown {
497    z-index: 99999 !important;
498}
499
500/* Simple dropdown styles */
501.header-menu .menu-list .menu-item {
502    position: relative;
503}
504.header-menu .menu-list .simple-dropdown {
505    position: absolute;
506    top: 100%;
507    left: 0;
508    z-index: 99999;
509    display: none;
510    background-color: #8a0307;
511    min-width: 250px;
512    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
513    list-style: none;
514    padding: 5px 0;
515    margin: 0;
516}
517.header-menu .menu-list .menu-item:hover .simple-dropdown {
518    display: block !important;
519}
520.header-menu .menu-list .simple-dropdown li {
521    padding: 0;
522    margin: 0;
523    display: block;
524}
525.header-menu .menu-list .simple-dropdown li a {
526    display: block;
527    padding: 10px 20px;
528    color: #fff !important;
529    text-decoration: none;
530    font-size: 14px;
531    text-transform: none !important;
532    white-space: nowrap;
533    text-align: left;
534}
535.header-menu .menu-list .simple-dropdown li a:hover,
536.header-menu .menu-list .simple-dropdown li a.current-page {
537    background-color: rgba(255, 255, 255, 0.1) !important;
538    color: #ffcc00 !important;
539}
540/* Highlight menu cha trên PC */
541.header-menu .menu-list .menu-item.current-page > a {
542    color: #ffcc00 !important;
543}
544/* Highlight menu con trên Mobile */
545.mobile-submenu li a.current-page {
546    color: #006b3a !important;
547    font-weight: bold;
548}
549/* Highlight menu cha trên Mobile */
550.mobile-menu-item > a.current-page {
551    color: #006b3a !important;
552}
553.menu-child-list {
554    display: none !important;
555}
556</style>
557
558<script>
559$(document).ready(function() {
560    // Đổi link PRODUCTS trỏ về trang xúc tiến thương mại
561    $('.main-menu a, .mobile-menu-item a, .main_menu a').each(function() {
562        var text = $(this).text().trim().toUpperCase();
563        if (text === 'SẢN PHẨM' || text === 'PRODUCTS') {
564            $(this).attr('href', 'https://xuctienthuongmai.vdi.org.vn/');
565            $(this).attr('target', '_blank'); // Tuỳ chọn mở tab mới
566            $(this).find('i.fa-chevron-down').remove();
567            $(this).parent().removeClass('menu-item-has-children');
568        }
569        if (text === 'TIN TỨC - SỰ KIỆN' || text === 'NEWS - EVENTS' || text === 'TIN TỨC - SỰ KIỆN ') {
570            $(this).attr('href', '/tin-tuc/tin-tuc-su-kien.html');
571        }
572    });
573
574    // Fix hành vi click menu cha trên mobile bằng Event Capture (ưu tiên chạy trước các script cũ)
575    var mobileLinks = document.querySelectorAll('.mobile-menu-item > a');
576    mobileLinks.forEach(function(link) {
577        if (link.nextElementSibling && link.nextElementSibling.classList.contains('mobile-submenu')) {
578            link.addEventListener('click', function(e) {
579                var isArrow = e.target.closest('i');
580
581                if (isArrow) {
582                    // Click vào mũi tên -> toggle
583                    e.preventDefault();
584                    e.stopImmediatePropagation();
585                    e.stopPropagation();
586                    link.classList.toggle('active');
587                } else {
588                    // Click vào chữ
589                    if (!link.classList.contains('active')) {
590                        // Lần 1: xổ menu
591                        e.preventDefault();
592                        e.stopImmediatePropagation();
593                        e.stopPropagation();
594                        link.classList.add('active');
595                    } else {
596                        // Lần 2: chuyển trang
597                        e.preventDefault();
598                        e.stopImmediatePropagation();
599                        e.stopPropagation();
600                        window.location.href = link.getAttribute('href');
601                    }
602                }
603            }, true); // true: Event Capture phase
604        }
605    });
606
607    // Fix lỗi không đóng menu khi click vào menu con & lỗi JS với tab không có nội dung
608    var subMenuLinks = document.querySelectorAll('.mobile-submenu a');
609    subMenuLinks.forEach(function(link) {
610        link.addEventListener('click', function(e) {
611            // Tự động đóng mobile menu
612            var closeBtn = document.querySelector('.close-menu');
613            if (closeBtn) {
614                closeBtn.click(); // giả lập hành động bấm nút X
615            }
616            // Đảm bảo menu bị ẩn ngay lập tức (dự phòng)
617            var mobileMenu = document.querySelector('.mobile-menu');
618            if (mobileMenu) mobileMenu.classList.remove('active');
619            
620            // Xử lý chặn lỗi JS ở main.js khi hash tab không tồn tại
621            var href = link.getAttribute('href');
622            if (href) {
623                var a = document.createElement('a');
624                a.href = href;
625                var aPath = a.pathname.startsWith('/') ? a.pathname : '/' + a.pathname;
626                var wPath = window.location.pathname.startsWith('/') ? window.location.pathname : '/' + window.location.pathname;
627                
628                // Nếu đang ở cùng trang
629                if (aPath === wPath || aPath === wPath + '.html' || aPath + '.html' === wPath) {
630                    var hash = a.hash;
631                    if (hash && hash.length > 1) {
632                        var targetId = hash.substring(1);
633                        // Nếu không tìm thấy id trên trang (tab không có nội dung)
634                        if (!document.getElementById(targetId)) {
635                            e.preventDefault(); // chặn event đổi hash mặc định (để không trigger hashchange gây lỗi main.js)
636                            if (history.pushState) {
637                                history.pushState(null, null, hash); // Chủ động đổi URL trên thanh địa chỉ
638                                highlightCurrentMenu(); // Cập nhật highlight sau khi pushState
639                            }
640                        }
641                    }
642                }
643            }
644        });
645    });
646
647    // --- LOGIC HIGHLIGHT MENU ---
648    function highlightCurrentMenu() {
649        var currentPath = window.location.pathname;
650        var currentHash = window.location.hash;
651        
652        // Remove current-page class everywhere
653        $('.current-page').removeClass('current-page');
654
655        // Tìm tất cả các link trong menu (cả PC và mobile)
656        $('.header-menu a, .mobile-menu a').each(function() {
657            var href = $(this).attr('href');
658            if (!href) return;
659            
660            var a = document.createElement('a');
661            a.href = href;
662            
663            var aPath = a.pathname.startsWith('/') ? a.pathname : '/' + a.pathname;
664            var wPath = currentPath.startsWith('/') ? currentPath : '/' + currentPath;
665            
666            var matchPath = (aPath === wPath || aPath === wPath + '.html' || aPath + '.html' === wPath);
667            
668            // Trang chá»§
669            if (href === '/' && currentPath === '/') {
670                $(this).addClass('current-page');
671                $(this).closest('.menu-item').addClass('current-page');
672                return;
673            }
674            if (href === '/') return;
675
676            if (matchPath) {
677                // Có hash
678                if (currentHash) {
679                    if (a.hash === currentHash) {
680                        $(this).addClass('current-page');
681                        // Highlight cả menu cha của PC nếu menu con được active
682                        $(this).closest('.menu-item').addClass('current-page');
683                        // Highlight menu cha cá»§a Mobile
684                        $(this).closest('.mobile-menu-item').children('a').addClass('current-page');
685                    }
686                } else {
687                    // Không có hash, link trùng path và không có hash
688                    if (!a.hash) {
689                        $(this).addClass('current-page');
690                        $(this).closest('.menu-item').addClass('current-page');
691                        $(this).closest('.mobile-menu-item').children('a').addClass('current-page');
692                    }
693                }
694            }
695        });
696        
697        // Tự động cuộn ngang thanh tab của trang giới thiệu để tab active luôn hiển thị ra giữa màn hình (đặc biệt cho mobile)
698        setTimeout(function() {
699            var targetHash = currentHash || '#TongQuan';
700            var targetTabLink = document.querySelector('.gioithieu-list-tab-news .tab-item a[href="' + targetHash + '"]');
701            if (targetTabLink) {
702                var activeTab = targetTabLink.parentElement;
703                var container = document.querySelector('.gioithieu-list-tab-news');
704                if (container) {
705                    var tabLeft = activeTab.offsetLeft;
706                    var tabWidth = activeTab.offsetWidth;
707                    var containerWidth = container.clientWidth;
708                    var scrollPos = tabLeft - (containerWidth / 2) + (tabWidth / 2);
709                    
710                    if (container.scrollTo) {
711                        container.scrollTo({ left: scrollPos, behavior: 'smooth' });
712                    } else {
713                        container.scrollLeft = scrollPos; // Fallback cho trình duyệt cũ
714                    }
715                }
716            }
717        }, 100);
718    }
719
720    // Chạy lúc load trang
721    highlightCurrentMenu();
722
723    // Chạy mỗi khi hash thay đổi (click back/forward hoặc click hash link)
724    $(window).on('hashchange', function() {
725        highlightCurrentMenu();
726    });
727});
728</script>
728
729
730</div>
731				   
732                    <div id="DeltaPlaceHolderMain">
733	
734                        <a id="mainContent" name="mainContent" tabindex="-1"></a>
735                        
736	
737	<main>
738		<div class="ms-webpart-zone ms-fullWidth">
739		<div id="MSOZoneCell_WebPartctl00_ctl43_g_47e52559_9551_42e7_abea_2ca7767d375f" class="s4-wpcell-plain ms-webpartzone-cell ms-webpart-cell-vertical-inline-table ms-webpart-cell-vertical ms-fullWidth ">
740			<div class="ms-webpart-chrome ms-webpart-chrome-vertical ms-webpart-chrome-fullWidth ">
741				<div WebPartID="47e52559-9551-42e7-abea-2ca7767d375f" HasPers="false" id="WebPartctl00_ctl43_g_47e52559_9551_42e7_abea_2ca7767d375f" width="100%" class="ms-WPBody noindex " allowDelete="false" allowExport="false" style="" ><div id="ctl00_ctl43_g_47e52559_9551_42e7_abea_2ca7767d375f">
742					
743
744
745
746<style>
747    @media (min-width: 992px) {
748        .hide-on-desktop {
749            display: none !important;
750        }
751    }
752</style>
753
754
755<section class="news-section news-latest-section display-grid">
756    <div class="container">
757        <div class="news-latest-header">
758            <h2 class="title-section">Tin mới nhất</h2>
759        </div>
760        <div class="news-latest-layout">
761            
762            <article class="news-latest-main">
763                <a href="/tin-tuc/tin-hoat-dong/tong-ket-trao-thuong-thanh-tich-tham-gia-hoi-thi-c-d101-t9819.html" class="item-img">
764                    <img src="https://tapchi.vdi.org.vn/quantri/knd/tintucvn/PublishingImages/TinTuc/AnhDaiDien/2026/09/att.zgjhc78hsft1fqh0atxecczmfhkcdtvzydtvzr0e5lk.jpeg" alt="Tổng kết, trao thưởng thành tích tham gia Hội thi cán bộ Đoàn giỏi và tuyên truyền viên trẻ toàn quân năm 2026">
765                </a>
766                <div class="item-content">
767                    <a href="/tin-tuc/tin-hoat-dong/tong-ket-trao-thuong-thanh-tich-tham-gia-hoi-thi-c-d101-t9819.html">
768                        <h3 class="title">Tổng kết, trao thưởng thành tích tham gia Hội thi cán bộ Đoàn giỏi và tuyên truyền viên trẻ toàn quân năm 2026</h3>
769                    </a>
770                    
771                    <div class="date">
772                        <i class="fa-regular fa-clock"></i>
773                        <span>30/09/2026 18:39:00</span>
774                    </div>
775                    
776                    <p class="des">CNQP&KT - Chiều 30/9, tại Nhà máy Z115, Tổng cục Công nghiệp quốc phòng (CNQP) tổ chức Hội nghị tổng kết, trao thưởng thành tích trong tham mưu, tổ chức tham gia Hội thi cán bộ Đoàn giỏi và tuyên truyền viên trẻ toàn quân năm 2026. Thiếu tướng Nguyễn Đức Tăng, Ủy viên Thường vụ Đảng ủy, Phó Chính ủy Tổng cục CNQP dự và phát biểu chỉ đạo.</p>
777                    
778                </div>
779            </article>
780
781            
782            <div class="news-latest-grid">
783                
784                <article class="news-latest-item">
785                    <a href="/tin-tuc/tin-tong-hop/huy-dong-chuyen-gia-nha-khoa-hoc-tham-gia-xay-dung-d104-t9669.html" class="item-img">
786                        <img src="/media/uploads/image/2024/10/11/123_3mHmjGw.jpg" alt="Huy động chuyên gia, nhà khoa học tham gia xây dựng các văn bản đạt chất lượng">
787                    </a>
788                    <div class="item-content">
789                        <a href="/tin-tuc/tin-tong-hop/huy-dong-chuyen-gia-nha-khoa-hoc-tham-gia-xay-dung-d104-t9669.html">
790                            <h4 class="title">Huy động chuyên gia, nhà khoa học tham gia xây dựng các văn bản đạt chất lượng</h4>
791                        </a>
792                        
793                        <div class="date">
794                            <i class="fa-regular fa-clock"></i>
795                            <span>11/10/2024 17:23:00</span>
796                        </div>
797                        
798                    </div>
799                </article>
800                
801                <article class="news-latest-item">
802                    <a href="/tin-tuc/tin-xuc-tien-thuong-mai/xuat-ban-tap-chi-cong-nghiep-quoc-phong-va-kinh-te-d102-t9664.html" class="item-img">
803                        <img src="/media/uploads/image/2024/10/11/123_Z6uvmTP.jpg" alt="Xuất bản Tạp chí Công nghiệp quốc phòng và Kinh tế số 202">
804                    </a>
805                    <div class="item-content">
806                        <a href="/tin-tuc/tin-xuc-tien-thuong-mai/xuat-ban-tap-chi-cong-nghiep-quoc-phong-va-kinh-te-d102-t9664.html">
807                            <h4 class="title">Xuất bản Tạp chí Công nghiệp quốc phòng và Kinh tế số 202</h4>
808                        </a>
809                        
810                        <div class="date">
811                            <i class="fa-regular fa-clock"></i>
812                            <span>11/10/2024 17:22:13</span>
813                        </div>
814                        
815                    </div>
816                </article>
817                
818                <article class="news-latest-item">
819                    <a href="/tin-tuc/tin-co-so/nha-may-z199-don-nhan-huan-chuong-bao-ve-to-quoc-h-d103-t9666.html" class="item-img">
820                        <img src="/media/uploads/image/2024/10/11/tdn.jpg" alt="Nhà máy Z199 đón nhận Huân chương Bảo vệ Tổ quốc hạng Ba">
821                    </a>
822                    <div class="item-content">
823                        <a href="/tin-tuc/tin-co-so/nha-may-z199-don-nhan-huan-chuong-bao-ve-to-quoc-h-d103-t9666.html">
824                            <h4 class="title">Nhà máy Z199 đón nhận Huân chương Bảo vệ Tổ quốc hạng Ba</h4>
825                        </a>
826                        
827                        <div class="date">
828                            <i class="fa-regular fa-clock"></i>
829                            <span>11/10/2024 17:20:49</span>
830                        </div>
831                        
832                    </div>
833                </article>
834                
835                <article class="news-latest-item">
836                    <a href="/tin-tuc/tin-hoat-dong/hoi-thi-dan-van-kheo-cua-tong-cuc-cong-nghiep-quoc-d101-t9667.html" class="item-img">
837                        <img src="/media/uploads/image/2024/10/11/123.jpg" alt="Hội thi “Dân vận khéo” của Tổng cục Công nghiệp Quốc phòng thành công tốt đẹp">
838                    </a>
839                    <div class="item-content">
840                        <a href="/tin-tuc/tin-hoat-dong/hoi-thi-dan-van-kheo-cua-tong-cuc-cong-nghiep-quoc-d101-t9667.html">
841                            <h4 class="title">Hội thi “Dân vận khéo” của Tổng cục Công nghiệp Quốc phòng thành công tốt đẹp</h4>
842                        </a>
843                        
844                        <div class="date">
845                            <i class="fa-regular fa-clock"></i>
846                            <span>11/10/2024 17:08:54</span>
847                        </div>
848                        
849                    </div>
850                </article>
851                
852                <article class="news-latest-item hide-on-desktop">
853                    <a href="/tin-tuc/tin-tuc---su-kien/lay-chuyen-doi-so-lam-dong-luc-cho-tang-truong-kin-d90-t9654.html" class="item-img">
854                        <img src="/media/uploads/image/2024/10/10/A1.png" alt="Lấy chuyển đổi số làm động lực cho tăng trưởng kinh tế và năng suất lao động">
855                    </a>
856                    <div class="item-content">
857                        <a href="/tin-tuc/tin-tuc---su-kien/lay-chuyen-doi-so-lam-dong-luc-cho-tang-truong-kin-d90-t9654.html">
858                            <h4 class="title">Lấy chuyển đổi số làm động lực cho tăng trưởng kinh tế và năng suất lao động</h4>
859                        </a>
860                        
861                        <div class="date">
862                            <i class="fa-regular fa-clock"></i>
863                            <span>10/10/2024 16:33:40</span>
864                        </div>
865                        
866                    </div>
867                </article>
868                
869                <article class="news-latest-item hide-on-desktop">
870                    <a href="/tin-tuc/tin-hoat-dong/tong-cuc-cong-nghiep-quoc-phong-to-chuc-tri-an-tai-d101-t962
8700.html" class="item-img">
871                        <img src="/media/uploads/image/2024/07/27/1.JPG" alt="Tổng cục Công nghiệp quốc phòng tổ chức tri ân tại Gia Lai và Kon Tum">
872                    </a>
873                    <div class="item-content">
874                        <a href="/tin-tuc/tin-hoat-dong/tong-cuc-cong-nghiep-quoc-phong-to-chuc-tri-an-tai-d101-t9620.html">
875                            <h4 class="title">Tổng cục Công nghiệp quốc phòng tổ chức tri ân tại Gia Lai và Kon Tum</h4>
876                        </a>
877                        
878                        <div class="date">
879                            <i class="fa-regular fa-clock"></i>
880                            <span>31/07/2024 13:33:48</span>
881                        </div>
882                        
883                    </div>
884                </article>
885                
886                <article class="news-latest-item hide-on-desktop">
887                    <a href="/tin-tuc/tin-hoat-dong/khai-giang-lop-boi-duong-ky-nang-quan-ly-nha-nuoc--d101-t9583.html" class="item-img">
888                        <img src="/media/uploads/image/2024/07/01/2._Xi7pgR1.jpg" alt="Khai giảng lớp bồi dưỡng kỹ năng quản lý Nhà nước cho cán bộ cơ quan Tổng cục Công nghiệp quốc phòng">
889                    </a>
890                    <div class="item-content">
891                        <a href="/tin-tuc/tin-hoat-dong/khai-giang-lop-boi-duong-ky-nang-quan-ly-nha-nuoc--d101-t9583.html">
892                            <h4 class="title">Khai giảng lớp bồi dưỡng kỹ năng quản lý Nhà nước cho cán bộ cơ quan Tổng cục Công nghiệp quốc phòng</h4>
893                        </a>
894                        
895                        <div class="date">
896                            <i class="fa-regular fa-clock"></i>
897                            <span>09/07/2024 16:13:54</span>
898                        </div>
899                        
900                    </div>
901                </article>
902                
903                <article class="news-latest-item hide-on-desktop">
904                    <a href="/tin-tuc/tin-co-so/an-tuong-hoi-thi-can-bo-cong-doan-an-toan-ve-sinh--d103-t9581.html" class="item-img">
905                        <img src="/media/uploads/image/2024/07/05/F9250A6B-23B2-408E-8BDB-9EB76504620C.jpeg" alt="Ấn tượng Hội thi cán bộ công đoàn, an toàn vệ sinh viên Nhà máy Z176">
906                    </a>
907                    <div class="item-content">
908                        <a href="/tin-tuc/tin-co-so/an-tuong-hoi-thi-can-bo-cong-doan-an-toan-ve-sinh--d103-t9581.html">
909                            <h4 class="title">Ấn tượng Hội thi cán bộ công đoàn, an toàn vệ sinh viên Nhà máy Z176</h4>
910                        </a>
911                        
912                        <div class="date">
913                            <i class="fa-regular fa-clock"></i>
914                            <span>09/07/2024 16:13:28</span>
915                        </div>
916                        
917                    </div>
918                </article>
919                
920            </div>
921            
922        </div>
923        <div class="news-latest-actions">
924            <a href="/tin-tuc/tin-tuc-su-kien.html" class="view-all">
925                Xem tất cả
926                <i class="fas fa-arrow-right"></i>
927            </a>
928        </div>
929    </div>
930</section>
931
932				</div><div class="ms-clear"></div></div>
933			</div><div class="ms-PartSpacingVertical"></div>
934		</div><div id="MSOZoneCell_WebPartctl00_ctl43_g_ee22245d_de87_499d_b6bf_483f8001b7f4" class="s4-wpcell-plain ms-webpartzone-cell ms-webpart-cell-vertical-inline-table ms-webpart-cell-vertical ms-fullWidth ">
935			<div class="ms-webpart-chrome ms-webpart-chrome-vertical ms-webpart-chrome-fullWidth ">
936				<div WebPartID="ee22245d-de87-499d-b6bf-483f8001b7f4" HasPers="false" id="WebPartctl00_ctl43_g_ee22245d_de87_499d_b6bf_483f8001b7f4" width="100%" class="ms-WPBody noindex " allowDelete="false" allowExport="false" style="" ><div id="ctl00_ctl43_g_ee22245d_de87_499d_b6bf_483f8001b7f4">
937					
938<section class="ad-banner-section display-grid">
939    <div class="container">
940        <div class="swiper ad-banner-slider">
941            <div class="swiper-wrapper">
942                
943                <div class="swiper-slide">
944                    <a href='https://vdi.org.vn/tin-tuc/tin-hoat-dong/trien-lam-quoc-phong-quoc-te-viet-nam-2024-dot-pha-d101-t9813.html'
945                       target="_blank"
946                       class="ad-banner-link"
947                       onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 100, this);">
948                        <img class="ad-banner-img" src="/quantri/knd/quangcao/PublishingImages/QuangCao/AnhDaiDien/2026/09/gemini_generated_image_iwblciwblciwblci.png" alt="Banner 1" />
949                    </a>
950                </div>
951                
952                <div class="swiper-slide">
953                    <a href='https://vdi.org.vn/tin-tuc/tin-hoat-dong/hoi-thi-dan-van-kheo-cua-tong-cuc-cong-nghiep-quoc-d101-t9667.html'
954                       target="_blank"
955                       class="ad-banner-link"
956                       onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 99, this);">
957                        <img class="ad-banner-img" src="/quantri/knd/quangcao/PublishingImages/QuangCao/AnhDaiDien/2026/09/header-banner-1.png" alt="Banner 2" />
958                    </a>
959                </div>
960                
961                <div class="swiper-slide">
962                    <a href='https://vdi.org.vn/tin-tuc/tin-hoat-dong/hoi-thi-dan-van-kheo-cua-tong-cuc-cong-nghiep-quoc-d101-t9667.html'
963                       target="_blank"
964                       class="ad-banner-link"
965                       onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 98, this);">
966                        <img class="ad-banner-img" src="/quantri/knd/quangcao/PublishingImages/QuangCao/AnhDaiDien/2026/09/header-banner-2.png" alt="Banner 3" />
967                    </a>
968                </div>
969                
970            </div>
971            
972            <div class="swiper-pagination ad-banner-pagination"></div>
973            <div class="swiper-button-prev ad-banner-prev"></div>
974            <div class="swiper-button-next ad-banner-next"></div>
975            
976        </div>
977    </div>
978</section>
979
980<style>
981    .ad-banner-section {
982        padding: 24px 0;
983        width: 100%;
984        overflow: hidden;
985    }
986
987    .ad-banner-section > .container {
988        width: 100%;
989        max-width: 1110px;
990    }
991
992    .ad-banner-section .ad-banner-slider {
993        position: relative;
994        width: 100%;
995        border-radius: 8px;
996        overflow: hidden;
997        background: #f5f5f5;
998    }
999
1000    /* Chưa init Swiper: chỉ hiện 1 slide, tránh xếp ngang vỡ mobile */
1001    .ad-banner-section .ad-banner-slider:not(.swiper-initialized) .swiper-wrapper {
1002        display: block;
1003        width: 100%;
1004    }
1005
1006    .ad-banner-section .ad-banner-slider:not(.swiper-initialized) .swiper-slide {
1007        display: none;
1008        width: 100% !important;
1009    }
1010
1011    .ad-banner-section .ad-banner-slider:not(.swiper-initialized) .swiper-slide:first-child {
1012        display: block;
1013    }
1014
1015    .ad-banner-section .ad-banner-slider .swiper-slide {
1016        width: 100% !important;
1017        height: auto;
1018    }
1019
1020    .ad-banner-section .ad-banner-link {
1021        display: block;
1022        width: 100%;
1023        aspect-ratio: 1110 / 280;
1024        overflow: hidden;
1025        line-height: 0;
1026        background: #e8e8e8;
1027    }
1028
1029    .ad-banner-section .ad-banner-img {
1030        display: block;
1031        width: 100%;
1032        height: 100%;
1033        object-fit: cover;
1034        object-position: center;
1035        border-radius: 0;
1036    }
1037
1038    .ad-banner-section .ad-banner-pagination {
1039        bottom: 12px !important;
1040        z-index: 3;
1041    }
1042
1043    .ad-banner-section .ad-banner-pagination .swiper-pagination-bullet {
1044        width: 28px;
1045        height: 4px;
1046        border-radius: 4px;
1047        background: rgba(255, 255, 255, 0.6);
1048        opacity: 1;
1049    }
1050
1051    .ad-banner-section .ad-banner-pagination .swiper-pagination-bullet-active {
1052        background: #ffc702;
1053    }
1054
1055    /* Mũi tên giữa ảnh trái/phải — luôn hiện tablet/mobile */
1056    .ad-banner-section .ad-banner-prev,
1057    .ad-banner-section .ad-banner-next,
1058    .ad-banner-section .ad-banner-prev.swiper-button-lock,
1059    .ad-banner-section .ad-banner-next.swiper-button-lock,
1060    .ad-banner-section .ad-banner-prev.swiper-button-disabled,
1061    .ad-banner-section .ad-banner-next.swiper-button-disabled {
1062        display: flex !important;
1063        align-items: center;
1064        justify-content: center;
1065        visibility: visible !important;
1066        pointer-events: auto !important;
1067        position: absolute !important;
1068        top: 50% !important;
1069        transform: translateY(-50%) !important;
1070        width: 36px !important;
1071        height: 36px !important;
1072        margin: 0 !important;
1073        margin-top: 0 !important;
1074        z-index: 20 !important;
1075        border: 2px solid #fff;
1076        border-radius: 50%;
1077        background: rgba(0, 81, 38, 0.85);
1078        color: #fff;
1079        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
1080        opacity: 1 !important;
1081        cursor: pointer;
1082    }
1083
1084    .ad-banner-section .ad-banner-prev {
1085        left: 10px !important;
1086        right: auto !important;
1087    }
1088
1089    .ad-banner-section .ad-banner-next {
1090        right: 10px !important;
1091        left: auto !important;
1092    }
1093
1094    .ad-banner-section .ad-banner-prev::after,
1095    .ad-banner-section .ad-banner-next::after {
1096        font-size: 14px;
1097        font-weight: 700;
1098    }
1099
1100    .ad-banner-section .ad-banner-prev:hover,
1101    .ad-banner-section .ad-banner-next:hover {
1102        background: #005126;
1103        border-color: #ffc702;
1104        color: #ffc702;
1105    }
1106
1107    @media (max-width: 991px) {
1108        .ad-banner-section {
1109            padding: 20px 0;
1110        }
1111
1112        .ad-banner-section .ad-banner-link {
1113            aspect-ratio: 16 / 5;
1114        }
1115
1116        .ad-banner-section .ad-banner-prev,
1117        .ad-banner-section .ad-banner-next,
1118        .ad-banner-section .ad-banner-prev.swiper-button-lock,
1119        .ad-banner-section .ad-banner-next.swiper-button-lock {
1120            display: flex !important;
1121            width: 32px !important;
1122            height: 32px !important;
1123        }
1124
1125        .ad-banner-section .ad-banner-prev::after,
1126        .ad-banner-section .ad-banner-next::after {
1127            font-size: 12px;
1128        }
1129    }
1130
1131    @media (max-width: 768px) {
1132        .ad-banner-section {
1133            padding: 16px 0;
1134        }
1135
1136        .ad-banner-section .ad-banner-slider {
1137            border-radius: 6px;
1138        }
1139
1140        .ad-banner-section .ad-banner-link {
1141            aspect-ratio: 16 / 6;
1142        }
1143
1144        .ad-banner-section .ad-banner-prev,
1145        .ad-banner-section .ad-banner-next,
1146        .ad-banner-section .ad-banner-prev.swiper-button-lock,
1147        .ad-banner-section .ad-banner-next.swiper-button-lock {
1148            display: flex !important;
1149            width: 32px !important;
1150            height: 32px !important;
1151        }
1152
1153        .ad-banner-section .ad-banner-prev {
1154            left: 8px !important;
1155        }
1156
1157        .ad-banner-section .ad-banner-next {
1158            right: 8px !important;
1159        }
1160
1161        .ad-banner-section .ad-banner-pagination {
1162            bottom: 8px !important;
1163        }
1164
1165        .ad-banner-section .ad-banner-pagination .swiper-pagination-bullet {
1166            width: 20px;
1167            height: 3px;
1168        }
1169    }
1170
1171    @media (max-width: 576px) {
1172        .ad-banner-section {
1173            padding: 12px 0;
1174        }
1175
1176        .ad-banner-section .ad-banner-link {
1177            aspect-ratio: 2 / 1;
1178        }
1179
1180        .ad-banner-section .ad-banner-prev,
1181        .ad-banner-section .ad-banner-next,
1182        .ad-banner-section .ad-banner-prev.swiper-button-lock,
1183        .ad-banner-section .ad-banner-next.swiper-button-lock {
1184            display: flex !important;
1185            width: 30px !important;
1186            height: 30px !important;
1187        }
1188
1189        .ad-banner-section .ad-banner-prev::after,
1190        .ad-banner-section .ad-banner-next::after {
1191            font-size: 11px;
1192        }
1193
1194        .ad-banner-section .ad-banner-pagination .swiper-pagination-bullet {
1195            width: 16px;
1196        }
1197    }
1198
1199    @media (max-width: 425px) {
1200        .ad-banner-section .ad-banner-link {
1201            aspect-ratio: 16 / 9;
1202        }
1203
1204        .ad-banner-section .ad-banner-pagination {
1205            bottom: 6px !important;
1206        }
1207    }
1208</style>
1209<script>
1210    (function () {
1211        function initAdBannerSliders() {
1212            if (typeof Swiper === "undefined") return;
1213
1214            document.querySelectorAll(".ad-banner-section .ad-banner-slider").forEach(function (el) {
1215                if (el.dataset.inited === "1") return;
1216                el.dataset.inited = "1";
1217
1218                var slideCount = el.querySelectorAll(".swiper-slide").length;
1219                var hasMultiple = slideCount > 1;
1220
1221                new Swiper(el, {
1222                    slidesPerView: 1,
1223                    spaceBetween: 0,
1224                    loop: false,
1225                    rewind: hasMultiple,
1226                    speed: 800,
1227                    effect: "fade",
1228                    fadeEffect: { crossFade: true },
1229                    observer: true,
1230                    observeParents: true,
1231                    autoplay: hasMultiple
1232                        ? { delay: 8000, disableOnInteraction: false, pauseOnMouseEnter: true }
1233                        : false,
1234                    pagination: hasMultiple
1235                        ? { el: el.querySelector(".ad-banner-pagination"), clickable: true }
1236                        : undefined,
1237                    navigation: hasMultiple
1238                        ? {
1239                            nextEl: el.querySelector(".ad-banner-next"),
1240                            prevEl: el.querySelector(".ad-banner-prev"),
1241                            disabledClass: "is-nav-disabled",
1242                            lockClass: "is-nav-locked",
1243                        }
1244                        : undefined,
1245                });
1246            });
1247        }
1248
1249        document.addEventListener("DOMContentLoaded", initAdBannerSliders);
1250        window.addEventListener("load", initAdBannerSliders);
1251    })();
1252</script>
1252
1253
1254
1255<script>
1256    window.countClick = function (urlList, itemId, linkElement) {
1257        var url = '/UserControls/Publishing/QuangCao/UpdateClickCount.aspx' +
1258            '?UrlListProcess=' + urlList +
1259            '&itemId=' + itemId;
1260
1261        // Không xử lý nếu link rỗng hoặc javascript:;
1262        if (!linkElement.href || linkElement.href.indexOf('javascript:;') !== -1) {
1263            return false;
1264        }
1265
1266        // Gửi request ngầm đếm click (fire-and-forget)
1267        if (typeof navigator.sendBeacon === "function") {
1268            navigator.sendBeacon(url);
1269        } else {
1270            $.get(url);
1271        }
1272
1273        // Nếu thẻ <a> chưa có target nhưng cần mở tab mới như cũ, set target
1274        // (Trước đây code dùng window.open('_blank') cho mọi link)
1275        if (!linkElement.getAttribute('target') && !linkElement.className.includes('category')) {
1276             linkElement.setAttribute('target', '_blank');
1277        }
1278
1279        // Cho phép thẻ <a> hoạt động tự nhiên để tránh bị Safari block popup
1280        return true;
1281    };
1282</script>
1282
1283				</div><div class="ms-clear"></div></div>
1284			</div><div class="ms-PartSpacingVertical"></div>
1285		</div><div id="MSOZoneCell_WebPartctl00_ctl43_g_1a619b0a_db1b_4e2b_9f36_2b2d65c81801" class="s4-wpcell-plain ms-webpartzone-cell ms-webpart-cell-vertical-inline-table ms-webpart-cell-vertical ms-fullWidth ">
1286			<div class="ms-webpart-chrome ms-webpart-chrome-vertical ms-webpart-chrome-fullWidth ">
1287				<div WebPartID="1a619b0a-db1b-4e2b-9f36-2b2d65c81801" HasPers="false" id="WebPartctl00_ctl43_g_1a619b0a_db1b_4e2b_9f36_2b2d65c81801" width="100%" class="ms-WPBody noindex " allowDelete="false" allowExport="false" style="" ><div id="ctl00_ctl43_g_1a619b0a_db1b_4e2b_9f36_2b2d65c81801">
1288					
1289<section class="video-section video-section-home display-grid">
1290    <div class="video-section-inner container">
1291        <h2 class="title-section">Video</h2>
1292        <div class="video-wrapper">
1293            
1294            <div class="main-video">
1295                <div class="video-play">
1296                    <div id="mainVideo" class="video-container">
1297                        <!-- Video will be loaded here dynamically -->
1298                    </div>
1299                    
1300                </div>
1301                <div class="video-content">
1302                    <div class="video-title">
1303                        <h3 class="sub-title">Bộ Quốc Phòng</h3>
1304                        <h2 class="title">Radar cảnh giới VRS-2DM do ng&#224;nh CNQP Việt Nam sản xuất</h2>
1305                    </div>
1306                    <div class="play-btn">
1307                        <a class="play-video">
1308                            <span class="text">Play video</span>
1309                            <img src="/Publishing_Resources/CongThongTin/assets/images/play-video.png" alt="play video">
1310                        </a>
1311                    </div>
1312                </div>
1313                <div class="video-playlist-dock">
1314                    <div class="video-list-panel">
1315                        <div class="video-list swiper">
1316                            <div class="swiper-wrapper">
1317                                
1318                                <div class="video-item swiper-slide active" data-src="https://www.youtube.com/watch?v=hRGD9GPbQUk" data-poster="/quantri/knd/media/PublishingImages/AnhDaiDien/2026/04/21092021vthuy38.jpg">
1319                                    <div class="video-thumbnail">
1320                                        <img src="/quantri/knd/media/PublishingImages/AnhDaiDien/2026/04/21092021vthuy38.jpg" alt="Radar cảnh giới VRS-2DM do ng&#224;nh CNQP Việt Nam sản xuất">
1321                                        <div class="play-icon">
1322                                            <img src="/Publishing_Resources/CongThongTin/assets/images/play-video.png" alt="Radar cảnh giới VRS-2DM do ng&#224;nh CNQP Việt Nam sản xuất">
1323                                        </div>
1324                                    </div>
1325                                </div>
1326                                
1327                                <div class="video-item swiper-slide" data-src="https://www.youtube.com/watch?v=dm6J-Hh0pkI" data-poster="/quantri/knd/media/PublishingImages/AnhDaiDien/2026/04/111111.jpg">
1328                                    <div class="video-thumbnail">
1329                                        <img src="/quantri/knd/media/PublishingImages/AnhDaiDien/2026/04/111111.jpg" alt="C&#244;ng nghiệp quốc ph&#242;ng Việt Nam - X&#226;y dựng v&#224; bảo vệ tổ quốc">
1330                                        <div class="play-icon">
1331                                            <img src="/Publishing_Resources/CongThongTin/assets/images/play-video.png" alt="C&#244;ng nghiệp quốc ph&#242;ng Việt Nam - X&#226;y dựng v&#224; bảo vệ tổ quốc">
1332                                        </div>
1333                                    </div>
1334                                </div>
1335                                
1336                                <div class="video-item swiper-slide" data-src="https://www.youtube.com/watch?v=rZZ2xwORHrw" data-poster="/quantri/knd/media/PublishingImages/AnhDaiDien/2026/04/nvc_5207.jpg">
1337                                    <div class="video-thumbnail">
1338                                        <img src="/quantri/knd/media/PublishingImages/AnhDaiDien/2026/04/nvc_5207.jpg" alt="NGƯỜI THUYỀN TRƯỞNG NH&#192; M&#193;Y Z189 - TỔNG CỤC CNQP">
1339                                        <div class="play-icon">
1340                                            <img src="/Publishing_Resources/CongThongTin/assets/images/play-video.png" alt="NGƯỜI THUYỀN TRƯỞNG NH&#192; M&#193;Y Z189 - TỔNG CỤC CNQP">
1341                                        </div>
1342                                    </div>
1343                                </div>
1344                                
1345                                <div class="video-item swiper-slide" data-src="https://www.youtube.com/watch?v=CRLQCqc2Ynk" data-poster="/quantri/knd/media/PublishingImages/AnhDaiDien/2026/04/img3182-16704734533681051167907-16705683194181015432403.jpg">
1346                                    <div class="video-thumbnail">
1347                                        <img src="/quantri/knd/media/PublishingImages/AnhDaiDien/2026/04/img3182-16704734533681051167907-16705683194181015432403.jpg" alt="C&#244;ng Nghiệp Quốc Ph&#242;ng Việt Nam Đ&#227; Sản Xuất Được Những Vũ Kh&#237; G&#236;">
1348                                        <div class="play-icon">
1349                                            <img src="/Publishing_Resources/CongThongTin/assets/images/play-video.png" alt="C&#244;ng Nghiệp Quốc Ph&#242;ng Việt Nam Đ&#227; Sản Xuất Được Những Vũ Kh&#237; G&#236;">
1350                                        </div>
1351                                    </div>
1352                                </div>
1353                                
1354                            </div>
1355                        </div>
1356                    </div>
1357                    <button type="button" class="video-list-toggle" aria-expanded="false" aria-label="Xem danh sách video">
1358                        <span class="video-list-toggle-icon" aria-hidden="true"></span>
1359                    </button>
1360                </div>
1361            </div>
1362            
1363        </div>
1364    </div>
1365</section>
1366
1367
1368<style>
1369/* wpTCQPPublishingVideoTrangChu - full width, playlist overlay trên nền video */
1370.video-section-home .video-wrapper {
1371    width: 100%;
1372    max-width: 800px !important;
1373    margin: 20px auto 0 auto !important;
1374    border-radius: 8px;
1375    overflow: hidden;
1376}
1377
1378.video-section-home .main-video {
1379    border-radius: 8px;
1380    overflow: hidden;
1381}
1382
1383.video-section-home .video-playlist-dock {
1384    position: absolute;
1385    left: 0;
1386    right: 0;
1387    bottom: 10px;
1388    z-index: 9;
1389    display: flex;
1390    flex-direction: column;
1391    align-items: center;
1392    pointer-events: none;
1393    transition: bottom 0.25s ease;
1394}
1395
1396.video-section-home .main-video.controls-visible .video-playlist-dock {
1397    bottom: 54px;
1398}
1399
1400.video-section-home .video-wrapper.is-playlist-open .video-playlist-dock {
1401    bottom: 54px;
1402}
1403
1404.video-section-home #mainVideo video::-webkit-media-controls,
1405.video-section-home #mainVideo video::-webkit-media-controls-enclosure {
1406    display: none !important;
1407}
1408
1409.video-section-home .video-play {
1410    position: absolute;
1411    top: 0;
1412    left: 0;
1413    width: 100%;
1414    height: 100%;
1415}
1416
1417.video-section-home .video-custom-controls {
1418    position: absolute;
1419    left: 0;
1420    right: 0;
1421    bottom: 0;
1422    z-index: 8;
1423    padding: 28px 16px 10px;
1424    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.55) 45%, rgba(0, 0, 0, 0.88) 100%);
1425    opacity: 0;
1426    visibility: hidden;
1427    transition: opacity 0.25s ease, visibility 0.25s ease;
1428    pointer-events: none;
1429}
1430
1431.video-section-home .video-custom-controls.is-visible {
1432    opacity: 1;
1433    visibility: visible;
1434    pointer-events: auto;
1435}
1436
1437.video-section-home .video-progress-wrap {
1438    position: relative;
1439    height: 18px;
1440    display: flex;
1441    align-items: center;
1442}
1443
1444.video-section-home .video-progress-track {
1445    position: absolute;
1446    left: 0;
1447    right: 0;
1448    height: 3px;
1449    background: rgba(255, 255, 255, 0.28);
1450    border-radius: 3px;
1451    overflow: hidden;
1452}
1453
1454.video-section-home .video-progress-played {
1455    height: 100%;
1456    width: 0;
1457    background: #ffc702;
1458    border-radius: 3px;
1459    transition: width 0.08s linear;
1460}
1461
1462.video-section-home .video-progress-range {
1463    position: relative;
1464    z-index: 2;
1465    width: 100%;
1466    height: 18px;
1467    margin: 0;
1468    opacity: 0;
1469    cursor: pointer;
1470}
1471
1472.video-section-home .video-controls-bar {
1473    display: flex;
1474    align-items: center;
1475    gap: 10px;
1476    margin-top: 2px;
1477}
1478
1479.video-section-home .video-ctrl-btn {
1480    width: 32px;
1481    height: 32px;
1482    padding: 0;
1483    border: none;
1484    background: transparent;
1485    cursor: pointer;
1486    flex-shrink: 0;
1487}
1488
1489.video-section-home .video-ctrl-play::before {
1490    content: "";
1491    display: block;
1492    width: 0;
1493    height: 0;
1494    margin-left: 10px;
1495    border-top: 7px solid transparent;
1496    border-bottom: 7px solid transparent;
1497    border-left: 12px solid #fff;
1498}
1499
1500.video-section-home .video-ctrl-play.is-playing::before {
1501    width: 12px;
1502    height: 14px;
1503    margin-left: 10px;
1504    border: none;
1505    background: linear-gradient(to right, #fff 0, #fff 35%, transparent 35%, transparent 65%, #fff 65%, #fff 100%);
1506}
1507
1508.video-section-home .video-ctrl-volume {
1509    display: flex;
1510    align-items: center;
1511    gap: 6px;
1512    margin-left: auto;
1513    min-width: 0;
1514}
1515
1516.video-section-home .video-volume-wrap {
1517    position: relative;
1518    width: 88px;
1519    height: 32px;
1520    display: flex;
1521    align-items: center;
1522    flex-shrink: 0;
1523}
1524
1525.video-section-home .video-volume-track {
1526    position: absolute;
1527    left: 0;
1528    right: 0;
1529    height: 3px;
1530    background: rgba(255, 255, 255, 0.28);
1531    border-radius: 3px;
1532    overflow: hidden;
1533}
1534
1535.video-section-home .video-volume-level {
1536    height: 100%;
1537    width: 100%;
1538    background: #fff;
1539    border-radius: 3px;
1540}
1541
1542.video-section-home .video-volume-range {
1543    position: relative;
1544    z-index: 2;
1545    width: 100%;
1546    height: 32px;
1547    margin: 0;
1548    opacity: 0;
1549    cursor: pointer;
1550}
1551
1552.video-section-home .video-ctrl-mute::before {
1553    content: "";
1554    display: block;
1555    width: 16px;
1556    height: 14px;
1557    margin: 9px auto;
1558    background:
1559        linear-gradient(#fff, #fff) 0 5px / 5px 4px no-repeat,
1560        linear-gradient(#fff, #fff) 5px 3px / 3px 8px no-repeat;
1561    clip-path: polygon(0 40%, 35% 40%, 55% 20%, 55% 80%, 35% 60%, 0 60%);
1562}
1563
1564.video-section-home .video-ctrl-mute.is-muted::before {
1565    opacity: 0.55;
1566}
1567
1568.video-section-home .video-ctrl-time {
1569    color: rgba(255, 255, 255, 0.92);
1570    font-size: 13px;
1571    font-weight: 500;
1572    letter-spacing: 0.02em;
1573    user-select: none;
1574}
1575
1576.video-section-home .video-playlist-dock > * {
1577    pointer-events: auto;
1578}
1579
1580.video-section-home .video-list-panel {
1581    display: none !important;
1582    width: 100%;
1583    margin: 0 !important;
1584    padding: 20px 24px 12px !important;
1585    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.72) 38%, rgba(0, 0, 0, 0.92) 100%);
1586}
1587
1588.video-section-home .video-wrapper.is-playlist-open .video-list-panel {
1589    display: block !important;
1590}
1591
1592.video-section-home .video-list {
1593    margin-top: 0 !important;
1594    padding: 0 !important;
1595    position: relative !important;
1596    z-index: 1 !important;
1597}
1598
1599.video-section-home .video-list .video-item {
1600    width: 220px !important;
1601}
1602
1603.video-section-home .video-list-toggle {
1604    display: flex !important;
1605    align-items: center;
1606    justify-content: center;
1607    width: 56px;
1608    height: 28px;
1609    padding: 0;
1610    border: none;
1611    border-radius: 8px 8px 0 0;
1612    background: rgba(0, 0, 0, 0.72);
1613    backdrop-filter: blur(4px);
1614    cursor: pointer;
1615}
1616
1617.video-section-home .video-list-toggle-icon {
1618    display: block;
1619    width: 10px;
1620    height: 10px;
1621    border-right: 2px solid #fff;
1622    border-bottom: 2px solid #fff;
1623    transform: rotate(-135deg);
1624    margin-top: 2px;
1625    transition: transform 0.3s ease;
1626}
1627
1628.video-section-home .video-wrapper.is-playlist-open .video-list-toggle-icon {
1629    transform: rotate(45deg);
1630    margin-top: -2px;
1631}
1632
1633@media (max-width: 768px) {
1634    .video-section-home .video-wrapper {
1635        max-width: 100% !important;
1636    }
1637
1638    .video-section-home .video-playlist-dock {
1639        bottom: 8px;
1640    }
1641
1642    .video-section-home .main-video.controls-visible .video-playlist-dock,
1643    .video-section-home .video-wrapper.is-playlist-open .video-playlist-dock {
1644        bottom: 48px;
1645    }
1646
1647    .video-section-home .video-list .video-item {
1648        width: 160px !important;
1649    }
1650
1651    .video-section-home .video-list-panel {
1652        padding: 14px 16px 10px !important;
1653    }
1654
1655    .video-section-home .video-volume-wrap {
1656        width: 64px;
1657    }
1658}
1659</style>
1660
1661	
1661<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
1661
1662	
1662<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
vendor: 2 bytes, line 1662
1662
1663<script>
1664    $(document).ready(function () {
1665        const mainVideoContainer = document.getElementById("mainVideo");
1666        const $section = $(".video-section-home");
1667        const $videoWrapper = $section.find(".video-wrapper");
1668        const $videoListToggle = $section.find(".video-list-toggle");
1669        const $videoListPanel = $section.find(".video-list-panel");
1670        const $videoList = $section.find(".video-list");
1671        const $videoItems = $section.find(".video-item");
1672        const $videoContent = $section.find(".video-content");
1673        const $playBtn = $section.find(".video-content .play-btn");
1674        const $videoPlay = $section.find(".video-play");
1675        let currentVideo = null;
1676        let isYoutubeVideo = false;
1677        let player = null;
1678        let isVideoInViewport = false;
1679
1680        // Function to determine video type based on URL
1681        function determineVideoType(url) {
1682            return url.includes("youtube.com") || url.includes("youtu.be") ? "youtube" : "local";
1683        }
1684
1685        // Update video items with correct data-type
1686        $videoItems.each(function () {
1687            const videoSrc = $(this).attr("data-src");
1688            const videoType = determineVideoType(videoSrc);
1689            $(this).attr("data-type", videoType);
1690        });
1691
1692        // Khởi tạo Swiper
1693        const videoSwiper = new Swiper($section.find(".video-list")[0], {
1694            slidesPerView: "auto",
1695            grabCursor: true,
1696        });
1697
1698        function collapsePlaylist() {
1699            $videoWrapper.removeClass("is-playlist-open");
1700            $videoListPanel.hide();
1701            $videoListToggle.attr("aria-expanded", "false");
1702        }
1703
1704        function expandPlaylist() {
1705            $videoWrapper.addClass("is-playlist-open");
1706            $videoListPanel.show();
1707            $videoListToggle.attr("aria-expanded", "true");
1708            showCustomControls(true);
1709            if (videoSwiper) {
1710                videoSwiper.update();
1711            }
1712        }
1713
1714        function togglePlaylist() {
1715            if ($videoWrapper.hasClass("is-playlist-open")) {
1716                collapsePlaylist();
1717            } else {
1718                expandPlaylist();
1719            }
1720        }
1721
1722        collapsePlaylist();
1723
1724        $videoListToggle.on("click", function (e) {
1725            e.preventDefault();
1726            e.stopPropagation();
1727            togglePlaylist();
1728        });
1729
1730        const $mainVideo = $section.find(".main-video");
1731        let controlsHideTimer = null;
1732
1733        function formatVideoTime(seconds) {
1734            if (!isFinite(seconds) || seconds < 0) return "0:00";
1735            const mins = Math.floor(seconds / 60);
1736            const secs = Math.floor(seconds % 60);
1737            return mins + ":" + (secs < 10 ? "0" : "") + secs;
1738        }
1739
1740        function showCustomControls(force) {
1741            const $controls = $section.find(".video-custom-controls");
1742            if (!$controls.length) return;
1743            $controls.addClass("is-visible");
1744            $mainVideo.addClass("controls-visible");
1745            if (!force && currentVideo && !currentVideo.paused) {
1746                scheduleHideCustomControls();
1747            }
1748        }
1749
1750        function hideCustomControls() {
1751            if ($videoWrapper.hasClass("is-playlist-open")) return;
1752            if (currentVideo && currentVideo.tagName === "VIDEO" && currentVideo.paused) return;
1753            $section.find(".video-custom-controls").removeClass("is-visible");
1754            $mainVideo.removeClass("controls-visible");
1755        }
1756
1757        function scheduleHideCustomControls() {
1758            clearTimeout(controlsHideTimer);
1759            controlsHideTimer = setTimeout(hideCustomControls, 2800);
1760        }
1761
1762        function removeCustomVideoControls() {
1763            clearTimeout(controlsHideTimer);
1764            $section.find(".video-custom-controls").remove();
1765            $mainVideo.removeClass("controls-visible");
1766            $mainVideo.off(".videoCtrl");
1767        }
1768
1769        function setupCustomVideoControls(video) {
1770            removeCustomVideoControls();
1771
1772            const controls = document.createElement("div");
1773            controls.className = "video-custom-controls";
1774            controls.innerHTML =
1775                '<div class="video-progress-wrap">' +
1776                '  <div class="video-progress-track"><div class="video-progress-played"></div></div>' +
1777                '  <input type="range" class="video-progress-range" min="0" max="100" step="0.1" value="0" aria-label="Tiến trình video">' +
1778                "</div>" +
1779                '<div class="video-controls-bar">' +
1780                '  <button type="button" class="video-ctrl-btn video-ctrl-play" aria-label="Play/Pause"></button>' +
1781                '  <span class="video-ctrl-time"><span class="video-time-current">0:00</span> / <span class="video-time-duration">0:00</span></span>' +
1782                '  <div class="video-ctrl-volume">' +
1783                '    <button type="button" class="video-ctrl-btn video-ctrl-mute" aria-label="Tắt/bật tiếng"></button>' +
1784                '    <div class="video-volume-wrap">' +
1785                '      <div class="video-volume-track"><div class="video-volume-level"></div></div>' +
1786                '      <input type="range" class="video-volume-range" min="0" max="100" step="1" value="100" aria-label="Âm lượng">' +
1787                "    </div>" +
1788                "  </div>" +
1789                "</div>";
1790
1791            $section.find(".video-play").append(controls);
1792
1793            const $controls = $(controls);
1794            const $ctrlPlay = $controls.find(".video-ctrl-play");
1795            const $ctrlMute = $controls.find(".video-ctrl-mute");
1796            const $volumeRange = $controls.find(".video-volume-range");
1797            const $volumeLevel = $controls.find(".video-volume-level");
1798            const $range = $controls.find(".video-progress-range");
1799            const $played = $controls.find(".video-progress-played");
1800            const $timeCurrent = $controls.find(".video-time-current");
1801            const $timeDuration = $controls.find(".video-time-duration");
1802
1803            function updateProgress() {
1804                const pct = video.duration ? (video.currentTime / video.duration) * 100 : 0;
1805                $range.val(pct);
1806                $played.css("width", pct + "%");
1807                $timeCurrent.text(formatVideoTime(video.currentTime));
1808            }
1809
1810            video.addEventListener("loadedmetadata", function () {
1811                $timeDuration.text(formatVideoTime(video.duration));
1812            });
1813
1814            video.addEventListener("timeupdate", updateProgress);
1815            video.addEventListener("volumechange", updateVolumeUI);
1816
1817            video.addEventListener("play", function () {
1818                $ctrlPlay.addClass("is-playing");
1819                hideVideoContent();
1820                scheduleHideCustomControls();
1821            });
1822
1823            video.addEventListener("pause", function () {
1824                $ctrlPlay.removeClass("is-playing");
1825                showCustomControls(true);
1826            });
1827
1828            video.addEventListener("ended", function () {
1829                $ctrlPlay.removeClass("is-playing");
1830                showVideoContent();
1831                showCustomControls(true);
1832            });
1833
1834            let lastVolume = video.volume > 0 ? video.volume : 1;
1835
1836            function updateVolumeUI() {
1837                const level = video.muted ? 0 : video.volume;
1838                const pct = Math.round(level * 100);
1839                $volumeRange.val(pct);
1840                $volumeLevel.css("width", pct + "%");
1841                $ctrlMute.toggleClass("is-muted", video.muted || level === 0);
1842            }
1843
1844            $ctrlMute.on("click", function (e) {
1845                e.preventDefault();
1846                e.stopPropagation();
1847                if (video.muted || video.volume === 0) {
1848                    video.muted = false;
1849                    video.volume = lastVolume > 0 ? lastVolume : 0.7;
1850                } else {
1851                    lastVolume = video.volume;
1852                    video.muted = true;
1853                }
1854                updateVolumeUI();
1855            });
1856
1857            $volumeRange.on("input", function () {
1858                const val = parseFloat(this.value) / 100;
1859                video.volume = val;
1860                video.muted = val === 0;
1861                if (val > 0) {
1862                    lastVolume = val;
1863                }
1864                updateVolumeUI();
1865            });
1866
1867            $ctrlPlay.on("click", function (e) {
1868                e.preventDefault();
1869                e.stopPropagation();
1870                if (video.paused) {
1871                    video.play();
1872                } else {
1873                    video.pause();
1874                }
1875            });
1876
1877            $range.on("input", function () {
1878                const pct = parseFloat(this.value);
1879                $played.css("width", pct + "%");
1880                if (video.duration) {
1881                    $timeCurrent.text(formatVideoTime((pct / 100) * video.duration));
1882                }
1883            });
1884
1885            $range.on("change", function () {
1886                if (video.duration) {
1887                    video.currentTime = (parseFloat(this.value) / 100) * video.duration;
1888                }
1889            });
1890
1891            $controls.on("click mousedown touchstart", function (e) {
1892                e.stopPropagation();
1893            });
1894
1895            $mainVideo.on("mousemove.videoCtrl touchstart.videoCtrl", function () {
1896                showCustomControls(false);
1897            });
1898
1899            $ctrlMute.toggleClass("is-muted", video.muted);
1900            updateVolumeUI();
1901            showCustomControls(true);
1902        }
1903
1904        function loadVideo(videoItem) {
1905            const videoSrc = videoItem.getAttribute("data-src");
1906            const videoType = videoItem.getAttribute("data-type");
1907            const poster = videoItem.getAttribute("data-poster");
1908
1909            $videoItems.removeClass("active");
1910            $(videoItem).addClass("active");
1911
1912            mainVideoContainer.innerHTML = "";
1913            removeCustomVideoControls();
1914            isYoutubeVideo = videoType === "youtube";
1915            player = null;
1916
1917            if (isYoutubeVideo) {
1918
1919                const iframe = document.createElement("iframe");
1920                iframe.src = convertYouTubeUrl(videoSrc);
1921                iframe.setAttribute("frameborder", "0");
1922                iframe.setAttribute("allowfullscreen", "1");
1923                iframe.setAttribute(
1924                    "allow",
1925                    "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
1926                );
1927                iframe.style.position = "absolute";
1928                iframe.style.top = "0";
1929                iframe.style.left = "0";
1930                iframe.style.width = "100%";
1931                iframe.style.height = "100%";
1932                iframe.style.objectFit = "cover";
1933                mainVideoContainer.appendChild(iframe);
1934                currentVideo = iframe;
1935                hideVideoContent();
1936                $videoContent.addClass("youtube-mode");
1937
1938                // Delay init player để đảm bảo iframe đã render
1939                setTimeout(() => {
1940                    player = new YT.Player(currentVideo, {
1941                        events: {
1942                            onReady: function () {
1943                                if (isVideoInViewport) {
1944                                    playVideoFromScroll();
1945                                }
1946                            },
1947                            onStateChange: function () { },
1948                        },
1949                    });
1950                }, 500);
1951            } else {
1952                const video = document.createElement("video");
1953                video.setAttribute("poster", poster);
1954                video.setAttribute("playsinline", "");
1955                video.setAttribute("preload", "metadata");
1956                const source = document.createElement("source");
1957                source.setAttribute("src", videoSrc);
1958                source.setAttribute("type", "video/mp4");
1959                video.style.width = "100%";
1960                video.style.height = "100%";
1961                video.style.objectFit = "cover";
1962                video.appendChild(source);
1963                mainVideoContainer.appendChild(video);
1964                currentVideo = video;
1965                $videoContent.removeClass("youtube-mode");
1966                setupCustomVideoControls(video);
1967
1968                video.onplay = function () {
1969                    hideVideoContent();
1970                };
1971
1972                if (isVideoInViewport) {
1973                    playVideoFromScroll();
1974                }
1975            }
1976        }
1977
1978        // Function to convert YouTube URL to embed format
1979        function convertYouTubeUrl(url) {
1980            let videoId = '';
1981            let embedUrl = '';
1982
1983            // Handle youtu.be format
1984            if (url.includes('youtu.be/')) {
1985                videoId = url.split('youtu.be/')[1].split('?')[0];
1986            }
1987            // Handle youtube.com/watch format
1988            else if (url.includes('youtube.com/watch')) {
1989                const urlParams = new URLSearchParams(url.split('?')[1]);
1990                videoId = urlParams.get('v');
1991            }
1992            // Handle youtube.com/embed format
1993            else if (url.includes('youtube.com/embed/')) {
1994                videoId = url.split('youtube.com/embed/')[1].split('?')[0];
1995            }
1996            // Handle youtube.com/v format
1997            else if (url.includes('youtube.com/v/')) {
1998                videoId = url.split('youtube.com/v/')[1].split('?')[0];
1999            }
2000            // Handle youtube.com/e format
2001            else if (url.includes('youtube.com/e/')) {
2002                videoId = url.split('youtube.com/e/')[1].split('?')[0];
2003            }
2004            // Handle youtube.com/user format
2005            else if (url.includes('youtube.com/user/')) {
2006                const parts = url.split('/');
2007                videoId = parts[parts.length - 1].split('?')[0];
2008            }
2009            // Handle youtube.com/channel format
2010            else if (url.includes('youtube.com/channel/')) {
2011                const parts = url.split('/');
2012                videoId = parts[parts.length - 1].split('?')[0];
2013            }
2014            // Handle youtube.com/c format
2015            else if (url.includes('youtube.com/c/')) {
2016                const parts = url.split('/');
2017                videoId = parts[parts.length - 1].split('?')[0];
2018            }
2019            // Handle youtube.com/playlist format
2020            else if (url.includes('youtube.com/playlist')) {
2021                const urlParams = new URLSearchParams(url.split('?')[1]);
2022                videoId = urlParams.get('list');
2023            }
2024
2025            if (videoId) {
2026                // Add necessary parameters for better functionality
2027                embedUrl = `https://www.youtube.com/embed/${videoId}?enablejsapi=1&origin=${window.location.origin}&rel=0&showinfo=0&autoplay=1&mute=1`;
2028            } else {
2029                // If we can't extract video ID, return original URL
2030                return url;
2031            }
2032
2033            return embedUrl;
2034        }
2035
2036        if ($videoItems.length > 0) {
2037            loadVideo($videoItems[0]);
2038        }
2039
2040        setupScrollAutoplay();
2041
2042        $videoPlay.on("click", function () {
2043            if (!isYoutubeVideo && currentVideo && currentVideo.tagName === "VIDEO") {
2044                if (currentVideo.paused) {
2045                    playVideo();
2046                    hideVideoContent();
2047                } else {
2048                    pauseVideo();
2049                    showVideoContent();
2050                }
2051            }
2052        });
2053
2054        $playBtn.click(function () {
2055            if (currentVideo) {
2056                if (!isYoutubeVideo && currentVideo.tagName === "VIDEO") {
2057                    if (currentVideo.paused) {
2058                        playVideo();
2059                        hideVideoContent();
2060                    } else {
2061                        pauseVideo();
2062                        showVideoContent();
2063                    }
2064                } else if (
2065                    isYoutubeVideo &&
2066                    currentVideo.tagName === "IFRAME" &&
2067                    player
2068                ) {
2069                    const state = player.getPlayerState();
2070                    if (state === YT.PlayerState.PLAYING) {
2071                        player.pauseVideo();
2072                    } else {
2073                        player.playVideo();
2074                    }
2075                }
2076            }
2077        });
2078
2079        $videoItems.click(function () {
2080            if (
2081                currentVideo &&
2082                currentVideo.tagName === "VIDEO" &&
2083                !currentVideo.paused
2084            ) {
2085                currentVideo.pause();
2086            }
2087            loadVideo(this);
2088            collapsePlaylist();
2089
2090            if (window.innerWidth < 768) {
2091                $("html, body").animate(
2092                    {
2093                        scrollTop: $(".main-video").offset().top - 20,
2094                    },
2095                    500
2096                );
2097            }
2098        });
2099
2100        function playVideo() {
2101            if (!isYoutubeVideo && currentVideo && currentVideo.tagName === "VIDEO") {
2102                currentVideo.muted = false;
2103                currentVideo.play();
2104            }
2105        }
2106
2107        function pauseVideo() {
2108            if (!isYoutubeVideo && currentVideo && currentVideo.tagName === "VIDEO") {
2109                currentVideo.pause();
2110            }
2111        }
2112
2113        function playVideoFromScroll() {
2114            if (!currentVideo) return;
2115
2116            if (!isYoutubeVideo && currentVideo.tagName === "VIDEO") {
2117                const video = currentVideo;
2118                video.muted = false;
2119                const playPromise = video.play();
2120                if (playPromise !== undefined) {
2121                    playPromise
2122                        .then(function () {
2123                            hideVideoContent();
2124                        })
2125                        .catch(function () {
2126                            video.muted = true;
2127                            video.play()
2128                                .then(function () {
2129                                    hideVideoContent();
2130                                })
2131                                .catch(function () {
2132                                    showVideoContent();
2133                                });
2134                        });
2135                }
2136            } else if (
2137                isYoutubeVideo &&
2138                currentVideo.tagName === "IFRAME" &&
2139                player &&
2140                typeof player.playVideo === "function"
2141            ) {
2142                player.playVideo();
2143                hideVideoContent();
2144            }
2145        }
2146
2147        function pauseVideoFromScroll() {
2148            if (!currentVideo) return;
2149
2150            if (!isYoutubeVideo && currentVideo.tagName === "VIDEO") {
2151                currentVideo.pause();
2152            } else if (
2153                isYoutubeVideo &&
2154                currentVideo.tagName === "IFRAME" &&
2155                player &&
2156                typeof player.pauseVideo === "function"
2157            ) {
2158                player.pauseVideo();
2159            }
2160        }
2161
2162        function setupScrollAutoplay() {
2163            const videoTarget = document.querySelector(".video-section .main-video");
2164            if (!videoTarget || typeof IntersectionObserver === "undefined") return;
2165
2166            const scrollObserver = new IntersectionObserver(
2167                function (entries) {
2168                    entries.forEach(function (entry) {
2169                        isVideoInViewport = entry.isIntersecting;
2170                        if (entry.isIntersecting) {
2171                            playVideoFromScroll();
2172                        } else {
2173                            pauseVideoFromScroll();
2174                        }
2175                    });
2176                },
2177                { threshold: 0.45 }
2178            );
2179
2180            scrollObserver.observe(videoTarget);
2181        }
2182
2183        function hideVideoContent() {
2184            $videoContent.css("opacity", "0");
2185            $videoContent.css("visibility", "hidden");
2186            collapsePlaylist();
2187        }
2188
2189        function showVideoContent() {
2190            $videoContent.css("opacity", "1");
2191            $videoContent.css("visibility", "visible");
2192        }
2193
2194        // Tải YouTube Iframe API
2195        if (typeof YT === "undefined" || typeof YT.Player === "undefined") {
2196            const tag = document.createElement("script");
2197            tag.src = "https://www.youtube.com/iframe_api";
2198            document.head.appendChild(tag);
2199        }
2200
2201        // Gọi lại khi API đã sẵn sàng
2202        window.onYouTubeIframeAPIReady = function () { };
2203    });
2204</script>
2204
2205
2206				</div><div class="ms-clear"></div></div>
2207			</div><div class="ms-PartSpacingVertical"></div>
2208		</div><div id="MSOZoneCell_WebPartctl00_ctl43_g_3b47b55f_38e1_4388_8033_ec2da14bd33e" class="s4-wpcell-plain ms-webpartzone-cell ms-webpart-cell-vertical-inline-table ms-webpart-cell-vertical ms-fullWidth ">
2209			<div class="ms-webpart-chrome ms-webpart-chrome-vertical ms-webpart-chrome-fullWidth ">
2210				<div WebPartID="3b47b55f-38e1-4388-8033-ec2da14bd33e" HasPers="false" id="WebPartctl00_ctl43_g_3b47b55f_38e1_4388_8033_ec2da14bd33e" width="100%" class="ms-WPBody noindex " allowDelete="false" allowExport="false" style="" ><div id="ctl00_ctl43_g_3b47b55f_38e1_4388_8033_ec2da14bd33e">
2211					
2212<section class="products-section products-section-slider display-grid">
2213    <div class="products-section-inner container">
2214        <h2 class="title-section">Sản phẩm quốc phòng</h2>
2215        <div class="swiper product-slider">
2216            <div class="swiper-wrapper">
2217                
2218                <div class="swiper-slide">
2219                    <a href="https://xuctienthuongmai.vdi.org.vn/" class="category" onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 55, this);">
2220                        <img class="category-img" src="/quantri/knd/quangcao/PublishingImages/QuangCao/AnhDaiDien/2025/04/product-1.jpeg" alt="Sản phẩm quốc phòng 1">
2221                        <h3 class="category-title">Sản phẩm quốc phòng 1</h3>
2222                    </a>
2223                </div>
2224                
2225                <div class="swiper-slide">
2226                    <a href="https://xuctienthuongmai.vdi.org.vn/" class="category" onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 56, this);">
2227                        <img class="category-img" src="/quantri/knd/quangcao/PublishingImages/QuangCao/AnhDaiDien/2025/04/product-2.jpeg" alt="Sản phẩm quốc phòng 2">
2228                        <h3 class="category-title">Sản phẩm quốc phòng 2</h3>
2229                    </a>
2230                </div>
2231                
2232                <div class="swiper-slide">
2233                    <a href="https://xuctienthuongmai.vdi.org.vn/" class="category" onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 92, this);">
2234                        <img class="category-img" src="/quantri/knd/quangcao/PublishingImages/QuangCao/AnhDaiDien/2026/09/img-material.png" alt="Sản phẩm chung">
2235                        <h3 class="category-title">Sản phẩm chung</h3>
2236                    </a>
2237                </div>
2238                
2239            </div>
2240            
2241            <div class="swiper-button-prev product-slider-prev"></div>
2242            <div class="swiper-button-next product-slider-next"></div>
2243            <div class="swiper-pagination product-slider-pagination"></div>
2244            
2245        </div>
2246    </div>
2247</section>
2248
2249<style>
2250    .products-section-slider {
2251        width: 100% !important;
2252        max-width: 100% !important;
2253        overflow: hidden !important;
2254        box-sizing: border-box;
2255        padding: 20px 0;
2256    }
2257
2258    .products-section-slider .products-section-inner.container {
2259        width: 100% !important;
2260        max-width: 1110px;
2261        margin-left: auto;
2262        margin-right: auto;
2263        box-sizing: border-box;
2264    }
2265
2266
2267
2268    .products-section-slider .product-slider {
2269        width: 100% !important;
2270        max-width: 100% !important;
2271        margin-top: 12px;
2272        overflow: hidden !important;
2273        box-sizing: border-box;
2274        position: relative;
2275    }
2276
2277    .products-section-slider .product-slider .swiper-wrapper {
2278        box-sizing: border-box;
2279    }
2280
2281    .products-section-slider .product-slider:not(.swiper-initialized) .swiper-wrapper {
2282        display: block !important;
2283        width: 100% !important;
2284        transform: none !important;
2285    }
2286
2287    .products-section-slider .product-slider:not(.swiper-initialized) .swiper-slide {
2288        display: none !important;
2289        width: 100% !important;
2290    }
2291
2292    .products-section-slider .product-slider:not(.swiper-initialized) .swiper-slide:first-child {
2293        display: block !important;
2294    }
2295
2296    .products-section-slider .product-slider .swiper-slide {
2297        box-sizing: border-box;
2298        height: auto;
2299    }
2300
2301    .products-section-slider .product-slider .category {
2302        position: relative;
2303        display: block;
2304        width: 100%;
2305        max-width: 100%;
2306        border-radius: 8px;
2307        overflow: hidden;
2308        aspect-ratio: 16 / 9;
2309        box-sizing: border-box;
2310    }
2311
2312    .products-section-slider .product-slider .category .category-img {
2313        display: block;
2314        height: 100%;
2315        width: 100%;
2316        max-width: 100%;
2317        object-fit: cover;
2318        object-position: center;
2319        transition: transform 0.4s ease;
2320    }
2321
2322    .products-section-slider .product-slider .category .category-title {
2323        background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, 0.5) 100%);
2324        position: absolute;
2325        top: 0;
2326        left: 0;
2327        right: 0;
2328        bottom: 0;
2329        color: #fff;
2330        font-size: 28px;
2331        line-height: 32px;
2332        text-align: center;
2333        width: 100%;
2334        height: 100%;
2335        display: flex;
2336        align-items: flex-end;
2337        justify-content: center;
2338        padding: 0 12px 28px;
2339        font-weight: bold;
2340        margin: 0;
2341        box-sizing: border-box;
2342    }
2343
2344    .products-section-slider .product-slider .category:hover .category-img {
2345        transform: scale(1.15);
2346    }
2347
2348    .products-section-slider .product-slider .category:hover .category-title {
2349        color: #ffc702;
2350    }
2351
2352    .products-section-slider .product-slider-pagination {
2353        position: relative !important;
2354        margin-top: 14px;
2355        bottom: auto !important;
2356        width: 100% !important;
2357        text-align: center;
2358    }
2359
2360    .products-section-slider .product-slider-pagination .swiper-pagination-bullet {
2361        width: 24px;
2362        height: 3px;
2363        border-radius: 4px;
2364        background: #d8ddd9;
2365        opacity: 1;
2366    }
2367
2368    .products-section-slider .product-slider-pagination .swiper-pagination-bullet-active {
2369        background: #005126;
2370    }
2371
2372    /* Mũi tên: chỉ hiện tablet/mobile, ẩn laptop/desktop */
2373    .products-section-slider .product-slider-prev,
2374    .products-section-slider .product-slider-next {
2375        display: none !important;
2376    }
2377
2378    @media (max-width: 991px) {
2379        .products-section-slider .product-slider-prev,
2380        .products-section-slider .product-slider-next,
2381        .products-section-slider .product-slider-prev.swiper-button-lock,
2382        .products-section-slider .product-slider-next.swiper-button-lock,
2383        .products-section-slider .product-slider-prev.swiper-button-disabled,
2384        .products-section-slider .product-slider-next.swiper-button-disabled,
2385        .products-section-slider .product-slider-prev.is-nav-locked,
2386        .products-section-slider .product-slider-next.is-nav-locked,
2387        .products-section-slider .product-slider-prev.is-nav-disabled,
2388        .products-section-slider .product-slider-next.is-nav-disabled {
2389            display: flex !important;
2390            align-items: center;
2391            justify-content: center;
2392            visibility: visible !important;
2393            pointer-events: auto !important;
2394            position: absolute !important;
2395            top: 50% !important;
2396            bottom: auto !important;
2397            transform: translateY(-50%) !important;
2398            width: 34px !important;
2399            height: 34px !important;
2400            margin: 0 !important;
2401            margin-top: 0 !important;
2402            z-index: 20 !important;
2403            border: 2px solid #fff;
2404            border-radius: 50%;
2405            background: rgba(0, 81, 38, 0.85);
2406            color: #fff;
2407            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
2408            opacity: 1 !important;
2409            cursor: pointer;
2410        }
2411
2412        .products-section-slider .product-slider-prev {
2413            left: 10px !important;
2414            right: auto !important;
2415        }
2416
2417        .products-section-slider .product-slider-next {
2418            right: 10px !important;
2419            left: auto !important;
2420        }
2421
2422        .products-section-slider .product-slider-prev::after,
2423        .products-section-slider .product-slider-next::after {
2424            font-size: 13px;
2425            font-weight: 700;
2426        }
2427
2428        .products-section-slider .product-slider-prev:hover,
2429        .products-section-slider .product-slider-next:hover {
2430            background: #005126;
2431            border-color: #ffc702;
2432            color: #ffc702;
2433        }
2434    }
2435
2436    @media (max-width: 576px) {
2437        .products-section-slider .product-slider-prev,
2438        .products-section-slider .product-slider-next,
2439        .products-section-slider .product-slider-prev.swiper-button-lock,
2440        .products-section-slider .product-slider-next.swiper-button-lock {
2441            display: flex !important;
2442            width: 32px !important;
2443            height: 32px !important;
2444        }
2445
2446        .products-section-slider .product-slider-prev {
2447            left: 8px !important;
2448        }
2449
2450        .products-section-slider .product-slider-next {
2451            right: 8px !important;
2452        }
2453
2454        .products-section-slider .product-slider-prev::after,
2455        .products-section-slider .product-slider-next::after {
2456            font-size: 12px;
2457        }
2458    }
2459
2460    /* Tablet + mobile: luôn 1 slide full width */
2461    @media (max-width: 991px) {
2462        .products-section-slider {
2463            padding: 16px 0;
2464        }
2465
2466
2467
2468        .products-section-slider .product-slider .swiper-slide {
2469            width: 100% !important;
2470            margin-right: 0 !important;
2471        }
2472
2473        .products-section-slider .product-slider .category {
2474            aspect-ratio: 16 / 10;
2475        }
2476
2477        .products-section-slider .product-slider .category .category-title {
2478            font-size: 22px;
2479            line-height: 26px;
2480            padding-bottom: 22px;
2481        }
2482    }
2483
2484    @media (max-width: 576px) {
2485        .products-section-slider .products-section-inner.container {
2486            padding-left: 15px;
2487            padding-right: 15px;
2488        }
2489
2490        .products-section-slider .product-slider .category {
2491            aspect-ratio: 16 / 11;
2492        }
2493
2494        .products-section-slider .product-slider .category .category-title {
2495            font-size: 18px;
2496            line-height: 22px;
2497            padding-bottom: 16px;
2498        }
2499    }
2500
2501    @media (max-width: 425px) {
2502        .products-section-slider .product-slider .category .category-title {
2503            font-size: 16px;
2504            line-height: 20px;
2505            padding-bottom: 14px;
2506        }
2507    }
2508</style>
2509<script>
2510    (function () {
2511        function initProductSliders() {
2512            if (typeof Swiper === "undefined") return;
2513
2514            document.querySelectorAll(".products-section-slider .product-slider").forEach(function (el) {
2515                if (el.dataset.inited === "1") return;
2516                el.dataset.inited = "1";
2517
2518                var slideCount = el.querySelectorAll(".swiper-slide").length;
2519                var hasMultiple = slideCount > 1;
2520
2521                var swiper = new Swiper(el, {
2522                    slidesPerView: 1,
2523                    spaceBetween: 0,
2524                    loop: false,
2525                    rewind: hasMultiple,
2526                    speed: 600,
2527                    watchOverflow: false,
2528                    observer: true,
2529                    observeParents: true,
2530                    autoplay: hasMultiple
2531                        ? { delay: 5000, disableOnInteraction: false, pauseOnMouseEnter: true }
2532                        : false,
2533                    pagination: hasMultiple
2534                        ? { el: el.querySelector(".product-slider-pagination"), clickable: true }
2535                        : undefined,
2536                    navigation: hasMultiple
2537                        ? {
2538                            nextEl: el.querySelector(".product-slider-next"),
2539                            prevEl: el.querySelector(".product-slider-prev"),
2540                            disabledClass: "is-nav-disabled",
2541                            lockClass: "is-nav-locked",
2542                        }
2543                        : undefined,
2544                    breakpoints: {
2545                        /* Chỉ desktop >= 992 mới hiện 2 SP cạnh nhau */
2546                        992: {
2547                            slidesPerView: Math.min(2, slideCount),
2548                            spaceBetween: 27
2549                        }
2550                    },
2551                    on: {
2552                        init: function () { this.update(); },
2553                        resize: function () { this.update(); }
2554                    }
2555                });
2556
2557                window.addEventListener("resize", function () {
2558                    if (swiper && !swiper.destroyed) {
2559                        swiper.update();
2560                    }
2561                });
2562            });
2563        }
2564
2565        document.addEventListener("DOMContentLoaded", initProductSliders);
2566        window.addEventListener("load", initProductSliders);
2567    })();
2568</script>
2568
2569
2570
2571<script>
2572    window.countClick = function (urlList, itemId, linkElement) {
2573        var url = '/UserControls/Publishing/QuangCao/UpdateClickCount.aspx' +
2574            '?UrlListProcess=' + urlList +
2575            '&itemId=' + itemId;
2576
2577        // Không xử lý nếu link rỗng hoặc javascript:;
2578        if (!linkElement.href || linkElement.href.indexOf('javascript:;') !== -1) {
2579            return false;
2580        }
2581
2582        // Gửi request ngầm đếm click (fire-and-forget)
2583        if (typeof navigator.sendBeacon === "function") {
2584            navigator.sendBeacon(url);
2585        } else {
2586            $.get(url);
2587        }
2588
2589        // Nếu thẻ <a> chưa có target nhưng cần mở tab mới như cũ, set target
2590        // (Trước đây code dùng window.open('_blank') cho mọi link)
2591        if (!linkElement.getAttribute('target') && !linkElement.className.includes('category')) {
2592             linkElement.setAttribute('target', '_blank');
2593        }
2594
2595        // Cho phép thẻ <a> hoạt động tự nhiên để tránh bị Safari block popup
2596        return true;
2597    };
2598</script>
2598
2599				</div><div class="ms-clear"></div></div>
2600			</div><div class="ms-PartSpacingVertical"></div>
2601		</div><div id="MSOZoneCell_WebPartctl00_ctl43_g_6ec008a9_9316_42a2_833b_bc3f997507aa" class="s4-wpcell-plain ms-webpartzone-cell ms-webpart-cell-vertical-inline-table ms-webpart-cell-vertical ms-fullWidth ">
2602			<div class="ms-webpart-chrome ms-webpart-chrome-vertical ms-webpart-chrome-fullWidth ">
2603				<div WebPartID="6ec008a9-9316-42a2-833b-bc3f997507aa" HasPers="false" id="WebPartctl00_ctl43_g_6ec008a9_9316_42a2_833b_bc3f997507aa" width="100%" class="ms-WPBody noindex " allowDelete="false" allowExport="false" style="" ><div id="ctl00_ctl43_g_6ec008a9_9316_42a2_833b_bc3f997507aa">
2604					
2605<section class="products-section products-section-slider display-grid">
2606    <div class="products-section-inner container">
2607        <h2 class="title-section">Sản phẩm kinh tế</h2>
2608        <div class="swiper product-slider">
2609            <div class="swiper-wrapper">
2610                
2611                <div class="swiper-slide">
2612                    <a href="https://xuctienthuongmai.vdi.org.vn/" class="category" onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 94, this);">
2613                        <img class="category-img" src="/quantri/knd/quangcao/PublishingImages/QuangCao/AnhDaiDien/2026/09/img-nhua-caosu.png" alt="Sản phẩm kinh tế 1">
2614                        <h3 class="category-title">Sản phẩm kinh tế 1</h3>
2615                    </a>
2616                </div>
2617                
2618                <div class="swiper-slide">
2619                    <a href="https://xuctienthuongmai.vdi.org.vn/" class="category" onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 93, this);">
2620                        <img class="category-img" src="/quantri/knd/quangcao/PublishingImages/QuangCao/AnhDaiDien/2026/09/img-quang-dien-tu.png" alt="Sản phẩm kinh tế 2">
2621                        <h3 class="category-title">Sản phẩm kinh tế 2</h3>
2622                    </a>
2623                </div>
2624                
2625                <div class="swiper-slide">
2626                    <a href="https://xuctienthuongmai.vdi.org.vn/" class="category" onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 92, this);">
2627                        <img class="category-img" src="/quantri/knd/quangcao/PublishingImages/QuangCao/AnhDaiDien/2026/09/img-material.png" alt="Sản phẩm chung">
2628                        <h3 class="category-title">Sản phẩm chung</h3>
2629                    </a>
2630                </div>
2631                
2632            </div>
2633            
2634            <div class="swiper-button-prev product-slider-prev"></div>
2635            <div class="swiper-button-next product-slider-next"></div>
2636            <div class="swiper-pagination product-slider-pagination"></div>
2637            
2638        </div>
2639    </div>
2640</section>
2641
2642<style>
2643    .products-section-slider {
2644        width: 100% !important;
2645        max-width: 100% !important;
2646        overflow: hidden !important;
2647        box-sizing: border-box;
2648        padding: 20px 0;
2649    }
2650
2651    .products-section-slider .products-section-inner.container {
2652        width: 100% !important;
2653        max-width: 1110px;
2654        margin-left: auto;
2655        margin-right: auto;
2656        box-sizing: border-box;
2657    }
2658
2659
2660
2661    .products-section-slider .product-slider {
2662        width: 100% !important;
2663        max-width: 100% !important;
2664        margin-top: 12px;
2665        overflow: hidden !important;
2666        box-sizing: border-box;
2667        position: relative;
2668    }
2669
2670    .products-section-slider .product-slider .swiper-wrapper {
2671        box-sizing: border-box;
2672    }
2673
2674    .products-section-slider .product-slider:not(.swiper-initialized) .swiper-wrapper {
2675        display: block !important;
2676        width: 100% !important;
2677        transform: none !important;
2678    }
2679
2680    .products-section-slider .product-slider:not(.swiper-initialized) .swiper-slide {
2681        display: none !important;
2682        width: 100% !important;
2683    }
2684
2685    .products-section-slider .product-slider:not(.swiper-initialized) .swiper-slide:first-child {
2686        display: block !important;
2687    }
2688
2689    .products-section-slider .product-slider .swiper-slide {
2690        box-sizing: border-box;
2691        height: auto;
2692    }
2693
2694    .products-section-slider .product-slider .category {
2695        position: relative;
2696        display: block;
2697        width: 100%;
2698        max-width: 100%;
2699        border-radius: 8px;
2700        overflow: hidden;
2701        aspect-ratio: 16 / 9;
2702        box-sizing: border-box;
2703    }
2704
2705    .products-section-slider .product-slider .category .category-img {
2706        display: block;
2707        height: 100%;
2708        width: 100%;
2709        max-width: 100%;
2710        object-fit: cover;
2711        object-position: center;
2712        transition: transform 0.4s ease;
2713    }
2714
2715    .products-section-slider .product-slider .category .category-title {
2716        background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, 0.5) 100%);
2717        position: absolute;
2718        top: 0;
2719        left: 0;
2720        right: 0;
2721        bottom: 0;
2722        color: #fff;
2723        font-size: 28px;
2724        line-height: 32px;
2725        text-align: center;
2726        width: 100%;
2727        height: 100%;
2728        display: flex;
2729        align-items: flex-end;
2730        justify-content: center;
2731        padding: 0 12px 28px;
2732        font-weight: bold;
2733        margin: 0;
2734        box-sizing: border-box;
2735    }
2736
2737    .products-section-slider .product-slider .category:hover .category-img {
2738        transform: scale(1.15);
2739    }
2740
2741    .products-section-slider .product-slider .category:hover .category-title {
2742        color: #ffc702;
2743    }
2744
2745    .products-section-slider .product-slider-pagination {
2746        position: relative !important;
2747        margin-top: 14px;
2748        bottom: auto !important;
2749        width: 100% !important;
2750        text-align: center;
2751    }
2752
2753    .products-section-slider .product-slider-pagination .swiper-pagination-bullet {
2754        width: 24px;
2755        height: 3px;
2756        border-radius: 4px;
2757        background: #d8ddd9;
2758        opacity: 1;
2759    }
2760
2761    .products-section-slider .product-slider-pagination .swiper-pagination-bullet-active {
2762        background: #005126;
2763    }
2764
2765    /* Mũi tên: chỉ hiện tablet/mobile, ẩn laptop/desktop */
2766    .products-section-slider .product-slider-prev,
2767    .products-section-slider .product-slider-next {
2768        display: none !important;
2769    }
2770
2771    @media (max-width: 991px) {
2772        .products-section-slider .product-slider-prev,
2773        .products-section-slider .product-slider-next,
2774        .products-section-slider .product-slider-prev.swiper-button-lock,
2775        .products-section-slider .product-slider-next.swiper-button-lock,
2776        .products-section-slider .product-slider-prev.swiper-button-disabled,
2777        .products-section-slider .product-slider-next.swiper-button-disabled,
2778        .products-section-slider .product-slider-prev.is-nav-locked,
2779        .products-section-slider .product-slider-next.is-nav-locked,
2780        .products-section-slider .product-slider-prev.is-nav-disabled,
2781        .products-section-slider .product-slider-next.is-nav-disabled {
2782            display: flex !important;
2783            align-items: center;
2784            justify-content: center;
2785            visibility: visible !important;
2786            pointer-events: auto !important;
2787            position: absolute !important;
2788            top: 50% !important;
2789            bottom: auto !important;
2790            transform: translateY(-50%) !important;
2791            width: 34px !important;
2792            height: 34px !important;
2793            margin: 0 !important;
2794            margin-top: 0 !important;
2795            z-index: 20 !important;
2796            border: 2px solid #fff;
2797            border-radius: 50%;
2798            background: rgba(0, 81, 38, 0.85);
2799            color: #fff;
2800            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
2801            opacity: 1 !important;
2802            cursor: pointer;
2803        }
2804
2805        .products-section-slider .product-slider-prev {
2806            left: 10px !important;
2807            right: auto !important;
2808        }
2809
2810        .products-section-slider .product-slider-next {
2811            right: 10px !important;
2812            left: auto !important;
2813        }
2814
2815        .products-section-slider .product-slider-prev::after,
2816        .products-section-slider .product-slider-next::after {
2817            font-size: 13px;
2818            font-weight: 700;
2819        }
2820
2821        .products-section-slider .product-slider-prev:hover,
2822        .products-section-slider .product-slider-next:hover {
2823            background: #005126;
2824            border-color: #ffc702;
2825            color: #ffc702;
2826        }
2827    }
2828
2829    @media (max-width: 576px) {
2830        .products-section-slider .product-slider-prev,
2831        .products-section-slider .product-slider-next,
2832        .products-section-slider .product-slider-prev.swiper-button-lock,
2833        .products-section-slider .product-slider-next.swiper-button-lock {
2834            display: flex !important;
2835            width: 32px !important;
2836            height: 32px !important;
2837        }
2838
2839        .products-section-slider .product-slider-prev {
2840            left: 8px !important;
2841        }
2842
2843        .products-section-slider .product-slider-next {
2844            right: 8px !important;
2845        }
2846
2847        .products-section-slider .product-slider-prev::after,
2848        .products-section-slider .product-slider-next::after {
2849            font-size: 12px;
2850        }
2851    }
2852
2853    /* Tablet + mobile: luôn 1 slide full width */
2854    @media (max-width: 991px) {
2855        .products-section-slider {
2856            padding: 16px 0;
2857        }
2858
2859
2860
2861        .products-section-slider .product-slider .swiper-slide {
2862            width: 100% !important;
2863            margin-right: 0 !important;
2864        }
2865
2866        .products-section-slider .product-slider .category {
2867            aspect-ratio: 16 / 10;
2868        }
2869
2870        .products-section-slider .product-slider .category .category-title {
2871            font-size: 22px;
2872            line-height: 26px;
2873            padding-bottom: 22px;
2874        }
2875    }
2876
2877    @media (max-width: 576px) {
2878        .products-section-slider .products-section-inner.container {
2879            padding-left: 15px;
2880            padding-right: 15px;
2881        }
2882
2883        .products-section-slider .product-slider .category {
2884            aspect-ratio: 16 / 11;
2885        }
2886
2887        .products-section-slider .product-slider .category .category-title {
2888            font-size: 18px;
2889            line-height: 22px;
2890            padding-bottom: 16px;
2891        }
2892    }
2893
2894    @media (max-width: 425px) {
2895        .products-section-slider .product-slider .category .category-title {
2896            font-size: 16px;
2897            line-height: 20px;
2898            padding-bottom: 14px;
2899        }
2900    }
2901</style>
2902<script>
2903    (function () {
2904        function initProductSliders() {
2905            if (typeof Swiper === "undefined") return;
2906
2907            document.querySelectorAll(".products-section-slider .product-slider").forEach(function (el) {
2908                if (el.dataset.inited === "1") return;
2909                el.dataset.inited = "1";
2910
2911                var slideCount = el.querySelectorAll(".swiper-slide").length;
2912                var hasMultiple = slideCount > 1;
2913
2914                var swiper = new Swiper(el, {
2915                    slidesPerView: 1,
2916                    spaceBetween: 0,
2917                    loop: false,
2918                    rewind: hasMultiple,
2919                    speed: 600,
2920                    watchOverflow: false,
2921                    observer: true,
2922                    observeParents: true,
2923                    autoplay: hasMultiple
2924                        ? { delay: 5000, disableOnInteraction: false, pauseOnMouseEnter: true }
2925                        : false,
2926                    pagination: hasMultiple
2927                        ? { el: el.querySelector(".product-slider-pagination"), clickable: true }
2928                        : undefined,
2929                    navigation: hasMultiple
2930                        ? {
2931                            nextEl: el.querySelector(".product-slider-next"),
2932                            prevEl: el.querySelector(".product-slider-prev"),
2933                            disabledClass: "is-nav-disabled",
2934                            lockClass: "is-nav-locked",
2935                        }
2936                        : undefined,
2937                    breakpoints: {
2938                        /* Chỉ desktop >= 992 mới hiện 2 SP cạnh nhau */
2939                        992: {
2940                            slidesPerView: Math.min(2, slideCount),
2941                            spaceBetween: 27
2942                        }
2943                    },
2944                    on: {
2945                        init: function () { this.update(); },
2946                        resize: function () { this.update(); }
2947                    }
2948                });
2949
2950                window.addEventListener("resize", function () {
2951                    if (swiper && !swiper.destroyed) {
2952                        swiper.update();
2953                    }
2954                });
2955            });
2956        }
2957
2958        document.addEventListener("DOMContentLoaded", initProductSliders);
2959        window.addEventListener("load", initProductSliders);
2960    })();
2961</script>
2961
2962
2963
2964<script>
2965    window.countClick = function (urlList, itemId, linkElement) {
2966        var url = '/UserControls/Publishing/QuangCao/UpdateClickCount.aspx' +
2967            '?UrlListProcess=' + urlList +
2968            '&itemId=' + itemId;
2969
2970        // Không xử lý nếu link rỗng hoặc javascript:;
2971        if (!linkElement.href || linkElement.href.indexOf('javascript:;') !== -1) {
2972            return false;
2973        }
2974
2975        // Gửi request ngầm đếm click (fire-and-forget)
2976        if (typeof navigator.sendBeacon === "function") {
2977            navigator.sendBeacon(url);
2978        } else {
2979            $.get(url);
2980        }
2981
2982        // Nếu thẻ <a> chưa có target nhưng cần mở tab mới như cũ, set target
2983        // (Trước đây code dùng window.open('_blank') cho mọi link)
2984        if (!linkElement.getAttribute('target') && !linkElement.className.includes('category')) {
2985             linkElement.setAttribute('target', '_blank');
2986        }
2987
2988        // Cho phép thẻ <a> hoạt động tự nhiên để tránh bị Safari block popup
2989        return true;
2990    };
2991</script>
2991
2992				</div><div class="ms-clear"></div></div>
2993			</div><div class="ms-PartSpacingVertical"></div>
2994		</div><div id="MSOZoneCell_WebPartctl00_ctl43_g_6aa42ef7_cdf5_48f3_a41d_b0cf34619298" class="s4-wpcell-plain ms-webpartzone-cell ms-webpart-cell-vertical-inline-table ms-webpart-cell-vertical ms-fullWidth ">
2995			<div class="ms-webpart-chrome ms-webpart-chrome-vertical ms-webpart-chrome-fullWidth ">
2996				<div WebPartID="6aa42ef7-cdf5-48f3-a41d-b0cf34619298" HasPers="false" id="WebPartctl00_ctl43_g_6aa42ef7_cdf5_48f3_a41d_b0cf34619298" width="100%" class="ms-WPBody noindex " allowDelete="false" allowExport="false" style="" ><div id="ctl00_ctl43_g_6aa42ef7_cdf5_48f3_a41d_b0cf34619298">
2997					
2998<section class="members-section display-grid">
2999    <div class="members-section-inner container">
3000        <div class="title-block">
3001            <h2 class="title-section">Các đơn vị thành viên</h2>
3002            <a href="/gioi-thieu.html#DVTV" class="see-more">Xem tất cả</a>
3003        </div>
3004        <div class="member-slider-wrap">
3005            <div class="member-slider swiper">
3006                <div class="swiper-wrapper">
3007                    
3008                    <div class="swiper-slide">
3009                        <a href="http://z127.vn/"
3010                           class="member-item-link"
3011                           target="_blank"
3012                           onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 87, this);">
3013                            <img class="item-img" src="/media/uploads/image/2021/06/14/LOGO_Z127_V2.png" alt="Công ty TNHH MTV 27" />
3014                            <h5 class="item-name">Công ty TNHH MTV 27</h5>
3015                        </a>
3016                    </div>
3017                    
3018                    <div class="swiper-slide">
3019                        <a href="http://ck25.vn"
3020                           class="member-item-link"
3021                           target="_blank"
3022                           onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 84, this);">
3023                            <img class="item-img" src="/media//uploads/images/logoz125.png" alt="Nhà máy cơ khí chính xác 25" />
3024                            <h5 class="item-name">Nhà máy cơ khí chính xác 25</h5>
3025                        </a>
3026                    </div>
3027                    
3028                    <div class="swiper-slide">
3029                        <a href="https://www.songthu.com.vn/"
3030                           class="member-item-link"
3031                           target="_blank"
3032                           onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 83, this);">
3033                            <img class="item-img" src="/media//uploads/images/songthu.jpg" alt="Công ty Sông Thu" />
3034                            <h5 class="item-name">Công ty Sông Thu</h5>
3035                        </a>
3036                    </div>
3037                    
3038                    <div class="swiper-slide">
3039                        <a href="http://vttn.vn/"
3040                           class="member-item-link"
3041                           target="_blank"
3042                           onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 82, this);">
3043                            <img class="item-img" src="/media//uploads/images/vcn.png" alt="Viện công nghệ" />
3044                            <h5 class="item-name">Viện công nghệ</h5>
3045                        </a>
3046                    </div>
3047                    
3048                    <div class="swiper-slide">
3049                        <a href="#"
3050                           class="member-item-link"
3051                           target="_blank"
3052                           onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 80, this);">
3053                            <img class="item-img" src="/media//uploads/images/lgc.jpg" alt="Tổng cục công nghiệp quốc phòng" />
3054                            <h5 class="item-name">Tổng cục công nghiệp quốc phòng</h5>
3055                        </a>
3056                    </div>
3057                    
3058                    <div class="swiper-slide">
3059                        <a href="http://basonshipyard.vn/"
3060                           class="member-item-link"
3061                           target="_blank"
3062                           onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 79, this);">
3063                            <img class="item-img" src="/media//uploads/images/bason.png" alt="Tổng công ty Bason" />
3064                            <h5 class="item-name">Tổng công ty Bason</h5>
3065                        </a>
3066                    </div>
3067                    
3068                    <div class="swiper-slide">
3069                        <a href="http://quangdientu.com.vn/"
3070                           class="member-item-link"
3071                           target="_blank"
3072                           onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 74, this);">
3073                            <img class="item-img" src="/media//uploads/images/logo-xn23.png" alt="XN 23/Z199" />
3074                            <h5 class="item-name">XN 23/Z199</h5>
3075                        </a>
3076                    </div>
3077                    
3078                    <div class="swiper-slide">
3079                        <a href="http://www.cokhi17.com"
3080                           class="member-item-link"
3081                           target="_blank"
3082                           onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 72, this);">
3083                            <img class="item-img" src="/media//uploads/images/logo-z11
30837.jpg" alt="Nhà máy Z117" />
3084                            <h5 class="item-name">Nhà máy Z117</h5>
3085                        </a>
3086                    </div>
3087                    
3088                    <div class="swiper-slide">
3089                        <a href="http://xn59.com.vn/"
3090                           class="member-item-link"
3091                           target="_blank"
3092                           onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 71, this);">
3093                            <img class="item-img" src="/media//uploads/images/logo-xn59-z27.png" alt="XN 59/Z27" />
3094                            <h5 class="item-name">XN 59/Z27</h5>
3095                        </a>
3096                    </div>
3097                    
3098                    <div class="swiper-slide">
3099                        <a href="https://z114.vn/"
3100                           class="member-item-link"
3101                           target="_blank"
3102                           onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 69, this);">
3103                            <img class="item-img" src="/quantri/knd/quangcao/PublishingImages/QuangCao/AnhDaiDien/2026/09/z114.png" alt="Nhà máy Z114" />
3104                            <h5 class="item-name">Nhà máy Z114</h5>
3105                        </a>
3106                    </div>
3107                    
3108                    <div class="swiper-slide">
3109                        <a href="http://z115.vn"
3110                           class="member-item-link"
3111                           target="_blank"
3112                           onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 70, this);">
3113                            <img class="item-img" src="/media//uploads/images/logo-z115.png" alt="Nhà máy Z115" />
3114                            <h5 class="item-name">Nhà máy Z115</h5>
3115                        </a>
3116                    </div>
3117                    
3118                    <div class="swiper-slide">
3119                        <a href="http://z76.vn/"
3120                           class="member-item-link"
3121                           target="_blank"
3122                           onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 75, this);">
3123                            <img class="item-img" src="/media//uploads/images/logo76-2.png" alt="Nhà máy Z176" />
3124                            <h5 class="item-name">Nhà máy Z176</h5>
3125                        </a>
3126                    </div>
3127                    
3128                    <div class="swiper-slide">
3129                        <a href="http://dienco91.com.vn/"
3130                           class="member-item-link"
3131                           target="_blank"
3132                           onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 78, this);">
3133                            <img class="item-img" src="/media//uploads/images/z191.png" alt="Nhà máy Z199" />
3134                            <h5 class="item-name">Nhà máy Z199</h5>
3135                        </a>
3136                    </div>
3137                    
3138                    <div class="swiper-slide">
3139                        <a href="http://189shipbuilding.com.vn/"
3140                           class="member-item-link"
3141                           target="_blank"
3142                           onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 81, this);">
3143                            <img class="item-img" src="/media//uploads/images/logo189.jpg" alt="Nhà máy Z189" />
3144                            <h5 class="item-name">Nhà máy Z189</h5>
3145                        </a>
3146                    </div>
3147                    
3148                    <div class="swiper-slide">
3149                        <a href="https://cokhichinhxac29.vn/"
3150                           class="member-item-link"
3151                           target="_blank"
3152                           onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 88, this);">
3153                            <img class="item-img" src="/media//uploads/images/logo-20z129.png" alt="Nhà máy Z129" />
3154                            <h5 class="item-name">Nhà máy Z129</h5>
3155                        </a>
3156                    </div>
3157                    
3158                    <div class="swiper-slide">
3159                        <a href="http://www.eme31.com.vn"
3160                           class="member-item-link"
3161                           target="_blank"
3162                           onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 89, this);">
3163                            <img class="item-img" src="/media//uploads/images/z131-logo-2.png" alt="Nhà máy Z131" />
3164                            <h5 class="item-name">Nhà máy Z131</h5>
3165                        </a>
3166                    </div>
3167                    
3168                    <div class="swiper-slide">
3169                        <a href="http://dientusaomai.com.vn/"
3170                           class="member-item-link"
3171                           target="_blank"
3172                           onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 90, this);">
3173                            <img class="item-img" src="/media/uploads/image/2022/06/13/logoz181.jpg" alt="Nhà máy Z181" />
3174                            <h5 class="item-name">Nhà máy Z181</h5>
3175                        </a>
3176                    </div>
3177                    
3178                    <div class="swiper-slide">
3179                        <a href="http://www.cokhiz183.com/"
3180                           class="member-item-link"
3181                           target="_blank"
3182                           onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 91, this);">
3183                            <img class="item-img" src="/media/uploads/image/2022/11/01/logoz183.jpg" alt="Nhà máy Z183" />
3184                            <h5 class="item-name">Nhà máy Z183</h5>
3185                        </a>
3186                    </div>
3187                    
3188                    <div class="swiper-slide">
3189                        <a href="http://ck11.vn/"
3190                           class="member-item-link"
3191                           target="_blank"
3192                           onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 95, this);">
3193                            <img class="item-img" src="/quantri/knd/quangcao/PublishingImages/QuangCao/AnhDaiDien/2026/09/z111.png" alt="Nhà máy Z111" />
3194                            <h5 class="item-name">Nhà máy Z111</h5>
3195                        </a>
3196                    </div>
3197                    
3198                    <div class="swiper-slide">
3199                        <a href="https://z113.vn/"
3200                           class="member-item-link"
3201                           target="_blank"
3202                           onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 96, this);">
3203                            <img class="item-img" src="/quantri/knd/quangcao/PublishingImages/QuangCao/AnhDaiDien/2026/09/z113.png" alt="Nhà máy Z113" />
3204                            <h5 class="item-name">Nhà máy Z113</h5>
3205                        </a>
3206                    </div>
3207                    
3208                    <div class="swiper-slide">
3209                        <a href="https://z121.vn/"
3210                           class="member-item-link"
3211                           target="_blank"
3212                           onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 97, this);">
3213                            <img class="item-img" src="/quantri/knd/quangcao/PublishingImages/QuangCao/AnhDaiDien/2026/09/image-29.png" alt="Nhà máy Z121" />
3214                            <h5 class="item-name">Nhà máy Z121</h5>
3215                        </a>
3216                    </div>
3217                    
3218                </div>
3219            </div>
3220            <div class="swiper-button-next"></div>
3221            <div class="swiper-button-prev"></div>
3222        </div>
3223    </div>
3224</section>
3225
3226<script>
3227    (function () {
3228        function initMemberSliders() {
3229            if (typeof Swiper === "undefined") return;
3230
3231            document.querySelectorAll(".members-section .member-slider").forEach(function (el) {
3232                if (el.dataset.inited === "1") return;
3233                el.dataset.inited = "1";
3234
3235                var wrap = el.closest(".member-slider-wrap");
3236                var slideCount = el.querySelectorAll(".swiper-slide").length;
3237                var hasMultiple = slideCount > 1;
3238
3239                new Swiper(el, {
3240                    slidesPerView: 7,
3241                    spaceBetween: 30,
3242                    direction: "horizontal",
3243                    loop: hasMultiple,
3244                    watchOverflow: false,
3245                    autoplay: hasMultiple
3246                        ? { delay: 5000, disableOnInteraction: false, pauseOnMouseEnter: true }
3247                        : false,
3248                    navigation: {
3249                        nextEl: wrap ? wrap.querySelector(".swiper-button-next") : null,
3250                        prevEl: wrap ? wrap.querySelector(".swiper-button-prev") : null,
3251                    },
3252                    breakpoints: {
3253                        0: { slidesPerView: 3, spaceBetween: 10 },
3254                        370: { slidesPerView: 3, spaceBetween: 10 },
3255                        567: { slidesPerView: 4, spaceBetween: 10 },
3256                        768: { slidesPerView: 5, spaceBetween: 20 },
3257                        1024: { slidesPerView: 6, spaceBetween: 30 },
3258                        1280: { slidesPerView: 7, spaceBetween: 30 },
3259                    },
3260                });
3261            });
3262        }
3263
3264        document.addEventListener("DOMContentLoaded", initMemberSliders);
3265        window.addEventListener("load", initMemberSliders);
3266    })();
3267</script>
3267
3268
3269
3270<script>
3271    window.countClick = function (urlList, itemId, linkElement) {
3272        var url = '/UserControls/Publishing/QuangCao/UpdateClickCount.aspx' +
3273            '?UrlListProcess=' + urlList +
3274            '&itemId=' + itemId;
3275
3276        // Không xử lý nếu link rỗng hoặc javascript:;
3277        if (!linkElement.href || linkElement.href.indexOf('javascript:;') !== -1) {
3278            return false;
3279        }
3280
3281        // Gửi request ngầm đếm click (fire-and-forget)
3282        if (typeof navigator.sendBeacon === "function") {
3283            navigator.sendBeacon(url);
3284        } else {
3285            $.get(url);
3286        }
3287
3288        // Nếu thẻ <a> chưa có target nhưng cần mở tab mới như cũ, set target
3289        // (Trước đây code dùng window.open('_blank') cho mọi link)
3290        if (!linkElement.getAttribute('target') && !linkElement.className.includes('category')) {
3291             linkElement.setAttribute('target', '_blank');
3292        }
3293
3294        // Cho phép thẻ <a> hoạt động tự nhiên để tránh bị Safari block popup
3295        return true;
3296    };
3297</script>
3297
3298				</div><div class="ms-clear"></div></div>
3299			</div><div class="ms-PartSpacingVertical"></div>
3300		</div><div id="MSOZoneCell_WebPartctl00_ctl43_g_afdb125e_b769_4f26_af30_b8c561d4da9d" class="s4-wpcell-plain ms-webpartzone-cell ms-webpart-cell-vertical-inline-table ms-webpart-cell-vertical ms-fullWidth ">
3301			<div class="ms-webpart-chrome ms-webpart-chrome-vertical ms-webpart-chrome-fullWidth ">
3302				<div WebPartID="afdb125e-b769-4f26-af30-b8c561d4da9d" HasPers="false" id="WebPartctl00_ctl43_g_afdb125e_b769_4f26_af30_b8c561d4da9d" width="100%" class="ms-WPBody noindex " allowDelete="false" allowExport="false" style="" ><div id="ctl00_ctl43_g_afdb125e_b769_4f26_af30_b8c561d4da9d">
3303					
3304<section class="members-section display-grid">
3305    <div class="members-section-inner container">
3306        <div class="government-units">
3307            
3308            <a href='https://vietnamdefence.vdi.org.vn' 
3309               target="_blank" 
3310               class="government-item" 
3311               onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 66, this);">
3312                <img class="img-banner" src="/quantri/knd/quangcao/PublishingImages/QuangCao/AnhDaiDien/2025/04/web-trien-lam.png" alt="Triển lãm quốc phòng quốc tế việt nam" />
3313            </a>
3314            
3315            <a href='https://tapchi.vdi.org.vn' 
3316               target="_blank" 
3317               class="government-item" 
3318               onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 65, this);">
3319                <img class="img-banner" src="/quantri/knd/quangcao/PublishingImages/QuangCao/AnhDaiDien/2025/04/web-cong-nghiep.png" alt="Tạp chí quốc phòng và kinh tế" />
3320            </a>
3321            
3322            <a href='https://dichvucong.mod.gov.vn' 
3323               target="_blank" 
3324               class="government-item" 
3325               onclick="return countClick('/QuanTri/KND/QuangCao/Lists/DanhSachQuangCao', 64, this);">
3326                <img class="img-banner" src="/quantri/knd/quangcao/PublishingImages/QuangCao/AnhDaiDien/2025/04/web-dich-vu-cong.png" alt="Cổng dịch vụ công bộ quốc phòng" />
3327            </a>
3328            
3329        </div>
3330    </div>
3331</section>
3332
3333
3334<script>
3335    window.countClick = function (urlList, itemId, linkElement) {
3336        var url = '/UserControls/Publishing/QuangCao/UpdateClickCount.aspx' +
3337            '?UrlListProcess=' + urlList +
3338            '&itemId=' + itemId;
3339
3340        // Không xử lý nếu link rỗng hoặc javascript:;
3341        if (!linkElement.href || linkElement.href.indexOf('javascript:;') !== -1) {
3342            return false;
3343        }
3344
3345        // Gửi request ngầm đếm click (fire-and-forget)
3346        if (typeof navigator.sendBeacon === "function") {
3347            navigator.sendBeacon(url);
3348        } else {
3349            $.get(url);
3350        }
3351
3352        // Nếu thẻ <a> chưa có target nhưng cần mở tab mới như cũ, set target
3353        // (Trước đây code dùng window.open('_blank') cho mọi link)
3354        if (!linkElement.getAttribute('target') && !linkElement.className.includes('category')) {
3355             linkElement.setAttribute('target', '_blank');
3356        }
3357
3358        // Cho phép thẻ <a> hoạt động tự nhiên để tránh bị Safari block popup
3359        return true;
3360    };
3361</script>
3361
3362				</div><div class="ms-clear"></div></div>
3363			</div>
3364		</div>
3365	</div>
3366	</main>
3367<div style='display:none' id='hidZone'><menu class="ms-hide">
3368		<ie:menuitem id="MSOMenu_Help" iconsrc="/_layouts/15/images/HelpIcon.gif" onmenuclick="MSOWebPartPage_SetNewWindowLocation(MenuWebPart.getAttribute('helpLink'), MenuWebPart.getAttribute('helpMode'))" text="Help" type="option" style="display:none">
3369
3370		</ie:menuitem>
3371	</menu></div>
3372                    
3373</div>
3374					
3375					<footer class="footer">
3376						<div id="ctl00_g_9e11e68b_8166_49ea_bf31_1ebf37d53018" __MarkupType="vsattributemarkup" __WebPartId="{9e11e68b_8166_49ea_bf31_1ebf37d22463}" WebPart="true">
3377	<div class="ExternalClass4069423512B749429F5F05254E1F88FA">
3378<div class="container">
3379    <div class="footer-content">
3380        <div class="footer-logo">
3381            <a>
3382                <img src="/Publishing_Resources/CongThongTin/assets/images/logo-footer.png" alt="Logo" />
3383            </a>
3384        </div>
3385        <div class="footer-main">
3386            <div class="footer-info">
3387                <div class="footer-info-item">
3388                    <span class="item-icon">
3389                        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 32 32" fill="none">
3390  <path d="M29.2934 24.44C29.2934 24.92 29.1867 25.4133 28.9601 25.8933C28.7334 26.3733 28.4401 26.8266 28.0534 27.2533C27.4001 27.9733 26.6801 28.4933 25.8667 28.8266C25.0667 29.16 24.2001 29.3333 23.2668 29.3333C21.9067 29.3333 20.4534 29.0133 18.9201 28.36C17.3867 27.7066 15.8534 26.8266 14.3334 25.72C12.8001 24.6 11.3467 23.36 9.96008 21.9866C8.58675 20.6 7.34675 19.1466 6.24008 17.6266C5.14675 16.1066 4.26675 14.5866 3.62675 13.08C2.98675 11.56 2.66675 10.1066 2.66675 8.71996C2.66675 7.81329 2.82675 6.94663 3.14675 6.14663C3.46675 5.33329 3.97341 4.58663 4.68008 3.91996C5.53341 3.07996 6.46675 2.66663 7.45341 2.66663C7.82675 2.66663 8.20008 2.74663 8.53341 2.90663C8.88008 3.06663 9.18675 3.30663 9.42675 3.65329L12.5201 8.01329C12.7601 8.34663 12.9334 8.65329 13.0534 8.94663C13.1734 9.22663 13.2401 9.50663 13.2401 9.75996C13.2401 10.08 13.1467 10.4 12.9601 10.7066C12.7867 11.0133 12.5334 11.3333 12.2134 11.6533L11.2001 12.7066C11.0534 12.8533 10.9867 13.0266 10.9867 13.24C10.9867 13.3466 11.0001 13.44 11.0267 13.5466C11.0667 13.6533 11.1067 13.7333 11.1334 13.8133C11.3734 14.2533 11.7867 14.8266 12.3734 15.52C12.9734 16.2133 13.6134 16.92 14.3067 17.6266C15.0267 18.3333 15.7201 18.9866 16.4267 19.5866C17.1201 20.1733 17.6934 20.5733 18.1467 20.8133C18.2134 20.84 18.2934 20.88 18.3867 20.92C18.4934 20.96 18.6001 20.9733 18.7201 20.9733C18.9467 20.9733 19.1201 20.8933 19.2667 20.7466L20.2801 19.7466C20.6134 19.4133 20.9334 19.16 21.2401 19C21.5467 18.8133 21.8534 18.72 22.1867 18.72C22.4401 18.72 22.7067 18.7733 23.0001 18.8933C23.2934 19.0133 23.6001 19.1866 23.9334 19.4133L28.3467 22.5466C28.6934 22.7866 28.9334 23.0666 29.0801 23.4C29.2134 23.7333 29.2934 24.0666 29.2934 24.44Z" fill="currentColor"></path>
3391  <path d="M24.6667 11.9999C24.6667 11.1999 24.04 9.97325 23.1067 8.97325C22.2533 8.05325 21.12 7.33325 20 7.33325" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
3392  <path d="M29.3333 12C29.3333 6.83996 25.16 2.66663 20 2.66663" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
3393</svg>
3394                    </span>
3395                    <a class="item-content">+84-69.696154</a>
3396                </div>
3397                <div class="footer-info-item">
3398                    <span class="item-icon">
3399                        <svg xmlns="http://www.w3.org/2000/svg" width="25" height="24" viewBox="0 0 25 24" fill="none">
3400  <path d="M21.4167 8.25V5.01758C21.4167 4.85339 21.3844 4.69081 21.3215 4.53914C21.2586 4.38746 21.1665 4.24966 21.0503 4.13359L19.2828 2.36602C19.0484 2.1317 18.7306 2.00005 18.3992 2H8.91675C8.58523 2 8.26729 2.1317 8.03286 2.36612C7.79844 2.60054 7.66675 2.91848 7.66675 3.25V20.75C7.66675 21.0815 7.79844 21.3995 8.03286 21.6339C8.26729 21.8683 8.58523 22 8.91675 22H21.4167C21.7483 22 22.0662 21.8683 22.3006 21.6339C22.5351 21.3995 22.6667 21.0815 22.6667 20.75V9.5C22.6667 9.16848 22.5351 8.85054 22.3006 8.61612C22.0662 8.3817 21.7483 8.25 21.4167 8.25ZM13.9167 18.875C13.9167 19.0408 13.8509 19.1997 13.7337 19.3169C13.6165 19.4342 13.4575 19.5 13.2917 19.5H12.0417C11.876 19.5 11.717 19.4342 11.5998 19.3169C11.4826 19.1997 11.4167 19.0408 11.4167 18.875V17.625C11.4167 17.4592 11.4826 17.3003 11.5998 17.1831C11.717 17.0658 11.876 17 12.0417 17H13.2917C13.4575 17 13.6165 17.0658 13.7337 17.1831C13.8509 17.3003 13.9167 17.4592 13.9167 17.625V18.875ZM13.9167 13.875C13.9167 14.0408 13.8509 14.1997 13.7337 14.3169C13.6165 14.4342 13.4575 14.5 13.2917 14.5H12.0417C11.876 14.5 11.717 14.4342 11.5998 14.3169C11.4826 14.1997 11.4167 14.0408 11.4167 13.875V12.625C11.4167 12.4592 11.4826 12.3003 11.5998 12.1831C11.717 12.0658 11.876 12 12.0417 12H13.2917C13.4575 12 13.6165 12.0658 13.7337 12.1831C13.8509 12.3003 13.9167 12.4592 13.9167 12.625V13.875ZM18.9167 18.875C18.9167 19.0408 18.8509 19.1997 18.7337 19.3169C18.6165 19.4342 18.4575 19.5 18.2917 19.5H17.0417C16.876 19.5 16.717 19.4342 16.5998 19.3169C16.4826 19.1997 16.4167 19.0408 16.4167 18.875V17.625C16.4167 17.4592 16.4826 17.3003 16.5998 17.1831C16.717 17.0658 16.876 17 17.0417 17H18.2917C18.4575 17 18.6165 17.0658 18.7337 17.1831C18.8509 17.3003 18.9167 17.4592 18.9167 17.625V18.875ZM18.9167 13.875C18.9167 14.0408 18.8509 14.1997 18.7337 14.3169C18.6165 14.4342 18.4575 14.5 18.2917 14.5H1
34007.0417C16.876 14.5 16.717 14.4342 16.5998 14.3169C16.4826 14.1997 16.4167 14.0408 16.4167 13.875V12.625C16.4167 12.4592 16.4826 12.3003 16.5998 12.1831C16.717 12.0658 16.876 12 17.0417 12H18.2917C18.4575 12 18.6165 12.0658 18.7337 12.1831C18.8509 12.3003 18.9167 12.4592 18.9167 12.625V13.875ZM18.9167 9.5H10.1667V4.5H16.4167V6.375C16.4167 6.54076 16.4826 6.69973 16.5998 6.81694C16.717 6.93415 16.876 7 17.0417 7H18.9167V9.5ZM5.16675 7H3.91675C3.58523 7 3.26729 7.1317 3.03286 7.36612C2.79844 7.60054 2.66675 7.91848 2.66675 8.25L2.66675 20.75C2.66675 21.0815 2.79844 21.3995 3.03286 21.6339C3.26729 21.8683 3.58523 22 3.91675 22H5.16675C5.49827 22 5.81621 21.8683 6.05063 21.6339C6.28505 21.3995 6.41675 21.0815 6.41675 20.75V8.25C6.41675 7.91848 6.28505 7.60054 6.05063 7.36612C5.81621 7.1317 5.49827 7 5.16675 7Z" fill="currentColor"></path>
3401</svg>
3402                    </span>
3403                    <a class="item-content">+84-4.37334163</a>
3404                </div>
3405                <div class="footer-info-item">
3406                    <span class="item-icon">
3407                        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 32 32" fill="none">
3408  <path d="M22.6667 4.66663H9.33342C5.33341 4.66663 2.66675 6.66663 2.66675 11.3333V20.6666C2.66675 25.3333 5.33341 27.3333 9.33342 27.3333H22.6667C26.6667 27.3333 29.3334 25.3333 29.3334 20.6666V11.3333C29.3334 6.66663 26.6667 4.66663 22.6667 4.66663ZM23.2934 12.7866L19.1201 16.12C18.2401 16.8266 17.1201 17.1733 16.0001 17.1733C14.8801 17.1733 13.7467 16.8266 12.8801 16.12L8.70675 12.7866C8.28008 12.44 8.21341 11.8 8.54675 11.3733C8.89341 10.9466 9.52008 10.8666 9.94675 11.2133L14.1201 14.5466C15.1334 15.36 16.8534 15.36 17.8667 14.5466L22.0401 11.2133C22.4667 10.8666 23.1067 10.9333 23.4401 11.3733C23.7867 11.8 23.7201 12.44 23.2934 12.7866Z" fill="currentColor"></path>
3409</svg>
3410                    </span>
3411                    <a class="item-content" href="mailto&#58;[email protected]">[email protected]</a>
3412                </div>
3413                <div class="footer-info-item">
3414                    <span class="item-icon">
3415                        <svg xmlns="http://www.w3.org/2000/svg" width="25" height="24" viewBox="0 0 25 24" fill="none">
3416  <path d="M8.31681 20.9101C8.28681 20.9101 8.24681 20.9301 8.21681 20.9301C6.27681 19.9701 4.69681 18.3801 3.72681 16.4401C3.72681 16.4101 3.74681 16.3701 3.74681 16.3401C4.96681 16.7001 6.22681 16.9701 7.47681 17.1801C7.69681 18.4401 7.95681 19.6901 8.31681 20.9101Z" fill="currentColor"></path>
3417  <path d="M21.6068 16.4501C20.6168 18.4401 18.9668 20.0501 16.9568 21.0201C17.3368 19.7501 17.6568 18.4701 17.8668 17.1801C19.1268 16.9701 20.3668 16.7001 21.5868 16.3401C21.5768 16.3801 21.6068 16.4201 21.6068 16.4501Z" fill="currentColor"></path>
3418  <path d="M21.6868 7.70998C20.4268 7.32998 19.1568 7.01998 17.8668 6.79998C17.6568 5.50998 17.3468 4.22998 16.9568 2.97998C19.0268 3.96998 20.6968 5.63998 21.6868 7.70998Z" fill="currentColor"></path>
3419  <path d="M8.31673 3.09006C7.95673 4.31006 7.69673 5.55006 7.48673 6.81006C6.19673 7.01006 4.91673 7.33006 3.64673 7.71006C4.61673 5.70006 6.22673 4.05006 8.21673 3.06006C8.24673 3.06006 8.28673 3.09006 8.31673 3.09006Z" fill="currentColor"></path>
3420  <path d="M16.1568 6.59C13.8368 6.33 11.4968 6.33 9.17676 6.59C9.42676 5.22 9.74676 3.85 10.1968 2.53C10.2168 2.45 10.2068 2.39 10.2168 2.31C11.0068 2.12 11.8168 2 12.6668 2C13.5068 2 14.3268 2.12 15.1068 2.31C15.1168 2.39 15.1168 2.45 15.1368 2.53C15.5868 3.86 15.9068 5.22 16.1568 6.59Z" fill="currentColor"></path>
3421  <path d="M7.25675 15.49C5.87675 15.24 4.51675 14.92 3.19675 14.47C3.11675 14.45 3.05675 14.46 2.97675 14.45C2.78675 13.66 2.66675 12.85 2.66675 12C2.66675 11.16 2.78675 10.34 2.97675 9.56001C3.05675 9.55001 3.11675 9.55001 3.19675 9.53001C4.52675 9.09001 5.87675 8.76001 7.25675 8.51001C7.00675 10.83 7.00675 13.17 7.25675 15.49Z" fill="currentColor"></path>
3422  <path d="M22.6667 12C22.6667 12.85 22.5467 13.66 22.3567 14.45C22.2767 14.46 22.2167 14.45 22.1367 14.47C20.8067 14.91 19.4467 15.24 18.0767 15.49C18.3367 13.17 18.3367 10.83 18.0767 8.51001C19.4467 8.76001 20.8167 9.08001 22.1367 9.53001C22.2167 9.55001 22.2767 9.56001 22.3567 9.56001C22.54
342267 10.35 22.6667 11.16 22.6667 12Z" fill="currentColor"></path>
3423  <path d="M16.1568 17.4099C15.9068 18.7899 15.5868 20.1499 15.1368 21.4699C15.1168 21.5499 15.1168 21.6099 15.1068 21.6899C14.3268 21.8799 13.5068 21.9999 12.6668 21.9999C11.8168 21.9999 11.0068 21.8799 10.2168 21.6899C10.2068 21.6099 10.2168 21.5499 10.1968 21.4699C9.75676 20.1399 9.42676 18.7899 9.17676 17.4099C10.3368 17.5399 11.4968 17.6299 12.6668 17.6299C13.8368 17.6299 15.0068 17.5399 16.1568 17.4099Z" fill="currentColor"></path>
3424  <path d="M16.4301 15.7633C13.929 16.0789 11.4045 16.0789 8.90342 15.7633C8.58786 13.2622 8.58786 10.7378 8.90342 8.23667C11.4045 7.92111 13.929 7.92111 16.4301 8.23667C16.7456 10.7378 16.7456 13.2622 16.4301 15.7633Z" fill="currentColor"></path>
3425</svg>
3426                    </span>
3427                    <a class="item-content" href="http&#58;//vdi.org.vn/" target="_blank">vdi.org.vn</a>
3428                </div>
3429                <div class="footer-info-item">
3430                    <span class="item-icon">
3431                        <svg xmlns="http://www.w3.org/2000/svg" width="25" height="24" viewBox="0 0 25 24" fill="none">
3432  <path d="M21.2868 8.45C20.2368 3.83 16.2068 1.75 12.6668 1.75C12.6668 1.75 12.6668 1.75 12.6568 1.75C9.12684 1.75 5.08684 3.82 4.03684 8.44C2.86684 13.6 6.02684 17.97 8.88684 20.72C9.94684 21.74 11.3068 22.25 12.6668 22.25C14.0268 22.25 15.3868 21.74 16.4368 20.72C19.2968 17.97 22.4568 13.61 21.2868 8.45ZM12.6668 13.46C10.9268 13.46 9.51684 12.05 9.51684 10.31C9.51684 8.57 10.9268 7.16 12.6668 7.16C14.4068 7.16 15.8168 8.57 15.8168 10.31C15.8168 12.05 14.4068 13.46 12.6668 13.46Z" fill="currentColor"></path>
3433</svg>
3434                    </span>
3435                    <p class="item-content">Km6+500 Đại Lộ Thăng Long, Xuân Phương, Hà Nội</p>
3436                </div>
3437            </div>
3438        </div>
3439        <div class="footer-link">
3440            <a class="item-link">Giới thiệu</a>
3441            <a class="item-link">Sản phẩm</a>
3442            <a class="item-link">Tin tức - sự kiện</a>
3443            <a class="item-link">Liên hệ</a>
3444            <div class="social-links">
3445                <a class="item-link">
3446                    <img src="/Publishing_Resources/CongThongTin/assets/images/icon-fb.png" alt="img-social" /></a>
3447                <a class="item-link">
3448                    <img src="/Publishing_Resources/CongThongTin/assets/images/icon-intagram.png" alt="img-social" /></a>
3449                <a class="item-link">
3450                    <img src="/Publishing_Resources/CongThongTin/assets/images/icon-zalo.png" alt="img-social" /></a>
3451                <a class="item-link">
3452                    <img src="/Publishing_Resources/CongThongTin/assets/images/icon-youtube.png" alt="img-social" /></a>
3453            </div>
3454        </div>
3455        <div class="footer-status">
3456        </div>
3457    </div>
3458</div>
3459
3460<div class="copyright">
3461<p>Bản quyền © Tổng Cục Công Nghiệp Quốc Phòng</p>
3462</div>
3463</div>
3464
3465
3466<div class="data-upgrading-text">Đang nâng cấp dữ liệu</div>
3467
3468<script>
3469    $(document).ready(function () {
3470        $.get('/UserControls/Publishing/ShowMenu/LoadGA4.aspx', function (data) {
3471            if (!data) return;
3472
3473            const footerStatus = $('.footer-status');
3474            footerStatus.empty();
3475
3476            const items = [
3477                { label: "Đang online", value: data.RealTimeActiveUsers },
3478                { label: "Truy cập ngày", value: data.RealTimePageViews },
3479                { label: "Thống kê truy cập", value: data.TotalPageViews }
3480            ];
3481
3482            $.each(items, function (i, item) {
3483                footerStatus.append('<p class="item">' + item.label + ': <span>' + item.value + '</span></p>');
3484            });
3485
3486        }, 'json')
3487            .fail(function (err) {
3488                console.error('Lỗi khi tải GA4:', err);
3489            });
3490
3491        // Fix the built-in .back-to-top button for SharePoint's scroll container
3492        var scrollContainer = $('#s4-workspace').length ? $('#s4-workspace') : $(window);
3493        var backToTopBtn = $('.back-to-top');
3494        
3495        if (backToTopBtn.length > 0) {
3496            scrollContainer.scroll(function() {
3497                if ($(this).scrollTop() > 300) {
3498                    backToTopBtn.css({'opacity': '1', 'visibility': 'visible', 'pointer-events': 'auto'});
3499                } else {
3500                    backToTopBtn.css({'opacity': '0', 'visibility': 'hidden', 'pointer-events': 'none'});
3501                }
3502            });
3503
3504            backToTopBtn.off('click').on('click', function(e) {
3505                e.preventDefault();
3506                $(this).blur();
3507                var target = $('#s4-workspace').length ? $('#s4-workspace') : $("html, body");
3508                target.animate({ scrollTop: 0 }, 500);
3509            });
3510            
3511            if (scrollContainer.scrollTop() > 300) {
3512                backToTopBtn.css({'opacity': '1', 'visibility': 'visible', 'pointer-events': 'auto'});
3513            } else {
3514                backToTopBtn.css({'opacity': '0', 'visibility': 'hidden', 'pointer-events': 'none'});
3515            }
3516        }
3517
3518        // Force footer links to have the correct hrefs (since HTML is loaded from database)
3519        $('.footer-link .item-link').each(function() {
3520            var text = $(this).text().trim().toUpperCase();
3521            if (text === 'GIỚI THIỆU' || text === 'ABOUT US') {
3522                $(this).attr('href', '/gioi-thieu.html');
3523            } else if (text === 'SẢN PHẨM' || text === 'PRODUCTS') {
3524                $(this).attr('href', 'https://xuctienthuongmai.vdi.org.vn/');
3525                $(this).attr('target', '_blank');
3526            } else if (text === 'TIN TỨC - SỰ KIỆN' || text === 'NEWS - EVENTS' || text === 'TIN TỨC - SỰ KIỆN ') {
3527                $(this).attr('href', '/tin-tuc/tin-tuc-su-kien.html');
3528            } else if (text === 'LIÊN HỆ' || text === 'CONTACT') {
3529                $(this).attr('href', '/lien-he.html');
3530            }
3531        });
3532    });
3533</script>
3533
3534<style>
3535.back-to-top {
3536    z-index: 999999 !important;
3537    transition: all 0.3s ease !important;
3538    min-width: 45px !important;
3539    width: 45px !important;
3540    height: 45px !important;
3541    padding: 0 !important;
3542    border-radius: 50% !important;
3543    text-align: center !important;
3544    line-height: 45px !important;
3545    -webkit-tap-highlight-color: transparent !important;
3546    outline: none !important;
3547}
3548.back-to-top:hover, .back-to-top:focus, .back-to-top:active {
3549    transform: translateY(-3px) !important;
3550    background-color: #259d4f !important;
3551    color: #fff !important;
3552    border: none !important;
3553}
3554.data-upgrading-text {
3555    position: fixed !important;
3556    bottom: 40px !important;
3557    right: 100px !important; /* Positioned to the left of back-to-top button (40px + 45px + gap) */
3558    z-index: 999998 !important;
3559    padding: 8px 16px !important;
3560    background: rgba(255, 255, 255, 0.4) !important;
3561    backdrop-filter: blur(8px) !important;
3562    -webkit-backdrop-filter: blur(8px) !important;
3563    border: 1px solid rgba(255, 255, 255, 0.5) !important;
3564    border-radius: 20px !important;
3565    color: #333 !important;
3566    font-size: 13px !important;
3567    font-style: italic !important;
3568    font-weight: 500 !important;
3569    pointer-events: none !important; /* Clicks will pass through it */
3570    box-shadow: 0 4px 10px rgba(0,0,0,0.1) !important;
3571    transition: all 0.3s ease !important;
3572    opacity: 1 !important; /* Always visible */
3573    visibility: visible !important;
3574}
3575@media (max-width: 768px) {
3576    .data-upgrading-text {
3577        right: 100px !important; /* Keep it left of back-to-top */
3578        bottom: 40px !important;
3579        font-size: 11px !important;
3580        padding: 5px 10px !important;
3581    }
3582    .footer-logo {
3583        text-align: center !important;
3584        margin-bottom: 20px;
3585    }
3586    .footer-link {
3587        display: flex !important;
3588        flex-direction: row !important;
3589        flex-wrap: wrap;
3590        justify-content: center;
3591        align-items: center;
3592        gap: 10px 20px;
3593        margin-top: 25px;
3594    }
3595    .footer-link > .item-link {
3596        margin-bottom: 0 !important;
3597        padding: 5px 0;
3598        font-size: 15px;
3599        font-weight: 500;
3600    }
3601    .footer-link .social-links {
3602        width: 100%;
3603        display: flex;
3604        justify-content: center;
3605        gap: 20px;
3606        margin-top: 15px;
3607    }
3608    .footer-info-item {
3609        margin-bottom: 12px !important;
3610        align-items: flex-start !important;
3611    }
3612    .footer-info-item .item-icon {
3613        margin-top: 2px;
3614        margin-right: 8px;
3615    }
3616    .footer-info-item .item-content {
3617        font-size: 15px !important;
3618    }
3619    .copyright {
3620        text-align: center !important;
3621        padding: 15px !important;
3622    }
3623}
3624</style>
3625</div>
3626					</footer>
3627					
3628					
3628<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
3628
3629					
3629<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
3629
3630					
3630<script src="/Publishing_Resources/CongThongTin/js/main.js"></script>
3630
3631					<button class="back-to-top">
3632						<i class="fas fa-chevron-up"></i>
3633					</button>
3634            </div>
3635            <div id="DeltaFormDigest">
3636	
3637                
3638					
3638<script type="text/javascript">//<![CDATA[
3639        var formDigestElement = document.getElementsByName('__REQUESTDIGEST')[0];
3640        if (!((formDigestElement == null) || (formDigestElement.tagName.toLowerCase() != 'input') || (formDigestElement.type.toLowerCase() != 'hidden') ||
3641            (formDigestElement.value == null) || (formDigestElement.value.length <= 0)))
3642        {
3643            formDigestElement.value = '0x4A528AFF53D6C06BEE69F708820618229220A8837A5A55E4398474AC93BCCF07F749A38CA44587577291899F714D29FDD6549B6E7AFB1FB2DF94B4102C5B4840,02 Oct 2026 12:48:11 -0000';_spPageContextInfo.updateFormDigestPageLoaded = new Date();
3644        }
3645        //]]>
3646        </script>
3646
3647                
3648            
3649</div>
3650        
3651
3652<script type="text/javascript">
3653//<![CDATA[
3654var _spFormDigestRefreshInterval = 1440000;window.SPThemeUtils && SPThemeUtils.ApplyCurrentTheme(true); IsSPSocialSwitchEnabled = function() { return true; };var _fV4UI = true;
3655function _RegisterWebPartPageCUI()
3656{
3657    var initInfo = {editable: false,isEditMode: false,allowWebPartAdder: false,listId: "{a7fef96a-77ec-45f7-8ea3-769a547e8083}",itemId: 90,recycleBinEnabled: true,enableMinorVersioning: true,enableModeration: false,forceCheckout: true,rootFolderUrl: "\u002fPublic\u002fPages",itemPermissions:{High:16,Low:196673}};
3658    SP.Ribbon.WebPartComponent.registerWithPageManager(initInfo);
3659    var wpcomp = SP.Ribbon.WebPartComponent.get_instance();
3660    var hid;
3661    hid = document.getElementById("_wpSelected");
3662    if (hid != null)
3663    {
3664        var wpid = hid.value;
3665        if (wpid.length > 0)
3666        {
3667            var zc = document.getElementById(wpid);
3668            if (zc != null)
3669                wpcomp.selectWebPart(zc, false);
3670        }
3671    }
3672    hid = document.getElementById("_wzSelected");
3673    if (hid != null)
3674    {
3675        var wzid = hid.value;
3676        if (wzid.length > 0)
3677        {
3678            wpcomp.selectWebPartZone(null, wzid);
3679        }
3680    }
3681};
3682function __RegisterWebPartPageCUI() {
3683ExecuteOrDelayUntilScriptLoaded(_RegisterWebPartPageCUI, "sp.ribbon.js");}
3684_spBodyOnLoadFunctionNames.push("__RegisterWebPartPageCUI");var __wpmExportWarning='This Web Part Page has been personalized. As a result, one or more Web Part properties may contain confidential information. Make sure the properties contain information that is safe for others to read. After exporting this Web Part, view properties in the Web Part description file (.WebPart) by using a text editor such as Microsoft Notepad.';var __wpmCloseProviderWarning='You are about to close this Web Part.  It is currently providing data to other Web Parts, and these connections will be deleted if this Web Part is closed.  To close this Web Part, click OK.  To keep this Web Part, click Cancel.';var __wpmDeleteWarning='You are about to permanently delete this Web Part.  Are you sure you want to do this?  To delete this Web Part, click OK.  To keep this Web Part, click Cancel.';var g_clientIdDeltaPlaceHolderMain = "DeltaPlaceHolderMain";
3685var g_clientIdDeltaPlaceHolderUtilityContent = "DeltaPlaceHolderUtilityContent";
3686//]]>
3687</script>
3687
3688</form>
3689        <span id="DeltaPlaceHolderUtilityContent">
3690            
3691        </span>
3692        
3693        
3694        
3695        
3696        
3697        
3698        
3699        
3700        
3701        
3702        
3703        
3704        
3705        
3706        
3707        
3708        
3709        
3710        
3711        
3712        
3713        
3714        
3715        
3716        
3717        
3718        
3719                
3720    </body>
3721</html>
3722
3723
3724
3725
3726
3727
3728

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.