{"id":2273,"date":"2026-05-16T01:08:02","date_gmt":"2026-05-16T01:08:02","guid":{"rendered":"https:\/\/marilynrecipes.com\/?p=2273"},"modified":"2026-05-16T01:08:02","modified_gmt":"2026-05-16T01:08:02","slug":"pasta-salad-for-summer","status":"publish","type":"post","link":"https:\/\/marilynrecipes.com\/index.php\/2026\/05\/16\/pasta-salad-for-summer\/","title":{"rendered":"Pasta Salad for Summer Fresh, Colorful, and Perfect for Sunny Days"},"content":{"rendered":"\n<p>Summer always brings me back to the simple joy of gathering around a big table with family, laughter, and bowls full of fresh food. One recipe I make again and again during warm weather is Pasta Salad for Summer. It\u2019s light, vibrant, satisfying, and incredibly easy to prepare ahead of time. I love how this Pasta Salad for Summer fits every occasion, from backyard lunches to picnics and busy weeknight dinners.<\/p>\n\n\n\n<p>Hi\ud83d\udc4b I\u2019m MARILYN a 34-year-old FROM UNITED KINGDOM Cooking is my passion, and I love sharing delicious, easy-to-follow recipes. Join me on marilynrecipes.com to explore a world of culinary delights, from comforting classics to innovative creations. Let&#8217;s make cooking fun and enjoyable for everyone! Cooking is about more than just food it\u2019s about sharing stories and making memories.<\/p>\n\n\n\n<p>I still remember the first time I made this Pasta Salad for Summer for a family barbecue. I wanted something refreshing that wouldn\u2019t feel too heavy in the heat. I opened my fridge, grabbed crisp vegetables, a handful of herbs, pasta, and a simple homemade dressing. The result surprised everyone at the table. My nieces asked for seconds, my sister asked for the recipe, and suddenly this Pasta Salad for Summer became a family tradition.<\/p>\n\n\n\n<p>Now I make it all season long because it works with almost everything. Grilled chicken, burgers, seafood, or even just crusty bread beside it this dish always shines. I especially love how colorful this Pasta Salad for Summer looks on the table. Bright tomatoes, crunchy cucumbers, creamy cheese, and fresh herbs create the kind of dish that instantly feels cheerful.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/marilynrecipes.com\/wp-content\/uploads\/2026\/05\/RECIPES_Pasta_Salad_for_Summer_in_a_large_rustic_ceramic_bowl_c_13d48af4-3288-49e2-8e13-b967d668e32e.png\" alt=\"\" class=\"wp-image-2289\" srcset=\"https:\/\/marilynrecipes.com\/wp-content\/uploads\/2026\/05\/RECIPES_Pasta_Salad_for_Summer_in_a_large_rustic_ceramic_bowl_c_13d48af4-3288-49e2-8e13-b967d668e32e.png 1024w, https:\/\/marilynrecipes.com\/wp-content\/uploads\/2026\/05\/RECIPES_Pasta_Salad_for_Summer_in_a_large_rustic_ceramic_bowl_c_13d48af4-3288-49e2-8e13-b967d668e32e-300x300.png 300w, https:\/\/marilynrecipes.com\/wp-content\/uploads\/2026\/05\/RECIPES_Pasta_Salad_for_Summer_in_a_large_rustic_ceramic_bowl_c_13d48af4-3288-49e2-8e13-b967d668e32e-150x150.png 150w, https:\/\/marilynrecipes.com\/wp-content\/uploads\/2026\/05\/RECIPES_Pasta_Salad_for_Summer_in_a_large_rustic_ceramic_bowl_c_13d48af4-3288-49e2-8e13-b967d668e32e-768x768.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The best part is how flexible it is. I can prepare Pasta Salad for Summer ahead of time, store it in the fridge, and enjoy stress-free meals for days. During busy summer weeks, recipes like this make life easier and tastier.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why I Love Making This Recipe<\/h2>\n\n\n\n<p>I love recipes that feel effortless but still impress everyone. This Pasta Salad for Summer does exactly that. It comes together quickly, uses simple ingredients, and tastes even better after chilling.<\/p>\n\n\n\n<p>Another reason I adore this recipe is its freshness. Summer vegetables taste amazing when they\u2019re crisp and juicy. The dressing lightly coats everything without overpowering the ingredients. Every bite tastes cool, bright, and satisfying.<\/p>\n\n\n\n<p>I also appreciate how affordable this recipe is. Pasta, vegetables, herbs, and a few pantry staples turn into a beautiful meal that feeds a crowd. Whenever I host friends during summer, this recipe saves me time while still looking gorgeous on the table.<\/p>\n\n\n\n<p>This Pasta Salad for Summer also travels beautifully. I often pack it for picnics, beach lunches, or family road trips because it stays delicious even after a few hours in a cooler bag.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ingredients &amp; Little Kitchen Secrets<\/h2>\n\n\n\n<p>The secret to a truly delicious Pasta Salad for Summer starts with properly cooked pasta. I always cook it just until al dente because soft pasta absorbs too much dressing and loses texture after chilling.<\/p>\n\n\n\n<p>I also rinse the pasta under cold water immediately after draining it. This stops the cooking process and keeps the salad cool and refreshing.<\/p>\n\n\n\n<p>For vegetables, I use:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cherry tomatoes<\/li>\n\n\n\n<li>Cucumber<\/li>\n\n\n\n<li>Red onion<\/li>\n\n\n\n<li>Bell peppers<\/li>\n\n\n\n<li>Black olives<\/li>\n<\/ul>\n\n\n\n<p>I love adding feta cheese because it brings creaminess and a salty bite that balances the fresh vegetables perfectly.<\/p>\n\n\n\n<p>Fresh herbs completely transform this Pasta Salad for Summer. Basil and parsley make every bite taste garden-fresh.<\/p>\n\n\n\n<p>For the dressing, I whisk together olive oil, lemon juice, red wine vinegar, garlic, oregano, salt, and black pepper. It\u2019s simple but incredibly flavorful.<\/p>\n\n\n\n<p>One of my favorite little kitchen secrets is letting the salad chill for at least one hour before serving. The flavors blend beautifully, and the pasta absorbs just enough dressing to become irresistible.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How I Make It, Step by Step<\/h2>\n\n\n\n<p>I start by bringing a large pot of salted water to a boil. Then I cook the rotini pasta until perfectly al dente. I drain it and rinse it under cold water until completely cool.<\/p>\n\n\n\n<p>While the pasta cools, I chop all the vegetables into bite-sized pieces. I slice the cherry tomatoes in half, dice the cucumber, finely chop the red onion, and cut the peppers into small cubes.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/marilynrecipes.com\/wp-content\/uploads\/2026\/05\/RECIPES_Pasta_Salad_for_Summer_in_a_large_rustic_ceramic_bowl_c_143e4f8c-f012-42bc-9e93-788375b86848.png\" alt=\"\" class=\"wp-image-2288\" srcset=\"https:\/\/marilynrecipes.com\/wp-content\/uploads\/2026\/05\/RECIPES_Pasta_Salad_for_Summer_in_a_large_rustic_ceramic_bowl_c_143e4f8c-f012-42bc-9e93-788375b86848.png 1024w, https:\/\/marilynrecipes.com\/wp-content\/uploads\/2026\/05\/RECIPES_Pasta_Salad_for_Summer_in_a_large_rustic_ceramic_bowl_c_143e4f8c-f012-42bc-9e93-788375b86848-300x300.png 300w, https:\/\/marilynrecipes.com\/wp-content\/uploads\/2026\/05\/RECIPES_Pasta_Salad_for_Summer_in_a_large_rustic_ceramic_bowl_c_143e4f8c-f012-42bc-9e93-788375b86848-150x150.png 150w, https:\/\/marilynrecipes.com\/wp-content\/uploads\/2026\/05\/RECIPES_Pasta_Salad_for_Summer_in_a_large_rustic_ceramic_bowl_c_143e4f8c-f012-42bc-9e93-788375b86848-768x768.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Next, I make the dressing. I whisk olive oil, lemon juice, red wine vinegar, minced garlic, oregano, salt, and black pepper in a small bowl until smooth and glossy.<\/p>\n\n\n\n<p>Then I combine the pasta, vegetables, olives, feta cheese, and herbs in a large mixing bowl. I pour the dressing over everything and gently toss until evenly coated.<\/p>\n\n\n\n<p>I always taste the salad before chilling it. Sometimes I add extra lemon juice for brightness or another sprinkle of salt to wake up the flavors.<\/p>\n\n\n\n<p>After that, I cover the bowl and refrigerate the Pasta Salad for Summer for at least one hour. The chilling time makes a huge difference.<\/p>\n\n\n\n<p>Before serving, I toss it again and garnish with fresh basil leaves and extra feta cheese.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How I Serve It at Home<\/h2>\n\n\n\n<p>I serve this Pasta Salad for Summer in so many different ways throughout the season.<\/p>\n\n\n\n<p>For casual lunches, I pair it with iced lemonade and grilled chicken. During family cookouts, I place it beside burgers, kebabs, or grilled corn.<\/p>\n\n\n\n<p>When I want a lighter dinner, I enjoy a large bowl with crusty bread and fresh fruit. Sometimes I even add grilled shrimp or sliced avocado on top for extra richness.<\/p>\n\n\n\n<p>I also love serving this Pasta Salad for Summer in individual jars for picnics. It looks adorable and stays easy to transport.<\/p>\n\n\n\n<p>For parties, I place the salad in a large white serving bowl and decorate the top with extra herbs, tomatoes, and lemon slices. It always becomes one of the prettiest dishes on the table.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Storage, Reheating &amp; Make-Ahead Tips<\/h2>\n\n\n\n<p>This Pasta Salad for Summer stores beautifully in the refrigerator for up to 4 days. I keep it in an airtight container to maintain freshness.<\/p>\n\n\n\n<p>Before serving leftovers, I usually drizzle in a little olive oil or lemon juice because the pasta absorbs dressing over time.<\/p>\n\n\n\n<p>I never reheat this salad because it tastes best chilled or at cool room temperature.<\/p>\n\n\n\n<p>For make-ahead preparation, I sometimes chop all the vegetables and prepare the dressing a day earlier. Then I simply cook the pasta and combine everything before serving.<\/p>\n\n\n\n<p>If I know the salad will sit for several hours at a party, I save a little extra dressing to refresh it later.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">100-Word Short Version<\/h2>\n\n\n\n<p>This Pasta Salad for Summer is fresh, colorful, and incredibly easy to make. I combine tender rotini pasta with juicy cherry tomatoes, crisp cucumbers, bell peppers, olives, feta cheese, and fresh herbs. Then I toss everything in a bright homemade lemon vinaigrette that tastes refreshing and light. This salad works perfectly for picnics, barbecues, meal prep, and summer dinners. I love making it ahead because the flavors become even better after chilling in the fridge. It\u2019s simple, affordable, and always a crowd favorite. Every bite tastes like sunshine, freshness, and happy summer memories shared around the table.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/marilynrecipes.com\/wp-content\/uploads\/2026\/05\/RECIPES_Pasta_Salad_for_Summer_in_a_large_rustic_ceramic_bowl_c_b8ac99e0-88fc-46ba-aa1a-af51cb0c2787.png\" alt=\"\" class=\"wp-image-2287\" srcset=\"https:\/\/marilynrecipes.com\/wp-content\/uploads\/2026\/05\/RECIPES_Pasta_Salad_for_Summer_in_a_large_rustic_ceramic_bowl_c_b8ac99e0-88fc-46ba-aa1a-af51cb0c2787.png 1024w, https:\/\/marilynrecipes.com\/wp-content\/uploads\/2026\/05\/RECIPES_Pasta_Salad_for_Summer_in_a_large_rustic_ceramic_bowl_c_b8ac99e0-88fc-46ba-aa1a-af51cb0c2787-300x300.png 300w, https:\/\/marilynrecipes.com\/wp-content\/uploads\/2026\/05\/RECIPES_Pasta_Salad_for_Summer_in_a_large_rustic_ceramic_bowl_c_b8ac99e0-88fc-46ba-aa1a-af51cb0c2787-150x150.png 150w, https:\/\/marilynrecipes.com\/wp-content\/uploads\/2026\/05\/RECIPES_Pasta_Salad_for_Summer_in_a_large_rustic_ceramic_bowl_c_b8ac99e0-88fc-46ba-aa1a-af51cb0c2787-768x768.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">Recipe Card Section<\/h1>\n\n\n\n<p>\u23f1\ufe0f Time<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Prep Time: 20 minutes<\/li>\n\n\n\n<li>Cook Time: 10 minutes<\/li>\n\n\n\n<li>Total Time: 30 minutes + chilling time<\/li>\n<\/ul>\n\n\n\n<p>\ud83d\uded2 Ingredients<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>12 oz rotini pasta<\/li>\n\n\n\n<li>1 cup cherry tomatoes, halved<\/li>\n\n\n\n<li>1 cucumber, diced<\/li>\n\n\n\n<li>1 red bell pepper, diced<\/li>\n\n\n\n<li>1 yellow bell pepper, diced<\/li>\n\n\n\n<li>1\/4 red onion, finely chopped<\/li>\n\n\n\n<li>1\/2 cup black olives, sliced<\/li>\n\n\n\n<li>3\/4 cup feta cheese, crumbled<\/li>\n\n\n\n<li>1\/4 cup fresh parsley, chopped<\/li>\n\n\n\n<li>1\/4 cup fresh basil, chopped<\/li>\n<\/ul>\n\n\n\n<p>For the dressing:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>1\/3 cup olive oil<\/li>\n\n\n\n<li>2 tablespoons lemon juice<\/li>\n\n\n\n<li>2 tablespoons red wine vinegar<\/li>\n\n\n\n<li>2 garlic cloves, minced<\/li>\n\n\n\n<li>1 teaspoon dried oregano<\/li>\n\n\n\n<li>1\/2 teaspoon salt<\/li>\n\n\n\n<li>1\/4 teaspoon black pepper<\/li>\n<\/ul>\n\n\n\n<p>\ud83d\udc69\u200d\ud83c\udf73 Instructions<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Bring a large pot of salted water to a boil.<\/li>\n\n\n\n<li>Cook the rotini pasta until al dente according to package instructions.<\/li>\n\n\n\n<li>Drain the pasta and rinse under cold water until cool.<\/li>\n\n\n\n<li>Chop all vegetables and herbs while the pasta cools.<\/li>\n\n\n\n<li>Whisk olive oil, lemon juice, red wine vinegar, garlic, oregano, salt, and pepper together in a bowl.<\/li>\n\n\n\n<li>Add pasta, tomatoes, cucumber, peppers, onion, olives, feta cheese, parsley, and basil to a large bowl.<\/li>\n\n\n\n<li>Pour the dressing over the salad.<\/li>\n\n\n\n<li>Toss gently until evenly coated.<\/li>\n\n\n\n<li>Refrigerate for at least 1 hour before serving.<\/li>\n\n\n\n<li>Garnish with extra herbs and feta before serving.<\/li>\n<\/ol>\n\n\n\n<p>\ud83d\udcdd Notes<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cook the pasta just until al dente for the best texture.<\/li>\n\n\n\n<li>Chill the salad before serving for maximum flavor.<\/li>\n\n\n\n<li>Add grilled chicken or shrimp for extra protein.<\/li>\n\n\n\n<li>Store leftovers in the refrigerator for up to 4 days.<\/li>\n\n\n\n<li>Refresh leftovers with extra olive oil or lemon juice.<\/li>\n<\/ul>\n\n\n\n<p>\ud83c\udf7d\ufe0f Nutrition<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Calories: 320 per serving<\/li>\n\n\n\n<li>Protein: 9g<\/li>\n\n\n\n<li>Carbohydrates: 38g<\/li>\n\n\n\n<li>Fat: 15g<\/li>\n\n\n\n<li>Fiber: 3g<\/li>\n\n\n\n<li>Sugar: 4g<\/li>\n\n\n\n<li>Sodium: 390mg<\/li>\n<\/ul>\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:\/\/marilynrecipes.com\/index.php\/2026\/05\/16\/pasta-salad-for-summer\/print\/2274\/\">Print<\/a><span class=\"tasty-recipes-jump-target\" id=\"tasty-recipes-2274-jump-target\" style=\"display:block;padding-top:2px;margin-top:-2px;\"><\/span><div id=\"tasty-recipes-2274\" data-tr-id=\"2274\" class=\"tasty-recipes tasty-recipes-2274 tasty-recipes-display tasty-recipes-has-image\">\n\n\n<h2 class=\"tasty-recipes-title\" data-tasty-recipes-customization=\"h2-color.color h2-transform.text-transform\">Pasta Salad for Summer<\/h2>\n<div class=\"tasty-recipes-image-button-container\">\n\t\t\t<div class=\"tasty-recipes-image\">\n\t\t\t<img decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/marilynrecipes.com\/wp-content\/uploads\/2026\/05\/RECIPES_Pasta_Salad_for_Summer_in_a_large_rustic_ceramic_bowl_c_5a363f3b-6a75-477d-8eb7-77cf41a03068-150x150.png\" class=\"attachment-thumbnail size-thumbnail\" alt=\"Pasta Salad for Summer\" data-pin-nopin=\"true\" \/>\t\t<\/div>\n\t\t<div class=\"tasty-recipes-buttons\">\n\t\t\t\t<div class=\"tasty-recipes-button-wrap\">\n\t\t\t\n<a class=\"button tasty-recipes-print-button tasty-recipes-no-print\" href=\"https:\/\/marilynrecipes.com\/index.php\/2026\/05\/16\/pasta-salad-for-summer\/print\/2274\/\" 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\" width=\"18\" height=\"17\"><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\" width=\"18\" height=\"17\"><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\" width=\"18\" height=\"17\"><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\" width=\"18\" height=\"17\"><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\" width=\"18\" height=\"17\"><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>This Pasta Salad for Summer is fresh, colorful, and packed with crisp vegetables, tender pasta, feta cheese, and a bright homemade dressing. Perfect for BBQs, picnics, meal prep, and easy summer dinners.<\/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> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-author-name\">MARILYN<\/span><\/li>\n\t\t\t\t\t\t\t<li class=\"prep-time\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Prep Time:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-prep-time\">20 minutes<\/span><\/li>\n\t\t\t\t\t\t\t<li class=\"cook-time\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Cook Time:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-cook-time\">10 minutes<\/span><\/li>\n\t\t\t\t\t\t\t<li class=\"total-time\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Total Time:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-total-time\">30 minutes<\/span><\/li>\n\t\t\t\t\t\t\t<li class=\"yield\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Yield:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-yield\"><span data-amount=\"6\">6<\/span> servings <span class=\"tasty-recipes-yield-scale\"><span data-amount=\"1\">1<\/span>x<\/span><\/span><\/li>\n\t\t\t\t\t\t\t<li class=\"category\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Category:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-category\">B<\/span><\/li>\n\t\t\t\t\t\t\t<li class=\"method\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Method:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-method\">Mixing<\/span><\/li>\n\t\t\t\t\t\t\t<li class=\"cuisine\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Cuisine:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-cuisine\">American<\/span><\/li>\n\t\t\t\t\t\t\t<li class=\"diet\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Diet:<\/strong> <span data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-diet\">Vegetarian<\/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<ul>\n<li><span data-amount=\"12\" data-unit=\"oz\">12 oz<\/span> rotini pasta<\/li>\n<li><span data-amount=\"1\" data-unit=\"cup\">1 cup<\/span> cherry tomatoes, halved<\/li>\n<li><span data-amount=\"1\">1<\/span> cucumber, diced<\/li>\n<li><span data-amount=\"1\">1<\/span> red bell pepper, diced<\/li>\n<li><span data-amount=\"1\">1<\/span> yellow bell pepper, diced<\/li>\n<li><span data-amount=\"0.25\">1\/4<\/span> red onion, finely chopped<\/li>\n<li><span data-amount=\"0.5\" data-unit=\"cup\">1\/2 cup<\/span> black olives, sliced<\/li>\n<li><span data-amount=\"0.75\" data-unit=\"cup\">3\/4 cup<\/span> feta cheese, crumbled<\/li>\n<li><span data-amount=\"0.25\" data-unit=\"cup\">1\/4 cup<\/span> fresh parsley, chopped<\/li>\n<li><span data-amount=\"0.25\" data-unit=\"cup\">1\/4 cup<\/span> fresh basil, chopped<\/li>\n<li><span data-amount=\"0.33333333333333\" data-unit=\"cup\">1\/3 cup<\/span> olive oil<\/li>\n<li><span data-amount=\"2\" data-unit=\"tablespoon\">2 tablespoons<\/span> lemon juice<\/li>\n<li><span data-amount=\"2\" data-unit=\"tablespoon\">2 tablespoons<\/span> red wine vinegar<\/li>\n<li><span data-amount=\"2\">2<\/span> garlic cloves, minced<\/li>\n<li><span data-amount=\"1\" data-unit=\"teaspoon\">1 teaspoon<\/span> dried oregano<\/li>\n<li><span data-amount=\"0.5\" data-unit=\"teaspoon\">1\/2 teaspoon<\/span> salt<\/li>\n<li><span data-amount=\"0.25\" data-unit=\"teaspoon\">1\/4 teaspoon<\/span> black pepper<\/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_6a07ec6c9831a_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_6a07ec6c9831a_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\">Bring a large pot of salted water to a boil.<\/li>\n<li id=\"instruction-step-2\">Cook the rotini pasta until al dente according to package instructions.<\/li>\n<li id=\"instruction-step-3\">Drain the pasta and rinse under cold water until cool.<\/li>\n<li id=\"instruction-step-4\">Chop all vegetables and herbs while the pasta cools.<\/li>\n<li id=\"instruction-step-5\">Whisk olive oil, lemon juice, red wine vinegar, garlic, oregano, salt, and pepper together.<\/li>\n<li id=\"instruction-step-6\">Combine pasta, vegetables, olives, feta cheese, parsley, and basil in a large bowl.<\/li>\n<li id=\"instruction-step-7\">Pour the dressing over the salad and toss gently.<\/li>\n<li id=\"instruction-step-8\">Refrigerate for at least 1 hour before serving.<\/li>\n<li id=\"instruction-step-9\">Garnish with extra herbs and feta cheese before serving.<\/li>\n<\/ol>\n\t\t<\/div>\n\t<\/div>\n\n\n\n\t<div class=\"tasty-recipes-notes\">\n\t\t<h3 data-tasty-recipes-customization=\"h3-color.color h3-transform.text-transform\">Notes<\/h3>\n\t\t<div class=\"tasty-recipes-notes-body\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t\t<p>Cook the pasta just until al dente for the best texture. Chill before serving for the freshest flavor. Add grilled chicken or shrimp for extra protein. Store leftovers in the refrigerator for up to 4 days.<\/p>\n\t\t<\/div>\n\t<\/div>\n\n\n\n\t<div class=\"tasty-recipes-nutrition\">\n\t\t<h3 data-tasty-recipes-customization=\"h3-color.color h3-transform.text-transform\">Nutrition<\/h3>\n\t\t<ul>\n\t\t\t\t\t\t\t<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\">1 bowl<\/span><\/li>\n\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" data-tasty-recipes-customization=\"body-color.color\">Calories:<\/strong> <span data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-calories\">320<\/span><\/li>\n\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" data-tasty-recipes-customization=\"body-color.color\">Sugar:<\/strong> <span data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-sugar\">4g<\/span><\/li>\n\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" data-tasty-recipes-customization=\"body-color.color\">Sodium:<\/strong> <span data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-sodium\">390mg<\/span><\/li>\n\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" data-tasty-recipes-customization=\"body-color.color\">Fat:<\/strong> <span data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-fat\">15g<\/span><\/li>\n\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" data-tasty-recipes-customization=\"body-color.color\">Saturated Fat:<\/strong> <span data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-saturated-fat\">4g<\/span><\/li>\n\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" data-tasty-recipes-customization=\"body-color.color\">Unsaturated Fat:<\/strong> <span data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-unsaturated-fat\">9g<\/span><\/li>\n\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" data-tasty-recipes-customization=\"body-color.color\">Trans Fat:<\/strong> <span data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-trans-fat\">0g<\/span><\/li>\n\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" data-tasty-recipes-customization=\"body-color.color\">Carbohydrates:<\/strong> <span data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-carbohydrates\">38g<\/span><\/li>\n\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" data-tasty-recipes-customization=\"body-color.color\">Fiber:<\/strong> <span data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-fiber\">3g<\/span><\/li>\n\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" data-tasty-recipes-customization=\"body-color.color\">Protein:<\/strong> <span data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-protein\">9g<\/span><\/li>\n\t\t\t\t\t\t\t<li><strong class=\"tasty-recipes-label\" data-tasty-recipes-customization=\"body-color.color\">Cholesterol:<\/strong> <span data-tasty-recipes-customization=\"body-color.color\" class=\"tasty-recipes-cholesterol\">15mg<\/span><\/li>\n\t\t\t\t\t<\/ul>\n\t<\/div>\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>Share a photo and tag us \u2014 we can&#8217;t wait to see what you&#8217;ve made!<\/p><\/div>\n<\/footer>\n\n\n\n<script>\nwindow.trCommon={\"minRating\":6,\"ajaxurl\":\"https:\\\/\\\/marilynrecipes.com\\\/wp-admin\\\/admin-ajax.php\",\"ratingNonce\":\"\",\"postId\":2273};\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<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>Every summer needs a recipe like this Pasta Salad for Summer easy, fresh, colorful, and full of flavor. I love how this dish brings everyone together around the table without creating stress in the kitchen. It reminds me that the best meals often come from the simplest ingredients shared with people we love.<\/p>\n\n\n\n<p>Whenever I make this Pasta Salad for Summer, I think about sunny afternoons, laughter drifting through open windows, and the happiness that comes from homemade food. I hope this recipe becomes part of your summer traditions too.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Summer always brings me back to the simple joy of gathering around a big table with family, laughter, and bowls full of fresh food. One recipe I make again and &#8230; <\/p>\n<p class=\"read-more-container\"><a title=\"Pasta Salad for Summer Fresh, Colorful, and Perfect for Sunny Days\" class=\"read-more button\" href=\"https:\/\/marilynrecipes.com\/index.php\/2026\/05\/16\/pasta-salad-for-summer\/#more-2273\" aria-label=\"Read more about Pasta Salad for Summer Fresh, Colorful, and Perfect for Sunny Days\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":2290,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-2273","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-trends-recipes","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-50","no-featured-image-padding"],"_links":{"self":[{"href":"https:\/\/marilynrecipes.com\/index.php\/wp-json\/wp\/v2\/posts\/2273","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/marilynrecipes.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/marilynrecipes.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/marilynrecipes.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/marilynrecipes.com\/index.php\/wp-json\/wp\/v2\/comments?post=2273"}],"version-history":[{"count":1,"href":"https:\/\/marilynrecipes.com\/index.php\/wp-json\/wp\/v2\/posts\/2273\/revisions"}],"predecessor-version":[{"id":2291,"href":"https:\/\/marilynrecipes.com\/index.php\/wp-json\/wp\/v2\/posts\/2273\/revisions\/2291"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/marilynrecipes.com\/index.php\/wp-json\/wp\/v2\/media\/2290"}],"wp:attachment":[{"href":"https:\/\/marilynrecipes.com\/index.php\/wp-json\/wp\/v2\/media?parent=2273"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/marilynrecipes.com\/index.php\/wp-json\/wp\/v2\/categories?post=2273"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/marilynrecipes.com\/index.php\/wp-json\/wp\/v2\/tags?post=2273"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}