Blossom brings authentic, tasty Vietnamese flavor – Daily Trojan Online

After opening a location in Downtown and a second one in Silver Lake, Vietnamese restaurant Blossom has brought its beloved beef noodle soup to Chinatown. The restaurant replaces Via Café, and the takeover is more of a renovation — the owner of the Blossom Restaurants is actually the oldest son of the owner of Via Café, so the new location was a family affair. The menu has also been revamped with new vegetarian options.
Atmosphere · The restaurant has crafted a good, simple ambiance. The indoor-outdoor design allows for different kinds of seating on the inside and creates a pleasant outside seating area during the day. – Austin Chee | Daily Trojan
The menu is a trimmed down version of those voluminous, pages-long menus that diners typically find at a Cantonese or Vietnamese noodle soup. They stick with the most popular dishes of Vietnamese food amongst non-Vietnamese. Blossom’s signature dishes are pho and spring rolls.
For the uninitiated, pho is a Vietnamese soup noodle, with a relatively light, clear broth and thin white rice noodles. Usually some sort of meat is also added, and bean sprouts, lime and Thai basil also make frequent appearances. Traditionally, diners are also given fish sauce to pair with it, but this is typically forgone in most restaurants north of Westminster, California because it has a very strong taste that non-Southeast Asians are not used to. Instead, jalapeños are frequently the pairing of choice.
The pho tai, or pho with rare beef is a well-executed Vietnamese classic. The servers bring a plate of Thai basil, bean sprouts, Jalapenos and a lime wedge. The pho broth itself is very light and mild, even for pho broth. It is flavorful, but not overwhelmingly so, and complements the noodles and meat very well. The beef itself is quality beef, thinly sliced. The beef is usually placed raw in the soup while it is still extremely hot, then brought out to the customer while it is still rare, in a process similar to how shabu shabu cooks beef in boiling water. The cut of beef they use here is also much higher quality than the stewing meat one usually sees at pho places, and it shows. The rice noodles are on the softer side, but by no means overcooked, which feels more like a stylistic decision to do so, providing a sharper contrast between the softness of the noodle and the crisp crunch of bean sprouts. It makes for a mild version of a classic Vietnamese dish, the perfect light lunch meal.
Blossom also serves an excellent Vietnamese iced coffee, which is basically coffee mixed with condensed milk and poured into a glass of ice. It has a very unique flavor, and here, they serve a concentrated dose of the coffee in a shotglass with a mini metal coffee filter over it and condensed milk on the bottom of the glass. Diners can watch the coffee brew and, once it’s done, take off the filter, stir the coffee and condensed milk together and pour it into the accompanying glass of ice.
Upon walking into the restaurant, the new open windows are immediately noticeable. Tables are placed in outdoor seating right next to the windows, and on the inside, there is a long bench as seating as well as several small tables on the interior. It’s a beautiful example of indoor-outdoor design, with daylight filling most of the interior. It makes the window seating amazing during the daytime. The floor is now exposed concrete, and it matches well with the Asian/industrial mixture of décor going on in the room.
Asian restaurant service is meant to be hands off — servers bring diners food and refill water quietly without much explanation or fanfare. This approach is intended to keep from interrupting diners’ conversations.
Only chopsticks and a standard Asian soup spoon are provided with diner’s meals, so those without good chopsticks skills might want to ask for a fork.
Located in the Chinatown Plaza in the heart of Chinatown, the newest Blossom location is just down the from Starry Kitchen. Noticeable for its bold colors and modern design aesthetic, it’s a beautiful area. Parking nearby isn’t too difficult, with free street parking easily available if you’re willing to walk a few blocks.
Portions here are fairly large, and more than enough to sate the vast majority of appetites. Meals here are cheap as well. Though a bowl of pho might cost a dollar or two more than at Pho Tai, the meal is still generally affordable. The beautiful open windows and generous amounts of daylight pouring in, and the lightness of the food they serve there make Blossom a perfect lunch spot in a quickly growing Chinatown food scene.
This site uses cookies. By continuing to browse the site, you are agreeing to our use of cookies.
We may request cookies to be set on your device. We use cookies to let us know when you visit our websites, how you interact with us, to enrich your user experience, and to customize your relationship with our website.
Click on the different category headings to find out more. You can also change some of your preferences. Note that blocking some types of cookies may impact your experience on our websites and the services we are able to offer.
These cookies are strictly necessary to provide you with services available through our website and to use some of its features.
Because these cookies are strictly necessary to deliver the website, refusing them will have impact how our site functions. You always can block or delete cookies by changing your browser settings and force blocking all cookies on this website. But this will always prompt you to accept/refuse cookies when revisiting our site.
We fully respect if you want to refuse cookies but to avoid asking you again and again kindly allow us to store a cookie for that. You are free to opt out any time or opt in for other cookies to get a better experience. If you refuse cookies we will remove all set cookies in our domain.
We provide you with a list of stored cookies on your computer in our domain so you can check what we stored. Due to security reasons we are not able to show or modify cookies from other domains. You can check these in your browser security settings.
These cookies collect information that is used either in aggregate form to help us understand how our website is being used or how effective our marketing campaigns are, or to help us customize our website and application for you in order to enhance your experience.
If you do not want that we track your visit to our site you can disable tracking in your browser here:
We also use different external services like Google Webfonts, Google Maps, and external Video providers. Since these providers may collect personal data like your IP address we allow you to block them here. Please be aware that this might heavily reduce the functionality and appearance of our site. Changes will take effect once you reload the page.
Google Webfont Settings:
Google Map Settings:
Google reCaptcha Settings:
Vimeo and Youtube video embeds:
The following cookies are also needed – You can choose if you want to allow them:
You can see how this popup was set up in our step-by-step guide: https://wppopupmaker.com/guides/auto-opening-announcement-popups/
You can see how this popup was set up in our step-by-step guide: https://wppopupmaker.com/guides/auto-opening-announcement-popups/
You can see how this popup was set up in our step-by-step guide: https://wppopupmaker.com/guides/auto-opening-announcement-popups/
You can see how this popup was set up in our step-by-step guide: https://wppopupmaker.com/guides/auto-opening-announcement-popups/
Get the daily headlines before the paper even gets to a newsstand.
 

 

 

