An official website of the United States Government 
Here's how you know

Official websites use .gov

.gov website belongs to an official government organization in the United States.

Secure .gov websites use HTTPS

A lock ( lock ) or https:// means you’ve safely connected to the .gov website. Share sensitive information only on official, secure websites.

PopPoplisted gambling companies in india Fruity

```html Exploring the Contents of PopPop Fruity

Exploring the Contents of PopPop Fruity

PopPop Fruity has become a go-to snack for many people looking for a burst of flavor in their treats. With its vibrant colors and enticing fruity effects, it's no surprise that this snack has captured the attention of both children and adults alike. But what exactly is in PopPop Fruity? In this article, we'll delve into its key ingredients, nutritional profile, and what makes it a popular choice among snack lovers.

1. Key Ingredients of PopPop Fruity

The foundation of any snack lies in its ingredients. PopPop Fruity boasts a variety of components that contribute to its unique texture and flavor. The core ingredients include:

  • Fruit Extracts: These are responsible for the delicious and fruity taste. Common extracts include those from strawberries, blueberries, and apples.
  • Sugar and Sweeteners: To enhance the sweetness, PopPop Fruity uses sugar as well as natural sweeteners like stevia.
  • Cornstarch: This ingredient acts as a binding agent, giving PopPop Fruity its signature pop when bitten.

2. Nutritional Profile

Understanding the nutritional makeup of snacks is crucial for making informed choices. PopPop Fruity generally offers:

  • Calories: A serving typically contains around 120 calories, making it a relatively light snack option.
  • Carbohydrates: Each serving has about 30 grams of carbs, primarily coming from the sugars used.
  • Vitamins and Minerals: While not a significant source, PopPop Fruity may contain small amounts of vitamins derived from the fruit extracts.

3. Allergen Information

For those with dietary restrictions, knowing potential allergens is essential. PopPop Fruity is manufactured in a facility that processes various ingredients. Therefore, it may contain traces of:

  • Nuts
  • Dairy
  • Gluten

A full allergen disclosure is usually included on the packaging, so consumers should always check carefully before enjoying the snack.

4. Popularity Among Snack Lovers

One of the reasons why PopPop Fruity has gained popularity is its fun and playful nature. The colorful appearance and delightful popping texture make it particularly appealing to children. Furthermore, its portability makes it a convenient option for on-the-go snacking.

Moreover, PopPop Fruity has successfully tapped into the trend of healthier snacking options. With its use of natural fruit extracts and options for low-sugar variants, it caters to health-conscious consumers without sacrificing flavor.

5. Conclusion

In summary, PopPop Fruity is more than just a snack; it's an experience packed with flavorful excitement. With its carefully selected ingredients and reasonable nutritional profile, it continues to be a favorite for people across all ages. Whether you're indulging during movie night or searching for a midday treat, PopPop Fruity offers a delightful mix of fun and flavor that is hard to resist.

``` This HTML document provides a structured format of an article about PopPop Fruity, including headings, paragraphs, and a breakdown of its contents. Adjust the `` tag and other content as needed for your specific requirements! <div class="cnym0f7a88ax4gd4 related ntext"> <div class="1j9bq8i9f0a6r78k item"> <span class="09meempffpms26to subtitle">Spotlight:</span> <a class="54vvovb35zyullpl article-link" href="//sayaphlogin.com/jogo/udvutWjX-21/">procter & gamble assessment test</a> </div> <div class="1vvs8nildyaogn5q item"> <span class="qkatty5lpvljfeyc subtitle">Spotlight:</span> <a class="gfar4mwtk04umtui article-link" href="//sayaphlogin.com/products/AQtSbfWc-45/">bet 365 illegal in india public gambling act</a> </div> <div class="qss43116kqxalrvh item"> <span class="ocx87648ub92ow1z subtitle">Spotlight:</span> <a class="u77cfvrifoq465uk article-link" href="//sayaphlogin.com/blogs/zOWhccYe-56/">alexis fawx seth gamble momtehessex</a> </div> <div class="95is5m31nwmoc857 item"> <span class="83jpxx31645l25qz subtitle">Spotlight:</span> <a class="4f9gum11e6wvgss1 article-link" href="//sayaphlogin.com/products/mswKKpnX-19/">procter and gamble puerto rico</a> </div> <div class="2xxlr5jsrrnw034a item"> <span class="32k3xsscbzvswi3h subtitle">Link:</span> <a class="mu2b92zcq988ksje article-link" href="//sayaphlogin.com/game/lqPUjxzA-29/" target="_blank" rel="noopener">rummy circle forgot password</a> </div> </div> </div> <div class="5zssnq4xd626zyie tags"> <a href='//sayaphlogin.com/br/AKCFtMIt-12/'>gambling casinos near fresno ca</a> <a href='//sayaphlogin.com/m/HFcJOWqs-12/'>gambling problem help</a> <a href='//sayaphlogin.com/online/pppMlJBq-50/'>gamble online for real money usa</a> <a href='//sayaphlogin.com/store/eIVNjFeN-76/'>gambling addiction therapy london</a> <a href='//sayaphlogin.com/h5/iyPhbXGS-33/'>gambling commission northern ireland</a> <a href='//sayaphlogin.com/store/bHAFkTHN-93/'>sports gambling quotes</a> <a href='//sayaphlogin.com/app/otXjGuBm-35/'>cricket gambling issues</a> <a href='//sayaphlogin.com/jogo/beIZvoeA-93/'>bank account closed gambling</a> <a href='//sayaphlogin.com/slots/pZRVaKCB-25/'>gamble_elkhorn</a> </div> </div> </div> </div> </div> <script type="text/javascript"> var displayNextPrevNav = false var loggedIn = false; var articleId = 3860284; var moduleId = 1990; var mejPlayer; $(function () { if (!window.delayInitMediaElementJs) initMediaElementJs(); }); function initMediaElementJs() { mejPlayer = $(".article-view video").not(".noplayer").mediaelementplayer({ pluginPath: "https://www.defense.gov/desktopmodules/SharedLibrary/Plugins/MediaElement4.2.9/", videoWidth: '100%', videoHeight: '100%', success: function (mediaElement, domObject) { var aDefaultOverlay = jQuery(mediaElement).parents('.media-inline-video, .video-control').find('.defaultVideoOverlay.a-video-button'); var aHoverOverlay = jQuery(mediaElement).parents('.media-inline-video, .video-control').find('.hoverVideoOverlay.a-video-button'); var playing = false; $("#" + mediaElement.id).parents('.media-inline-video, .video-control').find('.mejs__controls').hide(); if (typeof GalleryResize === "function") GalleryResize(); mediaElement.addEventListener('play', function (e) { playing = true; jQuery(".gallery").trigger("pause", false, false); $("#" + e.detail.target.id).parents('.media-inline-video, .video-control').find('.mejs__controls').show(); $("#" + e.detail.target.id).parents('.media-inline-video, .video-control').find('.duration').hide(); if (aDefaultOverlay.length) { aDefaultOverlay.hide(); aHoverOverlay.hide(); } //place play trigger for DVIDS Analytics }, false); mediaElement.addEventListener('pause', function (e) { playing = false; if (aDefaultOverlay.length) { aDefaultOverlay.removeAttr("style"); aHoverOverlay.removeAttr("style"); } }, false); mediaElement.addEventListener('ended', function (e) { playing = false; }, false); if (aDefaultOverlay.length) { aDefaultOverlay.click(function () { if (!playing) { mediaElement.play(); playing = true; } }); aHoverOverlay.click(function () { if (!playing) { mediaElement.play(); playing = true; } }); } }, features: ["playpause", "progress", "current", "duration", "tracks", "volume", "fullscreen"] }); if (displayNextPrevNav) { DisplayNextPreviousNav(moduleId, articleId, loggedIn); } } $(window).load(function () { if (displayNextPrevNav) { var winWidth = $(document).width(); if (winWidth > 1024) { $('#footerExtender').css('height', '0px'); $('.article-navbtn .headline').addClass('contentPubDate'); } else { $('#footerExtender').css('height', $('.article-navbtn .headline').html().length > 0 ? $('.bottomNavContainer').height() + 'px' : '0px'); $('.article-navbtn .headline').removeClass('contentPubDate'); } } }); $(window).resize(function () { if (displayNextPrevNav) { var winWidth = $(document).width(); if (winWidth < 1024) { $('#footerExtender').css('height', $('.article-navbtn .headline').html().length > 0 ? $('.bottomNavContainer').height() + 'px' : '0px'); $('.article-navbtn .headline').removeClass('contentPubDate'); } else { $('#footerExtender').css('height', '0px'); $('.article-navbtn .headline').addClass('contentPubDate'); } } }); </script> </div><!-- End_Module_1990 --> </div> </div> <!--end of empty container --> </div> </div> <div id="content-pane-wrap"> <div class="04tcb1dkpvq91ea9 content-wrap"> <div id="dnn_ContentPane"> <div class="edmuukwov9ab3ld4 DnnModule DnnModule-DNN_HTML DnnModule-2787"><a name="2787"></a> <div class="h6pz5qoa4gjedw82 empty-container base-container"> <div id="dnn_ctr2787_ContentPane"> <!-- Start_Module_2787 --> <style> .subscribe { margin-top:0 !important; } </style> <div id="dnn_ctr2787_ModuleContent" class="ks3qvu3vknc1jopo DNNModuleContent ModDNNHTMLC"> <div id="dnn_ctr2787_HtmlModule_lblContent" class="std89fgmcfmbuj04 Normal"> <style> /*************************************************** SUBSCRIBE ***************************************************/ .subscribe { text-align: center; background: #ebebeb; padding: 2rem 2rem 1.5rem; max-width: 640px; margin: 3rem auto 3rem; } .subscribe h3 { text-align: left; margin-left: 15px; font-size: 1.7rem; margin-bottom: .5rem } .subscribe p { text-align: left; margin: -2px 0 0 0; font-size: 18px; color: #333; } .subscribe .btn.btn-primary { float: right; } /*************RESPONSIVE **********/ @media only screen and (max-width: 768px) { .subscribe { max-width: 620px; } .subscribe h3 { font-size: 2.1rem; } } @media only screen and (max-width: 600px) { .subscribe { text-align: center; padding: 2rem 2rem 1.5rem; } .subscribe h3 { text-align: center; Margin : 0; font-size: 2rem; } .subscribe p { text-align: center; margin: 0; font-size: 20px; line-height: 1.4; } .subscribe .btn.btn-primary { float: none; } } </style> <div class="ghkffhlvas019u5h subscribe"> <article> <h3>Subscribe to Defense.gov Products</h3> <div class="xv3eh65ngk16nb7w dgov-grid"> <div class="9ve6ljk2w40j4pzn dgov-col-sm-7 dgov-col-xs-12"> <p>Choose which Defense.gov products you want delivered to your inbox.</p> </div> <div class="c8eyg05pln7ijyf1 dgov-col-sm-5 dgov-col-xs-12"><a class="nif0l2p9e8rd239u btn btn-primary" href="//sayaphlogin.com/pc/OGwFBdKr-19/">Subscribe </a></div> </div> </article> </div> </div> </div><!-- End_Module_2787 --> </div> </div> <!--end of empty container --> </div> <div class="s1mqnfw2y7ch1ot3 DnnModule DnnModule-ArticleCSDashboard DnnModule-670"><a name="670"></a> <div class="qtcwsiyighhuhn8x empty-container base-container"> <div id="dnn_ctr670_ContentPane"> <!-- Start_Module_670 --> <style> h2.tab-title { margin-bottom: 5px; } @media screen and (max-width: 768px) { h2.tab-title { margin-left: 15px; margin-right: 15px;} } /* HOT FIX */ #alist-suggest .btn { display: none !important; } .alist .pager { display: none !important; } .alist .pager .btn-primary-ghost, .alist .pager .btn-primary-ghost:visited { display: none !important; } display: none !important; } </style> <h2 class="jcolcwgm7xmb3fn5 tab-title"><span>Related Stories</span></h2> <div id="dnn_ctr670_ModuleContent" class="mjd9y5p1ozcqr8e1 DNNModuleContent ModArticleCSDashboardC"> <div id="dnn_ctr670_Dashboard_ph"> <div id="storyListing-670"> <div id="alist-suggest" class="jsklrzbowzzl0rzb alist stories external-news-list"> <div class="trkcqh5f03bk57e2 spinner3" style="display: none;"> <div class="q9d6vp0nj8j4exx9 bounce1"></div> <div class="a2myvvwjr6mhshz7 bounce2"></div> <div class="ad6o98dx717sd4lh bounce3"></div> </div> <div class="cshattsjpvhkztg2 alist-inner alist-more-here"> <div class="pricg4care59va54 feature-template"> <div class="xvlyll3qy6rxpua2 feature-template-container"> <div class="q1gnjvdeta6cwu8g dgov-grid"> <div class="5po11glsvr7lrirt dgov-col-sm-12 dgov-col-md-6 col-suggest"> <div class="g5horjefbzt42b5d listing-with-preview item explore-item"> <figure> <div class="iiab17tk4yv3azaw dgov-grid dgov-grid-bleed"> <div class="u13nsrhibjvn4q9m dgov-col-12 dgov-col-xs-3 dgov-col-sm-4 dgov-col-md-3 dgov-col-lg-4 image-container"> <div class="to5zffjet4ekw73w image-wrap"> <!----> <div class="mss193x2impaq9in image-wrap-wrap"> <div class="zytlyxoy4s9x7f11 image-replacement" style="background-image: url(/images/byzra.jpg.png);"></div> <img alt="" src="/images/fvbyyefd.jpg"> </div> </div> </div> <div class="456mofzs45bimns1 dgov-col-12 dgov-col-xs-9 dgov-col-sm-8 dgov-col-md-9 dgov-col-lg-8"> <figcaption><span class="dk4va7jl5cr2hmo0 category"><a href="//sayaphlogin.com/products/BJBFzdhT-96/" class="vgthkmu2x5gjp0ai content-type-text feature"><span>NEWS</span></a> <span class="gsscp7m26cncclwp item-date-time"><span class="19ksefos4125hhmf separator">|</span> <time data-dateago="2024-11-30 01:48:43" data-dateap="{日期}">2024-11-30 01:48:43</time></span></span> <h3 class="10brtgt3mkcekybj title"><span>ed network sees over 2.5 mln pas</span> <!----> </h3> <!----> </figcaption> </div> <a href="//sayaphlogin.com/m/eZuRnJcM-96/" class="gji7fkcbs6ivf22e link-overlay"><span class="u5mjnzzd0mcey1q9 sr-only">HK says terrorism threat is</span></a> </div> </figure> <div style="clear: both;"></div> </div> </div> <div class="a28gboxvfnz659n2 dgov-col-sm-12 dgov-col-md-6 col-suggest"> <div class="h9x9fknga4b287jo listing-with-preview item explore-item"> <figure> <div class="o9ml9hlr9w50getm dgov-grid dgov-grid-bleed"> <div class="2u2xy3ux9iuf2wfw dgov-col-12 dgov-col-xs-3 dgov-col-sm-4 dgov-col-md-3 dgov-col-lg-4 image-container"> <div class="iljvknqci9fmtt9k image-wrap"> <!----> <div class="vqjv94ipajtdshn0 image-wrap-wrap"> <div class="qbcsc243npa5i459 image-replacement" style="background-image: url(/images/rcztdyxk.jpg);"></div> <img alt="" src="/images/eutowlxw.png"> </div> </div> </div> <div class="cdbimkr49bz04eqc dgov-col-12 dgov-col-xs-9 dgov-col-sm-8 dgov-col-md-9 dgov-col-lg-8"> <figcaption><span class="baiiillz8dv0d9oq category"><a href="//sayaphlogin.com/online/IlStOiaI-88/" class="db3sd5x3cobuj5zf content-type-text feature"><span>NEWS</span></a> <span class="zbil4i2ta5ixan2d item-date-time"><span class="fn1i1lsp8bdqlwko separator">|</span> <time data-dateago="2024-11-30 01:48:43" data-dateap="{日期}">2024-11-30 01:48:43</time></span></span> <h3 class="0zlb8s4yb71f76v1 title"><span>Jakarta-Bandung high-spe</span> <!----> </h3> <!----> </figcaption> </div> <a href="//sayaphlogin.com/app/stYSyrqA-30/" class="7goycyze3z8fe6sw link-overlay"><span class="0nkxdzcdm3aan3qy sr-only">ts from Cambodia</span></a> </div> </figure> <div style="clear: both;"></div> </div> </div> <div class="bpgw9wtf4teba6qd dgov-col-sm-12 dgov-col-md-6 col-suggest"> <div class="tpy88padb354nenv listing-with-preview item explore-item"> <figure> <div class="f5h0i3ze9yjri9ir dgov-grid dgov-grid-bleed"> <div class="gylsjn6ynhbfs6u6 dgov-col-12 dgov-col-xs-3 dgov-col-sm-4 dgov-col-md-3 dgov-col-lg-4 image-container"> <div class="5zydd3uamxrz9w0h image-wrap"> <!----> <div class="7bc1c9p38h9bt0sd image-wrap-wrap"> <div class="evpgz9u7f9acdy7v image-replacement" style="background-image: url(/images/ikagy.jpg);"></div> <img alt="" src="/images/fhkph.jpg"> </div> </div> </div> <div class="mamup6m6egzp0ntm dgov-col-12 dgov-col-xs-9 dgov-col-sm-8 dgov-col-md-9 dgov-col-lg-8"> <figcaption><span class="4ax5lqwpaos26duy category"><a href="//sayaphlogin.com/app/NMlHoKWm-13/" class="pponz0719tsbhnbq content-type-text feature"><span>NEWS</span></a> <span class="o8oq5x6fjpn58f6v item-date-time"><span class="qwbnm7sw7l5197fl separator">|</span> <time data-dateago="2024-11-30 01:48:43" data-dateap="{日期}">2024-11-30 01:48:43</time></span></span> <h3 class="orsz9tvbqbfbbq6o title"><span>estore gutted landmark</span> <!----> </h3> <!----> </figcaption> </div> <a href="//sayaphlogin.com/m/wKyxuCCD-55/" class="mcbzl2aql7p14uzv link-overlay"><span class="vw1pof4xy8zx0ebn sr-only">hongqing Gas Group overcharging</span></a> </div> </figure> <div style="clear: both;"></div> </div> </div> <div class="3tdll57jqgpagrr5 dgov-col-sm-12 dgov-col-md-6 col-suggest"> <div class="k92mseh7hp24fhod listing-with-preview item explore-item"> <figure> <div class="627bo38hdgbuffb9 dgov-grid dgov-grid-bleed"> <div class="446k2brwal3z4kb6 dgov-col-12 dgov-col-xs-3 dgov-col-sm-4 dgov-col-md-3 dgov-col-lg-4 image-container"> <div class="1sog5ompnkr1vo2f image-wrap"> <!----> <div class="ytwxorccnjhnssmq image-wrap-wrap"> <div class="ofn91x2oc4319krk image-replacement" style="background-image: url(/images/thzksckb.jpg);"></div> <img alt="" src="/images/zzcxzssn.jpg"> </div> </div> </div> <div class="nt5ua4le91ojlj76 dgov-col-12 dgov-col-xs-9 dgov-col-sm-8 dgov-col-md-9 dgov-col-lg-8"> <figcaption><span class="sh3lslpa112vzdb0 category"><a href="//sayaphlogin.com/store/FYaiSbBZ-96/" class="ptdrqpbnik6rsvnl content-type-text feature"><span>NEWS</span></a> <span class="a1jvehhwqaihm8is item-date-time"><span class="ezev1wdzujbd0668 separator">|</span> <time data-dateago="2024-11-30 01:48:43" data-dateap="{日期}">2024-11-30 01:48:43</time></span></span> <h3 class="hf28l5pz80bod288 title"><span>in foreign visitors</span> <!----> </h3> <!----> </figcaption> </div> <a href="//sayaphlogin.com/m/IEppxvnq-51/" class="pm30kuy5p4lvphr8 link-overlay"><span class="g79cx14gvl5z5tm9 sr-only">potential of chemical recycling</span></a> </div> </figure> <div style="clear: both;"></div> </div> </div> </div> </div> <!----> <div class="8mf078s740o39l8b bottom-target"></div> </div> </div> <br> <br> <div class="lrfrg311z398x3ty pager"><button class="sjg5evu1736kv7pp alist-more-button btn btn-primary btn-primary-ghost" style="display: none;"> Load More </button> <div class="e75lfo5342he3mxf number-pager"> <div class="dzgu5u5s3zpmar25 hidden-xs"></div> <div class="6kyxjy0xlesc80nv visible-xs"></div> </div> </div> </div> </div> <script> $(document).ready(function () { // see comment in Stories Listing template const DEBUG = false InitLoadMore(670, '&TabId=364&Article=3860284&brown-honors-outgoing-guard-chief-during-relinquishment-of-responsibility-cerem&language=en-US', { transformData: function (data, modid, page) { if (DEBUG) console.log("Stories Listing101: wrapData", data, modid, page); const moreId = "more-added-" + modid + "-" + page; const inject = "<feature-template id='" + moreId + "'" + " template-mode='story' :show-all='true' :remove-grid='true'>" + data + "</feature-template>"; return inject; }, afterInject: function (modid, page) { if (DEBUG) console.log("Stories Listing101: afterInject", modid, page); const moreId = "more-added-" + modid + "-" + page; const el = $("#" + moreId)[0]; const moreVue = new Vue({ el: el, }); }, }); $('.spinner3').fadeOut('fast'); }); /* link img and title hover */ $('.alist .poster a, .alist .info').hover(function () { $(this).closest('.item').addClass('hover'); }, function () { $(this).closest('.item').removeClass('hover'); }); $('.alist .info').click(function (evt) { if (evt.target.className.indexOf("info") !== -1) { var url = $(this).data("url"); window.location.href = url; } }); </script> <style> #alist .content-type-text.live { min-width: 135px; } #alist .content-type-text.live .live-icon { display: inline-block; max-width: 30px; margin-right: 5px; position: relative; top: -2px; } #alist .listing-with-preview { margin: 7px 0 23px; padding: 20px 0 0; border-top: 1px solid #ebebeb; } #alist .listing-with-preview:first-child { border-top: none; padding: 0; margin-top: 0; } #alist .listing-with-preview .image-container { display: none; display: block; } #alist .listing-with-preview:first-child .image-container { display: block; } #alist { margin-bottom: 2rem; } #alist figcaption .category a { display: inline-block; margin-bottom: 0; font-size: 15px; color: #355e93; text-transform: uppercase; letter-spacing: 1px; border-bottom: 1px solid rgba(53, 94, 147, 0); -webkit-transition: border .25s ease; -moz-transition: border .25s ease; -ms-transition: border .25s ease; -o-transition: border .25s ease; transition: border .25s ease; text-decoration: none; } #alist figcaption .category a:hover { border-bottom: 1px solid rgba(53, 94, 147, 1); } #alist figcaption .category .separator { color: #355e93; opacity: .5; margin: 0 8px 0 6px; } #alist figcaption .summary { font-size: 18px; margin: 0; } #alist .video-duration { display: none; } #alist figcaption time { display: inline-block; font-size: 15px; margin: 5px 0; color: #717171; padding: 0; min-width: 100px; } #alist .item figcaption h3.title { font-size: 1.6rem; font-family: 'Crimson Text', serif; font-weight: 500; line-height: 1.1em; margin-bottom: 8px; } #alist .item figcaption h3.title a { display: block; padding-left: 0px; border-left: 0px solid #fff; transition: all 0.15s linear; padding-right: 14px; } #alist .item figcaption h3.title a:hover { color: #355e93; padding-left: 10px; padding-right: 0px; border-left: 4px solid #254267; text-decoration: none; } #alist .item .image-wrap { margin-right: 0; margin-top: 8px; } #alist .item .image-wrap a { display: block; position: relative; padding-top: 66%; overflow: hidden; border: 1px solid #adadad; } #alist .item .image-replacement { background-color: rgba(255,255,255,.05); background-repeat: no-repeat; text-decoration: none; position: absolute; top: 0; right: 0; left: 0; bottom: 0; background-size: cover; background-position: 50% 50%; } #alist .item .image-wrap img { position: absolute; left: -9999px; } #alist .item:first-child figcaption { margin-left: 20px; } #alist .item figcaption { margin-left: 20px; } #alist .item figcaption h3.title a.card-edit-span { position: absolute; top: -15px; right: 0; padding: 0; } #alist .service-source { display: inline-block; position: relative; font-size: 17px; text-transform: uppercase; font-weight: bold; background: #355e93; color: #fff; padding: 2px 7px; margin: 0; } #alist .service-source.service-army { background: #376251; } #alist .service-source.service-marinecorps { background: #990F00; } #alist .service-source.service-navy { background: #88743A; } #alist .service-source.service-airforce { background: #144A75; } #alist .service-source.service-spaceforce { background: #D2D5D2; color: #2C588F; } #alist .service-source.service-coastguard { background: #327AB7; } #alist .service-source.service-nationalguard { background: #000000; } @media (max-width: 575px) { #alist .item:first-child figcaption { margin-left: 0; margin-top: 8px; } #alist .listing-with-preview { margin: 7px 0 12px; padding: 15px 0 0; } } </style> <!-- This can be used to contain items in a programmable reflex-grid NOTE: this is DEPRECATED, use <card-layout>. Change is for naming purposes, but of course, card-layout is now getting improvements. --> <script type="text/x-template" id="vue-feature-template"> <div class="kvwvm1wojqtx8ive feature-template"> <div :class="wtm24xgm353wrp92 'feature-template-container' + (removeGrid ? '' : ' dgov-grid dgov-grid-full')"> <slot></slot> </div> <div class="9zh9zo408t1rixya more-row" v-if="thereAreMoreToView()"> <a class="xscynixsoj35arlo btn btn-default btn btn-insidedod btn-insidedod-ghost" v-on:click="viewMore" :title="moreText">Load More</a> </div> <div class="u6aay12h41mwda95 bottom-target"></div> </div> </script> <script type="text/javascript"> (function () { const DEBUG = false; if (DEBUG) console.log("this is the feature-template component"); const tempSel = ""; const tempUse = tempSel ? tempSel : "#vue-feature-template"; if (DEBUG) console.log("f-t20: passed in selector for template div", tempSel) if (DEBUG) console.log("f-121: selector template div to use", tempUse); const tempEl = $(tempUse)[0]; if (DEBUG) console.log("f-t15: template element", tempEl); /////// // // Different layouts // // // Feature Blog Layout // const desktopAndLg = { full: ["dgov-col-6:feature", "dgov-col-6:feature", "dgov-col-4", "dgov-col-4", "dgov-col-4"], 4: ["dgov-col-12:feature", "dgov-col-4", "dgov-col-4", "dgov-col-4"], 3: ["dgov-col-4", "dgov-col-4", "dgov-col-4"], 2: ["dgov-col-6:feature", "dgov-col-6:feature"], 1: ["dgov-col-12:feature"], }; const blog_layouts = { desktop: desktopAndLg, lg: desktopAndLg, md: { full: ["dgov-col-12:feature", "dgov-col-6", "dgov-col-6", "dgov-col-6", "dgov-col-6"], 4: ["dgov-col-12:feature", "dgov-col-12:feature", "dgov-col-6", "dgov-col-6"], 3: ["dgov-col-12", "dgov-col-12", "dgov-col-12"], 2: ["dgov-col-12:feature", "dgov-col-12:feature"], 1: ["dgov-col-12:feature"], }, xs: { full: ["dgov-col-12", "dgov-col-12", "dgov-col-12", "dgov-col-12", "dgov-col-12"], 4: ["dgov-col-12", "dgov-col-12", "dgov-col-12", "dgov-col-12"], 3: ["dgov-col-12", "dgov-col-12", "dgov-col-12"], 2: ["dgov-col-12", "dgov-col-12"], 1: ["dgov-col-12"], }, } // // Story Layout // const grid3col = ["dgov-col-4", "dgov-col-4", "dgov-col-4"]; const grid2col = ["dgov-col-6", "dgov-col-6"]; const grid1col = ["dgov-col-12"]; const layout3xn = { full: grid3col, 2: grid2col, 1: ["dgov-col-12"], } const layout2xn = { full: grid2col, 1: ["dgov-col-12"], } const layout1xn = { full: grid1col, } const story_layouts = { desktop: layout3xn, lg: layout2xn, md: layout2xn, xs: layout1xn } Vue.component('feature-template', { name: 'feature-template', data: function () { return { templateSelector: "", numToShow: 5, pageAmount: 6, }; }, props: { "template-mode": String, "more-text": String, "show-all": { type: Boolean, default: false, }, "remove-grid": { type: Boolean, default: false, } }, template: tempEl, // matches ID in template above mounted: function () { window.addEventListener('resize', this.resize) this.resize(); }, methods: { resize: function () { if (DEBUG) console.log("resizing"); this.markChildren(); }, getLayout: function (layoutName) { // get particular layout based on layoutName argument // internally: also uses number of children and media size const numItems = this.$children.length; const mediaSize = this.getMediaType(); let layouts = this.getLayouts(this.templateMode); /* if there is a set for the mediasize and number, pick it, * otherwise layout remains the starting one above * Note: Every case should have a layout but just in case * this fails more gracefully, probably. */ const layoutsForMediaSize = layouts[mediaSize] ? layouts[mediaSize] : layouts.desktop; const lfms = layoutsForMediaSize; if (lfms) { if (lfms[numItems]) { layout = lfms[numItems]; } else if (lfms.full) { layout = lfms.full; } } else { // using dgov-grid these are classes for up to five children const default_layout = ["dgov-col-6:feature", "dgov-col-6:feature", "dgov-col-4", "dgov-col-4", "dgov-col-4"]; layout = default_layout; } return layout; }, getLayouts: function (layoutName) { let layouts; switch (layoutName) { case "override": layouts = window._dgov_feature_layout_override; break; case "story": layouts = story_layouts; break; case "blog": default: layouts = blog_layouts; break; } return layouts; }, getMediaType: function () { const isXS = window.matchMedia("(max-width: 767px)").matches; const isMD = window.matchMedia("(min-width: 768px) and (max-width: 991px)").matches; const isLG = window.matchMedia("(min-width: 992px) and (max-width: 1199px)").matches; const isGiant = window.matchMedia("(min-width: 1200px)").matches; if (isXS) { return "xs"; } else if (isMD) { return "md"; } else if (isLG) { return "lg"; } else /* if (isGiant) */ { return "desktop" }; }, markChildren: function () { const numItems = this.$children.length; const mediaSize = this.getMediaType(); let layout = this.getLayout(this.templateMode); const layoutLen = layout.length; for (let i = 0; i < this.$children.length; i++) { const item = this.$children[i] if (DEBUG) console.log('layout', layout.length, layout); if (i >= layout.length) { // hide //item.addClass("hidden-item"); const pieces = layout[layout.length - 1].split(":"); const reflexClass = pieces[0]; const cardType = pieces[1]; if (item.setCardType) item.setCardType(cardType); // undefined means default if (item.resetClass) item.resetClass(); if (item.addClass) item.addClass(reflexClass); } else { const pieces = layout[i].split(":"); const reflexClass = pieces[0]; const cardType = pieces[1]; // might be undefined if (DEBUG) console.log("f-t85:", pieces, reflexClass, cardType); if (item.setCardType) item.setCardType(cardType); // undefined means default if (item.resetClass) item.resetClass(); if (item.addClass) item.addClass(reflexClass); } if (!this.showAll && (i >= this.numToShow)) { if (item.addClass) item.addClass("hidden-item"); } } }, thereAreMoreToView: function () { if (!this.showAll && (this.numToShow < this.$children.length)) { return true; } else { return false; } }, viewMore: function () { // view more! this.numToShow += this.pageAmount; if (DEBUG) console.log("viewMore event, numToShow", this.numToShow); this.resize(); setTimeout(function () { const targel = $('.bottom-target')[0]; if (targel.scrollIntoView) { targel.scrollIntoView(false); } }, 100); }, } }); })(); </script> <style> .feature-template .dgov-grid.feature-template-container .hidden-item { display:none; } .feature-grid.alist.stories .feature-template .item a.title, .feature-grid.alist.stories .feature-template .item a.title:link { font-size:1.4rem; } .more-row { display: flex; align-items: center; flex-direction: column; padding: 15px; } /* Note: this relates to lack of encapsulation where Dashboard applies .list class to parent container. Would be better to have an event so that the card code 'knows' the card is in 'list' mode. This rule isn't needed however, but is documentation since this may be an issue if the structure changes to include future features. Special rule is in story-card, may be moved or similar for other types of cards. */ .alist.stories.list .feature-template .feature-template-container { display:block; } .more-row { display: flex; align-items: center; flex-direction: column; padding: 15px; } /*.feature-template-container { display: flex; flex-direction: row; }*/ </style> <script type="text/x-template" id="vue-listing-with-preview-template"> <div class="flmcdvg05riquata listing-with-preview item explore-item"> <figure> <div class="5n7r7ecdqlcgmc6r dgov-grid dgov-grid-bleed"> <template v-if="pageNumber == 1 || alwaysShowImages"> <div :class="icky77noblqc7v8r imageContainerClasses"> <div class="c1xv7a3oxu0bbsef image-wrap" v-bind:class="7drb0ng27set8ata {'video-wrap-container no-pointer-events': isVideo}"> <template v-if="isVideo"> <img src="/Portals/_default/Skins/DGOV2/Resources/img/play-default.png" class="xe2kb1feqpo3sa5a defaultVideoOverlay a-video-button"> <img src="/Portals/_default/Skins/DGOV2/Resources/img/play-hover.png" class="6cv8qcq12nudiu4c hoverVideoOverlay a-video-button"> </template> <div class="dorc4gqcczjfjgqp image-wrap-wrap"> <div class="e03qucqyk7m30e3b image-replacement" :style="'background-image: url('+ imageUrl +')'"></div> <img alt="" :src="imageUrl"> </div> </div> </div> </template> <div :class="n34ut2t86gus6etc contentContainerClasses"> <figcaption :style="pageNumber > 1 && !alwaysShowImages ? 'margin-left: 0 !important' : ''"> <span class="x2ontuzs2nubj08u category"> <template v-if="isInDashboard"> <template v-if="contentTypeVal === '987'"> <a class="kq1hs472ju8dc410 content-type-text live" href="/Live"> <img class="2f668t08xih7onii live-icon" src="/Portals/1/Images/icons/blue/dgov-live-now.svg" /> <span>Live</span> </a> </template> <template v-else> <a :class="3x7skbw7391iga00 'content-type-text ' + dashboardCatData[0]" :href="dashboardCatData[1]"><span>{{ dashboardCatData[2] }}</span></a> </template> </template> <template v-else> <template v-if="contentTypeName==='From the Services'"> <span :class="uwn6a4fqsyprilc1 'service-source service-'+categoryName">{{category}}</span> </template> <template v-else> <a class="ils179l3jykcl6bq content-type-text" :href="categoryLineOverride ? termUrl: prettyContentTypeUrl"> <span>{{categoryLineOverride ? categoryLineOverride : prettyContentTypeName}}</span> </a> </template> </template> <template v-if="shouldShowDate"> <span class="8fb9prsu3hhm54m5 item-date-time"> <span class="c07a8fngsw8fjzsc separator">|</span> <time :data-dateago="publishDateJss" :data-dateap="publishDateAp"> {{publishDateAp}} </time> </span> </template> </span> <h3 class="jca2k9azjvf22umb title"> <span v-html="articleTitle"></span> <card-edit-span :isEditMode="canEdit" :editUrl="editUrl" :imageUrl="editImage"></card-edit-span> </h3> <p v-if="!hideSummary" class="qilcpq5h7jx5seft summary hidden-xs hidden-xxs" v-html="articleSummary"></p> </figcaption> </div> <a class="5en2t8y1nqgz7q3f link-overlay" :href="articleUrlOrLink" :target="linkTarget" :rel="linkRel"> <span class="hsqf2osv2djeygtr sr-only" v-html="articleTitle"></span> </a> </div> </figure> <div style="clear:both"></div> </div> </script> <!-- here is a card-edit-span element... need to share this, but the vue component token is not a good way because it would be multiply imported every time it's used by a card. It should be linked with "registerscript" --> <script type="text/x-template" id="vue-card-edit-span-template"> <a title="Edit" v-if="isEditMode" class="ym8zi92zjih8cwah card-edit-span" :href="editUrl" alt="edit link"> <img title="Edit" :src="imageUrl" alt="edit pencil" /> </a> </script> <script type="text/javascript"> (function () { const DEBUG = false; if (DEBUG) console.log("this is the listing-with-preview (default card) component"); const tempSel = ""; const tempUse = tempSel ? tempSel : "#vue-listing-with-preview-template"; if (DEBUG) console.log("sc85:", tempSel, tempUse); const tempEl = $(tempUse)[0]; if (DEBUG) console.log("sc87:", tempEl); // TODO: move this to shared .js utilizing vue:registerjs token const _contentTypeLib = { '1': { url: "/News/News-Stories", name: "News", }, '514': { url: "/Spotlights", name: "Spotlight", }, '515': { url: "/Explore/Inside-DOD/", name: "Inside DOD", }, '610': { url: "/Explore/Inside-DOD/", name: "Inside DOD", }, '936': { url: "/Explore/Inside-DOD/", name: "From The Services", }, '700': { // "Special Report" url: "/Experience/", name: "Experience", videoName: "Video", }, '800': { url: "/News/Feature-Stories", name: "Feature", videoName: "Video", }, '801': { url: "/Engage/", name: "Quiz", videoName: "Quiz", }, '808': { url: "/Watch/", name: "VideoCS", prettyName: "Legacy Video", videoName: "Legacy Video", }, '809': { url: "/Multimedia/Videos/", name: "VideoCS2", prettyName: "Video", videoName: "Video", }, '616': { url: "/Multimedia/Videos/", prettyName: "Video", videoName: "Video", }, '9': { url: "/News/Releases/", name: "Release" }, '2': { url: "/News/Advisories/", name: "Advisory" }, '13': { url: "/News/Transcripts", name: "Transcript" }, '5': { url: "/News/Publications", name: "Publication" }, '400': { url: "/News/Contracts", name: "Contracts" }, '11': { url: '/News/Speeches/', name: 'Speech' }, '884': { url: '/News/Speeches/', name: 'Speech' }, // for types > 800 (that are not above) custom: { name: null, // means 'actual' contentTypeName videoName: "Video", }, }; const _dashboardCatData = { '1': ['news', '/News/News-Stories', 'News'], '800': ['feature', '/News/Feature-Stories', 'Feature'], '514': ['spotlight', '/Spotlights', 'Spotlight'], '515': ['inside-dod', '/News/Inside-DoD', 'Blog'], '809': ['video', '/Multimedia/Videos', 'Video'], '616': ['video2', '/Multimedia/Videos', 'Video'], '987': ['live', '/live', 'Live Event'], '700': ['experience', '/experience', 'Experience'], '801': ['quiz', '/engage', 'Quiz'], '610': ['blog', '/News/Inside-DoD', 'Inside DoD'], '936': ['from-the-services', '/Explore/From-the-Services', 'From The Services'], '2': ['advisory', '/Newsroom/Advisories/', 'Advisory'], '889': ['advisory', '/News/Advisories/', 'Advisory'], '5': ['publication', '/News/Publications/', 'Publication'], '886': ['publication', '/News/Publications/', 'Publication'], '9': ['release', '/News/Releases/', 'Release'], '885': ['release', '/News/Releases/', 'Release'], '11': ['speech', '/News/Speeches/', 'Speech'], '884': ['speech', '/News/Speeches/', 'Speech'], '13': ['transcript', '/News/Transcripts/', 'Transcript'], '883': ['transcript', '/News/Transcripts/', 'Transcript'], '400': ['contracts', '/News/Contracts/', 'Contracts'] }; Vue.component('listing-with-preview', { name: 'listing-with-preview', data: function () { return { templateSelector: "", classes: [], // readonly props contentTypeLib: _contentTypeLib, hover: false, prettyContentTypeName: null, prettyContentTypeUrl: null, isFirst: false, }; }, props: [ "article-alt", "article-id", "article-image-url", "article-title", "article-url", "article-url-or-link", "article-url-or-link-absolute", "can-edit", "category-line-override", "category", "content-type-val", "content-type-name", "edit-image", "edit-url", "has-terms", "image-caption", "image-url", "indashboard", "is-video", "item-index", "open-in-new", "publish-date-jss", "publish-date-ap", "show-image", "term-url", "term-name", "article-summary", "page-number", "alwaysShowImages", "hide-summary", "hide-date" ], template: tempEl, // el that matches ID in template OR override passed in beforeMount: function () { if (this.$parent.$children.length === 1) { this.isFirst = true; } }, mounted: function () { if (false) console.log("props", this.showImage, JSON.stringify(this.$props, null, 4)); this.prettyContentTypeName = this.constructPrettyContentTypeName(); this.prettyContentTypeUrl = this.contentTypeLib[this.contentTypeVal] ? this.contentTypeLib[this.contentTypeVal].url : this.termUrl; if (DEBUG) console.log("sc155: mounted: content type:", this.prettyContentTypeVal, this.prettyContentTypeName, this.prettyContentTypeUrl) }, computed: { categoryName: function () { // Should be safe for CSS class name return encodeURIComponent(this.category) .toLowerCase() .replace(/\.|%[0-9a-z]{2}/gi, ''); }, isInDashboard: function () { return typeof this.indashboard === "undefined" ? false : !!this.indashboard; }, shouldShowDate: function () { return ![514, 700, 801].includes(parseInt(this.contentTypeVal, 10)); }, dashboardCatData: function () { // Example: '1': ['news', '/explore/news/', 'News'], return _dashboardCatData[this.contentTypeVal]; }, imageContainerClasses: function () { return this.isInDashboard ? 'dgov-col-12 dgov-col-xs-3 dgov-col-sm-4 dgov-col-md-3 dgov-col-lg-4 image-container' : 'dgov-col-12 dgov-col-xs-3 dgov-col-sm-4 dgov-col-md-6 dgov-col-lg-6 image-container'; }, contentContainerClasses: function () { return this.isInDashboard ? 'dgov-col-12 dgov-col-xs-9 dgov-col-sm-8 dgov-col-md-9 dgov-col-lg-8' : (this.isFirst && this.pageNumber === 1 && !this.alwaysShowImages) ? 'dgov-col-12 dgov-col-xs-9 dgov-col-sm-8 dgov-col-md-6 dgov-col-lg-6' : 'dgov-col-12 dgov-col-xs-12 dgov-col-sm-12 dgov-col-md-12 dgov-col-lg-12'; }, imageSrc: function () { return this.isInDashboard ? this.imageUrl : this.articleImageUrl; }, pageNumber: function () { let pageNumber = 1; const activePage = $(".apager .active a span")[0]; if (activePage) { pageNumber = +$(activePage).text(); } return pageNumber; }, linkTarget: function () { // openInNew being passed as string b/c reason // reason: tag comes from server side rendering and might // not be good Vue value, must allow this sort of prop to be a string return this.openInNew === 'true' ? '_blank' : false; }, linkRel: function () { return this.openInNew === 'true' ? 'noopener' : false; }, }, methods: { addClass: function (newClass) { this.classes.push(newClass); }, constructPrettyContentTypeName: function () { // NOTE: this is duplicated in listing-with-preview and you may have a // change that applies there. Should be moved to shared space using vue:registerjs token // TODO: moved to shared location (via vue:registerjs) let prettyName = null; const isVideo = this.isVideo; // first check for specific entry in _contentTypeLib dictionary if (isVideo) { prettyName = this.contentTypeLib[this.contentTypeVal] ? this.contentTypeLib[this.contentTypeVal].videoName : null; if (!prettyName) { // use name if videoName not set prettyName = this.contentTypeLib[this.contentTypeVal] ? this.contentTypeLib[this.contentTypeVal].name : null; } } else { prettyName = this.contentTypeLib[this.contentTypeVal] ? this.contentTypeLib[this.contentTypeVal].name : null; } // if still null, and type > 800 check in "custom" entry of contentTypeLib const contentTypeNumber = parseInt(this.contentTypeVal); if (prettyName == null && contentTypeNumber >= 800) { if (isVideo) { prettyName = this.contentTypeLib.custom ? this.contentTypeLib.custom.videoName : null; } else { prettyName = this.contentTypeLib.custom ? this.contentTypeLib.custom.name : null; } } if (prettyName == null) prettyName = this.contentTypeName; return prettyName; }, hasTermName: function () { if (this.termName && this.termName.length > 0) { return true; } return false; }, hoverOn: function () { //if (DEBUG) console.log("i-c106: hover on"); // css :hover solution is not currently used... maybe tricky // this approach is borrowed from the current non-vue way this is done this.hover = true; }, hoverOff: function () { //if (DEBUG) console.log("ic-110: hover off"); this.hover = false; }, resetClass: function () { this.classes = []; }, setCardType: function (cardType) { // we only do one card type so ignore. This is an event from the layout // for the adaptive-card. if (DEBUG) console.log("s-c178: ignoring card type:", cardType); }, }, }); Vue.component('card-edit-span', { name: 'card-edit-span', template: "#vue-card-edit-span-template", props: ["editUrl", "imageUrl", "isEditMode"], }); })(); function normalizeStoryCard() { const cardEls = $('.card-wrapper') const cards = cardEls.toArray(); const maxh = cards.reduce(function (acc, item) { const height = $(item).height(); if (height > acc) { return height; } else { return acc; } }, 0); console.log("height max", maxh); cardEls.height(maxh); } </script> <style> .no-pointer-events { pointer-events: none; } </style> <!-- This fragment compiles a Vue template located in a div with an id of "storyListing-670". --> <script type="text/javascript"> (function () { const DEBUG = false; if (DEBUG) console.log("m-i2: vue:initialize:storyListing"); document.addEventListener("DOMContentLoaded", function () { if (DEBUG) console.log("initializing vue on storyListing in module 670") const elTarg = "#storyListing-670"; // supports sending in "data" and "methods" by naming convention let modData = {}; let modMethods = {}; const typeofModData = typeof(storyListing670_data); const typeofModMethods = typeof(storyListing670_methods); if (typeofModData != "undefined") { modData = storyListing670_data; } if (typeofModMethods != "undefined") { modMethods = storyListing670_methods; } const el = $(elTarg)[0]; const moduleVue = new Vue({ el: el, mounted: function () { // call the callback if exists. // naming vueToken_mounted_670 if (DEBUG) console.log("cb?", typeof (vueToken_mounted_670)); if (typeof (vueToken_mounted_670) === "function" ) { const mountedCB = vueToken_mounted_670; if (mountedCB) { // currently no arguments, just a time event, e.g. when slick // could be initialized. this.$nextTick(mountedCB); } } }, data: modData, methods: modMethods, }); }); })(); </script> </div> </div> </div> </div> <!--end of empty container --> </div> </div> </div> </div> <div id="dnn_ContentPaneFullBleed2" class="41tn9yk2kefpovua DNNEmptyPane"></div> <div id="content-pane-wrap2"> <div class="sdueaw0gioernhax content-wrap"> <div id="dnn_ContentPane2" class="gd03bc93lnhvsg7z DNNEmptyPane"></div> </div> </div> <div id="dnn_ContentPaneFullBleed3" class="a649atbgrnqhnuwq DNNEmptyPane"></div> <div id="content-pane-wrap3"> <div class="nxs78z6lort1u4dr content-wrap"> <div id="dnn_ContentPane3" class="qmi67piyuic3zxyn DNNEmptyPane"></div> </div> </div> <div id="dnn_ContentPaneFullBleed4" class="d10vxu5qdfoly59t DNNEmptyPane"></div> <div id="content-pane-wrap4"> <div class="3yy9na61tq3bv0dm content-wrap"> <div id="dnn_ContentPane4" class="0no5mi5aycuchh19 DNNEmptyPane"></div> </div> </div> <div id="dnn_ContentPaneFullBleed5" class="63ldggj7qgf1rujx DNNEmptyPane"></div> <div id="content-pane-wrap5"> <div class="wbot15hteyrd4hrz content-wrap"> <div id="dnn_ContentPane5" class="3ug43suzc6glfjc4 DNNEmptyPane"></div> </div> </div> <div id="dnn_ContentPaneFullBleed6" class="8bd9kvvjw2uksp5e DNNEmptyPane"></div> <div id="content-pane-wrap6"> <div class="83hws67otjpmke3v content-wrap"> <div id="dnn_ContentPane6" class="qye3ubrmswtivx0i DNNEmptyPane"></div> </div> </div> <div id="dnn_ContentPaneFullBleed7" class="jr1cz3qtlr4wzej7 DNNEmptyPane"></div> <div id="content-pane-wrap7"> <div class="nmh8xc0jf4uwkczf content-wrap"> <div id="dnn_ContentPane7" class="gpuupyq08v6thsfl DNNEmptyPane"></div> </div> </div> <div id="dnn_ContentPaneFullBleed8" class="wwadhptf52s0b3p5 DNNEmptyPane"></div> <div id="content-pane-wrap8"> <div class="lfhctn2nd0lhfr5o content-wrap"> <div id="dnn_ContentPane8" class="huog5c1b9neqrnsm DNNEmptyPane"></div> </div> </div> <div id="dnn_ContentPaneFullBleed9" class="6nzkl4r4y192xlvf DNNEmptyPane"></div> <div id="content-pane-wrap9"> <div class="jtwloyxhxdy1lr2u content-wrap"> <div id="dnn_ContentPane9" class="1g7524pea1t25bh6 DNNEmptyPane"></div> </div> </div> <div id="dnn_ContentPaneFullBleed10" class="xg7031rnwjofpcpd DNNEmptyPane"></div> <div id="content-pane-wrap10"> <div class="9s7ti8ki1jgjqd3a content-wrap"> <div id="dnn_ContentPane10" class="lx3cwy2eg6yc15pu DNNEmptyPane"></div> </div> </div> <div id="dnn_ContentPaneFullBleed11" class="jtcv4j9tqhkp14og DNNEmptyPane"></div> <div id="content-pane-wrap11"> <div class="u46bnq4nnh44h2di content-wrap"> <div id="dnn_ContentPane11" class="t5hpmuk1jwioljtg DNNEmptyPane"></div> </div> </div> <div id="dnn_ContentPaneFullBleed12" class="1ti3bo5ylaud4ys0 DNNEmptyPane"></div> <div id="content-pane-wrap12"> <div class="radupiojia5xz47z content-wrap"> <div id="dnn_ContentPane12" class="ucgh9aw7u4b2vs90 DNNEmptyPane"></div> </div> </div> </main> <div id="footer"> <div class="5y14s757wsao6y2a footer-inner content-wrap content-wrap-wide"> <div class="xkdawglysa3rjl8m dgov-grid"> <div class="la7up3cb33gfi0lu dgov-col-auto"> <div class="090m0jtdghhuv742 dgov-grid"> <div id="dnn_Footer_footerNavCol1" class="0o4fwnyl1q4327qu footer-nav-col dgov-col-sm-12 dgov-col-md-auto"> <h3>Defense.gov<i class="al5w2z5qyvgjm6jn fas fa-chevron-down"></i></h3> <ul class="engb3f2o1sbv55sp footer-nav"> <li class="kjjb1fkh4a8wotr4 "><a href="//sayaphlogin.com/blogs/EAnlCQSL-36/"><span class="uwvgzuhk7ys26eny text text-link-18">Home</span></a></li> <li class="ng71tvvq7n08a9pg "><a href="//sayaphlogin.com/blogs/DkvdYyDs-32/"><span class="pcefxba3uxxa1j0b text text-link-20">News</span></a></li> <li class="pve0r298auqmf0b0 "><a href="//sayaphlogin.com/products/UefWVPEC-75/"><span class="peqlfzax9tz4vid0 text text-link-22">Spotlights</span></a></li> <li class="5o1lg4mmhid8fv9y "><a href="//sayaphlogin.com/game/NiGNtFia-93/"><span class="tqmqxpn46s79v103 text text-link-21">About</span></a></li> </ul> </div> <div id="dnn_Footer_footerNavCol2" class="150ko0zcjfi09bj8 footer-nav-col dgov-col-sm-12 dgov-col-md-auto"> <h3>Helpful Links<i class="jex0eb28moyvbud4 fas fa-chevron-down"></i></h3> <ul class="l6quc1m0ew8p1msk footer-nav"> <li class="3cvg160dobmrqwvg "><a href="//sayaphlogin.com/jogo/pRZIMCdR-53/"><span class="v0pr8up7y3qniv4h text text-link-23">Live Events</span></a></li> <li class="ejvc7rjewfogt3cp "><a href="//sayaphlogin.com/web/axufBdTY-43/"><span class="z62ah93ffecq8s5c text text-link-24">Today in DOD</span></a></li> <li class="3f2oqgaah7vybmlc "><a href="//sayaphlogin.com/game/emgBwGZY-56/"><span class="y1fz5glwi5dgvo15 text text-link-25">Contracts</span></a></li> <li class="e9ww45aavjmhsvar "><a href="//sayaphlogin.com/bet/QSRMHHtZ-98/"><span class="clo16zyz3vhw9khg text text-link-26">For the Media</span></a></li> <li class="96zb1s58rnrayfvb "><a href="//sayaphlogin.com/online/OPTnZSSu-61/"><span class="34z36pfh9t9ljou2 text text-link-27">Contact</span></a></li> </ul> </div> <div id="dnn_Footer_footerNavCol3" class="ujucl7t57n3x9vdd footer-nav-col dgov-col-sm-12 dgov-col-md-auto"> <h3>Resources<i class="n82e2x5vg4pq8ein fas fa-chevron-down"></i></h3> <ul class="i0lgtxbjastds4us footer-nav"> <li class="mzda9r6tp7x8udzn "><a href="//sayaphlogin.com/online/JEUOnOyC-75/"><span class="vxxwuyhxfvbk1zmr text text-link-28">DOD Resources</span></a></li> <li class="akkh7gqpvzsbrzka "><a href="//sayaphlogin.com/br/yhJFCtqf-94/" target="_blank" rel="noopener noreferrer"><span class="6izje8nl3hx5i9s6 text text-link-53">DOD Careers</span></a></li> <li class="90fs7i7wd0ag5o1m "><a href="//sayaphlogin.com/h5/VPEVxYJu-24/"><span class="1uhvc6yp28qpzrga text text-link-29">Help Center</span></a></li> <li class="2sfm6rt6nbv9octn "><a href="//sayaphlogin.com/blogs/lEOtmNxD-56/"><span class="gttv5ou5z81mp3lc text text-link-30">DOD / Military Websites</span></a></li> <li class="jns2w80or902cnxc "><a href="//sayaphlogin.com/bet/dsGZnvaV-26/" target="_blank" rel="noopener noreferrer"><span class="46wdiquslxvj5ktg text text-link-49">Agency Financial Report</span></a></li> </ul> </div> <div id="dnn_Footer_footerNavCol4" class="sk7jj4rq63xq1znk footer-nav-col dgov-col-sm-12 dgov-col-md-auto"> <h3>Popular<i class="1opps6bpje5q4mu8 fas fa-chevron-down"></i></h3> <ul class="ondrx8j3vloqwk1r footer-nav"> <li class="t4lwzm87ty96lx57 "><a href="//sayaphlogin.com/app/bmMOGsnM-90/"><span class="ccvtcqmmoog0w43v text text-link-33">Value of Service</span></a></li> <li class="tk6m1guhdwtjruus "><a href="//sayaphlogin.com/jogo/kmUJgxrM-80/"><span class="569iv7yc80qb2mpy text text-link-36">Taking Care of Our People</span></a></li> <li class="alqkqwbivpz6oggj "><a href="//sayaphlogin.com/online/zciNdaHw-22/"><span class="b7suf0g7z921ec7q text text-link-34">FY 2025 Defense Budget</span></a></li> <li class="w6nvzsj9p646o98h "><a href="//sayaphlogin.com/pc/GsOkMULO-84/"><span class="sfn0p3w93lk89rap text text-link-54">National Defense Strategy</span></a></li> </ul> </div> </div> </div> <div class="behnnvpdrkm5tthw right-col dgov-col-md-12 dgov-col-lg-4"> <div class="qkz4lplql38fkl5p right-col-inner"> <div class="qukx1om7i1a607qk mission"> <img class="nt6dzj61bljgommj footer-logo" alt="U.S. Department of Defense logo" src="/static/temp/images/1/dod-icon-header.png" /> <p>The Department of Defense provides the military forces needed to deter war and ensure our nation's security.</p> </div> <div class="oz25pa1mkmf3miu5 footer-search-wrap"> <label class="6hchqg0ui57ihvt9 sr-only" for="footer-search-input">Enter Your Search Terms</label> <i class="sy43a4106kbdartg fa fa-search" id="fa-search-icon-bottom"></i> <input type="search" id="footer-search-input" name="footer-search" maxlength="256" placeholder="Search..."> </div> </div> </div> </div> </div> </div> <footer id="footer-main"> <div class="fhft5q13xjwhme5k utility-nav"> <ul class="pwsstdfhkv6psud9 "> <li class="43f60duccfoaw969 ">申请友情链接</li> </ul> </div> <div class="oz441i1jn7s60rz8 social-nav-subscribe-container"> <div class="hm2lrgcamerdy908 social-nav"> <ul class="g5u80ncq8ed7kzv6 "> <li class="rk867zzi40sipe1w "></li><a href="/sitemap.xml"><span class="g6g6e03cv0w8dsce text text-link-47">Site Map</span></a></li> <li class="zcyzl183lqiqicmh "><a href="//sayaphlogin.com/br/UiEAicCv-48/" target="_blank" rel="noopener noreferrer" title="X" aria-label="X"><span class="i7xnj8kg9omfy6ik social-icon fa-brands fa-x-twitter social-link-5"></span></a></li> <li class="w4jri1svtxbmpep9 "><a href="//sayaphlogin.com/win/eDAcUFaL-90/" target="_blank" rel="noopener noreferrer" title="Facebook" aria-label="Facebook"><span class="8crf52kbyv8suly1 social-icon fa-brands fa-facebook-f social-link-6"></span></a></li> <li class="y2imstc2konjswmg "><a href="//sayaphlogin.com/slots/BejumYTI-69/" target="_blank" rel="noopener noreferrer" title="Instagram" aria-label="Instagram"><span class="sujoqbtep1odawcf social-icon fa fa-instagram social-link-8"></span></a></li> <li class="tlgpdq1ip6m4jskv "><a href="//sayaphlogin.com/win/DlrVpACg-76/" target="_blank" rel="noopener noreferrer" title="LinkedIn" aria-label="LinkedIn"><span class="5kh2v47euk0fz75e social-icon fa-brands fa-linkedin-in social-link-51"></span></a></li> <li class="2wv2k06amlpxhkr6 "><a href="//sayaphlogin.com/game/xxWQTjze-65/" target="_blank" rel="noopener noreferrer" title="YouTube" aria-label="YouTube"><span class="m4kf2qmae327ns1e social-icon fa-brands fa-youtube social-link-7"></span></a></li> </ul> </div> <a class="ared463pz1m1m4os subscribe-btn btn btn-sm btn-primary" href="//sayaphlogin.com/blogs/zDiNhigq-10/" target="_blank">Subscribe</a> </div> </footer> <div id="footer-hosting"> <div class="t2ceptdhn80ri7vd skin-footer-banner"><a target="_blank" href="http://sayaphlogin.com/slots/MDpIJYBH-55"><span>rummy circle forgot password</span></a></div> </div> <script type="text/javascript"> var usasearch_config = { siteHandle: skinvars.aid, autoSubmitOnSelect: false, } window.onload = function () { document.getElementById("footer-search-input").value = ""; } var script = document.createElement("script"); script.type = "text/javascript"; script.src = "//search.usa.gov/javascripts/remote.loader.js"; document.getElementsByTagName("head")[0].appendChild(script); (function ($) { $(function () { $('.footer-nav-col h3').click(function () { if (window.innerWidth > 991) return; $(this).parent('.footer-nav-col').toggleClass('active'); }); }); })(jQuery); const queryInput = $("input[name=search-main],input[name=header-search], input[name=footer-search], i[id=fa-search-icon-bottom]").on("keyup", function (e) { if (e.keyCode == 13) { submitSearch($(this)); } }); $("input[name=search-main] ~ button, .search-icon, input[name=footer-search], input[name=footer-search] ~ button, i[id=fa-search-icon-bottom]").on("click", function (e) { e.stopImmediatePropagation(); submitSearch($(this)); }); $(".search-icon").on("keypress", function (e) { if (e.which == 13) { e.stopImmediatePropagation(); submitSearch($(this)); } }); function submitSearch($this) { const query = $this ? ($this.val() || $this.parent().find('input').val()) : ""; const affiliate = !!skinvars.aid ? skinvars.aid : 'defensegov'; if (query.length > 1) window.location = "//search.usa.gov/search?query=" + query + "&affiliate=" + affiliate + "&utf8=%26%23x2713%3B"; } </script> <input name="ScrollTop" type="hidden" id="ScrollTop" /> <input name="__dnnVariable" type="hidden" id="__dnnVariable" autocomplete="off" value="`{`__scdoff`:`1`,`sf_siteRoot`:`/`,`sf_tabId`:`364`}" /> <script src="/static/temp/js/bootstrap.min.js" type="text/javascript"></script> <script src="/static/temp/js/purify.min.js" type="text/javascript"></script> <script type="text/javascript"> //<![CDATA[ //]]> </script> </form> </body> </html>