{"id":2145,"date":"2025-10-24T06:00:00","date_gmt":"2025-10-24T10:00:00","guid":{"rendered":"http:\/\/www.theleangreenbean.com\/?p=2145"},"modified":"2025-10-24T21:00:55","modified_gmt":"2025-10-25T01:00:55","slug":"shrimp-cobb-salad","status":"publish","type":"post","link":"https:\/\/www.theleangreenbean.com\/shrimp-cobb-salad\/","title":{"rendered":"Shrimp Cobb Salad"},"content":{"rendered":"\n<p><em>This Shrimp Cobb Salad comes together quickly and is perfect for a fresh, healthy lunch or dinner! Customize the toppings to your liking and top with a light vinaigrette. <\/em><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"1020\" src=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2011\/05\/shrimp-cobb-salad-3.jpg\" alt=\"shrimp cobb salad with bacon, avocado, egg, tomato and onion\" class=\"wp-image-88747\" title=\"\" srcset=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2011\/05\/shrimp-cobb-salad-3.jpg 680w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2011\/05\/shrimp-cobb-salad-3-133x200.jpg 133w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2011\/05\/shrimp-cobb-salad-3-367x550.jpg 367w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><em>*Originally published 5\/2011. Updated 10\/2025*<\/em><\/p>\n\n\n\n<p class=\"has-text-align-left\">Hi friends!<br>Popping in to share this quick and easy Shrimp Cobb Salad for an easy lunch or dinner. Shrimp is one of my favorite quick-cooking proteins and cobb salads are perfect for packing in a ton of healthy ingredients. If you don&#8217;t like shrimp, try my <a href=\"https:\/\/www.theleangreenbean.com\/steak-cobb-salad\/\">Steak Cobb Salad<\/a>.<\/p>\n\n\n\n<p>If you&#8217;re on a salad kick and need more ideas, try:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.theleangreenbean.com\/mediterranean-chopped-salad\/\">Mediterranean Chopped Salad<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.theleangreenbean.com\/kale-and-white-bean-salad\/\">Kale and White Bean Salad<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.theleangreenbean.com\/best-fall-salad-recipes\/\">25+ Fall Salad Recipes<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.theleangreenbean.com\/roasted-squash-fall-salad\/\">Roasted Squash Fall Salad<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.theleangreenbean.com\/loaded-strawberry-spinach-salad\/\">Loaded Strawberry Spinach Salad<\/a><\/li>\n<\/ul>\n\n\n\n<p>Or try this <a href=\"https:\/\/www.theleangreenbean.com\/spice-it-up-salad-topping-idea\/\">Ultimate List of Salad Topping Ideas<\/a> for some inspiration!<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Why You&#8217;ll Love This Healthy Shrimp Cobb Salad<\/h2>\n\n\n\n<p>This shrimp cobb salad is easy to love for a lot of reasons:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Fully customizable. Feel free to swap out any toppings you don&#8217;t like or add your own.<\/li>\n\n\n\n<li>Great for meal prep &#8211; All the components of this salad can be prepped ahead of time which makes it quick and easy to assemble at meal time.<\/li>\n\n\n\n<li>Has protein and healthy fats &#8211; The shrimp is an easy quick-cooking protein and the avocado and salad dressing, especially homemade, both add healthy fats to help boost satiety.<\/li>\n\n\n\n<li>It&#8217;s heart-healthy, packed with lean protein and veggies and healthy fats.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Shrimp Cobb Salad Ingredients<\/h2>\n\n\n\n<p>To make this salad, you&#8217;ll need:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Shrimp &#8211; Feel free to use any size you prefer<\/li>\n\n\n\n<li>Bacon &#8211; I prefer to cook the bacon myself and chop it up but you could use bacon bits if you want<\/li>\n\n\n\n<li>Hard boiled eggs &#8211; make your own or buy them pre-bought. Here&#8217;s <a href=\"https:\/\/letthekidscook.com\/hard-boiled-eggs-instant-pot\/\" target=\"_blank\" rel=\"noopener\">how to make hard-boiled eggs in the instant pot<\/a>.<\/li>\n\n\n\n<li>Red onion &#8211; feel free to swap green, white, yellow onions etc for a milder flavor<\/li>\n\n\n\n<li>Tomato &#8211; grape or cherry tomatoes halved or quartered work well<\/li>\n\n\n\n<li>Avocado<\/li>\n\n\n\n<li>Feta &#8211; I use crumbled feta. It does have a stronger flavor so feel free to swap with a different cheese if you prefer<\/li>\n\n\n\n<li>Dressing &#8211; I like a lighter vinaigrette like the one I share below but you could use something creamy like ranch, etc if you want!<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"1020\" src=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2011\/05\/shrimp-cobb-salad-1-1.jpg\" alt=\"healthy shrimp cobb salad with avocado and hard boiled egg\" class=\"wp-image-88976\" title=\"\" srcset=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2011\/05\/shrimp-cobb-salad-1-1.jpg 680w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2011\/05\/shrimp-cobb-salad-1-1-133x200.jpg 133w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2011\/05\/shrimp-cobb-salad-1-1-367x550.jpg 367w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/figure>\n<\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">How To Cook Shrimp<\/h2>\n\n\n\n<p class=\"has-text-align-left\">You can choose to prepare the shrimp for this salad whatever way you prefer. A few ideas:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Sauteed &#8211; This is the method I typically use. Just heat some butter or oil in a skillet, add shrimp and seasonings and cook for 4-6 minutes, until shrimp are pink.<\/li>\n\n\n\n<li>Grilled &#8211; If you have the grill fired up, thread the shrimp onto a few skewers, season and grill 2-3 minutes per side.<\/li>\n\n\n\n<li>Baked &#8211; You can also bake them in the oven. Here&#8217;s a recipe for <a href=\"https:\/\/www.walderwellness.com\/baked-shrimp\/\" target=\"_blank\" rel=\"noopener\">Oven-Baked Shrimp<\/a>. <\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">How To Make An Easy Shrimp Cobb Salad<\/h2>\n\n\n\n<p>To make this salad:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cook the bacon, eggs and shrimp via your preferred method. To save time, you can grab pre-cooked shrimp and\/or hard-boiled eggs. <\/li>\n\n\n\n<li>Start with a bed of lettuce. Feel free to grab a bag of packaged salad greens to save time!<\/li>\n\n\n\n<li>Add toppings. In a traditional cobb salad, ingredients are grouped into sections or rows on top of the lettuce but you can skip this step and combine everything mixed together on top.<\/li>\n\n\n\n<li>Top with dressing &#8211; homemade or store-bought.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Shrimp Cobb Salad Dressing Options<\/h2>\n\n\n\n<p>The dressing options for this salad are endless. I typically use a maple mustard vinaigrette to keep it light but a lemon garlic dressing would also be great. If you want something a little more robust, try ranch or blue cheese to add some creaminess to the salad.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"1020\" src=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2011\/05\/shrimp-cobb-salad-4.jpg\" alt=\"sauteed shrimp cobb salad\" class=\"wp-image-88977\" title=\"\" srcset=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2011\/05\/shrimp-cobb-salad-4.jpg 680w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2011\/05\/shrimp-cobb-salad-4-133x200.jpg 133w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2011\/05\/shrimp-cobb-salad-4-367x550.jpg 367w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Cobb Salad Protein <\/h2>\n\n\n\n<p>The great thing about the cobb salad is that it pairs well with almost any protein. If you don&#8217;t like shrimp, try:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Steak &#8211; I&#8217;ve used leftover flank steak before!<\/li>\n\n\n\n<li>Chicken &#8211; This is a great way to transform leftover grilled chicken.<\/li>\n\n\n\n<li>Tofu &#8211; My <a href=\"https:\/\/www.theleangreenbean.com\/honey-garic-air-fryer-tofu\/\">Honey Garlic Air Fryer Tofu<\/a> would work well on this salad. If you want to keep it vegetarian, you could swap the bacon for some beans<\/li>\n\n\n\n<li>Salmon &#8211; If you don&#8217;t want shrimp but still want seafood, try adding my <a href=\"https:\/\/www.theleangreenbean.com\/air-fryer-salmon-bites\/\">Air Fryer Salmon Bites<\/a>.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Shrimp Cobb Salad Meal Prep &amp; Storage<\/h2>\n\n\n\n<p>This salad is PERFECT for meal prep! Prep all of the components ahead of time and store separately until you&#8217;re ready to serve. Shrimp can be cooked and stored in a glass container in the fridge for up to 3 days. Same with bacon and hard-boiled eggs. They can be sliced\/chopped ahead of time as well. <\/p>\n\n\n\n<p>Save the avocado to slice right before serving so it doesn&#8217;t turn brown but the tomatoes and onions could be cut ahead of time and stored as well.<\/p>\n\n\n\n<p>To prep your lettuce ahead of time, chop, wash and spin dry and store in a bag with a paper towel to absorb excess moisture and squeeze all the air out before sealing the bag.<\/p>\n\n\n\n<p>If you choose to make homemade dressing, that can be prepped and stored in a mason jar in the fridge. Just give it a good shake before serving.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Shrimp Cobb Salad Tips and Tricks<\/h2>\n\n\n\n<p>A few tips and tricks:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Don&#8217;t overcook your shrimp! When shrimp take on a pinkish color and form a &#8220;C&#8221; shape, they&#8217;re done. If they curl up tight into an &#8220;O&#8221; shape, they are overcooked.<\/li>\n\n\n\n<li>To keep your lettuce crisp, chop, wash and spin dry, then store in a bag. Add a paper towel to soak up the excess moisture and squeeze the air out before sealing the bag shut.<\/li>\n\n\n\n<li>Vary the veggies &#8211; Salad is a great way to utilize veggies that are in season. Try nice ripe tomatoes in the summer. In the Fall, add some roasted squash!<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Shrimp Cobb Salad Recipe<\/h2>\n\n\n\n<p>Here&#8217;s the recipe I use:<\/p>\n\n\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.theleangreenbean.com\/shrimp-cobb-salad\/print\/88982\/\">Print<\/a><span class=\"tasty-recipes-jump-target\" id=\"tasty-recipes-88982-jump-target\" style=\"display:block;padding-top:2px;margin-top:-2px;\"><\/span><div id=\"tasty-recipes-88982\" data-tr-id=\"88982\" class=\"tasty-recipes tasty-recipes-88982 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\">Shrimp Cobb Salad<\/h2>\n<div class=\"tasty-recipes-image-button-container\">\n\t\t\t<div class=\"tasty-recipes-image\">\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2011\/05\/shrimp-cobb-salad-6-copy-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"shrimp cobb salad\" data-pin-nopin=\"true\" title=\"\">\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.theleangreenbean.com\/shrimp-cobb-salad\/print\/88982\/\" 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 Shrimp Cobb Salad comes together quickly and is perfect for a fresh, healthy lunch or dinner! Customize the toppings to your liking and top with a light vinaigrette.\u00a0<\/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.theleangreenbean.com\/about-me\/\">Lindsay<\/a><\/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\">serve 4<\/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<p>For the shrimp<\/p>\n<ul>\n<li><span data-amount=\"1\">1<\/span> pound raw shrimp, peeled, devined and thawed<\/li>\n<li><span data-amount=\"2\" data-unit=\"tbsp\">2 Tbsp<\/span> butter (or oil if you prefer)<\/li>\n<li><span data-amount=\"1\" data-unit=\"tsp\">1 tsp<\/span> garlic powder<\/li>\n<li><span data-amount=\"1\" data-unit=\"tsp\">1 tsp<\/span> paprika<\/li>\n<li><span data-amount=\"1\" data-unit=\"tsp\">1 tsp<\/span> salt<\/li>\n<\/ul>\n<p>For the salad:<\/p>\n<ul>\n<li><span data-amount=\"4\">4<\/span>&#8211;<span data-amount=\"6\">6<\/span>\u00a0 hard boiled eggs, sliced<\/li>\n<li><span data-amount=\"1\">1<\/span> medium avocado, diced<\/li>\n<li><span data-amount=\"8\">8<\/span> strips bacon, cooked and chopped<\/li>\n<li><span data-amount=\"1\" data-unit=\"cup\">1 cup<\/span> diced red onion<\/li>\n<li><span data-amount=\"1\" data-unit=\"pint\">1 pint<\/span> cherry or grape tomatoes, halved<\/li>\n<li><span data-amount=\"0.33333333333333\" data-unit=\"cup\">1\/3 cup<\/span> crumbled feta<\/li>\n<li><span data-amount=\"8\" data-unit=\"cup\">8 cups<\/span> mixed greens or leaf lettuce<\/li>\n<\/ul>\n<p>Optional dressing:<\/p>\n<ul>\n<li><span data-amount=\"3\">3<\/span> T oil (I use avocado oil)<\/li>\n<li><span data-amount=\"3\" data-unit=\"tbsp\">3 Tbsp<\/span> red wine vinegar<\/li>\n<li><span data-amount=\"1\" data-unit=\"tbsp\">1 Tbsp<\/span> dijon mustard<\/li>\n<li><span data-amount=\"1\" data-unit=\"tbsp\">1 Tbsp<\/span> maple syrup<\/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_696e53a168903_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_696e53a168903_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<ol>\n<li id=\"instruction-step-1\">Melt butter or heat oil in a large pan. Add shrimp and seasonings and saute over medium heat for 4-6 minutes until shrimp are just pink and form a C shape.<\/li>\n<li id=\"instruction-step-2\">Place 2 cups of lettuce in each bowl.\u00a0<\/li>\n<li id=\"instruction-step-3\">Divide toppings evenly among 4 salads and add toppings in rows of shrimp, hard-boiled eggs, avocado, bacon, onion and tomatoes.<\/li>\n<li id=\"instruction-step-4\">Top with crumbled feta.<\/li>\n<li id=\"instruction-step-5\">Combine oil, vinegar, mustard and maple syrup in a jar. Seal and shake to combine. Taste and add salt and\/or pepper if desired. You can also double the dressing recipe if you like more dressing!<\/li>\n<\/ol>\n\t\t<\/div>\n\t<\/div>\n\n\n\n\n\n\n\n\n<footer class=\"tasty-recipes-entry-footer\">\n\t<h3 data-tasty-recipes-customization=\"footer-heading-color.color h3-transform.text-transform footer-heading.innerText\">Did you make this recipe?<\/h3>\n\t<div data-tasty-recipes-customization=\"footer-description-color.color footer-description.innerHTML\"><p>Tag <a href=\"https:\/\/www.instagram.com\/theleangreenbean\" target=\"_blank\" rel=\"noreferrer noopener\">@theleangreenbean<\/a> on Instagram<\/p><\/div>\n<\/footer>\n\n\n\n<script>\nwindow.trCommon={\"minRating\":6,\"ajaxurl\":\"https:\\\/\\\/www.theleangreenbean.com\\\/wp-admin\\\/admin-ajax.php\",\"ratingNonce\":\"\",\"postId\":2145};\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\n\n<p class=\"has-text-align-left\"><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Shrimp Cobb Salad FAQs<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">What is the best dressing for shrimp cobb salad<\/h3>\n\n\n\n<p>If you&#8217;re looking for a lighter option, most vinaigrette dressings would be great. Try honey mustard or balsamic vinaigrette. If you want something creamier, ranch or blue cheese would add great flavor to the salad!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Can I make shrimp cobb salad ahead of time?<\/h3>\n\n\n\n<p>Yes! All the components of this salad can be prepped ahead of time, making it quick and easy to assemble when you&#8217;re ready to eat.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How do I grill shrimp for cobb salad?<\/h3>\n\n\n\n<p>The easiest way to grill shrimp is to thread them onto skewers, season and grill 2-3 minutes per side.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Is shrimp cobb salad healthy?<\/h3>\n\n\n\n<p>Yes. This salad is packed with lean protein, vegetables and healthy fats making it a great balanced meal option for lunch or dinner. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Can I use frozen shrimp in cobb salad?<\/h3>\n\n\n\n<p>Shrimp cooks best from a thawed state. Feel free to use frozen shrimp, just thaw before cooking either under cold running water or in refrigerator overnight.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"453\" src=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2011\/05\/shrimp-cobb-salad-5.jpg\" alt=\"healthy shrimp cobb salad with avocado and feta\" class=\"wp-image-88987\" title=\"\" srcset=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2011\/05\/shrimp-cobb-salad-5.jpg 680w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2011\/05\/shrimp-cobb-salad-5-250x167.jpg 250w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2011\/05\/shrimp-cobb-salad-5-550x366.jpg 550w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">How long does shrimp cobb salad last in the fridge?<\/h3>\n\n\n\n<p>You can store the components separately for 3-4 days. Once you combine them into a salad, it&#8217;s best to eat within a day to avoid things getting brown or soggy.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What toppings go best with shrimp cobb salad?<\/h3>\n\n\n\n<p>Traditional cobb salad toppings include, bacon, hard boiled eggs, avocado, onion, tomato and crumbled cheese like blue cheese or feta. You can make it seasonal by adding things like roasted squash, corn, apples or berries depending on the season.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Can I make shrimp cobb salad without eggs?<\/h3>\n\n\n\n<p>Yes, feel free to omit the hard boiled eggs from this recipe.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What&#8217;s the difference between shrimp cobb salad and a regular cobb salad?<\/h3>\n\n\n\n<p>The biggest difference is the protein. The most traditional protein for a cobb salad is chicken breast or turkey, but this recipe uses shrimp and almost any protein source would work well on this salad.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Can I meal prep shrimp cobb salad for lunches?<\/h3>\n\n\n\n<p>Yes! This salad is perfect for meal prep because all the components can be cooked and prepped ahead of time!<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"1500\" src=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2011\/05\/shrimp-cobb-salad.jpg\" alt=\"This Shrimp Cobb Salad comes together quickly and is perfect for a fresh, healthy lunch or dinner! Customize the toppings to your liking and top with a light vinaigrette. \" class=\"wp-image-88988\" title=\"\" srcset=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2011\/05\/shrimp-cobb-salad.jpg 600w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2011\/05\/shrimp-cobb-salad-80x200.jpg 80w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2011\/05\/shrimp-cobb-salad-220x550.jpg 220w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-left\">Enjoy!<br>&#8211;Lindsay&#8211;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This Shrimp Cobb Salad comes together quickly and is perfect for a fresh, healthy lunch or dinner! Customize the toppings to your liking and top with a light vinaigrette. *Originally published 5\/2011. Updated 10\/2025* Hi friends!Popping in to share this quick and easy Shrimp Cobb Salad for an easy lunch or dinner. Shrimp is one [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":88973,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[76,247,75,69],"tags":[115,220,123,125,202,146],"class_list":{"0":"post-2145","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-dinner","8":"category-gluten-free","9":"category-lunch","10":"category-soup-salad","11":"tag-avocado","12":"tag-bacon","13":"tag-egg","14":"tag-feta","15":"tag-shrimp","16":"tag-tomato","17":"entry"},"_links":{"self":[{"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/posts\/2145","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/comments?post=2145"}],"version-history":[{"count":6,"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/posts\/2145\/revisions"}],"predecessor-version":[{"id":88989,"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/posts\/2145\/revisions\/88989"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/media\/88973"}],"wp:attachment":[{"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/media?parent=2145"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/categories?post=2145"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/tags?post=2145"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}