Có lỗi xảy ra trong quá trình xử lý biểu mẫu.	
	
		
				
	
The following has evaluated to null or missing:
==> baseUrl  [in template "37610#37640#102007" at line 1406, column 69]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
	- Failed at: ${baseUrl}  [in template "37610#37640#102007" at line 1406, column 67]
----
	1<style> 
				2    /*.align-items-center.d-flex.mb-2 {*/ 
				3    /*    display: none !important;*/ 
				4    /*}*/ 
				5    figcaption.figcaption p { 
				6        color: rgb(94, 94, 255) !important; 
				7        font-style: italic !important; 
				8        text-align: center !important; 
				9    } 
				10    .figcaption { 
				11        color: #5e5eff; 
				12        font-style: italic; 
				13        text-align: center; 
				14    } 
				15    .autofit-row.mb-4.metadata-author { 
				16        display: none; 
				17    } 
				18    .display-img-default { 
				19        background: transparent !important; 
				20        height: fit-content !important; 
				21    } 
				22    .display-img-default > figure > img { 
				23        width: 95%; 
				24        height: auto !important; 
				25    } 
				26 
				27 
				28    .asset-anchor.lfr-asset-anchor { 
				29        display: none; 
				30    } 
				31    .liferayckevideo { 
				32        display: flex; 
				33        justify-content: center; 
				34        position: relative; 
				35    } 
				36 
				37    .liferayckevideo.video-container { 
				38        position: relative; 
				39        display: flex; 
				40        justify-content: center; 
				41    } 
				42 
				43    .liferayckevideo.video-container video { 
				44        width: 99% !important; 
				45        height: 465px !important; 
				46        border: 1px solid #333; 
				47    } 
				48    @media only screen and (min-width: 1400px) { 
				49        .liferayckevideo.video-container video { 
				50            height: 600px !important; 
				51        } 
				52    } 
				53    .liferayckevideo video { 
				54        width: 99% !important; 
				55        height: 465px !important; 
				56    } 
				57 
				58    /* Nút play overlay */ 
				59    .video-play-button { 
				60        position: absolute; 
				61        top: 50%; 
				62        left: 50%; 
				63        transform: translate(-50%, -50%); 
				64        width: 60px; 
				65        height: 60px; 
				66        background: rgba(0, 0, 0, 0.7); 
				67        border: 3px solid #fff; 
				68        border-radius: 50%; 
				69        cursor: pointer; 
				70        z-index: 10; 
				71        display: flex; 
				72        align-items: center; 
				73        justify-content: center; 
				74        transition: all 0.3s ease; 
				75    } 
				76 
				77    .video-play-button:hover { 
				78        background: rgba(0, 0, 0, 0.9); 
				79        transform: translate(-50%, -50%) scale(1.1); 
				80    } 
				81 
				82    .video-play-button::before { 
				83        content: ''; 
				84        width: 0; 
				85        height: 0; 
				86        border-style: solid; 
				87        border-width: 15px 0 15px 25px; 
				88        border-color: transparent transparent transparent #fff; 
				89        margin-left: 5px; 
				90    } 
				91 
				92    .video-play-button.playing { 
				93        display: none; 
				94    } 
				95 
				96    .social-buttons { 
				97        display: flex; 
				98    } 
				99 
				100    .article-head { 
				101        margin-bottom: 0; 
				102    } 
				103 
				104    .botting-border { 
				105        color: #292a32; 
				106        background: unset; 
				107        font-family: "Roboto"; 
				108        text-transform: unset; 
				109        font-weight: bold; 
				110        font-size: 20px; 
				111        margin-bottom: 15px; 
				112        border-bottom: 3px solid #d1d2d4; 
				113    } 
				114 
				115    .buttonIn { 
				116        position: relative; 
				117    } 
				118 
				119    .btnsend { 
				120        color: #FFF; 
				121        border-color: #f70000; 
				122        padding: 3px 0.75rem; 
				123        border: none; 
				124        height: 42px; 
				125        cursor: pointer; 
				126        border-radius: 6px; 
				127        background: #C8392B; 
				128        margin-top: 17px; 
				129        font-size: 14px; 
				130        font-style: normal; 
				131        font-weight: 700; 
				132        line-height: 130%; /* 18.2px */ 
				133        letter-spacing: 0.021px; 
				134    } 
				135 
				136    .button-dt { 
				137        color: #FFF; 
				138        background-color: #f70000; 
				139        border-color: #f70000; 
				140        padding: 3px 0.75rem; 
				141        border-radius: 5px; 
				142        margin: 2px; 
				143    } 
				144 
				145    .button-dt-close { 
				146        color: #FFF; 
				147        background-color: #f70000; 
				148        border-color: #f70000; 
				149        padding: 3px 0.75rem; 
				150        border-radius: 5px; 
				151        margin: 2px; 
				152    } 
				153 
				154    .md-textarea { 
				155        width: 100%; 
				156    } 
				157 
				158    .comment { 
				159        display: inline-block; 
				160        margin-top: 5px; 
				161        width: 100%; 
				162    } 
				163 
				164    .comment-text { 
				165        padding-left: 51px; 
				166        margin-top: -9px; 
				167        font-size: 14px; 
				168    } 
				169 
				170    .comment-child { 
				171        margin-left: 35px; 
				172    } 
				173 
				174 
				175    .modal-thongtin { 
				176        display: none; 
				177        position: fixed; 
				178        z-index: 1111; 
				179        padding-top: 100px; 
				180        left: 0; 
				181        top: 0; 
				182        width: 100%; 
				183        height: 100%; 
				184        overflow: auto; 
				185        background-color: rgb(0, 0, 0); 
				186        background-color: rgba(0, 0, 0, .4); 
				187    } 
				188 
				189    .modal-thongtin-reply { 
				190        display: none; 
				191        position: fixed; 
				192        z-index: 1; 
				193        padding-top: 100px; 
				194        left: 0; 
				195        top: 0; 
				196        width: 100%; 
				197        height: 100%; 
				198        overflow: auto; 
				199        background-color: rgb(0, 0, 0); 
				200        background-color: rgba(0, 0, 0, .4); 
				201    } 
				202 
				203 
				204    .close { 
				205        color: #aaaaaa; 
				206        float: right; 
				207        font-size: 28px; 
				208        font-weight: bold; 
				209    } 
				210 
				211    .close:hover, 
				212    .close:focus { 
				213        color: #000; 
				214        text-decoration: none; 
				215        cursor: pointer; 
				216    } 
				217 
				218    .btnreply { 
				219        color: #FFF; 
				220        background-color: #f70000; 
				221        border-color: #f70000; 
				222        padding: 3px 0.75rem; 
				223        border-radius: 5px; 
				224        height: 28px; 
				225        border: none; 
				226        float: right; 
				227    } 
				228 
				229    .autofit-float.autofit-row.portlet-header { 
				230        display: none; 
				231    } 
				232 
				233    .breadcrumb > li.active { 
				234        color: #f70000; 
				235    } 
				236 
				237    .zalo-share-button { 
				238        width: 158px !important; 
				239    } 
				240 
				241    iframe { 
				242        min-width: 92px; 
				243    } 
				244 
				245    b.text-summary { 
				246        color: #000; 
				247        font-size: 16px; 
				248        font-style: italic; 
				249        font-weight: 700; 
				250        line-height: normal; 
				251    } 
				252 
				253    @media only screen and (min-width: 768px) { 
				254        .other-imgs { 
				255            height: 60px; 
				256        } 
				257 
				258        .modal-thongtin-content { 
				259            background-color: #fefefe; 
				260            margin: auto; 
				261            padding: 20px; 
				262            border: 1px solid #888; 
				263            width: 60%; 
				264        } 
				265    } 
				266 
				267    @media only screen and (max-width: 768px) { 
				268        .pagination2 a { 
				269            cursor: pointer; 
				270            color: black; 
				271            padding: 3px 8px; 
				272            text-decoration: none; 
				273            transition: background-color .3s; 
				274            margin: 0px; 
				275            border-radius: 5px; 
				276            background: #ddd; 
				277        } 
				278 
				279        .curPage-title { 
				280            display: none; 
				281        } 
				282 
				283        h3.title-divvv { 
				284            /*text-align: justify;*/ 
				285            /*margin-top: 16px;*/ 
				286            color: #15191C; 
				287            font-size: clamp(18px, 4vw, 24px); 
				288            font-style: normal; 
				289            font-weight: 700; 
				290            line-height: 33.6px; 
				291            letter-spacing: -0.28px; 
				292        } 
				293 
				294        #contentText iframe { 
				295            width: 100% !important; 
				296        } 
				297 
				298        .detail-social > a:hover { 
				299            cursor: pointer; 
				300        } 
				301 
				302        .article-head .article-info { 
				303            margin-bottom: 0; 
				304            padding: 4px 0 8px 0; 
				305            font-size: 14px; 
				306            height: 59px !important; 
				307        } 
				308 
				309        .modal-thongtin-content { 
				310            background-color: #fefefe; 
				311            margin: auto; 
				312            padding: 20px; 
				313            border: 1px solid #888; 
				314            width: 100%; 
				315        } 
				316    } 
				317 
				318    span.sticker-overlay { 
				319        background: var(--main-color-background); 
				320        color: var(--main-color-text); 
				321        opacity: 0.8; 
				322    } 
				323 
				324 
				325    .detail__flex { 
				326        display: flex; 
				327    } 
				328 
				329    .sp-dislaydate { 
				330        color: var(--darkdefault-212529, #212529); 
				331        font-size: 16px; 
				332        font-style: normal; 
				333        font-weight: 400; 
				334        line-height: 130%; 
				335        letter-spacing: 0.08px; 
				336        /*border-left: 3px solid #212529;*/ 
				337        margin-bottom: 18.5px; 
				338        /*padding-left: 12px;*/ 
				339        margin-top: 40px; 
				340    } 
				341 
				342    .title-divvv { 
				343        text-align: justify; 
				344        /*margin-top: 16px;*/ 
				345        color: var(--darkdefault-212529, #212529); 
				346        font-size: clamp(22px, 4vw, 24px); 
				347        font-style: normal; 
				348        font-weight: 700; 
				349        line-height: normal; 
				350        /*letter-spacing: -0.28px;*/ 
				351    } 
				352 
				353    #contentText table { 
				354        width: 100% !important; 
				355        text-align: center; 
				356    } 
				357 
				358    #contentText table { 
				359        width: 100% !important; 
				360        text-align: center; 
				361    } 
				362 
				363    #contentText p { 
				364        text-align: justify; 
				365        color: #2E2E2E; 
				366        font-size: 16px; 
				367        font-style: normal; 
				368        font-weight: 400; 
				369        line-height: 22.4px; 
				370        letter-spacing: 0.08px; 
				371    } 
				372 
				373    #contentText > .text-summary > p { 
				374        color: #2E2E2E; 
				375        font-size: 16px; 
				376        /*font-style: italic;*/ 
				377        font-weight: 500; 
				378        line-height: normal; 
				379    } 
				380 
				381    #contentText > p:has(img) { 
				382        text-align: center; 
				383    } 
				384 
				385    .text-dgbv { 
				386        display: flex; 
				387        flex-direction: row; 
				388        color: #000; 
				389        font-size: 14px; 
				390        font-style: normal; 
				391        font-weight: 500; 
				392        line-height: normal; 
				393        margin-top: 8px; 
				394    } 
				395 
				396    .share-fb-custom { 
				397        margin-top: 6px; 
				398        max-width: 90px; 
				399    } 
				400 
				401    .text-trangchu-ctbv { 
				402        color: var(--darkdefault-212529, #212529); 
				403        font-size: 16px; 
				404        font-style: normal; 
				405        font-weight: 400; 
				406        line-height: 130%; 
				407        letter-spacing: 0.08px; 
				408    } 
				409 
				410    .text-gioithieu-ctbv { 
				411        color: #0D4C92; 
				412        font-size: 16px; 
				413        font-style: normal; 
				414        font-weight: 500; 
				415        line-height: 130%; 
				416        letter-spacing: 0.08px; 
				417    } 
				418 
				419    .ctbv-right { 
				420        display: flex; 
				421        flex-wrap: wrap; 
				422        justify-content: flex-end; 
				423    } 
				424 
				425    .title-content-vni { 
				426        color: var(--Dark-primary-000000, #000); 
				427        font-size: 20px; 
				428        font-style: normal; 
				429        font-weight: 700; 
				430        line-height: 130%; 
				431        letter-spacing: 0.03px; 
				432    } 
				433 
				434    .line { 
				435        background: #848A8F; 
				436        height: 1px; 
				437        width: 100%; 
				438        margin: 32px 0; 
				439    } 
				440 
				441    .line-tlq { 
				442        background: #848A8F; 
				443        height: 1px; 
				444        width: 100%; 
				445        margin: 26px 18px 15px 15px; 
				446    } 
				447 
				448    .text-readmore-tlq { 
				449        color: #0D4C92; 
				450        font-size: 14px; 
				451        font-style: normal; 
				452        font-weight: 500; 
				453        line-height: 130%; 
				454        letter-spacing: 0.175px; 
				455        margin-top: 16px; 
				456    } 
				457 
				458    .text-des-tlq > p { 
				459        color: var(--signinupfont-3777777, #777); 
				460        font-size: 16px; 
				461        font-style: normal; 
				462        font-weight: 400 !important; 
				463        line-height: 130%; /* 18.2px */ 
				464        letter-spacing: 0.035px; 
				465    } 
				466 
				467    .text-title-tlq { 
				468        color: var(--darkdefault-212529, #212529); 
				469        font-size: 16px; 
				470        font-style: normal; 
				471        font-weight: 700; 
				472        line-height: 130%; 
				473        letter-spacing: 0.024px; 
				474        padding-right: 15px; 
				475        padding-left: 15px; 
				476    } 
				477 
				478    .text-title-tlq-img { 
				479        color: var(--darkdefault-212529, #212529); 
				480        font-size: 16px; 
				481        font-style: normal; 
				482        font-weight: 700; 
				483        line-height: 130%; 
				484        letter-spacing: 0.024px; 
				485        /*margin-top: 32px;*/ 
				486    } 
				487 
				488    .title-content-tlq { 
				489        color: var(--Dark-primary-000000, #000); 
				490        font-size: 20px; 
				491        font-style: normal; 
				492        font-weight: 700; 
				493        line-height: 130%; 
				494        letter-spacing: 0.03px; 
				495        margin-top: 22px; 
				496    } 
				497 
				498    .box-tlq { 
				499        border-radius: 8px; 
				500        border: 1px solid #C7C7C7; 
				501        background: #FAFAFA; 
				502    } 
				503 
				504 
				505 
				506    .border-item { 
				507        border-radius: 8px; 
				508        border: 1px solid var(--stroke-777777, rgba(119, 119, 119, 0.50)); 
				509        margin: 0px 17px; 
				510    } 
				511 
				512    .tin-slide-img-left { 
				513        border-radius: 8px 0px 0px 8px; 
				514    } 
				515 
				516    .sdt-list-tlq-items { 
				517        color: var(--darkdefault-212529, #212529); 
				518        font-size: 16px; 
				519        font-style: normal; 
				520        font-weight: 400; 
				521        line-height: 130%; 
				522        letter-spacing: 0.024px; 
				523    } 
				524 
				525    .sdt-list-tlq-items:hover > a { 
				526        color: #0D4C92 !important; 
				527        font-weight: 700; 
				528    } 
				529 
				530    .sdt-list-tlq-items:hover > div > img { 
				531        filter: invert(20%) sepia(202%) saturate(280%) hue-rotate(-10deg) brightness(140%) contrast(142%); 
				532    } 
				533 
				534    .sdt-list-tlq-items:hover::before { 
				535        background: #0D4C92; 
				536    } 
				537 
				538 
				539    .text-border { 
				540        color: #000; 
				541        font-size: 18px; 
				542        font-style: normal; 
				543        font-weight: 400; 
				544        line-height: 130%; 
				545        letter-spacing: 0.027px; 
				546    } 
				547 
				548    .form-chitiet { 
				549        border-radius: 6px; 
				550        background: #F2F2F2; 
				551        border-color: #F2F2F2; 
				552    } 
				553 
				554    .form-chitiet::placeholder { 
				555        color: rgba(119, 119, 119, 0.50); 
				556        font-size: 14px; 
				557        font-style: normal; 
				558        font-weight: 400; 
				559        line-height: 130%; 
				560        letter-spacing: 0.021px; 
				561    } 
				562 
				563    .lbl-blyk { 
				564        color: #000; 
				565        font-size: 16px; 
				566        font-style: normal; 
				567        font-weight: 500; 
				568        line-height: 130%; 
				569        letter-spacing: 0.024px; 
				570    } 
				571 
				572    .align-right { 
				573        text-align: right; 
				574        border: 0; 
				575    } 
				576 
				577    .gg-custom { 
				578        margin-top: 10px; 
				579    } 
				580 
				581    .avatar { 
				582        display: block; 
				583        width: 25px; 
				584        height: 25px; 
				585        margin-right: 13px; 
				586        border-radius: 50%; 
				587        overflow: hidden; 
				588        flex: 0 0 auto; 
				589    } 
				590 
				591    .item { 
				592        padding-bottom: 16px; 
				593        margin-bottom: 16px; 
				594        display: flex; 
				595        border-bottom: 1px solid rgba(119, 119, 119, 0.30); 
				596    } 
				597 
				598    .user-name { 
				599        color: #000; 
				600        font-size: 16px; 
				601        font-style: normal; 
				602        font-weight: 700; 
				603        line-height: 130%; 
				604        letter-spacing: 0.024px; 
				605    } 
				606 
				607    .text-comment { 
				608        color: #4D4D4D; 
				609        font-size: 16px; 
				610        font-style: normal; 
				611        font-weight: 400; 
				612        line-height: 130%; 
				613        letter-spacing: 0.08px; 
				614    } 
				615 
				616    .btnmorecmt { 
				617        width: 285px; 
				618        padding: 12px 50px; 
				619        justify-content: center; 
				620        align-items: center; 
				621        gap: 10px; 
				622        border-radius: 8px; 
				623        border: 1px solid #000; 
				624        color: #000; 
				625        font-size: 14px; 
				626        font-style: normal; 
				627        font-weight: 400; 
				628        line-height: 130%; /* 18.2px */ 
				629        letter-spacing: 0.021px; 
				630        background: none; 
				631    } 
				632 
				633    .content-left-tlq { 
				634        padding: 0 !important; 
				635    } 
				636 
				637    .content-right-tlq { 
				638        /*padding-left: 32px !important;*/ 
				639        padding: 10px 20px !important; 
				640        background: #E0E0E04D; 
				641        color: #212529; 
				642    } 
				643 
				644    .content-right-tlq:hover, 
				645    .content-right-tlq:hover ~ .content-left-tlq { 
				646        /*background-color: #0D4C92;*/ 
				647    } 
				648 
				649    .content-right-tlq:hover .text-title-tlq-img, 
				650    .content-right-tlq:hover .text-des-tlq > p, 
				651    .content-right-tlq:hover .text-readmore-tlq { 
				652        /*color: #ffffff !important;*/ 
				653    } 
				654 
				655    .content-right-tlq, 
				656    .content-left-tlq, 
				657    .content-right-tlq .text-title-tlq-img, 
				658    .content-right-tlq .text-des-tlq > p, 
				659    .content-right-tlq .text-readmore-tlq { 
				660        transition: all 0.9s ease; 
				661    } 
				662 
				663    @media only screen and (max-width: 576px) { 
				664        .liferayckevideo.video-container video { 
				665            width: 100% !important; 
				666            height: 300px !important; 
				667        } 
				668        .detail__sticky { 
				669            display: none; 
				670        } 
				671 
				672        .h-img-ctbv { 
				673            height: 100%; 
				674        } 
				675 
				676        .text-title-tlq-img { 
				677            margin-top: 10px; 
				678        } 
				679 
				680        #tin-slide-img-left { 
				681            height: 100% !important; 
				682        } 
				683 
				684        .content-right-tlq { 
				685            padding-left: 12px !important; 
				686        } 
				687 
				688        #contentText p, 
				689        #contentText > .text-summary > p { 
				690            line-height: 1.6; 
				691        } 
				692 
				693    } 
				694 
				695    .star { 
				696        position: relative; 
				697        display: inline-block; 
				698        transition: color 0.2s ease; 
				699        color: #ebebeb; 
				700    } 
				701 
				702    .star:before { 
				703        content: '\2605'; 
				704        width: 30px; 
				705        height: 30px; 
				706        font-size: 30px; 
				707    } 
				708 
				709    .star:hover, 
				710    .star.selected, 
				711    .star:hover ~ .star, 
				712    .star.selected ~ .star { 
				713        transition: color 0.8s ease; 
				714        color: #FDE16D; 
				715    } 
				716 
				717    .ratings-wrapper { 
				718        display: inline-block; 
				719        margin-bottom: 20px; 
				720    } 
				721 
				722    .ratings { 
				723        display: flex; 
				724        flex-direction: row-reverse; 
				725    } 
				726 
				727    .ratings span { 
				728        cursor: pointer; 
				729        transition: color 0.8s ease; 
				730        font-size: 50px; 
				731    } 
				732 
				733    .ratings span:hover { 
				734        transition: color 0.8s ease; 
				735        color: #FDE16D; 
				736    } 
				737 
				738    .ratings span:hover ~ span { 
				739        transition: color 0.8s ease; 
				740        color: #FDE16D; 
				741    } 
				742 
				743    .ratings span[data-clicked] { 
				744        color: #FDE16D; 
				745    } 
				746 
				747    .ratings span[data-clicked] ~ span { 
				748        color: #FDE16D; 
				749    } 
				750 
				751    .reset { 
				752        font-size: 18px; 
				753        text-decoration: none; 
				754        background-color: #4f5a78; 
				755        padding: 15px 50px; 
				756        display: inline-block; 
				757        margin-top: 20px; 
				758        color: #fff; 
				759        border: none; 
				760        cursor: pointer; 
				761    } 
				762 
				763    .reset:hover { 
				764        filter: brightness(1.2); 
				765    } 
				766 
				767    .asset-details .mr-3 a { 
				768        display: none !important; 
				769    } 
				770 
				771    .separator { 
				772        display: none !important; 
				773    } 
				774 
				775 
				776    .title-ccni a{ 
				777        text-decoration: none; 
				778        color: #035FB5; 
				779        font-size: clamp(16px, 3vw, 24px); 
				780        font-weight: 700; 
				781        line-height: 33.6px; 
				782    } 
				783 
				784    .title-ccni-icon { 
				785        height: 24px; 
				786    } 
				787    .line-tail-chitiet{ 
				788        width: 100%; 
				789        height: 2px; 
				790        background: #DE6F18; 
				791        position: absolute; 
				792        bottom: 0; 
				793        z-index: 1; 
				794    } 
				795    .line-blue { 
				796        width: 70%; 
				797        height: 6px; 
				798        background: #035FB5; 
				799        clip-path: polygon(0 0, calc(100% - 6px) 0,  100% 6px, 0% 100%); 
				800    } 
				801    .orange-line{ 
				802        height: 6px; 
				803        background: #DE6F18; 
				804        clip-path: polygon(0 0, calc(100% - 4px) 0, 100% 100%, 0 100%); 
				805    } 
				806    .label-binh-luan { 
				807        color: #15191C; 
				808        font-size: 14px; 
				809        font-weight: 500; 
				810        line-height: 18px; 
				811    } 
				812 
				813    .form-binh-luan { 
				814        background: #E0E0E04D; 
				815        padding: 1rem; 
				816    } 
				817 
				818    .btn-send-cmt { 
				819        color: white; 
				820        border-radius: 10px; 
				821        box-shadow: -2px 2px 3px 0px #00000040; 
				822        background: #DE6F18; 
				823    } 
				824 
				825    .btn-send-cmt:hover { 
				826        color: white; 
				827        border-radius: 10px; 
				828        box-shadow: -2px 2px 3px 0px #00000040; 
				829        background: #DE6F18; 
				830    } 
				831 
				832    .wrap-list-comment { 
				833        border: 1px solid #848A8F; 
				834        padding: 20px; 
				835        border-radius: 10px; 
				836    } 
				837 
				838    .user-name-cmt { 
				839        font-size: 16px; 
				840        font-weight: 500; 
				841        line-height: 20px; 
				842        color: #15191C; 
				843    } 
				844 
				845    .time-comment { 
				846        color: #848A8F; 
				847    } 
				848 
				849    .txt-content-cmt { 
				850        font-size: 16px; 
				851        font-weight: 400; 
				852        line-height: 22.4px; 
				853        color: #2E2E2E; 
				854    } 
				855 
				856    .thin-line { 
				857        background: #EBEBEB; 
				858        height: 1px; 
				859    } 
				860 
				861    .btn-xem-them-cmt { 
				862        border-radius: 5px; 
				863        font-size: 16px; 
				864        padding: 10px; 
				865        font-weight: 500; 
				866        line-height: 22.4px; 
				867        text-align: center; 
				868        color: #0065B3; 
				869        background: #E0E0E04D; 
				870        border: 1px solid #035FB5; 
				871    } 
				872 
				873    .icon-tool { 
				874        width: 25px; 
				875        height: 25px; 
				876        margin-right: 10px; 
				877    } 
				878 
				879 
				880 
				881 
				882 
				883    .img-lo57 { 
				884        width: 100%; 
				885        aspect-ratio: 4 / 3; 
				886        object-fit: cover; 
				887    } 
				888 
				889    .img-nho-block11 { 
				890        border-radius: 10px 10px 0 0; 
				891    } 
				892 
				893    .tin-nho-block11 { 
				894        border-radius: 10px; 
				895    } 
				896 
				897    .title-tin-nho-block11 { 
				898        height: 125px; 
				899        overflow-y: auto; 
				900        font-family: Roboto; 
				901        font-size: clamp(14px, 2vw, 16px); 
				902        font-weight: 500; 
				903        text-align: left; 
				904        color: rgba(46, 46, 46, 1); 
				905        scrollbar-width: none; 
				906        -ms-overflow-style: none; 
				907    } 
				908 
				909    .title-tin-nho-block11::-webkit-scrollbar { 
				910        display: none; 
				911    } 
				912 
				913    .inner-bg-gray:hover { 
				914        cursor: pointer; 
				915 
				916    .title-tin-nho-block11 { 
				917        color: rgba(3, 95, 181, 1); 
				918    } 
				919 
				920    img { 
				921        box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.25); 
				922    } 
				923    } 
				924 
				925    .item-small-news .inner-bg-gray { 
				926        background-color: rgba(224, 224, 224, 0.3); 
				927        height: 100%; 
				928        width: 100%; 
				929        border-radius: 8px; 
				930        overflow: hidden; 
				931        border-bottom: 1px solid rgba(235, 235, 235, 1); 
				932    } 
				933 
				934    @media (max-width: 992px) { 
				935        .title-tin-nho-block11 { 
				936            height: 100px; 
				937        } 
				938    } 
				939 
				940 
				941    .tin-nho-block11 .under-ws { 
				942        bottom: 0; 
				943        left: 0; 
				944        width: 100%; 
				945        height: 35px; 
				946        background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.7) 28.26%, #FFFFFF 59.44%); 
				947    } 
				948 
				949 
				950 
				951 
				952 
				953 
				954 
				955    .hoat-dong-khac-tin-khac { 
				956        height: 100%; 
				957        padding: 15px; 
				958        background: #E0E0E04D; 
				959    } 
				960    .hoat-dong-khac-tin-khac  .makeshortnews-pct-thuy { 
				961        margin-bottom: 25px !important; 
				962    } 
				963    .mg-b-24 { 
				964        margin-bottom: 24px; 
				965        display: flex; 
				966        flex-direction: column; 
				967        gap: 20px; 
				968    } 
				969    .news-item-pvm .asset-publisher-title{ 
				970        font-size: clamp(14px, 3vw, 18px); 
				971        font-weight: 700; 
				972        line-height: 25.2px; 
				973        color: #2E2E2E; 
				974    } 
				975    .news-item-pvm:hover .asset-publisher-title{ 
				976        color: #035FB5; 
				977    } 
				978    .news-item-pvm .tin-slide-img-left { 
				979        width: 100%; 
				980        aspect-ratio: 4 / 3; 
				981        object-fit: cover; 
				982        height: 100% !important; 
				983    } 
				984    .news-item-pvm:hover .tin-slide-img-left{ 
				985        filter: drop-shadow(4px 4px 4px rgba(0, 0, 0, 0.25)); 
				986 
				987    } 
				988 
				989    .title-tin-hd-khac{ 
				990        width: 100%; 
				991        padding-right: 14px; 
				992    } 
				993    .hd-khac-tin-nho { 
				994        position: relative; 
				995    } 
				996 
				997    .limit-tin-descc-news > p{ 
				998        color: #2E2E2E !important; 
				999    } 
				1000    .main-color-pct-tin-khac > p{ 
				1001        color: #031739!important; 
				1002    } 
				1003 
				1004 
				1005    .limit-3-lines{ 
				1006        display: -webkit-box; 
				1007        -webkit-line-clamp: 3; 
				1008        -webkit-box-orient: vertical; 
				1009        overflow: hidden; 
				1010        text-overflow: ellipsis; 
				1011    } 
				1012    .limit-5-lines-desc { 
				1013        display: -webkit-box; 
				1014        -webkit-line-clamp: 5; 
				1015        -webkit-box-orient: vertical; 
				1016        overflow: hidden; 
				1017        text-overflow: ellipsis; 
				1018    } 
				1019    @media screen and (max-width: 426px) { 
				1020        .hoat-dong-khac-tin-khac{ 
				1021            margin-left: 15px; 
				1022            margin-right: 15px; 
				1023        } 
				1024 
				1025        .limit-5-lines-desc{ 
				1026            line-height: 1.6; 
				1027        } 
				1028        .hoat-dong-khac-tin-khac{ 
				1029            padding-bottom: 30px; 
				1030 
				1031        } 
				1032        .img-hdk-ct{ 
				1033            padding-right: 15px !important; 
				1034        } 
				1035    } 
				1036    @media screen and (min-width: 768px) and (max-width: 993px) { 
				1037        .liferayckevideo.video-container video { 
				1038            width: 100% !important; 
				1039            height: 400px !important; 
				1040        } 
				1041 
				1042    } 
				1043    @media screen and (min-width: 993px) and (max-width: 1025px) { 
				1044        .liferayckevideo.video-container video { 
				1045            width: 100% !important; 
				1046            height: 500px !important; 
				1047        } 
				1048    } 
				1049    @media screen and (min-width: 427px) and (max-width: 768px) { 
				1050        .hoat-dong-khac-tin-khac{ 
				1051            margin-left: 15px; 
				1052            margin-right: 15px; 
				1053        } 
				1054 
				1055        .limit-5-lines-desc{ 
				1056            line-height: 1.6; 
				1057        } 
				1058        .hoat-dong-khac-tin-khac{ 
				1059            padding-bottom: 30px; 
				1060 
				1061        } 
				1062        .img-hdk-ct{ 
				1063            padding-right: 15px !important; 
				1064        } 
				1065    } 
				1066 
				1067 
				1068    .binhLuanMacDinh{ 
				1069        margin-bottom: 0; 
				1070        color: #2E2E2E; 
				1071        font-size: clamp(14px, 2vw, 16px); 
				1072        font-weight: 600; 
				1073    } 
				1074    @media screen and (min-width: 767.9px) and (max-width: 768px) { 
				1075        .col-12.col-md-3.pr-0.img-hdk-ct { 
				1076            padding-right: 0px !important; 
				1077        } 
				1078    } 
				1079 
				1080    .hoat-dong-khac-tin-khac.hd-khac-tin-nho.d-flex.flex-column.align-items-start { 
				1081        margin-left: 0px !important; 
				1082        margin-right: 0px !important; 
				1083    } 
				1084 
				1085    @media screen and (max-width: 932px) and (max-height: 430px) { 
				1086        .mb-50 { 
				1087            margin-bottom: -50px !important; 
				1088        } 
				1089    } 
				1090 
				1091    @media screen and (max-width: 810px) { 
				1092        .mb-50-portal { 
				1093            margin-bottom: -50px !important; 
				1094        } 
				1095    } 
				1096 
				1097    @media screen and (max-width: 912px) and (min-width: 911.99px) and (max-height: 1368px) and (min-height: 1367.99px) { 
				1098        .mb-50-surface-pro-7 { 
				1099            margin-bottom: -50px !important; 
				1100        } 
				1101    } 
				1102 
				1103    .mb-32 { 
				1104        margin-bottom: -32px !important; 
				1105    } 
				1106 
				1107    .no-mt { 
				1108        margin-top: 0px !important; 
				1109    } 
				1110 
				1111    .pb-32 { 
				1112        padding-bottom: 32px !important; 
				1113    } 
				1114 
				1115    @media screen and (min-width: 992px) { 
				1116        .mb-30 { 
				1117            margin-bottom: -30px !important; 
				1118        } 
				1119    } 
				1120 
				1121    @media screen and (max-width: 740px) { 
				1122        .hoat-dong-khac-tin-khac.hd-khac-tin-nho.d-flex.flex-column.align-items-start { 
				1123            margin-left: 15px !important; 
				1124            margin-right: 15px !important; 
				1125        } 
				1126    } 
				1127 
				1128    @media screen and (max-width: 768px) and (max-width: 767.99px) and (max-height: 1024px) and (min-height: 1023.99px) { 
				1129        .col-12.col-md-4.pr-0.img-hdk-ct { 
				1130            padding-right: 0px !important; 
				1131        } 
				1132    } 
				1133    .popup-overlay { 
				1134        position: fixed; 
				1135        top: 0; 
				1136        left: 0; 
				1137        width: 100vw; 
				1138        height: 100vh; 
				1139        background-color: rgba(0, 0, 0, 0.5); /* lớp mờ xám */ 
				1140        display: flex; 
				1141        align-items: center; 
				1142        justify-content: center; 
				1143        z-index: 9998; /* thấp hơn popup một chút */ 
				1144    } 
				1145 
				1146    .custom-popup-ykien-binhluan { 
				1147        background: white; 
				1148        border-radius: 10px; 
				1149        box-shadow: 0 0 15px rgba(0, 0, 0, 0.2); 
				1150        z-index: 9999; 
				1151        width: 300px; 
				1152        padding: 20px; 
				1153        text-align: center; 
				1154        border: 1px solid #035FB5; 
				1155    } 
				1156 
				1157    .custom-popup-ykien-binhluan-content img.popup-icon { 
				1158        width: 50px; 
				1159        height: 50px; 
				1160    } 
				1161 
				1162    .custom-popup-ykien-binhluan-content div { 
				1163        border-bottom: solid 1px #035FB5; 
				1164        padding-bottom: 20px; 
				1165    } 
				1166 
				1167    .custom-popup-ykien-binhluan-content .popup-message { 
				1168        margin-top: 2rem; 
				1169        font-weight: bold; 
				1170        color: #035FB5; 
				1171    } 
				1172 
				1173    .d-none { 
				1174        display: none; 
				1175    } 
				1176 
				1177    .img-binhluan{ 
				1178        height: 25px; 
				1179        width: 25px; 
				1180    } 
				1181</style> 
				1182<#assign AssetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService" )> 
				1183<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
				1184 
				1185<#assign currentArticle = JournalArticleLocalService.getArticle(getterUtil.getLong(groupId),.vars['reserved-article-id'].data)> 
				1186<#assign currentArticleResourcePrimKey = currentArticle.getResourcePrimKey()> 
				1187 
				1188<#assign currentArticleAssetEntry = AssetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", currentArticleResourcePrimKey)/> 
				1189 
				1190<#assign articlePrimKey = currentArticle.resourcePrimKey> 
				1191<#assign DDMStructureKey = currentArticle.DDMStructureKey> 
				1192 
				1193<#assign catLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")> 
				1194<#assign articleCatId = catLocalService.getCategoryIds("com.liferay.journal.model.JournalArticle", getterUtil.getLong(articlePrimKey))> 
				1195 
				1196<#assign assetEntryQueryService = objectUtil('com.liferay.asset.kernel.service.AssetEntryLocalServiceUtil')> 
				1197 
				1198<#assign assetEntryQuery = objectUtil('com.liferay.asset.kernel.service.persistence.AssetEntryQuery')> 
				1199 
				1200 
				1201<#assign search = assetEntryQuery.setAnyCategoryIds(articleCatId)> 
				1202<#assign search = assetEntryQuery.setOrderByCol1("publishDate")/> 
				1203<#assign search = assetEntryQuery.setStart(0)/> 
				1204<#assign search = assetEntryQuery.setEnd(10)/> 
				1205<#assign search = assetEntryQuery.setOrderByType1("DESC")/> 
				1206 
				1207<#assign teste = assetEntryQueryService.getEntries(assetEntryQuery) 
				1208totalPage = 0/> 
				1209 
				1210<#assign 
				1211title = .vars['reserved-article-title'].data 
				1212portalURL = themeDisplay.getPortalURL() 
				1213currentUrl = portalURL + themeDisplay.getURLCurrent() 
				1214imageUrl = portalURL + .vars['reserved-article-small-image-url'].data 
				1215<#--srcfb = "https://www.facebook.com/plugins/like.php?href=${currentUrl}&width=92&layout=button_count&locale=vi_VN&action=like&size=small&share=false&height=28&appId=252861586372350"--> 
				1216srcfb = "https://www.facebook.com/sharer/sharer.php?u=${currentUrl}" 
				1217displayDate = .vars['reserved-article-display-date'].data 
				1218summary = .vars['reserved-article-description'].data/> 
				1219<#assign summaryText = htmlUtil.extractText(summary) > 
				1220 
				1221<#assign scopeId = themeDisplay.getScopeGroupId()> 
				1222<#assign contentId = .vars['reserved-article-id'].data> 
				1223<#assign originalLocale = .locale> 
				1224<#setting locale = localeUtil.getDefault()> 
				1225<#assign displayDate = displayDate?datetime("EEE, d MMM yyyy HH:mm:ss Z")> 
				1226<#assign locale = originalLocale> 
				1227<#--<#assign displayDate = displayDate?string("EEEE, dd/MM/yyyy, HH:mm a ")>--> 
				1228<#assign displayDate = displayDate?string("dd/MM/yyyy HH:mm")> 
				1229<#assign listLayoutDHD = [5474,5512,179]> 
				1230<#assign layo = themeDisplay.getPlid() /> 
				1231<#assign noImageUrl = "/documents/37638/0/ảnh-đại-diện-đà-nẵng-01.jpg" > 
				1232<#assign danhMucTacGia = 348587> 
				1233<#assign authorCategories = ""> 
				1234<#list currentArticleAssetEntry.getCategories() as category> 
				1235    <#if category.vocabularyId == danhMucTacGia> 
				1236        <#if authorCategories?has_content> 
				1237            <#assign authorCategories = authorCategories + ", " + category.name> 
				1238        <#else> 
				1239            <#assign authorCategories = category.name> 
				1240        </#if> 
				1241    </#if> 
				1242</#list> 
				1243<@liferay_util["html-top"]> 
				1244    <meta name='DC.Creator' content="${authorCategories}"> 
				1245    <meta name="DC.Description" content="${summary?replace('<[^>]*>', '', 'r')}"> 
				1246    <meta name="title" property="og:title" content="${title?html}"> 
				1247    <meta name="image" property="og:image" content="${imageUrl}"> 
				1248    <meta name="imageurl" property="og:image:url" content="${imageUrl}"> 
				1249    <meta name="description" property="og:description" content="${summaryText}"> 
				1250    <meta name="url" property="og:url" content="${currentUrl}"> 
				1251</@> 
				1252<#assign 
				1253theme_display = themeDisplay 
				1254images_folder = theme_display.getPathThemeImages() 
				1255 
				1256/> 
				1257 
				1258<script> 
				1259    $(document).ready(function () { 
				1260        $(".hrefShareFb").attr("href", "https://www.facebook.com/sharer/sharer.php?u=" + window.location.href); 
				1261        /*$("#hrefShareEmail").attr("href", "mailto:?subject=I wanted you to see this site&body=Check out this site " + window.location.href);*/ 
				1262        $("#hrefShareEmail").attr("href", 'https://mail.google.com/mail/u/0/?su='+'${title}'+'&body=' + window.location.href+'&fs=1&tf=cm'); 
				1263        $("#hrefShareSkype").attr("href", "https://web.skype.com/share?url=" + window.location.href); 
				1264        $("#trigger_zalo").attr("data-href", "" + window.location.href); 
				1265        $(".hrefShareTwitter").attr("href", "https://twitter.com/intent/tweet?text=" + window.location.href); 
				1266        var modal = $('.modal-thongtin'); 
				1267        var btn = $('.btnsend'); 
				1268        var button_dt = $('.button-dt'); 
				1269        var button_dt_close = $('.button-dt-close'); 
				1270        var span = $('.close'); 
				1271        var baiVietId = $('#baiVietId'); 
				1272        var tieuDe = $('#tieuDe'); 
				1273        var commentContent = $('#commentContent'); 
				1274        var commentName = $('#commentName'); 
				1275        var commentAddress = $('#commentAddress'); 
				1276        var commentEmail = $('#commentEmail'); 
				1277 
				1278        button_dt.click(function () { 
				1279            const valid = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; 
				1280            if (commentName.val().length == 0) { 
				1281                commentName.css('border-color', 'red'); 
				1282                commentName.focus(); 
				1283            } else if (commentAddress.val().length == 0) { 
				1284                commentAddress.css('border-color', 'red'); 
				1285                commentAddress.focus(); 
				1286            } else if (commentEmail.val().length == 0) { 
				1287                commentEmail.css('border-color', 'red'); 
				1288                commentEmail.focus(); 
				1289            } else if (!valid.test(commentEmail.val())) { 
				1290                commentEmail.css('border-color', 'red'); 
				1291                commentEmail.focus(); 
				1292                alert('Vui lòng nhập đúng email!'); 
				1293            } else { 
				1294                comment(baiVietId.val(), tieuDe.val(), commentContent.val(), commentName.val(), commentAddress.val(), commentEmail.val(), groupId); 
				1295                commentContent.val(''); 
				1296                commentName.val(''); 
				1297                commentAddress.val(''); 
				1298                commentEmail.val(''); 
				1299                modal.hide(); 
				1300                btn.show(); 
				1301            } 
				1302        }); 
				1303 
				1304        button_dt_close.click(function () { 
				1305            commentContent.val(''); 
				1306            commentName.val(''); 
				1307            commentAddress.val(''); 
				1308            commentEmail.val(''); 
				1309            commentName.css('border-color', '#ccc'); 
				1310            commentAddress.css('border-color', '#ccc'); 
				1311            commentEmail.css('border-color', '#ccc'); 
				1312            modal.hide(); 
				1313            btn.show(); 
				1314 
				1315        }); 
				1316 
				1317        span.click(function () { 
				1318            commentContent.val(''); 
				1319            commentName.val(''); 
				1320            commentAddress.val(''); 
				1321            commentEmail.val(''); 
				1322            modal.hide(); 
				1323            $('.replyBox').hide(); 
				1324            btn.show(); 
				1325 
				1326            $('.inputReplyContent').val(''); 
				1327            commentNameReply.val(''); 
				1328            commentAddressReply.val(''); 
				1329            commentEmailReply.val(''); 
				1330            modal_reply.hide(); 
				1331            $('.replyBox').hide(); 
				1332            btnreply.show(); 
				1333        }); 
				1334 
				1335        $(window).on('click', function (e) { 
				1336            if ($(e.target).is('.modal-thongtin')) { 
				1337                commentContent.val(''); 
				1338                commentName.val(''); 
				1339                commentAddress.val(''); 
				1340                commentEmail.val(''); 
				1341                modal.hide(); 
				1342                btn.show(); 
				1343            } 
				1344            if ($(e.target).is('.modal-thongtin-reply')) { 
				1345                $('.inputReplyContent').val(''); 
				1346                commentNameReply.val(''); 
				1347                commentAddressReply.val(''); 
				1348                commentEmailReply.val(''); 
				1349                modal_reply.hide(); 
				1350                btnreply.show(); 
				1351            } 
				1352        }); 
				1353 
				1354 
				1355        var modal_reply = $('.modal-thongtin-reply'); 
				1356        var btnreply = $('.btnreply'); 
				1357        var button_dt_reply = $('.button-dt-reply'); 
				1358        var button_dt_reply_close = $('.button-dt-reply-close'); 
				1359        var span = $('.close'); 
				1360        var commentNameReply = $('#commentNameReply'); 
				1361        var commentAddressReply = $('#commentAddressReply'); 
				1362        var commentEmailReply = $('#commentEmailReply'); 
				1363 
				1364        function submitreply() { 
				1365            var commentId = $('#commentId').val(); 
				1366            if ($('#inputReplyContent' + commentId).val().length == 0) { 
				1367                alert('Vui lòng nhập nội dung ý kiến!'); 
				1368            } else { 
				1369                modal_reply.show(); 
				1370                $('#commentContentReply').val($('#inputReplyContent' + commentId).val()); 
				1371                btnreply.hide(); 
				1372            } 
				1373        } 
				1374 
				1375        button_dt_reply.click(function () { 
				1376            if (commentNameReply.val().length == 0) { 
				1377                commentNameReply.css('border-color', 'red'); 
				1378            } else if (commentAddressReply.val().length == 0) { 
				1379                commentAddressReply.css('border-color', 'red'); 
				1380            } else if (commentEmailReply.val().length == 0) { 
				1381                commentEmailReply.css('border-color', 'red'); 
				1382            } else { 
				1383                replyComment($('#commentId').val(), baiVietId.val(), tieuDe.val(), $('#commentContentReply').val(), commentNameReply.val(), commentAddressReply.val(), commentEmailReply.val()); 
				1384                $('.inputReplyContent').val(''); 
				1385                commentNameReply.val(''); 
				1386                commentAddressReply.val(''); 
				1387                commentEmailReply.val(''); 
				1388                modal_reply.hide(); 
				1389            } 
				1390        }); 
				1391 
				1392        button_dt_reply_close.click(function () { 
				1393            $('.inputReplyContent').val(''); 
				1394            commentNameReply.val(''); 
				1395            commentAddressReply.val(''); 
				1396            commentEmailReply.val(''); 
				1397            modal_reply.hide(); 
				1398 
				1399        }); 
				1400    }); 
				1401 
				1402    function printById(elementId) { 
				1403        var contentHTML = document.getElementById(elementId).innerHTML; 
				1404        var titleDetail = document.getElementById('title-detail').innerHTML; 
				1405        const baseUrl = window.location.origin; 
				1406        contentHTML = contentHTML.replace(/src="\/(?!\/)/g, `src="${baseUrl}/`); 
				1407        var headerHTML = ` 
				1408        <div class="menu-logo-90"> 
				1409						<img src="https://cttdt.danangportal.gov.vn/o/portal-home-multi-theme/images/icons/DNG_icon.png" alt="logo" class="menu-logo__image-90 DN-logo"> 
				1410							<div class="header-title mx-3"> 
				1411								<div class="ttdt-header-1">CỔNG THÔNG TIN ĐIỆN TỬ</div> 
				1412								<div class="ttdt-header-2"> 
				1413									 
				1414									THÀNH PHỐ ĐÀ NẴNG 
				1415								</div> 
				1416								<div class="ttdt-header-3"> 
				1417									 
				1418										WWW.DANANG.GOV.VN 
				1419								</div> 
				1420							</div> 
				1421					</div> 
				1422    `; 
				1423        var printWindow = window.open('', '', 'width=800,height=600'); 
				1424 
				1425        printWindow.document.open(); 
				1426        printWindow.document.write(` 
				1427            <html> 
				1428                <head> 
				1429                    <style> 
				1430.text-summary > p { 
				1431        color: #000; 
				1432        font-size: 16px; 
				1433        font-style: italic; 
				1434        font-weight: 700; 
				1435        line-height: normal; 
				1436    } 
				1437    p { 
				1438        text-align: justify; 
				1439        color: #2E2E2E; 
				1440        font-size: 16px; 
				1441        font-style: normal; 
				1442        font-weight: 400; 
				1443        line-height: 22.4px; 
				1444        letter-spacing: 0.08px; 
				1445    } 
				1446        .menu-logo-90 { 
				1447        display: flex; 
				1448        height: 132px; 
				1449        padding: 9px; 
				1450    } 
				1451 
				1452    .menu-logo__image-90 { 
				1453        object-fit: contain; 
				1454    } 
				1455 
				1456    .header-title { 
				1457    line-height: 38px; 
				1458    letter-spacing: 0.25px; 
				1459    margin: auto; 
				1460} 
				1461 
				1462.ttdt-header-1 { 
				1463    letter-spacing: 6px; 
				1464    color: #DE6F18; 
				1465    font-weight: 700; 
				1466    font-size: 22px; 
				1467    font-family: 'Montserrat Bold' !important; 
				1468    line-height: 30px; 
				1469} 
				1470 
				1471.ttdt-header-2 { 
				1472    color: #035FB5; 
				1473    font-family: 'Montserrat Black' !important; 
				1474    font-style: normal; 
				1475    font-size: 36px; 
				1476    font-weight: 900; 
				1477    line-height: 50px; 
				1478} 
				1479 
				1480.ttdt-header-3 { 
				1481    letter-spacing: 11px; 
				1482    color: #0065B3; 
				1483    font-weight: 500; 
				1484    font-size: 20px; 
				1485    font-family: 'Montserrat Medium' !important; 
				1486    line-height: 30px; 
				1487} 
				1488 
				1489.print-separator { 
				1490                    border: none; 
				1491                    border-top: 2px solid #ccc; 
				1492                    margin: 10px 0 25px 0; 
				1493                } 
				1494                    </style> 
				1495                </head> 
				1496                <body>`+ headerHTML+`<hr class="print-separator">` + titleDetail+contentHTML+` 
				1497                </body> 
				1498            </html> 
				1499        `); 
				1500        printWindow.document.close(); 
				1501        printWindow.onload = function () { 
				1502    const imgs = printWindow.document.images; 
				1503    let loaded = 0; 
				1504 
				1505    if (imgs.length === 0) { 
				1506      printWindow.print(); 
				1507      printWindow.close(); 
				1508      return; 
				1509    } 
				1510 
				1511    for (let img of imgs) { 
				1512      img.onload = img.onerror = function () { 
				1513        loaded++; 
				1514        if (loaded === imgs.length) { 
				1515          printWindow.focus(); 
				1516          printWindow.print(); 
				1517          printWindow.close(); 
				1518        } 
				1519      }; 
				1520    } 
				1521  }; 
				1522    } 
				1523 
				1524    $(function () { 
				1525        var star = '.star', 
				1526            selected = '.selected'; 
				1527        $(star).on('click', function () { 
				1528            $(selected).each(function () { 
				1529                $(this).removeClass('selected'); 
				1530            }); 
				1531            $(this).addClass('selected'); 
				1532        }); 
				1533    }); 
				1534 
				1535    function submitreply() { 
				1536        var commentId = $('#commentId').val(); 
				1537        if ($('#inputReplyContent' + commentId).val().length == 0) { 
				1538            alert('Vui lòng nhập nội dung ý kiến!'); 
				1539        } else { 
				1540            $('.modal-thongtin-reply').show(); 
				1541            $('#commentContentReply').val($('#inputReplyContent' + commentId).val()); 
				1542            $('.btnreply').hide(); 
				1543        } 
				1544    } 
				1545 
				1546    function changePageSize() { 
				1547        var pageSize = $('#pageSize').val(); 
				1548        var pageIndex = $('#pageIndex').val(); 
				1549        paginate(pageIndex, pageSize); 
				1550    } 
				1551 
				1552    function changePageIndex() { 
				1553        var pageSize = $('#pageSize').val(); 
				1554        var pageIndex = $('#pageIndex').val(); 
				1555        $('#curPage').val(pageIndex); 
				1556        paginate(pageIndex, pageSize); 
				1557    } 
				1558 
				1559    function gotoPage(i) { 
				1560        $('a[name="gotoPage"]').removeClass("active"); 
				1561        $('#gotoPage' + i).addClass("active"); 
				1562        $('.list-unstyled').css("display", "none"); 
				1563        $('ul[name="list-unstyled-' + i + '"]').css("display", "grid"); 
				1564        $('#currentPage').val(i); 
				1565    } 
				1566 
				1567    function previousPage() { 
				1568        var i = $('#currentPage').val(); 
				1569        if (i > 1) { 
				1570            gotoPage(Number(i) - 1); 
				1571        } 
				1572    } 
				1573 
				1574    function nextPage() { 
				1575        var i = $('#currentPage').val(); 
				1576        var totalPage = $('#totalPages').val(); 
				1577        console.log(i); 
				1578        console.log(totalPage); 
				1579        if (i < totalPage) { 
				1580            gotoPage(Number(i) + 1); 
				1581        } 
				1582    } 
				1583 
				1584 
				1585</script> 
				1586<div id="fb-root"></div> 
				1587<div class="detail__flex"> 
				1588 
				1589    <div class="detail__main"> 
				1590        <#--        <span class="text-trangchu-ctbv">TRANG CHỦ / <span class="text-gioithieu-ctbv">TIN TỨC</span></span>--> 
				1591        <div class="main-content main_blog_post_content"> 
				1592            <div class="panel mbp_thumb_post mb-50-portal mb-50 mb-50-surface-pro-7 mb-30" id="main-body"> 
				1593                <div style="margin:10px 0px;" id="title-detail"> 
				1594                    <h3 class="title-divvv">${title}</h3> 
				1595                </div> 
				1596                <div class="shortcode-content hreview py-1 py-md-2"> 
				1597                    <div class="article-head"> 
				1598                        <div class="article-info" style="border-top: 0px;border-bottom: 0px; height: 33px;"> 
				1599                            <div class="social-buttons left" style="float: left!important;"> 
				1600                                <ul class="blog_sp_post_meta"> 
				1601                                    <li class="list-inline-item"> 
				1602                                        <span class="sp-dislaydate">${displayDate} , Lượt xem: ${currentArticleAssetEntry.viewCount} </span> 
				1603                                    </li> 
				1604                                </ul> 
				1605                            </div> 
				1606                            <div style="float: right"> 
				1607                                <div class="wrap-tool d-flex"> 
				1608                                    <a onclick="fontMinus();" href="javascript:void(0);" title="Giảm cỡ chữ" 
				1609                                       class="" 
				1610                                       data-toggle="tooltip"> 
				1611                                                <span class="icon-tool"> 
				1612                                                    <svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" 
				1613                                                         viewBox="0 0 28 28" fill="none"> 
				1614                                                        <circle cx="14" cy="14" r="13.5" stroke="#777777"/> 
				1615                                                        <path d="M17.5 15.5L13.75 11.75L10 15.5" stroke="#777777" 
				1616                                                              stroke-width="1.5" 
				1617                                                              stroke-linecap="round" stroke-linejoin="round"/> 
				1618                                                    </svg> 
				1619                                                </span> 
				1620                                    </a> 
				1621 
				1622                                    <a onclick="fontPlus();" href="javascript:void(0);" title="Aa" class="" 
				1623                                       data-toggle="tooltip"> 
				1624                                                <span class="icon-tool"> 
				1625                                                    <img src="/documents/37638/39612/Aa.svg" style="height: 20px" /> 
				1626                                                </span> 
				1627                                    </a> 
				1628 
				1629                                    <a onclick="fontPlus();" href="javascript:void(0);" title="Tăng cỡ chữ" class="" 
				1630                                       data-toggle="tooltip"> 
				1631                                                <span class="icon-tool"> 
				1632                                                    <svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" 
				1633                                                         viewBox="0 0 28 28" fill="none"> 
				1634                                                        <circle cx="14" cy="14" r="13.5" transform="rotate(-180 14 14)" 
				1635                                                                stroke="#777777"/> 
				1636                                                        <path d="M10 12L13.75 15.75L17.5 12" stroke="#777777" 
				1637                                                              stroke-width="1.5" stroke-linecap="round" 
				1638                                                              stroke-linejoin="round"/> 
				1639                                                    </svg> 
				1640                                                </span> 
				1641                                    </a> 
				1642 
				1643                                    <a onclick="giamTuongPhan();" href="javascript:void(0);" 
				1644                                       data-toggle="tooltip" title="Giảm tương phản"> 
				1645                                                <span class="icon-tool"> 
				1646                                                    <img src="/o/portal-home-multi-theme/icons/trothinh/trothinh_bright-down-btn.png" 
				1647                                                         style="vertical-align: middle;opacity: 1; height: 28px"/> 
				1648                                                </span> 
				1649                                    </a> 
				1650 
				1651                                    <a onclick="tangTuongPhan();" href="javascript:void(0);" 
				1652                                       data-toggle="tooltip" title="Tăng tương phản"> 
				1653                                                <span class="icon-tool"> 
				1654                                                    <img src="/o/portal-home-multi-theme/icons/trothinh/trothinh_bright-up-btn.png" 
				1655                                                         style="vertical-align: middle;opacity: 1; height: 28px"/> 
				1656                                                </span> 
				1657                                    </a> 
				1658 
				1659                                    <a onclick="voiceSpeak('contentText','voiceSex')" href="javascript:void(0);" 
				1660 
				1661                                       data-toggle="tooltip" 
				1662                                       title="Đọc bài viết"> 
				1663                                                <span class="icon-tool"> 
				1664                                                    <svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" 
				1665                                                         viewBox="0 0 28 28" fill="none"> 
				1666                                                    <path d="M17.1145 3.14453C16.9531 3.14453 16.7891 3.18828 16.6387 3.28945L6.94531 9.625H2.46094C2.22031 9.625 2.02344 9.82188 2.02344 10.0625V17.9375C2.02344 18.1781 2.22031 18.375 2.46094 18.375H6.94531L16.6387 24.7105C16.7891 24.809 16.9559 24.8555 17.1145 24.8555C17.5711 24.8555 17.9922 24.4918 17.9922 23.9777V4.02227C17.9922 3.5082 17.5711 3.14453 17.1145 3.14453ZM16.0234 21.957L8.02266 16.7262L7.53047 16.4062H3.99219V11.5938H7.53047L8.01992 11.2738L16.0234 6.04297V21.957ZM25.5391 13.0156H22.0391C21.7984 13.0156 21.6016 13.2125 21.6016 13.4531V14.5469C21.6016 14.7875 21.7984 14.9844 22.0391 14.9844H25.5391C25.7797 14.9844 25.9766 14.7875 25.9766 14.5469V13.4531C25.9766 13.2125 25.7797 13.0156 25.5391 13.0156ZM24.3934 20.1742L21.3773 18.4324C21.3278 18.404 21.2731 18.3857 21.2165 18.3785C21.1599 18.3712 21.1023 18.3752 21.0472 18.3902C20.9921 18.4052 20.9405 18.4309 20.8954 18.4658C20.8502 18.5007 20.8123 18.5442 20.784 18.5938L20.2398 19.5371C20.1195 19.7449 20.1906 20.0129 20.3984 20.1332L23.4145 21.875C23.464 21.9034 23.5187 21.9217 23.5753 21.929C23.6319 21.9362 23.6894 21.9322 23.7445 21.9172C23.7996 21.9023 23.8513 21.8766 23.8964 21.8416C23.9416 21.8067 23.9794 21.7632 24.0078 21.7137L24.552 20.7703C24.6723 20.5625 24.5984 20.2945 24.3934 20.1742ZM20.7812 9.40625C20.8096 9.45581 20.8475 9.49929 20.8926 9.53422C20.9378 9.56915 20.9894 9.59484 21.0445 9.60982C21.0996 9.6248 21.1571 9.62878 21.2138 9.62153C21.2704 9.61428 21.3251 9.59595 21.3746 9.56758L24.3906 7.82578C24.5984 7.70547 24.6695 7.4375 24.5492 7.22969L24.0078 6.28906C23.9794 6.23951 23.9416 6.19602 23.8964 6.16109C23.8513 6.12616 23.7996 6.10048 23.7445 6.0855C23.6894 6.07051 23.6319 6.06653 23.5753 6.07378C23.5187 6.08103 23.464 6.09936 23.4145 6.12773L20.3984 7.86953C20.2986 7.92775 20.2258 8.02314 20.1961 8.13484C20.1664 8.24655 20.1821 8.36548 20.2398 8.46563L20.7812 9.40625Z" 
				1667                                                          fill="#777777"/> 
				1668                                                    </svg> 
				1669                                                </span> 
				1670                                    </a> 
				1671                                    <a id="void-pause" onclick="voicePause()" href="javascript:void(0);" style="display:none;" 
				1672                                       data-toggle="tooltip" 
				1673                                       title="Tạm dừng đọc"> 
				1674				<span class="icon"> 
				1675					<span class="fa fa-pause mr-3" style="vertical-align: middle;opacity: 1;color: dimgray;"/> 
				1676				</span> 
				1677                                    </a> 
				1678                                    <a id="void-resume" onclick="voiceResume()" href="javascript:void(0);" style="display:none;" 
				1679                                       data-toggle="tooltip" 
				1680                                       title="Tiếp tục đọc"> 
				1681                                        <span class="icon fa fa-repeat mr-3" style="vertical-align: middle;opacity: 1;color: dimgray;"></span> 
				1682                                    </a> 
				1683                                    <a id="void-stop" onclick="voiceCancel()" href="javascript:void(0);" style="display:none;" 
				1684                                       data-toggle="tooltip" 
				1685                                       title="Dừng đọc"> 
				1686                                        <span class="icon fa fa-stop mr-3" style="vertical-align: middle;opacity: 1;color: dimgray;"/> 
				1687                                    </a> 
				1688                                    <a target="_blank" id="hrefShareEmail" title="Gửi Mail" style="float: left" 
				1689                                       data-toggle="tooltip"> 
				1690                                                <span class="icon-tool"> 
				1691                                                    <img src="/documents/37638/39612/icon-mail.svg" style="height: 25px" /> 
				1692                                                </span> 
				1693                                    </a> 
				1694 
				1695                                    <a onclick="printById('contentText')" href="javascript:void(0);" title="In bài" class="" style="float: left" 
				1696                                       data-toggle="tooltip"> 
				1697                                                <span class="icon-tool"> 
				1698                                                    <img src="/documents/37638/39612/icon-print.svg" style="height: 25px" /> 
				1699                                                </span> 
				1700                                    </a> 
				1701 
				1702                                </div> 
				1703                            </div> 
				1704 
				1705 
				1706                            <input type="hidden" id="voiceSex" value="Vietnamese Female"/> 
				1707                            <input type="hidden" id="tuongphan" value="3"/> 
				1708                            <input type="hidden" id="DDMStructureKey" name="DDMStructureKey" 
				1709                                   value="${DDMStructureKey}"/> 
				1710                            <input type="hidden" id="baiVietId" name="baiVietId" value="${articlePrimKey}"/> 
				1711                            <input type="hidden" id="commentId" name="commentId" value=""/> 
				1712                            <input type="hidden" id="tieuDe" name="tieuDe" value="${title?html}"/> 
				1713                            <input type="hidden" value="1" id="curPage"/> 
				1714                            <input type="hidden" value="0" id="totalRelated"/> 
				1715                            <input type="hidden" value="${currentUrl}" id="currentURL"/> 
				1716                        </div> 
				1717                    </div> 
				1718                </div> 
				1719                <div id="contentText" style="margin:10px 0px;"> 
				1720                    <b style="text-align: justify;" class="text-summary">${summary}</b> 
				1721                    <#assign sanitizedContent = noiDung.getData()?replace("<script>", "<p class='d-none'>")?replace("</script>", "</p>")> 
				1722                    ${noiDung.getData()} 
				1723                </div> 
				1724                <div class="article-info"> 
				1725                    <div class="row social-buttons"> 
				1726                        <div class="col-lg-10 d-flex align-items-center"> 
				1727                            <iframe class="share-fb-custom" src="https://www.facebook.com/plugins/share_button.php?href=${currentUrl}&layout=button_count&size=small&width=92&height=28&appId=252861586372350&locale=vi_VN" width="92" height="28" 
				1728                                    style="border:none;overflow:hidden" scrolling="no" frameborder="0" 
				1729                                    allowTransparency="true" allow="encrypted-media"></iframe> 
				1730                            <div style="display: flex; align-items: center;"> 
				1731                                <p class="text-dgbv">Đánh giá bài viết:</p> 
				1732                                <div class="ratings-wrapper ml-2"> 
				1733                                    <div data-productid="39" class="ratings"> 
				1734                                        <span class="star" data-rating="5"></span> 
				1735                                        <span class="star" data-rating="4"></span> 
				1736                                        <span class="star" data-rating="3"></span> 
				1737                                        <span class="star" data-rating="2"></span> 
				1738                                        <span class="star" data-rating="1"></span> 
				1739                                    </div> 
				1740                                </div> 
				1741                            </div> 
				1742                        </div> 
				1743                        <div class="col-lg-1 ctbv-right"></div> 
				1744                    </div> 
				1745                </div> 
				1746                <div class="line no-mt"></div> 
				1747 
				1748 
				1749                <div class="d-flex align-items-start pb-32"> 
				1750                    <p class="title-content-vni mr-2"> 
				1751                        <img src="/documents/37638/39612/icon-tag.svg" /> 
				1752                    </p> 
				1753                    <div class="d-flex flex-wrap" style="gap: 10px;"> 
				1754                        <#list currentArticleAssetEntry.getCategories() as category> 
				1755                            <#if category_index == 0> 
				1756                                <span id="firstCategory" data-category="${category.name}"></span> 
				1757                            </#if> 
				1758                            <#if category.vocabularyId != danhMucTacGia> 
				1759                                <div class="tags mr-2" style=" 
				1760background: #EBEBEB; 
				1761border-radius: 6px; 
				1762padding: 3px 8px; 
				1763color: #5F676D; 
				1764font-size: clamp(14px, 2vw, 16px); 
				1765font-weight: 400; 
				1766        "> 
				1767                                    <p class="tag mb-0">${category.name}</p> 
				1768                                </div> 
				1769                            </#if> 
				1770                        </#list> 
				1771                    </div> 
				1772                </div> 
				1773 
				1774                <script> 
				1775                    $(document).ready(function () { 
				1776                        getCurrentCategorie(); 
				1777                    }); 
				1778 
				1779                    function getCurrentCategorie() { 
				1780                        var firstCategory = $("#firstCategory").data("category"); 
				1781                        if (firstCategory) { 
				1782                            $("#tinTucChiTietBreadcrumd a:last").html(' / ' + firstCategory); 
				1783                        } 
				1784                    } 
				1785                </script> 
				1786 
				1787                <div class="line no-mt"></div> 
				1788 
				1789                <div class="y-kien"> 
				1790                    <div class="position-relative d-flex flex-column" > 
				1791                        <div class="title-ccni" style="width: fit-content"> 
				1792                            <a class="d-flex align-items-center" style="margin-bottom: 10px"> 
				1793                                <p class="mb-0" data-lfr-editable-id="element-text" data-lfr-editable-type="text"> 
				1794                                    Ý KIẾN CỦA BẠN 
				1795                                </p> 
				1796                            </a> 
				1797                            <div class="spotlight-x" style=" 
				1798width: 20%; 
				1799position: absolute; 
				1800bottom: 0; 
				1801left: 0; 
				1802z-index: 2; 
				1803display: block; 
				1804                            "> 
				1805                                <div class="d-flex orange-line"> 
				1806                                    <div class="line-blue"></div> 
				1807                                </div> 
				1808                            </div> 
				1809                            <div class="line-tail-chitiet position-absolute"></div> 
				1810                        </div> 
				1811                    </div> 
				1812 
				1813 
				1814                    <div class="form-binh-luan my-2"> 
				1815                        <form action="?" method="POST" class="needs-validation" novalidate="novalidate" onsubmit="return submitUserForm();"> 
				1816                            <div id="articleWrapper" 
				1817                                 data-article-id="${currentArticle.id}" 
				1818                                 data-article-title="${currentArticle.title?html}" 
				1819                                 data-article-author="${currentArticle.userName}" 
				1820                                 data-group-id="${groupId}" 
				1821                                 data-url-title="${currentArticle.urlTitle}"> 
				1822                            </div> 
				1823                            <div class="form-group"> 
				1824                                <label class="label-binh-luan" for="commentName">Tên <span class="text-danger">*</span></label> 
				1825                                <input type="text" class="form-control" id="commentName" placeholder="Nhập tên" title="tên" required> 
				1826                            </div> 
				1827                            <div class="form-row"> 
				1828                                <div class="form-group col-md-3"> 
				1829                                    <label class="label-binh-luan" for="soDienThoai">Số điện thoại <span class="text-danger">*</span></label> 
				1830                                    <input type="tel" max="12" id="soDienThoai" class="form-control" placeholder="Nhập số điện thoại" required /> 
				1831                                </div> 
				1832                                <div class="form-group col-md-9"> 
				1833                                    <label class="label-binh-luan" for="email">Email <span class="text-danger">*</span></label> 
				1834                                    <input type="email" class="form-control" placeholder="Nhập email" id="email" regex="^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$" required> 
				1835                                </div> 
				1836                            </div> 
				1837 
				1838                            <div class="form-group"> 
				1839                                <label class="label-binh-luan" for="commentContent">Bình luận, góp ý <span class="text-danger">*</span></label> 
				1840                                <textarea class="form-control" id="commentContent" placeholder="Nhập ý kiến của bạn ..." rows="3" required></textarea> 
				1841                            </div> 
				1842                            <div class="g-recaptcha gg-custom" 
				1843                                 data-sitekey="6LdJn8wUAAAAAMvr7BbFYRPvKU8CJh8eppjhQVrp" data-callback="verifyCaptcha"> 
				1844                            </div> 
				1845                            <div class="d-flex justify-content-end"> 
				1846                                <button type="submit" class="btn btn-send-cmt btnsend" onclick="sendFeedback()" style="">Gửi bình luận</button> 
				1847                            </div> 
				1848                        </form> 
				1849                    </div> 
				1850                </div> 
				1851                <div id="customSuccessPopupOverlay" class="popup-overlay d-none"> 
				1852                    <div id="customSuccessPopup" class="custom-popup-ykien-binhluan"> 
				1853                        <div class="custom-popup-ykien-binhluan-content"> 
				1854                            <div> 
				1855                                <img src="/documents/37638/0/daguibinhluan-icon.png" alt="Success Icon" class="popup-icon"/> 
				1856                            </div> 
				1857                            <p class="popup-message">"Cảm ơn bạn đã bình luận!"</p> 
				1858                        </div> 
				1859                    </div> 
				1860                </div> 
				1861                <div class="y-kien-ban-doc my-4"> 
				1862                    <div class="position-relative d-flex flex-column" > 
				1863                        <div class="title-ccni" style="width: fit-content"> 
				1864                            <a class="d-flex align-items-center" style="margin-bottom: 10px"> 
				1865                                <p class="mb-0" data-lfr-editable-id="element-text" data-lfr-editable-type="text"> 
				1866                                    Ý KIẾN BẠN ĐỌC 
				1867                                </p> 
				1868                            </a> 
				1869                            <div class="spotlight-x" style=" 
				1870width: 20%; 
				1871position: absolute; 
				1872bottom: 0; 
				1873left: 0; 
				1874z-index: 2; 
				1875display: block; 
				1876                            "> 
				1877                                <div class="d-flex orange-line"> 
				1878                                    <div class="line-blue"></div> 
				1879                                </div> 
				1880                            </div> 
				1881                            <div class="line-tail-chitiet position-absolute"></div> 
				1882                        </div> 
				1883                    </div> 
				1884 
				1885                    <div class="wrap-list-comment my-3"> 
				1886                        <div class="row"> 
				1887                            <div class="col-12"> 
				1888                                <#--                                <div class="d-flex">--> 
				1889                                <#--                                    <div class="img-user-cmt pr-3">--> 
				1890                                <#--                                        <img src="/documents/37638/39612/icon-user-cmt.png">--> 
				1891                                <#--                                    </div>--> 
				1892                                <#--                                    <div class="content-comment">--> 
				1893                                <#--                                        <div class="user-name-cmt">Trần Min <span class="time-comment">12 phút trước</span></div>--> 
				1894                                <#--                                        <div class="txt-content-cmt mt-2">Lorem ipsum dolor sit amet consectetur. A eu nunc commodo facilisis metus mi eget tortor vestibulum. Viverra facilisi sit cras integer turpis eros faucibus sed nunc.</div>--> 
				1895                                <#--                                    </div>--> 
				1896                                <#--                                </div>--> 
				1897 
				1898                                <#--                                <div class="thin-line my-2"></div>--> 
				1899 
				1900                                <#--                                <div class="d-flex">--> 
				1901                                <#--                                    <div class="img-user-cmt pr-3">--> 
				1902                                <#--                                        <img src="/documents/37638/39612/icon-user-cmt.png">--> 
				1903                                <#--                                    </div>--> 
				1904                                <#--                                    <div class="content-comment">--> 
				1905                                <#--                                        <div class="user-name-cmt">Phan Duy <span class="time-comment">8 phút trước</span></div>--> 
				1906                                <#--                                        <div class="txt-content-cmt mt-2">ปีครับ. ฉันเป็นคนเวียดนามค่ะ. ผมเป็นคนเวียดนามครับ. ฉันเป็นครูสอนภาษาไทยค่ะ. ผมเป็นครูสอนภาษาไทยครับ. ฉันทํางานที่บริษัท. เอ บี ซี. ค่ะ ผมทํางานที่บ้านครับ. ฉันพูดภาษา .</div>--> 
				1907                                <#--                                    </div>--> 
				1908                                <#--                                </div>--> 
				1909 
				1910                                <#--                                <button class="btn-xem-them-cmt w-100">Xem thêm bình luận</button>--> 
				1911                                <div id="comment-list"></div> 
				1912                                <div id="binhLuanMacDinh"> <p class="binhLuanMacDinh"> Chưa có bình luận ý kiến bài viết! </p></div> 
				1913                            </div> 
				1914                        </div> 
				1915                    </div> 
				1916                </div> 
				1917 
				1918 
				1919 
				1920                <div class="y-kien-ban-doc my-4"> 
				1921                    <div class="position-relative d-flex flex-column mb-3" > 
				1922                        <div class="title-ccni" style="width: fit-content"> 
				1923                            <a class="d-flex align-items-center" style="margin-bottom: 10px"> 
				1924                                <p class="mb-0" data-lfr-editable-id="element-text" data-lfr-editable-type="text"> 
				1925                                    CÁC TIN KHÁC 
				1926                                </p> 
				1927                            </a> 
				1928                            <div class="spotlight-x" style=" 
				1929width:18%; 
				1930position: absolute; 
				1931bottom: 0; 
				1932left: 0; 
				1933z-index: 2; 
				1934display: block; 
				1935                                "> 
				1936                                <div class="d-flex orange-line"> 
				1937                                    <div class="line-blue"></div> 
				1938                                </div> 
				1939                            </div> 
				1940                            <div class="line-tail-chitiet position-absolute"></div> 
				1941                        </div> 
				1942                    </div> 
				1943 
				1944 
				1945                    <div class="col-lg-12 col-xl-12 mb-4 px-lg-0 px-3"> 
				1946                        <#if teste?has_content> 
				1947                            <div class="row"> 
				1948                                <#assign indexLocal = 0/> 
				1949                                <#assign 
				1950                                isSpecialSite = getterUtil.getBoolean(themeDisplay.getThemeSetting("isSpecialSite")) 
				1951                                /> 
				1952                                <#list teste?filter(curEntryyy -> curEntryyy.getEntryId() != currentArticleAssetEntry.getEntryId()) as  curEntryyy> 
				1953                                    <#if curEntryyy?? && curEntryyy.getAssetRenderer()??> 
				1954                                        <#assign 
				1955                                        renderer = curEntryyy.getAssetRenderer() 
				1956                                        className = renderer.getClassName()!"" /> 
				1957                                        <#if className == "com.liferay.journal.model.JournalArticle" && indexLocal < 6> 
				1958                                            <#assign 
				1959                                            title = curEntryyy.getTitle(locale)!"" 
				1960                                            article = renderer.getArticle() 
				1961                                            SmallImageID  = article.getSmallImageId() 
				1962                                            SmallImage  = article.getSmallImageURL() 
				1963                                            viewCount = curEntryyy.getViewCount() 
				1964                                            <#--SmallImageID = article.getSmallImageId()!0 
				1965                                            SmallImage = article.getSmallImageURL()!""--> 
				1966                                            description = article.getDescription(locale)!"" 
				1967                                            curEntryyy = curEntryyy 
				1968                                            viewURL = "${themeDisplay.getPathFriendlyURLPublic()}${themeDisplay.getSiteGroup().getFriendlyURL()}/-/${renderer.getUrlTitle()}" 
				1969                                            <#--                                            viewURL = (themeDisplay.getPathFriendlyURLPublic())!"" + (themeDisplay.getSiteGroup().getFriendlyURL())!"" + "/-/" + (renderer.getUrlTitle())!""--> 
				1970                                            hasMatch = false /> 
				1971                                            <#if isSpecialSite?? && isSpecialSite?c == "true"> 
				1972                                                <#assign currentUrl = themeDisplay.getURLCurrent()!"" /> 
				1973                                                <#if currentUrl?has_content> 
				1974                                                    <#assign parts_split = currentUrl?split("/")> 
				1975                                                    <#assign aidx = parts_split?seq_index_of("asset_publisher")> 
				1976                                                    <#if aidx != -1 && (parts_split?size > (aidx + 1))> 
				1977                                                        <#assign portletKey = parts_split[aidx + 1]> 
				1978                                                    <#else> 
				1979                                                        <#if rvlr??> 
				1980                                                            <#assign portletKey = rvlr> 
				1981                                                        <#else> 
				1982                                                            <#assign portletKey = "default_portlet_key"> 
				1983                                                        </#if> 
				1984                                                    </#if> 
				1985 
				1986                                                <#--                                                    <#if renderer?? && renderer.getUrlTitle()??>--> 
				1987                                                <#--                                                        <#assign viewURL = "${themeDisplay.getPathFriendlyURLPublic()!}${themeDisplay.getSiteGroup().getFriendlyURL()!}/chi-tiet/-/asset_publisher/${portletKey}/content/${renderer.getUrlTitle()}/39403" />--> 
				1988                                                <#--                                                    <#else>--> 
				1989                                                <#--                                                        <#assign viewURL = "#" />--> 
				1990                                                <#--                                                    </#if>--> 
				1991                                                </#if> 
				1992                                            </#if> 
				1993                                            <#list curEntryyy.getCategories() as categoryList> 
				1994                                                <#list currentArticleAssetEntry.getCategories() as cateId> 
				1995                                                    <#if categoryList.getCategoryId() == cateId.getCategoryId()> 
				1996                                                        <#assign hasMatch = true /> 
				1997                                                        <#break /> 
				1998                                                    </#if> 
				1999                                                </#list> 
				2000                                                <#if hasMatch> 
				2001                                                    <#break /> 
				2002                                                </#if> 
				2003                                            </#list> 
				2004                                            <#if hasMatch> 
				2005                                                <#if SmallImage ?? && SmallImage?length !=0 > 
				2006                                                    <#assign smallImageUrl = SmallImage> 
				2007                                                <#elseif SmallImageID ?? && SmallImageID != 0> 
				2008                                                    <#assign smallImageUrl = "/image/journal/article?img_id=${article.getSmallImageId()}"> 
				2009                                                <#else> 
				2010                                                    <#assign smallImageUrl = "/documents/37638/0/ảnh-đại-diện-đà-nẵng-01.jpg" > 
				2011                                                </#if> 
				2012                                                <div class="col-6 col-lg-4 item-small-news mb-2 px-1 px-lg-3"> 
				2013                                                    <a class="inner-bg-gray" href="${viewURL}" title="${title}"> 
				2014                                                        <div class="row"> 
				2015                                                            <div class="col-12"> 
				2016                                                                <div class="tin-nho-block11 position-relative" > 
				2017                                                                    <img src="${smallImageUrl}" alt="" class="img-nho-block11 img-lo57" onerror="this.onerror=null; this.src='/documents/37638/0/ảnh-đại-diện-đà-nẵng-01.jpg';"> 
				2018                                                                    <div class="p-2 p-lg-3 title-tin-nho-block11"> 
				2019                                                                        ${title} 
				2020                                                                    </div> 
				2021                                                                    <div class="under-ws position-absolute"></div> 
				2022                                                                </div> 
				2023                                                            </div> 
				2024                                                        </div> 
				2025                                                    </a> 
				2026                                                </div> 
				2027                                                <#assign indexLocal = indexLocal + 1 /> 
				2028                                            </#if> 
				2029                                        </#if> 
				2030                                    </#if> 
				2031                                </#list> 
				2032                            </div> 
				2033                        </#if> 
				2034                    </div> 
				2035                </div> 
				2036 
				2037 
				2038                <div class="tin-doc-nhieu-nhat"> 
				2039                    <div class="position-relative d-flex flex-column mb-3" > 
				2040                        <div class="title-ccni" style="width: fit-content"> 
				2041                            <a class="d-flex align-items-center" style="margin-bottom: 10px"> 
				2042                                <p class="mb-0" data-lfr-editable-id="element-text" data-lfr-editable-type="text"> 
				2043                                    TIN ĐỌC NHIỀU 
				2044                                </p> 
				2045                            </a> 
				2046                            <div class="spotlight-x" style=" 
				2047width:18%; 
				2048position: absolute; 
				2049bottom: 0; 
				2050left: 0; 
				2051z-index: 2; 
				2052display: block; 
				2053                                "> 
				2054                                <div class="d-flex orange-line"> 
				2055                                    <div class="line-blue"></div> 
				2056                                </div> 
				2057                            </div> 
				2058                            <div class="line-tail-chitiet position-absolute"></div> 
				2059                        </div> 
				2060                    </div> 
				2061                    <div class=" p-0 scroll-divv news-container-pvm "> 
				2062                        <#if teste?has_content> 
				2063                            <div class=" news-item-pvm mg-b-24"> 
				2064                                <#assign indexLocal = 0/> 
				2065                                <#assign 
				2066                                isSpecialSite = getterUtil.getBoolean(themeDisplay.getThemeSetting("isSpecialSite")) 
				2067                                /> 
				2068                                <#assign sortedEntries = teste?sort_by("viewCount")?reverse /> 
				2069                                <#list sortedEntries?filter(curEntryyy -> curEntryyy.getEntryId() != currentArticleAssetEntry.getEntryId()) as  curEntryyy> 
				2070                                    <#if curEntryyy?? && curEntryyy.getAssetRenderer()??> 
				2071                                        <#assign 
				2072                                        renderer = curEntryyy.getAssetRenderer() 
				2073                                        className = renderer.getClassName()!"" /> 
				2074                                        <#if className == "com.liferay.journal.model.JournalArticle" && indexLocal < 5> 
				2075                                            <#assign 
				2076                                            title = curEntryyy.getTitle(locale)!"" 
				2077                                            article = renderer.getArticle() 
				2078                                            SmallImageID  = article.getSmallImageId() 
				2079                                            SmallImage  = article.getSmallImageURL() 
				2080                                            <#--SmallImageID = article.getSmallImageId()!0 
				2081                                            SmallImage = article.getSmallImageURL()!""--> 
				2082                                            description = article.getDescription(locale)!"" 
				2083                                            curEntryyy = curEntryyy 
				2084                                            countView = curEntryyy.getViewCount() 
				2085                                            viewURL = "${themeDisplay.getPathFriendlyURLPublic()}${themeDisplay.getSiteGroup().getFriendlyURL()}/-/${renderer.getUrlTitle()}" 
				2086                                            hasMatch = false /> 
				2087                                            <#if isSpecialSite?? && isSpecialSite?c == "true"> 
				2088                                                <#assign currentUrl = themeDisplay.getURLCurrent()!"" /> 
				2089                                                <#if currentUrl?has_content> 
				2090                                                    <#assign parts_split = currentUrl?split("/")> 
				2091                                                    <#assign aidx = parts_split?seq_index_of("asset_publisher")> 
				2092                                                    <#if aidx != -1 && (parts_split?size > (aidx + 1))> 
				2093                                                        <#assign portletKey = parts_split[aidx + 1]> 
				2094                                                    <#else> 
				2095                                                        <#if rvlr??> 
				2096                                                            <#assign portletKey = rvlr> 
				2097                                                        <#else> 
				2098                                                            <#assign portletKey = "default_portlet_key"> 
				2099                                                        </#if> 
				2100                                                    </#if> 
				2101                                                </#if> 
				2102                                            </#if> 
				2103                                            <#list curEntryyy.getCategories() as categoryList> 
				2104                                                <#list currentArticleAssetEntry.getCategories() as cateId> 
				2105                                                    <#if categoryList.getCategoryId() == cateId.getCategoryId()> 
				2106                                                        <#assign hasMatch = true /> 
				2107                                                        <#break /> 
				2108                                                    </#if> 
				2109                                                </#list> 
				2110                                                <#if hasMatch> 
				2111                                                    <#break /> 
				2112                                                </#if> 
				2113                                            </#list> 
				2114                                            <#if hasMatch> 
				2115                                                <#if SmallImage ?? && SmallImage?length !=0 > 
				2116                                                    <#assign smallImageUrl = SmallImage> 
				2117                                                <#elseif SmallImageID ?? && SmallImageID != 0> 
				2118                                                    <#assign smallImageUrl = "/image/journal/article?img_id=${SmallImageID}"> 
				2119                                                <#else> 
				2120                                                    <#assign smallImageUrl = "/documents/37638/0/ảnh-đại-diện-đà-nẵng-01.jpg" > 
				2121                                                </#if> 
				2122                                                <span class="abcd" style="display:none;">${article}</span> 
				2123                                                <a href="${viewURL}" class=" w-100 same-height"> 
				2124                                                    <div class="row"> 
				2125                                                        <div class="col-12 col-md-4 pr-0 img-hdk-ct"> 
				2126                                                            <img id="tin-slide-img-left" 
				2127                                                                 class=" tin-slide-img-left img-tin-hd-khac" 
				2128                                                                 onerror="this.onerror=null; this.src='/documents/37638/0/ảnh-đại-diện-đà-nẵng-01.jpg';" 
				2129                                                                 src="${smallImageUrl}" alt=""> 
				2130                                                        </div> 
				2131                                                        <div class="col-12 col-md-8 limit-tin-desc-news-3 p-0 pr-md-3 title-tin-hd-khac"> 
				2132                                                            <div class="hoat-dong-khac-tin-khac hd-khac-tin-nho d-flex flex-column align-items-start" style="gap: 8px;"> 
				2133                                                                <div class="limit-tin-desc-2 main-color-pct-tin-khac"> 
				2134                                                                    <p class="makeshortnews asset-publisher-title mb-0 limit-tin-desc-2 limit-3-lines" title="${title}">${title}</p> 
				2135                                                                </div> 
				2136                                                                <div class="text-left align-items-start top-0 limit-tin-descc-news limit-5-lines-desc description-color d-mobile-none"><p title="${htmlUtil.extractText(description)}">${htmlUtil.extractText(description)}</p></div> 
				2137                                                            </div> 
				2138                                                        </div> 
				2139                                                    </div> 
				2140                                                </a> 
				2141                                                <#assign indexLocal = indexLocal + 1 /> 
				2142                                            </#if> 
				2143                                        </#if> 
				2144                                    </#if> 
				2145                                </#list> 
				2146                            </div> 
				2147                        </#if> 
				2148 
				2149 
				2150                        <script> 
				2151                            $(document).ready(function () { 
				2152                                //load lần đầu lấy 3 comments 
				2153                                getFeedback(3); 
				2154 
				2155 
				2156                                let stars = document.querySelectorAll(".ratings span"); 
				2157                                let products = document.querySelectorAll(".ratings"); 
				2158                                let ratings = []; 
				2159 
				2160                                for (let star of stars) { 
				2161                                    star.addEventListener("click", function () { 
				2162                                        let children = star.parentElement.children; 
				2163                                        for (let child of children) { 
				2164                                            if (child.getAttribute("data-clicked")) { 
				2165                                                return false; 
				2166                                            } 
				2167                                        } 
				2168 
				2169                                        this.setAttribute("data-clicked", "true"); 
				2170                                        let rating = this.dataset.rating; 
				2171                                        let productId = this.parentElement.dataset.productid; 
				2172                                        let data = { 
				2173                                            "rating": rating, 
				2174                                            "product-id": productId, 
				2175                                        } 
				2176                                        ratings.push(data); 
				2177                                        localStorage.setItem("rating", JSON.stringify(ratings)); 
				2178                                    }); 
				2179                                } 
				2180 
				2181                                if (localStorage.getItem("rating")) { 
				2182                                    ratings = JSON.parse(localStorage.getItem("rating")); 
				2183                                    for (let rating of ratings) { 
				2184                                        for (let product of products) { 
				2185                                            if (rating["product-id"] == product.dataset.productid) { 
				2186                                                let reverse = Array.from(product.children).reverse(); 
				2187                                                let index = parseInt(rating["rating"]) - 1; 
				2188                                                reverse[index].setAttribute("data-clicked", "true"); 
				2189                                            } 
				2190                                        } 
				2191                                    } 
				2192                                } 
				2193                            }); 
				2194 
				2195 
				2196 
				2197                            function submitUserForm() { 
				2198                                var response = grecaptcha.getResponse(); 
				2199                                if (response.length == 0) { 
				2200                                    $("#g-recaptcha-error").html("<span style='color:red;'>This field is required.</span>"); 
				2201                                    return false; 
				2202                                } 
				2203                                return true; 
				2204                            }; 
				2205                            function verifyCaptcha() { 
				2206                                $("#g-recaptcha-error").html(""); 
				2207                            } 
				2208 
				2209                            function sendFeedback() { 
				2210                                event.preventDefault(); 
				2211                                let isValid = true; 
				2212                                let btn = $(".btnsend"); 
				2213                                if (btn.prop("disabled")) return; 
				2214                                btn.prop("disabled", true); 
				2215                                /*var response = grecaptcha.getResponse(); 
				2216                                if (response.length == 0) { 
				2217                                    $("#g-recaptcha-error").html("<span style='color:red;'>This field is required.</span>"); 
				2218                                    return false; 
				2219                                }*/ 
				2220                                $('[required]').each(function () { 
				2221                                    let fieldTitle = $(this).attr('title'); 
				2222                                    if ($(this).val().toString().trim().length == 0) { 
				2223                                        isValid = false; 
				2224                                        btn.prop("disabled", false); 
				2225                                        Swal.fire({ 
				2226                                            title: "Vui lòng nhập thông tin", 
				2227                                            icon: "error", 
				2228                                        }) 
				2229                                        return false; 
				2230                                    } else if ($(this).attr("regex") != undefined) { 
				2231                                        let regex = new RegExp($(this).attr('regex')); 
				2232                                        if (!regex.test($(this).val())) { 
				2233                                            isValid = false; 
				2234                                            btn.prop("disabled", false); 
				2235                                            Swal.fire({ 
				2236                                                title: "Vui lòng nhập đúng định dạng", 
				2237                                                icon: "error", 
				2238                                            }) 
				2239                                            return false; 
				2240                                        } 
				2241 
				2242                                    } 
				2243                                }); 
				2244                                if (!isValid) { 
				2245                                    btn.prop("disabled", false); 
				2246                                    return false; 
				2247                                } 
				2248                                fetch('https://api.ipify.org?format=json') 
				2249                                    .then(response => response.json()) 
				2250                                    .then(data => { 
				2251                                        const ipAddress = data.ip; 
				2252                                        const articleId = $('#articleWrapper').data('article-id'); 
				2253                                        const title = $('#articleWrapper').data('article-title'); 
				2254                                        const author = $('#articleWrapper').data('article-author'); 
				2255                                        const groupId = $('#articleWrapper').data('group-id'); 
				2256                                        const urlArticle = $('#articleWrapper').data('url-title'); 
				2257                                        const param = JSON.stringify({ 
				2258                                            baiVietId: articleId, 
				2259                                            noiDung: $("#commentContent").val(), 
				2260                                            ten: $("#commentName").val(), 
				2261                                            mail: $("#email").val(), 
				2262                                            soDienThoai: $("#soDienThoai").val(), 
				2263                                            tieuDeBaiViet: title, 
				2264                                            tenTacGia: author, 
				2265                                            ipNguoiDung: ipAddress, 
				2266                                            groupId : groupId, 
				2267                                            urlBaiViet: urlArticle 
				2268                                        }); 
				2269                                        $.ajax({ 
				2270                                            url: location.origin+'/api/v1/public/tuongtacbaiviet/themBinhLuan', 
				2271                                            type: 'POST', 
				2272                                            cache: false, 
				2273                                            dataType:"json", 
				2274                                            contentType:"application/json", 
				2275                                            data:param, 
				2276                                            /*data: { 
				2277                                                baiVietId: '${currentArticle.id}', 
				2278        noiDung: $("#commentContent").val(), 
				2279        ten: $("#commentName").val(), 
				2280        mail: $("#email").val(), 
				2281        soDienThoai: $("#soDienThoai").val(), 
				2282        tieuDeBaiViet: '${currentArticle.title}', 
				2283        tenTacGia: '${currentArticle.userName}', 
				2284    },*/ 
				2285 
				2286                                            success: function () { 
				2287                                                $("#customSuccessPopupOverlay").removeClass("d-none"); 
				2288 
				2289                                                $("#commentContent").val(''); 
				2290                                                $("#commentName").val(''); 
				2291                                                $("#email").val(''); 
				2292                                                $("#soDienThoai").val(''); 
				2293                                                btn.prop("disabled", false); 
				2294                                                setTimeout(function () { 
				2295                                                    $("#customSuccessPopupOverlay").addClass("d-none"); 
				2296                                                }, 3000); 
				2297                                            }, 
				2298                                            error: function (er) { 
				2299                                                btn.prop("disabled", false); 
				2300                                                Swal.fire({ 
				2301                                                    title: "Thực hiện không thành công", 
				2302                                                    text: 'Gửi bình luận thất bại', 
				2303                                                    icon: "error", 
				2304                                                }) 
				2305                                            } 
				2306                                        });}) 
				2307                                    .catch(error => { 
				2308                                        btn.prop("disabled", false); 
				2309                                        Swal.fire({ 
				2310                                            title: "Thực hiện không thành công", 
				2311                                            text: 'Gửi bình luận thất bại', 
				2312                                            icon: "error", 
				2313                                        }) 
				2314                                    }); 
				2315                            } 
				2316                            $(document).ready(function () { 
				2317                                $("#customSuccessPopupOverlay").on("click", function () { 
				2318                                    $(this).addClass("d-none"); 
				2319                                }); 
				2320 
				2321                                $(".custom-popup-ykien-binhluan").on("click", function (e) { 
				2322                                    e.stopPropagation(); 
				2323                                }); 
				2324                            }); 
				2325                            function getFeedback(sizecmt) { 
				2326                                $('#comment-list').empty(); 
				2327                                const param = JSON.stringify({ 
				2328                                    baiVietId: '${currentArticle.id}' 
				2329                                }); 
				2330                                $.ajax({ 
				2331                                    url: location.origin+'/api/v1/public/tuongtacbaiviet/truyCapBaiViet', 
				2332                                    type: 'POST', 
				2333                                    cache : false, 
				2334                                    dataType:"json", 
				2335                                    contentType:"application/json", 
				2336                                    data: param, 
				2337                                }).done(function (data) { 
				2338 
				2339                                    console.log(data) 
				2340                                    var dsBinhLuan = data.msg.thongTinBinhLuans; 
				2341                                    var count = data.msg.thongTinBinhLuans.length; 
				2342                                    var htmlYKien = ''; 
				2343                                    if (dsBinhLuan.length > 0) { 
				2344                                        $('#binhLuanMacDinh').empty(); 
				2345                                        // htmlYKien += '<h2 class="botting-border"><span class="text-border">Bình luận, ý kiến của bạn đọc (' + count + ')</span></h2>'; 
				2346                                        for (var i = 0; i < dsBinhLuan.length; i++) { 
				2347                                            var obj = dsBinhLuan[i]; 
				2348                                            htmlYKien += '<div class="item box_cm">'; 
				2349                                            htmlYKien += '<a href="javascript:void(0)" class="avatar">\n' + 
				2350                                                '    <img src="${images_folder}/icons/iconuser.png" class="img-binhluan">\n' + 
				2351                                                '</a>'; 
				2352                                            htmlYKien += '<div class="item-content">'; 
				2353                                            htmlYKien += '<span class="user-name">' + obj.ten + '</span>' + ' <span class="date-cmt">' + obj.thoiGianBinhLuan + '</span></br>'; 
				2354                                            htmlYKien += '<span class="text-comment">' + obj.noiDungHienThi + '</span>'; 
				2355                                            htmlYKien += '</div>'; 
				2356                                            htmlYKien += '</div>'; 
				2357                                        } 
				2358                                        if (count > sizecmt) { 
				2359                                            htmlYKien += '<div class="text-center">\n' + 
				2360                                                '<button type="submit" class="btnmorecmt" onclick="getFeedback(' + (sizecmt + 10) + ')" >Xem thêm bình luận, ý kiến\n' + 
				2361                                                '</button>\n' + 
				2362                                                '</div>'; 
				2363                                        } 
				2364                                        $('#comment-list').append(htmlYKien); 
				2365                                    } 
				2366                                    ; 
				2367                                }); 
				2368                            } 
				2369                        </script> 
				2370                        <script src="https://sp.zalo.me/plugins/sdk.js"></script> 
				2371                        <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> 
				2372                        <script src="https://code.responsivevoice.org/responsivevoice.js?key=25hFfRt0"></script> 
				2373                        <script async defer crossorigin="anonymous" src="https://connect.facebook.net/vi_VN/sdk.js#xfbml=1&version=v17.0" 
				2374                                nonce="vuMxJ4dq"></script> 
				2375                        <script src="https://www.google.com/recaptcha/api.js" async defer></script> 
				2376 
				2377 
				2378                        <#macro getMetadataField 
				2379                        fieldName 
				2380                        > 
				2381                            <#if stringUtil.split(metadataFields)?seq_contains(fieldName)> 
				2382                                <span class="metadata-entry metadata-${fieldName}"> 
				2383 			<#assign dateFormat = "dd MMM yyyy - HH:mm:ss" /> 
				2384 
				2385                                    <#if stringUtil.equals(fieldName, "author")> 
				2386                                        <@liferay.language key="by" /> ${htmlUtil.escape(portalUtil.getUserName(assetRenderer.getUserId(), assetRenderer.getUserName()))} 
				2387                                    <#elseif stringUtil.equals(fieldName, "categories")> 
				2388                                        <@liferay_asset["asset-categories-summary"] 
				2389                                        className=curEntry.getClassName() 
				2390                                        classPK=curEntry.getClassPK() 
				2391                                        portletURL=renderResponse.createRenderURL() 
				2392                                        /> 
				2393                                    <#elseif stringUtil.equals(fieldName, "create-date")> 
				2394                                        ${dateUtil.getDate(curEntry.getCreateDate(), dateFormat, locale)} 
				2395                                    <#elseif stringUtil.equals(fieldName, "expiration-date")> 
				2396                                        ${dateUtil.getDate(curEntry.getExpirationDate(), dateFormat, locale)} 
				2397                                    <#elseif stringUtil.equals(fieldName, "modified-date")> 
				2398                                        ${dateUtil.getDate(curEntry.getModifiedDate(), dateFormat, locale)} 
				2399                                    <#elseif stringUtil.equals(fieldName, "priority")> 
				2400                                        ${curEntry.getPriority()} 
				2401                                    <#elseif stringUtil.equals(fieldName, "publish-date")> 
				2402                                        ${dateUtil.getDate(curEntry.getPublishDate(), dateFormat, locale)} 
				2403                                    <#elseif stringUtil.equals(fieldName, "tags")> 
				2404                                        <@liferay_asset["asset-tags-summary"] 
				2405                                        className=curEntry.getClassName() 
				2406                                        classPK=curEntry.getClassPK() 
				2407                                        portletURL=renderResponse.createRenderURL() 
				2408                                        /> 
				2409                                    <#elseif stringUtil.equals(fieldName, "view-count")> 
				2410                                        ${curEntry.getViewCount()} 
				2411                                    </#if> 
				2412</span> 
				2413                            </#if> 
				2414                        </#macro> 
				2415 
				2416                        <script> 
				2417                            $(document).ready(function() { 
				2418                                function getCleanUrl(url) { 
				2419                                    if(!url) return ""; 
				2420 
				2421                                    // Xử lý trường hợp URL có phần /ID và tham số query 
				2422                                    var match = url.match(/(.+\.mp4)\/[^\/]+(\?.*)?$/); 
				2423                                    if(match) { 
				2424                                        return match[1]; 
				2425                                    } 
				2426 
				2427                                    // Trường hợp URL chỉ có .mp4 và tham số query 
				2428                                    var queryIndex = url.indexOf('?'); 
				2429                                    if(queryIndex !== -1 && url.indexOf('.mp4') < queryIndex) { 
				2430                                        return url.substring(0, queryIndex); 
				2431                                    } 
				2432 
				2433                                    // Trường hợp URL chỉ kết thúc với .mp4 
				2434                                    var mp4Index = url.indexOf('.mp4'); 
				2435                                    if(mp4Index !== -1) { 
				2436                                        return url.substring(0, mp4Index + 4); 
				2437                                    } 
				2438 
				2439                                    return url; 
				2440                                } 
				2441 
				2442                                function processVideo(videoElement) { 
				2443                                    try { 
				2444                                        // Xử lý source trong video 
				2445                                        var sourceElements = videoElement.find("source"); 
				2446                                        if(sourceElements.length > 0) { 
				2447                                            sourceElements.each(function() { 
				2448                                                var sourceUrl = $(this).attr("src"); 
				2449                                                if(sourceUrl) { 
				2450                                                    var cleanSourceUrl = getCleanUrl(sourceUrl); 
				2451                                                    $(this).attr("src", cleanSourceUrl); 
				2452                                                    // Sửa lỗi type có dấu chấm phẩy 
				2453                                                    var type = $(this).attr("type"); 
				2454                                                    if(type && type.endsWith(';')) { 
				2455                                                        $(this).attr("type", type.slice(0, -1)); 
				2456                                                    } 
				2457                                                } 
				2458                                            }); 
				2459                                        } else { 
				2460                                            // Xử lý trường hợp video không có thẻ source 
				2461                                            var videoSrc = videoElement.attr("src"); 
				2462                                            if(videoSrc) { 
				2463                                                var cleanVideoSrc = getCleanUrl(videoSrc); 
				2464                                                videoElement.attr("src", cleanVideoSrc); 
				2465                                            } 
				2466                                        } 
				2467 
				2468                                        // Xử lý poster 
				2469                                        var posterUrl = videoElement.attr("poster"); 
				2470                                        if(posterUrl) { 
				2471                                            var cleanPosterUrl = getCleanUrl(posterUrl); 
				2472                                            videoElement.attr("poster", cleanPosterUrl); 
				2473                                        } 
				2474 
				2475                                        // Tải lại video 
				2476                                        if(videoElement[0]) { 
				2477                                            videoElement[0].load(); 
				2478                                        } 
				2479                                    } catch(e) { 
				2480                                        console.error("Lỗi khi xử lý video:", e); 
				2481                                    } 
				2482                                } 
				2483 
				2484                                function processAllVideos() { 
				2485 
				2486 
				2487                                    // Xử lý video trong contentText 
				2488                                    if($("#contentText").length) { 
				2489                                        $("#contentText video").each(function() { 
				2490                                            processVideo($(this)); 
				2491                                        }); 
				2492                                    } 
				2493 
				2494                                    // Xử lý video trong liferayckevideo 
				2495                                    $(".liferayckevideo").each(function() { 
				2496                                        var container = $(this); 
				2497                                        var video = container.find("video"); 
				2498                                        if(video.length > 0) { 
				2499                                            processVideo(video); 
				2500                                        } 
				2501                                    }); 
				2502 
				2503                                    // Xử lý tất cả video còn lại 
				2504                                    $("video").each(function() { 
				2505                                        processVideo($(this)); 
				2506                                    }); 
				2507                                } 
				2508 
				2509                                // Chạy xử lý ngay lập tức 
				2510                                processAllVideos(); 
				2511 
				2512                                // Chạy lại sau 1 giây để đảm bảo xử lý các video được thêm sau 
				2513                                setTimeout(processAllVideos, 1000); 
				2514 
				2515                                // Chạy lại sau 3 giây để đảm bảo xử lý các video được tải chậm 
				2516                                setTimeout(processAllVideos, 3000); 
				2517 
				2518                                // Theo dõi thay đổi DOM để xử lý video mới được thêm vào 
				2519                                if(window.MutationObserver) { 
				2520                                    var observer = new MutationObserver(function(mutations) { 
				2521                                        var needsProcessing = false; 
				2522                                        mutations.forEach(function(mutation) { 
				2523                                            if(mutation.addedNodes.length) { 
				2524                                                needsProcessing = true; 
				2525                                            } 
				2526                                        }); 
				2527 
				2528                                        if(needsProcessing) { 
				2529                                            processAllVideos(); 
				2530                                            addPlayButtonsToVideos(); 
				2531                                        } 
				2532                                    }); 
				2533 
				2534                                    observer.observe(document.body, { 
				2535                                        childList: true, 
				2536                                        subtree: true 
				2537                                    }); 
				2538                                } 
				2539 
				2540                                // Hàm thêm nút play cho video 
				2541                                function addPlayButtonsToVideos() { 
				2542                                    $('.liferayckevideo.video-container').each(function() { 
				2543                                        var container = $(this); 
				2544                                        var video = container.find('video'); 
				2545 
				2546                                        // Kiểm tra xem đã có nút play chưa 
				2547                                        if (container.find('.video-play-button').length === 0 && video.length > 0) { 
				2548                                            // Tạo nút play 
				2549                                            var playButton = $('<div class="video-play-button" title="Phát video"></div>'); 
				2550                                            container.append(playButton); 
				2551 
				2552                                            // Xử lý sự kiện click 
				2553                                            playButton.on('click', function() { 
				2554                                                var videoElement = video[0]; 
				2555                                                if (videoElement) { 
				2556                                                    videoElement.play(); 
				2557                                                    $(this).addClass('playing'); 
				2558                                                } 
				2559                                            }); 
				2560 
				2561                                            // Ẩn nút play khi video đang phát 
				2562                                            video.on('play', function() { 
				2563                                                playButton.addClass('playing'); 
				2564                                            }); 
				2565 
				2566                                            // Hiển thị lại nút play khi video dừng 
				2567                                            video.on('pause ended', function() { 
				2568                                                playButton.removeClass('playing'); 
				2569                                            }); 
				2570                                        } 
				2571                                    }); 
				2572                                } 
				2573 
				2574                                // Chạy hàm thêm nút play ngay lập tức 
				2575                                addPlayButtonsToVideos(); 
				2576 
				2577                                // Chạy lại sau 1 giây 
				2578                                setTimeout(addPlayButtonsToVideos, 1000); 
				2579 
				2580                                // Chạy lại sau 3 giây 
				2581                                setTimeout(addPlayButtonsToVideos, 3000); 
				2582                            }); 
				2583                        </script> 
		Lịch công tác tuần 31 năm 2025 của Lãnh đạo UBND thành phố
07:30 | 28/07/2025
Lịch công tác tuần 30 năm 2025 của Lãnh đạo UBND thành phố
08:01 | 21/07/2025
Lịch công tác tuần 29 năm 2025 của Lãnh đạo UBND thành phố
07:52 | 14/07/2025
Lịch công tác tuần 28 năm 2025 của Lãnh đạo UBND thành phố
07:27 | 07/07/2025
Lịch công tác tuần 27 năm 2025 của Lãnh đạo UBND thành phố
07:39 | 30/06/2025
LIÊN KẾT WEBSITE
						
