<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Joy + OliverChocolate Caramel Tart - Joy + Oliver</title>
	<atom:link href="https://joyoliver.com/chocolate-caramel-tart/feed/" rel="self" type="application/rss+xml" />
	<link>https://joyoliver.com/chocolate-caramel-tart/</link>
	<description>Dessert &#38; Entertaining Blog</description>
	<lastBuildDate>Wed, 22 Apr 2026 16:09:24 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	
	<item>
		<title>Chocolate Caramel Tart</title>
		<link>https://joyoliver.com/chocolate-caramel-tart/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=chocolate-caramel-tart</link>
		<enclosure url="https://joyoliver.com/wp-content/uploads/2018/10/IMG_2590-682x1024.jpg" type="image/jpeg" /> 
		<comments>https://joyoliver.com/chocolate-caramel-tart/#respond</comments>
		<pubDate>Wed, 24 Oct 2018 22:09:33 +0000</pubDate>
		<dc:creator><![CDATA[Kristen Massad]]></dc:creator>
				<category><![CDATA[Chocolate]]></category>
		<category><![CDATA[Recipes]]></category>
		<category><![CDATA[Sweets]]></category>
		<category><![CDATA[Tarts + Pies Recipes]]></category>
		<category><![CDATA[Caramel]]></category>
		<category><![CDATA[chocolate]]></category>
		<category><![CDATA[Chocolate Caramel Tart]]></category>
		<category><![CDATA[Chocolate Pie]]></category>
		<category><![CDATA[Chocolate Tart]]></category>
		<category><![CDATA[pies]]></category>
		<category><![CDATA[Tart]]></category>

		<guid isPermaLink="false">https://joyoliver.com/?p=4111</guid>
		<description><![CDATA[Facebook Pinterest Email This Chocolate Caramel Tart is the perfect combination of rich and creamy goodness. With layers of buttery crust, smooth caramel sauce, and dark chocolate ganache, this Chocolate Caramel Tart is as good as your favorite candy bar! It feels like the months are flying by and before we know it, it is...]]></description>
				<content:encoded><![CDATA[<div class="tasty-recipes-quick-links">
<a class="tasty-recipes-jump-link tasty-recipes-scrollto" href="#tasty-recipes-6847-jump-target">Jump to Recipe</a><span>&middot;</span><a class="tasty-recipes-print-link" href="https://joyoliver.com/chocolate-caramel-tart/print/6847/">Print Recipe</a>
</div>

<div class="tasty-pins-hidden-image-container" style="display:none;"><img decoding="async" data-pin-title="Chocolate Caramel Tart" class="tasty-pins-hidden-image skip-lazy a3-notlazy no-lazyload" data-no-lazy="1" src="https://joyoliver.com/wp-content/uploads/2018/10/IMG_2590-150x150.jpg" data-pin-media="https://joyoliver.com/wp-content/uploads/2018/10/IMG_2590.jpg"></div>

<p><em>This <strong>Chocolate Caramel Tart </strong>is the perfect combination of rich and creamy goodness. With layers of buttery crust, smooth caramel sauce, and dark chocolate ganache, this Chocolate Caramel Tart is as good as your favorite candy bar!</em></p>



<div class="wp-block-image"><figure class="aligncenter size-full"><a href="https://joyoliver.com/wp-content/uploads/2018/10/IMG_2590.jpg"><img fetchpriority="high" decoding="async" width="853" height="1280" data-pin-title="Chocolate Caramel Tart" src="https://joyoliver.com/wp-content/uploads/2018/10/IMG_2590.jpg" alt="A slice of chocolate caramel tart on a plate next to a fork" class="wp-image-4141" srcset="https://joyoliver.com/wp-content/uploads/2018/10/IMG_2590.jpg 853w, https://joyoliver.com/wp-content/uploads/2018/10/IMG_2590-410x615.jpg 410w, https://joyoliver.com/wp-content/uploads/2018/10/IMG_2590-682x1024.jpg 682w, https://joyoliver.com/wp-content/uploads/2018/10/IMG_2590-768x1152.jpg 768w, https://joyoliver.com/wp-content/uploads/2018/10/IMG_2590-720x1080.jpg 720w, https://joyoliver.com/wp-content/uploads/2018/10/IMG_2590-360x540.jpg 360w, https://joyoliver.com/wp-content/uploads/2018/10/IMG_2590-180x270.jpg 180w, https://joyoliver.com/wp-content/uploads/2018/10/IMG_2590-150x225.jpg 150w" sizes="(max-width: 853px) 100vw, 853px" /></a></figure></div>



<p>It feels like the months are flying by and before we know it, it is going to be my favorite holiday: Thanksgiving! So right now all I can really think about is entertaining, the busy weekends full of celebrating, and what desserts I'm going to make for Thanksgiving.</p>



<p>One of my all-time favorites from my bakery days is this Chocolate Caramel Tart. This one is perfect if you're looking for a chocolate candy bar taste. It is truly like eating the best candy bar you are ever going to eat, but full of the best quality ingredients. And if you're looking for something heartier with a variety of nuts, try this <a href="https://joyoliver.com/caramel-nut-tart/" target="_blank" rel="noreferrer noopener">Caramel Nut Tart</a>, too.</p>



<h2 class="wp-block-heading" id="h-ingredients">Ingredients</h2>



<div class="wp-block-image"><figure class="aligncenter size-full"><a href="https://joyoliver.com/wp-content/uploads/2018/10/IMG_2340.jpg"><img decoding="async" width="853" height="1280" data-pin-title="Chocolate Caramel Tart" src="https://joyoliver.com/wp-content/uploads/2018/10/IMG_2340.jpg" alt="A whole chocolate caramel tart decorated with chocolate pearls and shavings" class="wp-image-4113" srcset="https://joyoliver.com/wp-content/uploads/2018/10/IMG_2340.jpg 853w, https://joyoliver.com/wp-content/uploads/2018/10/IMG_2340-410x615.jpg 410w, https://joyoliver.com/wp-content/uploads/2018/10/IMG_2340-768x1152.jpg 768w, https://joyoliver.com/wp-content/uploads/2018/10/IMG_2340-682x1024.jpg 682w" sizes="(max-width: 853px) 100vw, 853px" /></a></figure></div>



<ul class="wp-block-list"><li><strong>Butter-</strong> Unsalted, which will be used in both the crust and the caramel sauce</li><li><strong>Sugar-</strong> Powdered for the crust, granulated for the caramel sauce</li><li><strong>Corn Syrup- </strong>To keep the caramel smooth and soft</li><li><strong>Cream-</strong> Heavy cream, for the caramel sauce and chocolate ganache</li><li><strong>Chocolate Chips-</strong> Semi-sweet is what I always like to use (for a darker, slightly less sweetness you can use dark chocolate)</li><li><strong>Garnishes-</strong> Chocolate shavings and chocolate pearls</li></ul>



<p><strong>Pate Sable<br></strong>Pate Sable is the dough that is traditionally used for tart shells. It is buttery, tender, not too crumbly, and not overly sweet. For the Chocolate Caramel Tart, you will prebake the tart shell completely before filling.</p>



<p><strong>Caramel Sauce<br></strong>There is really no explanation for the Caramel Sauce, it is the best thing you will ever eat. After you spread the caramel sauce to cover the surface of the tart shell you will have leftovers and I promise you will pour it over everything. Perfect over ice cream, your favorite apple pie, a filling for cookies or just dip your spoon in it and eat it by itself!</p>



<p><strong>Chocolate Ganache</strong><br>Two Simple ingredients make up this dark, rich and creamy filling. I like to use semi-sweet chocolate mixed with heavy whipping cream. Chocolate ganache is the filling for most truffles, so imagine it melted into a tart shell…yes please!</p>



<h2 class="wp-block-heading" id="h-directions">Directions</h2>



<div class="wp-block-image"><figure class="aligncenter size-full"><a href="https://joyoliver.com/wp-content/uploads/2018/10/IMG_2342.jpg"><img decoding="async" width="853" height="1280" data-pin-title="Chocolate Caramel Tart" src="https://joyoliver.com/wp-content/uploads/2018/10/IMG_2342.jpg" alt="Close up of a chocolate caramel tart garnished with chocolate shavings and chocolate pearls" class="wp-image-4115" srcset="https://joyoliver.com/wp-content/uploads/2018/10/IMG_2342.jpg 853w, https://joyoliver.com/wp-content/uploads/2018/10/IMG_2342-410x615.jpg 410w, https://joyoliver.com/wp-content/uploads/2018/10/IMG_2342-768x1152.jpg 768w, https://joyoliver.com/wp-content/uploads/2018/10/IMG_2342-682x1024.jpg 682w" sizes="(max-width: 853px) 100vw, 853px" /></a></figure></div>



<p><strong>Pate Sable (Crust)</strong></p>



<ul class="wp-block-list"><li>In a mixing bowl with the paddle attachment, cream the butter, powdered sugar, salt, and vanilla until smooth</li><li>Incorporate eggs one at a time until combined, then add the flour and mix</li><li>Form the dough into a ball on a floured surface, then wrap in plastic wrap and chill for 30 minutes</li><li>Let dough sit on the counter for 5-10 minutes until slightly softened</li><li>Roll out dough to about ⅛ inch thick and 12 inches round</li><li>Press into a tart pan, cover with plastic wrap, and freeze for 20 minutes before baking for 10 minutes (see recipe card for more details)</li><li>Allow to cool completely before removing from pan</li></ul>



<p><strong>Caramel Sauce</strong></p>



<ul class="wp-block-list"><li>Combine sugar, corn syrup, and water in a large saucepan</li><li>Boil and cook until it's a dark amber color, then remove from heat</li><li>Add butter and cream, whisk until combined</li><li>Pour caramel into a glass jar or bowl and allow to cool</li></ul>



<p><strong>Chocolate Ganache</strong></p>



<ul class="wp-block-list"><li>In a small saucepan, bring the cream to a simmer</li><li>Pour in the chocolate chips and allow to sit for 2 minutes</li><li>Whisk the ganache until shiny and smooth</li><li>Assemble the tart immediately after the ganache is done</li></ul>



<p><strong>Assembly</strong></p>



<ul class="wp-block-list"><li>Place the baked shell on a serving platter</li><li>Cover the surface of the shell with caramel sauce, and allow to sit 5 minutes</li><li>Pour the ganache to fill the rest of the shell</li><li>Allow ganache to set (put in the fridge if you're in a time crunch) before garnishing</li><li>Garnish with chocolate shavings, chocolate pearls, or any other garnish of your choice, and enjoy!</li></ul>



<div class="wp-block-image"><figure class="aligncenter size-full"><a href="https://joyoliver.com/wp-content/uploads/2018/10/IMG_2602.jpg"><img decoding="async" width="853" height="1280" data-pin-title="Chocolate Caramel Tart" src="https://joyoliver.com/wp-content/uploads/2018/10/IMG_2602.jpg" alt="4 plates with chocolate caramel tart slice on each" class="wp-image-4143" srcset="https://joyoliver.com/wp-content/uploads/2018/10/IMG_2602.jpg 853w, https://joyoliver.com/wp-content/uploads/2018/10/IMG_2602-410x615.jpg 410w, https://joyoliver.com/wp-content/uploads/2018/10/IMG_2602-768x1152.jpg 768w, https://joyoliver.com/wp-content/uploads/2018/10/IMG_2602-682x1024.jpg 682w" sizes="(max-width: 853px) 100vw, 853px" /></a></figure></div>



<h2 class="wp-block-heading" id="h-tips-and-faqs-for-chocolate-caramel-tart">Tips and FAQs for Chocolate Caramel Tart</h2>



<ul class="wp-block-list"><li>With a bit of planning, you can make two tarts at once since the recipe for the pate sable makes two crusts (or you can freeze for later)</li><li>Supplies you'll need include: <a href="https://www.amazon.com/gp/product/B0000DIX7K/ref=as_li_tl?ie=UTF8&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B0000DIX7K&amp;linkCode=as2&amp;tag=inkfoods-20&amp;linkId=4c6e2099f92670d38c07c2b1ae28a9f8" target="_blank" rel="noreferrer noopener nofollow">9" Tart Pan</a>, <a href="https://www.amazon.com/gp/product/B07782X7TQ/ref=as_li_tl?ie=UTF8&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B07782X7TQ&amp;linkCode=as2&amp;tag=inkfoods-20&amp;linkId=b1ad06bae44c5ea2b1eb8230ad016dc9" target="_blank" rel="noreferrer noopener nofollow">Pie Weights</a>, and <a href="https://www.amazon.com/gp/product/B011ABNX9W/ref=as_li_tl?ie=UTF8&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B011ABNX9W&amp;linkCode=as2&amp;tag=inkfoods-20&amp;linkId=fd1848db7591fb38cce3d298b400e93b" target="_blank" rel="noreferrer noopener nofollow">Chocolate Pearls</a></li></ul>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1635347918650"><strong class="schema-faq-question">Why did my chocolate caramel tart not set?</strong> <p class="schema-faq-answer">If the tart isn't holding up when you cut into it, you probably didn't leave it to set long enough. Make sure you let the chocolate ganache completely set after you assemble the tart.</p> </div> </div>



<h2 class="wp-block-heading" id="h-more-recipes-you-will-love">More Recipes You Will Love</h2>


<div class='feast-category-index  feast-recipe-index'><ul class="fsri-list feast-grid-half feast-desktop-grid-fourth"><li class="listing-item"><a href="https://joyoliver.com/chocolate-caramel-mousse/"><img decoding="async" data-pin-url="https://joyoliver.com/chocolate-caramel-mousse/" width="360" height="480" src="https://joyoliver.com/wp-content/uploads/2021/10/Chocolate-Caramel-Mousse-23-360x480.jpeg" class="feast_3x4_thumbnail fsri-image wp-post-image" alt="Four clear glass bowls filled with chocolate mousse, whipped cream and chocolate shavings." data-pin-nopin="true" aria-hidden="true" srcset="https://joyoliver.com/wp-content/uploads/2021/10/Chocolate-Caramel-Mousse-23-360x480.jpeg 360w, https://joyoliver.com/wp-content/uploads/2021/10/Chocolate-Caramel-Mousse-23-720x960.jpeg 720w, https://joyoliver.com/wp-content/uploads/2021/10/Chocolate-Caramel-Mousse-23-180x240.jpeg 180w, https://joyoliver.com/wp-content/uploads/2021/10/Chocolate-Caramel-Mousse-23-640x853.jpeg 640w" sizes="(max-width: 360px) 100vw, 360px" /><div class="fsri-title">Chocolate Caramel Mousse</div></a></li><li class="listing-item"><a href="https://joyoliver.com/chocolate-caramels/"><img decoding="async" data-pin-url="https://joyoliver.com/chocolate-caramels/" width="360" height="480" src="https://joyoliver.com/wp-content/uploads/2013/12/choc-caramels-1-360x480.jpg" class="feast_3x4_thumbnail fsri-image wp-post-image" alt="" data-pin-nopin="true" aria-hidden="true" srcset="https://joyoliver.com/wp-content/uploads/2013/12/choc-caramels-1-360x480.jpg 360w, https://joyoliver.com/wp-content/uploads/2013/12/choc-caramels-1-720x960.jpg 720w, https://joyoliver.com/wp-content/uploads/2013/12/choc-caramels-1-180x240.jpg 180w, https://joyoliver.com/wp-content/uploads/2013/12/choc-caramels-1-640x853.jpg 640w" sizes="(max-width: 360px) 100vw, 360px" /><div class="fsri-title">Chocolate Caramels</div></a></li><li class="listing-item"><a href="https://joyoliver.com/the-best-ever-caramel-apples/"><img decoding="async" data-pin-url="https://joyoliver.com/the-best-ever-caramel-apples/" width="360" height="480" src="https://joyoliver.com/wp-content/uploads/2020/10/IMG_8299-360x480.jpg" class="feast_3x4_thumbnail fsri-image wp-post-image" alt="" data-pin-nopin="true" aria-hidden="true" srcset="https://joyoliver.com/wp-content/uploads/2020/10/IMG_8299-360x480.jpg 360w, https://joyoliver.com/wp-content/uploads/2020/10/IMG_8299-720x960.jpg 720w, https://joyoliver.com/wp-content/uploads/2020/10/IMG_8299-180x240.jpg 180w, https://joyoliver.com/wp-content/uploads/2020/10/IMG_8299-640x853.jpg 640w" sizes="(max-width: 360px) 100vw, 360px" /><div class="fsri-title">The Best Ever Caramel Apples</div></a></li><li class="listing-item"><a href="https://joyoliver.com/chocolate-tahini-tart/"><img decoding="async" data-pin-url="https://joyoliver.com/chocolate-tahini-tart/" width="360" height="480" src="https://joyoliver.com/wp-content/uploads/2019/02/IMG_5841-360x480.jpg" class="feast_3x4_thumbnail fsri-image wp-post-image" alt="" data-pin-nopin="true" aria-hidden="true" srcset="https://joyoliver.com/wp-content/uploads/2019/02/IMG_5841-360x480.jpg 360w, https://joyoliver.com/wp-content/uploads/2019/02/IMG_5841-720x960.jpg 720w, https://joyoliver.com/wp-content/uploads/2019/02/IMG_5841-180x240.jpg 180w, https://joyoliver.com/wp-content/uploads/2019/02/IMG_5841-640x853.jpg 640w" sizes="(max-width: 360px) 100vw, 360px" /><div class="fsri-title">Chocolate Tahini Tart</div></a></li></ul></div>



<a class="button tasty-recipes-print-button tasty-recipes-no-print tasty-recipes-print-above-card" href="https://joyoliver.com/chocolate-caramel-tart/print/6847/">Print</a><span class="tasty-recipes-jump-target" id="tasty-recipes-6847-jump-target" style="display:block;padding-top:2px;margin-top:-2px;"></span><div id="tasty-recipes-6847" data-tr-id="6847" class="tasty-recipes tasty-recipes-6847 tasty-recipes-display tasty-recipes-has-image" data-tasty-recipes-customization="primary-color.background-color primary-color.outline-color">


<h2 class="tasty-recipes-title" data-tasty-recipes-customization="h2-color.color h2-transform.text-transform">Chocolate Caramel Tart</h2>
<div class="tasty-recipes-image-button-container">
			<div class="tasty-recipes-image">
			<img decoding="async" width="150" height="150" src="https://joyoliver.com/wp-content/uploads/2020/01/IMG_2590-682x1024-2-150x150.jpg" class="attachment-thumbnail size-thumbnail" alt="" data-pin-nopin="true" />		</div>
		<div class="tasty-recipes-buttons">
				<div class="tasty-recipes-button-wrap">
			
<a class="button tasty-recipes-print-button tasty-recipes-no-print" href="https://joyoliver.com/chocolate-caramel-tart/print/6847/" target="_blank" data-tasty-recipes-customization="">
			<img decoding="async" class="svg-print" data-pin-nopin="true" src="https://joyoliver.com/wp-content/plugins/tasty-recipes/templates/buttons/images/icon-print.png">
		Print Recipe</a>
		</div>
					</div>
</div>
	<div class="tasty-recipes-rating" data-tasty-recipes-customization="body-color.color">
					<p><span class="tasty-recipes-ratings-buttons tasty-recipes-no-ratings-buttons"	data-tr-default-rating="0"	>		<span class="tasty-recipes-rating" >		<i class="checked" data-rating="5">			<span class="tasty-recipes-rating-solid" data-tr-clip="0">				<svg xmlns="http://www.w3.org/2000/svg" viewbox="9 9 46 42" width="18" height="17">	<defs>		<linearGradient id="tasty-recipes-clip-10">			<stop offset="10%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-20">			<stop offset="20%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-30">			<stop offset="30%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-40">			<stop offset="40%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-50">			<stop offset="50%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-60">			<stop offset="60%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-70">			<stop offset="70%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-80">			<stop offset="80%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-90">			<stop offset="90%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>	</defs>	<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"/></svg>			</span>			<span class="tasty-recipes-screen-reader">				5 Stars			</span>		</i>	</span>		<span class="tasty-recipes-rating" >		<i class="checked" data-rating="4">			<span class="tasty-recipes-rating-solid" data-tr-clip="0">				<svg xmlns="http://www.w3.org/2000/svg" viewbox="9 9 46 42" width="18" height="17">	<defs>		<linearGradient id="tasty-recipes-clip-10">			<stop offset="10%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-20">			<stop offset="20%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-30">			<stop offset="30%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-40">			<stop offset="40%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-50">			<stop offset="50%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-60">			<stop offset="60%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-70">			<stop offset="70%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-80">			<stop offset="80%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-90">			<stop offset="90%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>	</defs>	<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"/></svg>			</span>			<span class="tasty-recipes-screen-reader">				4 Stars			</span>		</i>	</span>		<span class="tasty-recipes-rating" >		<i class="checked" data-rating="3">			<span class="tasty-recipes-rating-solid" data-tr-clip="0">				<svg xmlns="http://www.w3.org/2000/svg" viewbox="9 9 46 42" width="18" height="17">	<defs>		<linearGradient id="tasty-recipes-clip-10">			<stop offset="10%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-20">			<stop offset="20%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-30">			<stop offset="30%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-40">			<stop offset="40%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-50">			<stop offset="50%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-60">			<stop offset="60%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-70">			<stop offset="70%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-80">			<stop offset="80%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-90">			<stop offset="90%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>	</defs>	<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"/></svg>			</span>			<span class="tasty-recipes-screen-reader">				3 Stars			</span>		</i>	</span>		<span class="tasty-recipes-rating" >		<i class="checked" data-rating="2">			<span class="tasty-recipes-rating-solid" data-tr-clip="0">				<svg xmlns="http://www.w3.org/2000/svg" viewbox="9 9 46 42" width="18" height="17">	<defs>		<linearGradient id="tasty-recipes-clip-10">			<stop offset="10%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-20">			<stop offset="20%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-30">			<stop offset="30%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-40">			<stop offset="40%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-50">			<stop offset="50%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-60">			<stop offset="60%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-70">			<stop offset="70%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-80">			<stop offset="80%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-90">			<stop offset="90%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>	</defs>	<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"/></svg>			</span>			<span class="tasty-recipes-screen-reader">				2 Stars			</span>		</i>	</span>		<span class="tasty-recipes-rating" >		<i class="checked" data-rating="1">			<span class="tasty-recipes-rating-solid" data-tr-clip="0">				<svg xmlns="http://www.w3.org/2000/svg" viewbox="9 9 46 42" width="18" height="17">	<defs>		<linearGradient id="tasty-recipes-clip-10">			<stop offset="10%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-20">			<stop offset="20%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-30">			<stop offset="30%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-40">			<stop offset="40%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-50">			<stop offset="50%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-60">			<stop offset="60%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-70">			<stop offset="70%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-80">			<stop offset="80%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>		<linearGradient id="tasty-recipes-clip-90">			<stop offset="90%" stop-color="currentColor"/>			<stop stop-opacity="var(--tr-star-opacity)" offset="0%" stop-color="currentColor"/>		</linearGradient>	</defs>	<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"/></svg>			</span>			<span class="tasty-recipes-screen-reader">				1 Star			</span>		</i>	</span></span></p>
							<p><span data-tasty-recipes-customization="detail-label-color.color" class="rating-label">No reviews</span></p>
			</div>



	<div class="tasty-recipes-details" data-tasty-recipes-customization="body-color.color">
		<ul>
							<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://joyoliver.com/about/">Kristen Massad</a></li>
					</ul>
	</div>

	<div class="tasty-recipes-ingredients">
		<div class="tasty-recipes-ingredients-header">
			<div class="tasty-recipes-ingredients-clipboard-container">
				<h3 data-tasty-recipes-customization="h3-color.color h3-transform.text-transform">Ingredients</h3>
							</div>
			<div class="tasty-recipes-units-scale-container">
											</div>
		</div>
		<div class="tasty-recipes-ingredients-body" data-tasty-recipes-customization="body-color.color">
			<h4>Pate Sable (Crust)</h4>
<ul>
<li><span data-amount="1" data-unit="cup">1 Cup</span> Unsalted Butter</li>
<li><span data-amount="0.75" data-unit="cup">¾ Cup</span> Powdered Sugar</li>
<li><span data-amount="0.25" data-unit="tsp">¼ tsp</span> Salt</li>
<li><span data-amount="0.5" data-unit="tsp">½ tsp</span> Vanilla Extract</li>
<li><span data-amount="2">2</span> Eggs</li>
<li><span data-amount="2.5" data-unit="cup">2 ½ Cups</span> All Purpose Flour</li>
</ul>
<h4>Caramel Sauce</h4>
<ul>
<li><span data-amount="1.5" data-unit="cup">1 ½ Cup</span> Granulated Sugar</li>
<li><span data-amount="4" data-unit="tbsp">4 Tbsp</span> Corn Syrup</li>
<li><span data-amount="0.5" data-unit="cup">½ Cup</span> Water</li>
<li><span data-amount="4" data-unit="oz">4 oz</span>. Unsalted Butter</li>
<li><span data-amount="0.66666666666667" data-unit="cup">⅔ Cup</span> Heavy Cream</li>
</ul>
<h4>Chocolate Ganache</h4>
<ul>
<li><span data-amount="2" data-unit="cup">2 Cups</span> Semi Sweet Chocolate Chips</li>
<li><span data-amount="1" data-unit="cup">1 Cup</span> Heavy Cream</li>
</ul>
<h4>Garnish</h4>
<ul>
<li>Chocolate Shavings</li>
<li>Chocolate Pearls</li>
</ul>
<!--INSIDE_INGREDIENTS-->		</div>
		<div class="tasty-recipes-cook-mode">
	<div class="tasty-recipes-cook-mode__container">
		<label class="tasty-recipes-cook-mode__switch">
			<input type="checkbox" id="tasty_recipes_69fe872f2bf89_cookmode">
			<span class="tasty-recipes-cook-mode__switch-slider tasty-recipes-cook-mode__switch-round"
				data-tasty-recipes-customization="button-color.background button-text-color.color"></span>
		</label>
		<label for="tasty_recipes_69fe872f2bf89_cookmode">
			<span class="tasty-recipes-cook-mode__label">Cook Mode</span>
			<span class="tasty-recipes-cook-mode__helper">
				Prevent your screen from going dark			</span>
		</label>
	</div>
</div>
	</div>

	<div class="tasty-recipe-instructions">
		<div class="tasty-recipes-instructions-header">
			<h3 data-tasty-recipes-customization="h3-color.color h3-transform.text-transform">Instructions</h3>
					</div>
		<div class="tasty-recipes-instructions-body" data-tasty-recipes-customization="body-color.color">
			<h4>Pate Sable (Crust)</h4>
<ol>
<li id="instruction-step-1">Preheat oven to 350 degree F</li>
<li id="instruction-step-2">In mixing bowl with paddle attachment, cream together the butter, powdered sugar, salt and vanilla extract</li>
<li id="instruction-step-3">Scrape down the sides of the bowl and mix until butter is smooth</li>
<li id="instruction-step-4">Add in eggs one at a time and mix until fully combined</li>
<li id="instruction-step-5">Slowly add in the flour</li>
<li id="instruction-step-6">Continue mixing on low speed until all the dry ingredients are incorporated</li>
<li id="instruction-step-7">Remove the dough the bowl onto a lightly floured surface and form it into ball</li>
<li id="instruction-step-8">Wrap the dough in plastic and chill for 30 min</li>
<li id="instruction-step-9">Once the dough is chilled, remove the dough and let it sit on the counter for 5-10 minutes to slightly soften</li>
<li id="instruction-step-10">roll the dough out on a lightly floured surface to approx. ⅛ inch thick and 12 inches round</li>
<li id="instruction-step-11">(this recipes makes 2 tart shells, so wrap the other half up and refrigerate or freeze for another time)</li>
<li id="instruction-step-12">Place the dough into a tart pan and press to form the shape of the pan</li>
<li id="instruction-step-13">Cover the dough with plastic wrap and stick in the freezer for 20 minute before baking (this prevents the dough from shrinking)</li>
<li id="instruction-step-14">Press a piece of parchment paper into the center of the tart shell and fill with pie weights or uncooked rice to cover the entire surface of the tart</li>
<li id="instruction-step-15">Bake the crust for 10 minutes, remove the parchment paper filled with pie weights and place the crust back into the oven for 2-4 minutes (to quickly cook the surface of the crust</li>
<li id="instruction-step-16">Allow the tart shell to cool completely before removing from the pan</li>
</ol>
<h4>Caramel Sauce</h4>
<ol>
<li id="instruction-step-17">In a large sauce pan, combine all the sugar, corn syrup and water</li>
<li id="instruction-step-18">Bring to a boil and cook until it become a dark amber color</li>
<li id="instruction-step-19">Remove the pan from the head and add in the butter and cream</li>
<li id="instruction-step-20">Whisk until smooth and all ingredients are combined</li>
<li id="instruction-step-21">Pour the caramel into a glass jar or bowl and allow it to cool completely before using and storing</li>
<li id="instruction-step-22">(You will have extra sauce and it can be refrigerated and enjoyed over ice cream, drizzled over cakes or just spooned in your mouth 🙂 for 2 weeks!)</li>
</ol>
<h4>Chocolate Ganache</h4>
<ol>
<li id="instruction-step-23">In a small sauce pan, bring the heavy cream to a simmer</li>
<li id="instruction-step-24">Pour the chocolate chips into the heavy cream and allow it to sit for 2 minutes</li>
<li id="instruction-step-25">Whisk the ganache until shiny and smooth</li>
<li id="instruction-step-26">Use immediately or store in an air tight container and refrigerate for 1 week</li>
</ol>
<h4>Assembly</h4>
<ol>
<li id="instruction-step-27">Place your baked tart shell on a serving platter</li>
<li id="instruction-step-28">Cover the surface of the shell with caramel sauce</li>
<li id="instruction-step-29">Allow the caramel sauce to sit for 5 minutes before adding the ganache</li>
<li id="instruction-step-30">Pour melted ganache over the caramel sauce to fill the remaining shell</li>
<li id="instruction-step-31">Allow the ganache to set (refrigerate if you are in a hurry) before adding the garnish</li>
<li id="instruction-step-32">Add shaved chocolate, chocolate pearl and any other garnish you like!</li>
<li id="instruction-step-33">Enjoy</li>
</ol>
		</div>
	</div>






	<div class="tasty-recipes-nutrition">
		<h3 data-tasty-recipes-customization="h3-color.color h3-transform.text-transform">Nutrition</h3>
		<ul>
							<li><strong class="tasty-recipes-label" data-tasty-recipes-customization="body-color.color">Serving Size:</strong> <span data-tasty-recipes-customization="body-color.color" class="tasty-recipes-serving-size">8</span></li>
					</ul>
	</div>


<footer class="tasty-recipes-entry-footer">
	<h3 data-tasty-recipes-customization="footer-heading-color.color h3-transform.text-transform footer-heading.innerText">Did you make this recipe?</h3>
	<div data-tasty-recipes-customization="footer-description-color.color footer-description.innerHTML"><p>Tag <a href="https://www.instagram.com/joyandoliver" target="_blank" rel="noreferrer noopener">@joyandoliver</a> on Instagram</p>
</div>
</footer>



<script>
window.trCommon={"minRating":6,"ajaxurl":"https:\/\/joyoliver.com\/wp-admin\/admin-ajax.php","ratingNonce":"","postId":4111};
window.TastyRecipes = window.TastyRecipes || {};

window.TastyRecipes.smoothScroll = {
init() {
document.addEventListener( 'click', ( e ) => {
let anchor = e.target;
if ( anchor.tagName !== 'A' ) {
anchor = anchor.closest( 'a.tasty-recipes-scrollto' );
}

if ( ! anchor || ! anchor.classList.contains( 'tasty-recipes-scrollto' ) ) {
return;
}

const elementHref = anchor.getAttribute( 'href' );
if ( ! elementHref ) {
return;
}

e.preventDefault();
this.goToSelector( elementHref );
});
},
goToSelector( selector ) {
const element = document.querySelector( selector );
if ( ! element ) {
return;
}
element.scrollIntoView( { behavior: 'smooth' } );
}
};

document.addEventListener(
'DOMContentLoaded',
() => window.TastyRecipes.smoothScroll.init()
);

window.TastyRecipes = window.TastyRecipes || {};
window.TastyRecipes.cookMode = {
wakeLockApi: false,
wakeLock: false,
cookModeSelector: '.tasty-recipes-cook-mode',
init() {
if ("wakeLock" in navigator && "request" in navigator.wakeLock) {
this.wakeLockApi = navigator.wakeLock;
}

const cookModes = document.querySelectorAll(this.cookModeSelector);

if (cookModes.length > 0) {
for (const cookMode of cookModes) {
if (this.wakeLockApi) {
cookMode.querySelector('input[type="checkbox"]').addEventListener("change", event => {
this.checkboxChange(event.target);
}, false);
} else {
cookMode.style.display = "none";
}
}
}
},
checkboxChange(checkbox) {
if (checkbox.checked) {
this.lock();
} else {
this.unlock();
}
},
setCheckboxesState(state) {
const checkboxes = document.querySelectorAll(this.cookModeSelector + ' input[type="checkbox"]');
for (const checkbox of checkboxes) {
checkbox.checked = state;
}
},
async lock() {
try {
this.wakeLock = await this.wakeLockApi.request("screen");
this.wakeLock.addEventListener("release", () => {
this.wakeLock = false;
this.setCheckboxesState(false);
});
this.setCheckboxesState(true);
} catch (error) {
this.setCheckboxesState(false);
}
},
unlock() {
if (this.wakeLock) {
this.wakeLock.release();
this.wakeLock = false;
}
this.setCheckboxesState(false);
}
};

(function(callback) {
if (document.readyState !== "loading") {
callback();
} else {
document.addEventListener("DOMContentLoaded", callback);
}
})(() => {
window.TastyRecipes.cookMode.init();
});



window.TastyRecipes = window.TastyRecipes || {};

window.TastyRecipes.staticTooltip = {
element: null,
tooltipElement: null,
deleting: false,
init( element ) {
if ( this.deleting ) {
return;
}
this.element = element;
this.buildElements();
},
destroy() {
if ( ! this.tooltipElement || this.deleting ) {
return;
}

this.deleting = true;
this.tooltipElement.classList.remove( 'opened' );

setTimeout( () => {
this.tooltipElement.remove();
this.deleting = false;
}, 500 );
},
buildElements() {
const tooltipElement = document.createElement( 'div' );
tooltipElement.classList.add( 'tasty-recipes-static-tooltip');
tooltipElement.setAttribute( 'id', 'tasty-recipes-tooltip' );

const currentTooltipElement = document.getElementById( 'tasty-recipes-tooltip' );
if ( currentTooltipElement ) {
document.body.replaceChild( tooltipElement, currentTooltipElement );
} else {
document.body.appendChild( tooltipElement );
}

this.tooltipElement = document.getElementById( 'tasty-recipes-tooltip' );
},
show() {
if ( ! this.tooltipElement ) {
return;
}

const tooltipTop = this.element.getBoundingClientRect().top
+ window.scrollY
- 10 // 10px offset.
- this.tooltipElement.getBoundingClientRect().height;
const tooltipLeft = this.element.getBoundingClientRect().left
- ( this.tooltipElement.getBoundingClientRect().width / 2 )
+ ( this.element.getBoundingClientRect().width / 2 ) - 1;
const posLeft = Math.max( 10, tooltipLeft );
this.maybeRemoveTail( posLeft !== tooltipLeft );

this.tooltipElement.setAttribute( 'style', 'top:' + tooltipTop + 'px;left:' + posLeft + 'px;' );
this.tooltipElement.classList.add( 'opened' );

},
maybeRemoveTail( removeTail ) {
if ( removeTail ) {
this.tooltipElement.classList.add( 'tr-hide-tail' );
} else {
this.tooltipElement.classList.remove( 'tr-hide-tail' );
}
},
changeMessage( message ) {
if ( ! this.tooltipElement ) {
return;
}
this.tooltipElement.innerHTML = message;
}
};

window.TastyRecipes.ajax = {
sendPostRequest( url, data, success, failure ) {
const xhr = new XMLHttpRequest();
xhr.open( 'POST', url, true );
xhr.send( this.preparePostData( data ) );

xhr.onreadystatechange = () => {
if ( 4 !== xhr.readyState ) {
return;
}
if ( xhr.status === 200 ) {
success( JSON.parse( xhr.responseText ) );
return;
}

failure( xhr );
};

xhr.onerror = () => {
failure( xhr );
};
},
preparePostData( data ) {
const formData = new FormData();

for ( const key in data ) {
formData.append( key, data[key] );
}
return formData;
},
};

window.TastyRecipes.ratings = {
defaultRating: 0,
currentRatingPercentage: 100,
savingRating: false,
init( minRating ) {
this.minRating = minRating;

this.formWatchRating();
this.closeTooltipWhenClickOutside();
this.addBodyClassBasedOnSelectedRating();
this.backwardCompFormRatingPosition();
},
formWatchRating() {
const ratings = document.querySelectorAll('.tasty-recipes-no-ratings-buttons [data-rating]');
if ( ratings.length <= 0 ) {
return;
}
for ( const rating of ratings ) {
rating.addEventListener( 'click', event => {
event.preventDefault();
this.defaultRating = event.target.closest( '.checked' ).dataset.rating;
this.setCheckedStar( event.target );
this.maybeSendRating( this.defaultRating, event.target );
this.setRatingInForm( this.defaultRating );
} );
}
},
closeTooltipWhenClickOutside() {
window.addEventListener( 'click', e => {
// Bailout (don't remove the tooltip) when the clicked element is a rating star, or it's the tooltip itself.
if ( e.target.closest( '.tasty-recipes-rating' ) || e.target.classList.contains( 'tasty-recipes-static-tooltip' ) ) {
return;
}

window.TastyRecipes.staticTooltip.destroy();
} );
},
 setRatingInForm( rating ) {
const ratingInput = document.querySelector( '#respond .tasty-recipes-rating[value="' + rating + '"]' );
if ( ! ratingInput ) {
return;
}
ratingInput.click();
},
addBodyClassBasedOnSelectedRating() {
const ratingInputs = document.querySelectorAll( 'input.tasty-recipes-rating' );
if ( ! ratingInputs ) {
return;
}
for ( const ratingInput of ratingInputs ) {
ratingInput.addEventListener( 'click', currentEvent => {
const selectedRating = currentEvent.target.getAttribute( 'value' );
this.handleBodyClassByRating( selectedRating );
this.toggleCommentTextareaRequired( selectedRating );
} );
}
},
handleBodyClassByRating( rating ) {
if ( rating < this.minRating ) {
document.body.classList.remove( 'tasty-recipes-selected-minimum-rating' );
return;
}
document.body.classList.add( 'tasty-recipes-selected-minimum-rating' );
},
toggleCommentTextareaRequired( rating ) {
const commentTextarea = document.getElementById( 'comment' );
if ( ! commentTextarea ) {
return;
}

if ( rating < this.minRating ) {
commentTextarea.setAttribute( 'required', '' );
return;
}

commentTextarea.removeAttribute( 'required' );
},
maybeSendRating( rating, element ) {
if ( this.savingRating === rating ) {
return;
}

this.savingRating = rating;
window.TastyRecipes.staticTooltip.init( element );

const recipeCardElement = element.closest( '.tasty-recipes' );
if ( ! recipeCardElement ) {
window.TastyRecipes.staticTooltip.destroy();
return;
}

window.TastyRecipes.ajax.sendPostRequest(
window.trCommon.ajaxurl,
{
action: 'tasty_recipes_save_rating',
rating,
nonce: window.trCommon.ratingNonce,
post_id: window.trCommon.postId,
recipe_id: recipeCardElement.dataset.trId,
},
( response ) => {
window.TastyRecipes.staticTooltip.changeMessage( response.data.message );
window.TastyRecipes.staticTooltip.show();
this.updateAverageText( response.data, recipeCardElement );
this.maybeFillCommentForm( response.data );

// Hide the tooltip after 5 seconds.
setTimeout( () => {
this.maybeResetTooltip( recipeCardElement, response.data, rating );
}, 5000 );
},
() => {
this.resetTooltip( recipeCardElement );
}
);
},
updateAverageText( data, recipeCardElement ) {
if ( ! data.average ) {
return;
}
this.setRatingPercent( data );

if ( ! data.count ) {
return;
}

const quickLink = document.querySelector( '.tasty-recipes-rating-link' );
if ( quickLink ) {
this.setTextInContainer( quickLink, data );
this.setPartialStar( quickLink );
}

const cardStars = recipeCardElement.querySelector( '.tasty-recipes-ratings-buttons' );
cardStars.dataset.trDefaultRating = data.average;
this.setTextInContainer( recipeCardElement.querySelector( '.tasty-recipes-rating' ), data );
},
setTextInContainer( container, data ) {
if ( ! container ) {
return;
}

if ( data.label ) {
const ratingLabelElement = container.querySelector( '.rating-label' );
if ( ratingLabelElement ) {
ratingLabelElement.innerHTML = data.label;
}
return;
}

const averageElement = container.querySelector( '.average' );
if ( averageElement ) {
averageElement.textContent = data.average;
}

const countElement = container.querySelector( '.count' );
if ( countElement ) {
countElement.textContent = data.count;
}
},
setPartialStar( container ) {
const highestStar = container.querySelector( '[data-rating="' + Math.ceil( this.defaultRating ) + '"]' );
if ( highestStar ) {
highestStar.dataset.trClip = this.currentRatingPercentage;
}
},
setRatingPercent( data ) {
this.defaultRating = data.average.toFixed( 1 );
const parts = data.average.toFixed( 2 ).toString().split( '.' );
this.currentRatingPercentage = parts[1] ? parts[1] : 100;
if ( this.currentRatingPercentage === '00' ) {
this.currentRatingPercentage = 100;
}
},
setCheckedStar( target ) {
const cardRatingContainer = target.closest( '.tasty-recipes-ratings-buttons' );
const selectedRatingElement = cardRatingContainer.querySelector( '[data-tr-checked]' );
if ( selectedRatingElement ) {
delete selectedRatingElement.dataset.trChecked;
}

const thisStar = target.closest( '.tasty-recipes-rating' );
thisStar.dataset.trChecked = 1;
thisStar.querySelector( '[data-tr-clip]' ).dataset.trClip = 100;
},
maybeFillCommentForm( data ) {
if ( ! data.comment || ! data.comment.content ) {
return;
}

const commentForm = document.querySelector( '#commentform' );
if ( ! commentForm ) {
return;
}

const commentBox = commentForm.querySelector( '[name=comment]' );
if ( ! commentBox || commentBox.value ) {
return;
}

// Add comment details for editing.
commentBox.innerHTML = data.comment.content;
if ( data.comment.name ) {
commentForm.querySelector( '[name=author]' ).value = data.comment.name;
commentForm.querySelector( '[name=email]' ).value = data.comment.email;
}
},
maybeResetTooltip( recipeCardElement, data, rating ) {
if ( this.savingRating === rating ) {
this.resetTooltip( recipeCardElement, data );
}
},
resetTooltip( recipeCardElement, data ) {
window.TastyRecipes.staticTooltip.destroy();
this.savingRating = false;

// Reset the default rating.
const cardRatingContainer = recipeCardElement.querySelector( '.tasty-recipes-ratings-buttons' );
if ( cardRatingContainer ) {
this.defaultRating = ( data && data.average ) ? data.average.toFixed(1) : cardRatingContainer.dataset.trDefaultRating;
cardRatingContainer.dataset.trDefaultRating = this.defaultRating;

this.resetSelectedStar( cardRatingContainer, data );
}
},
resetSelectedStar( cardRatingContainer ) {
const selectedRatingElement = cardRatingContainer.querySelector( '[data-rating="' + Math.ceil( this.defaultRating ) + '"]' );
if ( selectedRatingElement ) {
selectedRatingElement.querySelector( '[data-tr-clip]' ).dataset.trClip = this.currentRatingPercentage;
selectedRatingElement.parentNode.dataset.trChecked = 1;
}

const previousSelectedElement= cardRatingContainer.querySelector( '[data-tr-checked]' );
if ( previousSelectedElement ) {
const currentSelectedRating = previousSelectedElement.querySelector('[data-rating]');
if ( currentSelectedRating !== selectedRatingElement ) {
delete previousSelectedElement.dataset.trChecked;
}
}
},
backwardCompFormRatingPosition() {
const ratingsButtons = document.querySelector( '#respond .tasty-recipes-ratings-buttons, #tasty-recipes-comment-rating .tasty-recipes-ratings-buttons' );
if ( ! ratingsButtons ) {
return;
}
const ratingsButtonsStyles = window.getComputedStyle(ratingsButtons);
if ( ! ratingsButtonsStyles.display.includes( 'flex' ) ) {
ratingsButtons.style.direction = 'rtl';
}

if ( typeof tastyRecipesRating !== 'undefined' ) {
// Select the rating that was previously selected in admin.
ratingsButtons.querySelector( '.tasty-recipes-rating[value="' + tastyRecipesRating + '"]' ).checked = true;
}

const ratingSpans = ratingsButtons.querySelectorAll( '.tasty-recipes-rating' );
for (const ratingSpan of ratingSpans) {
ratingSpan.addEventListener( 'click', event => {
if ( ratingSpan === event.target ) {
return;
}
ratingSpan.previousElementSibling.click();
} );
}
}
};

(function(callback) {
if (document.readyState !== "loading") {
callback();
} else {
window.addEventListener( 'load', callback );
}
})(() => {
window.TastyRecipes.ratings.init( window.trCommon ? window.trCommon.minRating : 4 );
});
</script></div>


<figure class="wp-block-image size-large"><img decoding="async" width="726" height="307" data-pin-title="Chocolate Caramel Tart" src="https://joyoliver.com/wp-content/uploads/2019/05/Joy-Oliver-Signature.png" alt="" class="wp-image-4929" srcset="https://joyoliver.com/wp-content/uploads/2019/05/Joy-Oliver-Signature.png 726w, https://joyoliver.com/wp-content/uploads/2019/05/Joy-Oliver-Signature-410x173.png 410w" sizes="(max-width: 726px) 100vw, 726px" /></figure>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fjoyoliver.com%2Fchocolate-caramel-tart%2F&amp;linkname=Chocolate%20Caramel%20Tart" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fjoyoliver.com%2Fchocolate-caramel-tart%2F&amp;linkname=Chocolate%20Caramel%20Tart" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pinterest" href="https://www.addtoany.com/add_to/pinterest?linkurl=https%3A%2F%2Fjoyoliver.com%2Fchocolate-caramel-tart%2F&amp;linkname=Chocolate%20Caramel%20Tart" title="Pinterest" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_tumblr" href="https://www.addtoany.com/add_to/tumblr?linkurl=https%3A%2F%2Fjoyoliver.com%2Fchocolate-caramel-tart%2F&amp;linkname=Chocolate%20Caramel%20Tart" title="Tumblr" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_yummly" href="https://www.addtoany.com/add_to/yummly?linkurl=https%3A%2F%2Fjoyoliver.com%2Fchocolate-caramel-tart%2F&amp;linkname=Chocolate%20Caramel%20Tart" title="Yummly" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fjoyoliver.com%2Fchocolate-caramel-tart%2F&#038;title=Chocolate%20Caramel%20Tart" data-a2a-url="https://joyoliver.com/chocolate-caramel-tart/" data-a2a-title="Chocolate Caramel Tart"></a></p>]]></content:encoded>
			<wfw:commentRss>https://joyoliver.com/chocolate-caramel-tart/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
