Parmesan Balsamic Vinaigrette

This Parmesan Balsamic Vinaigrette is my default homemade dressing and has been for years. It’s a deeply flavorful yet versatile salad dressing that our entire family loves.







Why to Make Your Own Salad Dressing?




Less ingredients – You know exactly what’s in the dressing. Unlike store bought kind.



It is easy – Homemade Salad Dressings only take minutes to make.



It tastes better – fresh ingredients area always better.




Ingredients Needed



This salad dressing requires all pantry staples (woo hoo!) Here’s what you’ll need:




olive oil



balsamic vinegar (or red wine vinegar is delicious, too!)



salt and pepper



sugar (you could sub in some honey instead)



grated Parmesan cheese (grate your own or buy store-bought)




If you like simple ingredients like this for salad dressings, you’ll also like our Lemon Vinaigrette , Honey Balsamic Dressing , or Apple Cider Vinaigrette .







How to Store Parmesan Balsamic



This vinaigrette lasts for at least 2 weeks in the fridge. You can also freeze it for 3-6 months easily, if you store it in an airtight container. Just be sure to thaw and shake it well before serving.



How to Serve This Balsamic Parmesan Vinaigrette Dressing



My go-to salad to serve this Parmesan Dressing on is a bed of crisp, chopped Romaine lettuce with quartered artichoke hearts, black olives, homemade croutons , and cherry tomatoes.



Or try it over a bed of baby spinach with sliced almonds and dried cranberries for a super simple side salad.







More Homemade Salad Dressings You’ll Love




Honey Dijon Dressing



Southwest Ranch



Cilantro Lime Dressing




You are going to LOVE this Parmesan dressing. Whip up a batch and store it in the fridge to use for weeks to come!



FAQs



How do you store homemade salad dressing? This vinaigrette lasts for at least 2 weeks in the fridge. You can also freeze it for 3-6 months easily, if you store it in an airtight container. Just be sure to thaw and shake it well before serving.




Did you make this? Snap a photo and tag us on Instagram at @thrivinghome so we can see your creations and cheer you on!






















5 Stars 4 Stars 3 Stars 2 Stars 1 Star



5 from 1 review









Parmesan Balsamic Vinaigrette




This deeply flavorful, yet versatile, vinaigrette is sure to be one that your entire family will love. Make a batch and it will stay fresh in the fridge for several weeks!








Yield: 12 servings (2 tablespoons per serving)







Prep: 5 minutes Total: 5 minutes












Print Recipe

Rate



Pin for Later






Email













Units:

US M









Ingredients




2/3 cup olive oil
1/3 cup balsamic vinegar
1 teaspoon salt
1/4 teaspoon pepper
1 teaspoon sugar (or to taste)
2/3 cup grated Parmesan cheese (freshly grated or store-bought)








Cook Mode

Prevent your screen from going dark













Before You Begin! If you make this, please leave a review and rating letting us know how you liked this recipe! This helps our business thrive & continue providing free recipes.






Instructions





Put first 5 ingredients in a container with a lid and shake.
Add grated Parmesan cheese and shake again.
Store in fridge for 2-3 weeks or in an airtight container in the freezer for 3-6 months. Shake well before using.












Notes/Tips

How to Serve: My go-to salad to serve this Parmesan Dressing on is a bed of crisp, chopped Romaine lettuce with quartered artichoke hearts, black olives, homemade croutons , and cherry tomatoes. Or try it over a bed of baby spinach with sliced almonds and dried cranberries for a super simple side salad.








(function(){
window.addEventListener( 'message', function( event ){
if ( ( 'https://nutrifox.com' !== event.origin && 'https://nutrifox.test' !== event.origin ) ||
typeof event.data !== 'string' ) {
return;
}
var payload = JSON.parse( event.data );
switch ( payload.event ) {
case 'setHeight':
var iframe = document.getElementById( 'nutrifox-label-' + payload.recipeId );
iframe.style.height = payload.height + 'px';
break;
}
} );
}());








