{"title":"Yoga Mat Bags","description":"\u003cscript\u003e\/\/ \u003c![CDATA[\n\/*\n * jQuery Shorten plugin 1.1.0\n *\n * Copyright (c) 2014 Viral Patel\n * http:\/\/viralpatel.net\n *\n * Licensed under the MIT license:\n *   http:\/\/www.opensource.org\/licenses\/mit-license.php\n *\/\n\n\/*\n** updated by Jeff Richardson\n** Updated to use strict,\n** IE 7 has a \"bug\" It is returning underfined when trying to reference string characters in this format\n** content[i]. IE 7 allows content.charAt(i) This works fine in all modern browsers.\n** I've also added brackets where they werent added just for readability (mostly for me).\n*\/\n\n(function($) {\n    $.fn.shorten = function(settings) {\n        \"use strict\";\n\n        var config = {\n            showChars: 0,\n            ellipsesText: \"\",\n            moreText: \"LEARN MORE + \",\n            lessText: \"Read Less\",\n            errMsg: null,\n            force: false\n        };\n\n        if (settings) {\n            $.extend(config, settings);\n        }\n\n        if ($(this).data('jquery.shorten') \u0026\u0026 !config.force) {\n            return false;\n        }\n        $(this).data('jquery.shorten', true);\n\n        $(document).off(\"click\", '.morelink');\n\n        $(document).on({\n            click: function() {\n\n                var $this = $(this);\n                if ($this.hasClass('less')) {\n                    $this.removeClass('less');\n                    $this.html(config.moreText);\n                    $this.parent().prev().prev().show(); \/\/ shortcontent\n                    $this.parent().prev().hide(); \/\/ allcontent\n\n                } else {\n                    $this.addClass('less');\n                    $this.html(config.lessText);\n                    $this.parent().prev().prev().hide(); \/\/ shortcontent\n                    $this.parent().prev().show(); \/\/ allcontent\n                }\n                return false;\n            }\n        }, '.morelink');\n\n        return this.each(function() {\n            var $this = $(this);\n\n            var content = $this.html();\n            var contentlen = $this.text().length;\n            if (contentlen \u003e config.showChars) {\n                var c = content.substr(0, config.showChars);\n                if (c.indexOf('\u003c') \u003e= 0) \/\/ If there's HTML don't want to cut it\n                {\n                    var inTag = false; \/\/ I'm in a tag?\n                    var bag = ''; \/\/ Put the characters to be shown here\n                    var countChars = 0; \/\/ Current bag size\n                    var openTags = []; \/\/ Stack for opened tags, so I can close them later\n                    var tagName = null;\n\n                    for (var i = 0, r = 0; r \u003c= config.showChars; i++) {\n                        if (content[i] == '\u003c' \u0026\u0026 !inTag) {\n                            inTag = true;\n\n                            \/\/ This could be \"tag\" or \"\/tag\"\n                            tagName = content.substring(i + 1, content.indexOf('\u003e', i));\n\n                            \/\/ If its a closing tag\n                            if (tagName[0] == '\/') {\n\n\n                                if (tagName != '\/' + openTags[0]) {\n                                    config.errMsg = 'ERROR en HTML: the top of the stack should be the tag that closes';\n                                } else {\n                                    openTags.shift(); \/\/ Pops the last tag from the open tag stack (the tag is closed in the retult HTML!)\n                                }\n\n                            } else {\n                                \/\/ There are some nasty tags that don't have a close tag like \u003cbr\/\u003e\n                                if (tagName.toLowerCase() != 'br') {\n                                    openTags.unshift(tagName); \/\/ Add to start the name of the tag that opens\n                                }\n                            }\n                        }\n                        if (inTag \u0026\u0026 content[i] == '\u003e') {\n                            inTag = false;\n                        }\n\n                        if (inTag) { bag += content.charAt(i); } \/\/ Add tag name chars to the result\n                        else {\n                            r++;\n                            if (countChars \u003c= config.showChars) {\n                                bag += content.charAt(i); \/\/ Fix to ie 7 not allowing you to reference string characters using the []\n                                countChars++;\n                            } else \/\/ Now I have the characters needed\n                            {\n                                if (openTags.length \u003e 0) \/\/ I have unclosed tags\n                                {\n                                    \/\/console.log('They were open tags');\n                                    \/\/console.log(openTags);\n                                    for (j = 0; j \u003c openTags.length; j++) {\n                                        \/\/console.log('Cierro tag ' + openTags[j]);\n                                        bag += '\u003c\/' + openTags[j] + '\u003e'; \/\/ Close all tags that were opened\n\n                                        \/\/ You could shift the tag from the stack to check if you end with an empty stack, that means you have closed all open tags\n                                    }\n                                    break;\n                                }\n                            }\n                        }\n                    }\n                    c = $('\u003cdiv\/\u003e').html(bag + '\u003cspan class=\"ellip\"\u003e' + config.ellipsesText + '\u003c\/span\u003e').html();\n                }else{\n                    c+=config.ellipsesText;\n                }\n\n                var html = '\u003cdiv class=\"shortcontent\"\u003e' + c +\n                    '\u003c\/div\u003e\u003cdiv class=\"allcontent\"\u003e' + content +\n                    '\u003c\/div\u003e\u003cspan\u003e\u003ca href=\"javascript:\/\/nop\/\" class=\"morelink\"\u003e' + config.moreText + '\u003c\/a\u003e\u003c\/span\u003e';\n\n                $this.html(html);\n                $this.find(\".allcontent\").hide(); \/\/ Hide all text\n                $('.shortcontent p:last', $this).css('margin-bottom', 0); \/\/Remove bottom margin on last paragraph as it's likely shortened\n            }\n        });\n\n    };\n\n})(jQuery);\n\n$(document).ready(function() {\n$(\".text-collapse\").shorten();\n});\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cdiv class=\"text-collapse\"\u003e\n\u003ch2\u003e\u003c\/h2\u003e\n\u003ch1 data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eYoga Mat Bags\u003c\/span\u003e\u003c\/strong\u003e\u003c\/h1\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eTo practice yoga, you only really need one thing – a yoga mat. But a few accessories don’t hurt, either! And one of the most common accessories that new yoga practitioners pick up after a few sessions is a yoga mat bag, or a gym bag with an integrated yoga mat holder. This makes it easy to transport your yoga mat – and all of your other workout gear – whenever you need to run to the yoga studio. \u003c\/span\u003e\u003c\/p\u003e\n\u003ch2 data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eShop The Yoga Mat Bags And Yoga Mat Holders You Need From Gaiam\u003c\/span\u003e\u003c\/strong\u003e\u003c\/h2\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eThere are a wide variety of yoga mat bags and holders on the market, and at Gaiam, we offer yoga bags and workout bags of all types and sizes – ensuring you can find the bag that fits your style, meets your personal needs, and fits your mat and all the other gear you need to bring to the gym or yoga studio.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eFrom yoga mat holders to duffel bags, backpacks, cargo bags, slings, totes, and even accessories like cinch bags and waist packs with diverse features. From stylish bags made with antimicrobial materials, to bags made from 100% cotton, 100% recycled materials, and even 100% sustainable, eco-friendly hemp, we’ve got an unparalleled selection.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eNo matter what your personal style, values, and preferences may be, you’ll be able to shop with confidence at Gaiam. And with yoga mat bags from Gaiam, you’ll be able to easily transport your yoga mat to and from class in style – and take it with you just about anywhere else! \u003c\/span\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eWhether you frequently travel for business, enjoy practicing yoga outdoors, or visit lots of different yoga studios, you’re sure to find the bag you need at Gaiam. Shop online now, or feel free to contact our team if you have any questions about Gaiam yoga bags.\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e","products":[{"product_id":"easy-cinch-yoga-sling","title":"Easy-Cinch Yoga Sling","description":"\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003eThrow your bag on your back before you head out the door or hop on your bike with this easy-to-use adjustable yoga mat sling. Your mat will be safe \u0026amp; secure and you’ll be hands free with this easy to use yoga mat strap!\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eDurable carrying strap for your yoga mat\u003c\/li\u003e\n\u003cli\u003eMetal D-ring sliders ensure that your mat is secure\u003c\/li\u003e\n\u003cli\u003eLightweight design\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cstrong\u003eMeasurements: \u003c\/strong\u003e35½\"L x 1\"W\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eYoga Mat Strap Care Instructions:\u003c\/strong\u003e Hand wash. Dry flat.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eResources:\u003c\/strong\u003e \u003ca href=\"https:\/\/www.gaiam.com\/blogs\/bonus-content\/how-to-use-a-yoga-sling\" target=\"_blank\"\u003eLearn How to Use a Yoga Sling\u003c\/a\u003e.\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e","brand":"Gaiam","offers":[{"title":"Mulberry","offer_id":7288381407278,"sku":"05-62916","price":9.98,"currency_code":"USD","in_stock":false},{"title":"Gray","offer_id":35742456449,"sku":"05-61346","price":9.98,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1728\/2157\/products\/05-62916_EASY-CINCH-YOGAMAT-SLING-MULBERRY_A.jpg?v=1673040101"},{"product_id":"yoga-mat-slap-band","title":"Yoga Mat Slap Band","description":"\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003eMake getting into and out of the studio a snap. Our durable Yoga Mat Slap Band is possibly the easiest way ever to secure your mat. It instantly holds your rolled-up mat with one quick slap—even making it easier to slip your mat into any carrier bag. The sturdy band is built to last for repeated use whether you’re taking your mat with you or storing it between workouts.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eIdeal for carrying or storing mats\u003c\/li\u003e\n\u003cli\u003eEasily “slaps” around most rolled mats\u003c\/li\u003e\n\u003cli\u003eDurable construction for repetitive use\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cstrong\u003eMeasurements:\u003c\/strong\u003e 20” long x 1.5” wide","brand":"Gaiam","offers":[{"title":"Default Title","offer_id":16185746882606,"sku":"05-63409","price":9.98,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1728\/2157\/products\/05-63409_YOGA-MAT-SLAP-BAND-BLACK_A.jpg?v=1621641477"},{"product_id":"sidekick-waist-pack","title":"Sidekick Waist Pack","description":"\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003eRefine your street smarts with the Sidekick Waist Pack. It’s roomy enough to fit all your small essentials and water-repellant to get you wherever you need to go under any conditions. Multiple pockets let you keep things separate. And the adjustable strap ensures the perfect fit. \u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eIdeal size to get around town with multiple items\u003c\/li\u003e\n\u003cli\u003eWater-repellant, easy-to-clean material\u003c\/li\u003e\n\u003cli\u003eSeveral pockets for phone, wallet, keys and more\u003c\/li\u003e\n\u003cli\u003eSpot clean\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cstrong\u003eMaterials:\u003c\/strong\u003e Nylon, Polyester\u003c\/p\u003e","brand":"Gaiam","offers":[{"title":"Black","offer_id":32842657824814,"sku":"05-63927","price":19.98,"currency_code":"USD","in_stock":true},{"title":"Rose","offer_id":32842657857582,"sku":"05-64173","price":19.98,"currency_code":"USD","in_stock":false},{"title":"Cantaloupe","offer_id":40251001012270,"sku":"05-64979","price":19.98,"currency_code":"USD","in_stock":false},{"title":"Wild Lilac","offer_id":40251001045038,"sku":"05-64982","price":19.98,"currency_code":"USD","in_stock":false},{"title":"Celery","offer_id":40251001077806,"sku":"05-64988","price":19.98,"currency_code":"USD","in_stock":false},{"title":"Lakeside","offer_id":40251001110574,"sku":"05-64985","price":19.98,"currency_code":"USD","in_stock":false},{"title":"Dovetail","offer_id":40251001143342,"sku":"05-64991","price":19.98,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1728\/2157\/products\/05-63927_GAIAM-SIDEKICK-WAIST-PACK_A.jpg?v=1594829769"},{"product_id":"running-arm-band","title":"Running Arm Band","description":"\u003cp\u003e \u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eStay connected while you run, jog or walk with the Running Arm Band. This arm band holds most smartphones and securely wraps around your upper arm so you can conveniently access it while you're actively on the go. Answer a call or change the song on your favorite running playlist without ever skipping a beat. The durable design features soft, moisture-wicking fabric and an adjustable closure for a customized fit. \u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eClear window allows you to access your smartphone screen\u003c\/li\u003e\n\u003cli\u003eIdeal for running, jogging or walking\u003c\/li\u003e\n\u003cli\u003eSoft yet durable, moisture-wicking fabric \u003c\/li\u003e\n\u003cli\u003eAdjustable closure for customized fit\u003c\/li\u003e\n\u003cli\u003eOne size fits most\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cstrong\u003eMeasurements:\u003c\/strong\u003e Holds phones up to \u003cspan data-mce-fragment=\"1\"\u003e6.375” L x 3” W.\u003c\/span\u003e\u003c\/p\u003e","brand":"Gaiam","offers":[{"title":"Default Title","offer_id":39544846778414,"sku":"05-64488","price":9.98,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1728\/2157\/products\/05-64488_GAIAM-RUNNING-ARMBAND_A.jpg?v=1635887290"}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1728\/2157\/collections\/E-YOGA-Bags-300.jpg?v=1552601660","url":"https:\/\/www.gaiam.com\/collections\/yoga-mat-bags.oembed","provider":"Gaiam","version":"1.0","type":"link"}