I will preface the following by stating that both my wife and I have worked the service industry so we are probably a bit biased in our tipping practices.
Pre pandemic, I would start off at 20% for any in-person dining and would go up or down depending on service. A departure from the 20% was always based on the server's actions. Basically if the kitchen messed up or food took a bit longer, I know that is typically a back of the house issue and not much that the server can do about that. If we decide to eat out in Wisconsin my base percentage jumps to 30%. Reason being is that in MN, tipped employees are paid at least the federal or state minimum wage rate whereas in Wisconsin, the base minimum wage rate is $2.33. For anyone wondering if this issue comes up a lot, I should note that we live in Minnesota are about 10 minutes away from the MN/WI border so it's not uncommon for us to eat in Wisconsin.
Since things have opened up in Minnesota, I still start off with the same percentage but my increase/decrease reasons have changed. If I can tell that a restaurant is short staffed, the chance of me lowering the tip decreases and if my server is kicking ass, I'm more likely to bump up the tip. A few weeks ago, we had a server in a packed restaurant rocking a 12 table section and we tipped her the total of our bill. For those that have not worked the service industry, a 5-6 table section is typically average so to handle double that is impressive.
As far as Christmas, we typically go out to breakfast/brunch on Christmas Eve day or Christmas day and always tip the amount of our bill. If having to work on either of those days is offset by generous customers, hopefully it makes the day a bit better for them.
As far as tipping for takeout service, I never used to tip pre pandemic. However, once restaurants started shutting down to take out service only, we started tipping 15%. Restaurants have since gone back to normal operations in Minnesota so I have stopped tipping. Reason being is that the host staff handle the take out orders and the places we frequent and tend to make a few dollars more per hour which is why they are typically excluded from the end of shift tip outs (Bartenders, barbacks, busssers)
We are also now a bit more observant of other tables around us. If the table next to us is being a pain to the server and they have worked their ass off, I have no problem asking them what they were tipped. If they tell me and I don't think it was appropriate, we will also leave that person cash to make up for what I feel the tip should have been.
Having worked in this industry, I have come to learn that the people that complain the most, have never worked a day in their life in this industry. Between the service industry and retail, these employees deal with some of the most entitled individuals and come back day after day knowing what they may have to deal with. If I can tip a bit more and help them forget about the person that stiffed them, I'm all for it. It may not be the most glorious job but it's a job and that individual is doing what they can to make a living so they can support themselves and their family.