© Author: Rachel Tiemeyer



Cuisine:
American






Method:
No Cook








Did you make this?



Snap a photo and tag us on Instagram at @thrivinghome so we can see your creations and cheer you on!






















Rate Recipe
























Tag Us on Instagram























.tasty-recipes-print-button{background-color:#667;border:none;display:inline-block;padding:.5em 1em;text-decoration:none}body:not(.tasty-recipes-print-view) .tasty-recipes-print-button.tasty-recipes-print-above-card{color:#fff;display:none}body:not(.tasty-recipes-print-view) .tasty-recipes-print-button.tasty-recipes-print-above-card:hover{background-color:#b2b2bb;color:#fff;display:inline-block;padding:.5em 1em;text-decoration:none}.tasty-recipes-image-button-container{display:flex;flex-direction:column;flex-wrap:wrap;float:right;margin-left:10px}body.tasty-recipes-print-view .tasty-recipes-buttons,body.tasty-recipes-print-view .tasty-recipes-cook-mode{display:none}.tasty-recipes-image-button-container .tasty-recipes-buttons{margin-bottom:10px;margin-top:10px}.tasty-recipes-image-button-container .tasty-recipes-button-wrap{box-sizing:border-box;margin-bottom:10px}.tasty-recipes-image-button-container .tasty-recipes-buttons a,.tasty-recipes-quick-links a.button{background-color:#f9f9f9;background-color:var(--tr-button-color,#f9f9f9);border:1px solid #aaa;border-color:var(--tr-button-color,#aaa);border-radius:0;color:#aaa;color:var(--tr-button-text-color,#aaa);cursor:pointer;display:block;font-size:16px;font-weight:700;line-height:16px;margin-top:0;padding:8px;text-align:center;text-decoration:none;text-transform:uppercase}.tasty-recipes-quick-links{align-items:center;display:flex;gap:.625em;justify-content:center;margin-bottom:1em}.tasty-recipes-quick-links a.button{display:inline-block;margin:0}.tasty-recipes-quick-links a.button+span{display:none}.tasty-recipes-entry-content .tasty-recipes-buttons a:hover,.tasty-recipes-image-button-container .tasty-recipes-buttons .button:hover,.tasty-recipes-quick-links a.button:hover{background-color:var(--tr-button-text-color,#aaa);color:var(--tr-button-color,#f9f9f9);text-decoration:none}.tasty-recipes-image-button-container .tasty-recipes-buttons .button:hover{opacity:1}.tasty-recipes-image-button-container .tasty-recipes-buttons a:hover{background-color:#979599;text-decoration:none}.tasty-recipes-image-button-container .tasty-recipes-buttons svg{display:none}.tasty-recipes-yield-scale{border:1px solid #979599;border-radius:2px;color:#979599;font-size:.7rem;margin-left:3px;padding:0 4px}.tasty-recipes-units-scale-container{display:flex;flex-wrap:wrap}.tasty-recipes-convert-container{padding:0 1em 1em 0}.tasty-recipes-convert-container .tasty-recipes-convert-label{align-self:center;color:#979599;font-size:.6rem;text-transform:uppercase}.tasty-recipes-convert-container button{background:transparent;border:1px solid #353547;border-radius:2px;color:#353547;letter-spacing:0;margin-left:5px;min-width:34px;padding:2px 4px;text-align:center}.tasty-recipes-convert-container button.tasty-recipes-convert-button-active{background-color:#000;border-color:#000;color:#fff}.tasty-recipes-convert-container button:focus{outline:none}.tasty-recipes-scale-container{display:flex;padding:0 0 1em}.tasty-recipes-scale-container .tasty-recipes-scale-label{align-self:center;color:#979599;font-size:.6rem;text-transform:uppercase}.tasty-recipes-scale-container button{background:transparent;border:1px solid #353547;border-radius:2px;color:#353547;cursor:pointer;letter-spacing:0;margin-left:5px;min-width:34px;padding:2px 4px}.tasty-recipes-scale-container button.tasty-recipes-scale-button-active{background-color:#000;border-color:#000;color:#fff}.tasty-recipes-scale-container button:focus{outline:none}.tasty-recipes-ingredients-header{margin:1em 0}@media only screen and (min-width:520px){.tasty-recipes-ingredients-header{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between}}.tasty-recipes-ingredients-header .tasty-recipes-ingredients-clipboard-container{align-items:baseline;display:inline-flex}.tasty-recipes-ingredients-header h3{margin:0 10px 10px 0}.tasty-recipes-ingredients-clipboard-container .tasty-recipes-copy-button{background:transparent;border:none;color:#353547;height:24px;padding:0;position:relative;width:24px}.tasty-recipes-ingredients-clipboard-container .tasty-recipes-copy-button:hover{opacity:.5}.tasty-recipes-instructions-header{align-items:baseline;display:flex;flex-wrap:wrap;justify-content:space-between;margin:1em 0}.tasty-recipes-entry-content .tasty-recipes-instructions h3{margin:0 0 1rem}@media only screen and (min-width:520px){.tasty-recipes-entry-content .tasty-recipes-instructions h3{margin:0}}button[name=tasty-recipes-video-toggle]{background:#979599;border:#979599;border-radius:2px;display:inline-block;font-size:14px;height:30px;line-height:20px;margin:0;padding:0;text-align:center;vertical-align:middle;width:86px}button[name=tasty-recipes-video-toggle] span{padding:0 4px;pointer-events:none}button[name=tasty-recipes-video-toggle][aria-checked=false] :last-child,button[name=tasty-recipes-video-toggle][aria-checked=true] :first-child{background:#fff;border-radius:2px;color:#979599;padding:2px 4px}button[name=tasty-recipes-video-toggle][aria-checked=false] :first-child,button[name=tasty-recipes-video-toggle][aria-checked=true] :last-child{color:#fff}label[for=tasty-recipes-video-toggle]{color:#979599;font-size:.6rem;line-height:30px;padding-right:8px;text-transform:uppercase;user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;-o-user-select:none;vertical-align:middle}.tasty-recipe-responsive-iframe-container{margin:10px 0}.tasty-recipes-equipment{display:flex;flex-wrap:wrap;justify-content:space-evenly}.tasty-recipes-equipment>h3{flex:0 0 100%}.tasty-recipes-equipment .tasty-link-card{flex:0 0 50%;padding:1.5rem 1rem;text-align:center}@media screen and (min-width:500px){.tasty-recipes-equipment .tasty-link-card{flex:0 0 33%}}.tasty-recipes-equipment .tasty-link-card p{font-size:1em;font-weight:700;margin-bottom:0}.tasty-recipes-equipment .tasty-link-card p a{color:initial}.tasty-recipes-equipment .tasty-link-card span{font-size:.9em}.tasty-recipes .tasty-recipes-nutrition ul{list-style-type:none;margin:0;padding:0}.tasty-recipes .tasty-recipes-nutrition ul:after{clear:both;content:" ";display:block}.tasty-recipes .tasty-recipes-nutrition li{float:left;list-style-type:none;margin-bottom:0;margin-left:0;margin-right:16px}.tasty-recipes-plug{align-items:center;display:flex;flex-wrap:wrap;justify-content:center;margin-bottom:1em;text-align:center}.tasty-recipes-plug a{box-shadow:none;text-decoration:none}.tasty-recipes-plug a img{background:transparent;box-shadow:none;display:inline-block;height:auto;margin:5px 0 0 8px;padding:0;width:150px}.tasty-recipes-footer-content{padding:1.5em;text-align:center}.tasty-recipes-footer-content .tasty-recipes-footer-copy{margin-left:0}.tasty-recipes-footer-content img,.tasty-recipes-footer-content svg{width:60px}.tasty-recipes-entry-content .tasty-recipes-entry-footer h3{font-size:1.25em;margin:0 0 .25em;padding:0}.tasty-recipes-entry-footer p{font-size:.75em;margin:0}.tasty-recipes-entry-footer p a{border-bottom:none;box-shadow:none;text-decoration:underline}.tasty-recipes-flash-message{background-color:#fff;border-radius:4px;box-shadow:0 .3px .4px 0 rgba(0,0,0,.024),0 .9px 1.5px 0 rgba(0,0,0,.05),0 3.5px 6px 0 rgba(0,0,0,.1);color:#313135;display:inline-block;font-size:13px;letter-spacing:0;line-height:1.2em;margin-left:10px;padding:4px 10px}@media screen and (min-width:500px){.tasty-recipes-flash-message{padding:4px 10px}}.tasty-recipes-flash-message p{margin:0;padding:0;text-transform:none}@media screen and (min-width:500px){.tasty-recipes-footer-content{align-items:center;display:flex;justify-content:center;padding:1.5em 0;text-align:left}.tasty-recipes-footer-content .tasty-recipes-footer-copy{margin-left:.8em}}@media print{.tasty-recipes-no-print,.tasty-recipes-no-print *{display:none!important}}[data-tr-ingredient-checkbox]{cursor:pointer;list-style-position:outside;list-style-type:none!important;margin-left:0!important}[data-tr-ingredient-checkbox] .tr-ingredient-checkbox-container{position:relative}[data-tr-ingredient-checkbox] .tr-ingredient-checkbox-container input[type=checkbox]+label{display:inline-block;position:relative;vertical-align:middle}[data-tr-ingredient-checkbox] .tr-ingredient-checkbox-container input[type=checkbox]{clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px}[data-tr-ingredient-checkbox] .tr-ingredient-checkbox-container input[type=checkbox]+label:before{border:1px solid;border-radius:2px;content:"";display:inline-block;height:20px;margin-right:10px;position:relative;width:20px}[data-tr-ingredient-checkbox] .tr-ingredient-checkbox-container input[type=checkbox]:checked+label:after{border-bottom:2px solid;border-left:2px solid;content:"";display:inline-block;height:6px;left:4px;position:absolute;top:4px;transform:rotate(-45deg);width:12px}[data-tr-ingredient-checkbox] .tr-ingredient-checkbox-container input[type=checkbox]:focus+label:before{box-shadow:0 0 8px #5e9ed6;outline:1px solid #5d9dd5}[data-tr-ingredient-checkbox=checked]{opacity:.8;text-decoration:line-through}.tasty-recipes-cook-mode__container{align-items:center;display:flex;line-height:100%}.tasty-recipes-cook-mode__container label{font-size:inherit}.tasty-recipes-cook-mode__switch{display:inline-block;height:17px;margin-right:10px;position:relative;width:30px}.tasty-recipes-cook-mode__switch-slider{background-color:#737373;bottom:0;cursor:pointer;display:block;left:0;opacity:.4;position:absolute;right:0;top:0;transition:.4s}.tasty-recipes-cook-mode__switch-slider:before{background-color:#fff;bottom:2px;content:"";height:13px;left:2px;position:absolute;transition:.4s;width:13px}.tasty-recipes-cook-mode__switch input{display:none}.tasty-recipes-cook-mode__switch input:checked+span{opacity:1}.tasty-recipes-cook-mode__switch input:checked+span:before{transform:translateX(13px)}.tasty-recipes-cook-mode__switch-round{border-radius:34px}.tasty-recipes-cook-mode__switch-round:before{border-radius:50%}.tasty-recipes-cook-mode__label{font-weight:700}@media only screen and (max-width:767px){#shop-with-instacart-v1{transform:scale(.75);transform-origin:top left}}

body{ --tr-star-color:#32414e; }

.tasty-recipes-rating-outline,.tasty-recipes-rating-solid{display:inline-block;line-height:1}.tasty-recipes-rating-outline svg,.tasty-recipes-rating-solid svg{fill:currentColor;height:var(--tr-star-size,18px);width:var(--tr-star-size,18px)}.tasty-recipes-rating-outline[data-tr-clip="10"] svg,.tasty-recipes-rating-solid[data-tr-clip="10"] svg{fill:url(#tasty-recipes-clip-10)}.tasty-recipes-rating-outline[data-tr-clip="20"] svg,.tasty-recipes-rating-solid[data-tr-clip="20"] svg{fill:url(#tasty-recipes-clip-20)}.tasty-recipes-rating-outline[data-tr-clip="30"] svg,.tasty-recipes-rating-solid[data-tr-clip="30"] svg{fill:url(#tasty-recipes-clip-30)}.tasty-recipes-rating-outline[data-tr-clip="40"] svg,.tasty-recipes-rating-solid[data-tr-clip="40"] svg{fill:url(#tasty-recipes-clip-40)}.tasty-recipes-rating-outline[data-tr-clip="50"] svg,.tasty-recipes-rating-solid[data-tr-clip="50"] svg{fill:url(#tasty-recipes-clip-50)}.tasty-recipes-rating-outline[data-tr-clip="60"] svg,.tasty-recipes-rating-solid[data-tr-clip="60"] svg{fill:url(#tasty-recipes-clip-60)}.tasty-recipes-rating-outline[data-tr-clip="70"] svg,.tasty-recipes-rating-solid[data-tr-clip="70"] svg{fill:url(#tasty-recipes-clip-70)}.tasty-recipes-rating-outline[data-tr-clip="80"] svg,.tasty-recipes-rating-solid[data-tr-clip="80"] svg{fill:url(#tasty-recipes-clip-80)}.tasty-recipes-rating-outline[data-tr-clip="90"] svg,.tasty-recipes-rating-solid[data-tr-clip="90"] svg{fill:url(#tasty-recipes-clip-90)}.tasty-recipes-rating-outline[data-tr-clip="0"] svg{fill:url(#tasty-recipes-clip-0)}.tasty-recipes-rating-solid{--tr-star-opacity:.4}.tasty-recipes-rating-solid[data-tr-clip="0"] svg{opacity:var(--tr-star-opacity)}[data-tr-default-rating]>span:not([data-tr-checked]) .tasty-recipes-rating-solid svg{--tr-star-opacity:.4;opacity:var(--tr-star-opacity)}[data-tr-default-rating]>span:not([data-tr-checked]) .tasty-recipes-rating-outline svg{fill:url(#tasty-recipes-clip-0)}[data-tr-default-rating] span[data-tr-checked]~span .tasty-recipes-rating-solid svg{fill:currentColor;--tr-star-opacity:1}[data-tr-default-rating] span[data-tr-checked]~span .tasty-recipes-rating-outline svg{fill:currentColor}input.tasty-recipes-rating:checked~span .tasty-recipes-rating-solid svg{fill:currentColor;--tr-star-opacity:1}input.tasty-recipes-rating:checked~span .tasty-recipes-rating-outline svg{fill:currentColor}@media only screen and (min-width:1024px){.tasty-recipes-ratings-buttons:hover span .tasty-recipes-rating-solid svg{--tr-star-opacity:.4!important;opacity:var(--tr-star-opacity)}.tasty-recipes-ratings-buttons:hover span .tasty-recipes-rating-outline svg{fill:url(#tasty-recipes-clip-0)!important}.tasty-recipes-ratings-buttons:hover>:hover .tasty-recipes-rating-solid svg,.tasty-recipes-ratings-buttons:not(:hover)>input:checked~span .tasty-recipes-rating-solid svg,.tasty-recipes-ratings-buttons>:hover .tasty-recipes-rating-solid svg,.tasty-recipes-ratings-buttons>:hover~span .tasty-recipes-rating-solid svg{fill:currentColor!important;--tr-star-opacity:1!important}.tasty-recipes-ratings-buttons:hover>:hover .tasty-recipes-rating-outline svg,.tasty-recipes-ratings-buttons:not(:hover)>input:checked~span .tasty-recipes-rating-outline svg,.tasty-recipes-ratings-buttons>:hover .tasty-recipes-rating-outline svg,.tasty-recipes-ratings-buttons>:hover~span .tasty-recipes-rating-outline svg{fill:currentColor!important}}.tasty-recipes-static-tooltip{background-color:#000;border-radius:4px;color:#fff;font-size:.9rem;opacity:0;padding:5px 10px;position:absolute;text-align:center;transition:opacity .5s ease-in-out,visibility .5s ease-in-out,transform .5s cubic-bezier(.71,1.7,.77,1.24);vertical-align:middle;visibility:hidden;width:230px;z-index:9}.tasty-recipes-static-tooltip.opened{opacity:1;transform:translateY(-4px);visibility:visible}.tasty-recipes-static-tooltip a{color:#f7d578;display:block}.tasty-recipes-static-tooltip:after{border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #000;bottom:-6px;content:"";font-size:0;left:calc(50% - 4px);line-height:0;pointer-events:none;position:absolute;transform:translateZ(0);transition:opacity .2s ease-in-out,visibility .2s ease-in-out,transform .2s cubic-bezier(.71,1.7,.77,1.24);width:0;z-index:99}.tasty-recipes-static-tooltip.tr-hide-tail:after{display:none}.tasty-recipes,.tasty-recipes-quick-links,.tasty-recipes-ratings,.wp-admin .tasty-recipes-comment-form{--tr-star-size:18px;--tr-star-margin:3px}.tasty-recipes-rating,.tasty-recipes-ratings-buttons{color:#f2b955;color:var(--tr-star-color,#f2b955)}.tasty-recipes-comment-form{border:none;margin:0;padding:0}.tasty-recipes-comment-form.tasty-recipes-ratings{display:block}.tasty-recipes-entry-header div.tasty-recipes-rating p,.tasty-recipes-rating-stars,.tasty-recipes-ratings,.tasty-recipes-ratings-buttons{display:inline-flex}.tasty-recipes-entry-header div.tasty-recipes-rating p span.tasty-recipes-rating,.tasty-recipes-rating-stars span.tasty-recipes-rating,.tasty-recipes-ratings span.tasty-recipes-rating,.tasty-recipes-ratings-buttons span.tasty-recipes-rating{cursor:pointer;display:inline-block;font-size:var(--tr-star-size,1.1em);margin:0;padding-right:var(--tr-star-margin,.3em)}.tasty-recipes-entry-header div.tasty-recipes-rating p span.tasty-recipes-rating:first-child[data-rating="5"],.tasty-recipes-rating-stars span.tasty-recipes-rating:first-child[data-rating="5"],.tasty-recipes-ratings span.tasty-recipes-rating:first-child[data-rating="5"],.tasty-recipes-ratings-buttons span.tasty-recipes-rating:first-child[data-rating="5"]{padding-right:0}.tasty-recipes-entry-header div.tasty-recipes-rating p{display:flex;justify-content:center}.tasty-recipes-ratings-buttons{flex-direction:row-reverse}.tasty-recipes-ratings-buttons input[type=radio]{clip:auto;cursor:pointer;display:inline-block!important;height:auto;margin:0;margin-left:calc((var(--tr-star-size, 1.1em) + var(--tr-star-margin))*-1);opacity:0;position:relative;width:1.1em!important;width:calc(var(--tr-star-size, 1.1em) + var(--tr-star-margin))!important;z-index:2}.tasty-recipes-ratings-buttons>span{position:relative}.tasty-recipes-ratings-buttons>span i{font-style:normal}.tasty-recipes-ratings-buttons>span:first-child{padding-right:0!important}.tasty-recipes-rating a,.tasty-recipes-rating a:link{background:none;outline:none;text-decoration:none}.tasty-recipes-screen-reader{clip:rect(1px,1px,1px,1px);word-wrap:normal!important;border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tasty-recipes-rating-link{align-items:center;display:inline-flex}.tasty-recipes-rating-link .rating-label{font-size:80%;padding-left:.4em}.tasty-recipes-selected-minimum-rating .comment-form-comment label .required{display:none}.tasty-recipes-has-ratings{text-decoration:none!important}



window.trCommon={"minRating":6,"ajaxurl":"https://thrivinghomeblog.com/wp-admin/admin-ajax.php","ratingNonce":"1aec6c4047","postId":172};
window.TastyRecipes = window.TastyRecipes || {};

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

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

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

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

(function( callback ) {
if ( document.readyState !== 'loading' ) {
callback();
} else {
window.addEventListener( 'load', callback );
}
})(() => {
window.TastyRecipes.smoothScroll.init();
});

(function(){


var bothEquals = function( d1, d2, D ) {
var ret = 0;
if (d1 d2)d2=D+1;else d1=D+1;break}else if(x 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 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]};


window.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"));

window.tastyRecipesFormatAmount = function(amount, el) {
if ( parseFloat( amount ) === parseInt( amount ) ) {
return amount;
}
var roundType = 'frac';
if (typeof el.dataset.amountShouldRound !== 'undefined') {
if ('false' !== el.dataset.amountShouldRound) {
if ( 'number' === el.dataset.amountShouldRound ) {
roundType = 'number';
} else if ('frac' === el.dataset.amountShouldRound) {
roundType = 'frac';
} else if ('vulgar' === el.dataset.amountShouldRound) {
roundType = 'vulgar';
} else {
roundType = 'integer';
}
}
}
if ('number' === roundType) {
amount = Number.parseFloat(amount).toPrecision(2);
} else if ('integer' === roundType) {
amount = Math.round(amount);
} else if ('frac' === roundType || 'vulgar' === roundType) {
var denom = 8;
if (typeof el.dataset.unit !== 'undefined') {
var unit = el.dataset.unit;
if (['cups','cup','c'].includes(unit)) {
denom = 4;
if (0.125 === amount) {
denom = 8;
}
if ("0.1667" === Number.parseFloat( amount ).toPrecision(4)) {
denom = 6;
}
}
if (['tablespoons','tablespoon','tbsp'].includes(unit)) {
denom = 2;
}
if (['teaspoons','teaspoon','tsp'].includes(unit)) {
denom = 8;
}
}
var amountArray = frac.cont( amount, denom, true );
var newAmount = '';
if ( amountArray[1] !== 0 ) {
newAmount = amountArray[1] + '/' + amountArray[2];
if ('vulgar' === roundType) {
Object.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {
if (newAmount === window.tastyRecipesVulgarFractions[vulgar]) {
newAmount = vulgar;
}
});
}
}
if ( newAmount ) {
newAmount = ' ' + newAmount;
}
if ( amountArray[0] ) {
newAmount = amountArray[0] + newAmount;
}
amount = newAmount;
}
return amount;
};


window.tastyRecipesUpdatePrintLink = () => {

const printButton = document.querySelector( '.tasty-recipes-print-button' );


if ( ! printButton ) {
return;
}

const printURL = new URL( printButton.href );
const searchParams = new URLSearchParams( printURL.search );

const unitButton = document.querySelector( '.tasty-recipes-convert-button-active' );
const scaleButton = document.querySelector( '.tasty-recipes-scale-button-active' );

let unit = '';
let scale = '';

if ( unitButton ) {
unit = unitButton.dataset.unitType;
searchParams.delete('unit');
searchParams.set( 'unit', unit );
}

if ( scaleButton ) {
scale = scaleButton.dataset.amount;
searchParams.set( 'scale', scale );
}

const paramString = searchParams.toString();
const newURL = '' === paramString ? printURL.href : printURL.origin + printURL.pathname + '?' + paramString;
const printLinks = document.querySelectorAll( '.tasty-recipes-print-link' );

printLinks.forEach( ( el ) => {
el.href = newURL;
});

const printButtons = document.querySelectorAll( '.tasty-recipes-print-button' );
printButtons.forEach( ( el ) => {
el.href = newURL;
});
};


document.addEventListener( 'DOMContentLoaded', () => {


if ( ! window.location.href.includes( '/print/' ) ) {
return;
}

const searchParams = new URLSearchParams( window.location.search );

const unit = searchParams.get( 'unit' );
const scale = searchParams.get( 'scale' );

if ( unit && ( 'metric' === unit || 'usc' === unit ) ) {
document.querySelector( '.tasty-recipes-convert-button[data-unit-type="' + unit + '"]' ).click();
}

if ( scale && Number(scale) > 0 ) {
document.querySelector( '.tasty-recipes-scale-button[data-amount="' + Number(scale) + '"]' ).click();
}
});
}());

(function(){
var buttonClass = 'tasty-recipes-convert-button',
buttonActiveClass = 'tasty-recipes-convert-button-active',
buttons = document.querySelectorAll('.tasty-recipes-convert-button');
if ( ! buttons ) {
return;
}
buttons.forEach(function(button){
button.addEventListener('click', function(event){
event.preventDefault();
var recipe = event.target.closest('.tasty-recipes');
if ( ! recipe ) {
return;
}
var otherButtons = recipe.querySelectorAll('.' + buttonClass);
otherButtons.forEach(function(bt){
bt.classList.remove(buttonActiveClass);
});
button.classList.add(buttonActiveClass);
var unitType = button.dataset.unitType;
var dataset = 'nf' + unitType.charAt(0).toUpperCase() + unitType.slice(1);
var convertables = recipe.querySelectorAll('span[data-nf-original]');
convertables.forEach(function(convertable){
if (typeof convertable.dataset.amountOriginalType === 'undefined'
&& 'usc' === convertable.dataset.nfOriginal) {
if (-1 !== convertable.innerText.indexOf('/')) {
convertable.dataset.amountOriginalType = 'frac';
}
if (-1 !== convertable.innerText.indexOf('.')) {
convertable.dataset.amountOriginalType = 'number';
}
Object.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {
if (-1 !== convertable.innerText.indexOf(vulgar)) {
convertable.dataset.amountOriginalType = 'vulgar';
}
});
}
convertable.innerText = convertable.dataset[dataset];
if (typeof convertable.dataset.unit !== 'undefined') {
convertable.dataset.unit = convertable.dataset[dataset + 'Unit'];
}
if (typeof convertable.dataset.amount !== 'undefined') {
convertable.dataset.amount = convertable.dataset[dataset];
if ('metric' === unitType) {
convertable.dataset.amountShouldRound = parseInt(convertable.dataset.amount) >= 10 ? 'integer' : 'number';
} else if (typeof convertable.dataset.amountOriginalType !== 'undefined') {
convertable.dataset.amountShouldRound = convertable.dataset.amountOriginalType;
} else {
convertable.dataset.amountShouldRound = false;
}
convertable.innerText = window.tastyRecipesFormatAmount(convertable.dataset[dataset], convertable);
}
if (convertable.classList.contains('nutrifox-unit')) {
if ('gram' === convertable.dataset[dataset]) {
convertable.innerText = 'grams';
}
}
});

document.querySelectorAll('.tasty-recipes-scale-button-active').forEach(function(scaleButton){
scaleButton.click();
});

window.tastyRecipesUpdatePrintLink();
});
});
}());

(function(){
document.querySelectorAll('[data-tr-ingredient-checkbox]').forEach(function(el) {
var input = el.querySelector('.tr-ingredient-checkbox-container input[type="checkbox"]');
if ( ! input ) {
return;
}
if (input.checked) {
el.dataset.trIngredientCheckbox = 'checked';
}
el.addEventListener('click', function(event) {
if ( 'A' === event.target.nodeName
|| 'INPUT' === event.target.nodeName
|| 'LABEL' === event.target.nodeName ) {
return;
}
input.click();
});
input.addEventListener('change', function() {
el.dataset.trIngredientCheckbox = input.checked ? 'checked' : '';
});
});
}());

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

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

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

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



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

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