if (!Mimi) var Mimi = {};
if (!Mimi.Signups) Mimi.Signups = {};

Mimi.Signups.EmbedValidation = function() {
this.initialize();

var _this = this;
if (document.addEventListener) {
this.form.addEventListener('submit', function(e){
_this.onFormSubmit(e);
});
} else {
this.form.attachEvent('onsubmit', function(e){
_this.onFormSubmit(e);
});
}
};

extend(Mimi.Signups.EmbedValidation.prototype, {
initialize: function() {
this.form = document.getElementById('ema_signup_form');
this.submit = document.getElementById('webform_submit_button');
this.callbackName = 'jsonp_callback_' + Math.round(100000 * Math.random());
this.validEmail = /.+@.+..+/
},

onFormSubmit: function(e) {
e.preventDefault();

this.validate();
if (this.isValid) {
this.submitForm();
} else {
this.revalidateOnChange();
}
},

validate: function() {
this.isValid = true;
this.emailValidation();
this.fieldAndListValidation();
this.updateFormAfterValidation();
},

emailValidation: function() {
var email = document.getElementById('signup_email');

if (this.validEmail.test(email.value)) {
this.removeTextFieldError(email);
} else {
this.textFieldError(email);
this.isValid = false;
}
},

fieldAndListValidation: function() {
var fields = this.form.querySelectorAll('.mimi_field.required');

for (var i = 0; i < fields.length; ++i) { var field = fields[i], type = this.fieldType(field); if (type === 'checkboxes' || type === 'radio_buttons' || type === 'age_check') { this.checkboxAndRadioValidation(field); } else { this.textAndDropdownValidation(field, type); } } }, fieldType: function(field) { var type = field.querySelectorAll('.field_type'); if (type.length) { return type[0].getAttribute('data-field-type'); } else if (field.className.indexOf('checkgroup') >= 0) {
return 'checkboxes';
} else {
return 'text_field';
}
},

checkboxAndRadioValidation: function(field) {
var inputs = field.getElementsByTagName('input'),
selected = false;

for (var i = 0; i < inputs.length; ++i) { var input = inputs[i]; if((input.type === 'checkbox' || input.type === 'radio') && input.checked) { selected = true; } } if (selected) { field.className = field.className.replace(/ invalid/g, ''); } else { if (field.className.indexOf('invalid') === -1) { field.className += ' invalid'; } this.isValid = false; } }, textAndDropdownValidation: function(field, type) { var inputs = field.getElementsByTagName('input'); for (var i = 0; i < inputs.length; ++i) { var input = inputs[i]; if (input.name.indexOf('signup') >= 0) {
if (type === 'text_field') {
this.textValidation(input);
} else {
this.dropdownValidation(field, input);
}
}
}
this.htmlEmbedDropdownValidation(field);
},

textValidation: function(input) {
if (input.id === 'signup_email') return;

if (input.value) {
this.removeTextFieldError(input);
} else {
this.textFieldError(input);
this.isValid = false;
}
},

dropdownValidation: function(field, input) {
if (input.value) {
field.className = field.className.replace(/ invalid/g, '');
} else {
if (field.className.indexOf('invalid') === -1) field.className += ' invalid';
this.onSelectCallback(input);
this.isValid = false;
}
},

htmlEmbedDropdownValidation: function(field) {
var dropdowns = field.querySelectorAll('.mimi_html_dropdown');
var _this = this;

for (var i = 0; i < dropdowns.length; ++i) { var dropdown = dropdowns[i]; if (dropdown.value) { field.className = field.className.replace(/ invalid/g, ''); } else { if (field.className.indexOf('invalid') === -1) field.className += ' invalid'; this.isValid = false; dropdown.onchange = (function(){ _this.validate(); }); } } }, textFieldError: function(input) { input.className = 'required invalid'; input.placeholder = input.getAttribute('data-required-field'); }, removeTextFieldError: function(input) { input.className = 'required'; input.placeholder = ''; }, onSelectCallback: function(input) { if (typeof Widget === 'undefined' || !Widget.BasicDropdown) return; var dropdownEl = input.parentNode, instances = Widget.BasicDropdown.instances, _this = this; for (var i = 0; i < instances.length; ++i) { var instance = instances[i]; if (instance.wrapperEl === dropdownEl) { instance.onSelect = function(){ _this.validate() }; } } }, updateFormAfterValidation: function() { this.form.className = this.setFormClassName(); this.submit.value = this.submitButtonText(); this.submit.disabled = !this.isValid; this.submit.className = this.isValid ? 'submit' : 'disabled'; }, setFormClassName: function() { var name = this.form.className; if (this.isValid) { return name.replace(/s?mimi_invalid/, ''); } else { if (name.indexOf('mimi_invalid') === -1) { return name += ' mimi_invalid'; } else { return name; } } }, submitButtonText: function() { var invalidFields = document.querySelectorAll('.invalid'), text; if (this.isValid || !invalidFields) { text = this.submit.getAttribute('data-default-text'); } else { if (invalidFields.length || invalidFields[0].className.indexOf('checkgroup') === -1) { text = this.submit.getAttribute('data-invalid-text'); } else { text = this.submit.getAttribute('data-choose-list'); } } return text; }, submitForm: function() { this.formSubmitting(); var _this = this; window[this.callbackName] = function(response) { delete window[this.callbackName]; document.body.removeChild(script); _this.onSubmitCallback(response); }; var script = document.createElement('script'); script.src = this.formUrl('json'); document.body.appendChild(script); }, formUrl: function(format) { var action = this.form.action; if (format === 'json') action += '.json'; return action + '?callback=' + this.callbackName + '&' + serialize(this.form); }, formSubmitting: function() { this.form.className += ' mimi_submitting'; this.submit.value = this.submit.getAttribute('data-submitting-text'); this.submit.disabled = true; this.submit.className = 'disabled'; }, onSubmitCallback: function(response) { if (response.success) { this.onSubmitSuccess(response.result); } else { top.location.href = this.formUrl('html'); } }, onSubmitSuccess: function(result) { if (result.has_redirect) { top.location.href = result.redirect; } else if(result.single_opt_in || !result.confirmation_html) { this.disableForm(); this.updateSubmitButtonText(this.submit.getAttribute('data-thanks')); } else { this.showConfirmationText(result.confirmation_html); } }, showConfirmationText: function(html) { var fields = this.form.querySelectorAll('.mimi_field'); for (var i = 0; i < fields.length; ++i) { fields[i].style['display'] = 'none'; } (this.form.querySelectorAll('fieldset')[0] || this.form).innerHTML = html; }, disableForm: function() { var elements = this.form.elements; for (var i = 0; i < elements.length; ++i) { elements[i].disabled = true; } }, updateSubmitButtonText: function(text) { this.submit.value = text; }, revalidateOnChange: function() { var fields = this.form.querySelectorAll(".mimi_field.required"), _this = this; var onTextFieldChange = function() { if (this.getAttribute('name') === 'signup[email]') { if (_this.validEmail.test(this.value)) _this.validate(); } else { if (this.value.length === 1) _this.validate(); } } for (var i = 0; i < fields.length; ++i) { var inputs = fields[i].getElementsByTagName('input'); for (var j = 0; j < inputs.length; ++j) { if (this.fieldType(fields[i]) === 'text_field') { inputs[j].onkeyup = onTextFieldChange; inputs[j].onchange = onTextFieldChange; } else { inputs[j].onchange = function(){ _this.validate() }; } } } } }); if (document.addEventListener) { document.addEventListener("DOMContentLoaded", function() { new Mimi.Signups.EmbedValidation(); }); } else { window.attachEvent('onload', function() { new Mimi.Signups.EmbedValidation(); }); } })(this);


You can see how this popup was set up in our step-by-step guide: https://wppopupmaker.com/guides/auto-opening-announcement-popups/
You can see how this popup was set up in our step-by-step guide: https://wppopupmaker.com/guides/auto-opening-announcement-popups/
You can see how this popup was set up in our step-by-step guide: https://wppopupmaker.com/guides/auto-opening-announcement-popups/

source

Rate this post

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button