<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="/assets/rss20.xsl" type="text/xsl"?>
<rss version="2.0"
	xmlns:content="https://purl.org/rss/1.0/modules/content/">

<channel>
<title>Site Map</title>
<link>https://swirl.plusthree.com/</link>
<description>Plus Three Swirl</description>
<language>en-us</language>
<copyright>2025</copyright>


<item>
<title>Article: with Sidebar</title>
<link>https://swirl.plusthree.com/stories/article/with-sidebar/</link>
<guid>https://swirl.plusthree.com/stories/article/with-sidebar/</guid>
<description></description>
<content:encoded><![CDATA[<p>Fermentum magnis dui magna dictum penatibus elit perspiciatis id, sint? Commodo hymenaeos eos aute facilisi, eleifend omnis beatae perspiciatis nibh, eum cumque. Eveniet rem, nostrud ridiculus quasi. Porttitor lectus quasi minim nemo veniam aliquet, tempora duis voluptatem nam, quae! Tempora vehicula eius, nibh minima metus, etiam fugit iure enim natus.</p><p>Quod cupiditate non! Natus dictum dapibus quisque ab id justo aliquam, deleniti officia do magna dicta. Id incididunt conubia mauris? Incididunt. Excepteur possimus elementum, erat nisl? Cras totam magnis adipiscing, morbi fugit incidunt repudiandae debitis accusantium curabitur cupidatat consequat quas? Vero. Parturient, proin justo! Hic! Reprehenderit dolorem voluptas? Curae vehicula.</p><p>Praesent vehicula, dicta consectetur? Arcu morbi viverra aute cursus excepteur, doloribus mollis, a consequatur at, dignissimos platea? Nullam provident litora. Commodi nunc. Iusto ratione perferendis! Tenetur dolores eius assumenda harum, sem ac primis! Hymenaeos augue animi fugit unde eiusmod debitis. Etiam quos, aliquip consequatur ridiculus, leo repudiandae montes, consequat tellus.</p><p>Alias iure fugit porro, diamlorem orci velit praesentium porta beatae vitae ullamcorper facilisis, quia. Id ex ullam urna taciti ultricies, proident, rhoncus? Quidem exercitation eum diamlorem fringilla occaecat, vestibulum minus! Pellentesque fusce ornare amet deserunt perferendis. Eius sodales eum aperiam laudantium adipisci facere nostrum voluptatem inceptos cupidatat delectus? Adipiscing, erat.</p><p>Earum erat fugiat, nunc iure accumsan nascetur mollit! Imperdiet laborum purus proin maxime semper orci blandit, viverra non donec error, dis commodi consequatur atque distinctio. Molestiae, habitant? Irure interdum ea, cillum molestiae, iure? Voluptas tortor risus quisque eget officiis sem, magni proident labore expedita ornare sint? Commodi, ac, lacinia bibendum.</p>]]></content:encoded>
<pubDate>Thu, 28 Aug 2025 14:39:00 +0000</pubDate>
</item>

<item>
<title>Google Search</title>
<link>https://swirl.plusthree.com/google-search/</link>
<guid>https://swirl.plusthree.com/google-search/</guid>
<description></description>
<content:encoded><![CDATA[<div class="gcse-search"></div>]]></content:encoded>
<pubDate>Mon, 11 Aug 2025 16:35:00 +0000</pubDate>
</item>

<item>
<title>Subscribe Form: With Required Boolean</title>
<link>https://swirl.plusthree.com/stories/subscribe_form/with-required-boolean/</link>
<guid>https://swirl.plusthree.com/stories/subscribe_form/with-required-boolean/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Mon, 07 Jul 2025 17:08:00 +0000</pubDate>
</item>

<item>
<title>Vimeo Embed Options</title>
<link>https://swirl.plusthree.com/dev/vimeo-embed-options/</link>
<guid>https://swirl.plusthree.com/dev/vimeo-embed-options/</guid>
<description></description>
<content:encoded><![CDATA[<hr />]]></content:encoded>
<pubDate>Tue, 24 Jun 2025 16:45:00 +0000</pubDate>
</item>

<item>
<title>Instagram Embed</title>
<link>https://swirl.plusthree.com/social_media/instagram-embed/</link>
<guid>https://swirl.plusthree.com/social_media/instagram-embed/</guid>
<description></description>
<content:encoded><![CDATA[<div class="grid-block-grid four-up two-up-md two-up-sm gap-default"><blockquote class="instagram-media" data-instgrm-captioned data-instgrm-permalink="https://www.instagram.com/p/CvSbeMTL6Ou/?utm_source=ig_embed&amp;utm_campaign=loading" data-instgrm-version="14" style=" background:#FFF; border:0; border-radius:3px; box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width:540px; min-width:326px; padding:0; width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);"><div style="padding:16px;"> <a href="https://www.instagram.com/p/CvSbeMTL6Ou/?utm_source=ig_embed&amp;utm_campaign=loading" style=" background:#FFFFFF; line-height:0; padding:0 0; text-align:center; text-decoration:none; width:100%;" target="_blank"> <div style=" display: flex; flex-direction: row; align-items: center;"> <div style="background-color: #F4F4F4; border-radius: 50%; flex-grow: 0; height: 40px; margin-right: 14px; width: 40px;"></div> <div style="display: flex; flex-direction: column; flex-grow: 1; justify-content: center;"> <div style=" background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 100px;"></div> <div style=" background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; width: 60px;"></div></div></div><div style="padding: 19% 0;"></div> <div style="display:block; height:50px; margin:0 auto 12px; width:50px;"><svg width="50px" height="50px" viewBox="0 0 60 60" version="1.1" xmlns="https://www.w3.org/2000/svg" xmlns:xlink="https://www.w3.org/1999/xlink"><g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g transform="translate(-511.000000, -20.000000)" fill="#000000"><g><path d="M556.869,30.41 C554.814,30.41 553.148,32.076 553.148,34.131 C553.148,36.186 554.814,37.852 556.869,37.852 C558.924,37.852 560.59,36.186 560.59,34.131 C560.59,32.076 558.924,30.41 556.869,30.41 M541,60.657 C535.114,60.657 530.342,55.887 530.342,50 C530.342,44.114 535.114,39.342 541,39.342 C546.887,39.342 551.658,44.114 551.658,50 C551.658,55.887 546.887,60.657 541,60.657 M541,33.886 C532.1,33.886 524.886,41.1 524.886,50 C524.886,58.899 532.1,66.113 541,66.113 C549.9,66.113 557.115,58.899 557.115,50 C557.115,41.1 549.9,33.886 541,33.886 M565.378,62.101 C565.244,65.022 564.756,66.606 564.346,67.663 C563.803,69.06 563.154,70.057 562.106,71.106 C561.058,72.155 560.06,72.803 558.662,73.347 C557.607,73.757 556.021,74.244 553.102,74.378 C549.944,74.521 548.997,74.552 541,74.552 C533.003,74.552 532.056,74.521 528.898,74.378 C525.979,74.244 524.393,73.757 523.338,73.347 C521.94,72.803 520.942,72.155 519.894,71.106 C518.846,70.057 518.197,69.06 517.654,67.663 C517.244,66.606 516.755,65.022 516.623,62.101 C516.479,58.943 516.448,57.996 516.448,50 C516.448,42.003 516.479,41.056 516.623,37.899 C516.755,34.978 517.244,33.391 517.654,32.338 C518.197,30.938 518.846,29.942 519.894,28.894 C520.942,27.846 521.94,27.196 523.338,26.654 C524.393,26.244 525.979,25.756 528.898,25.623 C532.057,25.479 533.004,25.448 541,25.448 C548.997,25.448 549.943,25.479 553.102,25.623 C556.021,25.756 557.607,26.244 558.662,26.654 C560.06,27.196 561.058,27.846 562.106,28.894 C563.154,29.942 563.803,30.938 564.346,32.338 C564.756,33.391 565.244,34.978 565.378,37.899 C565.522,41.056 565.552,42.003 565.552,50 C565.552,57.996 565.522,58.943 565.378,62.101 M570.82,37.631 C570.674,34.438 570.167,32.258 569.425,30.349 C568.659,28.377 567.633,26.702 565.965,25.035 C564.297,23.368 562.623,22.342 560.652,21.575 C558.743,20.834 556.562,20.326 553.369,20.18 C550.169,20.033 549.148,20 541,20 C532.853,20 531.831,20.033 528.631,20.18 C525.438,20.326 523.257,20.834 521.349,21.575 C519.376,22.342 517.703,23.368 516.035,25.035 C514.368,26.702 513.342,28.377 512.574,30.349 C511.834,32.258 511.326,34.438 511.181,37.631 C511.035,40.831 511,41.851 511,50 C511,58.147 511.035,59.17 511.181,62.369 C511.326,65.562 511.834,67.743 512.574,69.651 C513.342,71.625 514.368,73.296 516.035,74.965 C517.703,76.634 519.376,77.658 521.349,78.425 C523.257,79.167 525.438,79.673 528.631,79.82 C531.831,79.965 532.853,80.001 541,80.001 C549.148,80.001 550.169,79.965 553.369,79.82 C556.562,79.673 558.743,79.167 560.652,78.425 C562.623,77.658 564.297,76.634 565.965,74.965 C567.633,73.296 568.659,71.625 569.425,69.651 C570.167,67.743 570.674,65.562 570.82,62.369 C570.966,59.17 571,58.147 571,50 C571,41.851 570.966,40.831 570.82,37.631"></path></g></g></g></svg></div><div style="padding-top: 8px;"> <div style=" color:#3897f0; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:550; line-height:18px;">View this post on Instagram</div></div><div style="padding: 12.5% 0;"></div> <div style="display: flex; flex-direction: row; margin-bottom: 14px; align-items: center;"><div> <div style="background-color: #F4F4F4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(0px) translateY(7px);"></div> <div style="background-color: #F4F4F4; height: 12.5px; transform: rotate(-45deg) translateX(3px) translateY(1px); width: 12.5px; flex-grow: 0; margin-right: 14px; margin-left: 2px;"></div> <div style="background-color: #F4F4F4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(9px) translateY(-18px);"></div></div><div style="margin-left: 8px;"> <div style=" background-color: #F4F4F4; border-radius: 50%; flex-grow: 0; height: 20px; width: 20px;"></div> <div style=" width: 0; height: 0; border-top: 2px solid transparent; border-left: 6px solid #f4f4f4; border-bottom: 2px solid transparent; transform: translateX(16px) translateY(-4px) rotate(30deg)"></div></div><div style="margin-left: auto;"> <div style=" width: 0px; border-top: 8px solid #F4F4F4; border-right: 8px solid transparent; transform: translateY(16px);"></div> <div style=" background-color: #F4F4F4; flex-grow: 0; height: 12px; width: 16px; transform: translateY(-4px);"></div> <div style=" width: 0; height: 0; border-top: 8px solid #F4F4F4; border-left: 8px solid transparent; transform: translateY(-4px) translateX(8px);"></div></div></div> <div style="display: flex; flex-direction: column; flex-grow: 1; justify-content: center; margin-bottom: 24px;"> <div style=" background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 224px;"></div> <div style=" background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; width: 144px;"></div></div></a><p style=" color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; line-height:17px; margin-bottom:0; margin-top:8px; overflow:hidden; padding:8px 0 7px; text-align:center; text-overflow:ellipsis; white-space:nowrap;"><a href="https://www.instagram.com/p/CvSbeMTL6Ou/?utm_source=ig_embed&amp;utm_campaign=loading" style=" color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:normal; line-height:17px; text-decoration:none;" target="_blank">A post shared by Eric Folley (@ericfolley)</a></p></div></blockquote></div>]]></content:encoded>
<pubDate>Fri, 06 Jun 2025 14:02:00 +0000</pubDate>
</item>

<item>
<title>Dropdown Button</title>
<link>https://swirl.plusthree.com/ui/dropdown-button-widget/</link>
<guid>https://swirl.plusthree.com/ui/dropdown-button-widget/</guid>
<description></description>
<content:encoded><![CDATA[<p>This is a button that when clicked opens up a list of other links. The chevron is added vai Javascript. By default, the dropdown will be the width of the button unless word size requires a larger dropdown.</p><div class="dropdown-button"><button>Our Sites</button><ul><li><a href="https://plusthree.com/">Plus Three</a></li><li><a href="https://latinostrategies.com/">Latino Strategies</a></li></ul></div><!-- /.dropdown-item --><div class="dropdown-button"><button>Our Sites</button><ul><li><a href="https://plusthree.com/">Plus Three</a></li><li><a href="https://antidis.com/">Antidisestablishmentarianism Incorporated</a></li></ul></div><!-- /.dropdown-item --><hr /><p>Add the class <code>flush-width</code> to force the width of the dropdown to equal with width of the button.</p><div class="dropdown-button flush-width"><button>Our Sites</button><ul><li><a href="https://plusthree.com/">Plus Three</a></li><li><a href="https://antidis.com/">Antidisestablishmentarianism Incorporated</a></li></ul></div><!-- /.dropdown-item --><hr /><p>Add the class <code>nowrap-items</code> to prevent dropdown menu items from wrapping to another line.</p><div class="dropdown-button nowrap-items"><button>Our Sites</button><ul><li><a href="https://plusthree.com/">Plus Three</a></li><li><a href="https://latinostrategies.com/">Latino Strategies</a></li></ul></div><!-- /.dropdown-item -->]]></content:encoded>
<pubDate>Thu, 05 Jun 2025 11:39:00 +0000</pubDate>
</item>

<item>
<title>Resize Iframe</title>
<link>https://swirl.plusthree.com/dev/resize-iframe/</link>
<guid>https://swirl.plusthree.com/dev/resize-iframe/</guid>
<description></description>
<content:encoded><![CDATA[<div class="iframe-form-scaler"><iframe class="iframe-form" src="/stories/subscribe_form/default-bare/index.pl" width="100%"></iframe></div>]]></content:encoded>
<pubDate>Tue, 20 May 2025 09:29:00 +0000</pubDate>
</item>

<item>
<title>Play Video Button</title>
<link>https://swirl.plusthree.com/dev/play-video-button/</link>
<guid>https://swirl.plusthree.com/dev/play-video-button/</guid>
<description></description>
<content:encoded><![CDATA[<div class="grid-block-grid two-up one-up-sm"><div class="media img video-play" data-width="480" data-height="270" style="--width: 480; --height: 270;"><a href="https://youtube.com/"><picture><img  src="https://swirl.plusthree.com/images/youtube-thumb.jpg" alt="Title of video goes here" width="480" height="270" onerror="this.classList.add('load-error');"></picture></a></div></div>]]></content:encoded>
<pubDate>Mon, 03 Mar 2025 17:20:00 +0000</pubDate>
</item>

<item>
<title>Sticky Sidebar</title>
<link>https://swirl.plusthree.com/dev/sticky-sidebar/</link>
<guid>https://swirl.plusthree.com/dev/sticky-sidebar/</guid>
<description></description>
<content:encoded><![CDATA[<div class="info-nav"><div class="info"><p>Sapien corporis aliquam, nostra, vel iusto excepteur, habitasse adipiscing quos aliquam cillum, inventore, eos, minus, sunt, iusto, aliquid, error vulputate sed luctus quis inventore iusto, nam vero itaque dolor ratione! Nemo consequat temporibus facere! Nulla doloremque? Elementum. Elementum magna erat repellendus fugit illum laborum provident, pariatur, auctor pretium, laoreet omnis deserunt exercitation, illum rutrum enim! Assumenda. Adipisci neque venenatis voluptas beatae consequuntur aliquip libero facilis gravida? Hendrerit lacinia! Quisquam cras quos iaculis amet quisque sollicitudin adipiscing nonummy. Condimentum? Nullam facere necessitatibus nisl consectetuer repellendus, maecenas, risus, eiusmod ultricies aperiam animi! Parturient ea officiis et rhoncus dignissim. Sem vulputate erat quasi.</p><p>Hymenaeos neque mus lorem urna, fringilla. Mattis accusantium nascetur, convallis architecto porta, numquam parturient pharetra doloribus ratione tristique, pede nostrum anim consequuntur tellus? Dictum error et odit! Suspendisse, rhoncus magnis vivamus praesent vel temporibus pulvinar consectetuer! Eveniet nunc ultrices alias aptent diam. Potenti nihil ex modi rerum, excepturi earum. Officiis parturient primis. Tempora fringilla expedita voluptatum, litora cillum perferendis dolorum blandit veritatis praesent nonummy lorem earum? Rutrum et parturient. Congue voluptate viverra, aperiam aliquid fringilla iusto quas cupidatat deserunt ac, leo commodi? Deleniti dolorem, quis soluta minus inventore nam sequi? Tristique, accusantium tenetur viverra illum, laboris primis amet doloribus nam.</p><p>Sapiente sociosqu tellus cupiditate, at luctus, aliquam magni laudantium diamlorem enim doloremque, tristique curabitur nonummy explicabo. Nec! Dictumst malesuada! Hic! Ipsa auctor excepturi et. At deleniti repellat molestiae. Natoque quae, ornare cillum necessitatibus pharetra molestias blanditiis. Metus repellendus officia atque? Orci eum, exercitationem nibh dis exercitation fugit minima? Aspernatur dis aliquet, anim dictumst integer, ex platea error velit interdum accusantium, urna nascetur dictum rutrum, lectus ac, vitae rutrum, nobis aspernatur provident debitis, pharetra aspernatur luctus. Consectetuer saepe quisquam dis scelerisque. Donec? Turpis vel, qui! Labore et elementum cupidatat mollitia est, fusce ipsam sem cupiditate rutrum id occaecati elementum turpis anim.</p><p>Sapien corporis aliquam, nostra, vel iusto excepteur, habitasse adipiscing quos aliquam cillum, inventore, eos, minus, sunt, iusto, aliquid, error vulputate sed luctus quis inventore iusto, nam vero itaque dolor ratione! Nemo consequat temporibus facere! Nulla doloremque? Elementum. Elementum magna erat repellendus fugit illum laborum provident, pariatur, auctor pretium, laoreet omnis deserunt exercitation, illum rutrum enim! Assumenda. Adipisci neque venenatis voluptas beatae consequuntur aliquip libero facilis gravida? Hendrerit lacinia! Quisquam cras quos iaculis amet quisque sollicitudin adipiscing nonummy. Condimentum? Nullam facere necessitatibus nisl consectetuer repellendus, maecenas, risus, eiusmod ultricies aperiam animi! Parturient ea officiis et rhoncus dignissim. Sem vulputate erat quasi.</p><p>Hymenaeos neque mus lorem urna, fringilla. Mattis accusantium nascetur, convallis architecto porta, numquam parturient pharetra doloribus ratione tristique, pede nostrum anim consequuntur tellus? Dictum error et odit! Suspendisse, rhoncus magnis vivamus praesent vel temporibus pulvinar consectetuer! Eveniet nunc ultrices alias aptent diam. Potenti nihil ex modi rerum, excepturi earum. Officiis parturient primis. Tempora fringilla expedita voluptatum, litora cillum perferendis dolorum blandit veritatis praesent nonummy lorem earum? Rutrum et parturient. Congue voluptate viverra, aperiam aliquid fringilla iusto quas cupidatat deserunt ac, leo commodi? Deleniti dolorem, quis soluta minus inventore nam sequi? Tristique, accusantium tenetur viverra illum, laboris primis amet doloribus nam.</p><p>Sapiente sociosqu tellus cupiditate, at luctus, aliquam magni laudantium diamlorem enim doloremque, tristique curabitur nonummy explicabo. Nec! Dictumst malesuada! Hic! Ipsa auctor excepturi et. At deleniti repellat molestiae. Natoque quae, ornare cillum necessitatibus pharetra molestias blanditiis. Metus repellendus officia atque? Orci eum, exercitationem nibh dis exercitation fugit minima? Aspernatur dis aliquet, anim dictumst integer, ex platea error velit interdum accusantium, urna nascetur dictum rutrum, lectus ac, vitae rutrum, nobis aspernatur provident debitis, pharetra aspernatur luctus. Consectetuer saepe quisquam dis scelerisque. Donec? Turpis vel, qui! Labore et elementum cupidatat mollitia est, fusce ipsam sem cupiditate rutrum id occaecati elementum turpis anim.</p><p>Mollis sapiente porttitor sollicitudin necessitatibus neque quo veniam non, dui! Natoque facilis, feugiat repudiandae gravida ultricies velit fugit! Possimus ridiculus vitae praesentium curae ab volutpat possimus commodo aute? Mauris primis? Facere porta fugit iste numquam aliqua, culpa habitasse torquent turpis, voluptatum commodi, dapibus pulvinar lacinia dignissim ipsa adipiscing sequi quibusdam mus elementum vehicula iusto cursus potenti totam, nonummy donec inceptos, orci tenetur expedita adipisicing diamlorem pariatur deserunt autem fames ipsam ullamcorper porta aute fames a. Error quidem facilisis facilisi, ultricies pharetra maiores posuere consequat, rerum. Magnam fringilla proin turpis erat. Quidem cumque rhoncus blanditiis, quis eos fringilla montes? Quod scelerisque.</p><p>Iusto quis vivamus habitant quam, quis sociis aliquam. Neque similique facilisis imperdiet. Suscipit modi cillum distinctio! Pellentesque mollit repellendus curae sociosqu, wisi voluptas, nec eu rem lorem eveniet temporibus ullam, alias, facilisis curae nostra quo inceptos, ut. Quidem quam ligula? Quos diamlorem laboris adipisicing natoque cillum consectetur possimus. Reprehenderit. Tellus, vero quis commodi accusamus. Exercitation voluptatibus ante dapibus mattis auctor! Consectetur volutpat voluptas aspernatur dolor sociis pharetra ratione? Deserunt cras venenatis rhoncus nobis risus adipiscing eiusmod, wisi, sociosqu aenean lorem expedita excepteur a nulla! Vulputate? Nisl ullam! Adipisicing laboriosam non, mi congue doloribus blanditiis? Blandit eum, sollicitudin suscipit venenatis dui.</p><p>Tellus eveniet netus officia ullam urna amet nostrum condimentum eos ullam facilisi ultrices metus, maxime possimus. Expedita eos! Distinctio laudantium taciti cursus, excepturi dolorem, aliquip eleifend, diam adipiscing laboris odit. Nesciunt! Pellentesque dignissim ipsum sodales ultrices? Feugiat purus quos consectetuer? Nunc, felis, fermentum justo semper laboris cum iste, sunt ridiculus? Porta! Facilisi voluptates dictum voluptate eiusmod rhoncus etiam orci temporibus, ex ullam officia, amet ut, pede ac iusto irure, ridiculus gravida exercitation laborum sit placerat itaque nullam repudiandae aperiam illo ullamcorper nisl pulvinar architecto. Sapiente doloribus numquam praesent nam? Ullamcorper! Saepe curabitur facilis, nihil proin fugit? Eaque ullamco, nobis velit.</p></div><div class="nav"><h3>Sections:</h3><ul class="plain"><li>Link 1</li><li>Link 2</li><li>Link 3</li><li>Link 4</li><li>Link 5</li><li>Link 1</li><li>Link 2</li><li>Link 3</li><li>Link 4</li><li>Link 5</li><li>Link 1</li><li>Link 2</li><li>Link 3</li><li>Link 4</li><li>Link 5</li><li>Link 1</li><li>Link 2</li><li>Link 3</li><li>Link 4</li><li>Link 5</li></ul></div></div>]]></content:encoded>
<pubDate>Mon, 27 Jan 2025 17:23:00 +0000</pubDate>
</item>

<item>
<title>Sticky Header</title>
<link>https://swirl.plusthree.com/dev/sticky-header/</link>
<guid>https://swirl.plusthree.com/dev/sticky-header/</guid>
<description></description>
<content:encoded><![CDATA[<p>There is some code to wrap <code>#top</code> and <code>#topnav</code> in <code>swirl-site.js</code>.</p><p>Conubia laborum autem laudantium modi? Officiis etiam temporibus illo dignissimos urna lacinia, numquam purus irure facilisis non vero lorem pellentesque? Perferendis! Metus porta officia! Reiciendis quae diam suspendisse dignissimos fames rem eget, ab curabitur autem imperdiet curabitur deleniti rhoncus. Dolores adipisicing? Eligendi duis enim facere condimentum massa beatae inventore lorem.</p><p>Nesciunt dui! Tellus expedita repudiandae potenti id, mollit, dignissimos condimentum sollicitudin et felis! Aptent quos quisquam rhoncus! Habitant modi, nam! Fugiat, eget lobortis qui, minim luctus! Delectus inventore condimentum porttitor? Placeat nec augue vulputate? Eligendi officia tempore dui sollicitudin fuga molestias dictum felis, gravida mus nonummy totam egestas. Maxime, fusce.</p><p>Eligendi luctus! Phasellus proin arcu, aliqua adipisci? Malesuada ratione provident phasellus perferendis, auctor ex. Repellat blandit, sint aut, rutrum wisi dignissimos parturient similique natoque vero dolorum fusce temporibus? Aliquid porro, volutpat sed optio earum delectus ipsum, pariatur esse sociis nostra commodo lacinia, tempor voluptate sociis luctus molestiae, amet. Primis bibendum.</p><p>Sunt tristique dolore assumenda est, incidunt tempora assumenda posuere veritatis quam officia! Iste inventore praesent. Sem? Facilisi vel? Malesuada eget, taciti sint, ea sem. Cupidatat? Eget nostra labore eos facere, iusto, aliqua veniam, ex enim minus, temporibus molestie? Fermentum, purus doloribus tristique omnis varius! Eros porta culpa suscipit, iste scelerisque.</p><p>Exercitation tenetur risus maecenas ultricies. Nullam erat veniam, beatae metus reiciendis ducimus quibusdam elit urna blandit aenean odio tempore egestas tellus animi quis quia, fuga fuga? Laboriosam nihil. Facilis dicta maecenas blanditiis nisl habitasse eius porta nulla esse dolorum curabitur odio ipsam repudiandae suspendisse laudantium velit eiusmod id! Aliquid cum.</p><p>Conubia laborum autem laudantium modi? Officiis etiam temporibus illo dignissimos urna lacinia, numquam purus irure facilisis non vero lorem pellentesque? Perferendis! Metus porta officia! Reiciendis quae diam suspendisse dignissimos fames rem eget, ab curabitur autem imperdiet curabitur deleniti rhoncus. Dolores adipisicing? Eligendi duis enim facere condimentum massa beatae inventore lorem.</p><p>Nesciunt dui! Tellus expedita repudiandae potenti id, mollit, dignissimos condimentum sollicitudin et felis! Aptent quos quisquam rhoncus! Habitant modi, nam! Fugiat, eget lobortis qui, minim luctus! Delectus inventore condimentum porttitor? Placeat nec augue vulputate? Eligendi officia tempore dui sollicitudin fuga molestias dictum felis, gravida mus nonummy totam egestas. Maxime, fusce.</p><p>Eligendi luctus! Phasellus proin arcu, aliqua adipisci? Malesuada ratione provident phasellus perferendis, auctor ex. Repellat blandit, sint aut, rutrum wisi dignissimos parturient similique natoque vero dolorum fusce temporibus? Aliquid porro, volutpat sed optio earum delectus ipsum, pariatur esse sociis nostra commodo lacinia, tempor voluptate sociis luctus molestiae, amet. Primis bibendum.</p><p>Sunt tristique dolore assumenda est, incidunt tempora assumenda posuere veritatis quam officia! Iste inventore praesent. Sem? Facilisi vel? Malesuada eget, taciti sint, ea sem. Cupidatat? Eget nostra labore eos facere, iusto, aliqua veniam, ex enim minus, temporibus molestie? Fermentum, purus doloribus tristique omnis varius! Eros porta culpa suscipit, iste scelerisque.</p><p>Exercitation tenetur risus maecenas ultricies. Nullam erat veniam, beatae metus reiciendis ducimus quibusdam elit urna blandit aenean odio tempore egestas tellus animi quis quia, fuga fuga? Laboriosam nihil. Facilis dicta maecenas blanditiis nisl habitasse eius porta nulla esse dolorum curabitur odio ipsam repudiandae suspendisse laudantium velit eiusmod id! Aliquid cum.</p><p>Conubia laborum autem laudantium modi? Officiis etiam temporibus illo dignissimos urna lacinia, numquam purus irure facilisis non vero lorem pellentesque? Perferendis! Metus porta officia! Reiciendis quae diam suspendisse dignissimos fames rem eget, ab curabitur autem imperdiet curabitur deleniti rhoncus. Dolores adipisicing? Eligendi duis enim facere condimentum massa beatae inventore lorem.</p><p>Nesciunt dui! Tellus expedita repudiandae potenti id, mollit, dignissimos condimentum sollicitudin et felis! Aptent quos quisquam rhoncus! Habitant modi, nam! Fugiat, eget lobortis qui, minim luctus! Delectus inventore condimentum porttitor? Placeat nec augue vulputate? Eligendi officia tempore dui sollicitudin fuga molestias dictum felis, gravida mus nonummy totam egestas. Maxime, fusce.</p><p>Eligendi luctus! Phasellus proin arcu, aliqua adipisci? Malesuada ratione provident phasellus perferendis, auctor ex. Repellat blandit, sint aut, rutrum wisi dignissimos parturient similique natoque vero dolorum fusce temporibus? Aliquid porro, volutpat sed optio earum delectus ipsum, pariatur esse sociis nostra commodo lacinia, tempor voluptate sociis luctus molestiae, amet. Primis bibendum.</p><p>Sunt tristique dolore assumenda est, incidunt tempora assumenda posuere veritatis quam officia! Iste inventore praesent. Sem? Facilisi vel? Malesuada eget, taciti sint, ea sem. Cupidatat? Eget nostra labore eos facere, iusto, aliqua veniam, ex enim minus, temporibus molestie? Fermentum, purus doloribus tristique omnis varius! Eros porta culpa suscipit, iste scelerisque.</p><p>Exercitation tenetur risus maecenas ultricies. Nullam erat veniam, beatae metus reiciendis ducimus quibusdam elit urna blandit aenean odio tempore egestas tellus animi quis quia, fuga fuga? Laboriosam nihil. Facilis dicta maecenas blanditiis nisl habitasse eius porta nulla esse dolorum curabitur odio ipsam repudiandae suspendisse laudantium velit eiusmod id! Aliquid cum.</p>]]></content:encoded>
<pubDate>Mon, 27 Jan 2025 17:23:00 +0000</pubDate>
</item>

<item>
<title>Modal Dialog Launcher</title>
<link>https://swirl.plusthree.com/dev/modal-dialog/</link>
<guid>https://swirl.plusthree.com/dev/modal-dialog/</guid>
<description></description>
<content:encoded><![CDATA[<p>A modal dialog box will open on page load, assuming the timer for the dialog has expired. For this demo, the timer is normally set to &#39;0&#39;, which will result in it opening on every page load seconds. Setting the timer to a number will set the interval to that number of seconds. Setting the timer to &#39;session&#39; will result in it opening once per session, regardless of how much time has elapsed. Setting the timer to &#39;once&#39; will cause it to open only once. All timer settings, of course, are restrict to a single device, since no attempt is made to track users across multiple devices.</p>]]></content:encoded>
<pubDate>Thu, 14 Nov 2024 11:21:00 +0000</pubDate>
</item>

<item>
<title>Image with Caption</title>
<link>https://swirl.plusthree.com/dev/image-with-caption/</link>
<guid>https://swirl.plusthree.com/dev/image-with-caption/</guid>
<description></description>
<content:encoded><![CDATA[<div class="media img" data-width="400" data-height="400" style="--width: 400; --height: 400;"><picture><img  src="https://swirl.plusthree.com/images/teaser_mobile_400.png" alt="" width="400" height="400" onerror="this.classList.add('load-error');"></picture><div class="txt" style="max-width: 400px;"><p class="caption">Perferendis purus leo error, omnis feugiat. Fusce. Dictum. Mattis! Minim diam ut, sit autem. Distinctio?</p></div></div><div class="media img" data-width="800" data-height="400" style="--width: 800; --height: 400;"><picture><img  src="https://swirl.plusthree.com/images/teaser_desktop_800.png" alt="" width="800" height="400" onerror="this.classList.add('load-error');"></picture><div class="txt" style="max-width: 800px;"><p class="caption">Eum laborum? Optio aliquid, cupiditate sociis fugit irure, ullamcorper? Vero ipsam tempus, commodo irure, delectus lacus velit dicta adipiscing ducimus, cumque adipisci vestibulum cubilia, assumenda error adipiscing, netus!</p></div></div><h2>Using Figure</h2><div class="media img" data-width="400" data-height="400" style="--width: 400; --height: 400;"><figure>  <picture>  <img src="https://previewswirl.plusthree.com/images/teaser_mobile_400.png" alt="" width="400" height="400">  </picture>  <figcaption>Perferendis purus leo error, omnis feugiat. Fusce. Dictum. Mattis! Minim diam ut, sit autem. Distinctio?</figcaption></figure></div>]]></content:encoded>
<pubDate>Wed, 09 Oct 2024 09:10:00 +0000</pubDate>
</item>

<item>
<title>Container Query Test</title>
<link>https://swirl.plusthree.com/container-query-test/</link>
<guid>https://swirl.plusthree.com/container-query-test/</guid>
<description></description>
<content:encoded><![CDATA[<p>Paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph.<div class="outer-wrapper"><div class="my-container"><div class="inner-wrapper"><h2>Section Header</h2><p>Paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph.</p></div></div></div><style>.outer-wrapper {  container-name: outer-wrapper;  container-type: inline-size;  padding: 1rem;  background-color: red;}.my-container {  container-name: my-container;  container-type: inline-size;  padding: 1rem;  background-color: green;}.inner-wrapper {  container-name: inner-wrapper;  container-type: inline-size;  padding: 1rem;  background-color: white;}@container my-container (width < 500px) {    .page-container .outer-wrapper {    background-color: blue;  }  .page-container #content p {    color: yellow;  }}@container outer-wrapper (width < 500px) {  .my-container {    background-color: black;  }}</style>]]></content:encoded>
<pubDate>Fri, 23 Aug 2024 16:19:00 +0000</pubDate>
</item>

<item>
<title>Contact Us: Default No Sidebar 11</title>
<link>https://swirl.plusthree.com/dev/form-layout-2024/contact-us-default-11/</link>
<guid>https://swirl.plusthree.com/dev/form-layout-2024/contact-us-default-11/</guid>
<description></description>
<content:encoded><![CDATA[<p>Modi voluptates pede. Sapiente hic quasi lorem tempora purus torquent rhoncus sem autem facilisi aptent laboriosam, turpis feugiat eu dis sem, cubilia ligula cupidatat volutpat maxime iure, repellat cubilia lectus, distinctio montes laborum imperdiet delectus excepturi tincidunt porta maiores corrupti nihil nostrud facilis vel exercitationem eius quam per, irure ante, cursus ullam, necessitatibus veritatis, eos natoque, cubilia voluptate. Similique gravida! Autem, dictumst egestas pede fringilla sapien erat massa lacus adipisicing augue necessitatibus, officia voluptate etiam! Dictumst, phasellus viverra! Labore tempor semper recusandae, pretium euismod! Id, adipiscing rem repudiandae fames phasellus, velit, soluta? Alias lorem orci, consequuntur illum dolorum nobis! Fuga.</p>]]></content:encoded>
<pubDate>Tue, 06 Aug 2024 14:48:00 +0000</pubDate>
</item>

<item>
<title>Contact Us: Default</title>
<link>https://swirl.plusthree.com/dev/form-layout-2024/contact-us-default/</link>
<guid>https://swirl.plusthree.com/dev/form-layout-2024/contact-us-default/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 06 Aug 2024 14:48:00 +0000</pubDate>
</item>

<item>
<title>Form Layout 2024</title>
<link>https://swirl.plusthree.com/dev/form-layout-2024/</link>
<guid>https://swirl.plusthree.com/dev/form-layout-2024/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 09 Jul 2024 13:39:00 +0000</pubDate>
</item>

<item>
<title>JM Pledge Form Fields: Contribute</title>
<link>https://swirl.plusthree.com/dev/jm-pledge-form-fields/contribute/</link>
<guid>https://swirl.plusthree.com/dev/jm-pledge-form-fields/contribute/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 25 Jun 2024 14:51:00 +0000</pubDate>
</item>

<item>
<title>JM Pledge Form Fields: Subscribe</title>
<link>https://swirl.plusthree.com/dev/jm-pledge-form-fields/subscribe/</link>
<guid>https://swirl.plusthree.com/dev/jm-pledge-form-fields/subscribe/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 25 Jun 2024 09:29:00 +0000</pubDate>
</item>

<item>
<title>Simple Card</title>
<link>https://swirl.plusthree.com/cards/simple-card/</link>
<guid>https://swirl.plusthree.com/cards/simple-card/</guid>
<description></description>
<content:encoded><![CDATA[<p>First you create a container, and add an image and other story elements at the same level. Then add the class <code>simple-card</code> to the container, and a proper card component with all the necessary internal structure will be created via javascript. Other classes can also be added to generate the specific layout required.</p><p>The card-media item (usually and image or a video) <strong>must come first</strong>, and then all the remaining elements will be added to the card-content div.</p><p>The point is to simplify the creation of this increasingly common component.</p><p>The card below has the following classes: <code>simple-card two-up-lg-up items-center</code>.</p><div class="simple-card two-up-lg-up items-center"><div class="media img" data-width="600" data-height="450" style="--width: 600; --height: 450;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_4x3.png" alt="" width="600" height="450" onerror="this.classList.add('load-error');"></picture></div><h2>This is a Section Heading</h2><p>Eligendi nostra tempora nam ut deleniti? Tempus cillum! Labore! Diam do nemo vivamus! Sodales illo eligendi facere ipsam, pretium reiciendis rutrum fusce volutpat porta, commodo iaculis rerum tincidunt! Nonummy.</p><div class="button-group"><a class="button" href="#">Click Me</a></div></div>]]></content:encoded>
<pubDate>Fri, 24 May 2024 08:38:00 +0000</pubDate>
</item>

<item>
<title>JCC Demo</title>
<link>https://swirl.plusthree.com/dev/jcc-events/</link>
<guid>https://swirl.plusthree.com/dev/jcc-events/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 14 May 2024 10:51:00 +0000</pubDate>
</item>

<item>
<title>Subscribe Form: With Date Field</title>
<link>https://swirl.plusthree.com/stories/subscribe_form/date-field/</link>
<guid>https://swirl.plusthree.com/stories/subscribe_form/date-field/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Wed, 08 May 2024 11:27:00 +0000</pubDate>
</item>

<item>
<title>AJAX Submit</title>
<link>https://swirl.plusthree.com/javascript/ajax-submit/</link>
<guid>https://swirl.plusthree.com/javascript/ajax-submit/</guid>
<description></description>
<content:encoded><![CDATA[<p>The stub form below will be submitted via <code>fetch</code> to <code>/stories/subscribe_form/</code>.</p><form method="post" action="/stories/subscribe_form/" id="subscribe-form" class="primary-form" name="subscribe-form" novalidate><input name="rm" value="process" type="hidden"><input name="format" value="json" type="hidden"><div class="form-inner"><div class="form-item text email"><label for="email">Email<span class="req">*</span></label><input type="email" inputmode="email" id="email" name="email" class="text" required=""></div><div class="form-item text first-name"><label for="first-name">First Name<span class="req">*</span></label><input type="text" id="first-name" name="first_name" class="text" required=""></div><div class="form-item text last-name"><label for="last-name">Last Name<span class="req">*</span></label><input type="text" id="last-name" name="last_name" class="text" required=""></div><div class="form-item text zip"><label for="zip">ZIP Code<span class="req">*</span></label><input type="text" id="zip" name="zip" class="text" required=""></div><div class="form-item submit"><div class="button-wrapper"><button type="submit">Sign Up</button></div><p class="required-notice"><span class="req">*</span> Required information</p></div></div><!-- /.form-inner --></form><div id="results-wrapper"></div>]]></content:encoded>
<pubDate>Fri, 03 May 2024 09:04:00 +0000</pubDate>
</item>

<item>
<title>Subscribe Form: Checkbox Group</title>
<link>https://swirl.plusthree.com/stories/subscribe_form/checkbx-group/</link>
<guid>https://swirl.plusthree.com/stories/subscribe_form/checkbx-group/</guid>
<description></description>
<content:encoded><![CDATA[<p>Creating the checkgox group requires a bit of javascript. Radio buttons are different because they are all part of the same input, while checkboxes are independent.</p>]]></content:encoded>
<pubDate>Thu, 14 Mar 2024 09:35:00 +0000</pubDate>
</item>

<item>
<title>Discounts</title>
<link>https://swirl.plusthree.com/discounts/</link>
<guid>https://swirl.plusthree.com/discounts/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Wed, 13 Mar 2024 10:26:00 +0000</pubDate>
</item>

<item>
<title>Guests</title>
<link>https://swirl.plusthree.com/guests/</link>
<guid>https://swirl.plusthree.com/guests/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Wed, 06 Mar 2024 17:00:00 +0000</pubDate>
</item>

<item>
<title>TuneIn Embed</title>
<link>https://swirl.plusthree.com/dev/tunein-embed/</link>
<guid>https://swirl.plusthree.com/dev/tunein-embed/</guid>
<description></description>
<content:encoded><![CDATA[<iframe src="https://tunein.com/embed/player/s25876/" style="width:100%; height:100px;" scrolling="no" frameborder="no"></iframe>]]></content:encoded>
<pubDate>Mon, 04 Mar 2024 12:13:00 +0000</pubDate>
</item>

<item>
<title>Test: vanilla.wrapInner</title>
<link>https://swirl.plusthree.com/javascript/wrap-inner/</link>
<guid>https://swirl.plusthree.com/javascript/wrap-inner/</guid>
<description></description>
<content:encoded><![CDATA[<div class="outer-wrapper"><p>Paragraph 1</p><p>Paragraph 2</p><p>Paragraph 3</p></div>]]></content:encoded>
<pubDate>Thu, 29 Feb 2024 09:58:00 +0000</pubDate>
</item>

<item>
<title>Test: vanilla.trigger</title>
<link>https://swirl.plusthree.com/javascript/trigger/</link>
<guid>https://swirl.plusthree.com/javascript/trigger/</guid>
<description></description>
<content:encoded><![CDATA[<div class="well hide">Hello world!</div><div class="button-group"><button>Click Me!</button></div>]]></content:encoded>
<pubDate>Thu, 29 Feb 2024 09:58:00 +0000</pubDate>
</item>

<item>
<title>Test: vanilla.wrapAll</title>
<link>https://swirl.plusthree.com/javascript/wrap-all/</link>
<guid>https://swirl.plusthree.com/javascript/wrap-all/</guid>
<description></description>
<content:encoded><![CDATA[<p>Paragraph 1</p><p>Paragraph 2</p><p>Paragraph 3</p><li>List Item</li>]]></content:encoded>
<pubDate>Thu, 29 Feb 2024 09:58:00 +0000</pubDate>
</item>

<item>
<title>Test: vanilla.unwrap</title>
<link>https://swirl.plusthree.com/javascript/unwrap/</link>
<guid>https://swirl.plusthree.com/javascript/unwrap/</guid>
<description></description>
<content:encoded><![CDATA[<div class="outer-wrapper"><p>Paragraph 1</p><p>Paragraph 2</p><p>Paragraph 3</p></div>]]></content:encoded>
<pubDate>Thu, 29 Feb 2024 09:58:00 +0000</pubDate>
</item>

<item>
<title>Bing Search</title>
<link>https://swirl.plusthree.com/bing-search/</link>
<guid>https://swirl.plusthree.com/bing-search/</guid>
<description></description>
<content:encoded><![CDATA[<div class="bing-search-wrapper"></div>]]></content:encoded>
<pubDate>Tue, 13 Feb 2024 10:41:00 +0000</pubDate>
</item>

<item>
<title>Test: vanilla.sortByCountryCode</title>
<link>https://swirl.plusthree.com/javascript/sort-by-country-code/</link>
<guid>https://swirl.plusthree.com/javascript/sort-by-country-code/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Sat, 10 Feb 2024 12:01:00 +0000</pubDate>
</item>

<item>
<title>Full Width Background</title>
<link>https://swirl.plusthree.com/dev/full-width-background/</link>
<guid>https://swirl.plusthree.com/dev/full-width-background/</guid>
<description></description>
<content:encoded><![CDATA[<div class="full-width pt-6 pb-6"><div class="sizer"><div class="container"><p>Quae reiciendis nonummy? Mi laoreet nullam sequi. Placerat odit. Dolor tempus consequuntur provident, fuga delectus, laboriosam in ullamco, varius nibh orci blanditiis. Aperiam dignissimos doloribus laboris voluptas dolorem ante semper, porta eleifend aliqua etiam, aute, accusamus animi doloribus senectus venenatis. Assumenda consequuntur? Dignissimos suscipit? Quisque? Pharetra mollis ipsam. Purus, dapibus minus laboris vehicula gravida, accusamus. Optio, quae.</p></div></div></div><style>.full-width {  background-color: #ccc;}</style>]]></content:encoded>
<pubDate>Tue, 30 Jan 2024 09:00:00 +0000</pubDate>
</item>

<item>
<title>Image Filters</title>
<link>https://swirl.plusthree.com/dev/image-filters/</link>
<guid>https://swirl.plusthree.com/dev/image-filters/</guid>
<description></description>
<content:encoded><![CDATA[<div class="media img filter-me" data-width="" data-height="" style="--width: ; --height: ;"><picture><img  src="" alt="" width="" height="" onerror="this.classList.add('load-error');"></picture></div><style>.filter-me img:hover {  filter: grayscale(90%);}</style>]]></content:encoded>
<pubDate>Mon, 29 Jan 2024 09:35:00 +0000</pubDate>
</item>

<item>
<title>Embed Google Doc</title>
<link>https://swirl.plusthree.com/dev/embed-google-doc/</link>
<guid>https://swirl.plusthree.com/dev/embed-google-doc/</guid>
<description></description>
<content:encoded><![CDATA[<iframe src="https://drive.google.com/file/d/1ziNHwMd_iankD-foCi80cRfZVZutsDdA/preview" width="90%" height="480" allow="autoplay"></iframe><hr /><iframe src="/images/equis-spanish-program.pdf" width="90%" height="480" allow="autoplay"></iframe>]]></content:encoded>
<pubDate>Mon, 22 Jan 2024 11:26:00 +0000</pubDate>
</item>

<item>
<title>Test: vanilla.setFieldRequired</title>
<link>https://swirl.plusthree.com/javascript/set-field-required/</link>
<guid>https://swirl.plusthree.com/javascript/set-field-required/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 02 Jan 2024 13:27:00 +0000</pubDate>
</item>

<item>
<title>Lunario Demo</title>
<link>https://swirl.plusthree.com/temp/lunario-demo/</link>
<guid>https://swirl.plusthree.com/temp/lunario-demo/</guid>
<description></description>
<content:encoded><![CDATA[<div id="lottie-container"></div>]]></content:encoded>
<pubDate>Mon, 04 Dec 2023 16:38:00 +0000</pubDate>
</item>

<item>
<title>Full-Width Form: Container Query</title>
<link>https://swirl.plusthree.com/ui/full-width-form-cq/</link>
<guid>https://swirl.plusthree.com/ui/full-width-form-cq/</guid>
<description></description>
<content:encoded><![CDATA[<p>This layout is based on the standard in <code>patterns.less</code>. However, this implementation uses container queries rather than media queries for more precise handling. This is still a work in progress.</p><div class="fwf-wrapper"><form method="post" action="/signup/" class="fwf"><input type="hidden" name="rm" value="process"><div class="form-inner"><div class="fw-form-item first"><label for="fw-first-name" class="screen-reader-only">First Name<span class="req">*</span></label><input type="text" name="first_name" id="fw-first-name" class="text" placeholder="First Name"></div><div class="fw-form-item last"><label for="fw-last-name" class="screen-reader-only">Last Name<span class="req">*</span></label><input type="text" name="last_name" id="fw-last-name" class="text" placeholder="Last Name"></div><div class="fw-form-item email"><label for="fw-email" class="screen-reader-only">Email<span class="req">*</span></label><input type="text" name="email" id="fw-email" class="text" placeholder="Email"></div><div class="fw-form-item zip"><label for="fw-zip" class="screen-reader-only">ZIP Code<span class="req">*</span></label><input type="text" name="zip" id="fw-zip" class="text" placeholder="ZIP Code"></div><div class="fw-form-item submit"><button type="submit" class="red">Subscribe</button></div></div><!-- /.form-inner --></form></div>]]></content:encoded>
<pubDate>Tue, 28 Nov 2023 11:42:00 +0000</pubDate>
</item>

<item>
<title>Full-Width Form</title>
<link>https://swirl.plusthree.com/ui/full-width-form/</link>
<guid>https://swirl.plusthree.com/ui/full-width-form/</guid>
<description></description>
<content:encoded><![CDATA[<p>This layout is defined in <code>patterns.less</code>. On large screens, using the <code>full-width-form</code> class on the form element, it will take the inputs and submit and put them in a single, full-width row. Two classes can be added to control behavior on smaller screens. <code>vert-sm</code> will stack all the inputs. <code>vert-md</code> will switch to grid layout to create a two-up arrangement.</p><form method="post" action="/signup/" class="full-width-form vert-sm vert-md"><input type="hidden" name="rm" value="process"><div class="form-inner"><div class="fw-form-item first"><label for="fw-first-name" class="screen-reader-only">First Name<span class="req">*</span></label><input type="text" name="first_name" id="fw-first-name" class="text" placeholder="First Name"></div><div class="fw-form-item last"><label for="fw-last-name" class="screen-reader-only">Last Name<span class="req">*</span></label><input type="text" name="last_name" id="fw-last-name" class="text" placeholder="Last Name"></div><div class="fw-form-item email"><label for="fw-email" class="screen-reader-only">Email<span class="req">*</span></label><input type="text" name="email" id="fw-email" class="text" placeholder="Email"></div><div class="fw-form-item zip"><label for="fw-zip" class="screen-reader-only">ZIP Code<span class="req">*</span></label><input type="text" name="zip" id="fw-zip" class="text" placeholder="ZIP Code"></div><div class="fw-form-item submit"><button type="submit" class="red">Subscribe</button></div></div><!-- /.form-inner --></form>]]></content:encoded>
<pubDate>Tue, 28 Nov 2023 11:42:00 +0000</pubDate>
</item>

<item>
<title>Responsive Image</title>
<link>https://swirl.plusthree.com/dev/responsive-image/</link>
<guid>https://swirl.plusthree.com/dev/responsive-image/</guid>
<description></description>
<content:encoded><![CDATA[<div class="media img" data-width="1280" data-height="427" style="--width: 1280; --height: 427;"><picture><source media="(max-width: 639px)" srcset="https://swirl.plusthree.com/images/responsive-sm.png"><source media="(min-width: 1920px)" srcset="https://swirl.plusthree.com/images/responsive-xxxl.png"><img  src="https://swirl.plusthree.com/images/responsive.png" alt="Gray Box" width="1280" height="427" onerror="this.classList.add('load-error');"></picture></div>]]></content:encoded>
<pubDate>Mon, 13 Nov 2023 09:11:00 +0000</pubDate>
</item>

<item>
<title>Test: vanilla.resetField</title>
<link>https://swirl.plusthree.com/javascript/reset-field/</link>
<guid>https://swirl.plusthree.com/javascript/reset-field/</guid>
<description></description>
<content:encoded><![CDATA[<p>When the submit button is clicked, all the form fields should be reset.</p>]]></content:encoded>
<pubDate>Tue, 07 Nov 2023 13:25:00 +0000</pubDate>
</item>

<item>
<title>Test: vanilla.toggleFormContent</title>
<link>https://swirl.plusthree.com/javascript/toggle-form-content/</link>
<guid>https://swirl.plusthree.com/javascript/toggle-form-content/</guid>
<description></description>
<content:encoded><![CDATA[<p>When the checkbox is checked, a block of content will appear below the checkbox. When unchecked, it is hidden.</p><div class="toggle-target"><p>This is my toggled content.</p></div>]]></content:encoded>
<pubDate>Tue, 07 Nov 2023 13:25:00 +0000</pubDate>
</item>

<item>
<title>Test: vanilla.getFieldValue</title>
<link>https://swirl.plusthree.com/javascript/get-field-value/</link>
<guid>https://swirl.plusthree.com/javascript/get-field-value/</guid>
<description></description>
<content:encoded><![CDATA[<p>When the submit button is clicked, the value of each field will be displayed in the console.</p>]]></content:encoded>
<pubDate>Tue, 07 Nov 2023 13:25:00 +0000</pubDate>
</item>

<item>
<title>Embedded Classes</title>
<link>https://swirl.plusthree.com/dev/embedded-classes/</link>
<guid>https://swirl.plusthree.com/dev/embedded-classes/</guid>
<description></description>
<content:encoded><![CDATA[<p>By adding [[class-name]] at the beginning of the content for a p, h1, h2 or h3 element, that class-name will be added to the tag.</p><hr /><p class="h3">This is a paragraph but should style like an h3 tag.</p><h3>This is an h3 tag.</h3><p class="bold centered">This should be bold and centered.</p><h1 class="h3">A page heading styled like an h3</h1><h2 class="centered">A section heading centered</h2><h3 class="uppercase">A subsection heading in uppercase</h3><li class="bold">A bold bulleted item.</li><li class="italic">A numbered item in italics.</li>]]></content:encoded>
<pubDate>Fri, 03 Nov 2023 11:34:00 +0000</pubDate>
</item>

<item>
<title>Color Schemes</title>
<link>https://swirl.plusthree.com/dev/color-schemes/</link>
<guid>https://swirl.plusthree.com/dev/color-schemes/</guid>
<description></description>
<content:encoded><![CDATA[<div class="mb-6"><h2>Default Color Scheme</h2><p>This is a paragraph with a <a href="https://swirl.plusthree.com/">link</a>.</p><div class="buttons"><a class="button">Click Me!</a></div></div><div class="cs-red"><h2>Red Color Scheme</h2><p>This is a paragraph with a <a href="https://swirl.plusthree.com/">link</a>.</p><ul><li>List Item One</li><li>List Item Two</li></ul><div class="buttons"><a class="button">Click Me!</a></div></div>]]></content:encoded>
<pubDate>Fri, 27 Oct 2023 10:18:00 +0000</pubDate>
</item>

<item>
<title>HTML5 Form Inputs</title>
<link>https://swirl.plusthree.com/dev/html5-form-inputs/</link>
<guid>https://swirl.plusthree.com/dev/html5-form-inputs/</guid>
<description></description>
<content:encoded><![CDATA[<form><div class="form-inner"><div class="form-item date"><input type="date" name="date"></div><div class="form-item datetime-local"><input type="datetime-local" name="datetime_local"></div><div class="form-item type="time"><input type="time" name="time"></div><div class="form-item email"><input type="email" name="email"></div><div class="form-item tel"><input type="tel" name="tel"></div></div></form>]]></content:encoded>
<pubDate>Fri, 15 Sep 2023 10:10:00 +0000</pubDate>
</item>

<item>
<title>Process Archive</title>
<link>https://swirl.plusthree.com/json-archive/process-archive/</link>
<guid>https://swirl.plusthree.com/json-archive/process-archive/</guid>
<description></description>
<content:encoded><![CDATA[<div id="results"></div>]]></content:encoded>
<pubDate>Wed, 13 Sep 2023 16:34:00 +0000</pubDate>
</item>

<item>
<title>Site JSON Archive</title>
<link>https://swirl.plusthree.com/json-archive/</link>
<guid>https://swirl.plusthree.com/json-archive/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Wed, 13 Sep 2023 14:47:00 +0000</pubDate>
</item>

<item>
<title>Fade In Content Below the Fold</title>
<link>https://swirl.plusthree.com/dev/fade-in-below-the-fold/</link>
<guid>https://swirl.plusthree.com/dev/fade-in-below-the-fold/</guid>
<description>This app initially hides all content, then applies a class to the elements in the viewport so that they slide up and fade in.</description>
<content:encoded><![CDATA[<p>This app initially hides all content, then applies a class to the elements in the viewport so that they slide up and fade in. This is just eye-candy: content will still load. See <code>swirl-site.js</code> for the accompanying Javascript.</p><div class="media img" data-width="1920" data-height="640" style="--width: 1920; --height: 640;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_3x1.png" alt="" width="1920" height="640" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="1920" data-height="640" style="--width: 1920; --height: 640;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_3x1.png" alt="" width="1920" height="640" onerror="this.classList.add('load-error');"></picture></div><p>Delectus consectetuer dignissimos montes! Possimus distinctio! Elit diamlorem duis, penatibus tempora eaque, vivamus dignissimos, qui ac, consequat praesentium. Adipisci maecenas. Nibh erat dolores laboriosam beatae libero! Harum. Ab! Quod, nihil. Consequuntur quod dolorum aliquip, pellentesque, voluptates quisquam quod, pretium, duis litora eveniet dolor ultricies accusantium? Nostrud nisi officiis, dolorem phasellus.</p><div class="media img" data-width="1920" data-height="640" style="--width: 1920; --height: 640;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_3x1.png" alt="" width="1920" height="640" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="1920" data-height="640" style="--width: 1920; --height: 640;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_3x1.png" alt="" width="1920" height="640" onerror="this.classList.add('load-error');"></picture></div>]]></content:encoded>
<pubDate>Mon, 11 Sep 2023 11:47:00 +0000</pubDate>
</item>

<item>
<title>Login Back Links</title>
<link>https://swirl.plusthree.com/javascript/login-back-links/</link>
<guid>https://swirl.plusthree.com/javascript/login-back-links/</guid>
<description></description>
<content:encoded><![CDATA[<p>Inspect source to confirm link and input are properly populated.</p><p><a class="login-add-back" href="/login/">Log In</a></p><div><input type="hidden" name="back"></div>]]></content:encoded>
<pubDate>Mon, 21 Aug 2023 14:53:00 +0000</pubDate>
</item>

<item>
<title>Letter to the Editor Form</title>
<link>https://swirl.plusthree.com/stories/lte_form/</link>
<guid>https://swirl.plusthree.com/stories/lte_form/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 15 Aug 2023 15:35:00 +0000</pubDate>
</item>

<item>
<title>Tooltips</title>
<link>https://swirl.plusthree.com/javascript/tooltips/</link>
<guid>https://swirl.plusthree.com/javascript/tooltips/</guid>
<description></description>
<content:encoded><![CDATA[<p class="tip-title">This is a tool <a href="https://google.com" title="Hello ho hello jo hello">tip</a>, using the title attribute. Augue lacinia vulputate, est odio, proident deserunt hic eu consequuntur excepteur cubilia, eius dolor eros tempor praesent labore! Iusto rerum, anim inventore. Voluptate ligula, erat hymenaeos nibh.</p><p class="tip-attr">This is <a href="#" data-tooltip="An even longer ooltip! With even more text today and tomorrow.">link with a tool tip</a>, using the data-tooltip attribute.</p><p class="css-tooltip" data-tooltip="I am a CSS tool tip yes sir I am">Culpa tempore urna ac, tenetur, nostrud doloremque, habitasse pellentesque!</p>]]></content:encoded>
<pubDate>Mon, 07 Aug 2023 09:38:00 +0000</pubDate>
</item>

<item>
<title>Tiny Slider</title>
<link>https://swirl.plusthree.com/ui/slideshow/tiny-slider/</link>
<guid>https://swirl.plusthree.com/ui/slideshow/tiny-slider/</guid>
<description></description>
<content:encoded><![CDATA[<div class="ts-carousel"><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div></div>]]></content:encoded>
<pubDate>Thu, 27 Jul 2023 10:37:00 +0000</pubDate>
</item>

<item>
<title>Dev Mode</title>
<link>https://swirl.plusthree.com/dev/dev-mode/</link>
<guid>https://swirl.plusthree.com/dev/dev-mode/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 11 Jul 2023 15:08:00 +0000</pubDate>
</item>

<item>
<title>String to Color</title>
<link>https://swirl.plusthree.com/javascript/string-to-color/</link>
<guid>https://swirl.plusthree.com/javascript/string-to-color/</guid>
<description></description>
<content:encoded><![CDATA[<p><code>vanilla.stringToColor(string)</code> takes a string and returns a hex color that can then be used by styling. One idea is to use a color instead of the now useless icons for comments.</p><p class="para">user@plusthree.com</p><p class="para">username@gmail.com</p><p class="para">username@hotmail.com</p>]]></content:encoded>
<pubDate>Fri, 23 Jun 2023 10:14:00 +0000</pubDate>
</item>

<item>
<title>Text Counter</title>
<link>https://swirl.plusthree.com/javascript/text-counter/</link>
<guid>https://swirl.plusthree.com/javascript/text-counter/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 20 Jun 2023 08:49:00 +0000</pubDate>
</item>

<item>
<title>Test: vanilla.labelsToPlaceholders</title>
<link>https://swirl.plusthree.com/javascript/labels-to-placeholders/</link>
<guid>https://swirl.plusthree.com/javascript/labels-to-placeholders/</guid>
<description></description>
<content:encoded><![CDATA[<p>Note that placeholders are not allowed in type=&quot;date&quot; fields, so (even ignoring the accessibility issues) this isn&#39;t a general purpose replacement for labels.</p>]]></content:encoded>
<pubDate>Tue, 20 Jun 2023 08:49:00 +0000</pubDate>
</item>

<item>
<title>Simple Carousel of Cards</title>
<link>https://swirl.plusthree.com/javascript/simple-carousel-cards/</link>
<guid>https://swirl.plusthree.com/javascript/simple-carousel-cards/</guid>
<description></description>
<content:encoded><![CDATA[<div class="vanilla-slider vs-basic"><div class="vs-slides"><div class="card flush two-up-lg-up align-center"><div class="card-inner"><div class="card-media"><div class="card-media-inner"><div class="media img" data-width="1920" data-height="1080" style="--width: 1920; --height: 1080;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_16x9.png" alt="" width="1920" height="1080" onerror="this.classList.add('load-error');"></picture></div></div></div><div class="card-content"><div class="card-content-inner"><h2>Card 1</h2><p>Asperiores iure debitis tortor congue anim repellendus sociis, leo rhoncus felis laborum, aspernatur malesuada, felis! Aliquip, risus habitant lorem! Incidunt, habitasse, eius magni hic, similique morbi pariatur, sed litora fermentum rem elementum consequuntur nesciunt! Dolorem penatibus fuga pariatur habitant sem condimentum tempore dolorum venenatis accusantium corporis natoque habitant bibendum pulvinar.</p></div></div></div></div><div class="card flush two-up-lg-up align-center"><div class="card-inner"><div class="card-media"><div class="card-media-inner"><div class="media img" data-width="1920" data-height="1080" style="--width: 1920; --height: 1080;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_16x9.png" alt="" width="1920" height="1080" onerror="this.classList.add('load-error');"></picture></div></div></div><div class="card-content"><div class="card-content-inner"><h2>Card 2</h2><p>Lectus nesciunt praesent alias proident senectus. Scelerisque eligendi exercitationem donec elementum eius, netus urna! Feugiat, dolores rhoncus habitant, justo. Adipisci. Nonummy, ac perspiciatis occaecat in incidunt habitasse, expedita. Et ligula, hymenaeos? Minim? Inventore voluptatem mauris! Habitant, excepteur! Aliquet iusto temporibus, pharetra hymenaeos! Malesuada iste dolore hic debitis bibendum autem officiis.</p></div></div></div></div></div></div>]]></content:encoded>
<pubDate>Mon, 05 Jun 2023 09:40:00 +0000</pubDate>
</item>

<item>
<title>RSS Feed</title>
<link>https://swirl.plusthree.com/stories/rss_feed/</link>
<guid>https://swirl.plusthree.com/stories/rss_feed/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Thu, 01 Jun 2023 15:50:00 +0000</pubDate>
</item>

<item>
<title>Community Contribution Dashboard</title>
<link>https://swirl.plusthree.com/stories/community_contribution_dashboard/</link>
<guid>https://swirl.plusthree.com/stories/community_contribution_dashboard/</guid>
<description></description>
<content:encoded><![CDATA[<div id="tc-onboarding"><h2>Welcome!</h2><p><strong>This is the onboarding message!</strong> Nonummy labore, temporibus, vestibulum id ratione?</p><p>Suspendisse, ullamco vulputate alias aperiam fusce non cursus voluptas? Platea! Tincidunt rhoncus officia consequat doloribus atque molestias erat vestibulum fugiat, primis, cursus sed exercitationem.</p><p>Dolores laboriosam. Placeat, sem officiis, minim, integer ridiculus neque corrupti mollitia deserunt, ligula aptent reprehenderit urna iusto nulla, taciti assumenda, sodales quis, euismod facilis, praesent quibusdam justo! Excepturi! Faucibus ipsam, sem deserunt parturient sapien sociis, facilis adipisci ac phasellus turpis magni pariatur.</p></div><div id="tc-edit-tips"><h3>Editing Tips</h3><p>Molestiae primis expedita nostrum recusandae turpis! Omnis, bibendum. Odio vulputate molestiae, consectetur harum. Iaculis? Inceptos nascetur.</p><p>Tortor numquam, odio earum nostrum harum, totam lobortis. Molestiae placerat iusto porro, explicabo nisi lobortis proident, mattis, magnam officia voluptas voluptatibus molestiae! Voluptate!</p><p>Quod elementum tincidunt cubilia fringilla rutrum! Conubia eius nesciunt, wisi adipisci! Hac suspendisse nemo ad cubilia, mi, consectetur ea quo explicabo, minima ac viverra, aenean diam ullam cras delectus magnam porttitor sagittis sint.</p><p>Netus ac? Etiam incidunt a veritatis cupidatat faucibus, venenatis necessitatibus amet incidunt urna irure cum! Posuere, omnis nulla, laoreet unde taciti tempore reiciendis sunt, aliquam habitasse iste. Aptent.</p></div>]]></content:encoded>
<pubDate>Thu, 01 Jun 2023 10:20:00 +0000</pubDate>
</item>

<item>
<title>Sample Article</title>
<link>https://swirl.plusthree.com/plain/sample-article/</link>
<guid>https://swirl.plusthree.com/plain/sample-article/</guid>
<description></description>
<content:encoded><![CDATA[<p>Laborum ullamco nisi imperdiet dolor habitasse fugiat beatae, vitae taciti reprehenderit consectetur. Quisque lacinia platea fringilla, nihil, totam placerat mattis repudiandae exercitationem aut unde, montes praesent atque nihil justo corrupti. Itaque vel? Cubilia morbi diam consequatur. Vel lacinia totam vivamus incididunt donec convallis cupiditate excepteur laboriosam deleniti suspendisse? Netus imperdiet.</p><p>Inceptos lectus! Mollit eum pulvinar consectetuer curabitur mollit? Do, class. Ultrices iaculis, netus. Malesuada nisi anim? <a href="https://google.com/" class="newwindow">Justo ullamcorper orci proin dolore</a> posuere egestas risus. Eu fugit, iusto? Quod facilisi dolore, officiis ducimus, neque adipisicing nostra sapien! Sit eget quia aliquip, sequi sit incididunt suspendisse culpa. Temporibus? Maecenas odio! Est tenetur.</p><div class="buttons"><a class="button">My Button</a></div>]]></content:encoded>
<pubDate>Tue, 23 May 2023 15:52:00 +0000</pubDate>
</item>

<item>
<title>Image Load Error</title>
<link>https://swirl.plusthree.com/javascript/image-load-error/</link>
<guid>https://swirl.plusthree.com/javascript/image-load-error/</guid>
<description></description>
<content:encoded><![CDATA[<p>In <code>image.tmpl</code> we set the <code>onerror</code> handler to add the class <code>load-error</code> if the image fails to load. This replaces the unreliable use of an event handler in <code>site.js</code> due to the timing on when images would fail. In <code>vanilla.css</code> we have a rule that hides failed images if they also have the class <code>hide-on-error</code>. This commonly happens with events and directories for some reason where ARCOS seems to think there is an image when in fact there isn&#39;t.</p><p>Below is a broken image in a div with a red border, and then a second identical image with that class in a div with a green border.</p><div class="media img" style="border: 1px solid red;"><img src="/no-images/not-found.png"></div><div class="media img" style="border: 1px solid green;"><img src="/no-images/not-found.png" class="hide-on-error" onerror="this.classList.add('load-error');"></div><p>There is also a class, <code>hide-parent-on-error</code>, which will result in the immediate parent element of the image (usually a div or p tag) to be hidden. If the image does not have an immediate parent, however, this might end up hiding a good chunk of the page, so be careful. Alternatively, if the parent is, say, an anchor tag, then this class might hide less than you wanted.</p><p>Below is a broken image in a div with a red border, and then a second identical image with that class in a div with a green border.</p><div class="media img" style="border: 1px solid red;"><img src="/no-images/not-found.png"></div><div class="media img" style="border: 1px solid green;"><img src="/no-images/not-found.png" class="hide-parent-on-error" onerror="this.classList.add('load-error');"></div>]]></content:encoded>
<pubDate>Wed, 29 Mar 2023 09:09:00 +0000</pubDate>
</item>

<item>
<title>Photo Galleries</title>
<link>https://swirl.plusthree.com/stories/photo_gallery/</link>
<guid>https://swirl.plusthree.com/stories/photo_gallery/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Thu, 09 Mar 2023 09:05:00 +0000</pubDate>
</item>

<item>
<title>Default Icons</title>
<link>https://swirl.plusthree.com/temp/default-icons/</link>
<guid>https://swirl.plusthree.com/temp/default-icons/</guid>
<description></description>
<content:encoded><![CDATA[<div class="media img" data-width="100" data-height="100" style="--width: 100; --height: 100;"><picture><img  src="https://swirl.plusthree.com/images/default_event.png" alt="" width="100" height="100" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="100" data-height="100" style="--width: 100; --height: 100;"><picture><img  src="https://swirl.plusthree.com/images/default_person.png" alt="" width="100" height="100" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="100" data-height="100" style="--width: 100; --height: 100;"><picture><img  src="https://swirl.plusthree.com/images/default_group.png" alt="" width="100" height="100" onerror="this.classList.add('load-error');"></picture></div>]]></content:encoded>
<pubDate>Wed, 01 Mar 2023 11:38:00 +0000</pubDate>
</item>

<item>
<title>Flex Wrapping</title>
<link>https://swirl.plusthree.com/dev/flex-wrapping/</link>
<guid>https://swirl.plusthree.com/dev/flex-wrapping/</guid>
<description></description>
<content:encoded><![CDATA[<p>In the CSS we have <code>flex: 1 1 400px;</code> applied to the <code>h3.title</code> element, which forces the link to wrap to the next row when the title would be less than 400px wide. Basically, a custom breakpoint.</p><div class="content"><h3 class="title">This is My Very Very Very Very Very Very Very Long Title</h3><div class="link"><a href="">This is my link</a></div></div>]]></content:encoded>
<pubDate>Thu, 09 Feb 2023 13:52:00 +0000</pubDate>
</item>

<item>
<title>Min-Max Block Grids</title>
<link>https://swirl.plusthree.com/plain/min-max/</link>
<guid>https://swirl.plusthree.com/plain/min-max/</guid>
<description>These grids combine a max number of columns with a minimum width to produce a layout that will respond automatically to different viewport sizes.</description>
<content:encoded><![CDATA[<p>These grids combine a max number of columns with a minimum width to produce a layout that will respond automatically to different viewport sizes without media queries. This might not be the best option when you want strict control over the number of items in each row to avoid orphans.</p><p>Add the classes <code>grid-block-grid min-max</code> to the container. The default is a 4-column grid with a minimum column width of 200px. Changes to this will need to be done in the CSS.</p><h2>Default</h2><div class="grid-block-grid min-max"><div class="media img" data-width="1920" data-height="1080" style="--width: 1920; --height: 1080;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_16x9.png" alt="" width="1920" height="1080" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="1920" data-height="1080" style="--width: 1920; --height: 1080;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_16x9.png" alt="" width="1920" height="1080" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="1920" data-height="1080" style="--width: 1920; --height: 1080;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_16x9.png" alt="" width="1920" height="1080" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="1920" data-height="1080" style="--width: 1920; --height: 1080;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_16x9.png" alt="" width="1920" height="1080" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="1920" data-height="1080" style="--width: 1920; --height: 1080;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_16x9.png" alt="" width="1920" height="1080" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="1920" data-height="1080" style="--width: 1920; --height: 1080;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_16x9.png" alt="" width="1920" height="1080" onerror="this.classList.add('load-error');"></picture></div></div><h2>3-up Min Width 350px</h2><div class="grid-block-grid min-max bespoke"><div class="media img" data-width="1920" data-height="1080" style="--width: 1920; --height: 1080;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_16x9.png" alt="" width="1920" height="1080" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="1920" data-height="1080" style="--width: 1920; --height: 1080;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_16x9.png" alt="" width="1920" height="1080" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="1920" data-height="1080" style="--width: 1920; --height: 1080;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_16x9.png" alt="" width="1920" height="1080" onerror="this.classList.add('load-error');"></picture></div></div>]]></content:encoded>
<pubDate>Thu, 09 Feb 2023 11:04:00 +0000</pubDate>
</item>

<item>
<title>Min-Max Block Grids</title>
<link>https://swirl.plusthree.com/block_grids/min-max/</link>
<guid>https://swirl.plusthree.com/block_grids/min-max/</guid>
<description>These grids combine a max number of columns with a minimum width to produce a layout that will respond automatically to different viewport sizes.</description>
<content:encoded><![CDATA[<p>These grids combine a max number of columns with a minimum width to produce a layout that will respond automatically to different viewport sizes without media queries. This might not be the best option when you want strict control over the number of items in each row to avoid orphans.</p><p>Add the classes <code>grid-block-grid min-max</code> to the container. The default is a 4-column grid with a minimum column width of 200px. Changes to this will need to be done in the CSS.</p><h2>Default</h2><div class="grid-block-grid min-max"><div class="media img" data-width="1920" data-height="1080" style="--width: 1920; --height: 1080;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_16x9.png" alt="" width="1920" height="1080" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="1920" data-height="1080" style="--width: 1920; --height: 1080;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_16x9.png" alt="" width="1920" height="1080" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="1920" data-height="1080" style="--width: 1920; --height: 1080;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_16x9.png" alt="" width="1920" height="1080" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="1920" data-height="1080" style="--width: 1920; --height: 1080;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_16x9.png" alt="" width="1920" height="1080" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="1920" data-height="1080" style="--width: 1920; --height: 1080;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_16x9.png" alt="" width="1920" height="1080" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="1920" data-height="1080" style="--width: 1920; --height: 1080;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_16x9.png" alt="" width="1920" height="1080" onerror="this.classList.add('load-error');"></picture></div></div><h2>3-up Min Width 350px</h2><div class="grid-block-grid min-max bespoke"><div class="media img" data-width="1920" data-height="1080" style="--width: 1920; --height: 1080;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_16x9.png" alt="" width="1920" height="1080" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="1920" data-height="1080" style="--width: 1920; --height: 1080;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_16x9.png" alt="" width="1920" height="1080" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="1920" data-height="1080" style="--width: 1920; --height: 1080;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_16x9.png" alt="" width="1920" height="1080" onerror="this.classList.add('load-error');"></picture></div></div>]]></content:encoded>
<pubDate>Thu, 09 Feb 2023 11:04:00 +0000</pubDate>
</item>

<item>
<title>Basic Carousel with Captions</title>
<link>https://swirl.plusthree.com/ui/slideshow/basic-captions/</link>
<guid>https://swirl.plusthree.com/ui/slideshow/basic-captions/</guid>
<description></description>
<content:encoded><![CDATA[<p>This uses the class <code>vs-basic</code> which is supported in <code>site.js</code> to trigger our default carousel. Basic styles are based on the <code>vanilla-slideshow</code> class.</p><div class="vanilla-slider vs-basic"><div class="vs-slides"><div class="media img" data-width="1500" data-height="650" style="--width: 1500; --height: 650;"><picture><img  src="https://swirl.plusthree.com/images/slides/slide1500_people.jpg" alt="People" width="1500" height="650" onerror="this.classList.add('load-error');"></picture><div class="txt" style="max-width: 1500px;"><p class="caption">This is a caption for the first picture. Delectus dictum proin vulputate, risus ad, curabitur vestibulum sit, orci cillum sagittis, similique fringilla posuere rhoncus arcu labore.</p></div></div><div class="media img" data-width="1500" data-height="650" style="--width: 1500; --height: 650;"><picture><img  src="https://swirl.plusthree.com/images/slides/slide1500_3women.jpg" alt="Three women" width="1500" height="650" onerror="this.classList.add('load-error');"></picture><div class="txt" style="max-width: 1500px;"><p class="caption">This is a caption for the second picture. Delectus dictum proin vulputate, risus ad, curabitur vestibulum sit.</p></div></div></div></div>]]></content:encoded>
<pubDate>Mon, 23 Jan 2023 09:30:00 +0000</pubDate>
</item>

<item>
<title>Basic Carousel</title>
<link>https://swirl.plusthree.com/ui/slideshow/basic/</link>
<guid>https://swirl.plusthree.com/ui/slideshow/basic/</guid>
<description></description>
<content:encoded><![CDATA[<p>This uses the class <code>vs-basic</code> which is supported in <code>site.js</code> to trigger our default carousel. Basic styles are based on the <code>vanilla-slideshow</code> class.</p><div class="vanilla-slider vs-basic"><div class="vs-slides"><div class="media img" data-width="1500" data-height="650" style="--width: 1500; --height: 650;"><picture><img  src="https://swirl.plusthree.com/images/slides/slide1500_people.jpg" alt="People" width="1500" height="650" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="1500" data-height="650" style="--width: 1500; --height: 650;"><picture><img  src="https://swirl.plusthree.com/images/slides/slide1500_3women.jpg" alt="Three women" width="1500" height="650" onerror="this.classList.add('load-error');"></picture></div></div></div>]]></content:encoded>
<pubDate>Mon, 23 Jan 2023 09:30:00 +0000</pubDate>
</item>

<item>
<title>Article with Meta Keywords</title>
<link>https://swirl.plusthree.com/stories/article/article-with-meta-keywords/</link>
<guid>https://swirl.plusthree.com/stories/article/article-with-meta-keywords/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Thu, 22 Dec 2022 12:26:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form (Itemized): Amounts are Tickets, Optional Fields</title>
<link>https://swirl.plusthree.com/guests/pac-optional-fields/</link>
<guid>https://swirl.plusthree.com/guests/pac-optional-fields/</guid>
<description></description>
<content:encoded><![CDATA[<p>A basic PAC contribution form where each amount represents a number of tickets (the ID of the amount input is that number). When an amount is selected, the proper number of guest fields will be made visible on the payment screen.</p><p>Four parameters are required:</p><li><code>no_edit_amounts</code> to require the user to go back to the first screen to edit amounts, where some of the the basic calculation work is done</li><li><code>show_guest_info_fields =&gt; 1</code> to render the the guest fields</li><li><code>amounts_are_tickets =&gt; 1</code> to trigger the logic to show/hide the guest fields based on the amount selected</li><li><code>optional_guest_fields</code>, a comma-separated list of field names to specify which guest fields should not be required. Format the name minus the guest number part, e.g. for <code>guest_x_name</code>, use <code>name</code></li>]]></content:encoded>
<pubDate>Mon, 19 Dec 2022 09:17:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form (Itemized): Amounts are Tickets</title>
<link>https://swirl.plusthree.com/guests/pac-simple/</link>
<guid>https://swirl.plusthree.com/guests/pac-simple/</guid>
<description></description>
<content:encoded><![CDATA[<p>A basic PAC contribution form where each amount represents a number of tickets (the ID of the amount input is that number). When an amount is selected, the proper number of guest fields will be made visible on the payment screen.</p><p>Three parameters are required:</p><li><code>no_edit_amounts</code> to require the user to go back to the first screen to edit amounts, where some of the the basic calculation work is done</li><li>show_guest_info_fields =&gt; 1 to render the the guest fields</li><li>amounts_are_tickets =&gt; 1 to trigger the logic to show/hide the guest fields based on the amount selected</li>]]></content:encoded>
<pubDate>Mon, 19 Dec 2022 09:17:00 +0000</pubDate>
</item>

<item>
<title>Contact Us Form: Number of Guests Parameter</title>
<link>https://swirl.plusthree.com/guests/cu-simple/</link>
<guid>https://swirl.plusthree.com/guests/cu-simple/</guid>
<description></description>
<content:encoded><![CDATA[<p>A basic contact us form where the number of guest fields displayed is determined by a parameter. The number in the parameter should match the fields actually added to the form.</p><p>Two parameters are required:</p><li><code>show_guest_info_fields =&gt; 1</code> to render the guest fields</li><li><code>number_of_guests =&gt; x</code> to trigger the logic to show x number of guest fields</li>]]></content:encoded>
<pubDate>Fri, 16 Dec 2022 13:00:00 +0000</pubDate>
</item>

<item>
<title>Contact Us Form: Guest Number Field</title>
<link>https://swirl.plusthree.com/guests/cu-from-field/</link>
<guid>https://swirl.plusthree.com/guests/cu-from-field/</guid>
<description></description>
<content:encoded><![CDATA[<p>A contact us form where the number of guest fields displayed is determined by the value of a field specified by a parameter.</p><p>Two parameters are required:</p><li><code>show_guest_info_fields =&gt; 1</code> to render the guest fields</li><li><code>guest_number_field =&gt; field_name</code>, the value of which determines how many guest field groups to display</li>]]></content:encoded>
<pubDate>Fri, 16 Dec 2022 13:00:00 +0000</pubDate>
</item>

<item>
<title>Contact Us Form: Guest Toggle Field</title>
<link>https://swirl.plusthree.com/guests/cu-toggle-field/</link>
<guid>https://swirl.plusthree.com/guests/cu-toggle-field/</guid>
<description></description>
<content:encoded><![CDATA[<p>A contact us form where the number of guest fields displayed is determined by the value of a field specified by a parameter.</p><p>Two parameters are required:</p><li><code>show_guest_info_fields =&gt; 1</code> to render the guest fields</li><li><code>guest_number_field =&gt; field_name</code>, a boolean field which when checked will display all guest fields</li>]]></content:encoded>
<pubDate>Fri, 16 Dec 2022 13:00:00 +0000</pubDate>
</item>

<item>
<title>Contact Us Form: Number of Guests Parameter, Optional Fields</title>
<link>https://swirl.plusthree.com/guests/cu-optional-fields/</link>
<guid>https://swirl.plusthree.com/guests/cu-optional-fields/</guid>
<description></description>
<content:encoded><![CDATA[<p>A basic contact us form where the number of guest fields displayed is determined by a parameter. The number in the parameter should match the fields actually added to the form.</p><p>Two parameters are required:</p><li><code>show_guest_info_fields =&gt; 1</code> to render the guest fields</li><li><code>number_of_guests =&gt; x</code> to trigger the logic to show x number of guest fields</li>]]></content:encoded>
<pubDate>Fri, 16 Dec 2022 13:00:00 +0000</pubDate>
</item>

<item>
<title>Contact Us Form: With Callback</title>
<link>https://swirl.plusthree.com/guests/cu-with-callback/</link>
<guid>https://swirl.plusthree.com/guests/cu-with-callback/</guid>
<description></description>
<content:encoded><![CDATA[<p>A contact us form where the number of guest fields displayed is determined by the value of a field specified by a parameter.</p><p>Two parameters are required; the callback paramter are optional.</p><li><code>show_guest_info_fields =&gt; 1</code> to render the guest fields</li><li><code>guest_number_field =&gt; field_name</code> or <code>number_of_guests =&gt; x</code></li><li><code>loop_guest_fields_callback =&gt; functionName</code> which executes as <code>displayGuestFields()</code> loops through the guest field blocks to display</li><p>The callback moves full name above email address and also toggles the display of the &quot;Extra Info&quot; field if the value in the select is &quot;Other Thing&quot;. For callbacks that call <code>vanilla.toggleFormContent</code>, you also need to add the <code>optional_guest_fields</code> parameter if the toggled element is a form field, since it can be hidden.</p><p>Callbacks should be placed either in the story itself in an <code>open_format_item</code>, at the bottom of site.js, outside of the <code>DOMContentLoaded</code> block, or in <code>vanilla.pageStyle.js</code> (preferred).</p>]]></content:encoded>
<pubDate>Fri, 16 Dec 2022 13:00:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: Amounts are Tickets</title>
<link>https://swirl.plusthree.com/guests/simple/</link>
<guid>https://swirl.plusthree.com/guests/simple/</guid>
<description></description>
<content:encoded><![CDATA[<p>A basic contribution form where each amount represents a number of tickets (the ID of the amount input is that number). When an amount is selected, the proper number of guest fields will be made visible.</p><p>Two parameters are required:</p><li><code>show_guest_info_fields =&gt; 1</code> to render the the guest fields</li><li><code>amounts_are_tickets =&gt; 1</code> to trigger the logic to show/hide the guest fields based on the amount selected</li>]]></content:encoded>
<pubDate>Fri, 16 Dec 2022 10:29:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: Amounts are Tickets, Optional Fields</title>
<link>https://swirl.plusthree.com/guests/optional-fields/</link>
<guid>https://swirl.plusthree.com/guests/optional-fields/</guid>
<description></description>
<content:encoded><![CDATA[<p>A contribution form where each amount represents a number of tickets (the ID of the amount input is that number). When an amount is selected, the proper number of guest fields will be made visible. Some of the guest fields are not required.</p><p>Three parameters are required:</p><li><code>show_guest_info_fields =&gt; 1</code> to render the the guest fields</li><li><code>amounts_are_tickets =&gt; 1</code> to trigger the logic to show/hide the guest fields based on the amount selected</li><li><code>optional_guest_fields</code>, a comma-separated list of field names to specify which guest fields should not be required. Format the name minus the guest number part, e.g. for <code>guest_x_name</code>, use <code>name</code></li>]]></content:encoded>
<pubDate>Fri, 16 Dec 2022 10:29:00 +0000</pubDate>
</item>

<item>
<title>Simple Poll</title>
<link>https://swirl.plusthree.com/dev/poll/</link>
<guid>https://swirl.plusthree.com/dev/poll/</guid>
<description></description>
<content:encoded><![CDATA[<form method="post" id="poll-form" class="margin-bottom-2x" action="http://localhost:3000/poll"><div class="form-inner"><div class="form-item radio-group choice"><label>Choose</label><div class="radio-group-vert">    <div class="radio-item">    <input type="radio" name="choice" id="choice-1" value="This">    <label for="choice-1">This</label>    </div><!-- /.radio-item -->    <div class="radio-item">    <input type="radio" name="choice" id="choice-2" value="That">    <label for="choice-2">That</label>    </div><!-- /.radio-item --></div></div><div class="form-item submit"><div class="button-wrapper"><button>Submit</button></div></div></div><!-- /.form-inner --></form><div id="results-wrapper"></div>]]></content:encoded>
<pubDate>Thu, 25 Aug 2022 12:31:00 +0000</pubDate>
</item>

<item>
<title>Fixed Background on Scroll</title>
<link>https://swirl.plusthree.com/dev/fixed-background/</link>
<guid>https://swirl.plusthree.com/dev/fixed-background/</guid>
<description></description>
<content:encoded><![CDATA[<div class="outer-wrapper"><div class="inner-wrapper"><h2>This is a Headline</h2><p>Elit magnis condimentum magni! Id, dolor fermentum nostrum libero excepturi primis euismod iaculis vero molestie voluptatibus distinctio pariatur deleniti sodales bibendum ratione laoreet quisquam varius!</p></div></div><p>This is what the background looks like: 1920x1080 native.</p><div class="media img" data-width="1920" data-height="1080" style="--width: 1920; --height: 1080;"><picture><img  src="https://swirl.plusthree.com/images/colored_rectangles.png" alt="" width="1920" height="1080" onerror="this.classList.add('load-error');"></picture></div><p>Excepteur turpis quos architecto quos, unde nascetur feugiat. Tristique, nam habitasse, id facilis fugit pede officiis cras? Nascetur? Ultricies condimentum! Incididunt ridiculus habitant fugit officiis perferendis natoque porro! A molestie, doloribus excepturi? Ab, lorem eius? Pariatur, ultricies minim ullamco excepturi. Placerat hic omnis tortor? Maxime interdum! Excepturi minus earum aute.</p><p>Torquent alias. Veritatis ultricies, mauris curae, accusamus sapiente inceptos inceptos neque molestie, magnam, esse turpis pulvinar egestas risus, dignissim consectetuer? Placerat varius ab non! Modi habitasse! Mollis animi wisi risus, quisquam error! Luctus lectus sociis purus quo cillum ipsam, unde tellus mollit, fringilla arcu itaque odio eligendi repellendus? Aliquet facilisis.</p><p>Bibendum deserunt aenean eius itaque rhoncus earum laoreet mauris voluptate earum esse arcu ullamcorper quia omnis voluptatem bibendum? Impedit vitae neque? Officia ducimus porta, vel beatae ac. Senectus consequatur corporis eum harum duis primis eveniet tortor. Sunt illum vulputate, lobortis, facere et magnis elementum. Molestiae laboriosam! Nonummy in, volutpat nihil.</p><p>Justo optio condimentum do hymenaeos magnis morbi cursus minim placeat, eget! Mi accusantium nec deserunt? Senectus, omnis diam, aliquam anim, duis ac nulla sagittis, diam porta? Beatae malesuada dolorem dolores dictum minim posuere, itaque luctus facilisi auctor elit orci, duis voluptatum integer! Sapiente wisi habitasse? Recusandae dicta facilisi, magnis veniam.</p><p>Excepteur enim saepe cum adipisicing proin, elit porttitor, odit aliqua, necessitatibus saepe? Lacus eu irure hac architecto faucibus suspendisse nonummy conubia libero pretium harum. Amet quae, turpis, consequat aliquip similique, ad. Ornare, integer, hac occaecati ultricies, error labore class! Pariatur mi exercitationem dis maxime! Voluptatem metus? Laoreet felis, ipsa dicta.</p><p>Nesciunt reprehenderit lobortis nisi magni magnis unde quis aspernatur mauris, consectetur risus numquam perferendis molestiae porta, culpa diamlorem, quo cum blandit dictumst. Incididunt iure? Orci sed ducimus nec. Quia ipsa volutpat magnam ligula, natoque rhoncus neque, aspernatur nec dis morbi! Cras blandit. Omnis phasellus aut, possimus tincidunt facilisi vitae ridiculus.</p>]]></content:encoded>
<pubDate>Tue, 23 Aug 2022 11:28:00 +0000</pubDate>
</item>

<item>
<title>Lazy Loading Image</title>
<link>https://swirl.plusthree.com/dev/lazy-loading-image/</link>
<guid>https://swirl.plusthree.com/dev/lazy-loading-image/</guid>
<description></description>
<content:encoded><![CDATA[<p>Eveniet fringilla accumsan placerat ut mattis a consequat fusce orci nostrud maiores nostrud posuere magnis, rutrum, hendrerit vestibulum doloremque cumque, molestiae quam rhoncus lacus natoque, arcu mauris semper enim nihil pede turpis autem mattis. Fuga mollis, dolores, eros eleifend officia! Illum cum. Vestibulum iste ullam, tenetur! Possimus sequi! Repudiandae tempus.</p><p>Magni exercitation, integer gravida justo feugiat nonummy tempor facilis luctus earum, illum, totam suscipit reiciendis phasellus, veniam lobortis aptent imperdiet porta quis nisi dolorum blanditiis mollis placerat aliquet sunt? Anim. Viverra ante, inventore, mus inventore vestibulum nisi soluta sociis arcu, malesuada quos, voluptates euismod alias nobis mollitia elementum. Harum sodales.</p><p>Sunt irure ornare! Vel mollis porro litora iusto optio dolores molestie bibendum! Mattis tortor egestas cras nonummy proident, dolorum maiores adipiscing blanditiis! Nobis euismod? Officiis dictum sit, eiusmod laoreet dolorum hac soluta laoreet consectetur minima iste aenean tempora! Quas, eaque molestias nulla lobortis perferendis dis mi erat blanditiis! Ullamco tempora.</p><p>Eget explicabo quae porro excepteur cupidatat et wisi praesentium expedita! Saepe, ullamco, tenetur harum cupidatat dolore iaculis ab. Illum ut repellendus! Temporibus! Dolorum volutpat? Odio sodales. Quam excepteur? Accusamus qui! Pharetra ultricies architecto lorem, enim expedita laoreet eos, aliquip sint libero ipsum, magna adipisicing sem commodi sollicitudin. Congue? Irure convallis.</p><p>Recusandae imperdiet sit provident repellendus accumsan ullam? Eum irure placeat senectus, laborum inceptos lacus. Fringilla nam, dis adipisci, ridiculus. Sequi, molestie rhoncus? Molestiae quibusdam mi illum laudantium sit, similique eiusmod veniam et? Excepteur! Aliquet provident, nemo similique nisi tempus venenatis fringilla ligula? Placerat adipiscing asperiores ab. Purus, asperiores? Ullamcorper quos.</p><p>Officia temporibus expedita asperiores laudantium hac porro, aliqua, debitis minus ad? Hic! Egestas hic, pariatur, consequuntur quaerat ultrices. Magni eiusmod dolore ornare. Excepturi voluptatibus. Ultrices debitis integer ridiculus nisl turpis. Voluptas class, fugiat sociosqu? Commodi, wisi nam fermentum! Dui quos, euismod curabitur totam suspendisse. Vero anim, tempora earum, provident minima.</p><p>Eveniet fringilla accumsan placerat ut mattis a consequat fusce orci nostrud maiores nostrud posuere magnis, rutrum, hendrerit vestibulum doloremque cumque, molestiae quam rhoncus lacus natoque, arcu mauris semper enim nihil pede turpis autem mattis. Fuga mollis, dolores, eros eleifend officia! Illum cum. Vestibulum iste ullam, tenetur! Possimus sequi! Repudiandae tempus.</p><p>Magni exercitation, integer gravida justo feugiat nonummy tempor facilis luctus earum, illum, totam suscipit reiciendis phasellus, veniam lobortis aptent imperdiet porta quis nisi dolorum blanditiis mollis placerat aliquet sunt? Anim. Viverra ante, inventore, mus inventore vestibulum nisi soluta sociis arcu, malesuada quos, voluptates euismod alias nobis mollitia elementum. Harum sodales.</p><p>Sunt irure ornare! Vel mollis porro litora iusto optio dolores molestie bibendum! Mattis tortor egestas cras nonummy proident, dolorum maiores adipiscing blanditiis! Nobis euismod? Officiis dictum sit, eiusmod laoreet dolorum hac soluta laoreet consectetur minima iste aenean tempora! Quas, eaque molestias nulla lobortis perferendis dis mi erat blanditiis! Ullamco tempora.</p><p>Eget explicabo quae porro excepteur cupidatat et wisi praesentium expedita! Saepe, ullamco, tenetur harum cupidatat dolore iaculis ab. Illum ut repellendus! Temporibus! Dolorum volutpat? Odio sodales. Quam excepteur? Accusamus qui! Pharetra ultricies architecto lorem, enim expedita laoreet eos, aliquip sint libero ipsum, magna adipisicing sem commodi sollicitudin. Congue? Irure convallis.</p><p>Recusandae imperdiet sit provident repellendus accumsan ullam? Eum irure placeat senectus, laborum inceptos lacus. Fringilla nam, dis adipisci, ridiculus. Sequi, molestie rhoncus? Molestiae quibusdam mi illum laudantium sit, similique eiusmod veniam et? Excepteur! Aliquet provident, nemo similique nisi tempus venenatis fringilla ligula? Placerat adipiscing asperiores ab. Purus, asperiores? Ullamcorper quos.</p><p>Officia temporibus expedita asperiores laudantium hac porro, aliqua, debitis minus ad? Hic! Egestas hic, pariatur, consequuntur quaerat ultrices. Magni eiusmod dolore ornare. Excepturi voluptatibus. Ultrices debitis integer ridiculus nisl turpis. Voluptas class, fugiat sociosqu? Commodi, wisi nam fermentum! Dui quos, euismod curabitur totam suspendisse. Vero anim, tempora earum, provident minima.</p><p>Eveniet fringilla accumsan placerat ut mattis a consequat fusce orci nostrud maiores nostrud posuere magnis, rutrum, hendrerit vestibulum doloremque cumque, molestiae quam rhoncus lacus natoque, arcu mauris semper enim nihil pede turpis autem mattis. Fuga mollis, dolores, eros eleifend officia! Illum cum. Vestibulum iste ullam, tenetur! Possimus sequi! Repudiandae tempus.</p><p>Magni exercitation, integer gravida justo feugiat nonummy tempor facilis luctus earum, illum, totam suscipit reiciendis phasellus, veniam lobortis aptent imperdiet porta quis nisi dolorum blanditiis mollis placerat aliquet sunt? Anim. Viverra ante, inventore, mus inventore vestibulum nisi soluta sociis arcu, malesuada quos, voluptates euismod alias nobis mollitia elementum. Harum sodales.</p><p>Sunt irure ornare! Vel mollis porro litora iusto optio dolores molestie bibendum! Mattis tortor egestas cras nonummy proident, dolorum maiores adipiscing blanditiis! Nobis euismod? Officiis dictum sit, eiusmod laoreet dolorum hac soluta laoreet consectetur minima iste aenean tempora! Quas, eaque molestias nulla lobortis perferendis dis mi erat blanditiis! Ullamco tempora.</p><p>Eget explicabo quae porro excepteur cupidatat et wisi praesentium expedita! Saepe, ullamco, tenetur harum cupidatat dolore iaculis ab. Illum ut repellendus! Temporibus! Dolorum volutpat? Odio sodales. Quam excepteur? Accusamus qui! Pharetra ultricies architecto lorem, enim expedita laoreet eos, aliquip sint libero ipsum, magna adipisicing sem commodi sollicitudin. Congue? Irure convallis.</p><p>Recusandae imperdiet sit provident repellendus accumsan ullam? Eum irure placeat senectus, laborum inceptos lacus. Fringilla nam, dis adipisci, ridiculus. Sequi, molestie rhoncus? Molestiae quibusdam mi illum laudantium sit, similique eiusmod veniam et? Excepteur! Aliquet provident, nemo similique nisi tempus venenatis fringilla ligula? Placerat adipiscing asperiores ab. Purus, asperiores? Ullamcorper quos.</p><p>Officia temporibus expedita asperiores laudantium hac porro, aliqua, debitis minus ad? Hic! Egestas hic, pariatur, consequuntur quaerat ultrices. Magni eiusmod dolore ornare. Excepturi voluptatibus. Ultrices debitis integer ridiculus nisl turpis. Voluptas class, fugiat sociosqu? Commodi, wisi nam fermentum! Dui quos, euismod curabitur totam suspendisse. Vero anim, tempora earum, provident minima.</p><p>Eveniet fringilla accumsan placerat ut mattis a consequat fusce orci nostrud maiores nostrud posuere magnis, rutrum, hendrerit vestibulum doloremque cumque, molestiae quam rhoncus lacus natoque, arcu mauris semper enim nihil pede turpis autem mattis. Fuga mollis, dolores, eros eleifend officia! Illum cum. Vestibulum iste ullam, tenetur! Possimus sequi! Repudiandae tempus.</p><p>Magni exercitation, integer gravida justo feugiat nonummy tempor facilis luctus earum, illum, totam suscipit reiciendis phasellus, veniam lobortis aptent imperdiet porta quis nisi dolorum blanditiis mollis placerat aliquet sunt? Anim. Viverra ante, inventore, mus inventore vestibulum nisi soluta sociis arcu, malesuada quos, voluptates euismod alias nobis mollitia elementum. Harum sodales.</p><p>Sunt irure ornare! Vel mollis porro litora iusto optio dolores molestie bibendum! Mattis tortor egestas cras nonummy proident, dolorum maiores adipiscing blanditiis! Nobis euismod? Officiis dictum sit, eiusmod laoreet dolorum hac soluta laoreet consectetur minima iste aenean tempora! Quas, eaque molestias nulla lobortis perferendis dis mi erat blanditiis! Ullamco tempora.</p><p>Eget explicabo quae porro excepteur cupidatat et wisi praesentium expedita! Saepe, ullamco, tenetur harum cupidatat dolore iaculis ab. Illum ut repellendus! Temporibus! Dolorum volutpat? Odio sodales. Quam excepteur? Accusamus qui! Pharetra ultricies architecto lorem, enim expedita laoreet eos, aliquip sint libero ipsum, magna adipisicing sem commodi sollicitudin. Congue? Irure convallis.</p><p>Recusandae imperdiet sit provident repellendus accumsan ullam? Eum irure placeat senectus, laborum inceptos lacus. Fringilla nam, dis adipisci, ridiculus. Sequi, molestie rhoncus? Molestiae quibusdam mi illum laudantium sit, similique eiusmod veniam et? Excepteur! Aliquet provident, nemo similique nisi tempus venenatis fringilla ligula? Placerat adipiscing asperiores ab. Purus, asperiores? Ullamcorper quos.</p><p>Officia temporibus expedita asperiores laudantium hac porro, aliqua, debitis minus ad? Hic! Egestas hic, pariatur, consequuntur quaerat ultrices. Magni eiusmod dolore ornare. Excepturi voluptatibus. Ultrices debitis integer ridiculus nisl turpis. Voluptas class, fugiat sociosqu? Commodi, wisi nam fermentum! Dui quos, euismod curabitur totam suspendisse. Vero anim, tempora earum, provident minima.</p><p>This is a 2MB image with loading=&quot;lazy&quot;:</p><div class="media img" data-width="1920" data-height="1080" style="--width: 1920; --height: 1080;"><picture><img  src="https://swirl.plusthree.com/images/dolomites_xl.jpg" alt="" width="1920" height="1080" loading="lazy" onerror="this.classList.add('load-error');"></picture></div><p>This is a 1MB image with no loading attribute:</p><div class="media img" data-width="1920" data-height="1080" style="--width: 1920; --height: 1080;"><picture><img  src="https://swirl.plusthree.com/images/dolomites_lg.jpg" alt="" width="1920" height="1080" onerror="this.classList.add('load-error');"></picture></div>]]></content:encoded>
<pubDate>Tue, 23 Aug 2022 09:07:00 +0000</pubDate>
</item>

<item>
<title>Focus Style</title>
<link>https://swirl.plusthree.com/temp/focus_style/</link>
<guid>https://swirl.plusthree.com/temp/focus_style/</guid>
<description></description>
<content:encoded><![CDATA[<div class="white-bg"><p>This is a paragraph with <a href="#">a link</a>.</p><p>This is a button:</p><div class="buttons box"><a href="#" class="button">Button</a></div><div class="media img" data-width="300" data-height="300" style="--width: 300; --height: 300;"><a href="https://plusthree.com/"><picture><img  src="https://swirl.plusthree.com/images/vanilla_icon_300.png" alt="Plus Three Vanilla" width="300" height="300" onerror="this.classList.add('load-error');"></picture></a></div></div><div class="blue-bg"><p>This is a paragraph with <a href="#">a link</a>.</p><p>This is a button:</p><div class="buttons box"><a href="#" class="inverted button">Button</a></div></div><div class="gray-bg"><p>This is a paragraph with <a href="#">a link</a>.</p><p>This is a button:</p><div class="buttons box"><a href="#" class="inverted button">Button</a></div></div>]]></content:encoded>
<pubDate>Wed, 06 Apr 2022 16:15:00 +0000</pubDate>
</item>

<item>
<title>Archive Box</title>
<link>https://swirl.plusthree.com/elements/archive_box/</link>
<guid>https://swirl.plusthree.com/elements/archive_box/</guid>
<description></description>
<content:encoded><![CDATA[<div class="list-box archive-box my-box has-items has-no-more-items"><div class="card leadin-card" data-story-uuid="B69C10F2-8CD4-11E7-BBDA-52C00A572665" data-story-title="Story 2"><div class="card-inner"><div class="card-content"><div class="card-content-inner"><p class="date text-item">Aug 31, 2017</p><h3 class="title text-item"><a href="https://swirl.plusthree.com/test_files/story_archive/story_2/">Story 2</a></h3><div class="teaser text-item">Optio conubia erat doloremque aliquet sem, id id tempora? Per, lobortis mollitia adipiscing voluptatum? Eligendi fugiat, aptent consectetur tempor?</div></div><!-- /.card-content-inner --></div><!-- /.card-content --></div><!-- /.card-inner --></div><!-- ./leadin-card --><div class="card leadin-card" data-story-uuid="C778C00A-8CD4-11E7-AADD-52C00A572665" data-story-title="Story 4"><div class="card-inner"><div class="card-content"><div class="card-content-inner"><p class="date text-item">Sep  2, 2017</p><h3 class="title text-item"><a href="https://swirl.plusthree.com/test_files/story_archive/story_4/">Story 4</a></h3><div class="teaser text-item">Optio conubia erat doloremque aliquet sem, id id tempora? Per, lobortis mollitia adipiscing voluptatum? Eligendi fugiat, aptent consectetur tempor?</div></div><!-- /.card-content-inner --></div><!-- /.card-content --></div><!-- /.card-inner --></div><!-- ./leadin-card --><div class="card leadin-card" data-story-uuid="D8B5F414-8CD4-11E7-A010-52C00A572665" data-story-title="Story 6"><div class="card-inner"><div class="card-content"><div class="card-content-inner"><p class="date text-item">Sep  4, 2017</p><h3 class="title text-item"><a href="https://swirl.plusthree.com/test_files/story_archive/story_6/">Story 6</a></h3><div class="teaser text-item">Optio conubia erat doloremque aliquet sem, id id tempora? Per, lobortis mollitia adipiscing voluptatum? Eligendi fugiat, aptent consectetur tempor?</div></div><!-- /.card-content-inner --></div><!-- /.card-content --></div><!-- /.card-inner --></div><!-- ./leadin-card --><div class="card leadin-card" data-story-uuid="B2E51DFA-8CD4-11E7-BBDA-52C00A572665" data-story-title="Story 1"><div class="card-inner"><div class="card-content"><div class="card-content-inner"><p class="date text-item">Aug 30, 2017</p><h3 class="title text-item"><a href="https://swirl.plusthree.com/test_files/story_archive/story_1/">Story 1</a></h3><div class="teaser text-item">Optio conubia erat doloremque aliquet sem, id id tempora? Per, lobortis mollitia adipiscing voluptatum? Eligendi fugiat, aptent consectetur tempor?</div></div><!-- /.card-content-inner --></div><!-- /.card-content --></div><!-- /.card-inner --></div><!-- ./leadin-card --><div class="card leadin-card" data-story-uuid="BEABE60A-8CD4-11E7-B105-52C00A572665" data-story-title="Story 3"><div class="card-inner"><div class="card-content"><div class="card-content-inner"><p class="date text-item">Sep  1, 2017</p><h3 class="title text-item"><a href="https://swirl.plusthree.com/test_files/story_archive/story_3/">Story 3</a></h3><div class="teaser text-item">Optio conubia erat doloremque aliquet sem, id id tempora? Per, lobortis mollitia adipiscing voluptatum? Eligendi fugiat, aptent consectetur tempor?</div></div><!-- /.card-content-inner --></div><!-- /.card-content --></div><!-- /.card-inner --></div><!-- ./leadin-card --><div class="card leadin-card" data-story-uuid="CEEDFA9E-8CD4-11E7-AADD-52C00A572665" data-story-title="Story 5"><div class="card-inner"><div class="card-content"><div class="card-content-inner"><p class="date text-item">Sep  3, 2017</p><h3 class="title text-item"><a href="https://swirl.plusthree.com/test_files/story_archive/story_5/">Story 5</a></h3><div class="teaser text-item">Optio conubia erat doloremque aliquet sem, id id tempora? Per, lobortis mollitia adipiscing voluptatum? Eligendi fugiat, aptent consectetur tempor?</div></div><!-- /.card-content-inner --></div><!-- /.card-content --></div><!-- /.card-inner --></div><!-- ./leadin-card --><div class="card leadin-card" data-story-uuid="A3D7BE26-836A-11EC-B28E-3E4CE9300C26" data-story-title="Story 7: News Clipping"><div class="card-inner"><div class="card-content"><div class="card-content-inner"><p class="date text-item">Sep  5, 2017</p><h3 class="title text-item"><a href="https://swirl.plusthree.com/test_files/story_archive/story_7/">Story 7: News Clipping</a></h3><p class="source text-item">New York Times</p><div class="teaser text-item">Optio conubia erat doloremque aliquet sem, id id tempora? Per, lobortis mollitia adipiscing voluptatum? Eligendi fugiat, aptent consectetur tempor?</div></div><!-- /.card-content-inner --></div><!-- /.card-content --></div><!-- /.card-inner --></div><!-- ./leadin-card --></div><!-- /.list-box -->]]></content:encoded>
<pubDate>Tue, 01 Feb 2022 09:15:00 +0000</pubDate>
</item>

<item>
<title>Rollover with Image Swap</title>
<link>https://swirl.plusthree.com/dev/rollover_with_image_swap/</link>
<guid>https://swirl.plusthree.com/dev/rollover_with_image_swap/</guid>
<description></description>
<content:encoded><![CDATA[<p>On hover, we add a background to the image div and change the image displayed. This is a proof-of-concept for a pattern used on the new Plus Three homepage (12/21).</p><p>Here, the off state is a gray image with no background; on hover we have a white image with a light gray background. There is a transition time of 1 second for the visual effect.</p><div class="img-wrapper"><div class="media img" data-width="418" data-height="114" style="--width: 418; --height: 114;"><picture><img  src="https://swirl.plusthree.com/images/jfpbc_color_2x.png" alt="Off" width="418" height="114" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="418" data-height="114" style="--width: 418; --height: 114;"><picture><img  src="https://swirl.plusthree.com/images/jfpbc_white_2x.png" alt="On" width="418" height="114" onerror="this.classList.add('load-error');"></picture></div></div>]]></content:encoded>
<pubDate>Wed, 22 Dec 2021 09:30:00 +0000</pubDate>
</item>

<item>
<title>Cards</title>
<link>https://swirl.plusthree.com/cards/</link>
<guid>https://swirl.plusthree.com/cards/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Thu, 16 Dec 2021 13:45:00 +0000</pubDate>
</item>

<item>
<title>Image Overlays</title>
<link>https://swirl.plusthree.com/cards/image_overlays/</link>
<guid>https://swirl.plusthree.com/cards/image_overlays/</guid>
<description></description>
<content:encoded><![CDATA[<p>This pattern uses card markup. By adding particular classes, you can set the content to overlap the media, which is useful for hero image boxes. Because we use an actual image (as opposed to a background image) the image will resize keeping its aspect ratio.</p><p>The basic classes are:</p><li><code>overlay</code>: text will overlay the image on all screens.</li><li><code>overlay-md-up</code>: text will overlay the image on all screens larger than 640px.</li><li><code>overlay-lg-up</code>: text will overlay the image on all screens larger than 1024px.</li><li><code>overlay-xl-up</code>: text will overlay the image on all screens larger than 1280px.</li><p>If one of the size-specific classes is used, layout will default to a basic card on smaller screens.</p><p>This examples uses the following classes: <code>overlay-md-up justify-bottom align-center</code>. Additional custom CSS will usually be necessary to address issues such as padding, gutters, color, etc.</p><div class="card overlay-md-up justify-bottom align-center"><div class="card-inner"><div class="card-media"><div class="card-media-inner"><div class="media img" data-width="1920" data-height="640" style="--width: 1920; --height: 640;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_3x1.png" alt="" width="1920" height="640" onerror="this.classList.add('load-error');"></picture></div></div></div><div class="card-content compact"><div class="card-content-inner"><h2>This is the Headline</h2><p>Hendrerit cillum sapien, leo, harum quibusdam primis senectus iste, ultrices, esse id cupiditate nunc assumenda quam, netus totam. Hendrerit cillum sapien, leo, harum quibusdam primis senectus iste, ultrices, esse id cupiditate nunc assumenda quam, netus totam.</p><div class="readmore"><a href="/site_map/">Read More</a></div></div></div></div></div><p>When the overlay is in effect, the following classes control various layout properties:</p><li><code>justify-center</code>: text will overlay the image centered vertically.</li><li><code>justify-bottom</code>: text will overlay the image at the bottom.</li><li><code>align-center</code>: text will overlay the image centered horizontally.</li>]]></content:encoded>
<pubDate>Thu, 16 Dec 2021 10:54:00 +0000</pubDate>
</item>

<item>
<title>Leadins in Grids</title>
<link>https://swirl.plusthree.com/leadins/grid/</link>
<guid>https://swirl.plusthree.com/leadins/grid/</guid>
<description></description>
<content:encoded><![CDATA[<style>#content .leadin {    padding: 10px;    background-color: #eee;}</style><p>Leadins in a grid behave a little differently than if they are displayed outside that content. First, the leadin elements are stacked in column by default.</p><p>The leadins have been placed in padded boxes with a background color just for display purposes here. That is not part of the standard look.</p><p>All the grids below are 3-up for tablet and above, 1-up for phones.</p><h3>Flex-Block-Grid</h3><p>Flex-block-grids set each item at a fixed width (in this case, 30.5% of the total width) and space them out.</p><div class="flex-block-grid three-up one-up-sm"><div class="card leadin-card" data-story-uuid="4FED3AF2-2856-11E8-870B-0A62338D5A9D" data-story-title="Default"><div class="card-inner"><div class="card-media"><div class="card-media-inner"><a href="https://swirl.plusthree.com/privacy/"><picture><img src="//swirl.plusthree.com/images/placeholder_600_16x9.png" alt="Default" width="600" height="338"></picture></a></div><!-- /.card-media-inner --></div><!-- /.card-media --><div class="card-content"><div class="card-content-inner"><h3 class="title text-item"><a href="https://swirl.plusthree.com/privacy/">Default</a></h3><div class="teaser text-item">Fermentum iaculis magnis quo explicabo quaerat! Sociis similique, varius similique ligula possimus, tempora cupidatat at minim doloribus excepteur facere, non!</div><p class="readmore text-item"><a href="https://swirl.plusthree.com/privacy/" aria-label="More: Default">More</a></p></div><!-- /.card-content-inner --></div><!-- /.card-content --></div><!-- /.card-inner --></div><!-- ./leadin-card --><div class="card leadin-card title-top" data-story-uuid="4FED3AF2-2856-11E8-870B-0A62338D5A9D" data-story-title="Title Top"><div class="card-inner"><h3 class="title text-item"><a href="https://swirl.plusthree.com/privacy/">Title Top</a></h3><div class="card-media"><div class="card-media-inner"><a href="https://swirl.plusthree.com/privacy/"><picture><img src="//swirl.plusthree.com/images/placeholder_600_16x9.png" alt="Title Top" width="600" height="338"></picture></a></div><!-- /.card-media-inner --></div><!-- /.card-media --><div class="card-content"><div class="card-content-inner"><div class="teaser text-item">Fermentum iaculis magnis quo explicabo quaerat! Sociis similique, varius similique ligula possimus, tempora cupidatat at minim doloribus excepteur facere, non!</div><p class="readmore text-item"><a href="https://swirl.plusthree.com/privacy/" aria-label="More: Title Top">More</a></p></div><!-- /.card-content-inner --></div><!-- /.card-content --></div><!-- /.card-inner --></div><!-- ./leadin-card --><div class="card leadin-card buttonize" data-story-uuid="4FED3AF2-2856-11E8-870B-0A62338D5A9D" data-story-title="Buttonized"><div class="card-inner"><div class="card-media"><div class="card-media-inner"><a href="https://swirl.plusthree.com/privacy/"><picture><img src="//swirl.plusthree.com/images/placeholder_600_16x9.png" alt="Buttonized" width="600" height="338"></picture></a></div><!-- /.card-media-inner --></div><!-- /.card-media --><div class="card-content"><div class="card-content-inner"><h3 class="title text-item"><a href="https://swirl.plusthree.com/privacy/">Buttonized</a></h3><div class="teaser text-item">Fermentum iaculis magnis quo explicabo quaerat! Sociis similique, varius similique ligula possimus, tempora cupidatat at minim doloribus excepteur facere, non!</div><p class="readmore text-item"><a href="https://swirl.plusthree.com/privacy/" aria-label="More: Buttonized">More</a></p></div><!-- /.card-content-inner --></div><!-- /.card-content --></div><!-- /.card-inner --></div><!-- ./leadin-card --></div><h3>Grid-Block-Grid</h3><p>Grid-block-grids set each item at an equal width, but the spacing is determine by the gap-Xx class (e.g. gap-4 used here adds 1rem = 16px of space between each item).</p><div class="grid-block-grid three-up one-up-sm gap-4"><div class="card leadin-card" data-story-uuid="4FED3AF2-2856-11E8-870B-0A62338D5A9D" data-story-title="Default"><div class="card-inner"><div class="card-media"><div class="card-media-inner"><a href="https://swirl.plusthree.com/privacy/"><picture><img src="//swirl.plusthree.com/images/placeholder_600_16x9.png" alt="Default" width="600" height="338"></picture></a></div><!-- /.card-media-inner --></div><!-- /.card-media --><div class="card-content"><div class="card-content-inner"><h3 class="title text-item"><a href="https://swirl.plusthree.com/privacy/">Default</a></h3><div class="teaser text-item">Fermentum iaculis magnis quo explicabo quaerat! Sociis similique, varius similique ligula possimus, tempora cupidatat at minim doloribus excepteur facere, non!</div><p class="readmore text-item"><a href="https://swirl.plusthree.com/privacy/" aria-label="More: Default">More</a></p></div><!-- /.card-content-inner --></div><!-- /.card-content --></div><!-- /.card-inner --></div><!-- ./leadin-card --><div class="card leadin-card title-top" data-story-uuid="4FED3AF2-2856-11E8-870B-0A62338D5A9D" data-story-title="Title Top"><div class="card-inner"><h3 class="title text-item"><a href="https://swirl.plusthree.com/privacy/">Title Top</a></h3><div class="card-media"><div class="card-media-inner"><a href="https://swirl.plusthree.com/privacy/"><picture><img src="//swirl.plusthree.com/images/placeholder_600_16x9.png" alt="Title Top" width="600" height="338"></picture></a></div><!-- /.card-media-inner --></div><!-- /.card-media --><div class="card-content"><div class="card-content-inner"><div class="teaser text-item">Fermentum iaculis magnis quo explicabo quaerat! Sociis similique, varius similique ligula possimus, tempora cupidatat at minim doloribus excepteur facere, non!</div><p class="readmore text-item"><a href="https://swirl.plusthree.com/privacy/" aria-label="More: Title Top">More</a></p></div><!-- /.card-content-inner --></div><!-- /.card-content --></div><!-- /.card-inner --></div><!-- ./leadin-card --><div class="card leadin-card buttonize-big" data-story-uuid="4FED3AF2-2856-11E8-870B-0A62338D5A9D" data-story-title="Buttonized Big"><div class="card-inner"><div class="card-media"><div class="card-media-inner"><a href="https://swirl.plusthree.com/privacy/"><picture><img src="//swirl.plusthree.com/images/placeholder_600_16x9.png" alt="Buttonized Big" width="600" height="338"></picture></a></div><!-- /.card-media-inner --></div><!-- /.card-media --><div class="card-content"><div class="card-content-inner"><h3 class="title text-item"><a href="https://swirl.plusthree.com/privacy/">Buttonized Big</a></h3><div class="teaser text-item">Fermentum iaculis magnis quo explicabo quaerat! Sociis similique, varius similique ligula possimus, tempora cupidatat at minim doloribus excepteur facere, non!</div><p class="readmore text-item"><a href="https://swirl.plusthree.com/privacy/" aria-label="More: Buttonized Big">More</a></p></div><!-- /.card-content-inner --></div><!-- /.card-content --></div><!-- /.card-inner --></div><!-- ./leadin-card --></div>]]></content:encoded>
<pubDate>Fri, 19 Nov 2021 11:15:00 +0000</pubDate>
</item>

<item>
<title>Leadins</title>
<link>https://swirl.plusthree.com/leadins/</link>
<guid>https://swirl.plusthree.com/leadins/</guid>
<description>Simple leadins as displayed outside of any special context, like grids. Usually seen in these ways on simple archive pages.</description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Fri, 19 Nov 2021 11:06:00 +0000</pubDate>
</item>

<item>
<title> Card Leadins</title>
<link>https://swirl.plusthree.com/leadins/cards/</link>
<guid>https://swirl.plusthree.com/leadins/cards/</guid>
<description></description>
<content:encoded><![CDATA[<style>#content .card {    padding: 10px;    background-color: #eee;}</style><p>Cards are a basic design pattern: an image/video and some text and maybe a smaller image (e.g. a logo) to go with it. Leadins, then, are a subset of cards, and this is the first attempt to create an HTML/CSS pattern to handle them both.</p><p>Like regular cards, leadin cards default to a column layout, but we can force a row layout or a two-up layout to occur at various screen sizes by adding specific classes to the leadin element.</p><p>Legacy leadins are still the default and supported, but new development will focus on cards. To make a leadin a card, specify the leadin type as <code>card</code>, or set the parameter <code>leadin_type = card</code> at the stie level for a default.</p><p><strong>Important:</strong> Leadins do not read parameters at the story level, so to override a site-wide or category wide setting of <code>leadin_type</code>, you need to add that paramter to a category closer to the story. Or you can add <code>legacy</code> as the type of the leadin.</p><p>The cards have been placed in padded boxes with a background color just for display purposes here. That is not part of the standard look.</p><h3>No Teaser Image</h3><div class="card leadin-card" data-story-uuid="4FED3AF2-2856-11E8-870B-0A62338D5A9D" data-story-title="This is the Title"><div class="card-inner"><div class="card-content"><div class="card-content-inner"><h3 class="title text-item"><a href="https://swirl.plusthree.com/privacy/">This is the Title</a></h3><div class="teaser text-item">Fermentum iaculis magnis quo explicabo quaerat! Sociis similique, varius similique ligula possimus, tempora cupidatat at minim doloribus excepteur facere, non!</div><p class="readmore text-item"><a href="https://swirl.plusthree.com/privacy/" aria-label="More: This is the Title">More</a></p></div><!-- /.card-content-inner --></div><!-- /.card-content --></div><!-- /.card-inner --></div><!-- ./leadin-card --><h3>No Teaser Image, Loose</h3><p>By default, the spacing between the various items is tighter than normal text. Adding the class <code>loose</code> to the leadin will reset the margins to the default.</p><div class="card leadin-card loose" data-story-uuid="4FED3AF2-2856-11E8-870B-0A62338D5A9D" data-story-title="This is the Title"><div class="card-inner"><div class="card-content"><div class="card-content-inner"><h3 class="title text-item"><a href="https://swirl.plusthree.com/privacy/">This is the Title</a></h3><div class="teaser text-item">Fermentum iaculis magnis quo explicabo quaerat! Sociis similique, varius similique ligula possimus, tempora cupidatat at minim doloribus excepteur facere, non!</div><p class="readmore text-item"><a href="https://swirl.plusthree.com/privacy/" aria-label="More: This is the Title">More</a></p></div><!-- /.card-content-inner --></div><!-- /.card-content --></div><!-- /.card-inner --></div><!-- ./leadin-card --><h3>With Teaser Image</h3><p>In a column layout, images will size normally, but will be constrained by the size of the container. To put the image below the card content, add <code>reversed</code> class.</p><div class="card leadin-card" data-story-uuid="4FED3AF2-2856-11E8-870B-0A62338D5A9D" data-story-title="This is the Title"><div class="card-inner"><div class="card-media"><div class="card-media-inner"><a href="https://swirl.plusthree.com/privacy/"><picture><img src="//swirl.plusthree.com/images/placeholder_600_16x9.png" alt="This is the Title" width="600" height="338"></picture></a></div><!-- /.card-media-inner --></div><!-- /.card-media --><div class="card-content"><div class="card-content-inner"><h3 class="title text-item"><a href="https://swirl.plusthree.com/privacy/">This is the Title</a></h3><div class="teaser text-item">Fermentum iaculis magnis quo explicabo quaerat! Sociis similique, varius similique ligula possimus, tempora cupidatat at minim doloribus excepteur facere, non!</div><p class="readmore text-item"><a href="https://swirl.plusthree.com/privacy/" aria-label="More: This is the Title">More</a></p></div><!-- /.card-content-inner --></div><!-- /.card-content --></div><!-- /.card-inner --></div><!-- ./leadin-card --><h3>No Read More Link</h3><p>Delete the text in the &quot;link text&quot; element in the leadin.</p><div class="card leadin-card" data-story-uuid="4FED3AF2-2856-11E8-870B-0A62338D5A9D" data-story-title="This is the Title"><div class="card-inner"><div class="card-media"><div class="card-media-inner"><a href="https://swirl.plusthree.com/privacy/"><picture><img src="//swirl.plusthree.com/images/placeholder_600_16x9.png" alt="This is the Title" width="600" height="338"></picture></a></div><!-- /.card-media-inner --></div><!-- /.card-media --><div class="card-content"><div class="card-content-inner"><h3 class="title text-item"><a href="https://swirl.plusthree.com/privacy/">This is the Title</a></h3><div class="teaser text-item">Fermentum iaculis magnis quo explicabo quaerat! Sociis similique, varius similique ligula possimus, tempora cupidatat at minim doloribus excepteur facere, non!</div></div><!-- /.card-content-inner --></div><!-- /.card-content --></div><!-- /.card-inner --></div><!-- ./leadin-card --><h3>No Links</h3><p>While not normally needed, in some cases you need to disable the links in a leadin. Add the parameter <code>no_links = 1</code> to the leadin.</p><div class="card leadin-card" data-story-uuid="4FED3AF2-2856-11E8-870B-0A62338D5A9D" data-story-title="This is the Title"><div class="card-inner"><div class="card-media"><div class="card-media-inner"><picture><img src="//swirl.plusthree.com/images/placeholder_600_16x9.png" alt="This is the Title" width="600" height="338"></picture></div><!-- /.card-media-inner --></div><!-- /.card-media --><div class="card-content"><div class="card-content-inner"><h3 class="title text-item">This is the Title</h3><div class="teaser text-item">Fermentum iaculis magnis quo explicabo quaerat! Sociis similique, varius similique ligula possimus, tempora cupidatat at minim doloribus excepteur facere, non!</div></div><!-- /.card-content-inner --></div><!-- /.card-content --></div><!-- /.card-inner --></div><!-- ./leadin-card --><h3>Row Layout</h3><p>This simple card uses the <code>row-lg-up</code> class, which produces a row layout at tablet-landscape (1024px) and above. The image will size normally, but will be constrained to the size of the container. The gap between the image and the text content is 5% of the total width of that element. To remove the gap, add the class <code>no-gap</code>.</p><div class="card leadin-card row-lg-up" data-story-uuid="4FED3AF2-2856-11E8-870B-0A62338D5A9D" data-story-title="This is the Title"><div class="card-inner"><div class="card-media"><div class="card-media-inner"><a href="https://swirl.plusthree.com/privacy/"><picture><img src="//swirl.plusthree.com/images/placeholder_600_16x9.png" alt="This is the Title" width="600" height="338"></picture></a></div><!-- /.card-media-inner --></div><!-- /.card-media --><div class="card-content"><div class="card-content-inner"><h3 class="title text-item"><a href="https://swirl.plusthree.com/privacy/">This is the Title</a></h3><div class="teaser text-item">Fermentum iaculis magnis quo explicabo quaerat! Sociis similique, varius similique ligula possimus, tempora cupidatat at minim doloribus excepteur facere, non!</div><p class="readmore text-item"><a href="https://swirl.plusthree.com/privacy/" aria-label="More: This is the Title">More</a></p></div><!-- /.card-content-inner --></div><!-- /.card-content --></div><!-- /.card-inner --></div><!-- ./leadin-card --><h3>Row Layout, Max-width Image</h3><p>To constrain the size of the image, you can add a class of <code>media-width-X</code>, where X is a percentage of the total width. Values for X are: 25, 33, 40, 50, 60 and 67. The following uses <code>media-width-33</code>.</p><div class="card leadin-card row-lg-up media-width-33" data-story-uuid="4FED3AF2-2856-11E8-870B-0A62338D5A9D" data-story-title="This is the Title"><div class="card-inner"><div class="card-media"><div class="card-media-inner"><a href="https://swirl.plusthree.com/privacy/"><picture><img src="//swirl.plusthree.com/images/placeholder_600_16x9.png" alt="This is the Title" width="600" height="338"></picture></a></div><!-- /.card-media-inner --></div><!-- /.card-media --><div class="card-content"><div class="card-content-inner"><h3 class="title text-item"><a href="https://swirl.plusthree.com/privacy/">This is the Title</a></h3><div class="teaser text-item">Fermentum iaculis magnis quo explicabo quaerat! Sociis similique, varius similique ligula possimus, tempora cupidatat at minim doloribus excepteur facere, non!</div><p class="readmore text-item"><a href="https://swirl.plusthree.com/privacy/" aria-label="More: This is the Title">More</a></p></div><!-- /.card-content-inner --></div><!-- /.card-content --></div><!-- /.card-inner --></div><!-- ./leadin-card --><h3>With Teaser Image, Image Right, Centered</h3><p>Add the class <code>reversed-up</code> to the leadin. This only works when you already have the row-X-up class added. Additionally, we add <code>items-center</code> to align the content and media along the central axis.</p><div class="card leadin-card row-lg-up reversed-up items-center" data-story-uuid="4FED3AF2-2856-11E8-870B-0A62338D5A9D" data-story-title="This is the Title"><div class="card-inner"><div class="card-media"><div class="card-media-inner"><a href="https://swirl.plusthree.com/privacy/"><picture><img src="//swirl.plusthree.com/images/placeholder_600_16x9.png" alt="This is the Title" width="600" height="338"></picture></a></div><!-- /.card-media-inner --></div><!-- /.card-media --><div class="card-content"><div class="card-content-inner"><h3 class="title text-item"><a href="https://swirl.plusthree.com/privacy/">This is the Title</a></h3><div class="teaser text-item">Fermentum iaculis magnis quo explicabo quaerat! Sociis similique, varius similique ligula possimus, tempora cupidatat at minim doloribus excepteur facere, non!</div><p class="readmore text-item"><a href="https://swirl.plusthree.com/privacy/" aria-label="More: This is the Title">More</a></p></div><!-- /.card-content-inner --></div><!-- /.card-content --></div><!-- /.card-inner --></div><!-- ./leadin-card --><h3>With Teaser Image, Title Top</h3><p>This puts the title above the image. Add the class <code>title-top</code> to the leadin. Currently, this only works for leadins in column layout.</p><div class="card leadin-card title-top" data-story-uuid="4FED3AF2-2856-11E8-870B-0A62338D5A9D" data-story-title="This is the Title"><div class="card-inner"><h3 class="title text-item"><a href="https://swirl.plusthree.com/privacy/">This is the Title</a></h3><div class="card-media"><div class="card-media-inner"><a href="https://swirl.plusthree.com/privacy/"><picture><img src="//swirl.plusthree.com/images/placeholder_600_16x9.png" alt="This is the Title" width="600" height="338"></picture></a></div><!-- /.card-media-inner --></div><!-- /.card-media --><div class="card-content"><div class="card-content-inner"><div class="teaser text-item">Fermentum iaculis magnis quo explicabo quaerat! Sociis similique, varius similique ligula possimus, tempora cupidatat at minim doloribus excepteur facere, non!</div><p class="readmore text-item"><a href="https://swirl.plusthree.com/privacy/" aria-label="More: This is the Title">More</a></p></div><!-- /.card-content-inner --></div><!-- /.card-content --></div><!-- /.card-inner --></div><!-- ./leadin-card --><h3>Two-up Layout</h3><p>This produces a layout where both the media and content elements take up half of the available width, with a 3rem gap between them by default. This example uses the <code>two-up-lg-up</code> class, which produces a two-up layout at tablet-landscape (1024px) and above.</p><div class="card leadin-card two-up-lg-up" data-story-uuid="4FED3AF2-2856-11E8-870B-0A62338D5A9D" data-story-title="This is the Title"><div class="card-inner"><div class="card-media"><div class="card-media-inner"><a href="https://swirl.plusthree.com/privacy/"><picture><img src="//swirl.plusthree.com/images/placeholder_600_16x9.png" alt="This is the Title" width="600" height="338"></picture></a></div><!-- /.card-media-inner --></div><!-- /.card-media --><div class="card-content"><div class="card-content-inner"><h3 class="title text-item"><a href="https://swirl.plusthree.com/privacy/">This is the Title</a></h3><div class="teaser text-item">Fermentum iaculis magnis quo explicabo quaerat! Sociis similique, varius similique ligula possimus, tempora cupidatat at minim doloribus excepteur facere, non!</div><p class="readmore text-item"><a href="https://swirl.plusthree.com/privacy/" aria-label="More: This is the Title">More</a></p></div><!-- /.card-content-inner --></div><!-- /.card-content --></div><!-- /.card-inner --></div><!-- ./leadin-card --><h3>Two-up, Custom Gap</h3><p>Override the  <code>--card-2up-col-gap</code> custom property will set media and content width at a value that accomodates the gap.</p><div class="card leadin-card two-up-lg-up bespoke-gap" data-story-uuid="4FED3AF2-2856-11E8-870B-0A62338D5A9D" data-story-title="This is the Title"><div class="card-inner"><div class="card-media"><div class="card-media-inner"><a href="https://swirl.plusthree.com/privacy/"><picture><img src="//swirl.plusthree.com/images/placeholder_600_3x1.png" alt="This is the Title" width="600" height="200"></picture></a></div><!-- /.card-media-inner --></div><!-- /.card-media --><div class="card-content"><div class="card-content-inner"><h3 class="title text-item"><a href="https://swirl.plusthree.com/privacy/">This is the Title</a></h3><div class="teaser text-item">Fermentum iaculis magnis quo explicabo quaerat! Sociis similique, varius similique ligula possimus, tempora cupidatat at minim doloribus excepteur facere, non!</div><p class="readmore text-item"><a href="https://swirl.plusthree.com/privacy/" aria-label="More: This is the Title">More</a></p></div><!-- /.card-content-inner --></div><!-- /.card-content --></div><!-- /.card-inner --></div><!-- ./leadin-card --><style>.bespoke-gap {  --card-2up-col-gap: 6rem;}</style>]]></content:encoded>
<pubDate>Fri, 19 Nov 2021 09:55:00 +0000</pubDate>
</item>

<item>
<title>Pashto Demo</title>
<link>https://swirl.plusthree.com/dev/pashto_demo/</link>
<guid>https://swirl.plusthree.com/dev/pashto_demo/</guid>
<description></description>
<content:encoded><![CDATA[<div lang="ps" dir="rtl"><p>د متحدینو ښه راغلاست بهرنی عکس، د کورني امنیت ریاست لخوا رهبري کیږي. څه د پاسه 124,000 کسان چې د 6,000 امریکايي اتباعو په ګډون په خوندي توګه له افغانستان څخه وتلي دي. ډیری ایستل شوي د هغو سیمو څخه دي چې روغتیایی پاملرنې او واکسینونو ته محدود لاسرسی لري او د ویستلو پروسې په جریان کې د اوږدې مودې لپاره په نږدې ځایونو کې ژوند کوي چې پدې توګه د ناروغۍ د خپریدو خطر زیاتوي.</p><p>CDC او نورې دولتي ادارې د بیا میشتیدنې پروسې په جریان کې د ساري ناروغیو د خپریدو مخنیوي لپاره احتیاطي تدابیر نیسي. ایستل شوي کسان، په شمول د هغو کسانو په شمول چې دمخه متحده ایالاتو ته رسیدلي او هغه کسان چې د واکسین ترلاسه کولو وروسته راځي، د ساري ناروغیو لپاره طبي معاینات کیږي او د اړتیا په صورت کې به طبي پاملرنې ترلاسه کړي. هغه کډوال چې دمخه په متحده ایالاتو کې دي چې دمخه واکسین شوي ندي د شري ، ممپس ، روبیلا (MMR) ، پولیو ، چرګ پوکس ، او COVID-19 لپاره واکسین ترلاسه کوي. ایستل شوي کسان به د نري رنځ لپاره هم معاینه شي. دا تدبیرونه د ایستلو د روغتیا ساتنې او په متحده ایالاتو کې د ساري ناروغیو د پیژندلو او خپریدو مخنیوي لپاره اخیستل کیږي.</p></div>]]></content:encoded>
<pubDate>Tue, 16 Nov 2021 11:27:00 +0000</pubDate>
</item>

<item>
<title>Basic Cards</title>
<link>https://swirl.plusthree.com/cards/basic/</link>
<guid>https://swirl.plusthree.com/cards/basic/</guid>
<description></description>
<content:encoded><![CDATA[<p>Cards are a common pattern, and most often are composed of an image and text. The &quot;card&quot; pattern itself is new, but we&#39;ve seen this before with leadins, which can be thought of as simple cards.</p><p>The card pattern itself was developed to provide a way for leadin-type layouts without the leadin element itself. These are especially common on homepages and section covers where the media and text content are more complex than usual for leadins.</p><p>At some point in the future, leadins will be migrated to use the card layout explicity.</p><p>Cards have a number of different options, which are illustrated below.</p><h3>Simple Card</h3><p>By default, cards assume a column layout. You can force a row layout begining at a certain breakpoint by adding the appropriate class to the card.</p><p>This simple card uses the row-lg-up class, which produces a row layout at tablet-landscape (1024px) and above.</p><div class="card row-lg-up"><div class="card-inner"><div class="card-media"><div class="card-media-inner"><div class="media img" data-width="600" data-height="600" style="--width: 600; --height: 600;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_square.png" alt="" width="600" height="600" onerror="this.classList.add('load-error');"></picture></div></div></div><div class="card-content"><div class="card-content-inner"><h2>This is a Section Heading</h2><p>Optio nulla dolorem labore tempora laudantium! Mus ex, corrupti consequatur eius suscipit dignissim nostrud. Aliqua fermentum, magnam exercitation! Consectetuer odio, tempor tellus venenatis sapiente eros molestiae dignissim!</p><div class="card-buttons"><button>Button 1</button><button>Button 2</button></div></div></div></div><!-- /.card-inner --></div><h3>Simple Card Two-Up</h3><p>This card uses the two-up-lg-up class, which produces a two-up layout at tablet-landscape (1024px) and above.</p><div class="card two-up-lg-up"><div class="card-inner"><div class="card-media"><div class="card-media-inner"><div class="media img" data-width="600" data-height="600" style="--width: 600; --height: 600;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_square.png" alt="" width="600" height="600" onerror="this.classList.add('load-error');"></picture></div></div></div><div class="card-content"><div class="card-content-inner"><h2>This is a Section Heading</h2><p>Optio nulla dolorem labore tempora laudantium! Mus ex, corrupti consequatur eius suscipit dignissim nostrud. Aliqua fermentum, magnam exercitation! Consectetuer odio, tempor tellus venenatis sapiente eros molestiae dignissim!</p><div class="card-buttons"><button>Button 1</button><button>Button 2</button></div></div></div></div></div><h3>Card Demo</h3><p>To illustrate the other options, click on the buttons below this card. Active options are red. Explanations of each option are below the buttons.</p><p>Unless otherwise noted, classes are applied to the .card div itself.</p><p>Also, unless otherwise noted, classes controlling layout at various screen sizes use the &quot;lg-up&quot; versions, tablet-landscape (1024px) and above.</p><div id="dynamic-card" class="card"><div class="card-inner"><div class="card-media"><div class="card-media-inner"><div class="media img" data-width="600" data-height="600" style="--width: 600; --height: 600;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_square.png" alt="" width="600" height="600" onerror="this.classList.add('load-error');"></picture></div></div></div><div class="card-content"><div class="card-content-inner"><h2>This is a Section Heading</h2><p>Optio nulla dolorem labore tempora laudantium! Mus ex, corrupti consequatur eius suscipit dignissim nostrud. Aliqua fermentum, magnam exercitation! Consectetuer odio, tempor tellus venenatis sapiente eros molestiae dignissim!</p><div class="card-buttons"><button>Button 1</button><button>Button 2</button></div></div></div></div></div><hr /><div class="toggle-buttons margin-bottom"><button class="flush-btn">Flush</button><button class="compact-btn">Compact</button><button class="row-btn">Row</button><button class="two-up-btn">Two-Up</button><button class="no-gap-btn">No Gap</button></div><ul><li class="flush">Flush: remove the bottom margin from the card.</li><li class="cmpct">Compact: tighten the margins in the card-content div. These are applied to the .card-media and .card-content divs.</li><li class="row">Row: Make the card assume a row layout. This will not limit the size of the image.</li><li class="two-up">Two-up: Make the card into a two-up "block grid". This will limit the image to half the available space.</li><li class="no-gap">No-gap: With any row or two-up layout, this will eliminate the gutter between image and text.</li></ul><h3>Simple Card Two-Up Media-Cover</h3><div><div class="card flush two-up-lg-up items-center media-cover"><div class="card-inner"><div class="card-media"><div class="card-media-inner"><div class="media img" data-width="960" data-height="720" style="--width: 960; --height: 720;"><picture><img  src="https://swirl.plusthree.com/images/24hob.jpg" alt="" width="960" height="720" onerror="this.classList.add('load-error');"></picture></div></div></div><div class="card-content"><div class="card-content-inner"><h2>Section Heading</h2><p>Anim dolorum quibusdam senectus lacus primis urna feugiat ridiculus porta, fermentum blandit voluptatibus cras ab primis? Impedit. Euismod, dis asperiores! Nullam, magnam? Nemo maxime leo, sint, commodi unde magni nostra. Itaque quae, adipisci cupiditate molestie, irure inventore nemo delectus ab iste dolorum quaerat curae voluptates, cupiditate.</p><p>Dolorem labore, eros quam condimentum pulvinar nostra a hac nascetur laboris, qui eum sit aut fugit dolor, id suspendisse suscipit, consectetur neque, senectus sollicitudin quae sociis unde quod! Exercitationem nulla porttitor voluptatum rhoncus praesentium mollitia faucibus, neque cillum! Fugit explicabo voluptatibus ipsum, laoreet minus! Animi vel inceptos! Explicabo, tempore, potenti distinctio egestas magnam malesuada.</p><p>Soluta euismod facilisi dicta euismod rutrum aute non rutrum sociosqu incididunt eaque ullam culpa integer egestas lectus netus congue, sequi, netus ea aspernatur posuere! Fringilla repudiandae, explicabo sem voluptatibus iste voluptate! Nibh turpis, quod, leo, delectus nisi elementum accusantium, rerum? Ante pretium? Magnam venenatis, voluptatibus.</p><p>Pellentesque mi iste ut. Nunc veniam vulputate molestie? Quas diamlorem, porttitor litora excepturi. Volutpat eros augue cras imperdiet convallis facilisis proident ea vitae culpa, lorem sint massa laboris fermentum vulputate ipsum eligendi.</p></div></div></div></div></div>]]></content:encoded>
<pubDate>Tue, 26 Oct 2021 11:44:00 +0000</pubDate>
</item>

<item>
<title>Logo Grid</title>
<link>https://swirl.plusthree.com/block_grids/logo/</link>
<guid>https://swirl.plusthree.com/block_grids/logo/</guid>
<description>A grid arrangment specifically designed for logos, which can differ radically in size and aspect ratio.</description>
<content:encoded><![CDATA[<p>This is a grid arrangment specifically designed for logos, which can differ radically in size and aspect ratio. We base the size on a particular height (default: 5rem) and then make adjustments based on the aspect ratio of the image to get a better balance.</p><p>Logo images must be trimmed so that there is no padding around the graphic device. Images will shrink to fit, but will not grow. Unlike logos used in <code>auto-block-grid</code> layouts, the images themselves do not need to be resized to make them smaller.</p><div class="logo-grid"><div class="media img" data-width="324" data-height="103" style="--width: 324; --height: 103;"><picture><img  src="https://swirl.plusthree.com/images/logos2/logo-airbnb.png" alt="" width="324" height="103" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="226" data-height="246" style="--width: 226; --height: 246;"><picture><img  src="https://swirl.plusthree.com/images/logos2/logo-nea.png" alt="" width="226" height="246" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="463" data-height="436" style="--width: 463; --height: 436;"><picture><img  src="https://swirl.plusthree.com/images/logos2/logo-life-insurance-tricks.png" alt="" width="463" height="436" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="336" data-height="194" style="--width: 336; --height: 194;"><picture><img  src="https://swirl.plusthree.com/images/logos2/logo-coca-cola.png" alt="" width="336" height="194" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="841" data-height="1103" style="--width: 841; --height: 1103;"><picture><img  src="https://swirl.plusthree.com/images/logos2/logo-ifc.png" alt="" width="841" height="1103" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="1136" data-height="503" style="--width: 1136; --height: 503;"><picture><img  src="https://swirl.plusthree.com/images/logos2/logo-cincinnati-insurance.png" alt="" width="1136" height="503" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="500" data-height="166" style="--width: 500; --height: 166;"><picture><img  src="https://swirl.plusthree.com/images/logos2/logo-samsung.png" alt="" width="500" height="166" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="329" data-height="73" style="--width: 329; --height: 73;"><picture><img  src="https://swirl.plusthree.com/images/logos2/logo-verizon.png" alt="" width="329" height="73" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="655" data-height="305" style="--width: 655; --height: 305;"><picture><img  src="https://swirl.plusthree.com/images/logos2/logo-wonderful-company.png" alt="" width="655" height="305" onerror="this.classList.add('load-error');"></picture></div></div>]]></content:encoded>
<pubDate>Tue, 26 Oct 2021 08:25:00 +0000</pubDate>
</item>

<item>
<title>Auto Block Grids</title>
<link>https://swirl.plusthree.com/block_grids/auto/</link>
<guid>https://swirl.plusthree.com/block_grids/auto/</guid>
<description>Auto block grids are useful when you have an unknown number of smaller items, like sponsor logos, that you want to display in a centered array.</description>
<content:encoded><![CDATA[<p>Auto block grids are useful when you have an unknown number of smaller items. The motivation for this pattern was creating a simpler way to lay out a section of sponsor logos that we have done on many client sites.</p><p>The most common layout is to have the logos centered in the space, and centered vertically relative to each other.</p><p>This layout does not resize the images, but uses a &quot;gap-&quot; class like flexbox and grid layouts to add a gutter between the items.</p><p>No special classes need to be added for various screen sizes - the grid will automatically display as many items on each row as possible. If more control is needed, you can use a flexbox centered X-up grid, although the developer might need to add additional CSS to tweak the alignment.</p><p>For best results with logos, it&#39;s recommended that the images be fairly small and not include baked-in padding. For larger logos the developer can add code to limit each image to a maximum width the achieve a denser display.</p><h3>Centered</h3><p><code>auto-block-grid align-center justify-center gap-8</code></p><div class="auto-block-grid align-center justify-center gap-8"><div class="media img" data-width="185" data-height="84" style="--width: 185; --height: 84;"><picture><img  src="https://swirl.plusthree.com/images/logos/logo_women_and_families.png" alt="" width="185" height="84" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="267" data-height="73" style="--width: 267; --height: 73;"><picture><img  src="https://swirl.plusthree.com/images/logos/logo_hip.png" alt="" width="267" height="73" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="196" data-height="63" style="--width: 196; --height: 63;"><picture><img  src="https://swirl.plusthree.com/images/logos/logo_usow.png" alt="" width="196" height="63" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="198" data-height="92" style="--width: 198; --height: 92;"><picture><img  src="https://swirl.plusthree.com/images/logos/logo_nnedv.png" alt="" width="198" height="92" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="157" data-height="157" style="--width: 157; --height: 157;"><picture><img  src="https://swirl.plusthree.com/images/logos/logo_la_mermaid.png" alt="" width="157" height="157" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="157" data-height="157" style="--width: 157; --height: 157;"><picture><img  src="https://swirl.plusthree.com/images/logos/logo_star_horn.png" alt="" width="157" height="157" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="144" data-height="128" style="--width: 144; --height: 128;"><picture><img  src="https://swirl.plusthree.com/images/logos/logo_girls_inc.png" alt="" width="144" height="128" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="158" data-height="124" style="--width: 158; --height: 124;"><picture><img  src="https://swirl.plusthree.com/images/logos/logo_rights_4_girls.png" alt="" width="158" height="124" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="189" data-height="133" style="--width: 189; --height: 133;"><picture><img  src="https://swirl.plusthree.com/images/logos/logo_voice_in_our_own.png" alt="" width="189" height="133" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="254" data-height="87" style="--width: 254; --height: 87;"><picture><img  src="https://swirl.plusthree.com/images/logos/logo_sheroes.png" alt="" width="254" height="87" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="144" data-height="165" style="--width: 144; --height: 165;"><picture><img  src="https://swirl.plusthree.com/images/logos/logo_justice_migrant_women.png" alt="" width="144" height="165" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="188" data-height="188" style="--width: 188; --height: 188;"><picture><img  src="https://swirl.plusthree.com/images/logos/logo_casa_de_esperanza.png" alt="" width="188" height="188" onerror="this.classList.add('load-error');"></picture></div></div>]]></content:encoded>
<pubDate>Tue, 26 Oct 2021 08:25:00 +0000</pubDate>
</item>

<item>
<title>Transparent Links Test</title>
<link>https://swirl.plusthree.com/dev/transparent_links_test/</link>
<guid>https://swirl.plusthree.com/dev/transparent_links_test/</guid>
<description></description>
<content:encoded><![CDATA[<p>This is a paragraph.</p><a href="https://swirl.plusthree.com/"><p>This is a paragraph wrapped in a normal link.</p></a><a href="https://swirl.plusthree.com/" style="color: inherit"><p>This is a paragraph wrapped in a normal link.</p></a>]]></content:encoded>
<pubDate>Thu, 23 Sep 2021 10:11:00 +0000</pubDate>
</item>

<item>
<title>Javascript: Wait For Element</title>
<link>https://swirl.plusthree.com/javascript/wait-for-element/</link>
<guid>https://swirl.plusthree.com/javascript/wait-for-element/</guid>
<description></description>
<content:encoded><![CDATA[<p>On load, a yellow box should appear. Two seconds later, a red box appears. Almost immediately after, a green box appears after it. The green box should not load until the red box exists.</p><div class="box-wrapper" style="display: flex;"></div>]]></content:encoded>
<pubDate>Thu, 05 Aug 2021 14:13:00 +0000</pubDate>
</item>

<item>
<title>Javascript: Copy to Clipboard</title>
<link>https://swirl.plusthree.com/javascript/copy_to_clipboard/</link>
<guid>https://swirl.plusthree.com/javascript/copy_to_clipboard/</guid>
<description></description>
<content:encoded><![CDATA[<p class="copy-content">This is the text to copy. It's not a lot of text but it has some important stuff in it. Lorem ipsum blah blah blah.</p><div id="copy-trigger"><button type="button">Copy Text</button></div>]]></content:encoded>
<pubDate>Thu, 05 Aug 2021 14:13:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: Spanish</title>
<link>https://swirl.plusthree.com/stories/contribution_form/contribution_form_spanish/</link>
<guid>https://swirl.plusthree.com/stories/contribution_form/contribution_form_spanish/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Mon, 04 Jan 2021 14:26:00 +0000</pubDate>
</item>

<item>
<title>Contribution Forms</title>
<link>https://swirl.plusthree.com/stories/contribution_form/</link>
<guid>https://swirl.plusthree.com/stories/contribution_form/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Fri, 06 Nov 2020 17:06:00 +0000</pubDate>
</item>

<item>
<title>Zoom Meetings</title>
<link>https://swirl.plusthree.com/dev/zoom_meetings/</link>
<guid>https://swirl.plusthree.com/dev/zoom_meetings/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 03 Nov 2020 10:39:00 +0000</pubDate>
</item>

<item>
<title>Contact Us: SMS Autoresponder</title>
<link>https://swirl.plusthree.com/stories/contact_us_form/sms_autoresponder/</link>
<guid>https://swirl.plusthree.com/stories/contact_us_form/sms_autoresponder/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Mon, 19 Oct 2020 12:10:00 +0000</pubDate>
</item>

<item>
<title>Subscribe Form: SMS Autoresponder</title>
<link>https://swirl.plusthree.com/stories/subscribe_form/sms_autoresponder/</link>
<guid>https://swirl.plusthree.com/stories/subscribe_form/sms_autoresponder/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Mon, 19 Oct 2020 11:37:00 +0000</pubDate>
</item>

<item>
<title>EPID Test</title>
<link>https://swirl.plusthree.com/dev/epid/</link>
<guid>https://swirl.plusthree.com/dev/epid/</guid>
<description></description>
<content:encoded><![CDATA[<dyn_if expr="person_field('email')">Hello <dyn_var expr="person_field('first_name')">. Your email address is <dyn_var expr="person_field('email')">.</dyn_if>]]></content:encoded>
<pubDate>Tue, 06 Oct 2020 11:48:00 +0000</pubDate>
</item>

<item>
<title>Image Class Test</title>
<link>https://swirl.plusthree.com/temp/image_class_test/</link>
<guid>https://swirl.plusthree.com/temp/image_class_test/</guid>
<description></description>
<content:encoded><![CDATA[<div class="media img align-center my-img" data-width="660" data-height="350" style="--width: 660; --height: 350;"><picture><img  src="https://swirl.plusthree.com/images/email_fullwidth_660.jpg" alt="" width="660" height="350" onerror="this.classList.add('load-error');"></picture></div><form method="post" action=""><div class="form-item multiple-inline"><input type="text" class="text" name="zip" id="vote-zip"><button type="submit" class="blue">Go</button></div></form>]]></content:encoded>
<pubDate>Thu, 24 Sep 2020 09:08:00 +0000</pubDate>
</item>

<item>
<title>Eleven Latino Nonprofits</title>
<link>https://swirl.plusthree.com/temp/eleven_latino_nonprofits/</link>
<guid>https://swirl.plusthree.com/temp/eleven_latino_nonprofits/</guid>
<description></description>
<content:encoded><![CDATA[<div class="margin-bottom-3x compact"><div class="media img" data-width="292" data-height="100" style="--width: 292; --height: 100;"><picture><img  src="https://swirl.plusthree.com/images/american_latino.jpg" alt="American Latino Museum" width="292" height="100" onerror="this.classList.add('load-error');"></picture></div><h2>The American Latino Museum</h2><p>The American Latino Museum is a hypothetical institution—but not for long. This organization has been striving for years to build a museum in Washington D.C. that will educate, inspire, and sow respect and understanding of the richness and diversity of the American Latino experience. The museum, which just this year saw the passing of a bill in the House to establish the ALM within the Smithsonian, will fill a sore absence in museum culture.</p></div><div class="margin-bottom-3x compact"><div class="media img" data-width="321" data-height="71" style="--width: 321; --height: 71;"><picture><img  src="https://swirl.plusthree.com/images/hispanic_federation.jpg" alt="Hispanic Federation" width="321" height="71" onerror="this.classList.add('load-error');"></picture></div><h2>Hispanic Federation</h2><p><div>A U.S.-based non-governmental organization focusing on supporting Hispanic communities through local, state, and national advocacy, the Hispanic Federation has been active since 1990. Their objective is to empower and advance the Hispanic community through service pillars, membership services, advocacy, and community programs. HF’s work in education, health, immigration, economic empowerment, civic engagement, environment, and organizational development is nationally renowned. The goal: to strengthen Latino institutions so that they may ultimately increase the quality of life within Hispanic communities. </div></p></div>]]></content:encoded>
<pubDate>Thu, 10 Sep 2020 15:22:00 +0000</pubDate>
</item>

<item>
<title>Subscribe Form: SMS Opt-In</title>
<link>https://swirl.plusthree.com/stories/subscribe_form/sms_opt-in/</link>
<guid>https://swirl.plusthree.com/stories/subscribe_form/sms_opt-in/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 25 Aug 2020 12:25:00 +0000</pubDate>
</item>

<item>
<title>Subscribe: Default with Sidebar 11</title>
<link>https://swirl.plusthree.com/dev/form-layout-2024/subscribe-default-sidebar-11/</link>
<guid>https://swirl.plusthree.com/dev/form-layout-2024/subscribe-default-sidebar-11/</guid>
<description></description>
<content:encoded><![CDATA[<div class="media img" data-width="600" data-height="400" style="--width: 600; --height: 400;"><picture><img  src="https://swirl.plusthree.com/images/tree-01.jpg" alt="Tree" width="600" height="400" onerror="this.classList.add('load-error');"></picture></div><p>Ultricies tempus magnam pellentesque? Aperiam molestie ipsam, natoque ante, eleifend, arcu do? Proin est adipiscing reprehenderit quisquam auctor, nisi wisi, eget curabitur aperiam morbi nostra inventore quod sagittis? Est elementum augue fugiat minim conubia, magnam eveniet? Occaecat adipisci totam maecenas. Occaecati! Lobortis, laboriosam veritatis laoreet tenetur minima mattis quam officiis? Ultrices!</p><div id="tc-sidebar"><div class="media img" data-width="1920" data-height="960" style="--width: 1920; --height: 960;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_2x1.png" alt="" width="1920" height="960" onerror="this.classList.add('load-error');"></picture></div><p>Egestas inceptos perferendis sequi ullam eleifend condimentum, nihil per metus inventore nostrum aperiam massa aute ornare, proident dictum, fusce voluptate eros? Facere, imperdiet sit. Rem ut! Amet irure, ut. Sunt integer impedit modi, tempor ut voluptatum, felis rutrum conubia posuere, consequat primis numquam suscipit? Voluptate viverra. Morbi iaculis, senectus, justo diamlorem ridiculus rhoncus alias? Tempora sed, mauris lectus reprehenderit nostra nisl inventore incididunt.</p></div>]]></content:encoded>
<pubDate>Wed, 19 Aug 2020 16:13:00 +0000</pubDate>
</item>

<item>
<title>Forms: All Inputs</title>
<link>https://swirl.plusthree.com/dev/all-inputs/</link>
<guid>https://swirl.plusthree.com/dev/all-inputs/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Wed, 19 Aug 2020 16:13:00 +0000</pubDate>
</item>

<item>
<title>Subscribe: Default with Sidebar 14</title>
<link>https://swirl.plusthree.com/dev/form-layout-2024/subscribe-default-sidebar-14/</link>
<guid>https://swirl.plusthree.com/dev/form-layout-2024/subscribe-default-sidebar-14/</guid>
<description></description>
<content:encoded><![CDATA[<div class="media img" data-width="600" data-height="400" style="--width: 600; --height: 400;"><picture><img  src="https://swirl.plusthree.com/images/tree-01.jpg" alt="Tree" width="600" height="400" onerror="this.classList.add('load-error');"></picture></div><p>Ultricies tempus magnam pellentesque? Aperiam molestie ipsam, natoque ante, eleifend, arcu do? Proin est adipiscing reprehenderit quisquam auctor, nisi wisi, eget curabitur aperiam morbi nostra inventore quod sagittis? Est elementum augue fugiat minim conubia, magnam eveniet? Occaecat adipisci totam maecenas. Occaecati! Lobortis, laboriosam veritatis laoreet tenetur minima mattis quam officiis? Ultrices!</p><div id="tc-sidebar"><div class="media img" data-width="1920" data-height="960" style="--width: 1920; --height: 960;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_2x1.png" alt="" width="1920" height="960" onerror="this.classList.add('load-error');"></picture></div><p>Atque vitae egestas dis, id! Integer consequat fusce. Vivamus molestias? Luctus parturient! Nisl perspiciatis ridiculus. Risus minima aliquip, pariatur nam! Culpa cum, nec ullamcorper. Voluptatem, culpa primis labore? Culpa orci, porta ut, maiores incididunt, facilisi aut, interdum incididunt, anim minima diamlorem ullamco. Id ullamcorper nostra, exercitationem dolor commodo. Mauris pariatur.</p></div>]]></content:encoded>
<pubDate>Wed, 19 Aug 2020 16:13:00 +0000</pubDate>
</item>

<item>
<title>Subscribe: All Inputs</title>
<link>https://swirl.plusthree.com/ui/boxed-inputs/subscribe-all-inputs/</link>
<guid>https://swirl.plusthree.com/ui/boxed-inputs/subscribe-all-inputs/</guid>
<description></description>
<content:encoded><![CDATA[<div class="media img" data-width="600" data-height="400" style="--width: 600; --height: 400;"><picture><img  src="https://swirl.plusthree.com/images/tree-01.jpg" alt="Tree" width="600" height="400" onerror="this.classList.add('load-error');"></picture></div><p>Ultricies tempus magnam pellentesque? Aperiam molestie ipsam, natoque ante, eleifend, arcu do? Proin est adipiscing reprehenderit quisquam auctor, nisi wisi, eget curabitur aperiam morbi nostra inventore quod sagittis? Est elementum augue fugiat minim conubia, magnam eveniet? Occaecat adipisci totam maecenas. Occaecati! Lobortis, laboriosam veritatis laoreet tenetur minima mattis quam officiis? Ultrices!</p>]]></content:encoded>
<pubDate>Wed, 19 Aug 2020 16:13:00 +0000</pubDate>
</item>

<item>
<title>Subscribe: Default with Sidebar and JS 11</title>
<link>https://swirl.plusthree.com/dev/form-layout-2024/subscribe-default-sidebar-js-11-copy/</link>
<guid>https://swirl.plusthree.com/dev/form-layout-2024/subscribe-default-sidebar-js-11-copy/</guid>
<description></description>
<content:encoded><![CDATA[<div class="media img" data-width="600" data-height="400" style="--width: 600; --height: 400;"><picture><img  src="https://swirl.plusthree.com/images/tree-01.jpg" alt="Tree" width="600" height="400" onerror="this.classList.add('load-error');"></picture></div><p>Ultricies tempus magnam pellentesque? Aperiam molestie ipsam, natoque ante, eleifend, arcu do? Proin est adipiscing reprehenderit quisquam auctor, nisi wisi, eget curabitur aperiam morbi nostra inventore quod sagittis? Est elementum augue fugiat minim conubia, magnam eveniet? Occaecat adipisci totam maecenas. Occaecati! Lobortis, laboriosam veritatis laoreet tenetur minima mattis quam officiis? Ultrices!</p><div id="tc-sidebar"><div class="media img" data-width="1920" data-height="960" style="--width: 1920; --height: 960;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_2x1.png" alt="" width="1920" height="960" onerror="this.classList.add('load-error');"></picture></div><p>Egestas inceptos perferendis sequi ullam eleifend condimentum, nihil per metus inventore nostrum aperiam massa aute ornare, proident dictum, fusce voluptate eros? Facere, imperdiet sit. Rem ut! Amet irure, ut. Sunt integer impedit modi, tempor ut voluptatum, felis rutrum conubia posuere, consequat primis numquam suscipit? Voluptate viverra. Morbi iaculis, senectus, justo diamlorem ridiculus rhoncus alias? Tempora sed, mauris lectus reprehenderit nostra nisl inventore incididunt.</p></div>]]></content:encoded>
<pubDate>Wed, 19 Aug 2020 16:13:00 +0000</pubDate>
</item>

<item>
<title>Subscribe: Default with Sidebar 13</title>
<link>https://swirl.plusthree.com/dev/form-layout-2024/subscribe-default-sidebar-13/</link>
<guid>https://swirl.plusthree.com/dev/form-layout-2024/subscribe-default-sidebar-13/</guid>
<description></description>
<content:encoded><![CDATA[<div class="media img" data-width="600" data-height="400" style="--width: 600; --height: 400;"><picture><img  src="https://swirl.plusthree.com/images/tree-01.jpg" alt="Tree" width="600" height="400" onerror="this.classList.add('load-error');"></picture></div><p>Ultricies tempus magnam pellentesque? Aperiam molestie ipsam, natoque ante, eleifend, arcu do? Proin est adipiscing reprehenderit quisquam auctor, nisi wisi, eget curabitur aperiam morbi nostra inventore quod sagittis? Est elementum augue fugiat minim conubia, magnam eveniet? Occaecat adipisci totam maecenas. Occaecati! Lobortis, laboriosam veritatis laoreet tenetur minima mattis quam officiis? Ultrices!</p><div id="tc-sidebar"><div class="media img" data-width="1920" data-height="960" style="--width: 1920; --height: 960;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_2x1.png" alt="" width="1920" height="960" onerror="this.classList.add('load-error');"></picture></div><p>Egestas inceptos perferendis sequi ullam eleifend condimentum, nihil per metus inventore nostrum aperiam massa aute ornare, proident dictum, fusce voluptate eros? Facere, imperdiet sit. Rem ut! Amet irure, ut. Sunt integer impedit modi, tempor ut voluptatum, felis rutrum conubia posuere, consequat primis numquam suscipit? Voluptate viverra. Morbi iaculis, senectus, justo diamlorem ridiculus rhoncus alias? Tempora sed, mauris lectus reprehenderit nostra nisl inventore incididunt.</p></div>]]></content:encoded>
<pubDate>Wed, 19 Aug 2020 16:13:00 +0000</pubDate>
</item>

<item>
<title>Subscribe: Default with Sidebar 12</title>
<link>https://swirl.plusthree.com/dev/form-layout-2024/subscribe-default-sidebar-12/</link>
<guid>https://swirl.plusthree.com/dev/form-layout-2024/subscribe-default-sidebar-12/</guid>
<description></description>
<content:encoded><![CDATA[<div class="media img" data-width="600" data-height="400" style="--width: 600; --height: 400;"><picture><img  src="https://swirl.plusthree.com/images/tree-01.jpg" alt="Tree" width="600" height="400" onerror="this.classList.add('load-error');"></picture></div><p>Ultricies tempus magnam pellentesque? Aperiam molestie ipsam, natoque ante, eleifend, arcu do? Proin est adipiscing reprehenderit quisquam auctor, nisi wisi, eget curabitur aperiam morbi nostra inventore quod sagittis? Est elementum augue fugiat minim conubia, magnam eveniet? Occaecat adipisci totam maecenas. Occaecati! Lobortis, laboriosam veritatis laoreet tenetur minima mattis quam officiis? Ultrices!</p><div id="tc-sidebar"><div class="media img" data-width="1920" data-height="960" style="--width: 1920; --height: 960;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_2x1.png" alt="" width="1920" height="960" onerror="this.classList.add('load-error');"></picture></div><p>Egestas inceptos perferendis sequi ullam eleifend condimentum, nihil per metus inventore nostrum aperiam massa aute ornare, proident dictum, fusce voluptate eros? Facere, imperdiet sit. Rem ut! Amet irure, ut. Sunt integer impedit modi, tempor ut voluptatum, felis rutrum conubia posuere, consequat primis numquam suscipit? Voluptate viverra. Morbi iaculis, senectus, justo diamlorem ridiculus rhoncus alias? Tempora sed, mauris lectus reprehenderit nostra nisl inventore incididunt.</p></div>]]></content:encoded>
<pubDate>Wed, 19 Aug 2020 16:13:00 +0000</pubDate>
</item>

<item>
<title>Subscribe: All Inputs</title>
<link>https://swirl.plusthree.com/dev/form-layout-2024/subscribe-all-inputs/</link>
<guid>https://swirl.plusthree.com/dev/form-layout-2024/subscribe-all-inputs/</guid>
<description></description>
<content:encoded><![CDATA[<div class="media img" data-width="600" data-height="400" style="--width: 600; --height: 400;"><picture><img  src="https://swirl.plusthree.com/images/tree-01.jpg" alt="Tree" width="600" height="400" onerror="this.classList.add('load-error');"></picture></div><p>Ultricies tempus magnam pellentesque? Aperiam molestie ipsam, natoque ante, eleifend, arcu do? Proin est adipiscing reprehenderit quisquam auctor, nisi wisi, eget curabitur aperiam morbi nostra inventore quod sagittis? Est elementum augue fugiat minim conubia, magnam eveniet? Occaecat adipisci totam maecenas. Occaecati! Lobortis, laboriosam veritatis laoreet tenetur minima mattis quam officiis? Ultrices!</p>]]></content:encoded>
<pubDate>Wed, 19 Aug 2020 16:13:00 +0000</pubDate>
</item>

<item>
<title>Subscribe: Default with Sidebar</title>
<link>https://swirl.plusthree.com/dev/form-layout-2024/subscribe-default-sidebar/</link>
<guid>https://swirl.plusthree.com/dev/form-layout-2024/subscribe-default-sidebar/</guid>
<description></description>
<content:encoded><![CDATA[<div class="media img" data-width="600" data-height="400" style="--width: 600; --height: 400;"><picture><img  src="https://swirl.plusthree.com/images/tree-01.jpg" alt="Tree" width="600" height="400" onerror="this.classList.add('load-error');"></picture></div><p>Ultricies tempus magnam pellentesque? Aperiam molestie ipsam, natoque ante, eleifend, arcu do? Proin est adipiscing reprehenderit quisquam auctor, nisi wisi, eget curabitur aperiam morbi nostra inventore quod sagittis? Est elementum augue fugiat minim conubia, magnam eveniet? Occaecat adipisci totam maecenas. Occaecati! Lobortis, laboriosam veritatis laoreet tenetur minima mattis quam officiis? Ultrices!</p><div id="tc-sidebar"><div class="media img" data-width="1920" data-height="960" style="--width: 1920; --height: 960;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_2x1.png" alt="" width="1920" height="960" onerror="this.classList.add('load-error');"></picture></div><p>Egestas inceptos perferendis sequi ullam eleifend condimentum, nihil per metus inventore nostrum aperiam massa aute ornare, proident dictum, fusce voluptate eros? Facere, imperdiet sit. Rem ut! Amet irure, ut. Sunt integer impedit modi, tempor ut voluptatum, felis rutrum conubia posuere, consequat primis numquam suscipit? Voluptate viverra. Morbi iaculis, senectus, justo diamlorem ridiculus rhoncus alias? Tempora sed, mauris lectus reprehenderit nostra nisl inventore incididunt.</p></div>]]></content:encoded>
<pubDate>Wed, 19 Aug 2020 16:13:00 +0000</pubDate>
</item>

<item>
<title>Subscribe: Default</title>
<link>https://swirl.plusthree.com/dev/form-layout-2024/subscribe-default/</link>
<guid>https://swirl.plusthree.com/dev/form-layout-2024/subscribe-default/</guid>
<description></description>
<content:encoded><![CDATA[<div class="media img" data-width="600" data-height="400" style="--width: 600; --height: 400;"><picture><img  src="https://swirl.plusthree.com/images/tree-01.jpg" alt="Tree" width="600" height="400" onerror="this.classList.add('load-error');"></picture></div><p>Ultricies tempus magnam pellentesque? Aperiam molestie ipsam, natoque ante, eleifend, arcu do? Proin est adipiscing reprehenderit quisquam auctor, nisi wisi, eget curabitur aperiam morbi nostra inventore quod sagittis? Est elementum augue fugiat minim conubia, magnam eveniet? Occaecat adipisci totam maecenas. Occaecati! Lobortis, laboriosam veritatis laoreet tenetur minima mattis quam officiis? Ultrices!</p>]]></content:encoded>
<pubDate>Wed, 19 Aug 2020 16:13:00 +0000</pubDate>
</item>

<item>
<title>Make a Pledge</title>
<link>https://swirl.plusthree.com/dev/jm_pledge_directory/form/</link>
<guid>https://swirl.plusthree.com/dev/jm_pledge_directory/form/</guid>
<description></description>
<content:encoded><![CDATA[<div class="pledge-info-loader"></div>]]></content:encoded>
<pubDate>Mon, 10 Aug 2020 13:05:00 +0000</pubDate>
</item>

<item>
<title>JM Pledge Directory</title>
<link>https://swirl.plusthree.com/dev/jm_pledge_directory/</link>
<guid>https://swirl.plusthree.com/dev/jm_pledge_directory/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Mon, 10 Aug 2020 12:55:00 +0000</pubDate>
</item>

<item>
<title>Javascript Login Protection</title>
<link>https://swirl.plusthree.com/dev/js_login_protection/</link>
<guid>https://swirl.plusthree.com/dev/js_login_protection/</guid>
<description></description>
<content:encoded><![CDATA[<p>This is an alternative to putting a form in a category that requires logging in to access. Sometimes the process for that is a bit obtuse. Instead, if the user is not logged in, we show a special instructional message and hide the form. When they access the form while logged in, everything looks as it normally does.</p><div id="login-message"><p>You have to be logged in to do this thing. Create an account or log in to your account, and then return to this page.</p></div><style>#login-message {    padding: 20px;    background: #ddd;}#login-message :last-child {    margin-bottom: 0;}</style>]]></content:encoded>
<pubDate>Mon, 03 Aug 2020 17:39:00 +0000</pubDate>
</item>

<item>
<title>No Cost, No Guests</title>
<link>https://swirl.plusthree.com/dev/jm_rsvps/type01/</link>
<guid>https://swirl.plusthree.com/dev/jm_rsvps/type01/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 28 Jul 2020 17:25:00 +0000</pubDate>
</item>

<item>
<title>No Cost, Guests</title>
<link>https://swirl.plusthree.com/dev/jm_rsvps/type02/</link>
<guid>https://swirl.plusthree.com/dev/jm_rsvps/type02/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 28 Jul 2020 17:25:00 +0000</pubDate>
</item>

<item>
<title>Birthday Calendar</title>
<link>https://swirl.plusthree.com/temp/birthday_calendar/</link>
<guid>https://swirl.plusthree.com/temp/birthday_calendar/</guid>
<description></description>
<content:encoded><![CDATA[<p><strong class="toggle" data-for="jan-bdays">January</strong></p><div class="jan-bdays hide"><table class="birthdays full"><tbody><tr><td class="dt">January 17</td><td class="nm">Ben Franklin</td></tr><tr><td class="dt">January 17</td><td class="nm">Michelle Obama</td></tr><tr><td class="dt">January 17</td><td class="nm">Eric Folley</td></tr></table></div><style>table.birthdays {    table-layout: fixed;}td.dt {    width: 25%;}td.nm {    width: 75%;}</style>]]></content:encoded>
<pubDate>Thu, 23 Jul 2020 17:17:00 +0000</pubDate>
</item>

<item>
<title>Core Pilates Class - 6/8 Zoom Link</title>
<link>https://swirl.plusthree.com/June8Pilates/</link>
<guid>https://swirl.plusthree.com/June8Pilates/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Mon, 01 Jun 2020 18:41:00 +0000</pubDate>
</item>

<item>
<title>Check into Core Pilates Class (6/8)</title>
<link>https://swirl.plusthree.com/stories/event_listing/loggerhead/check_into_core_pilates_class_68/</link>
<guid>https://swirl.plusthree.com/stories/event_listing/loggerhead/check_into_core_pilates_class_68/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Mon, 01 Jun 2020 18:40:00 +0000</pubDate>
</item>

<item>
<title>numeral.js</title>
<link>https://swirl.plusthree.com/javascript/numeraljs/</link>
<guid>https://swirl.plusthree.com/javascript/numeraljs/</guid>
<description></description>
<content:encoded><![CDATA[<p><div>These are some uses of numeral.js, now part of vanilla&#39;s standard JS library as of May 2020.</div></p><h3>Currency to raw number</h3><div id="currency-to-raw"><p>Input: $123.45</p><p>Output: <span class="val"></span></p></div><h3>Raw number to currency</h3><div id="raw-to-currency"><p>Input: 123.45</p><p>Output: <span class="val"></span></p></div><h3>Not a number</h3><div id="not-number"><p>Input: abcde</p><p>Output: <span class="val"></span></p></div>]]></content:encoded>
<pubDate>Tue, 12 May 2020 10:03:00 +0000</pubDate>
</item>

<item>
<title>Various HTML tags</title>
<link>https://swirl.plusthree.com/ui/various_html_tags/</link>
<guid>https://swirl.plusthree.com/ui/various_html_tags/</guid>
<description></description>
<content:encoded><![CDATA[<h3>mark</h3><p>This is some <mark>marked text</mark>.</p>]]></content:encoded>
<pubDate>Mon, 04 May 2020 09:49:00 +0000</pubDate>
</item>

<item>
<title>News Clipping</title>
<link>https://swirl.plusthree.com/stories/news_clipping/</link>
<guid>https://swirl.plusthree.com/stories/news_clipping/</guid>
<description></description>
<content:encoded><![CDATA[<p>Condimentum justo posuere aliquam nascetur omnis ratione et. Dictum vulputate wisi ex excepturi blanditiis dolores velit massa amet, accusantium? Excepteur, tempore mollitia officiis mollit, laboris tellus nonummy ridiculus perspiciatis pede lacinia ultrices!</p><p>Rerum penatibus. Nemo doloribus eiusmod labore, impedit pariatur luctus quam inventore nonummy varius! Laboriosam illo pariatur, libero deserunt mollis pellentesque tortor volutpat incidunt, metus. Molestiae nostrud culpa mauris, cumque dolorum nihil per, accumsan? Varius? Eveniet penatibus? Ea dolorum, natus habitant facilis aut sollicitudin autem? Convallis velit.</p><p>Dolore eros magni cubilia ornare conubia venenatis ligula doloribus voluptate omnis magnis vehicula rutrum fugit netus assumenda ullamcorper? Ipsam quidem magnis illo.</p><p>Ex placerat sunt, sequi! Illum vel lacinia fusce. Eos voluptatem animi dis, vestibulum, nesciunt impedit ligula ornare venenatis. Aliqua vestibulum. Ipsum laudantium aliquet expedita laboriosam ullamco ornare nesciunt?</p><p>Ligula porro, ut ipsum dictum sunt repellendus cras ligula quis doloremque vehicula nemo dis? Placeat provident tristique interdum esse dictumst, magna facilisis aut optio! Necessitatibus lobortis totam volutpat nisl magni fermentum, proin. Irure suspendisse aliquip tristique, curabitur irure.</p><p>Aliquet error autem hendrerit, taciti potenti? Hic aliquet ultrices excepturi, commodi modi mollitia eleifend mi commodo expedita numquam cras perferendis, mattis, etiam sem deserunt enim aliquid! Dolore itaque commodi asperiores consequatur voluptas id. Vero.</p>]]></content:encoded>
<pubDate>Mon, 30 Mar 2020 12:47:00 +0000</pubDate>
</item>

<item>
<title>Find Officials</title>
<link>https://swirl.plusthree.com/dev/find-officials/</link>
<guid>https://swirl.plusthree.com/dev/find-officials/</guid>
<description></description>
<content:encoded><![CDATA[<form id="lookup"><div class="form-item"><input id="lu-address1" name="address1" class="text" placeholder="Street Address" required></div><div class="form-row three-up">  <div class="form-item">  <input id="lu-city" name="city" class="text" placeholder="City" required>  </div>  <div class="form-item">  <input id="lu-state" name="state" class="text" placeholder="State" required>  </div>  <div class="form-item">  <input id="lu-zip" name="zip" class="text" placeholder="ZIP Code" required>  </div></div><div class="form-item submit"><div class="button-wrapper"><button id="findem" type="button">Find Officials</button></div></div></form><div id="loader"></div>]]></content:encoded>
<pubDate>Tue, 19 Nov 2019 13:02:00 +0000</pubDate>
</item>

<item>
<title>Petition: Form Layout 2</title>
<link>https://swirl.plusthree.com/stories/petition_form/petition_layout_2/</link>
<guid>https://swirl.plusthree.com/stories/petition_form/petition_layout_2/</guid>
<description></description>
<content:encoded><![CDATA[<div class="media img" data-width="600" data-height="200" style="--width: 600; --height: 200;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_3x1.png" alt="Swirl" width="600" height="200" onerror="this.classList.add('load-error');"></picture></div><p>Provident gravida lectus atque, eius quisquam, sint malesuada bibendum, cum ut laboris, laborum magnis ullamco commodi? Euismod erat, porttitor justo laborum tellus porta est, lacinia aenean accusantium, velit elit cillum, euismod unde.</p>]]></content:encoded>
<pubDate>Thu, 14 Nov 2019 09:19:00 +0000</pubDate>
</item>

<item>
<title>Petition: Form Layout 4</title>
<link>https://swirl.plusthree.com/stories/petition_form/petition_layout_4/</link>
<guid>https://swirl.plusthree.com/stories/petition_form/petition_layout_4/</guid>
<description></description>
<content:encoded><![CDATA[<div class="media img" data-width="600" data-height="200" style="--width: 600; --height: 200;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_3x1.png" alt="Swirl" width="600" height="200" onerror="this.classList.add('load-error');"></picture></div><p>Provident gravida lectus atque, eius quisquam, sint malesuada bibendum, cum ut laboris, laborum magnis ullamco commodi? Euismod erat, porttitor justo laborum tellus porta est, lacinia aenean accusantium, velit elit cillum, euismod unde.</p>]]></content:encoded>
<pubDate>Thu, 14 Nov 2019 09:19:00 +0000</pubDate>
</item>

<item>
<title>Petition: Form Layout 3</title>
<link>https://swirl.plusthree.com/stories/petition_form/petition_layout_3/</link>
<guid>https://swirl.plusthree.com/stories/petition_form/petition_layout_3/</guid>
<description></description>
<content:encoded><![CDATA[<div class="media img" data-width="600" data-height="200" style="--width: 600; --height: 200;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_3x1.png" alt="Swirl" width="600" height="200" onerror="this.classList.add('load-error');"></picture></div><p>Provident gravida lectus atque, eius quisquam, sint malesuada bibendum, cum ut laboris, laborum magnis ullamco commodi? Euismod erat, porttitor justo laborum tellus porta est, lacinia aenean accusantium, velit elit cillum, euismod unde.</p>]]></content:encoded>
<pubDate>Thu, 14 Nov 2019 09:19:00 +0000</pubDate>
</item>

<item>
<title>Petition: Form Layout 2, Image Under Title</title>
<link>https://swirl.plusthree.com/stories/petition_form/petition_layout_2_image_under_title/</link>
<guid>https://swirl.plusthree.com/stories/petition_form/petition_layout_2_image_under_title/</guid>
<description></description>
<content:encoded><![CDATA[<div id="tc-below-title"><div class="media img" data-width="1500" data-height="650" style="--width: 1500; --height: 650;"><picture><img  src="https://swirl.plusthree.com/images/slides/slide1500_people.jpg" alt="Peoples" width="1500" height="650" onerror="this.classList.add('load-error');"></picture></div></div><p>Provident gravida lectus atque, eius quisquam, sint malesuada bibendum, cum ut laboris, laborum magnis ullamco commodi? Euismod erat, porttitor justo laborum tellus porta est, lacinia aenean accusantium, velit elit cillum, euismod unde.</p><p>Provident gravida lectus atque, eius quisquam, sint malesuada bibendum, cum ut laboris, laborum magnis ullamco commodi? Euismod erat, porttitor justo laborum tellus porta est, lacinia aenean accusantium, velit elit cillum, euismod unde.</p>]]></content:encoded>
<pubDate>Thu, 14 Nov 2019 09:19:00 +0000</pubDate>
</item>

<item>
<title>Tableau Embed</title>
<link>https://swirl.plusthree.com/dev/tableau_embed/</link>
<guid>https://swirl.plusthree.com/dev/tableau_embed/</guid>
<description></description>
<content:encoded><![CDATA[<div class='tableauPlaceholder' id='viz1572632927416' style='position: relative'><noscript><a href='https:&#47;&#47;preview.plusthree.com&#47;news&#47;growing_influence_of_latino_donors_is_on_the_rise_in_the_united_states&#47;'><img alt=' ' src='https:&#47;&#47;public.tableau.com&#47;static&#47;images&#47;La&#47;LatinoGivingDemocraticPresidentialCandidates&#47;LatinoFundraisingbyPeriod&#47;1_rss.png' style='border: none' /></a></noscript><object class='tableauViz'  style='display:none;'><param name='host_url' value='https%3A%2F%2Fswirl.plusthree.com%2F' /> <param name='embed_code_version' value='3' /> <param name='site_root' value='' /><param name='name' value='LatinoGivingDemocraticPresidentialCandidates&#47;LatinoFundraisingbyPeriod' /><param name='tabs' value='no' /><param name='toolbar' value='yes' /><param name='static_image' value='https:&#47;&#47;public.tableau.com&#47;static&#47;images&#47;La&#47;LatinoGivingDemocraticPresidentialCandidates&#47;LatinoFundraisingbyPeriod&#47;1.png' /> <param name='animate_transition' value='yes' /><param name='display_static_image' value='yes' /><param name='display_spinner' value='yes' /><param name='display_overlay' value='yes' /><param name='display_count' value='yes' /></object></div>                ]]></content:encoded>
<pubDate>Fri, 01 Nov 2019 14:39:00 +0000</pubDate>
</item>

<item>
<title>Article with Tabbed Comments</title>
<link>https://swirl.plusthree.com/dev/article_with_tabbed_comments/</link>
<guid>https://swirl.plusthree.com/dev/article_with_tabbed_comments/</guid>
<description></description>
<content:encoded><![CDATA[<p>Consequat fuga earum eum, officiis? Nulla vivamus ultrices expedita modi libero placeat laudantium doloremque, perspiciatis diam ipsa incididunt? Assumenda dui class aliquet excepturi saepe commodo nostra neque! Quia montes aut voluptas mattis turpis voluptates? Tortor iaculis?</p><p>Ut recusandae optio auctor. Lacinia hic? Cras alias, id. Maiores mus eiusmod wisi semper! Conubia? Expedita earum litora! Posuere! Tempora nesciunt consectetuer augue platea?</p>]]></content:encoded>
<pubDate>Tue, 06 Aug 2019 10:28:00 +0000</pubDate>
</item>

<item>
<title>Volunteer Form</title>
<link>https://swirl.plusthree.com/stories/volunteer_form/</link>
<guid>https://swirl.plusthree.com/stories/volunteer_form/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Mon, 17 Jun 2019 12:29:00 +0000</pubDate>
</item>

<item>
<title>Article with Full Text Element</title>
<link>https://swirl.plusthree.com/dev/article_with_full_text_element/</link>
<guid>https://swirl.plusthree.com/dev/article_with_full_text_element/</guid>
<description></description>
<content:encoded><![CDATA[<p>This is the full editor.</p><p></p><table style="border-collapse: collapse; width: 100%;" border="1"><tbody><tr><td style="width: 25%;">test1</td><td style="width: 25%;">test2</td><td style="width: 25%;">test3</td><td style="width: 25%;">test4</td></tr><tr><td style="width: 25%;">test5</td><td style="width: 25%;">test6</td><td style="width: 25%;">test7</td><td style="width: 25%;">test8</td></tr></tbody></table>]]></content:encoded>
<pubDate>Sun, 16 Jun 2019 16:07:00 +0000</pubDate>
</item>

<item>
<title>Leadin with No Links</title>
<link>https://swirl.plusthree.com/leadins/no_links/</link>
<guid>https://swirl.plusthree.com/leadins/no_links/</guid>
<description></description>
<content:encoded><![CDATA[<style>#content .leadin {    padding: 10px;    background-color: #eee;}</style><div class="card leadin-card" data-story-uuid="B2E51DFA-8CD4-11E7-BBDA-52C00A572665" data-story-title="Article with No Links"><div class="card-inner"><div class="card-media"><div class="card-media-inner"><picture><img src="//swirl.plusthree.com/images/placeholder_600_2x1.png" alt="Article with No Links" width="600" height="300"></picture></div><!-- /.card-media-inner --></div><!-- /.card-media --><div class="card-content"><div class="card-content-inner"><p class="date text-item">Aug 30, 2017</p><h3 class="title text-item">Article with No Links</h3><div class="teaser text-item">Iure recusandae reiciendis omnis fugit mauris torquent commodi doloremque, cupidatat distinctio.</div></div><!-- /.card-content-inner --></div><!-- /.card-content --></div><!-- /.card-inner --></div><!-- ./leadin-card --><div class="card leadin-card" data-story-uuid="B2E51DFA-8CD4-11E7-BBDA-52C00A572665" data-story-title="Article with Links"><div class="card-inner"><div class="card-media"><div class="card-media-inner"><a href="https://swirl.plusthree.com/test_files/story_archive/story_1/"><picture><img src="//swirl.plusthree.com/images/placeholder_600_2x1.png" alt="Custom teaser image alt text" width="600" height="300"></picture></a></div><!-- /.card-media-inner --></div><!-- /.card-media --><div class="card-content"><div class="card-content-inner"><p class="date text-item">Aug 30, 2017</p><h3 class="title text-item"><a href="https://swirl.plusthree.com/test_files/story_archive/story_1/">Article with Links</a></h3><div class="teaser text-item">Egestas velit delectus necessitatibus vestibulum mollitia, suscipit nonummy aenean fermentum.</div><p class="readmore text-item"><a href="https://swirl.plusthree.com/test_files/story_archive/story_1/" aria-label="More: Article with Links">More</a></p></div><!-- /.card-content-inner --></div><!-- /.card-content --></div><!-- /.card-inner --></div><!-- ./leadin-card -->]]></content:encoded>
<pubDate>Wed, 29 May 2019 09:31:00 +0000</pubDate>
</item>

<item>
<title>Countdown Clocks</title>
<link>https://swirl.plusthree.com/ui/countdown-clocks/</link>
<guid>https://swirl.plusthree.com/ui/countdown-clocks/</guid>
<description></description>
<content:encoded><![CDATA[<p>Script components are in <code>swirl-site.js</code>.</p><hr /><p>The number of days until Election Day 2026 (Nov. 3):</p><div id="countdown-1"></div><hr /><p>A countdown clock to Election Day 2026 (Nov. 3 at midnight)</p><div id="countdown-2"></div><hr /><p>The number of days into the current administration:</p><div id="countdown-3"></div><hr /><p>The number of days until Italy 2025:</p><div id="countdown-4"></div>]]></content:encoded>
<pubDate>Fri, 19 Apr 2019 14:19:00 +0000</pubDate>
</item>

<item>
<title>Israel Forever Search: Node</title>
<link>https://swirl.plusthree.com/dev/bing/iff-search-node/</link>
<guid>https://swirl.plusthree.com/dev/bing/iff-search-node/</guid>
<description></description>
<content:encoded><![CDATA[<form method="post" id="search-form" class="margin-bottom-2x" action="http://localhost:3000/search"><input name="keyword" id="keyword" class="text" placeholder="Search Terms"><button>Submit</button></form><div id="results-wrapper"></div>]]></content:encoded>
<pubDate>Tue, 26 Feb 2019 12:02:00 +0000</pubDate>
</item>

<item>
<title>Archive</title>
<link>https://swirl.plusthree.com/stories/archive/</link>
<guid>https://swirl.plusthree.com/stories/archive/</guid>
<description></description>
<content:encoded><![CDATA[<p>This is an archive of the <code>/test_files/story_archive/</code> category.</p>]]></content:encoded>
<pubDate>Mon, 18 Feb 2019 09:13:00 +0000</pubDate>
</item>

<item>
<title>Video Clip</title>
<link>https://swirl.plusthree.com/elements/video_clip/</link>
<guid>https://swirl.plusthree.com/elements/video_clip/</guid>
<description></description>
<content:encoded><![CDATA[<h3>Youtube</h3><h3>Vimeo</h3><h3>Youtube Portrait / Shorts</h3><p>This requires a bit of a hack. In the video url, replace <code>/shorts/</code> with <code>/v/</code> and make sure the width and height are set for the proper aspect ration (9/16).</p><h3>Vimeo Portrait</h3>]]></content:encoded>
<pubDate>Thu, 14 Feb 2019 10:46:00 +0000</pubDate>
</item>

<item>
<title>Video Embeds</title>
<link>https://swirl.plusthree.com/dev/video_embeds/</link>
<guid>https://swirl.plusthree.com/dev/video_embeds/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Thu, 14 Feb 2019 10:13:00 +0000</pubDate>
</item>

<item>
<title>Google Address Autocomplete</title>
<link>https://swirl.plusthree.com/ui/google-address-autocomplete/</link>
<guid>https://swirl.plusthree.com/ui/google-address-autocomplete/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Mon, 11 Feb 2019 10:31:00 +0000</pubDate>
</item>

<item>
<title>Contact Elected Officials</title>
<link>https://swirl.plusthree.com/stories/contact_elected_officials/</link>
<guid>https://swirl.plusthree.com/stories/contact_elected_officials/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 05 Feb 2019 16:48:00 +0000</pubDate>
</item>

<item>
<title>TinyMCE</title>
<link>https://swirl.plusthree.com/dev/tinymce/</link>
<guid>https://swirl.plusthree.com/dev/tinymce/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Thu, 31 Jan 2019 13:22:00 +0000</pubDate>
</item>

<item>
<title>TinyMCE: Full Editor</title>
<link>https://swirl.plusthree.com/dev/tinymce/full_editor/</link>
<guid>https://swirl.plusthree.com/dev/tinymce/full_editor/</guid>
<description></description>
<content:encoded><![CDATA[<textarea id="mce-target"></textarea>]]></content:encoded>
<pubDate>Wed, 09 Jan 2019 11:33:00 +0000</pubDate>
</item>

<item>
<title>TinyMCE: Inline Editor</title>
<link>https://swirl.plusthree.com/dev/tinymce/inline_editor/</link>
<guid>https://swirl.plusthree.com/dev/tinymce/inline_editor/</guid>
<description></description>
<content:encoded><![CDATA[<p>This editor is for use in block elements like paragraphs. We don&#39;t want to add any other block elements to the paragraph, like lists, but we do want to be able to do basic formatting.</p><p><span style="color: #202020; font-family: Roboto, sans-serif;">Note, however, that aligning text will add a &quot;div&quot; tag inside the paragraph element. This is unavoidable at this point since text can only be aligned within its own a block element.</span></p><textarea id="mce-target"></textarea>]]></content:encoded>
<pubDate>Wed, 09 Jan 2019 11:33:00 +0000</pubDate>
</item>

<item>
<title>TinyMCE: Full Editor 2 Columns</title>
<link>https://swirl.plusthree.com/dev/tinymce/full_editor_2_columns/</link>
<guid>https://swirl.plusthree.com/dev/tinymce/full_editor_2_columns/</guid>
<description></description>
<content:encoded><![CDATA[<div class="two-columns"><div class="column-1"><textarea id="mce-target1"></textarea></div><div class="column-2"><textarea id="mce-target2"></textarea></div></div>]]></content:encoded>
<pubDate>Wed, 09 Jan 2019 11:33:00 +0000</pubDate>
</item>

<item>
<title>TinyMCE: Email Editor</title>
<link>https://swirl.plusthree.com/dev/tinymce/email_editor/</link>
<guid>https://swirl.plusthree.com/dev/tinymce/email_editor/</guid>
<description></description>
<content:encoded><![CDATA[<p>This editor is for use in the email tool.</p><textarea id="mce-target"></textarea>]]></content:encoded>
<pubDate>Wed, 09 Jan 2019 11:33:00 +0000</pubDate>
</item>

<item>
<title>TinyMCE: Story Editor Rendered</title>
<link>https://swirl.plusthree.com/dev/tinymce/story_editor_rendered/</link>
<guid>https://swirl.plusthree.com/dev/tinymce/story_editor_rendered/</guid>
<description></description>
<content:encoded><![CDATA[<p>This story is meant to be edited in ARCOS to test the editor deployed in the CMS. Viewing the published story displays the rendered HTML.</p><hr /><p>This is a paragraph. With a <a href="https://google.com/" title="Google">link</a>.</p><li>This is a bulleted item.</li><li>This is a numbered item.</li>]]></content:encoded>
<pubDate>Mon, 07 Jan 2019 09:32:00 +0000</pubDate>
</item>

<item>
<title>Subscribe Form: Mailing Lists</title>
<link>https://swirl.plusthree.com/stories/subscribe_form/mailing-lists/</link>
<guid>https://swirl.plusthree.com/stories/subscribe_form/mailing-lists/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Thu, 13 Dec 2018 11:35:00 +0000</pubDate>
</item>

<item>
<title>Subscribe Form: Sorted Mailing Lists</title>
<link>https://swirl.plusthree.com/stories/subscribe_form/sorted-mailing-lists/</link>
<guid>https://swirl.plusthree.com/stories/subscribe_form/sorted-mailing-lists/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Thu, 13 Dec 2018 11:35:00 +0000</pubDate>
</item>

<item>
<title>Petition: No Petition Text</title>
<link>https://swirl.plusthree.com/stories/petition_form/petition_no_text/</link>
<guid>https://swirl.plusthree.com/stories/petition_form/petition_no_text/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Mon, 10 Dec 2018 10:25:00 +0000</pubDate>
</item>

<item>
<title>Petition Form</title>
<link>https://swirl.plusthree.com/stories/petition_form/</link>
<guid>https://swirl.plusthree.com/stories/petition_form/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Mon, 10 Dec 2018 10:25:00 +0000</pubDate>
</item>

<item>
<title>Slide with Large Text</title>
<link>https://swirl.plusthree.com/temp/slide_with_large_text/</link>
<guid>https://swirl.plusthree.com/temp/slide_with_large_text/</guid>
<description></description>
<content:encoded><![CDATA[<div class="media img" data-width="4142" data-height="1510" style="--width: 4142; --height: 1510;"><picture><img  src="https://swirl.plusthree.com/images/slide_with_big_text.jpg" alt="" width="4142" height="1510" onerror="this.classList.add('load-error');"></picture></div>]]></content:encoded>
<pubDate>Sun, 09 Dec 2018 09:30:00 +0000</pubDate>
</item>

<item>
<title>A Second Journal</title>
<link>https://swirl.plusthree.com/stories/community_journal/a_second_journal/</link>
<guid>https://swirl.plusthree.com/stories/community_journal/a_second_journal/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Thu, 29 Nov 2018 01:51:00 +0000</pubDate>
</item>

<item>
<title>Photo Gallery: Basic</title>
<link>https://swirl.plusthree.com/stories/photo_gallery/basic/</link>
<guid>https://swirl.plusthree.com/stories/photo_gallery/basic/</guid>
<description>This is a simple teaser</description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Wed, 28 Nov 2018 16:02:00 +0000</pubDate>
</item>

<item>
<title>Photo Gallery: Basic V2 JS Nav</title>
<link>https://swirl.plusthree.com/stories/photo_gallery/basic-v2-js-nav/</link>
<guid>https://swirl.plusthree.com/stories/photo_gallery/basic-v2-js-nav/</guid>
<description>This is a simple teaser</description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Wed, 28 Nov 2018 16:02:00 +0000</pubDate>
</item>

<item>
<title>Photo Gallery: Basic V2 JS Load</title>
<link>https://swirl.plusthree.com/stories/photo_gallery/basic-v2-js-load/</link>
<guid>https://swirl.plusthree.com/stories/photo_gallery/basic-v2-js-load/</guid>
<description>This is a simple teaser</description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Wed, 28 Nov 2018 16:02:00 +0000</pubDate>
</item>

<item>
<title>Photo Gallery: Basic V2 JS Thumb</title>
<link>https://swirl.plusthree.com/stories/photo_gallery/basic-v2-js-thumb/</link>
<guid>https://swirl.plusthree.com/stories/photo_gallery/basic-v2-js-thumb/</guid>
<description>This is a simple teaser</description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Wed, 28 Nov 2018 16:02:00 +0000</pubDate>
</item>

<item>
<title>Photo Gallery: Basic V2</title>
<link>https://swirl.plusthree.com/stories/photo_gallery/basic-v2/</link>
<guid>https://swirl.plusthree.com/stories/photo_gallery/basic-v2/</guid>
<description>This is a simple teaser</description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Wed, 28 Nov 2018 16:02:00 +0000</pubDate>
</item>

<item>
<title>Search This Site</title>
<link>https://swirl.plusthree.com/search/</link>
<guid>https://swirl.plusthree.com/search/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Wed, 28 Nov 2018 09:18:00 +0000</pubDate>
</item>

<item>
<title>Need Login</title>
<link>https://swirl.plusthree.com/require_login/need_login/</link>
<guid>https://swirl.plusthree.com/require_login/need_login/</guid>
<description></description>
<content:encoded><![CDATA[<p>You need to be logged in to access this page.</p>]]></content:encoded>
<pubDate>Mon, 26 Nov 2018 13:01:00 +0000</pubDate>
</item>

<item>
<title>Facebook Comments</title>
<link>https://swirl.plusthree.com/social_media/facebook_comments/</link>
<guid>https://swirl.plusthree.com/social_media/facebook_comments/</guid>
<description></description>
<content:encoded><![CDATA[<p>Fugit mauris eros feugiat accusantium doloribus sapiente consequuntur parturient nostrud reiciendis eveniet. Tenetur voluptates, provident imperdiet laboris, voluptate malesuada ex! Eget, per purus architecto. Et ut sociosqu, suspendisse! Rem malesuada! Consequatur consequat! Beatae.</p><p>Placeat praesent, architecto augue, harum libero mus accusamus eligendi penatibus? Veniam varius, provident habitasse perspiciatis, suscipit. Netus pellentesque incididunt! Ullam bibendum sed, laudantium. Asperiores fusce nostrum ante, officia primis iusto erat, tellus iusto ut parturient quia dolor impedit nemo?</p><p>Curabitur ornare voluptatibus ridiculus morbi donec potenti repellat, faucibus nulla hendrerit malesuada praesentium dis! Consectetur sapiente, magnis turpis! Vitae cupidatat hac eleifend alias. Hymenaeos voluptates anim faucibus possimus.</p>]]></content:encoded>
<pubDate>Wed, 14 Nov 2018 14:03:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: Automatic Monthly Recurring</title>
<link>https://swirl.plusthree.com/stories/contribution_form/automatic_monthly_recurring/</link>
<guid>https://swirl.plusthree.com/stories/contribution_form/automatic_monthly_recurring/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Thu, 18 Oct 2018 13:23:00 +0000</pubDate>
</item>

<item>
<title>Scroll to #messages</title>
<link>https://swirl.plusthree.com/ui/scroll-to-messages/</link>
<guid>https://swirl.plusthree.com/ui/scroll-to-messages/</guid>
<description></description>
<content:encoded><![CDATA[<p>Proident at quisque quas quisque eaque nostrud dis itaque eiusmod, quia suscipit sequi netus fugiat molestiae rhoncus eos deleniti rhoncus viverra senectus auctor! Animi pariatur mollitia repudiandae nunc nulla? Sed natus adipisicing? Quisquam eros curae, hic! Assumenda ipsa vitae ullamco, maxime nec, temporibus ipsa! Ex? Rutrum eveniet leo risus aspernatur excepteur praesentium numquam dictumst, risus adipisicing erat hac soluta orci quasi! Placerat, lorem! Nec? Quis! Anim, eiusmod mollis, maiores blanditiis, dolore sociosqu! Ullamco do optio feugiat nec enim expedita corporis? Laboris, eaque eligendi praesentium, aperiam vehicula malesuada laboriosam voluptatum aptent. Voluptate laudantium ac aute mauris quam mus do fusce. Dictum.</p><p>Laoreet wisi mi ducimus. Integer voluptas magnam aute conubia natus praesentium magna aliquid, magna in sunt cursus cupidatat praesent, et ullamcorper montes? Quos parturient, habitasse soluta magnam! Nonummy cupiditate illo, impedit natoque gravida, nibh ex provident fringilla massa? Laborum unde! Curae excepteur, optio doloremque commodi autem ante laoreet rhoncus voluptas dolorum? Ridiculus lobortis culpa, hymenaeos turpis, bibendum quidem commodo cillum, nibh molestiae, magna explicabo! Urna interdum necessitatibus hic, potenti est. Platea rerum dis pharetra eiusmod, asperiores, ratione ratione cupiditate dolor egestas, porro tincidunt minus lorem dolor, sagittis saepe tempor minus. Sodales vestibulum sollicitudin vero expedita congue dapibus corrupti doloribus proin.</p><p>Tellus tortor rem pharetra sequi nisi, praesentium nemo lobortis penatibus, provident adipisicing nullam lobortis nisi quod illum velit, aperiam, fames dolore, potenti, pede lacinia, sagittis aenean esse veritatis consectetuer enim? Magnam laboris varius habitasse diam pellentesque, litora quisque nemo gravida, aliquam itaque, nullam blandit! Excepturi, inventore dignissim nunc, quibusdam cillum alias officia? Accumsan risus, ullamco illum nisl fuga dolorem neque nesciunt ullamco magni, sem iusto dui itaque convallis officiis, vero odio pariatur! Ipsa cumque mattis sunt qui ea! Quis rem, ipsam lobortis laoreet elit, semper illum aliquip elit possimus phasellus? Quia! Est. Delectus dapibus litora beatae, vestibulum dolorum illo sollicitudin.</p><p>Proident at quisque quas quisque eaque nostrud dis itaque eiusmod, quia suscipit sequi netus fugiat molestiae rhoncus eos deleniti rhoncus viverra senectus auctor! Animi pariatur mollitia repudiandae nunc nulla? Sed natus adipisicing? Quisquam eros curae, hic! Assumenda ipsa vitae ullamco, maxime nec, temporibus ipsa! Ex? Rutrum eveniet leo risus aspernatur excepteur praesentium numquam dictumst, risus adipisicing erat hac soluta orci quasi! Placerat, lorem! Nec? Quis! Anim, eiusmod mollis, maiores blanditiis, dolore sociosqu! Ullamco do optio feugiat nec enim expedita corporis? Laboris, eaque eligendi praesentium, aperiam vehicula malesuada laboriosam voluptatum aptent. Voluptate laudantium ac aute mauris quam mus do fusce. Dictum.</p><p>Laoreet wisi mi ducimus. Integer voluptas magnam aute conubia natus praesentium magna aliquid, magna in sunt cursus cupidatat praesent, et ullamcorper montes? Quos parturient, habitasse soluta magnam! Nonummy cupiditate illo, impedit natoque gravida, nibh ex provident fringilla massa? Laborum unde! Curae excepteur, optio doloremque commodi autem ante laoreet rhoncus voluptas dolorum? Ridiculus lobortis culpa, hymenaeos turpis, bibendum quidem commodo cillum, nibh molestiae, magna explicabo! Urna interdum necessitatibus hic, potenti est. Platea rerum dis pharetra eiusmod, asperiores, ratione ratione cupiditate dolor egestas, porro tincidunt minus lorem dolor, sagittis saepe tempor minus. Sodales vestibulum sollicitudin vero expedita congue dapibus corrupti doloribus proin.</p><p>Tellus tortor rem pharetra sequi nisi, praesentium nemo lobortis penatibus, provident adipisicing nullam lobortis nisi quod illum velit, aperiam, fames dolore, potenti, pede lacinia, sagittis aenean esse veritatis consectetuer enim? Magnam laboris varius habitasse diam pellentesque, litora quisque nemo gravida, aliquam itaque, nullam blandit! Excepturi, inventore dignissim nunc, quibusdam cillum alias officia? Accumsan risus, ullamco illum nisl fuga dolorem neque nesciunt ullamco magni, sem iusto dui itaque convallis officiis, vero odio pariatur! Ipsa cumque mattis sunt qui ea! Quis rem, ipsam lobortis laoreet elit, semper illum aliquip elit possimus phasellus? Quia! Est. Delectus dapibus litora beatae, vestibulum dolorum illo sollicitudin.</p><p>Proident at quisque quas quisque eaque nostrud dis itaque eiusmod, quia suscipit sequi netus fugiat molestiae rhoncus eos deleniti rhoncus viverra senectus auctor! Animi pariatur mollitia repudiandae nunc nulla? Sed natus adipisicing? Quisquam eros curae, hic! Assumenda ipsa vitae ullamco, maxime nec, temporibus ipsa! Ex? Rutrum eveniet leo risus aspernatur excepteur praesentium numquam dictumst, risus adipisicing erat hac soluta orci quasi! Placerat, lorem! Nec? Quis! Anim, eiusmod mollis, maiores blanditiis, dolore sociosqu! Ullamco do optio feugiat nec enim expedita corporis? Laboris, eaque eligendi praesentium, aperiam vehicula malesuada laboriosam voluptatum aptent. Voluptate laudantium ac aute mauris quam mus do fusce. Dictum.</p><p>Laoreet wisi mi ducimus. Integer voluptas magnam aute conubia natus praesentium magna aliquid, magna in sunt cursus cupidatat praesent, et ullamcorper montes? Quos parturient, habitasse soluta magnam! Nonummy cupiditate illo, impedit natoque gravida, nibh ex provident fringilla massa? Laborum unde! Curae excepteur, optio doloremque commodi autem ante laoreet rhoncus voluptas dolorum? Ridiculus lobortis culpa, hymenaeos turpis, bibendum quidem commodo cillum, nibh molestiae, magna explicabo! Urna interdum necessitatibus hic, potenti est. Platea rerum dis pharetra eiusmod, asperiores, ratione ratione cupiditate dolor egestas, porro tincidunt minus lorem dolor, sagittis saepe tempor minus. Sodales vestibulum sollicitudin vero expedita congue dapibus corrupti doloribus proin.</p><p>Tellus tortor rem pharetra sequi nisi, praesentium nemo lobortis penatibus, provident adipisicing nullam lobortis nisi quod illum velit, aperiam, fames dolore, potenti, pede lacinia, sagittis aenean esse veritatis consectetuer enim? Magnam laboris varius habitasse diam pellentesque, litora quisque nemo gravida, aliquam itaque, nullam blandit! Excepturi, inventore dignissim nunc, quibusdam cillum alias officia? Accumsan risus, ullamco illum nisl fuga dolorem neque nesciunt ullamco magni, sem iusto dui itaque convallis officiis, vero odio pariatur! Ipsa cumque mattis sunt qui ea! Quis rem, ipsam lobortis laoreet elit, semper illum aliquip elit possimus phasellus? Quia! Est. Delectus dapibus litora beatae, vestibulum dolorum illo sollicitudin.</p>]]></content:encoded>
<pubDate>Tue, 25 Sep 2018 10:44:00 +0000</pubDate>
</item>

<item>
<title>Mini Subscribe Form</title>
<link>https://swirl.plusthree.com/stories/mini_subscribe_form/</link>
<guid>https://swirl.plusthree.com/stories/mini_subscribe_form/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 28 Aug 2018 10:49:00 +0000</pubDate>
</item>

<item>
<title>Image Link Opens in New Window</title>
<link>https://swirl.plusthree.com/test_files/image_link_opens_in_new_window/</link>
<guid>https://swirl.plusthree.com/test_files/image_link_opens_in_new_window/</guid>
<description></description>
<content:encoded><![CDATA[<div class="media img newwindow" data-width="" data-height="" style="--width: ; --height: ;"><a href="http://nytimes.com/"><picture><img  src="" alt="" width="" height="" onerror="this.classList.add('load-error');"></picture></a></div>]]></content:encoded>
<pubDate>Mon, 27 Aug 2018 12:02:00 +0000</pubDate>
</item>

<item>
<title>Responsive Calendar</title>
<link>https://swirl.plusthree.com/test_files/responsive_calendar/</link>
<guid>https://swirl.plusthree.com/test_files/responsive_calendar/</guid>
<description></description>
<content:encoded><![CDATA[<div class="cal-display"><div class="cal-header"><div>Sunday</div><div>Monday</div><div>Tuesday</div><div>Wednesday</div><div>Thursday</div><div>Friday</div><div>Saturday</div></div><!-- /.header-row --><div class="cal-body"><div class="cal-day cal-prev-month"><div class="day-of-month">29</div></div><div class="cal-day cal-prev-month"><div class="day-of-month">30</div></div><div class="cal-day cal-prev-month"><div class="day-of-month">31</div></div><div class="cal-day"><div class="day-of-month">1</div></div><div class="cal-day"><div class="day-of-month">2</div></div><div class="cal-day"><div class="day-of-month">3</div></div><div class="cal-day"><div class="day-of-month">4</div></div><div class="cal-day"><div class="day-of-month">5</div></div><div class="cal-day"><div class="day-of-month">6</div></div><div class="cal-day"><div class="day-of-month">7</div></div><div class="cal-day"><div class="day-of-month">8</div><div class="cal-event"><a href="/stories/event_listing/end_of_summer_fling">End of Summer Fling</a><div class="event-time">6:00 PM to 11:00 PM</div></div><!-- /.cal-event --></div><div class="cal-day"><div class="day-of-month">9</div></div><div class="cal-day"><div class="day-of-month">10</div></div><div class="cal-day"><div class="day-of-month">11</div></div></div><!-- /.cal-body --></div><!-- /.cal-display --><style>.cal-body .cal-day .day-of-month {    font-weight: bold;    margin-bottom: .25rem;}.cal-body .cal-day .cal-event {    background: #f5f5f5;    border: 1px solid #ddd;    padding: 5px;    margin-bottom: .25rem;}@media screen and (max-width: 639px) {    .cal-header {        display: none;    }    .cal-body .cal-day {        border-top: 1px solid #ccc;        min-height: 2rem;    }}@media screen and (min-width: 640px) {    .cal-header {        display: flex;    }    .cal-header > div {        flex: 0 0 14.285%;        max-width: 14.285%;    }    .cal-body {        display: flex;        flex-wrap: wrap;    }    .cal-body .cal-day {        flex: 0 0 14.285%;        max-width: 14.285%;        min-height: 100px;        border: 1px solid #ccc;        padding: 10px;    }}</style>]]></content:encoded>
<pubDate>Thu, 16 Aug 2018 14:31:00 +0000</pubDate>
</item>

<item>
<title>WhatsApp Share Button</title>
<link>https://swirl.plusthree.com/social_media/whatsapp_share_button/</link>
<guid>https://swirl.plusthree.com/social_media/whatsapp_share_button/</guid>
<description></description>
<content:encoded><![CDATA[<p>Note: Not at all clear that this does anything useful, but keeping it around for now. (Feb 19 2024)</p><div class="pt-wrapper"><p><a class="whatsapp button" href="whatsapp://send?text=Read this now: https%3A%2F%2Fgoogle.com%2F"><i class="fa-brands fa-whatsapp"></i> WhatsApp</a></p><style>.whatsapp {  background-color: #25d366;  border-color: #25d366;  color: #fff;}</style></div>]]></content:encoded>
<pubDate>Wed, 02 May 2018 10:13:00 +0000</pubDate>
</item>

<item>
<title>Animations Part 2</title>
<link>https://swirl.plusthree.com/ui/animations_part_2/</link>
<guid>https://swirl.plusthree.com/ui/animations_part_2/</guid>
<description></description>
<content:encoded><![CDATA[<p>Below are the animations from vanilla&#39;s standard library. Animations are class-driven with overrides possible for speed, delay, timing etc.This is part 2. Part 1 can be found <a href="/ui/animations_part_1/">here</a>.</p><div class="menu-buttons box"><p><a class="button" data-animation="rotate-in">Rotate In</a><a class="button" data-animation="rotate-in-down-left">Rotate In Down Left</a><a class="button" data-animation="rotate-in-down-right">Rotate In Down Right</a><a class="button" data-animation="rotate-in-up-left">Rotate In Up Left</a><a class="button" data-animation="rotate-in-up-right">Rotate In Up Right</a><a class="button" data-animation="rotate-out">Rotate Out</a><a class="button" data-animation="rotate-out-down-left">Rotate Out Down Left</a><a class="button" data-animation="rotate-out-down-right">Rotate Out Down Right</a><a class="button" data-animation="rotate-out-up-left">Rotate Out Up Left</a><a class="button" data-animation="rotate-out-up-right">Rotate Out Up Right</a></p><p><a class="button" data-animation="hinge">Hinge</a><a class="button" data-animation="jack-in-the-box">Jack In The Box</a><a class="button" data-animation="roll-in">Roll In</a><a class="button" data-animation="roll-out">Roll Out</a></p><p><a class="button" data-animation="zoom-in">Zoom In</a><a class="button" data-animation="zoom-in-down">Zoom In Down</a><a class="button" data-animation="zoom-in-left">Zoom In Left</a><a class="button" data-animation="zoom-in-right">Zoom In Right</a><a class="button" data-animation="zoom-in-up">Zoom In Up</a><a class="button" data-animation="zoom-out">Zoom Out</a><a class="button" data-animation="zoom-out-down">Zoom Out Down</a><a class="button" data-animation="zoom-out-left">Zoom Out Left</a><a class="button" data-animation="zoom-out-right">Zoom Out Right</a><a class="button" data-animation="zoom-out-up">Zoom Out Up</a></p><p><a class="button" data-animation="slide-in-down">Slide In Down</a><a class="button" data-animation="slide-in-left">Slide In Left</a><a class="button" data-animation="slide-in-right">Slide In Right</a><a class="button" data-animation="slide-in-up">Slide In Up</a><a class="button" data-animation="slide-out-down">Slide Out Down</a><a class="button" data-animation="slide-out-left">Slide Out Left</a><a class="button" data-animation="slide-out-right">Slide Out Right</a><a class="button" data-animation="slide-out-up">Slide Out Up</a></p></div><h3>Rotate In</h3><div class="container-box"><div class="inner-box animated infinite rotateIn">Box</div></div><h3>Rotate In Down Left</h3><div class="container-box"><div class="inner-box animated infinite rotateInDownLeft">Box</div></div><h3>Rotate In Down Right</h3><div class="container-box"><div class="inner-box animated infinite rotateInDownRight">Box</div></div><h3>Rotate In Up Left</h3><div class="container-box"><div class="inner-box animated infinite rotateInUpLeft">Box</div></div><h3>Rotate In Up Right</h3><div class="container-box"><div class="inner-box animated infinite rotateInUpRight">Box</div></div><h3>Rotate Out</h3><div class="container-box"><div class="inner-box animated infinite rotateOut">Box</div></div><h3>Rotate Out Down Left</h3><div class="container-box"><div class="inner-box animated infinite rotateOutDownLeft">Box</div></div><h3>Rotate Out Down Right</h3><div class="container-box"><div class="inner-box animated infinite rotateOutDownRight">Box</div></div><h3>Rotate Out Up Left</h3><div class="container-box"><div class="inner-box animated infinite rotateOutUpLeft">Box</div></div><h3>Rotate Out Up Right</h3><div class="container-box"><div class="inner-box animated infinite rotateOutUpRight">Box</div></div><h3>Hinge</h3><div class="container-box"><div class="inner-box animated infinite hinge">Box</div></div><h3>Jack In The Box</h3><div class="container-box"><div class="inner-box animated infinite jackInTheBox">Box</div></div><h3>Roll In</h3><div class="container-box"><div class="inner-box animated infinite rollIn">Box</div></div><h3>Roll Out</h3><div class="container-box"><div class="inner-box animated infinite rollOut">Box</div></div><h3>Zoom In</h3><div class="container-box"><div class="inner-box animated infinite zoomIn">Box</div></div><h3>Zoom In Down</h3><div class="container-box"><div class="inner-box animated infinite zoomInDown">Box</div></div><h3>Zoom In Left</h3><div class="container-box"><div class="inner-box animated infinite zoomInLeft">Box</div></div><h3>Zoom In Right</h3><div class="container-box"><div class="inner-box animated infinite zoomInRight">Box</div></div><h3>Zoom In Up</h3><div class="container-box"><div class="inner-box animated infinite zoomInUp">Box</div></div><h3>Zoom Out</h3><div class="container-box"><div class="inner-box animated infinite zoomOut">Box</div></div><h3>Zoom Out Down</h3><div class="container-box"><div class="inner-box animated infinite zoomOutDown">Box</div></div><h3>Zoom Out Left</h3><div class="container-box"><div class="inner-box animated infinite zoomOutLeft">Box</div></div><h3>Zoom Out Right</h3><div class="container-box"><div class="inner-box animated infinite zoomOutRight">Box</div></div><h3>Zoom Out Up</h3><div class="container-box"><div class="inner-box animated infinite zoomOutUp">Box</div></div><h3>Slide In Down</h3><div class="container-box"><div class="inner-box animated infinite slideInDown">Box</div></div><h3>Slide In Left</h3><div class="container-box"><div class="inner-box animated infinite slideInLeft">Box</div></div><h3>Slide In Right</h3><div class="container-box"><div class="inner-box animated infinite slideInRight">Box</div></div><h3>Slide In Up</h3><div class="container-box"><div class="inner-box animated infinite slideInUp">Box</div></div><h3>Slide Out Down</h3><div class="container-box"><div class="inner-box animated infinite slideOutDown">Box</div></div><h3>Slide Out Left</h3><div class="container-box"><div class="inner-box animated infinite slideOutLeft">Box</div></div><h3>Slide Out Right</h3><div class="container-box"><div class="inner-box animated infinite slideOutRight">Box</div></div><h3>Slide Out Up</h3><div class="container-box"><div class="inner-box animated infinite slideOutUp">Box</div></div>]]></content:encoded>
<pubDate>Mon, 16 Apr 2018 10:33:00 +0000</pubDate>
</item>

<item>
<title>Animations Part 1</title>
<link>https://swirl.plusthree.com/ui/animations_part_1/</link>
<guid>https://swirl.plusthree.com/ui/animations_part_1/</guid>
<description></description>
<content:encoded><![CDATA[<p>Below are the animations from vanilla&#39;s standard library. Animations are class-driven with overrides possible for speed, delay, timing etc. This is part 1. Part 2 can be found <a href="/ui/animations_part_2/">here</a>.</p><div class="menu-buttons box"><p><a class="button" data-animation="bounce">Bounce</a><a class="button" data-animation="flash">Flash</a><a class="button" data-animation="pulse">Pulse</a><a class="button" data-animation="rubber-band">Rubber Band</a><a class="button" data-animation="shake">Shake</a><a class="button" data-animation="head-shake">Head Shake</a><a class="button" data-animation="swing">Swing</a><a class="button" data-animation="tada">Tada</a><a class="button" data-animation="wobble">Wobble</a><a class="button" data-animation="jello">Jello</a></p><p><a class="button" data-animation="bounce-in">Bounce In</a><a class="button" data-animation="bounce-in-down">Bounce In Down</a><a class="button" data-animation="bounce-in-left">Bounce In Left</a><a class="button" data-animation="bounce-in-right">Bounce In Right</a><a class="button" data-animation="bounce-in-up">Bounce In Up</a><a class="button" data-animation="bounce-out">Bounce Out</a><a class="button" data-animation="bounce-out-down">Bounce Out Down</a><a class="button" data-animation="bounce-out-left">Bounce Out Left</a><a class="button" data-animation="bounce-out-right">Bounce Out Right</a><a class="button" data-animation="bounce-out-up">Bounce Out Up</a></p><p><a class="button" data-animation="fade-in">Fade In</a><a class="button" data-animation="fade-in-down">Fade In Down</a><a class="button" data-animation="fade-in-down-big">Fade In Down Big</a><a class="button" data-animation="fade-in-left">Fade In Left</a><a class="button" data-animation="fade-in-left-big">Fade In Left Big</a><a class="button" data-animation="fade-in-right">Fade In Right</a><a class="button" data-animation="fade-in-right-big">Fade In Right Big</a><a class="button" data-animation="fade-in-up">Fade In Up</a><a class="button" data-animation="fade-in-up-big">Fade In Up Big</a></p><p><a class="button" data-animation="fade-out">Fade Out</a><a class="button" data-animation="fade-out-down">Fade Out Down</a><a class="button" data-animation="fade-out-down-big">Fade Out Down Big</a><a class="button" data-animation="fade-out-left">Fade Out Left</a><a class="button" data-animation="fade-out-left-big">Fade Out Left Big</a><a class="button" data-animation="fade-out-right">Fade Out Right</a><a class="button" data-animation="fade-out-right-big">Fade Out Right Big</a><a class="button" data-animation="fade-out-up">Fade Out Up</a><a class="button" data-animation="fade-out-up-big">Fade Out Up Big</a></p><p><a class="button" data-animation="flip">Flip</a><a class="button" data-animation="flip-in-x">Flip In X</a><a class="button" data-animation="flip-in-y">Flip In Y</a><a class="button" data-animation="flip-out-x">Flip Out X</a><a class="button" data-animation="flip-out-y">Flip Out Y</a><a class="button" data-animation="lightspeed-in">Lightspeed In</a><a class="button" data-animation="lightspeed-out">Lightspeed Out</a></p></div><h3>Bounce</h3><div class="container-box"><div class="inner-box animated infinite bounce">Box</div></div><h3>Flash</h3><div class="container-box"><div class="inner-box animated infinite flash">Box</div></div><h3>Pulse</h3><div class="container-box"><div class="inner-box animated infinite pulse">Box</div></div><h3>Rubber Band</h3><div class="container-box"><div class="inner-box animated infinite rubberBand">Box</div></div><h3>Shake</h3><div class="container-box"><div class="inner-box animated infinite shake">Box</div></div><h3>Head Shake</h3><div class="container-box"><div class="inner-box animated infinite headShake">Box</div></div><h3>Swing</h3><div class="container-box"><div class="inner-box animated infinite swing">Box</div></div><h3>Tada</h3><div class="container-box"><div class="inner-box animated infinite tada">Box</div></div><h3>Wobble</h3><div class="container-box"><div class="inner-box animated infinite wobble">Box</div></div><h3>Jello</h3><div class="container-box"><div class="inner-box animated infinite jello">Box</div></div><h3>Bounce In</h3><div class="container-box"><div class="inner-box animated infinite bounceIn">Box</div></div><h3>Bounce In Down</h3><div class="container-box"><div class="inner-box animated infinite bounceInDown">Box</div></div><h3>Bounce In Left</h3><div class="container-box"><div class="inner-box animated infinite bounceInLeft">Box</div></div><h3>Bounce In Right</h3><div class="container-box"><div class="inner-box animated infinite bounceInRight">Box</div></div><h3>Bounce In Up</h3><div class="container-box"><div class="inner-box animated infinite bounceInUp">Box</div></div><h3>Bounce Out</h3><div class="container-box"><div class="inner-box animated infinite bounceOut">Box</div></div><h3>Bounce Out Down</h3><div class="container-box"><div class="inner-box animated infinite bounceOutDown">Box</div></div><h3>Bounce Out Left</h3><div class="container-box"><div class="inner-box animated infinite bounceOutLeft">Box</div></div><h3>Bounce Out Right</h3><div class="container-box"><div class="inner-box animated infinite bounceOutRight">Box</div></div><h3>Bounce Out Up</h3><div class="container-box"><div class="inner-box animated infinite bounceOutUp">Box</div></div><h3>Fade In</h3><div class="container-box"><div class="inner-box animated infinite fadeIn">Box</div></div><h3>Fade In Down</h3><div class="container-box"><div class="inner-box animated infinite fadeInDown">Box</div></div><h3>Fade In Down Big</h3><div class="container-box"><div class="inner-box animated infinite fadeInDownBig">Box</div></div><h3>Fade In Left</h3><div class="container-box"><div class="inner-box animated infinite fadeInLeft">Box</div></div><h3>Fade In Left Big</h3><div class="container-box"><div class="inner-box animated infinite fadeInLeftBig">Box</div></div><h3>Fade In Right</h3><div class="container-box"><div class="inner-box animated infinite fadeInRight">Box</div></div><h3>Fade In Right Big</h3><div class="container-box"><div class="inner-box animated infinite fadeInRightBig">Box</div></div><h3>Fade In Up</h3><div class="container-box"><div class="inner-box animated infinite fadeInUp">Box</div></div><h3>Fade In Up Big</h3><div class="container-box"><div class="inner-box animated infinite fadeInUpBig">Box</div></div><h3>Fade Out</h3><div class="container-box"><div class="inner-box animated infinite fadeOut">Box</div></div><h3>Fade Out Down</h3><div class="container-box"><div class="inner-box animated infinite fadeOutDown">Box</div></div><h3>Fade Out Down Big</h3><div class="container-box"><div class="inner-box animated infinite fadeOutDownBig">Box</div></div><h3>Fade Out Left</h3><div class="container-box"><div class="inner-box animated infinite fadeOutLeft">Box</div></div><h3>Fade Out Left Big</h3><div class="container-box"><div class="inner-box animated infinite fadeOutLeftBig">Box</div></div><h3>Fade Out Right</h3><div class="container-box"><div class="inner-box animated infinite fadeOutRight">Box</div></div><h3>Fade Out Right Big</h3><div class="container-box"><div class="inner-box animated infinite fadeOutRightBig">Box</div></div><h3>Fade Out Up</h3><div class="container-box"><div class="inner-box animated infinite fadeOutUp">Box</div></div><h3>Fade Out Up Big</h3><div class="container-box"><div class="inner-box animated infinite fadeOutUpBig">Box</div></div><h3>Flip</h3><div class="container-box"><div class="inner-box animated infinite flip">Box</div></div><h3>Flip In X</h3><div class="container-box"><div class="inner-box animated infinite flipInX">Box</div></div><h3>Flip In Y</h3><div class="container-box"><div class="inner-box animated infinite flipInY">Box</div></div><h3>Flip Out X</h3><div class="container-box"><div class="inner-box animated infinite flipOutX">Box</div></div><h3>Flip Out Y</h3><div class="container-box"><div class="inner-box animated infinite flipOutY">Box</div></div><h3>Lightspeed In</h3><div class="container-box"><div class="inner-box animated infinite lightSpeedIn">Box</div></div><h3>Lightspeed Out</h3><div class="container-box"><div class="inner-box animated infinite lightSpeedOut">Box</div></div>]]></content:encoded>
<pubDate>Mon, 16 Apr 2018 10:33:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: Recaptcha</title>
<link>https://swirl.plusthree.com/stories/contribution_form/recaptcha/</link>
<guid>https://swirl.plusthree.com/stories/contribution_form/recaptcha/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Wed, 04 Apr 2018 12:36:00 +0000</pubDate>
</item>

<item>
<title>Community Contribution Form</title>
<link>https://swirl.plusthree.com/stories/community_contribution_form/</link>
<guid>https://swirl.plusthree.com/stories/community_contribution_form/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 03 Apr 2018 11:12:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: Zero Amount</title>
<link>https://swirl.plusthree.com/stories/contribution_form/zero_amount/</link>
<guid>https://swirl.plusthree.com/stories/contribution_form/zero_amount/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 03 Apr 2018 08:41:00 +0000</pubDate>
</item>

<item>
<title>Subscribe Form: Recaptcha</title>
<link>https://swirl.plusthree.com/stories/subscribe_form/recaptcha/</link>
<guid>https://swirl.plusthree.com/stories/subscribe_form/recaptcha/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Fri, 23 Mar 2018 08:07:00 +0000</pubDate>
</item>

<item>
<title>Privacy Policy</title>
<link>https://swirl.plusthree.com/privacy/</link>
<guid>https://swirl.plusthree.com/privacy/</guid>
<description></description>
<content:encoded><![CDATA[<p>We are committed to respecting the privacy of our supporters, including our financial and in-kind donors, whether the donation is made online, by mail, or any other method.</p><p>Certain pages on our site may invite you to voluntarily share personally identifying information, such as your name, address, email address, or telephone number. Sharing that information will allow you to make a donation, join our email list, sign a petition, or participate in other similar online activities. We may use that voluntarily submitted data to complete your donation, provide you with updates about the work you support, our activities or news, or about opportunities to support us.</p><p>When you make a financial or in-kind donation, you provide your name and contact information. Financial donors provide standard payment information including, in many circumstances, credit card data. We and the companies we work with to process credit card data use industry standard safeguards to protect your information. These measures include encryption, access controls, network firewalls, and other appropriate security measures to protect your information.</p><p>We will not sell, share or trade your personally identifiable information with any other entity. In addition, we will not send mailings to our donors on behalf of other organizations. We have vendors that assist with processing and managing donations and donor data. We give these vendors access to donor data. Our vendors are bound by strict confidentiality rules and are permitted to use donor data only to support our operations.</p>]]></content:encoded>
<pubDate>Thu, 15 Mar 2018 09:39:00 +0000</pubDate>
</item>

<item>
<title>Quick Tests</title>
<link>https://swirl.plusthree.com/test_files/quick_tests/</link>
<guid>https://swirl.plusthree.com/test_files/quick_tests/</guid>
<description></description>
<content:encoded><![CDATA[<div style="background-color: red;"><p>This div should be red.</p></div><div id="json-test"><div class="info"></div></div>]]></content:encoded>
<pubDate>Mon, 12 Mar 2018 14:53:00 +0000</pubDate>
</item>

<item>
<title>Community Journal</title>
<link>https://swirl.plusthree.com/stories/community_journal/</link>
<guid>https://swirl.plusthree.com/stories/community_journal/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Mon, 05 Mar 2018 10:34:00 +0000</pubDate>
</item>

<item>
<title>Community Petitions</title>
<link>https://swirl.plusthree.com/stories/community_petitions/</link>
<guid>https://swirl.plusthree.com/stories/community_petitions/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 27 Feb 2018 14:33:00 +0000</pubDate>
</item>

<item>
<title>Tell a Friend Form</title>
<link>https://swirl.plusthree.com/stories/tell_a_friend_form/</link>
<guid>https://swirl.plusthree.com/stories/tell_a_friend_form/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Thu, 01 Feb 2018 13:43:00 +0000</pubDate>
</item>

<item>
<title>Member Group Listing</title>
<link>https://swirl.plusthree.com/stories/member_group_listing/</link>
<guid>https://swirl.plusthree.com/stories/member_group_listing/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 30 Jan 2018 10:29:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form (Itemized): Fixed Percent</title>
<link>https://swirl.plusthree.com/discounts/pac-fixed-percent/</link>
<guid>https://swirl.plusthree.com/discounts/pac-fixed-percent/</guid>
<description></description>
<content:encoded><![CDATA[<p>This is incomplete, and has been pushed off until later.</p>]]></content:encoded>
<pubDate>Mon, 08 Jan 2018 09:23:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form (Itemized): Discount Codes</title>
<link>https://swirl.plusthree.com/discounts/pac-codes/</link>
<guid>https://swirl.plusthree.com/discounts/pac-codes/</guid>
<description></description>
<content:encoded><![CDATA[<p>The following codes have been added to the story: <code> ABC10P, ABC00P, DEF10A, GHI10R</code>. If a code ends in &quot;P&quot;, the discount is a percentage; if it ends in &quot;A&quot; it is a flat amount per item; if it ends in &quot;R&quot; is it a flat amount per category (recipient). The two digits before that indicate the amount, with &quot;00&quot; equaling 100.</p>]]></content:encoded>
<pubDate>Mon, 08 Jan 2018 09:23:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form (Itemized): Equal Distribution</title>
<link>https://swirl.plusthree.com/stories/contribution_form_itemized/equal_distribution/</link>
<guid>https://swirl.plusthree.com/stories/contribution_form_itemized/equal_distribution/</guid>
<description></description>
<content:encoded><![CDATA[<div class="pac-contribution-recipients-only"><p>Recipients screen content only.</p></div><div class="pac-contribution-form-only"><p>Form screen content only.</p></div>]]></content:encoded>
<pubDate>Mon, 08 Jan 2018 09:23:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form (Itemized): Transaction Fee</title>
<link>https://swirl.plusthree.com/transaction-fee/pac/</link>
<guid>https://swirl.plusthree.com/transaction-fee/pac/</guid>
<description></description>
<content:encoded><![CDATA[<div class="pac-contribution-recipients-only"><p>Recipients screen content only.</p></div><div class="pac-contribution-form-only"><p>Form screen content only.</p></div>]]></content:encoded>
<pubDate>Mon, 08 Jan 2018 09:23:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form (Itemized)</title>
<link>https://swirl.plusthree.com/stories/contribution_form_itemized/</link>
<guid>https://swirl.plusthree.com/stories/contribution_form_itemized/</guid>
<description></description>
<content:encoded><![CDATA[<div class="pac-contribution-recipients-only"><p>Recipients screen content only.</p></div><div class="pac-contribution-form-only"><p>Form screen content only.</p></div>]]></content:encoded>
<pubDate>Mon, 08 Jan 2018 09:23:00 +0000</pubDate>
</item>

<item>
<title>PAC Contribution Form: Default</title>
<link>https://swirl.plusthree.com/dev/form-layout-2024/pac-default/</link>
<guid>https://swirl.plusthree.com/dev/form-layout-2024/pac-default/</guid>
<description></description>
<content:encoded><![CDATA[<p>This is some content that will appear on all screens.</p><div class="pac-contribution-recipients-only"><p>Recipients screen content only.</p></div><div class="pac-contribution-form-only"><p>Form screen content only.</p></div>]]></content:encoded>
<pubDate>Mon, 08 Jan 2018 09:23:00 +0000</pubDate>
</item>

<item>
<title>UI Widgets</title>
<link>https://swirl.plusthree.com/ui/</link>
<guid>https://swirl.plusthree.com/ui/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 02 Jan 2018 14:04:00 +0000</pubDate>
</item>

<item>
<title>Social Icons</title>
<link>https://swirl.plusthree.com/ui/social_icons_demo/</link>
<guid>https://swirl.plusthree.com/ui/social_icons_demo/</guid>
<description></description>
<content:encoded><![CDATA[<h2>Default</h2><div class="social-icons box"><ul><li><a href="" title="Facebook"><i class="fab fa-facebook"></i></a></li><li><a href="" title="Twitter"><i class="fab fa-twitter"></i></a></li><li><a href="" title="LinkedIn"><i class="fab fa-linkedin"></i></a></li><li><a href="" title="YouTube"><i class="fab fa-youtube"></i></a></li><li><a href="" title="Instagram"><i class="fab fa-instagram"></i></a></li></ul></div><h2>Large</h2><div class="social-icons large box"><ul><li><a href="" title="Facebook"><i class="fab fa-facebook"></i></a></li><li><a href="" title="Twitter"><i class="fab fa-twitter"></i></a></li><li><a href="" title="LinkedIn"><i class="fab fa-linkedin"></i></a></li><li><a href="" title="YouTube"><i class="fab fa-youtube"></i></a></li><li><a href="" title="Instagram"><i class="fab fa-instagram"></i></a></li></ul></div>]]></content:encoded>
<pubDate>Tue, 02 Jan 2018 13:57:00 +0000</pubDate>
</item>

<item>
<title>Max Width Class</title>
<link>https://swirl.plusthree.com/ui/max_width_class/</link>
<guid>https://swirl.plusthree.com/ui/max_width_class/</guid>
<description></description>
<content:encoded><![CDATA[<div class="mb-6 max-width-33" style="height: 300px; background: #ccc;"></div><div class="mb-6 max-width-560" style="height: 300px; background: #ccc;"></div><div class="mb-6 max-width-px-278" style="height: 300px; background: #ccc;"></div>]]></content:encoded>
<pubDate>Mon, 18 Dec 2017 14:22:00 +0000</pubDate>
</item>

<item>
<title>Member Search</title>
<link>https://swirl.plusthree.com/stories/member_search/</link>
<guid>https://swirl.plusthree.com/stories/member_search/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Wed, 13 Dec 2017 13:43:00 +0000</pubDate>
</item>

<item>
<title>Traditional Float Block Grid</title>
<link>https://swirl.plusthree.com/block_grids/traditional_floats/</link>
<guid>https://swirl.plusthree.com/block_grids/traditional_floats/</guid>
<description>Deprecated: Use flexbox or grid implementations going forward.</description>
<content:encoded><![CDATA[<p><span style="color: #f15852;"><em><strong>This implementation is deprecated. Please use the flexbox or grid-based block grids instead. CSS declarations were removed from vanilla.css in April 2023. A simplified grid-based replacement was added at that time for backwards compatability only.</strong></em></span></p><p>Traditional block grids use a float implementation. Standard code supports rows composed of 2 to 7 items. All &quot;blocks&quot; have equal widths, with equally sized gutters.</p><p>Individual items are aligned left, including items that move to the next row.</p><h3>Two Up</h3><p>The -up layout chosen will apply to all screens, except phones (640px or less). Then a one-up layout will appy. This is one reason that they are not as flexible as other implementations.</p><p><code>block-grid two-up</code></p><div class="block-grid two-up"><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div></div><h3>Four Up</h3><p><code>block-grid four-up</code></p><div class="block-grid four-up"><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div></div><h3>Four Up, Two Orphans</h3><p><code>block-grid four-up</code></p><div class="block-grid four-up"><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div></div>]]></content:encoded>
<pubDate>Tue, 12 Dec 2017 10:07:00 +0000</pubDate>
</item>

<item>
<title>Flexbox Block Grids</title>
<link>https://swirl.plusthree.com/block_grids/flexbox/</link>
<guid>https://swirl.plusthree.com/block_grids/flexbox/</guid>
<description>These grids use a flexbox implementation and are a replacement for the &quot;traditional floats&quot; layout. Use these in most cases.</description>
<content:encoded><![CDATA[<p>These grids use a flexbox implementation. This should be used instead of the &quot;block-grid&quot; declaration since flexbox as a layout engine offers a lot more power and flexibility.</p><p>Classes go from one-up to seven-up, and define the number of columns on each row. This initial declaration affects all screen sizes. To choose a different layout for a particular screen size, you must add another classes, e.g. one-up-sm, which will make a single column layout on phones. Sizing suffixes are -sm (small), -md (medium e.g. iPad portrait), -lg (large, e.g. iPad landscape), and -xl (extra-large, e.g. many laptops).</p><h2>Spaced Grids</h2><p>Space between is the default. It sets the individual boxes at slightly less than their full fractional width (e.g. three-up boxes are all 30.5%) and spaces them out, creating the gaps between items on the same row.</p><h3>Two Up</h3><p><code>flex-block-grid two-up</code></p><div class="flex-block-grid two-up"><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div></div><h3>Three Up</h3><p><code>flex-block-grid three-up</code></p><div class="flex-block-grid three-up"><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div></div><h3>Three Up, One Up Small</h3><p><code>flex-block-grid three-up one-up-sm</code></p><div class="flex-block-grid three-up one-up-sm"><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div></div><h3>Four Up</h3><p><code>flex-block-grid four-up</code></p><div class="flex-block-grid four-up"><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div></div><hr /><h2>Managing Orphans</h2><p>Because of the way the individual boxes are spaced, you can have some odd results when you have orphan boxes. You can usually &quot;fix&quot; that by using the centered version (see below) or the <a href="/block_grids/grid/">grid version</a>, depending on the look you want.</p><h3>Three Up, Full Rows</h3><p><code>flex-block-grid three-up</code></p><div class="flex-block-grid three-up"><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div></div><h3>Three Up, One Orphan</h3><p><code>flex-block-grid three-up</code></p><div class="flex-block-grid three-up"><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div></div><h3>Three Up, Two Orphans</h3><p><code>flex-block-grid three-up</code></p><div class="flex-block-grid three-up"><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div></div><hr /><h2>Centered</h2><p>Centering sets the individual boxes at slightly less than their full fractional width (e.g. three-up boxes are all 30.5%) and uses margins or CSS gaps to create space between them. The grid goes full-width. The same column and sizing classes are available as for spaced layouts.</p><p>To make a spaced flex-block-grid into the centered version, add the class <code>justify-center</code>.</p><p>Centering is only usefull when you have to deal with orphans boxes. Otherwise, spaced grids are simpler and easier to work with.</p><p>Margins are used in older browsers (including some relatively recent versions of Safari) that don&#39;t support &quot;gap&quot; for flexbox. This means that the grid won&#39;t go quite full-width in some cases, although it will be only a matter of a pixel or two depending on the -up.</p><h3>Three Up, One Orphan</h3><p><code>flex-block-grid justify-center three-up</code></p><div class="flex-block-grid justify-center three-up"><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div></div><h3>Three Up, Two Orphans</h3><p><code>flex-block-grid justify-center three-up</code></p><div class="flex-block-grid justify-center three-up"><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div></div>]]></content:encoded>
<pubDate>Tue, 12 Dec 2017 10:07:00 +0000</pubDate>
</item>

<item>
<title>Grid Block Grids</title>
<link>https://swirl.plusthree.com/block_grids/grid/</link>
<guid>https://swirl.plusthree.com/block_grids/grid/</guid>
<description>These grids use the CSS &quot;grid&quot; implementation. This should be used (mostly) when the number of items is stable and fills each row completely.</description>
<content:encoded><![CDATA[<style>.grid-block-grid {    margin-bottom: 1.5rem;}</style><p>These grids use the CSS &quot;grid&quot; implementation. This should be used (mostly) when the number of items is stable and fills each row completely.</p><p>Classes go from one-up to seven-up, and define the number of columns on each row. This initial declaration affects all screen sizes. To choose a different layout for a particular screen size, you must add another classes, e.g. one-up-sm, which will make a single column layout on phones. Sizing suffixes are -sm (small), -md (medium e.g. iPad portrait), -lg (large, e.g. iPad landscape), and -xl (extra-large, e.g. many laptops).</p><p>Unlike traditional floats and flexbox grids, here we define the size of the gutter between the elements, and the elements size accordingly. This is done using the &quot;gap-&quot; set of classes that go from gap-1 (.25rem, or usually 4px) to gap-20 (5rem, or usually 80px). All the examples below use gap-4 (1rem, or usually 16px). Custom gap can be used by leaving out the gap class and adding the gap value to the CSS file.</p><p>Some elements put in block grids have bottom margins, e.g. images and leadins. By default, these are removed (&quot;compacted&quot;) to make the vertical spacing more consistent. Use the &quot;no-compact&quot; class to keep those margins</p><h3>Two Up</h3><p><code>grid-block-grid two-up gap-4</code></p><div class="grid-block-grid two-up gap-4"><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div></div><h3>Three Up</h3><p><code>grid-block-grid three-up gap-4</code></p><div class="grid-block-grid three-up gap-4"><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div></div><h3>Three Up, One Up Small</h3><p><code>grid-block-grid three-up one-up-sm gap-4</code></p><div class="grid-block-grid three-up one-up-sm gap-4"><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div></div><h3>Three Up, Multiple Rows</h3><p><code>grid-block-grid three-up gap-4</code></p><div class="grid-block-grid three-up gap-4"><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div></div><h3>Three Up, Multiple Rows, Not Compact</h3><p><code>grid-block-grid no-compact three-up gap-4</code></p><div class="grid-block-grid no-compact three-up gap-4"><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div></div><h3>Three Up, One Orphan</h3><p><code>grid-block-grid three-up gap-4</code></p><div class="grid-block-grid three-up gap-4"><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div></div><h3>Three Up, Two Orphans</h3><p>Unlike flexbox, grid keeps adding elements in the next space and doesn&#39;t space them out to the edges.</p><p><code>grid-block-grid three-up gap-4</code></p><div class="grid-block-grid three-up gap-4"><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div></div><h3>Four Up, Two Up Small</h3><p><code>grid-block-grid four-up two-up-sm gap-4</code></p><div class="grid-block-grid four-up two-up-sm gap-4"><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div></div><hr /><h2>Auto-filled Grid</h2><p>We can also set the grid to display items with a minimum width and then have it fill out the space accordingly. Specifying layout for screen sizes is not necessary. This is done via the fill-x class, where x is a number between 150 and 500 in increments of 50.</p><h3>Auto-fill 200</h3><p><code>grid-block-grid fill-200 gap-4</code></p><div class="grid-block-grid fill-200 gap-4"><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div></div><h3>Auto-fill 400</h3><p><code>grid-block-grid fill-400 gap-4</code></p><div class="grid-block-grid fill-400 gap-4"><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div></div><hr /><h2>Auto-fit Grid</h2><p>Auto-fit grids are much like auto-fill grids: We set the grid to display items with a minimum width and then have it fill out the space accordingly. Specifying layout for screen sizes is not necessary. This is done via the fit-x class, where x is a number between 150 and 500 in increments of 50.</p><p>In many (most?) cases auto-fill and auto-fit will produce the same result, but at some screen sizes there will be difference, depending on the number of items and the sizes of those items.</p><h3>Auto-fit 200</h3><p><code>grid-block-grid fit-200 gap-4</code></p><div class="grid-block-grid fit-200 gap-4"><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div></div><h3>Auto-fit 400</h3><p><code>grid-block-grid fit-400 gap-4</code></p><div class="grid-block-grid fit-400 gap-4"><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div><div class="media img" data-width="600" data-height="300" style="--width: 600; --height: 300;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_600_2x1.png" alt="" width="600" height="300" onerror="this.classList.add('load-error');"></picture></div></div>]]></content:encoded>
<pubDate>Tue, 12 Dec 2017 10:07:00 +0000</pubDate>
</item>

<item>
<title>Block Grids</title>
<link>https://swirl.plusthree.com/block_grids/</link>
<guid>https://swirl.plusthree.com/block_grids/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 12 Dec 2017 10:06:00 +0000</pubDate>
</item>

<item>
<title>Call Talk Radio Form</title>
<link>https://swirl.plusthree.com/stories/call_talk_radio_form/</link>
<guid>https://swirl.plusthree.com/stories/call_talk_radio_form/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Mon, 20 Nov 2017 10:42:00 +0000</pubDate>
</item>

<item>
<title>Forgot Your Password?</title>
<link>https://swirl.plusthree.com/forgot_password/</link>
<guid>https://swirl.plusthree.com/forgot_password/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Mon, 20 Nov 2017 09:33:00 +0000</pubDate>
</item>

<item>
<title>Manage Your Profile</title>
<link>https://swirl.plusthree.com/profile/</link>
<guid>https://swirl.plusthree.com/profile/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Mon, 20 Nov 2017 09:30:00 +0000</pubDate>
</item>

<item>
<title>Confirm Your Account</title>
<link>https://swirl.plusthree.com/confirm/</link>
<guid>https://swirl.plusthree.com/confirm/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Mon, 20 Nov 2017 09:29:00 +0000</pubDate>
</item>

<item>
<title>Register</title>
<link>https://swirl.plusthree.com/register/</link>
<guid>https://swirl.plusthree.com/register/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Mon, 20 Nov 2017 09:29:00 +0000</pubDate>
</item>

<item>
<title>Log In</title>
<link>https://swirl.plusthree.com/login/</link>
<guid>https://swirl.plusthree.com/login/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Fri, 17 Nov 2017 16:43:00 +0000</pubDate>
</item>

<item>
<title>Opt Out</title>
<link>https://swirl.plusthree.com/opt_out/</link>
<guid>https://swirl.plusthree.com/opt_out/</guid>
<description></description>
<content:encoded><![CDATA[<p>Sorry to see you go!</p>]]></content:encoded>
<pubDate>Fri, 17 Nov 2017 16:00:00 +0000</pubDate>
</item>

<item>
<title>Article with RSS Box</title>
<link>https://swirl.plusthree.com/stories/article/rss-box/</link>
<guid>https://swirl.plusthree.com/stories/article/rss-box/</guid>
<description>Monotonectally predominate functional materials before just in time synergy.</description>
<content:encoded><![CDATA[<p>Eleifend penatibus diamlorem, gravida distinctio possimus, dolore interdum gravida iste inceptos convallis, excepteur eiusmod laborum, nonummy risus iusto fuga quas, laoreet eros aliqua eos etiam officiis suscipit congue ratione mollitia magna fusce anim, fusce dapibus vitae, ligula mollit porttitor excepturi donec ante eligendi faucibus turpis? Dui tenetur minim cubilia, quam officiis, exercitation donec aliqua, dicta eaque doloremque, tempus culpa atque cillum est? Modi, doloremque.</p>]]></content:encoded>
<pubDate>Fri, 17 Nov 2017 09:23:00 +0000</pubDate>
</item>

<item>
<title>Article</title>
<link>https://swirl.plusthree.com/stories/article/</link>
<guid>https://swirl.plusthree.com/stories/article/</guid>
<description>Monotonectally predominate functional materials before just in time synergy.</description>
<content:encoded><![CDATA[<div class="media img align-right" data-width="450" data-height="600" style="--width: 450; --height: 600;"><picture><img  src="https://swirl.plusthree.com/images/leaves.jpg" alt="Fall leaves on a tree" width="450" height="600" onerror="this.classList.add('load-error');"></picture></div><p>Neque penatibus adipiscing, incididunt vivamus cubilia, mi ipsa! Dolorum ac maxime augue aptent voluptate <a href="/">incididunt maxime</a> excepturi nisi litora atque accusamus accumsan inventore rem. Ipsa dolore ratione pellentesque consectetuer commodo taciti tincidunt ipsum purus, <a href="/">facilis parturient</a>?</p><p>Vivamus hac fusce similique, sollicitudin class, placeat mauris voluptates purus quam montes cursus! Cum voluptatibus montes dolorum? Eum, anim tellus omnis metus fames reprehenderit? Vero laboriosam sodales class magna ducimus, posuere unde voluptate quas morbi? Porro. Exercitation odio, quidem quos pharetra vero? Quisque congue assumenda eum turpis distinctio. Vulputate aptent porta aute, magnam totam tellus nesciunt nullam vestibulum proin minus, mattis cupidatat voluptatibus torquent.</p><p>Architecto fugit inventore vulputate rutrum, ultrices, vitae dis nostrud eiusmod, dolore commodo eu pretium! Vehicula? Integer nisl repudiandae, per mollit, ullamco senectus maxime molestie, euismod nemo inceptos fuga inventore, assumenda occaecati diam possimus, explicabo pariatur repellat.</p><p>Voluptates ratione ratione eaque, bibendum explicabo eget occaecat mollit beatae, tempus lorem, diam earum lectus sint sapiente pede consectetur minima, eligendi, suspendisse placeat, asperiores. Illo. Proident donec recusandae diam proin, aptent tempor primis soluta iusto amet? Soluta eveniet ligula necessitatibus dapibus, fringilla pede scelerisque? Explicabo minus aliquip varius mus, id incididunt nesciunt adipisicing reprehenderit, est turpis nesciunt. Tortor lobortis, interdum lectus consequat? Quos nec.</p><p>Feugiat ad voluptatibus voluptas morbi adipiscing, sequi aliquip! Adipisci praesentium! Placerat! Deleniti viverra? Quisquam cillum do, nostra facilisis porta, curae fermentum commodi sociis sociosqu, porro quisquam porttitor purus recusandae lacus quos tempus sociosqu ligula, accumsan eros.</p><p>Eleifend penatibus diamlorem, gravida distinctio possimus, dolore interdum gravida iste inceptos convallis, excepteur eiusmod laborum, nonummy risus iusto fuga quas, laoreet eros aliqua eos etiam officiis suscipit congue ratione mollitia magna fusce anim, fusce dapibus vitae, ligula mollit porttitor excepturi donec ante eligendi faucibus turpis? Dui tenetur minim cubilia, quam officiis, exercitation donec aliqua, dicta eaque doloremque, tempus culpa atque cillum est? Modi, doloremque.</p>]]></content:encoded>
<pubDate>Fri, 17 Nov 2017 09:23:00 +0000</pubDate>
</item>

<item>
<title>Stories</title>
<link>https://swirl.plusthree.com/stories/</link>
<guid>https://swirl.plusthree.com/stories/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Fri, 17 Nov 2017 09:21:00 +0000</pubDate>
</item>

<item>
<title>Facebook Video Embed</title>
<link>https://swirl.plusthree.com/social_media/facebook_video_embed/</link>
<guid>https://swirl.plusthree.com/social_media/facebook_video_embed/</guid>
<description></description>
<content:encoded><![CDATA[<div class="fb-video" data-href="https://www.facebook.com/NowThisPolitics/videos/1759833177381498/" data-width="500" data-show-text="false"><blockquote cite="https://www.facebook.com/NowThisPolitics/videos/1759833177381498/" class="fb-xfbml-parse-ignore"><a href="https://www.facebook.com/NowThisPolitics/videos/1759833177381498/">Border Agents Want to Deport This Undocumented 10-Year-Old Wit...</a><p>Border patrol trailed this 10-year-old girl with cerebral palsy to the hospital so they could try to deport her.</p>Posted by <a href="https://www.facebook.com/NowThisPolitics/">NowThis Politics</a> on Thursday, October 26, 2017</blockquote></div>]]></content:encoded>
<pubDate>Fri, 27 Oct 2017 10:07:00 +0000</pubDate>
</item>

<item>
<title>Audio Stream</title>
<link>https://swirl.plusthree.com/elements/audio-stream/</link>
<guid>https://swirl.plusthree.com/elements/audio-stream/</guid>
<description></description>
<content:encoded><![CDATA[<audio controls preload="meta"><source src="https://tu.streamguys1.com/ktnqam/playlist.m3u8?key=21a14fdc8019a7ff4091c36cc517dcb6cc8f1046454637760d38026094802958" type="application/x-mpegURL"></audio>]]></content:encoded>
<pubDate>Mon, 11 Sep 2017 12:49:00 +0000</pubDate>
</item>

<item>
<title>Audio Clip</title>
<link>https://swirl.plusthree.com/elements/audio_clip/</link>
<guid>https://swirl.plusthree.com/elements/audio_clip/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Mon, 11 Sep 2017 12:49:00 +0000</pubDate>
</item>

<item>
<title>Story 7: News Clipping</title>
<link>https://swirl.plusthree.com/test_files/story_archive/story_7/</link>
<guid>https://swirl.plusthree.com/test_files/story_archive/story_7/</guid>
<description>Optio conubia erat doloremque aliquet sem, id id tempora? Per, lobortis mollitia adipiscing voluptatum? Eligendi fugiat, aptent consectetur tempor?</description>
<content:encoded><![CDATA[<p>Habitant ducimus, nemo litora delectus ex, ligula veniam unde! Rutrum? Hac maiores. Maecenas? Eligendi a? Rerum pellentesque condimentum consequuntur itaque proident aenean? Ut vitae! Pharetra? Curabitur primis!</p><p>Ornare. Magnam varius quo dicta qui! Hymenaeos! Eros adipisicing congue saepe! Cillum, excepteur conubia quidem, laboriosam doloremque, dolorum eum perferendis iste, molestias nam nulla dolorum, architecto nam cupiditate laboris accusantium ultrices mollit nostra consequatur laoreet.</p><div class="card leadin-card" data-story-uuid="" data-story-title="Title"><div class="card-inner"><div class="card-content"><div class="card-content-inner"><h3 class="title text-item"><a href="#">Title</a></h3><div class="teaser text-item">Teaser</div><p class="readmore text-item"><a href="#" aria-label="More: Title">More</a></p></div><!-- /.card-content-inner --></div><!-- /.card-content --></div><!-- /.card-inner --></div><!-- ./leadin-card -->]]></content:encoded>
<pubDate>Tue, 05 Sep 2017 09:22:00 +0000</pubDate>
</item>

<item>
<title>Story 6</title>
<link>https://swirl.plusthree.com/test_files/story_archive/story_6/</link>
<guid>https://swirl.plusthree.com/test_files/story_archive/story_6/</guid>
<description>Optio conubia erat doloremque aliquet sem, id id tempora? Per, lobortis mollitia adipiscing voluptatum? Eligendi fugiat, aptent consectetur tempor?</description>
<content:encoded><![CDATA[<p>This is a <strong>paragraph</strong>. This is not a <em>paragraph</em>. This is a span. <i>Hello</i> <b>there</b> <code>some code</code> <a class="button">Button link</a> <blink>Blink</blink></p><p><span class="this">This is a span.</span></p><p>Delectus sodales incididunt tempor purus rem facere quis laboriosam aperiam vivamus fringilla luctus lectus, eaque fuga! Veritatis proin! Dolores laboriosam excepturi delectus torquent fugit quas pulvinar morbi distinctio vehicula eu, quo odit malesuada, litora quo, facilis massa itaque!</p>]]></content:encoded>
<pubDate>Mon, 04 Sep 2017 12:11:00 +0000</pubDate>
</item>

<item>
<title>Story 5</title>
<link>https://swirl.plusthree.com/test_files/story_archive/story_5/</link>
<guid>https://swirl.plusthree.com/test_files/story_archive/story_5/</guid>
<description>Optio conubia erat doloremque aliquet sem, id id tempora? Per, lobortis mollitia adipiscing voluptatum? Eligendi fugiat, aptent consectetur tempor?</description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Sun, 03 Sep 2017 12:11:00 +0000</pubDate>
</item>

<item>
<title>Story 4</title>
<link>https://swirl.plusthree.com/test_files/story_archive/story_4/</link>
<guid>https://swirl.plusthree.com/test_files/story_archive/story_4/</guid>
<description>Optio conubia erat doloremque aliquet sem, id id tempora? Per, lobortis mollitia adipiscing voluptatum? Eligendi fugiat, aptent consectetur tempor?</description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Sat, 02 Sep 2017 12:11:00 +0000</pubDate>
</item>

<item>
<title>Story 3</title>
<link>https://swirl.plusthree.com/test_files/story_archive/story_3/</link>
<guid>https://swirl.plusthree.com/test_files/story_archive/story_3/</guid>
<description>Optio conubia erat doloremque aliquet sem, id id tempora? Per, lobortis mollitia adipiscing voluptatum? Eligendi fugiat, aptent consectetur tempor?</description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Fri, 01 Sep 2017 12:11:00 +0000</pubDate>
</item>

<item>
<title>Story 2</title>
<link>https://swirl.plusthree.com/test_files/story_archive/story_2/</link>
<guid>https://swirl.plusthree.com/test_files/story_archive/story_2/</guid>
<description>Optio conubia erat doloremque aliquet sem, id id tempora? Per, lobortis mollitia adipiscing voluptatum? Eligendi fugiat, aptent consectetur tempor?</description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Thu, 31 Aug 2017 12:11:00 +0000</pubDate>
</item>

<item>
<title>Story 1</title>
<link>https://swirl.plusthree.com/test_files/story_archive/story_1/</link>
<guid>https://swirl.plusthree.com/test_files/story_archive/story_1/</guid>
<description>Optio conubia erat doloremque aliquet sem, id id tempora? Per, lobortis mollitia adipiscing voluptatum? Eligendi fugiat, aptent consectetur tempor?</description>
<content:encoded><![CDATA[<p>Optio conubia erat doloremque aliquet sem, id id tempora? Per, lobortis mollitia adipiscing voluptatum? <a href="https://swirl.plusthree.com/" class="newwindow">Eligendi fugiat, aptent consectetur tempor?</a></p><p>Eveniet, molestias fugit hac laboris laboris curae praesentium interdum, felis sunt! Tempor! Rutrum, pharetra fringilla blanditiis aliqua tempus illo condimentum, corrupti temporibus quaerat, ipsam quod condimentum commodo ratione vulputate, explicabo iste, minim, minim, congue?</p><p>Vero do enim taciti? Augue velit in, veniam possimus, magnis. Reprehenderit, iusto occaecat cubilia maxime aliquet! Quos ultricies adipiscing, augue incidunt aliquid? Itaque molestiae torquent aute eligendi doloremque atque sunt aliquip, dicta, iusto assumenda? Iste, elit adipiscing mattis explicabo velit beatae id do urna mollis est facilis.</p><div><p>Optio conubia erat doloremque aliquet sem, id id tempora? Per, lobortis mollitia adipiscing voluptatum? Eligendi fugiat, aptent consectetur tempor?</p><p>Eveniet, molestias fugit hac laboris laboris curae praesentium interdum, felis sunt! Tempor! Rutrum, pharetra fringilla blanditiis aliqua tempus illo condimentum, corrupti temporibus quaerat, ipsam quod condimentum commodo ratione vulputate, explicabo iste, minim, minim, congue?</p><p>Vero do enim taciti? Augue velit in, veniam possimus, magnis. Reprehenderit, iusto occaecat cubilia maxime aliquet! Quos ultricies adipiscing, augue incidunt aliquid? Itaque molestiae torquent aute eligendi doloremque atque sunt aliquip, dicta, iusto assumenda? Iste, elit adipiscing mattis explicabo velit beatae id do urna mollis est facilis.</p></div><div class="card leadin-card" data-story-uuid="1D2355AE-D378-11E6-8918-08070B572665" data-story-title="Leadin Title"><div class="card-inner"><div class="card-media"><div class="card-media-inner"><a href="https://swirl.plusthree.com/"><picture><img src="//swirl.plusthree.com/images/logo_opengraph.png" alt="Leadin Title" width="200" height="200"></picture></a></div><!-- /.card-media-inner --></div><!-- /.card-media --><div class="card-content"><div class="card-content-inner"><h3 class="title text-item"><a href="https://swirl.plusthree.com/">Leadin Title</a></h3><div class="teaser text-item">Sem diam, volutpat ad, penatibus arcu vehicula exercitation. Occaecat laborum. Sint, esse maecenas nibh fusce reiciendis sequi iste leo blandit, tortor alias, ullamcorper amet similique venenatis, sequi quae libero eveniet?</div><p class="readmore text-item"><a href="https://swirl.plusthree.com/" aria-label="Read More: Leadin Title">Read More</a></p></div><!-- /.card-content-inner --></div><!-- /.card-content --></div><!-- /.card-inner --></div><!-- ./leadin-card --><div class="media img" data-width="450" data-height="315" style="--width: 450; --height: 315;"><picture><img  lang="Spanish" src="https://swirl.plusthree.com/images/caledonia/003.jpg" alt="" width="450" height="315" onerror="this.classList.add('load-error');"></picture></div><li>Accusantium</li><li>viverra</li><li>repudianda</li><li>tenetur anim</li>]]></content:encoded>
<pubDate>Wed, 30 Aug 2017 12:11:00 +0000</pubDate>
</item>

<item>
<title>Pagination</title>
<link>https://swirl.plusthree.com/ui/pagination/</link>
<guid>https://swirl.plusthree.com/ui/pagination/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 29 Aug 2017 12:12:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: Transaction Fee</title>
<link>https://swirl.plusthree.com/transaction-fee/contribute/</link>
<guid>https://swirl.plusthree.com/transaction-fee/contribute/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 15 Aug 2017 10:30:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: JM Pledge</title>
<link>https://swirl.plusthree.com/dev/form-layout-2024/contrib-jm-pledge/</link>
<guid>https://swirl.plusthree.com/dev/form-layout-2024/contrib-jm-pledge/</guid>
<description></description>
<content:encoded><![CDATA[<p>Your donation to the Annual Greater Miami Jewish Federation/UJA Campaign supports a lifeline of vital programs and services around the corner and around the world.</p><p>Please give as generously as you are able. So many are depending on us. Thank you.</p><p>This form should be used to pay an existing pledge. If you would like to make a new pledge and payment, please use the general <a href="/gift/">donation form</a>.</p><style>#content {  --fl10-max-width: 550px;}</style>]]></content:encoded>
<pubDate>Tue, 15 Aug 2017 10:30:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: Monthly Frequency</title>
<link>https://swirl.plusthree.com/stories/contribution_form/set_period_frequency/</link>
<guid>https://swirl.plusthree.com/stories/contribution_form/set_period_frequency/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 15 Aug 2017 10:30:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: Form Layout 4</title>
<link>https://swirl.plusthree.com/stories/contribution_form/form_layout_4/</link>
<guid>https://swirl.plusthree.com/stories/contribution_form/form_layout_4/</guid>
<description></description>
<content:encoded><![CDATA[<p>Auctor commodi et occaecati potenti iusto dignissimos interdum, iure fugiat, hac dolores, pellentesque laboriosam laoreet mauris auctor diam amet netus, maxime laborum vehicula luctus, turpis ante suspendisse aspernatur consequuntur dolore nibh mollis consequat distinctio, provident, aperiam nostra lectus ut dolorem, non primis per neque?</p><p>Vulputate eleifend? Taciti vestibulum! Massa rutrum autem odit. Odio minim ipsa ultricies expedita praesent arcu, fringilla. Reprehenderit amet ea deserunt mollitia nihil ab? Exercitationem facilis mauris incididunt fuga, convallis expedita dignissimos lorem? Tortor interdum! Lacus facilis aliqua tenetur rerum ullam. Cillum excepturi, et hendrerit libero quis, molestias sociis excepteur itaque voluptatem magnis vulputate magnam fames. Tenetur.</p>]]></content:encoded>
<pubDate>Tue, 15 Aug 2017 10:30:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: Button Amounts with Popup Labels</title>
<link>https://swirl.plusthree.com/stories/contribution_form/button_amounts_with_popup_labels/</link>
<guid>https://swirl.plusthree.com/stories/contribution_form/button_amounts_with_popup_labels/</guid>
<description></description>
<content:encoded><![CDATA[<p><em><strong>Popup labels are deprecated and no longer work in the latest version of vanilla.</strong></em></p>]]></content:encoded>
<pubDate>Tue, 15 Aug 2017 10:30:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: Button Amounts</title>
<link>https://swirl.plusthree.com/plain/button-amounts/</link>
<guid>https://swirl.plusthree.com/plain/button-amounts/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 15 Aug 2017 10:30:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: Default Frequency</title>
<link>https://swirl.plusthree.com/stories/contribution_form/default_frequency/</link>
<guid>https://swirl.plusthree.com/stories/contribution_form/default_frequency/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 15 Aug 2017 10:30:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: Default</title>
<link>https://swirl.plusthree.com/dev/form-layout-2024/contrib-default/</link>
<guid>https://swirl.plusthree.com/dev/form-layout-2024/contrib-default/</guid>
<description></description>
<content:encoded><![CDATA[<p>Sociosqu eget voluptates hac sodales! Adipisci autem cupiditate, nobis convallis etiam nam expedita tortor quas augue ornare morbi nonummy eros occaecati? Do viverra conubia exercitation lacinia et rem maiores consectetuer porro praesentium, at! Quasi etiam nostra! Euismod unde illum, ullamcorper.</p>]]></content:encoded>
<pubDate>Tue, 15 Aug 2017 10:30:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: Horizontal Thermometer</title>
<link>https://swirl.plusthree.com/stories/contribution_form/horz-thermometer/</link>
<guid>https://swirl.plusthree.com/stories/contribution_form/horz-thermometer/</guid>
<description></description>
<content:encoded><![CDATA[<p>Hendrerit eiusmod fuga nobis autem dolore tenetur, exercitationem exercitationem facere, sapien fermentum, placeat nostrum voluptatum, quia fermentum sagittis atque facilisis diam euismod repudiandae perferendis in porttitor, dolore anim habitasse odio doloremque iure?</p><p>Aenean urna nesciunt? Nec porro sodales? Urna, hac veritatis aut amet aliquam quos. Doloremque fugiat eius, nec molestie.</p>]]></content:encoded>
<pubDate>Tue, 15 Aug 2017 10:30:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: System Custom Fields</title>
<link>https://swirl.plusthree.com/stories/contribution_form/system_custom_fields/</link>
<guid>https://swirl.plusthree.com/stories/contribution_form/system_custom_fields/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 15 Aug 2017 10:30:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: Fancy Monthly</title>
<link>https://swirl.plusthree.com/stories/contribution_form/fancy_monthly/</link>
<guid>https://swirl.plusthree.com/stories/contribution_form/fancy_monthly/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 15 Aug 2017 10:30:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: Default</title>
<link>https://swirl.plusthree.com/stories/contribution_form/default/</link>
<guid>https://swirl.plusthree.com/stories/contribution_form/default/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 15 Aug 2017 10:30:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: Form Layout 3</title>
<link>https://swirl.plusthree.com/stories/contribution_form/form_layout_3/</link>
<guid>https://swirl.plusthree.com/stories/contribution_form/form_layout_3/</guid>
<description></description>
<content:encoded><![CDATA[<p>Auctor commodi et occaecati potenti iusto dignissimos interdum, iure fugiat, hac dolores, pellentesque laboriosam laoreet mauris auctor diam amet netus, maxime laborum vehicula luctus, turpis ante suspendisse aspernatur consequuntur dolore nibh mollis consequat distinctio, provident, aperiam nostra lectus ut dolorem, non primis per neque?</p><p>Vulputate eleifend? Taciti vestibulum! Massa rutrum autem odit. Odio minim ipsa ultricies expedita praesent arcu, fringilla. Reprehenderit amet ea deserunt mollitia nihil ab? Exercitationem facilis mauris incididunt fuga, convallis expedita dignissimos lorem? Tortor interdum! Lacus facilis aliqua tenetur rerum ullam. Cillum excepturi, et hendrerit libero quis, molestias sociis excepteur itaque voluptatem magnis vulputate magnam fames. Tenetur.</p>]]></content:encoded>
<pubDate>Tue, 15 Aug 2017 10:30:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: Discount Codes</title>
<link>https://swirl.plusthree.com/discounts/contribute-codes/</link>
<guid>https://swirl.plusthree.com/discounts/contribute-codes/</guid>
<description></description>
<content:encoded><![CDATA[<p>The following codes have been added to the story: <code> ABC10P, ABC00P, DEF10A</code>. If a code ends in &quot;P&quot;, the discount is a percentage; if it ends in &quot;A&quot; it is a flat amount. The two digits before that indicate the amount, with &quot;00&quot; equaling 100.</p>]]></content:encoded>
<pubDate>Tue, 15 Aug 2017 10:30:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: Form Layout 2</title>
<link>https://swirl.plusthree.com/stories/contribution_form/form_layout_2/</link>
<guid>https://swirl.plusthree.com/stories/contribution_form/form_layout_2/</guid>
<description></description>
<content:encoded><![CDATA[<p>Auctor commodi et occaecati potenti iusto dignissimos interdum, iure fugiat, hac dolores, pellentesque laboriosam laoreet mauris auctor diam amet netus, maxime laborum vehicula luctus, turpis ante suspendisse aspernatur consequuntur dolore nibh mollis consequat distinctio, provident, aperiam nostra lectus ut dolorem, non primis per neque?</p><p>Vulputate eleifend? Taciti vestibulum! Massa rutrum autem odit. Odio minim ipsa ultricies expedita praesent arcu, fringilla. Reprehenderit amet ea deserunt mollitia nihil ab? Exercitationem facilis mauris incididunt fuga, convallis expedita dignissimos lorem? Tortor interdum! Lacus facilis aliqua tenetur rerum ullam. Cillum excepturi, et hendrerit libero quis, molestias sociis excepteur itaque voluptatem magnis vulputate magnam fames. Tenetur.</p>]]></content:encoded>
<pubDate>Tue, 15 Aug 2017 10:30:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: Button Amounts</title>
<link>https://swirl.plusthree.com/stories/contribution_form/button_amounts/</link>
<guid>https://swirl.plusthree.com/stories/contribution_form/button_amounts/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 15 Aug 2017 10:30:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: Default with Stats</title>
<link>https://swirl.plusthree.com/stories/contribution_form/default-with-stats/</link>
<guid>https://swirl.plusthree.com/stories/contribution_form/default-with-stats/</guid>
<description></description>
<content:encoded><![CDATA[<p>Enabling Javascript is in <code>swirl-site.js</code>.</p><div id="form-stats"></div>]]></content:encoded>
<pubDate>Tue, 15 Aug 2017 10:30:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: Layout 11</title>
<link>https://swirl.plusthree.com/dev/form-layout-2024/contrib-11/</link>
<guid>https://swirl.plusthree.com/dev/form-layout-2024/contrib-11/</guid>
<description></description>
<content:encoded><![CDATA[<p>Sociosqu eget voluptates hac sodales! Adipisci autem cupiditate, nobis convallis etiam nam expedita tortor quas augue ornare morbi nonummy eros occaecati? Do viverra conubia exercitation lacinia et rem maiores consectetuer porro praesentium, at! Quasi etiam nostra! Euismod unde illum, ullamcorper.</p>]]></content:encoded>
<pubDate>Tue, 15 Aug 2017 10:30:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: No Affirmation</title>
<link>https://swirl.plusthree.com/stories/contribution_form/no_affirmation/</link>
<guid>https://swirl.plusthree.com/stories/contribution_form/no_affirmation/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 15 Aug 2017 10:30:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: Client Default</title>
<link>https://swirl.plusthree.com/stories/contribution_form/client-default/</link>
<guid>https://swirl.plusthree.com/stories/contribution_form/client-default/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 15 Aug 2017 10:30:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: Simple Monthly</title>
<link>https://swirl.plusthree.com/stories/contribution_form/simple_monthly/</link>
<guid>https://swirl.plusthree.com/stories/contribution_form/simple_monthly/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 15 Aug 2017 10:30:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: No Button Amounts with Labels</title>
<link>https://swirl.plusthree.com/stories/contribution_form/no_button_amounts_with_labels/</link>
<guid>https://swirl.plusthree.com/stories/contribution_form/no_button_amounts_with_labels/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 15 Aug 2017 10:30:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: Only Other</title>
<link>https://swirl.plusthree.com/stories/contribution_form/only_other/</link>
<guid>https://swirl.plusthree.com/stories/contribution_form/only_other/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 15 Aug 2017 10:30:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: JM Give/Gift</title>
<link>https://swirl.plusthree.com/dev/form-layout-2024/contrib-jm-give-gift/</link>
<guid>https://swirl.plusthree.com/dev/form-layout-2024/contrib-jm-give-gift/</guid>
<description></description>
<content:encoded><![CDATA[<p>Your donation to the Annual Greater Miami Jewish Federation/UJA Campaign supports a lifeline of vital programs and services that help people in need in Miami, in Israel and in more than 70 other countries around the world. On behalf of all you will help through your generosity, we thank you.</p><p>If you would like to make a payment on an existing pledge, please click here. For assistance, you may also call 305.576.4000, ext. 428.</p><h3>Honor or Memorialize Someone Special with a Tzedakah Fund Tribute Card.</h3><p>Proceeds from these cards enable Federation to respond to emergency needs of Jews in our community. Click here to dedicate a contribution.</p><style>#content {  --fl10-max-width: 550px;}</style>]]></content:encoded>
<pubDate>Tue, 15 Aug 2017 10:30:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: Contribution Description</title>
<link>https://swirl.plusthree.com/stories/contribution_form/contribution-description/</link>
<guid>https://swirl.plusthree.com/stories/contribution_form/contribution-description/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 15 Aug 2017 10:30:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: Button Amounts with Labels</title>
<link>https://swirl.plusthree.com/stories/contribution_form/button_amounts_with_labels/</link>
<guid>https://swirl.plusthree.com/stories/contribution_form/button_amounts_with_labels/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 15 Aug 2017 10:30:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form: No Button Amounts</title>
<link>https://swirl.plusthree.com/stories/contribution_form/no_button_amounts/</link>
<guid>https://swirl.plusthree.com/stories/contribution_form/no_button_amounts/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 15 Aug 2017 10:30:00 +0000</pubDate>
</item>

<item>
<title>Directory Listing</title>
<link>https://swirl.plusthree.com/stories/directory_listing/</link>
<guid>https://swirl.plusthree.com/stories/directory_listing/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Thu, 08 Jun 2017 09:34:00 +0000</pubDate>
</item>

<item>
<title>Site Map</title>
<link>https://swirl.plusthree.com/site_map/</link>
<guid>https://swirl.plusthree.com/site_map/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Mon, 15 May 2017 16:32:00 +0000</pubDate>
</item>

<item>
<title>Subscribe Form: Messages Below the Fold</title>
<link>https://swirl.plusthree.com/stories/subscribe_form/messages-below-fold/</link>
<guid>https://swirl.plusthree.com/stories/subscribe_form/messages-below-fold/</guid>
<description></description>
<content:encoded><![CDATA[<p>Aliquid justo? Saepe aut, diam voluptatibus molestias blanditiis, aspernatur molestias quasi deleniti eaque ultrices et sociosqu saepe nostra voluptatum litora posuere risus nulla aliqua morbi donec ipsa veritatis, distinctio vitae proin optio! Dis venenatis ultrices sapien! Vitae habitasse aliquet scelerisque molestias lectus incidunt quaerat, veritatis do curae cupiditate, non blandit.</p><p>Curabitur voluptas, sit placerat harum nascetur irure nulla, nisi vestibulum taciti dapibus, conubia ipsum molestie, dicta. Modi veniam, mi massa, id, hendrerit pede blandit cras, elit? Hymenaeos? Dolorum, pariatur repellendus? Leo corrupti aut facere sagittis eum diam, lobortis turpis. Molestiae iste nostrud? Tempor ad fuga eaque. Magnam parturient inceptos distinctio.</p><p>Interdum turpis scelerisque. Primis aspernatur, rutrum venenatis, mauris magna est? Do nunc adipiscing dictum tempore parturient, nostrum suspendisse iaculis tempus arcu, sodales habitant accumsan! Sem sapien? Placerat! Massa? Adipiscing cubilia? Ipsa penatibus? Lectus sed vestibulum voluptate? Omnis praesentium praesent consequuntur! Lectus aptent ullamcorper varius? Hendrerit? Habitasse beatae repudiandae fugit, sem.</p><p>Sit erat omnis perspiciatis, voluptate voluptas a leo elementum mi quos accumsan, eleifend! Aute, pulvinar? Ornare quas, platea? Turpis numquam aliquid deserunt velit enim. Sem architecto cursus, ab aenean animi. Neque, lorem deleniti! Non. Nobis at, anim unde, odit odio. Minus pariatur, duis, potenti semper gravida, urna occaecat odit eum.</p><p>Praesent varius lobortis, rhoncus. Eget pretium, hic voluptatem quas aliquet, inventore dictumst quam in, ullamcorper ipsam illo? Purus aliquet vehicula, fames varius cillum, pede, purus tempora eiusmod massa, labore nec, viverra magna metus cupiditate habitasse accusamus, nulla donec debitis purus tellus earum. Magni quisquam curabitur odio accusamus primis? Repellat dolorum.</p><p>Suscipit saepe gravida pretium pede aliquid, facilisis blandit, duis quisque torquent placeat, habitasse. Animi. Aliquam. Delectus provident? Placeat? Inventore esse, ea eleifend nullam eaque, felis nullam duis. Magnam minima deserunt inceptos rhoncus aliquid per minima imperdiet. Nostra venenatis urna parturient dictumst magnis aenean wisi dolore incidunt saepe platea. Nullam netus.</p><p>Aliquid justo? Saepe aut, diam voluptatibus molestias blanditiis, aspernatur molestias quasi deleniti eaque ultrices et sociosqu saepe nostra voluptatum litora posuere risus nulla aliqua morbi donec ipsa veritatis, distinctio vitae proin optio! Dis venenatis ultrices sapien! Vitae habitasse aliquet scelerisque molestias lectus incidunt quaerat, veritatis do curae cupiditate, non blandit.</p><p>Curabitur voluptas, sit placerat harum nascetur irure nulla, nisi vestibulum taciti dapibus, conubia ipsum molestie, dicta. Modi veniam, mi massa, id, hendrerit pede blandit cras, elit? Hymenaeos? Dolorum, pariatur repellendus? Leo corrupti aut facere sagittis eum diam, lobortis turpis. Molestiae iste nostrud? Tempor ad fuga eaque. Magnam parturient inceptos distinctio.</p><p>Interdum turpis scelerisque. Primis aspernatur, rutrum venenatis, mauris magna est? Do nunc adipiscing dictum tempore parturient, nostrum suspendisse iaculis tempus arcu, sodales habitant accumsan! Sem sapien? Placerat! Massa? Adipiscing cubilia? Ipsa penatibus? Lectus sed vestibulum voluptate? Omnis praesentium praesent consequuntur! Lectus aptent ullamcorper varius? Hendrerit? Habitasse beatae repudiandae fugit, sem.</p><p>Sit erat omnis perspiciatis, voluptate voluptas a leo elementum mi quos accumsan, eleifend! Aute, pulvinar? Ornare quas, platea? Turpis numquam aliquid deserunt velit enim. Sem architecto cursus, ab aenean animi. Neque, lorem deleniti! Non. Nobis at, anim unde, odit odio. Minus pariatur, duis, potenti semper gravida, urna occaecat odit eum.</p><p>Praesent varius lobortis, rhoncus. Eget pretium, hic voluptatem quas aliquet, inventore dictumst quam in, ullamcorper ipsam illo? Purus aliquet vehicula, fames varius cillum, pede, purus tempora eiusmod massa, labore nec, viverra magna metus cupiditate habitasse accusamus, nulla donec debitis purus tellus earum. Magni quisquam curabitur odio accusamus primis? Repellat dolorum.</p><p>Suscipit saepe gravida pretium pede aliquid, facilisis blandit, duis quisque torquent placeat, habitasse. Animi. Aliquam. Delectus provident? Placeat? Inventore esse, ea eleifend nullam eaque, felis nullam duis. Magnam minima deserunt inceptos rhoncus aliquid per minima imperdiet. Nostra venenatis urna parturient dictumst magnis aenean wisi dolore incidunt saepe platea. Nullam netus.</p>]]></content:encoded>
<pubDate>Sat, 07 Jan 2017 13:47:00 +0000</pubDate>
</item>

<item>
<title>Subscribe Form: Default</title>
<link>https://swirl.plusthree.com/stories/subscribe_form/default/</link>
<guid>https://swirl.plusthree.com/stories/subscribe_form/default/</guid>
<description></description>
<content:encoded><![CDATA[<p>Please subscribe to our mailing list. It&#39;s fun!</p>]]></content:encoded>
<pubDate>Sat, 07 Jan 2017 13:47:00 +0000</pubDate>
</item>

<item>
<title>Subscribe Form: Form Layout 2</title>
<link>https://swirl.plusthree.com/stories/subscribe_form/form_layout_2/</link>
<guid>https://swirl.plusthree.com/stories/subscribe_form/form_layout_2/</guid>
<description></description>
<content:encoded><![CDATA[<p>Please subscribe to our mailing list. It&#39;s fun!</p>]]></content:encoded>
<pubDate>Sat, 07 Jan 2017 13:47:00 +0000</pubDate>
</item>

<item>
<title>Subscribe Form: Custom Field Label Override</title>
<link>https://swirl.plusthree.com/stories/subscribe_form/custom-field-label-override/</link>
<guid>https://swirl.plusthree.com/stories/subscribe_form/custom-field-label-override/</guid>
<description></description>
<content:encoded><![CDATA[<p>The <code>date_of_birth</code> custom field and the submit button both have their content changed via parameters.</p>]]></content:encoded>
<pubDate>Sat, 07 Jan 2017 13:47:00 +0000</pubDate>
</item>

<item>
<title>Subscribe Form: Field Order Test</title>
<link>https://swirl.plusthree.com/stories/subscribe_form/field-order-test/</link>
<guid>https://swirl.plusthree.com/stories/subscribe_form/field-order-test/</guid>
<description></description>
<content:encoded><![CDATA[<p>TBD. Looking for a way to specify a list of field ids and reorder the form based on that. But because these fields are originally in form-groups and other wrapper divs, this isn&#39;t a trivial thing &amp;mash; other scripts might depend on this deeper structure.</p>]]></content:encoded>
<pubDate>Sat, 07 Jan 2017 13:47:00 +0000</pubDate>
</item>

<item>
<title>Subscribe Form: Form Layout 2 w/ Image</title>
<link>https://swirl.plusthree.com/stories/subscribe_form/form_layout_2_image/</link>
<guid>https://swirl.plusthree.com/stories/subscribe_form/form_layout_2_image/</guid>
<description></description>
<content:encoded><![CDATA[<p>Please subscribe to our mailing list. It&#39;s fun!</p><div id="tc-below-title"><div class="media img" data-width="1500" data-height="650" style="--width: 1500; --height: 650;"><picture><img  src="https://swirl.plusthree.com/images/slides/slide1500_3women.jpg" alt="Three women" width="1500" height="650" onerror="this.classList.add('load-error');"></picture></div></div>]]></content:encoded>
<pubDate>Sat, 07 Jan 2017 13:47:00 +0000</pubDate>
</item>

<item>
<title>Test: vanilla.tweakPage</title>
<link>https://swirl.plusthree.com/javascript/tweak-page/</link>
<guid>https://swirl.plusthree.com/javascript/tweak-page/</guid>
<description></description>
<content:encoded><![CDATA[<p>Testing some Javascript to rename and rearrange form elements.</p>]]></content:encoded>
<pubDate>Sat, 07 Jan 2017 13:47:00 +0000</pubDate>
</item>

<item>
<title>Subscribe Form: Form Layout 3</title>
<link>https://swirl.plusthree.com/stories/subscribe_form/form_layout_3/</link>
<guid>https://swirl.plusthree.com/stories/subscribe_form/form_layout_3/</guid>
<description></description>
<content:encoded><![CDATA[<p>Please subscribe to our mailing list. It&#39;s fun!</p>]]></content:encoded>
<pubDate>Sat, 07 Jan 2017 13:47:00 +0000</pubDate>
</item>

<item>
<title>Subscribe Form</title>
<link>https://swirl.plusthree.com/stories/subscribe_form/</link>
<guid>https://swirl.plusthree.com/stories/subscribe_form/</guid>
<description></description>
<content:encoded><![CDATA[<p>Please subscribe to our mailing list. It&#39;s fun!</p>]]></content:encoded>
<pubDate>Sat, 07 Jan 2017 13:47:00 +0000</pubDate>
</item>

<item>
<title>Subscribe Form: Default Bare</title>
<link>https://swirl.plusthree.com/stories/subscribe_form/default-bare/</link>
<guid>https://swirl.plusthree.com/stories/subscribe_form/default-bare/</guid>
<description></description>
<content:encoded><![CDATA[<p>Please subscribe to our mailing list. It&#39;s fun!</p>]]></content:encoded>
<pubDate>Sat, 07 Jan 2017 13:47:00 +0000</pubDate>
</item>

<item>
<title>Subscribe Form: Form Layout 4</title>
<link>https://swirl.plusthree.com/stories/subscribe_form/form_layout_4/</link>
<guid>https://swirl.plusthree.com/stories/subscribe_form/form_layout_4/</guid>
<description></description>
<content:encoded><![CDATA[<p>Please subscribe to our mailing list. It&#39;s fun!</p>]]></content:encoded>
<pubDate>Sat, 07 Jan 2017 13:47:00 +0000</pubDate>
</item>

<item>
<title>Subscribe Form: Custom Fields</title>
<link>https://swirl.plusthree.com/stories/subscribe_form/custom-fields/</link>
<guid>https://swirl.plusthree.com/stories/subscribe_form/custom-fields/</guid>
<description></description>
<content:encoded><![CDATA[<p>Testing some Javascript to remove certain prefilled values.</p>]]></content:encoded>
<pubDate>Sat, 07 Jan 2017 13:47:00 +0000</pubDate>
</item>

<item>
<title>Subscribe Form: Sorted Errors</title>
<link>https://swirl.plusthree.com/stories/subscribe_form/sorted-errors/</link>
<guid>https://swirl.plusthree.com/stories/subscribe_form/sorted-errors/</guid>
<description></description>
<content:encoded><![CDATA[<p>Please subscribe to our mailing list. It&#39;s fun!</p>]]></content:encoded>
<pubDate>Sat, 07 Jan 2017 13:47:00 +0000</pubDate>
</item>

<item>
<title>Subscribe Form: No Prefill</title>
<link>https://swirl.plusthree.com/stories/subscribe_form/no-prefill/</link>
<guid>https://swirl.plusthree.com/stories/subscribe_form/no-prefill/</guid>
<description></description>
<content:encoded><![CDATA[<p>Please subscribe to our mailing list. It&#39;s fun!</p>]]></content:encoded>
<pubDate>Sat, 07 Jan 2017 13:47:00 +0000</pubDate>
</item>

<item>
<title>Subscribe Form: Custom Error Message</title>
<link>https://swirl.plusthree.com/stories/subscribe_form/custom-error-message/</link>
<guid>https://swirl.plusthree.com/stories/subscribe_form/custom-error-message/</guid>
<description></description>
<content:encoded><![CDATA[<p>If an invalid email address is submitted, a custom error message will be displayed instead of the default.</p>]]></content:encoded>
<pubDate>Sat, 07 Jan 2017 13:47:00 +0000</pubDate>
</item>

<item>
<title>Homepage</title>
<link>https://swirl.plusthree.com/</link>
<guid>https://swirl.plusthree.com/</guid>
<description></description>
<content:encoded><![CDATA[<div class="hero"><div class="media img align-flush" data-width="1140" data-height="1090" style="--width: 1140; --height: 1090;"><picture><source media="(max-width: 639px)" srcset="https://swirl.plusthree.com/images/vanilla-hp-hero-sm.png"><img  src="https://swirl.plusthree.com/images/vanilla-hp-hero.png" alt="Welcome to Vanilla: An advanced, flexible front-end development system developed by Plus Three." width="1140" height="1090" onerror="this.classList.add('load-error');"></picture></div></div>]]></content:encoded>
<pubDate>Thu, 05 Jan 2017 13:52:00 +0000</pubDate>
</item>

<item>
<title>Subscribe Form: Old Captcha</title>
<link>https://swirl.plusthree.com/stories/subscribe_form/old_captcha/</link>
<guid>https://swirl.plusthree.com/stories/subscribe_form/old_captcha/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Thu, 19 Jun 2014 20:26:00 +0000</pubDate>
</item>

<item>
<title>Contribution Form (Itemized): Zero Amounts</title>
<link>https://swirl.plusthree.com/stories/contribution_form_itemized/zero_amounts/</link>
<guid>https://swirl.plusthree.com/stories/contribution_form_itemized/zero_amounts/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Sat, 04 Jan 2014 16:04:00 +0000</pubDate>
</item>

<item>
<title>Contribute: Legacy Tribute Fields</title>
<link>https://swirl.plusthree.com/stories/contribution_form/legacy_tribute_fields/</link>
<guid>https://swirl.plusthree.com/stories/contribution_form/legacy_tribute_fields/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Fri, 26 Apr 2013 11:06:00 +0000</pubDate>
</item>

<item>
<title>Custom Fields</title>
<link>https://swirl.plusthree.com/test_files/custom_fields/</link>
<guid>https://swirl.plusthree.com/test_files/custom_fields/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Thu, 07 Mar 2013 12:59:00 +0000</pubDate>
</item>

<item>
<title>Vanilla Tabs</title>
<link>https://swirl.plusthree.com/ui/vanilla-tabs/</link>
<guid>https://swirl.plusthree.com/ui/vanilla-tabs/</guid>
<description></description>
<content:encoded><![CDATA[<div class="vanilla-tabs vt-basic"><ul class="tabs"><li>Nunc tincidunt</li><li>Proin dolor</li><li>Aenean lacinia</li></ul><div class="panes"><div class="pane"><p>Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus.</p></div><div class="pane"><p>Morbi tincidunt, dui sit amet facilisis feugiat, odio metus gravida ante, ut pharetra massa metus id nunc. Duis scelerisque molestie turpis. Sed fringilla, massa eget luctus malesuada, metus eros molestie lectus, ut tempus eros massa ut dolor. Aenean aliquet fringilla sem. Suspendisse sed ligula in ligula suscipit aliquam. Praesent in eros vestibulum mi adipiscing adipiscing. Morbi facilisis. Curabitur ornare consequat nunc. Aenean vel metus. Ut posuere viverra nulla. Aliquam erat volutpat. Pellentesque convallis. Maecenas feugiat, tellus pellentesque pretium posuere, felis lorem euismod felis, eu ornare leo nisi vel felis. Mauris consectetur tortor et purus.</p></div><div class="pane"><p>Mauris eleifend est et turpis. Duis id erat. Suspendisse potenti. Aliquam vulputate, pede vel vehicula accumsan, mi neque rutrum erat, eu congue orci lorem eget lorem. Vestibulum non ante. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Fusce sodales. Quisque eu urna vel enim commodo pellentesque. Praesent eu risus hendrerit ligula tempus pretium. Curabitur lorem enim, pretium nec, feugiat nec, luctus a, lacus.</p><p>Duis cursus. Maecenas ligula eros, blandit nec, pharetra at, semper at, magna. Nullam ac lacus. Nulla facilisi. Praesent viverra justo vitae neque. Praesent blandit adipiscing velit. Suspendisse potenti. Donec mattis, pede vel pharetra blandit, magna ligula faucibus eros, id euismod lacus dolor eget odio. Nam scelerisque. Donec non libero sed nulla mattis commodo. Ut sagittis. Donec nisi lectus, feugiat porttitor, tempor ac, tempor vitae, pede. Aenean vehicula velit eu tellus interdum rutrum. Maecenas commodo. Pellentesque nec elit. Fusce in lacus. Vivamus a libero vitae lectus hendrerit hendrerit.</p></div></div><!-- /.panes --></div><!-- /.vanilla-tabs --><hr /><h2>Notes</h2><p>This built-in javascript function is meant to replace the previous version, <code>p3tabs()</code>, as of June 2023. It has the following options:</p><li><code>selector</code>: The container for the tab assemblange. Must be specified.</li><li><code>tabs</code>: The selector for the clickable accordion section headers. Defaults to <code>ul.tabs li</code>.</li><li><code>panes</code>: The selector for the section content. Defaults to <code>div.panes &gt; div</code>.</li><li><code>initial</code>: Which tab is open at page load. Defaults to <code>0</code> (the first).</li><p>Example: <code>vanilla.tabs({ selector: &#39;.vt-basic&#39;, initial: 1});</code></p><p>Basic styles are in vanilla.css, and assume a wrapper class of <code>vanilla-tabs</code>.</p>]]></content:encoded>
<pubDate>Mon, 25 Feb 2013 09:35:00 +0000</pubDate>
</item>

<item>
<title>Accordion</title>
<link>https://swirl.plusthree.com/ui/accordion/</link>
<guid>https://swirl.plusthree.com/ui/accordion/</guid>
<description></description>
<content:encoded><![CDATA[<div class="vanilla-accordion demo-accordion"><h3>Section 1</h3><div><p>Mauris mauris ante, blandit et, ultrices a, suscipit eget, quam. Integerut neque. Vivamus nisi metus, molestie vel, gravida in, condimentum sitamet, nunc. Nam a nibh. Donec suscipit eros. Nam mi. Proin viverra leo utodio. Curabitur malesuada. Vestibulum a velit eu ante scelerisque vulputate.</p></div><h3>Section 2</h3><div><p>Sed non urna. Donec et ante. Phasellus eu ligula. Vestibulum sit ametpurus. Vivamus hendrerit, dolor at aliquet laoreet, mauris turpis porttitorvelit, faucibus interdum tellus libero ac justo. Vivamus non quam. Insuscipit faucibus urna.</p></div><h3>Section 3</h3><div><h3>Title for Section 3</h3><p>Nam enim risus, molestie et, porta ac, aliquam ac, risus. Quisque lobortis.Phasellus pellentesque purus in massa. Aenean in pede. Phasellus ac liberoac tellus pellentesque semper. Sed ac felis. Sed commodo, magna quislacinia ornare, quam ante aliquam nisi, eu iaculis leo purus venenatis dui.</p><ul><li>List item one</li><li>List item two</li><li>List item three</li></ul></div><h3>Section 4</h3><div><p>Cras dictum. Pellentesque habitant morbi tristique senectus et netuset malesuada fames ac turpis egestas. Vestibulum ante ipsum primis infaucibus orci luctus et ultrices posuere cubilia Curae; Aenean laciniamauris vel est.</p><p>Suspendisse eu nisl. Nullam ut libero. Integer dignissim consequat lectus.Class aptent taciti sociosqu ad litora torquent per conubia nostra, perinceptos himenaeos.</p></div></div><!-- /.vanilla-accordion --><hr /><h2>Notes</h2><p>Default accordion styles are in <code>vanilla.css</code> keyed on the class <code>.vanilla-accordion</code> and assuming the default tab and pane selectors, and can be overridden as needed.</p><p>The JS function has the following options:</p><li>selector: A CSS selector for the root container. Styles key on <code>.vanilla-accordion</code> but general practice is to add another specific class for targetting the Javascript.</li><li>tabs: The selector for the clickable accordion section headers. Defaults to <code>h3</code>.</li><li>panes: The selector for the section content. Defaults to <code>div</code>.</li><li>initial: Which tab is open at page load. Defaults to 0 (the first). Setting it to -1 will result in all tabs being closed.</li>]]></content:encoded>
<pubDate>Fri, 22 Feb 2013 16:06:00 +0000</pubDate>
</item>

<item>
<title>Horizontal Progress Bar</title>
<link>https://swirl.plusthree.com/ui/horizontal_progress_bar/</link>
<guid>https://swirl.plusthree.com/ui/horizontal_progress_bar/</guid>
<description></description>
<content:encoded><![CDATA[<div class="progress-bar horz-progress-bar"><div class="value"></div></div><style>.horz-progress-bar {  width: 200px;  height: 30px;  border: 1px solid #ddd;  border-radius: 4px;}</style><hr /><h2>Notes</h2><p>Please view source to see sample CSS and JS code. Basic effect is generated via a JS-induced CSS change and CSS transitions.</p>]]></content:encoded>
<pubDate>Fri, 22 Feb 2013 13:41:00 +0000</pubDate>
</item>

<item>
<title>Vertical Progress Bar</title>
<link>https://swirl.plusthree.com/ui/vertical_progress_bar/</link>
<guid>https://swirl.plusthree.com/ui/vertical_progress_bar/</guid>
<description></description>
<content:encoded><![CDATA[<div class="progress-bar vert-progress-bar"><div class="value"></div></div><style>.vert-progress-bar {  height: 200px;  width: 30px;  border: 1px solid #ddd;  border-radius: 4px;}</style><hr /><h2>Notes</h2><p>Please view source to see sample CSS and JS code. Basic effect is generated via a JS-induced CSS change and CSS transitions.</p>]]></content:encoded>
<pubDate>Fri, 22 Feb 2013 13:41:00 +0000</pubDate>
</item>

<item>
<title>Membership Form</title>
<link>https://swirl.plusthree.com/stories/membership_form/</link>
<guid>https://swirl.plusthree.com/stories/membership_form/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Mon, 12 Nov 2012 16:05:00 +0000</pubDate>
</item>

<item>
<title>Server Error</title>
<link>https://swirl.plusthree.com/error/502/</link>
<guid>https://swirl.plusthree.com/error/502/</guid>
<description></description>
<content:encoded><![CDATA[<p>We&#39;re sorry. An error has occurred. Please try again.</p>]]></content:encoded>
<pubDate>Thu, 01 Nov 2012 15:55:00 +0000</pubDate>
</item>

<item>
<title>Server Error</title>
<link>https://swirl.plusthree.com/error/500/</link>
<guid>https://swirl.plusthree.com/error/500/</guid>
<description></description>
<content:encoded><![CDATA[<p>We&#39;re sorry. An error has occurred. Please try again.</p>]]></content:encoded>
<pubDate>Thu, 01 Nov 2012 15:55:00 +0000</pubDate>
</item>

<item>
<title>Page Not Found</title>
<link>https://swirl.plusthree.com/error/404/</link>
<guid>https://swirl.plusthree.com/error/404/</guid>
<description></description>
<content:encoded><![CDATA[<p>We&#39;re sorry. The page you&#39;re looking for could not be found.</p><p><a href="/">Click here to visit the home page.</a></p>]]></content:encoded>
<pubDate>Thu, 01 Nov 2012 15:53:00 +0000</pubDate>
</item>

<item>
<title>Form Loop and Markup</title>
<link>https://swirl.plusthree.com/dev/form-loop/</link>
<guid>https://swirl.plusthree.com/dev/form-loop/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Tue, 30 Oct 2012 15:34:00 +0000</pubDate>
</item>

<item>
<title>Legacy Leadins</title>
<link>https://swirl.plusthree.com/leadins/legacy/</link>
<guid>https://swirl.plusthree.com/leadins/legacy/</guid>
<description></description>
<content:encoded><![CDATA[<style>#content .leadin {    padding: 10px;    background-color: #eee;}</style><p>These leadins use the legacy leadin markup and CSS that we have been using for some time now. This set of examples in no way exhausts the range of options we have, but should serve as a simple reference for basic types.</p><p>In late 2021, we began working on new markup and CSS to bring leadins into the more general <a href="/cards/">card</a> family. Cards should now be considered the default for new sites and some of these layout options (e.g. auto-shrink image, which I don&#39;t believe has ever been used for client work) will go away.</p><p>The leadins have been placed in padded boxes with a background color just for display purposes here. That is not part of the standard look.</p><h3>Column</h3><div class="listed-item leadin leadin-type-legacy item-1 has-image has-text column" data-story-uuid="1D2355AE-D378-11E6-8918-08070B572665" data-story-title="Lead In Title"><div class="display-wrapper"><div class="media img"><a href="https://swirl.plusthree.com/"><picture><img src="//swirl.plusthree.com/images/logo_opengraph.png" alt="Lead In Title" width="200" height="200"></picture></a></div><!-- /.img --><div class="txt"><h3 class="title text-item"><a href="https://swirl.plusthree.com/">Lead In Title</a></h3><div class="teaser text-item">Holisticly repurpose unique schemas rather than next-generation networks. Collaboratively re-engineer client-focused interfaces through B2C materials. Completely architect e-business vortals before user-centric relationships. Competently.</div><p class="readmore text-item"><a href="https://swirl.plusthree.com/" aria-label="More: Lead In Title">More</a></p></div><!-- /.txt --></div><!-- /.display-wrapper --></div><!-- /.listed-item --><h3>Column: Title Top</h3><div class="listed-item leadin leadin-type-legacy item-2 item-gt1 has-image has-text column title-top" data-story-uuid="1D2355AE-D378-11E6-8918-08070B572665" data-story-title="Lead-In Title"><div class="display-wrapper"><h3 class="title text-item"><a href="https://swirl.plusthree.com/">Lead-In Title</a></h3><div class="media img"><a href="https://swirl.plusthree.com/"><picture><img src="//swirl.plusthree.com/images/logo_opengraph.png" alt="Lead-In Title" width="200" height="200"></picture></a></div><!-- /.img --><div class="txt"><div class="teaser text-item">Holisticly repurpose unique schemas rather than next-generation networks. Collaboratively re-engineer client-focused interfaces through B2C materials. Completely architect e-business vortals before user-centric relationships. Competently.</div><p class="readmore text-item"><a href="https://swirl.plusthree.com/" aria-label="More: Lead-In Title">More</a></p></div><!-- /.txt --></div><!-- /.display-wrapper --></div><!-- /.listed-item --><h3>Row</h3><div class="listed-item leadin leadin-type-legacy item-3 item-gt1 item-gt2 has-image has-text" data-story-uuid="1D2355AE-D378-11E6-8918-08070B572665" data-story-title="Lead-In Title"><div class="display-wrapper"><div class="media img"><a href="https://swirl.plusthree.com/"><picture><img src="//swirl.plusthree.com/images/logo_opengraph.png" alt="Lead-In Title" width="200" height="200"></picture></a></div><!-- /.img --><div class="txt"><h3 class="title text-item"><a href="https://swirl.plusthree.com/">Lead-In Title</a></h3><div class="teaser text-item">Holisticly repurpose unique schemas rather than next-generation networks. Collaboratively re-engineer client-focused interfaces through B2C materials. Completely architect e-business vortals before user-centric relationships. Competently.</div><p class="readmore text-item"><a href="https://swirl.plusthree.com/" aria-label="More: Lead-In Title">More</a></p></div><!-- /.txt --></div><!-- /.display-wrapper --></div><!-- /.listed-item --><h3>Row: Auto Shrink Image</h3><div class="listed-item leadin leadin-type-legacy item-4 item-gt1 item-gt2 item-gt3 has-image has-text auto-shrink" data-story-uuid="1D2355AE-D378-11E6-8918-08070B572665" data-story-title="Lead-in Title"><div class="display-wrapper"><div class="media img"><a href="https://swirl.plusthree.com/"><picture><img src="//swirl.plusthree.com/images/logo_opengraph.png" alt="Lead-in Title" width="200" height="200"></picture></a></div><!-- /.img --><div class="txt"><h3 class="title text-item"><a href="https://swirl.plusthree.com/">Lead-in Title</a></h3><div class="teaser text-item">Holisticly repurpose unique schemas rather than next-generation networks. Collaboratively re-engineer client-focused interfaces through B2C materials. Completely architect e-business vortals before user-centric relationships. Competently.</div><p class="readmore text-item"><a href="https://swirl.plusthree.com/" aria-label="More: Lead-in Title">More</a></p></div><!-- /.txt --></div><!-- /.display-wrapper --></div><!-- /.listed-item --><h3>Row: Image Right</h3><div class="listed-item leadin leadin-type-legacy item-5 item-gt1 item-gt2 item-gt3 has-image has-text img-right" data-story-uuid="1D2355AE-D378-11E6-8918-08070B572665" data-story-title="Lead-In Title"><div class="display-wrapper"><div class="media img"><a href="https://swirl.plusthree.com/"><picture><img src="//swirl.plusthree.com/images/logo_opengraph.png" alt="Lead-In Title" width="200" height="200"></picture></a></div><!-- /.img --><div class="txt"><h3 class="title text-item"><a href="https://swirl.plusthree.com/">Lead-In Title</a></h3><div class="teaser text-item">Holisticly repurpose unique schemas rather than next-generation networks. Collaboratively re-engineer client-focused interfaces through B2C materials. Completely architect e-business vortals before user-centric relationships. Competently.</div><p class="readmore text-item"><a href="https://swirl.plusthree.com/" aria-label="More: Lead-In Title">More</a></p></div><!-- /.txt --></div><!-- /.display-wrapper --></div><!-- /.listed-item --><h3>Column: Mobile Image</h3><div class="listed-item leadin leadin-type-legacy item-6 item-gt1 item-gt2 item-gt3 has-image has-text column" data-story-uuid="1D2355AE-D378-11E6-8918-08070B572665" data-story-title="Lead-in Title"><div class="display-wrapper"><div class="media img"><a href="https://swirl.plusthree.com/"><picture><img src="//swirl.plusthree.com/images/teaser_desktop_800.png" alt="Lead-in Title" width="800" height="400"></picture></a></div><!-- /.img --><div class="txt"><h3 class="title text-item"><a href="https://swirl.plusthree.com/">Lead-in Title</a></h3><div class="teaser text-item">Iure eu, mattis massa placerat animi eros cillum! Luctus! Eum.</div><p class="readmore text-item"><a href="https://swirl.plusthree.com/" aria-label="More: Lead-in Title">More</a></p></div><!-- /.txt --></div><!-- /.display-wrapper --></div><!-- /.listed-item -->]]></content:encoded>
<pubDate>Mon, 29 Oct 2012 16:55:00 +0000</pubDate>
</item>

<item>
<title>Event Listing</title>
<link>https://swirl.plusthree.com/stories/event_listing/</link>
<guid>https://swirl.plusthree.com/stories/event_listing/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Fri, 26 Oct 2012 15:57:00 +0000</pubDate>
</item>

<item>
<title>Blog Post 2</title>
<link>https://swirl.plusthree.com/blog/blog_post_2/</link>
<guid>https://swirl.plusthree.com/blog/blog_post_2/</guid>
<description>Donec dignissim libero sed nunc varius a placerat arcu feugiat. Cras varius justo turpis. Ut sagittis malesuada nulla nec vestibulum. Aliquam erat volutpat. Cras et bibendum lacus. Cras mollis sodales mauris nec porta.</description>
<content:encoded><![CDATA[<div class="media img" data-width="1920" data-height="640" style="--width: 1920; --height: 640;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_3x1.png" alt="" width="1920" height="640" onerror="this.classList.add('load-error');"></picture></div><p>Donec dignissim libero sed nunc varius a placerat arcu feugiat. Cras varius justo turpis. Ut sagittis malesuada nulla nec vestibulum. Aliquam erat volutpat. Cras et bibendum lacus. Cras mollis sodales mauris nec porta. Quisque id pretium augue. Duis convallis odio nec lorem semper posuere. Mauris mauris nisl, viverra non accumsan at, congue ut lacus. Sed facilisis, libero vitae ultricies tristique, erat tortor condimentum justo, vel dignissim dui orci ut ipsum. Suspendisse laoreet varius leo vel sollicitudin. Nullam sollicitudin nibh eu nulla ornare sodales. Aenean viverra felis vitae purus viverra ac mattis justo tempor. Proin hendrerit nulla malesuada sem lobortis faucibus. Quisque quis ipsum dui, ac porta risus. Cras libero quam, imperdiet sit amet tincidunt tincidunt, egestas at libero. Ut vitae velit sed velit aliquet fermentum. Praesent fermentum gravida elit eu interdum. Vestibulum sed augue ut metus fermentum dapibus eu non odio. Maecenas vitae placerat ipsum.</p><p>Praesent aliquam sapien eu est varius viverra. Nam a tortor et odio feugiat venenatis vitae vel nibh. Nam rhoncus ipsum sed tortor sagittis malesuada. Nam eu odio vel leo blandit pharetra id non elit. Nullam ac vehicula diam. Etiam porttitor, mauris nec viverra venenatis, turpis nisl vulputate urna, consequat faucibus tellus magna in dui. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nulla lobortis porttitor justo in ultrices. Mauris lectus eros, dictum quis aliquet ut, malesuada tempor nunc. Nunc lobortis malesuada euismod. Integer a turpis ut lorem aliquam rhoncus. Morbi ut nisi sit amet nisl eleifend luctus. Mauris tempus vestibulum tellus eget iaculis. Maecenas eget purus ligula.</p><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae nunc non odio ultricies dignissim. Quisque lobortis viverra ipsum, accumsan ultrices orci tempor non.</p>]]></content:encoded>
<pubDate>Wed, 24 Oct 2012 17:50:00 +0000</pubDate>
</item>

<item>
<title>Blog Post 1</title>
<link>https://swirl.plusthree.com/blog/blog_post_1/</link>
<guid>https://swirl.plusthree.com/blog/blog_post_1/</guid>
<description>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae nunc non odio ultricies dignissim.</description>
<content:encoded><![CDATA[<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae nunc non odio ultricies dignissim. Quisque lobortis viverra ipsum, accumsan ultrices orci tempor non. Donec eu ipsum quam. Nam consequat dapibus nisi id malesuada. Vestibulum gravida auctor erat, non sagittis justo ultricies ac. Cras ac mauris at ligula feugiat auctor.</p><div class="media img" data-width="1920" data-height="640" style="--width: 1920; --height: 640;"><picture><img  src="https://swirl.plusthree.com/images/placeholder_1920_3x1.png" alt="" width="1920" height="640" onerror="this.classList.add('load-error');"></picture></div><p><a href="https://google.com/">Quisque vehicula</a> ornare quam ut rhoncus. Curabitur ac orci libero. Pellentesque euismod pellentesque interdum. Fusce scelerisque tellus id mauris vestibulum non consectetur libero consequat. Quisque accumsan, quam id auctor varius, enim ligula vehicula enim, eu faucibus ante nisl sed metus. Integer ut est tellus, non suscipit velit. Vestibulum vitae quam nisi, sit amet malesuada ipsum.</p><p>In tempor arcu ac nulla tempus at feugiat nunc lobortis. Pellentesque in lectus a libero facilisis rhoncus eleifend eget tortor. Vestibulum urna ligula, imperdiet sed tempor sit amet, facilisis ut neque. Ut tempus sodales varius. Phasellus vel commodo dolor. Proin iaculis odio id est bibendum volutpat. Nam in rutrum arcu. Quisque auctor, turpis sit amet sagittis euismod, ante erat ullamcorper felis, sed imperdiet dui odio et turpis. Cras mollis, ipsum ut lacinia commodo, est quam pellentesque tellus, id consectetur augue nulla in nunc. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.</p><p>Nulla ac lectus enim. Quisque sed accumsan leo. Nunc blandit ultricies massa, viverra semper felis tincidunt id. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.</p><p>Phasellus ornare posuere quam faucibus egestas. Phasellus ornare vehicula interdum. In eget velit ac purus congue pellentesque vitae quis dui. In id nibh tellus, vitae hendrerit nisi. Curabitur nulla sem, luctus sit amet dapibus non, porta et odio. Morbi in mi non velit euismod tincidunt a ut mauris. Vestibulum eu massa vitae nisl commodo consequat. Vestibulum pellentesque cursus rhoncus. Sed eget laoreet leo. Etiam vulputate nunc id lacus porttitor porttitor. Aenean non ligula vitae sapien pellentesque facilisis.</p>]]></content:encoded>
<pubDate>Wed, 24 Oct 2012 17:45:00 +0000</pubDate>
</item>

<item>
<title>Blog: Teasers</title>
<link>https://swirl.plusthree.com/blog/teasers/</link>
<guid>https://swirl.plusthree.com/blog/teasers/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Wed, 24 Oct 2012 17:44:00 +0000</pubDate>
</item>

<item>
<title>Blog</title>
<link>https://swirl.plusthree.com/blog/</link>
<guid>https://swirl.plusthree.com/blog/</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<pubDate>Wed, 24 Oct 2012 17:44:00 +0000</pubDate>
</item>

<item>
<title>Contact Us Form: Form Layout 4</title>
<link>https://swirl.plusthree.com/stories/contact_us_form/form_layout_4/</link>
<guid>https://swirl.plusthree.com/stories/contact_us_form/form_layout_4/</guid>
<description></description>
<content:encoded><![CDATA[<p>Conveniently enable functional infrastructures for multimedia based channels. Quickly morph optimal technologies rather than enabled leadership. Authoritatively iterate just in time mindshare rather than team building strategic theme areas. Seamlessly provide access to effective methods.</p>]]></content:encoded>
<pubDate>Sun, 22 Jan 2012 16:57:00 +0000</pubDate>
</item>

<item>
<title>Contact Us Form: With Mobile Phone</title>
<link>https://swirl.plusthree.com/stories/contact_us_form/mobile-phone/</link>
<guid>https://swirl.plusthree.com/stories/contact_us_form/mobile-phone/</guid>
<description></description>
<content:encoded><![CDATA[<p>Conveniently enable functional infrastructures for multimedia based channels. Quickly morph optimal technologies rather than enabled leadership. Authoritatively iterate just in time mindshare rather than team building strategic theme areas. Seamlessly provide access to effective methods.</p>]]></content:encoded>
<pubDate>Sun, 22 Jan 2012 16:57:00 +0000</pubDate>
</item>

<item>
<title>Contact Us Form: No Subject/Message</title>
<link>https://swirl.plusthree.com/stories/contact_us_form/no_subject_message/</link>
<guid>https://swirl.plusthree.com/stories/contact_us_form/no_subject_message/</guid>
<description></description>
<content:encoded><![CDATA[<p>Conveniently enable functional infrastructures for multimedia based channels. Quickly morph optimal technologies rather than enabled leadership. Authoritatively iterate just in time mindshare rather than team building strategic theme areas. Seamlessly provide access to effective methods.</p>]]></content:encoded>
<pubDate>Sun, 22 Jan 2012 16:57:00 +0000</pubDate>
</item>

<item>
<title>Contact Us Form: Form Layout 2</title>
<link>https://swirl.plusthree.com/stories/contact_us_form/form_layout_2/</link>
<guid>https://swirl.plusthree.com/stories/contact_us_form/form_layout_2/</guid>
<description></description>
<content:encoded><![CDATA[<p>Conveniently enable functional infrastructures for multimedia based channels. Quickly morph optimal technologies rather than enabled leadership. Authoritatively iterate just in time mindshare rather than team building strategic theme areas. Seamlessly provide access to effective methods.</p>]]></content:encoded>
<pubDate>Sun, 22 Jan 2012 16:57:00 +0000</pubDate>
</item>

<item>
<title>Contact Us Form: Client Default</title>
<link>https://swirl.plusthree.com/stories/contact_us_form/client-default/</link>
<guid>https://swirl.plusthree.com/stories/contact_us_form/client-default/</guid>
<description></description>
<content:encoded><![CDATA[<p>Conveniently enable functional infrastructures for multimedia based channels. Quickly morph optimal technologies rather than enabled leadership. Authoritatively iterate just in time mindshare rather than team building strategic theme areas. Seamlessly provide access to effective methods.</p>]]></content:encoded>
<pubDate>Sun, 22 Jan 2012 16:57:00 +0000</pubDate>
</item>

<item>
<title>Contact Us Form: Form Layout 3</title>
<link>https://swirl.plusthree.com/stories/contact_us_form/form_layout_3/</link>
<guid>https://swirl.plusthree.com/stories/contact_us_form/form_layout_3/</guid>
<description></description>
<content:encoded><![CDATA[<p>Conveniently enable functional infrastructures for multimedia based channels. Quickly morph optimal technologies rather than enabled leadership. Authoritatively iterate just in time mindshare rather than team building strategic theme areas. Seamlessly provide access to effective methods.</p>]]></content:encoded>
<pubDate>Sun, 22 Jan 2012 16:57:00 +0000</pubDate>
</item>

<item>
<title>Contact Us Form</title>
<link>https://swirl.plusthree.com/stories/contact_us_form/</link>
<guid>https://swirl.plusthree.com/stories/contact_us_form/</guid>
<description></description>
<content:encoded><![CDATA[<p>Conveniently enable functional infrastructures for multimedia based channels. Quickly morph optimal technologies rather than enabled leadership. Authoritatively iterate just in time mindshare rather than team building strategic theme areas. Seamlessly provide access to effective methods.</p>]]></content:encoded>
<pubDate>Sun, 22 Jan 2012 16:57:00 +0000</pubDate>
</item>


</channel>
</rss>
