Snap On Smile

Snap-On Smile is a great product for those looking to makeover their smile without undergoing extensive dental procedures. It works exactly like it sounds, a new set of “teeth” are created that are placed over your current teeth by snapping them in place. You can have a beautiful new smile in just two quick and painless visits to our office.

Snap-On Smile is a great option for patients with stained, chipped, cracked, crooked, or missing teeth. On your first visit with us you will pick the shade and style of your smile. We will then take an impression of your teeth so the Snap-On Smile can be properly fitted. The Snap-On Smile is then made with a light, durable resin to create a strong yet thin set of snap on teeth. In about three weeks you will return for your next visit where your new smile will be waiting! The Snap-On Smile will be placed onto your current teeth and you will leave the office with a bright new smile. No drilling, no extractions, no whitening chemicals are necessary – the whole process is quick, easy, and painless.

Your friends and family will be amazed by your transformation. You will be able to eat and drink with your Snap-On Smile, and caring for it is very easy. We will supply you with a cleaning solution during your final appointment. It can also be easily removed to clean your natural teeth, to participate in sporting events, or before you go to sleep. With proper care your Snap-On Smile can last from 3-5 years. If you have any questions about Snap-On Smile or would like to schedule a consultation please give our office a call. Remember, you are only two short, painless visits away from a beautiful new smile.

Contact Us

Send Us an Email

Our Location

Find us on the map

Hours of Operation

Find Out When We Are Open

Monday:

8:00 am-5:00 pm

Tuesday:

8:00 am-5:00 pm

Wednesday:

8:00 am-5:00 pm

Thursday:

8:00 am-5:00 pm

Friday:

9:00 am-3:00 pm

Saturday:

Closed

Sunday:

Closed

(function(global) { //utiility functions /////// if (!Array.prototype.indexOf) { Array.prototype.indexOf = function(obj, start) { var i, j; i = start || 0; j = this.length; while (i < j) { if (this[i] === obj) { return i; } i++; } return -1; }; } //////// var parseQueryString = function(url) { var a = document.createElement('a'); a.href = url; str = a.search.replace(/\?/, ''); return deparam(str, true /* coerce values, eg. 'false' into false */); }; var each = function (arr, fnc) { var data = []; for (i = 0; i < arr.length; i++) data.push(fnc(arr[i])); return data; }; // deparam // // Inverse of $.param() // // Taken from jquery-bbq by Ben Alman // https://github.com/cowboy/jquery-bbq/blob/master/jquery.ba-bbq.js var isArray = Array.isArray || function(obj) { return Object.prototype.toString.call(obj) == '[object Array]'; }; var deparam = function( params, coerce ) { var obj = {}, coerce_types = { 'true': !0, 'false': !1, 'null': null }; // Iterate over all name=value pairs. each( params.replace( /\+/g, ' ' ).split( '&' ), function(v, j){ var param = v.split( '=' ), key = decodeURIComponent( param[0] ), val, cur = obj, i = 0, // If key is more complex than 'foo', like 'a[]' or 'a[b][c]', split it // into its component parts. keys = key.split( '][' ), keys_last = keys.length - 1; // If the first keys part contains [ and the last ends with ], then [] // are correctly balanced. if ( /\[/.test( keys[0] ) && /\]$/.test( keys[ keys_last ] ) ) { // Remove the trailing ] from the last keys part. keys[ keys_last ] = keys[ keys_last ].replace( /\]$/, '' ); // Split first keys part into two parts on the [ and add them back onto // the beginning of the keys array. keys = keys.shift().split('[').concat( keys ); keys_last = keys.length - 1; } else { // Basic 'foo' style key. keys_last = 0; } // Are we dealing with a name=value pair, or just a name? if ( param.length === 2 ) { val = decodeURIComponent( param[1] ); // Coerce values. if ( coerce ) { val = val && !isNaN(val) ? +val // number : val === 'undefined' ? undefined // undefined : coerce_types[val] !== undefined ? coerce_types[val] // true, false, null : val; // string } if ( keys_last ) { // Complex key, build deep object structure based on a few rules: // * The 'cur' pointer starts at the object top-level. // * [] = array push (n is set to array length), [n] = array if n is // numeric, otherwise object. // * If at the last keys part, set the value. // * For each keys part, if the current level is undefined create an // object or array based on the type of the next keys part. // * Move the 'cur' pointer to the next level. // * Rinse & repeat. for ( ; i <= keys_last; i++ ) { key = keys[i] === '' ? cur.length : keys[i]; cur = cur[key] = i < keys_last ? cur[key] || ( keys[i+1] && isNaN( keys[i+1] ) ? {} : [] ) : val; } } else { // Simple key, even simpler rules, since only scalars and shallow // arrays are allowed. if ( isArray( obj[key] ) ) { // val is already an array, so push on the next value. obj[key].push( val ); } else if ( obj[key] !== undefined ) { // val isn't an array, but since a second value has been specified, // convert val into an array. obj[key] = [ obj[key], val ]; } else { // val is a scalar. obj[key] = val; } } } else if ( key ) { // No value was defined, so set something meaningful. obj[key] = coerce ? undefined : ''; } }); return obj; }; var avcastUrl = '//www.siteminds.net/m/1.8/mind_rs_prd.php'; // Globals if(!global.avCast) { global.avCast = {}; }; var avCast = global.avCast; // To keep track of which embeds we have already processed if(!avCast.foundEls) avCast.foundEls = []; var foundEls = avCast.foundEls; if(!avCast.calledRS4Once) avCast.calledRS4Once = false; var calledRS4Once = avCast.calledRS4Once; if(!avCast.settings) avCast.settings = []; var settings = avCast.settings; var els = document.getElementsByTagName('script'); var re = /.*mind_loader\.([^/]+\.)?php/; for(var i = 0; i < els.length; i++) { var el = els[i]; if(el.src.match(re) && foundEls.indexOf(el) < 0) { foundEls.push(el); var parameters = parseQueryString(el.src); var d = document.createElement('div'); var container = document.createElement('div'); el.parentNode.insertBefore(container, el); parameters['container'] = container; //console.log('getting '+'blck_callback'+parameters['cast_id']); //parameters['mm_cb'] = 'blck_callback'+parameters['cast_id']; settings.push(parameters); } } // Load main javascript if found some new ones during this script if (calledRS4Once==false) { global.avCast.calledRS4Once = true; //console.log('adding the embed script '); var s = document.createElement('script'); s.async = true; s.src = avcastUrl; document.body.appendChild(s); } }(this));