{"id":4073,"date":"2014-05-22T05:00:26","date_gmt":"2014-05-22T09:00:26","guid":{"rendered":"https:\/\/www.thehealthymaven.com\/?p=4073"},"modified":"2024-01-18T12:38:56","modified_gmt":"2024-01-18T17:38:56","slug":"gluten-free-carrot-cake-special-birthday","status":"publish","type":"post","link":"https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/","title":{"rendered":"Gluten-Free Carrot Cake"},"content":{"rendered":"<p><em>This Gluten-Free Carrot Cake with lightened-up cream cheese frosting is a delicious and healthy alternative for your next birthday cake or party.<\/em><\/p>\n<p><a href=\"https:\/\/thehealthymaven.com\/wp-content\/uploads\/2014\/05\/Gluten-Free-Carrot-Cake1.jpg\"><img decoding=\"async\" class=\"aligncenter wp-image-4083\" src=\"https:\/\/thehealthymaven.com\/wp-content\/uploads\/2014\/05\/Gluten-Free-Carrot-Cake1.jpg\" alt=\"Gluten-Free Carrot Cake\" width=\"790\" height=\"1185\" \/><\/a>When I started this blog I never anticipated that my boyfriend would play any role in it. He didn&#8217;t know about it for the first two months after all&#8230;I&#8217;ll be honest, I judged people who spent their entire blog talking about their significant others and now I&#8217;ve officially become that person. Much to C&#8217;s dismay.<\/p>\n<p><a href=\"https:\/\/thehealthymaven.com\/wp-content\/uploads\/2014\/05\/me-and-c.jpg\"><img decoding=\"async\" class=\"size-full wp-image-4079 aligncenter\" src=\"https:\/\/thehealthymaven.com\/wp-content\/uploads\/2014\/05\/me-and-c.jpg\" alt=\"me and c\" width=\"680\" height=\"453\" srcset=\"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2014\/05\/me-and-c.jpg 680w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2014\/05\/me-and-c-400x266.jpg 400w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2014\/05\/me-and-c-600x400.jpg 600w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2014\/05\/me-and-c-300x199.jpg 300w\" sizes=\"(max-width: 680px) 100vw, 680px\" \/><\/a>In all seriousness, I feel incredibly lucky to have found such a kind, giving and genetically blessed man. Even though he only reads my blog when I remind him to, he is my #1 supporter and best friend. Without a doubt I am his stalker and I am certifiably obsessed with him. Since today is the boy&#8217;s 24th birthday (yes he&#8217;s younger than me!) I thought I would spend this post thanking him for being without a doubt the most awesome human that has ever walked the planet!<\/p>\n<p>Thank you for being equally as goofy as I am and reminding me that dance parties can happen anytime and anywhere.<\/p>\n<p>Thank you for teaching me to dream big. One day on the ranch&#8230;<\/p>\n<p>Thank you for saying things like &#8220;public spaces are so important&#8221; and &#8220;I think it&#8217;s a reality that one day I will go to space&#8221;&#8230;amazing.<\/p>\n<p>Thank you for giving the best hugs.<\/p>\n<p>Thank you for not being a picky eater and eating everything I make.<\/p>\n<p>Thank you for being up for every adventure, no matter where it takes us.<\/p>\n<p>Thank you for not judging me when I&#8217;m watching the Kardashians while you&#8217;re reading Plato.<\/p>\n<p>Thank you for putting up with me taking an excessive number of pictures of you eating food.<\/p>\n<p>Thank you for the pillow fight we just had cause you wouldn&#8217;t leave the room while I was writing this&#8230;Truce.<\/p>\n<p>Thank you for reminding me to <a title=\"Balancing Technology\" href=\"https:\/\/www.thehealthymaven.com\/2014\/05\/balancing-technology.html\">look up<\/a>.<\/p>\n<p>Thank you for your patience and especially when it comes to cold, partially-eaten food.<\/p>\n<p>Thank you for forgiving me (in advance) for making your birthday cake gluten-free and healthy. I promise it&#8217;s good!<\/p>\n<h3><strong>Thank you for showing me that you can only find true love if you take the risk.<\/strong><\/h3>\n<p><a href=\"https:\/\/thehealthymaven.com\/wp-content\/uploads\/2014\/05\/Gluten-Free-Carrot-Cake-3.jpg\"><img decoding=\"async\" class=\"aligncenter wp-image-4084\" src=\"https:\/\/thehealthymaven.com\/wp-content\/uploads\/2014\/05\/Gluten-Free-Carrot-Cake-3.jpg\" alt=\"Gluten-Free Carrot Cake 3\" width=\"790\" height=\"1185\" srcset=\"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2014\/05\/Gluten-Free-Carrot-Cake-3.jpg 680w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2014\/05\/Gluten-Free-Carrot-Cake-3-400x600.jpg 400w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2014\/05\/Gluten-Free-Carrot-Cake-3-600x900.jpg 600w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2014\/05\/Gluten-Free-Carrot-Cake-3-200x300.jpg 200w\" sizes=\"(max-width: 790px) 100vw, 790px\" \/><\/a><a href=\"https:\/\/thehealthymaven.com\/wp-content\/uploads\/2014\/05\/Gluten-Free-Carrot-Cake1.jpg\"><br \/>\n<\/a>Now it wouldn&#8217;t be a birthday without cake! Of course I had to make C&#8217;s favourite, carrot cake. But since I am selfish I made it Gluten-Free Carrot Cake so I could enjoy it too. I celebrated early by eating a piece of it and it has taken every ounce of me not to eat the entire thing. Instead it is sitting safely in the back of the fridge in preparation for tonight&#8217;s festivities. That is unless C actually reads my blog today and discovers it before then&#8230;<\/p>\n<svg aria-hidden=\"true\" style=\"position: absolute;width: 0;height: 0;overflow: hidden\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<defs>\n<symbol viewbox=\"9 9 46 42\" id=\"wpt-star-full\">\n\t<path d=\"m46.3 52-14.4-9.5-14.4 9.4L22 35.3 8.7 24.5l17.1-.9 6.2-16 6 16 17.2 1-13.4 10.7z\" \/>\n<\/symbol>\n<\/defs>\n<\/svg>\n<a class=\"button tasty-recipes-print-button tasty-recipes-no-print tasty-recipes-print-above-card\" href=\"https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/print\/28910\/\">Print<\/a><span class=\"tasty-recipes-jump-target\" id=\"tasty-recipes-28910-jump-target\" style=\"display:block;padding-top:2px;margin-top:-2px;\"><\/span><div id=\"tasty-recipes-28910\" data-tr-id=\"28910\" class=\"tasty-recipes tasty-recipes-28910 tasty-recipes-display tasty-recipes-has-image\" data-tasty-recipes-customization=\"primary-color.background-color primary-color.outline-color\">\n\n\n<h2 class=\"tasty-recipes-title\" data-tasty-recipes-customization=\"h2-color.color h2-transform.text-transform\">Gluten-Free Carrot Cake<\/h2>\n<div class=\"tasty-recipes-image-button-container\">\n\t\t\t<div class=\"tasty-recipes-image\">\n\t\t\t<img decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2018\/03\/Gluten-Free-Carrot-Cake-2-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" data-pin-nopin=\"true\" \/>\t\t<\/div>\n\t\t<div class=\"tasty-recipes-buttons\">\n\t\t\t\t<div class=\"tasty-recipes-button-wrap\">\n\t\t\t\n<a class=\"button tasty-recipes-print-button tasty-recipes-no-print\" href=\"https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/print\/28910\/\" target=\"_blank\" data-tasty-recipes-customization=\"\">\n\t\t\t<svg viewBox=\"0 0 24 24\" class=\"svg-print\" aria-hidden=\"true\"><use xlink:href=\"#tasty-recipes-icon-print\"><\/use><\/svg>\n\t\tPrint Recipe<\/a>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n<\/div>\n\t<div class=\"tasty-recipes-rating\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t\t\t\t<p><svg aria-hidden=\"true\" style=\"position: absolute;width: 0;height: 0;overflow: hidden\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<defs>\n<symbol viewbox=\"9 9 46 42\" id=\"wpt-star-full\">\n\t<path d=\"m46.3 52-14.4-9.5-14.4 9.4L22 35.3 8.7 24.5l17.1-.9 6.2-16 6 16 17.2 1-13.4 10.7z\" \/>\n<\/symbol>\n<\/defs>\n<\/svg>\n<span class=\"tasty-recipes-ratings-buttons tasty-recipes-no-ratings-buttons\"\tdata-tr-default-rating=\"0\"\t>\t\t<span class=\"tasty-recipes-rating\" >\t\t<i class=\"checked\" data-rating=\"5\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"0\">\t\t\t\t<svg class=\"tasty-recipes-svg\"><use href=\"#wpt-star-full\" \/><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t5 Stars\t\t\t<\/span>\t\t<\/i>\t<\/span>\t\t<span class=\"tasty-recipes-rating\" >\t\t<i class=\"checked\" data-rating=\"4\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"0\">\t\t\t\t<svg class=\"tasty-recipes-svg\"><use href=\"#wpt-star-full\" \/><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t4 Stars\t\t\t<\/span>\t\t<\/i>\t<\/span>\t\t<span class=\"tasty-recipes-rating\" >\t\t<i class=\"checked\" data-rating=\"3\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"0\">\t\t\t\t<svg class=\"tasty-recipes-svg\"><use href=\"#wpt-star-full\" \/><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t3 Stars\t\t\t<\/span>\t\t<\/i>\t<\/span>\t\t<span class=\"tasty-recipes-rating\" >\t\t<i class=\"checked\" data-rating=\"2\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"0\">\t\t\t\t<svg class=\"tasty-recipes-svg\"><use href=\"#wpt-star-full\" \/><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t2 Stars\t\t\t<\/span>\t\t<\/i>\t<\/span>\t\t<span class=\"tasty-recipes-rating\" >\t\t<i class=\"checked\" data-rating=\"1\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"0\">\t\t\t\t<svg class=\"tasty-recipes-svg\"><use href=\"#wpt-star-full\" \/><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t1 Star\t\t\t<\/span>\t\t<\/i>\t<\/span><\/span><\/p>\n\t\t\t\t\t\t\t<p><span data-tasty-recipes-customization=\"detail-label-color.color\" class=\"rating-label\">No reviews<\/span><\/p>\n\t\t\t<\/div>\n\n\n\t<div class=\"tasty-recipes-description\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t<p><em>This Gluten-Free Carrot Cake with lightened-up cream cheese frosting is a delicious and healthy alternative for your next birthday cake or party.<\/em><\/p>\n\t<\/div>\n\n\t<div class=\"tasty-recipes-details\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t<ul>\n\t\t\t\t\t\t\t<li class=\"author\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Author:<\/strong> <a data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-author-name\" href=\"https:\/\/www.thehealthymaven.com\/author\/davida\/\">Davida Lederle<\/a><\/li>\n\t\t\t\t\t\t\t<li class=\"prep-time\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Prep Time:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-prep-time\">30 minutes<\/span><\/li>\n\t\t\t\t\t\t\t<li class=\"cook-time\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Cook Time:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-cook-time\">50 minutes<\/span><\/li>\n\t\t\t\t\t\t\t<li class=\"total-time\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Total Time:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-total-time\">1 hour 20 minutes<\/span><\/li>\n\t\t\t\t\t\t\t<li class=\"yield\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Yield:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-yield\"><span data-amount=\"12\">12<\/span> pieces <span class=\"tasty-recipes-yield-scale\"><span data-amount=\"1\">1<\/span>x<\/span><\/span><\/li>\n\t\t\t\t\t\t\t<li class=\"category\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Category:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-category\">Dessert<\/span><\/li>\n\t\t\t\t\t\t\t<li class=\"method\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Method:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-method\">Bake<\/span><\/li>\n\t\t\t\t\t\t\t<li class=\"diet\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Diet:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-diet\">Gluten Free<\/span><\/li>\n\t\t\t\t\t<\/ul>\n\t<\/div>\n\n\t<div class=\"tasty-recipes-ingredients\">\n\t\t<div class=\"tasty-recipes-ingredients-header\">\n\t\t\t<div class=\"tasty-recipes-ingredients-clipboard-container\">\n\t\t\t\t<h3 data-tasty-recipes-customization=\"h3-color.color h3-transform.text-transform\">Ingredients<\/h3>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t<div class=\"tasty-recipes-units-scale-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"tasty-recipes-scale-container\">\n\t\t\t\t\t\t<span class=\"tasty-recipes-scale-label\">Scale<\/span>\n\t\t\t\t\t\t<button class=\"tasty-recipes-scale-button tasty-recipes-scale-button-active\" data-amount=\"1\" type=\"button\">1x<\/button><button class=\"tasty-recipes-scale-button\" data-amount=\"2\" type=\"button\">2x<\/button><button class=\"tasty-recipes-scale-button\" data-amount=\"3\" type=\"button\">3x<\/button>\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t<div class=\"tasty-recipes-ingredients-body\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t\t<h4>For The Cake:<\/h4>\n<ul>\n<li><span data-amount=\"1\" data-unit=\"cup\">1 cup<\/span> gluten-free all-purpose flour*<\/li>\n<li><span data-amount=\"1\" data-unit=\"cup\">1 cup<\/span> gluten-free oat flour (<span data-amount=\"1.25\" data-unit=\"cup\">1 1\/4 cup<\/span> of rolled oats ground into flour)<\/li>\n<li><span data-amount=\"0.75\" data-unit=\"cup\">3\/4 cup<\/span> coconut palm sugar**<\/li>\n<li><span data-amount=\"2\" data-unit=\"tsp\">2 tsp<\/span> baking powder<\/li>\n<li><span data-amount=\"0.5\" data-unit=\"tsp\">1\/2 tsp<\/span> baking soda<\/li>\n<li><span data-amount=\"1\" data-unit=\"tsp\">1 tsp<\/span> cinnamon<\/li>\n<li><span data-amount=\"0.5\" data-unit=\"tsp\">1\/2 tsp<\/span> nutmeg<\/li>\n<li><span data-amount=\"0.5\" data-unit=\"tsp\">1\/2 tsp<\/span> salt<\/li>\n<li><span data-amount=\"0.25\" data-unit=\"cup\">1\/4 cup<\/span> coconut oil, melted<\/li>\n<li><span data-amount=\"0.5\" data-unit=\"cup\">1\/2 cup<\/span> unsweetened applesauce<\/li>\n<li><span data-amount=\"3\">3<\/span> large eggs, room temperature<\/li>\n<li><span data-amount=\"1\" data-unit=\"tsp\">1 tsp<\/span> vanilla extract<\/li>\n<li><span data-amount=\"2\" data-unit=\"cup\">2 cups<\/span> finely grated carrot<\/li>\n<li><span data-amount=\"0.25\" data-unit=\"cup\">1\/4 cup<\/span> unsweetened, shredded coconut<\/li>\n<li><span data-amount=\"0.25\" data-unit=\"cup\">1\/4 cup<\/span> raisins<\/li>\n<\/ul>\n<h4>For The Lightened-Up Cream Cheese Frosting:<\/h4>\n<ul>\n<li><span data-amount=\"8\" data-unit=\"oz\">8 oz<\/span> light cream cheese<\/li>\n<li><span data-amount=\"0.5\" data-unit=\"cup\">1\/2 cup<\/span> 0% greek yogurt<\/li>\n<li><span data-amount=\"1\" data-unit=\"cup\">1 cup<\/span> icing sugar<\/li>\n<li>Optional: 1 cup of chopped, toasted walnuts.<\/li>\n<\/ul>\n<!--INSIDE_INGREDIENTS-->\t\t<\/div>\n\t\t<div class=\"tasty-recipes-cook-mode\">\n\t<div class=\"tasty-recipes-cook-mode__container\">\n\t\t<label class=\"tasty-recipes-cook-mode__switch\">\n\t\t\t<input type=\"checkbox\" id=\"tasty_recipes_69a6b5f4bd705_cookmode\">\n\t\t\t<span class=\"tasty-recipes-cook-mode__switch-slider tasty-recipes-cook-mode__switch-round\"\n\t\t\t\tdata-tasty-recipes-customization=\"button-color.background button-text-color.color\"><\/span>\n\t\t<\/label>\n\t\t<label for=\"tasty_recipes_69a6b5f4bd705_cookmode\">\n\t\t\t<span class=\"tasty-recipes-cook-mode__label\">Cook Mode<\/span>\n\t\t\t<span class=\"tasty-recipes-cook-mode__helper\">\n\t\t\t\tPrevent your screen from going dark\t\t\t<\/span>\n\t\t<\/label>\n\t<\/div>\n<\/div>\n\t<\/div>\n\n\t<div class=\"tasty-recipe-instructions\">\n\t\t<div class=\"tasty-recipes-instructions-header\">\n\t\t\t<h3 data-tasty-recipes-customization=\"h3-color.color h3-transform.text-transform\">Instructions<\/h3>\n\t\t\t\t\t<\/div>\n\t\t<div class=\"tasty-recipes-instructions-body\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t\t<h4>For The Cake:<\/h4>\n<ol>\n<li id=\"instruction-step-1\">Preheat oven to 350 degrees F.<\/li>\n<li id=\"instruction-step-2\">Combine flours, coconut palm sugar, baking powder, baking soda, spices and salt in a large bowl.<\/li>\n<li id=\"instruction-step-3\">In a separate bowl combine coconut oil, applesauce, eggs and vanilla extract.<\/li>\n<li id=\"instruction-step-4\">Add wet ingredients to dry and stir until just combined.<\/li>\n<li id=\"instruction-step-5\">Add in grated carrot, shredded coconut and raisins.<\/li>\n<li id=\"instruction-step-6\">Grease two 9 inch round cake pans with coconut oil and place a piece of circular parchment paper on the bottom of each (I just cut the parchment paper).<\/li>\n<li id=\"instruction-step-7\">Divide batter evenly between two pans.<\/li>\n<li id=\"instruction-step-8\">Bake for 25-30 mins (mine took 28). Cake is done when a toothpick through the center comes out clean.<\/li>\n<li id=\"instruction-step-9\">Let cool for 20 mins before removing from pans then cool completely on a wire rack.<\/li>\n<\/ol>\n<h4>For The Lightened-Up Cream Cheese Frosting:<\/h4>\n<ol>\n<li id=\"instruction-step-10\">Using an electric mixer or stand mixer cream together cream cheese and greek yogurt.<\/li>\n<li id=\"instruction-step-11\">Add in icing sugar and mix until well combined.<\/li>\n<li id=\"instruction-step-12\">Place icing in refrigerator for 30 mins to thicken.<\/li>\n<\/ol>\n<h4>To Assemble The Cake:<\/h4>\n<ol>\n<li id=\"instruction-step-13\">Place one cake down and coat with frosting. Sprinkle with walnuts if using.<\/li>\n<li id=\"instruction-step-14\">Place second cake on top and coat with frosting.<\/li>\n<li id=\"instruction-step-15\">Use remainder of frosting to coat the sides.<\/li>\n<li id=\"instruction-step-16\">Sprinkle walnuts on top if using.<\/li>\n<li id=\"instruction-step-17\">Store in refrigerator for several days.<\/li>\n<\/ol>\n<p>*I recommend namaste perfect flour blend.<\/p>\n<p>**or brown sugar.<\/p>\n\t\t<\/div>\n\t<\/div>\n\n\n\n\n\n\n\n\n\n\n\n\n<script>\nwindow.trCommon={\"minRating\":6,\"ajaxurl\":\"https:\\\/\\\/www.thehealthymaven.com\\\/wp-admin\\\/admin-ajax.php\",\"ratingNonce\":\"\",\"postId\":4073};\nwindow.TastyRecipes = window.TastyRecipes || {};\n\nwindow.TastyRecipes.smoothScroll = {\ninit() {\ndocument.addEventListener( 'click', ( e ) => {\nlet anchor = e.target;\nif ( anchor.tagName !== 'A' ) {\nanchor = anchor.closest( 'a.tasty-recipes-scrollto' );\n}\n\nif ( ! anchor || ! anchor.classList.contains( 'tasty-recipes-scrollto' ) ) {\nreturn;\n}\n\nconst elementHref = anchor.getAttribute( 'href' );\nif ( ! elementHref ) {\nreturn;\n}\n\ne.preventDefault();\nthis.goToSelector( elementHref );\n});\n},\ngoToSelector( selector ) {\nconst element = document.querySelector( selector );\nif ( ! element ) {\nreturn;\n}\nelement.scrollIntoView( { behavior: 'smooth' } );\n}\n};\n\ndocument.addEventListener(\n'DOMContentLoaded',\n() => window.TastyRecipes.smoothScroll.init()\n);\n\n(function(){\n\n\nvar bothEquals = function( d1, d2, D ) {\nvar ret = 0;\nif (d1<=D) {\nret++;\n}\nif (d2<=D) {\nret++;\n}\nreturn ret === 2;\n};\n\nvar frac =function frac(x,D,mixed){var n1=Math.floor(x),d1=1;var n2=n1+1,d2=1;if(x!==n1){while(bothEquals(d1,d2,D)){var m=(n1+n2)\/(d1+d2);if(x===m){if(d1+d2<=D){d1+=d2;n1+=n2;d2=D+1}else if(d1>d2){d2=D+1;}else {d1=D+1;}break}else if(x<m){n2=n1+n2;d2=d1+d2}else{n1=n1+n2;d1=d1+d2}}}if(d1>D){d1=d2;n1=n2}if(!mixed){return[0,n1,d1];}var q=Math.floor(n1\/d1);return[q,n1-q*d1,d1]};frac.cont=function cont(x,D,mixed){var sgn=x<0?-1:1;var B=x*sgn;var P_2=0,P_1=1,P=0;var Q_2=1,Q_1=0,Q=0;var A=Math.floor(B);while(Q_1<D){A=Math.floor(B);P=A*P_1+P_2;Q=A*Q_1+Q_2;if(B-A<5e-8){break;}B=1\/(B-A);P_2=P_1;P_1=P;Q_2=Q_1;Q_1=Q}if(Q>D){if(Q_1>D){Q=Q_2;P=P_2}else{Q=Q_1;P=P_1}}if(!mixed){return[0,sgn*P,Q];}var q=Math.floor(sgn*P\/Q);return[q,sgn*P-q*Q,Q]};\n\n\nwindow.tastyRecipesVulgarFractions = JSON.parse(decodeURIComponent(\"%7B%22%C2%BC%22%3A%221%2F4%22%2C%22%C2%BD%22%3A%221%2F2%22%2C%22%C2%BE%22%3A%223%2F4%22%2C%22%E2%85%93%22%3A%221%2F3%22%2C%22%E2%85%94%22%3A%222%2F3%22%2C%22%E2%85%95%22%3A%221%2F5%22%2C%22%E2%85%96%22%3A%222%2F5%22%2C%22%E2%85%97%22%3A%223%2F5%22%2C%22%E2%85%98%22%3A%224%2F5%22%2C%22%E2%85%99%22%3A%221%2F6%22%2C%22%E2%85%9A%22%3A%225%2F6%22%2C%22%E2%85%9B%22%3A%221%2F8%22%2C%22%E2%85%9C%22%3A%223%2F8%22%2C%22%E2%85%9D%22%3A%225%2F8%22%2C%22%E2%85%9E%22%3A%227%2F8%22%7D\"));\n\nwindow.tastyRecipesFormatAmount = function(amount, el) {\nif ( parseFloat( amount ) === parseInt( amount ) ) {\nreturn amount;\n}\nvar roundType = 'frac';\nif (typeof el.dataset.amountShouldRound !== 'undefined') {\nif ('false' !== el.dataset.amountShouldRound) {\nif ( 'number' === el.dataset.amountShouldRound ) {\nroundType = 'number';\n} else if ('frac' === el.dataset.amountShouldRound) {\nroundType = 'frac';\n} else if ('vulgar' === el.dataset.amountShouldRound) {\nroundType = 'vulgar';\n} else {\nroundType = 'integer';\n}\n}\n}\nif ('number' === roundType) {\namount = Number.parseFloat(amount).toPrecision(2);\n} else if ('integer' === roundType) {\namount = Math.round(amount);\n} else if ('frac' === roundType || 'vulgar' === roundType) {\nvar denom = 8;\nif (typeof el.dataset.unit !== 'undefined') {\nvar unit = el.dataset.unit;\nif (['cups','cup','c'].includes(unit)) {\ndenom = 4;\nif (0.125 === amount) {\ndenom = 8;\n}\nif (\"0.1667\" === Number.parseFloat( amount ).toPrecision(4)) {\ndenom = 6;\n}\n}\nif (['tablespoons','tablespoon','tbsp'].includes(unit)) {\ndenom = 2;\n}\nif (['teaspoons','teaspoon','tsp'].includes(unit)) {\ndenom = 8;\n}\n}\nvar amountArray = frac.cont( amount, denom, true );\nvar newAmount = '';\nif ( amountArray[1] !== 0 ) {\nnewAmount = amountArray[1] + '\/' + amountArray[2];\nif ('vulgar' === roundType) {\nObject.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {\nif (newAmount === window.tastyRecipesVulgarFractions[vulgar]) {\nnewAmount = vulgar;\n}\n});\n}\n}\nif ( newAmount ) {\nnewAmount = ' ' + newAmount;\n}\nif ( amountArray[0] ) {\nnewAmount = amountArray[0] + newAmount;\n}\namount = newAmount;\n}\nreturn amount;\n};\n\n\nwindow.tastyRecipesUpdatePrintLink = () => {\n\nconst printButton = document.querySelector( '.tasty-recipes-print-button' );\n\n\nif ( ! printButton ) {\nreturn;\n}\n\nconst printURL = new URL( printButton.href );\nconst searchParams = new URLSearchParams( printURL.search );\n\nconst unitButton = document.querySelector( '.tasty-recipes-convert-button-active' );\nconst scaleButton = document.querySelector( '.tasty-recipes-scale-button-active' );\n\nlet unit = '';\nlet scale = '';\n\nif ( unitButton ) {\nunit = unitButton.dataset.unitType;\nsearchParams.delete('unit');\nsearchParams.set( 'unit', unit );\n}\n\nif ( scaleButton ) {\nscale = scaleButton.dataset.amount;\nsearchParams.set( 'scale', scale );\n}\n\nconst paramString = searchParams.toString();\nconst newURL = '' === paramString ? printURL.href : printURL.origin + printURL.pathname + '?' + paramString;\nconst printLinks = document.querySelectorAll( '.tasty-recipes-print-link' );\n\nprintLinks.forEach( ( el ) => {\nel.href = newURL;\n});\n\nconst printButtons = document.querySelectorAll( '.tasty-recipes-print-button' );\nprintButtons.forEach( ( el ) => {\nel.href = newURL;\n});\n};\n\n\ndocument.addEventListener( 'DOMContentLoaded', () => {\n\n\nif ( ! window.location.href.includes( '\/print\/' ) ) {\nreturn;\n}\n\nconst searchParams = new URLSearchParams( window.location.search );\n\nconst unit = searchParams.get( 'unit' );\nconst scale = searchParams.get( 'scale' );\n\nif ( unit && ( 'metric' === unit || 'usc' === unit ) ) {\ndocument.querySelector( '.tasty-recipes-convert-button[data-unit-type=\"' + unit + '\"]' ).click();\n}\n\nif ( scale && Number(scale) > 0 ) {\ndocument.querySelector( '.tasty-recipes-scale-button[data-amount=\"' + Number(scale) + '\"]' ).click();\n}\n});\n}());\n\n(function(){\nvar buttonClass = 'tasty-recipes-scale-button',\nbuttonActiveClass = 'tasty-recipes-scale-button-active',\nbuttons = document.querySelectorAll('.tasty-recipes-scale-button');\nif ( ! buttons ) {\nreturn;\n}\n\nbuttons.forEach(function(button){\nbutton.addEventListener('click', function(event){\nevent.preventDefault();\nvar recipe = event.target.closest('.tasty-recipes');\nif ( ! recipe ) {\nreturn;\n}\nvar otherButtons = recipe.querySelectorAll('.' + buttonClass);\notherButtons.forEach(function(bt){\nbt.classList.remove(buttonActiveClass);\n});\nbutton.classList.add(buttonActiveClass);\n\n\nvar scalables = recipe.querySelectorAll('span[data-amount]');\nvar buttonAmount = parseFloat( button.dataset.amount );\nscalables.forEach(function(scalable){\nif (typeof scalable.dataset.amountOriginalType === 'undefined'\n&& typeof scalable.dataset.nfOriginal === 'undefined') {\nif (-1 !== scalable.innerText.indexOf('\/')) {\nscalable.dataset.amountOriginalType = 'frac';\n}\nif (-1 !== scalable.innerText.indexOf('.')) {\nscalable.dataset.amountOriginalType = 'number';\n}\nObject.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {\nif (-1 !== scalable.innerText.indexOf(vulgar)) {\nscalable.dataset.amountOriginalType = 'vulgar';\n}\n});\nif (typeof scalable.dataset.amountOriginalType !== 'undefined') {\nscalable.dataset.amountShouldRound = scalable.dataset.amountOriginalType;\n}\n}\nvar amount = parseFloat( scalable.dataset.amount ) * buttonAmount;\namount = window.tastyRecipesFormatAmount(amount, scalable);\nif ( typeof scalable.dataset.unit !== 'undefined' ) {\nif ( ! scalable.classList.contains('nutrifox-quantity') ) {\nif ( ! scalable.classList.contains('nutrifox-second-quantity') ) {\namount += ' ' + scalable.dataset.unit;\n}\n}\n}\nscalable.innerText = amount;\n});\n\nvar nonNumerics = recipe.querySelectorAll('[data-has-non-numeric-amount]');\nnonNumerics.forEach(function(nonNumeric){\nvar indicator = nonNumeric.querySelector('span[data-non-numeric-label]');\nif ( indicator ) {\nnonNumeric.removeChild(indicator);\n}\nif ( 1 !== buttonAmount ) {\nindicator = document.createElement('span');\nindicator.setAttribute('data-non-numeric-label', true);\nvar text = document.createTextNode(' (x' + buttonAmount + ')');\nindicator.appendChild(text);\nnonNumeric.appendChild(indicator);\n}\n});\n\nwindow.tastyRecipesUpdatePrintLink();\n});\n});\n}());\n\nwindow.TastyRecipes = window.TastyRecipes || {};\nwindow.TastyRecipes.cookMode = {\nwakeLockApi: false,\nwakeLock: false,\ncookModeSelector: '.tasty-recipes-cook-mode',\ninit() {\nif (\"wakeLock\" in navigator && \"request\" in navigator.wakeLock) {\nthis.wakeLockApi = navigator.wakeLock;\n}\n\nconst cookModes = document.querySelectorAll(this.cookModeSelector);\n\nif (cookModes.length > 0) {\nfor (const cookMode of cookModes) {\nif (this.wakeLockApi) {\ncookMode.querySelector('input[type=\"checkbox\"]').addEventListener(\"change\", event => {\nthis.checkboxChange(event.target);\n}, false);\n} else {\ncookMode.style.display = \"none\";\n}\n}\n}\n},\ncheckboxChange(checkbox) {\nif (checkbox.checked) {\nthis.lock();\n} else {\nthis.unlock();\n}\n},\nsetCheckboxesState(state) {\nconst checkboxes = document.querySelectorAll(this.cookModeSelector + ' input[type=\"checkbox\"]');\nfor (const checkbox of checkboxes) {\ncheckbox.checked = state;\n}\n},\nasync lock() {\ntry {\nthis.wakeLock = await this.wakeLockApi.request(\"screen\");\nthis.wakeLock.addEventListener(\"release\", () => {\nthis.wakeLock = false;\nthis.setCheckboxesState(false);\n});\nthis.setCheckboxesState(true);\n} catch (error) {\nthis.setCheckboxesState(false);\n}\n},\nunlock() {\nif (this.wakeLock) {\nthis.wakeLock.release();\nthis.wakeLock = false;\n}\nthis.setCheckboxesState(false);\n}\n};\n\n(function(callback) {\nif (document.readyState !== \"loading\") {\ncallback();\n} else {\ndocument.addEventListener(\"DOMContentLoaded\", callback);\n}\n})(() => {\nwindow.TastyRecipes.cookMode.init();\n});\n\n\n\nwindow.TastyRecipes = window.TastyRecipes || {};\n\nwindow.TastyRecipes.staticTooltip = {\nelement: null,\ntooltipElement: null,\ndeleting: false,\ninit( element ) {\nif ( this.deleting ) {\nreturn;\n}\nthis.element = element;\nthis.buildElements();\n},\ndestroy() {\nif ( ! this.tooltipElement || this.deleting ) {\nreturn;\n}\n\nthis.deleting = true;\nthis.tooltipElement.classList.remove( 'opened' );\n\nsetTimeout( () => {\nthis.tooltipElement.remove();\nthis.deleting = false;\n}, 500 );\n},\nbuildElements() {\nconst tooltipElement = document.createElement( 'div' );\ntooltipElement.classList.add( 'tasty-recipes-static-tooltip');\ntooltipElement.setAttribute( 'id', 'tasty-recipes-tooltip' );\n\nconst currentTooltipElement = document.getElementById( 'tasty-recipes-tooltip' );\nif ( currentTooltipElement ) {\ndocument.body.replaceChild( tooltipElement, currentTooltipElement );\n} else {\ndocument.body.appendChild( tooltipElement );\n}\n\nthis.tooltipElement = document.getElementById( 'tasty-recipes-tooltip' );\n},\nshow() {\nif ( ! this.tooltipElement ) {\nreturn;\n}\n\nconst tooltipTop = this.element.getBoundingClientRect().top\n+ window.scrollY\n- 10 \/\/ 10px offset.\n- this.tooltipElement.getBoundingClientRect().height;\nconst tooltipLeft = this.element.getBoundingClientRect().left\n- ( this.tooltipElement.getBoundingClientRect().width \/ 2 )\n+ ( this.element.getBoundingClientRect().width \/ 2 ) - 1;\nconst posLeft = Math.max( 10, tooltipLeft );\nthis.maybeRemoveTail( posLeft !== tooltipLeft );\n\nthis.tooltipElement.setAttribute( 'style', 'top:' + tooltipTop + 'px;left:' + posLeft + 'px;' );\nthis.tooltipElement.classList.add( 'opened' );\n\n},\nmaybeRemoveTail( removeTail ) {\nif ( removeTail ) {\nthis.tooltipElement.classList.add( 'tr-hide-tail' );\n} else {\nthis.tooltipElement.classList.remove( 'tr-hide-tail' );\n}\n},\nchangeMessage( message ) {\nif ( ! this.tooltipElement ) {\nreturn;\n}\nthis.tooltipElement.innerHTML = message;\n}\n};\n\nwindow.TastyRecipes.ajax = {\nsendPostRequest( url, data, success, failure ) {\nconst xhr = new XMLHttpRequest();\nxhr.open( 'POST', url, true );\nxhr.send( this.preparePostData( data ) );\n\nxhr.onreadystatechange = () => {\nif ( 4 !== xhr.readyState ) {\nreturn;\n}\nif ( xhr.status === 200 ) {\nsuccess( JSON.parse( xhr.responseText ) );\nreturn;\n}\n\nfailure( xhr );\n};\n\nxhr.onerror = () => {\nfailure( xhr );\n};\n},\npreparePostData( data ) {\nconst formData = new FormData();\n\nfor ( const key in data ) {\nformData.append( key, data[key] );\n}\nreturn formData;\n},\n};\n\nwindow.TastyRecipes.ratings = {\ndefaultRating: 0,\ncurrentRatingPercentage: 100,\nsavingRating: false,\ninit( minRating ) {\nthis.minRating = minRating;\n\nthis.formWatchRating();\nthis.closeTooltipWhenClickOutside();\nthis.addBodyClassBasedOnSelectedRating();\nthis.backwardCompFormRatingPosition();\n},\nformWatchRating() {\nconst ratings = document.querySelectorAll('.tasty-recipes-no-ratings-buttons [data-rating]');\nif ( ratings.length <= 0 ) {\nreturn;\n}\nfor ( const rating of ratings ) {\nrating.addEventListener( 'click', event => {\nevent.preventDefault();\nthis.defaultRating = event.target.closest( '.checked' ).dataset.rating;\nthis.setCheckedStar( event.target );\nthis.maybeSendRating( this.defaultRating, event.target );\nthis.setRatingInForm( this.defaultRating );\n} );\n}\n},\ncloseTooltipWhenClickOutside() {\nwindow.addEventListener( 'click', e => {\n\/\/ Bailout (don't remove the tooltip) when the clicked element is a rating star, or it's the tooltip itself.\nif ( e.target.closest( '.tasty-recipes-rating' ) || e.target.classList.contains( 'tasty-recipes-static-tooltip' ) ) {\nreturn;\n}\n\nwindow.TastyRecipes.staticTooltip.destroy();\n} );\n},\n setRatingInForm( rating ) {\nconst ratingInput = document.querySelector( '#respond .tasty-recipes-rating[value=\"' + rating + '\"]' );\nif ( ! ratingInput ) {\nreturn;\n}\nratingInput.click();\n},\naddBodyClassBasedOnSelectedRating() {\nconst ratingInputs = document.querySelectorAll( 'input.tasty-recipes-rating' );\nif ( ! ratingInputs ) {\nreturn;\n}\nfor ( const ratingInput of ratingInputs ) {\nratingInput.addEventListener( 'click', currentEvent => {\nconst selectedRating = currentEvent.target.getAttribute( 'value' );\nthis.handleBodyClassByRating( selectedRating );\nthis.toggleCommentTextareaRequired( selectedRating );\n} );\n}\n},\nhandleBodyClassByRating( rating ) {\nif ( rating < this.minRating ) {\ndocument.body.classList.remove( 'tasty-recipes-selected-minimum-rating' );\nreturn;\n}\ndocument.body.classList.add( 'tasty-recipes-selected-minimum-rating' );\n},\ntoggleCommentTextareaRequired( rating ) {\nconst commentTextarea = document.getElementById( 'comment' );\nif ( ! commentTextarea ) {\nreturn;\n}\n\nif ( rating < this.minRating ) {\ncommentTextarea.setAttribute( 'required', '' );\nreturn;\n}\n\ncommentTextarea.removeAttribute( 'required' );\n},\nmaybeSendRating( rating, element ) {\nif ( this.savingRating === rating ) {\nreturn;\n}\n\nthis.savingRating = rating;\nwindow.TastyRecipes.staticTooltip.init( element );\n\nconst recipeCardElement = element.closest( '.tasty-recipes' );\nif ( ! recipeCardElement ) {\nwindow.TastyRecipes.staticTooltip.destroy();\nreturn;\n}\n\nwindow.TastyRecipes.ajax.sendPostRequest(\nwindow.trCommon.ajaxurl,\n{\naction: 'tasty_recipes_save_rating',\nrating,\nnonce: window.trCommon.ratingNonce,\npost_id: window.trCommon.postId,\nrecipe_id: recipeCardElement.dataset.trId,\n},\n( response ) => {\nwindow.TastyRecipes.staticTooltip.changeMessage( response.data.message );\nwindow.TastyRecipes.staticTooltip.show();\nthis.updateAverageText( response.data, recipeCardElement );\nthis.maybeFillCommentForm( response.data );\n\n\/\/ Hide the tooltip after 5 seconds.\nsetTimeout( () => {\nthis.maybeResetTooltip( recipeCardElement, response.data, rating );\n}, 5000 );\n},\n() => {\nthis.resetTooltip( recipeCardElement );\n}\n);\n},\nupdateAverageText( data, recipeCardElement ) {\nif ( ! data.average ) {\nreturn;\n}\nthis.setRatingPercent( data );\n\nif ( ! data.count ) {\nreturn;\n}\n\nconst quickLink = document.querySelector( '.tasty-recipes-rating-link' );\nif ( quickLink ) {\nthis.setTextInContainer( quickLink, data );\nthis.setPartialStar( quickLink );\n}\n\nconst cardStars = recipeCardElement.querySelector( '.tasty-recipes-ratings-buttons' );\ncardStars.dataset.trDefaultRating = data.average;\nthis.setTextInContainer( recipeCardElement.querySelector( '.tasty-recipes-rating' ), data );\n},\nsetTextInContainer( container, data ) {\nif ( ! container ) {\nreturn;\n}\n\nif ( data.label ) {\nconst ratingLabelElement = container.querySelector( '.rating-label' );\nif ( ratingLabelElement ) {\nratingLabelElement.innerHTML = data.label;\n}\nreturn;\n}\n\nconst averageElement = container.querySelector( '.average' );\nif ( averageElement ) {\naverageElement.textContent = data.average;\n}\n\nconst countElement = container.querySelector( '.count' );\nif ( countElement ) {\ncountElement.textContent = data.count;\n}\n},\nsetPartialStar( container ) {\nconst highestStar = container.querySelector( '[data-rating=\"' + Math.ceil( this.defaultRating ) + '\"]' );\nif ( highestStar ) {\nhighestStar.dataset.trClip = this.currentRatingPercentage;\n}\n},\nsetRatingPercent( data ) {\nthis.defaultRating = data.average.toFixed( 1 );\nconst parts = data.average.toFixed( 2 ).toString().split( '.' );\nthis.currentRatingPercentage = parts[1] ? parts[1] : 100;\nif ( this.currentRatingPercentage === '00' ) {\nthis.currentRatingPercentage = 100;\n}\n},\nsetCheckedStar( target ) {\nconst cardRatingContainer = target.closest( '.tasty-recipes-ratings-buttons' );\nconst selectedRatingElement = cardRatingContainer.querySelector( '[data-tr-checked]' );\nif ( selectedRatingElement ) {\ndelete selectedRatingElement.dataset.trChecked;\n}\n\nconst thisStar = target.closest( '.tasty-recipes-rating' );\nthisStar.dataset.trChecked = 1;\nthisStar.querySelector( '[data-tr-clip]' ).dataset.trClip = 100;\n},\nmaybeFillCommentForm( data ) {\nif ( ! data.comment || ! data.comment.content ) {\nreturn;\n}\n\nconst commentForm = document.querySelector( '#commentform' );\nif ( ! commentForm ) {\nreturn;\n}\n\nconst commentBox = commentForm.querySelector( '[name=comment]' );\nif ( ! commentBox || commentBox.value ) {\nreturn;\n}\n\n\/\/ Add comment details for editing.\ncommentBox.innerHTML = data.comment.content;\nif ( data.comment.name ) {\ncommentForm.querySelector( '[name=author]' ).value = data.comment.name;\ncommentForm.querySelector( '[name=email]' ).value = data.comment.email;\n}\n},\nmaybeResetTooltip( recipeCardElement, data, rating ) {\nif ( this.savingRating === rating ) {\nthis.resetTooltip( recipeCardElement, data );\n}\n},\nresetTooltip( recipeCardElement, data ) {\nwindow.TastyRecipes.staticTooltip.destroy();\nthis.savingRating = false;\n\n\/\/ Reset the default rating.\nconst cardRatingContainer = recipeCardElement.querySelector( '.tasty-recipes-ratings-buttons' );\nif ( cardRatingContainer ) {\nthis.defaultRating = ( data && data.average ) ? data.average.toFixed(1) : cardRatingContainer.dataset.trDefaultRating;\ncardRatingContainer.dataset.trDefaultRating = this.defaultRating;\n\nthis.resetSelectedStar( cardRatingContainer, data );\n}\n},\nresetSelectedStar( cardRatingContainer ) {\nconst selectedRatingElement = cardRatingContainer.querySelector( '[data-rating=\"' + Math.ceil( this.defaultRating ) + '\"]' );\nif ( selectedRatingElement ) {\nselectedRatingElement.querySelector( '[data-tr-clip]' ).dataset.trClip = this.currentRatingPercentage;\nselectedRatingElement.parentNode.dataset.trChecked = 1;\n}\n\nconst previousSelectedElement= cardRatingContainer.querySelector( '[data-tr-checked]' );\nif ( previousSelectedElement ) {\nconst currentSelectedRating = previousSelectedElement.querySelector('[data-rating]');\nif ( currentSelectedRating !== selectedRatingElement ) {\ndelete previousSelectedElement.dataset.trChecked;\n}\n}\n},\nbackwardCompFormRatingPosition() {\nconst ratingsButtons = document.querySelector( '#respond .tasty-recipes-ratings-buttons, #tasty-recipes-comment-rating .tasty-recipes-ratings-buttons' );\nif ( ! ratingsButtons ) {\nreturn;\n}\nconst ratingsButtonsStyles = window.getComputedStyle(ratingsButtons);\nif ( ! ratingsButtonsStyles.display.includes( 'flex' ) ) {\nratingsButtons.style.direction = 'rtl';\n}\n\nif ( typeof tastyRecipesRating !== 'undefined' ) {\n\/\/ Select the rating that was previously selected in admin.\nratingsButtons.querySelector( '.tasty-recipes-rating[value=\"' + tastyRecipesRating + '\"]' ).checked = true;\n}\n\nconst ratingSpans = ratingsButtons.querySelectorAll( '.tasty-recipes-rating' );\nfor (const ratingSpan of ratingSpans) {\nratingSpan.addEventListener( 'click', event => {\nif ( ratingSpan === event.target ) {\nreturn;\n}\nratingSpan.previousElementSibling.click();\n} );\n}\n}\n};\n\n(function(callback) {\nif (document.readyState !== \"loading\") {\ncallback();\n} else {\nwindow.addEventListener( 'load', callback );\n}\n})(() => {\nwindow.TastyRecipes.ratings.init( window.trCommon ? window.trCommon.minRating : 4 );\n});\n<\/script><\/div>\n<p>Happy birthday to the most wonderful man I know. May 24 bring you only the best and a year full of happy memories and new adventures. Can&#8217;t wait to watch it unfold. Love you, darling!<\/p>\n<p><a href=\"https:\/\/thehealthymaven.com\/wp-content\/uploads\/2014\/05\/Gluten-Free-Carrot-Cake-4.jpg\"><img decoding=\"async\" class=\"aligncenter wp-image-4085\" src=\"https:\/\/thehealthymaven.com\/wp-content\/uploads\/2014\/05\/Gluten-Free-Carrot-Cake-4.jpg\" alt=\"Gluten-Free Carrot Cake 4\" width=\"790\" height=\"1185\" srcset=\"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2014\/05\/Gluten-Free-Carrot-Cake-4.jpg 680w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2014\/05\/Gluten-Free-Carrot-Cake-4-400x600.jpg 400w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2014\/05\/Gluten-Free-Carrot-Cake-4-600x900.jpg 600w, https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2014\/05\/Gluten-Free-Carrot-Cake-4-200x300.jpg 200w\" sizes=\"(max-width: 790px) 100vw, 790px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This Gluten-Free Carrot Cake with lightened-up cream cheese frosting is a delicious and healthy alternative for your next birthday cake&hellip;<\/p>\n","protected":false},"author":2,"featured_media":4083,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_stopmodifiedupdate":false,"_modified_date":"","footnotes":""},"categories":[466,279,37],"tags":[6958,6960],"class_list":{"2":"type-post"},"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.0 (Yoast SEO v27.0) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Gluten-Free Carrot Cake Recipe - The Healthy Maven<\/title>\n<meta name=\"description\" content=\"a delicious and moist recipe for Gluten-Free Carrot Cake with a lightened-up cream cheese frosting. Perfect for your next birthday cake or party.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Gluten-Free Carrot Cake\" \/>\n<meta property=\"og:description\" content=\"a delicious and moist recipe for Gluten-Free Carrot Cake with a lightened-up cream cheese frosting. Perfect for your next birthday cake or party.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/\" \/>\n<meta property=\"og:site_name\" content=\"The Healthy Maven\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/thehealthymaven\" \/>\n<meta property=\"article:author\" content=\"www.facebook.com\/thehealthymaven\" \/>\n<meta property=\"article:published_time\" content=\"2014-05-22T09:00:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-18T17:38:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thehealthymaven.com\/wp-content\/uploads\/2014\/05\/Gluten-Free-Carrot-Cake1-e1611519076888.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"680\" \/>\n\t<meta property=\"og:image:height\" content=\"680\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Davida Lederle\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Davida Lederle\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/\"},\"author\":{\"name\":\"Davida Lederle\",\"@id\":\"https:\/\/www.thehealthymaven.com\/#\/schema\/person\/acb6d9e44f9b367e4df8265d69a7dea1\"},\"headline\":\"Gluten-Free Carrot Cake\",\"datePublished\":\"2014-05-22T09:00:26+00:00\",\"dateModified\":\"2024-01-18T17:38:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/\"},\"wordCount\":512,\"commentCount\":55,\"publisher\":{\"@id\":\"https:\/\/www.thehealthymaven.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2014\/05\/Gluten-Free-Carrot-Cake1-e1611519076888.jpg\",\"keywords\":[\"Gluten-free\",\"Vegetarian\"],\"articleSection\":[\"Cakes and Cupcakes\",\"Dessert Recipes\",\"Gluten-Free Recipes\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/\",\"url\":\"https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/\",\"name\":\"Gluten-Free Carrot Cake Recipe - The Healthy Maven\",\"isPartOf\":{\"@id\":\"https:\/\/www.thehealthymaven.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2014\/05\/Gluten-Free-Carrot-Cake1-e1611519076888.jpg\",\"datePublished\":\"2014-05-22T09:00:26+00:00\",\"dateModified\":\"2024-01-18T17:38:56+00:00\",\"description\":\"a delicious and moist recipe for Gluten-Free Carrot Cake with a lightened-up cream cheese frosting. Perfect for your next birthday cake or party.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/#primaryimage\",\"url\":\"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2014\/05\/Gluten-Free-Carrot-Cake1-e1611519076888.jpg\",\"contentUrl\":\"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2014\/05\/Gluten-Free-Carrot-Cake1-e1611519076888.jpg\",\"width\":680,\"height\":680},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.thehealthymaven.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dessert Recipes\",\"item\":\"https:\/\/www.thehealthymaven.com\/category\/dessert\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Gluten-Free Carrot Cake\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.thehealthymaven.com\/#website\",\"url\":\"https:\/\/www.thehealthymaven.com\/\",\"name\":\"The Healthy Maven\",\"description\":\"-where healthy meets living-\",\"publisher\":{\"@id\":\"https:\/\/www.thehealthymaven.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.thehealthymaven.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.thehealthymaven.com\/#organization\",\"name\":\"The Healthy Maven LLC\",\"url\":\"https:\/\/www.thehealthymaven.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.thehealthymaven.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/01\/the-healthy-maven-default-image.jpg\",\"contentUrl\":\"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/01\/the-healthy-maven-default-image.jpg\",\"width\":696,\"height\":696,\"caption\":\"The Healthy Maven LLC\"},\"image\":{\"@id\":\"https:\/\/www.thehealthymaven.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/thehealthymaven\",\"https:\/\/x.com\/thehealthymaven\",\"https:\/\/www.instagram.com\/thehealthymaven\",\"https:\/\/www.pinterest.com\/thehealthymaven\",\"https:\/\/www.youtube.com\/channel\/UCyK5nQt0c37nilRzVBRXv6g\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.thehealthymaven.com\/#\/schema\/person\/acb6d9e44f9b367e4df8265d69a7dea1\",\"name\":\"Davida Lederle\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.thehealthymaven.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/35fd0c7c207f10c54f4afab6334ed776b428660e339583e2b0fe1de68ffa7d2d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/35fd0c7c207f10c54f4afab6334ed776b428660e339583e2b0fe1de68ffa7d2d?s=96&d=mm&r=g\",\"caption\":\"Davida Lederle\"},\"description\":\"Welcome to The Healthy Maven! I'm Davida and I've been food blogging for over a decade. I'm also a certified herbalist, yoga instructor and major health junkie. My goal is to help you live healthFULLY rather than living for your health. I provide simple and nutritious recipes, clean beauty and lifestyle tips so you can live well.\",\"sameAs\":[\"https:\/\/www.thehealthymaven.com\/author\/davida\/\",\"www.facebook.com\/thehealthymaven\",\"www.instagram.com\/thehealthymaven\",\"https:\/\/x.com\/TheHealthyMaven\"],\"knowsAbout\":[\"cooking\",\"food blogging\",\"yoga\",\"clean beauty\"],\"url\":\"https:\/\/www.thehealthymaven.com\/author\/davida\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Gluten-Free Carrot Cake Recipe - The Healthy Maven","description":"a delicious and moist recipe for Gluten-Free Carrot Cake with a lightened-up cream cheese frosting. Perfect for your next birthday cake or party.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/","og_locale":"en_US","og_type":"article","og_title":"Gluten-Free Carrot Cake","og_description":"a delicious and moist recipe for Gluten-Free Carrot Cake with a lightened-up cream cheese frosting. Perfect for your next birthday cake or party.","og_url":"https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/","og_site_name":"The Healthy Maven","article_publisher":"https:\/\/www.facebook.com\/thehealthymaven","article_author":"www.facebook.com\/thehealthymaven","article_published_time":"2014-05-22T09:00:26+00:00","article_modified_time":"2024-01-18T17:38:56+00:00","og_image":[{"width":680,"height":680,"url":"https:\/\/thehealthymaven.com\/wp-content\/uploads\/2014\/05\/Gluten-Free-Carrot-Cake1-e1611519076888.jpg","type":"image\/jpeg"}],"author":"Davida Lederle","twitter_misc":{"Written by":"Davida Lederle","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/#article","isPartOf":{"@id":"https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/"},"author":{"name":"Davida Lederle","@id":"https:\/\/www.thehealthymaven.com\/#\/schema\/person\/acb6d9e44f9b367e4df8265d69a7dea1"},"headline":"Gluten-Free Carrot Cake","datePublished":"2014-05-22T09:00:26+00:00","dateModified":"2024-01-18T17:38:56+00:00","mainEntityOfPage":{"@id":"https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/"},"wordCount":512,"commentCount":55,"publisher":{"@id":"https:\/\/www.thehealthymaven.com\/#organization"},"image":{"@id":"https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/#primaryimage"},"thumbnailUrl":"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2014\/05\/Gluten-Free-Carrot-Cake1-e1611519076888.jpg","keywords":["Gluten-free","Vegetarian"],"articleSection":["Cakes and Cupcakes","Dessert Recipes","Gluten-Free Recipes"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/","url":"https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/","name":"Gluten-Free Carrot Cake Recipe - The Healthy Maven","isPartOf":{"@id":"https:\/\/www.thehealthymaven.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/#primaryimage"},"image":{"@id":"https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/#primaryimage"},"thumbnailUrl":"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2014\/05\/Gluten-Free-Carrot-Cake1-e1611519076888.jpg","datePublished":"2014-05-22T09:00:26+00:00","dateModified":"2024-01-18T17:38:56+00:00","description":"a delicious and moist recipe for Gluten-Free Carrot Cake with a lightened-up cream cheese frosting. Perfect for your next birthday cake or party.","breadcrumb":{"@id":"https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/#primaryimage","url":"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2014\/05\/Gluten-Free-Carrot-Cake1-e1611519076888.jpg","contentUrl":"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2014\/05\/Gluten-Free-Carrot-Cake1-e1611519076888.jpg","width":680,"height":680},{"@type":"BreadcrumbList","@id":"https:\/\/www.thehealthymaven.com\/gluten-free-carrot-cake-special-birthday\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.thehealthymaven.com\/"},{"@type":"ListItem","position":2,"name":"Dessert Recipes","item":"https:\/\/www.thehealthymaven.com\/category\/dessert\/"},{"@type":"ListItem","position":3,"name":"Gluten-Free Carrot Cake"}]},{"@type":"WebSite","@id":"https:\/\/www.thehealthymaven.com\/#website","url":"https:\/\/www.thehealthymaven.com\/","name":"The Healthy Maven","description":"-where healthy meets living-","publisher":{"@id":"https:\/\/www.thehealthymaven.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.thehealthymaven.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.thehealthymaven.com\/#organization","name":"The Healthy Maven LLC","url":"https:\/\/www.thehealthymaven.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.thehealthymaven.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/01\/the-healthy-maven-default-image.jpg","contentUrl":"https:\/\/www.thehealthymaven.com\/wp-content\/uploads\/2024\/01\/the-healthy-maven-default-image.jpg","width":696,"height":696,"caption":"The Healthy Maven LLC"},"image":{"@id":"https:\/\/www.thehealthymaven.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/thehealthymaven","https:\/\/x.com\/thehealthymaven","https:\/\/www.instagram.com\/thehealthymaven","https:\/\/www.pinterest.com\/thehealthymaven","https:\/\/www.youtube.com\/channel\/UCyK5nQt0c37nilRzVBRXv6g\/"]},{"@type":"Person","@id":"https:\/\/www.thehealthymaven.com\/#\/schema\/person\/acb6d9e44f9b367e4df8265d69a7dea1","name":"Davida Lederle","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.thehealthymaven.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/35fd0c7c207f10c54f4afab6334ed776b428660e339583e2b0fe1de68ffa7d2d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/35fd0c7c207f10c54f4afab6334ed776b428660e339583e2b0fe1de68ffa7d2d?s=96&d=mm&r=g","caption":"Davida Lederle"},"description":"Welcome to The Healthy Maven! I'm Davida and I've been food blogging for over a decade. I'm also a certified herbalist, yoga instructor and major health junkie. My goal is to help you live healthFULLY rather than living for your health. I provide simple and nutritious recipes, clean beauty and lifestyle tips so you can live well.","sameAs":["https:\/\/www.thehealthymaven.com\/author\/davida\/","www.facebook.com\/thehealthymaven","www.instagram.com\/thehealthymaven","https:\/\/x.com\/TheHealthyMaven"],"knowsAbout":["cooking","food blogging","yoga","clean beauty"],"url":"https:\/\/www.thehealthymaven.com\/author\/davida\/"}]}},"_links":{"self":[{"href":"https:\/\/www.thehealthymaven.com\/wp-json\/wp\/v2\/posts\/4073","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.thehealthymaven.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.thehealthymaven.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.thehealthymaven.com\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.thehealthymaven.com\/wp-json\/wp\/v2\/comments?post=4073"}],"version-history":[{"count":0,"href":"https:\/\/www.thehealthymaven.com\/wp-json\/wp\/v2\/posts\/4073\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.thehealthymaven.com\/wp-json\/wp\/v2\/media\/4083"}],"wp:attachment":[{"href":"https:\/\/www.thehealthymaven.com\/wp-json\/wp\/v2\/media?parent=4073"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.thehealthymaven.com\/wp-json\/wp\/v2\/categories?post=4073"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.thehealthymaven.com\/wp-json\/wp\/v2\/tags?post=4073"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}