Sous Vide Kitchen

Sous Vide Kitchen TriOut Hospitality Premium Brand Based in New York City Sous Vide Kitchen is the first of its kind in New York City to offer diners the opportunity to select from a variety of fast-casual concepts, including Pulled & Chopped – BBQ,...

Nashville Test Kitchen

Nashville Test Kitchen TriOut Hospitality Premium Brand Based in Nashville Nashville Test Kitchen (NTK) is poised to become the area’s newest culinary destination. The vibrant food hall/Test kitchen concept features three distinct restaurants and a full-service bar...

Lucky Cricket

Lucky Cricket TriOut Hospitality Premium Brand Based in Minnesota Andrew Zimmern and Michael Outlaw teamed up to deliver Lucky Cricket, the full-service restaurant that will focus on small plates, shareable foods, and adventurous culinary experiences in a contemporary...

Lime Fresh Mexican Grill

Lime Fresh Mexican Grill TriOut Hospitality Premium Brand Based in South Florida In 2004, LIME Fresh opened its first location with a modest 800-square-foot store on Alton Road in South Beach. The concept quickly established a following of LIME Fresh craving fanatics...

Bliss Bowl

Bliss Bowl TriOut Hospitality Premium Brand Based in Downtown Manhattan Bliss Bowl’s two downtown Manhattan locations bring traditional Korean bibimbap, acai bowls, smoothies, and raw juice together utilizing wholesome ingredients, from all-white-meat chicken to...
jQuery(document).ready(function($){ //define store some initial variables var halfWindowH = $(window).height()*0.5, halfWindowW = $(window).width()*0.5, //define a max rotation value (X and Y axises) maxRotationY = 5, maxRotationX = 3, aspectRatio; //detect if hero has been loaded and evaluate its aspect-ratio $('.cd-floating-background').find('img').eq(0).load(function() { aspectRatio = $(this).width()/$(this).height(); if( $('html').hasClass('preserve-3d') ) initBackground(); }).each(function() { //check if image was previously load - if yes, trigger load event if(this.complete) $(this).load(); }); //detect mouse movement $('.cd-background-wrapper').each(function(){ $(this).on('mousemove', function(event){ var wrapperOffsetTop = $(this).offset().top; if( $('html').hasClass('preserve-3d') ) { window.requestAnimationFrame(function(){ moveBackground(event, wrapperOffsetTop); }); } }); }); //on resize - adjust .cd-background-wrapper and .cd-floating-background dimentions and position $(window).on('resize', function(){ if( $('html').hasClass('preserve-3d') ) { window.requestAnimationFrame(function(){ halfWindowH = $(window).height()*0.5, halfWindowW = $(window).width()*0.5; initBackground(); }); } else { $('.cd-background-wrapper').attr('style', ''); $('.cd-floating-background').attr('style', '').removeClass('is-absolute'); } }); function initBackground() { var wrapperHeight = Math.ceil(halfWindowW*2/aspectRatio), proportions = ( maxRotationY > maxRotationX ) ? 1.1/(Math.sin(Math.PI / 2 - maxRotationY*Math.PI/180)) : 1.1/(Math.sin(Math.PI / 2 - maxRotationX*Math.PI/180)), newImageWidth = Math.ceil(halfWindowW*2*proportions), newImageHeight = Math.ceil(newImageWidth/aspectRatio), newLeft = halfWindowW - newImageWidth/2, newTop = (wrapperHeight - newImageHeight)/2; //set an height for the .cd-background-wrapper $('.cd-background-wrapper').css({ 'height' : wrapperHeight, }); //set dimentions and position of the .cd-background-wrapper $('.cd-floating-background').addClass('is-absolute').css({ 'left' : newLeft, 'top' : newTop, 'width' : newImageWidth, }); } function moveBackground(event, topOffset) { var rotateY = ((-event.pageX+halfWindowW)/halfWindowW)*maxRotationY, yPosition = event.pageY - topOffset, rotateX = ((yPosition-halfWindowH)/halfWindowH)*maxRotationX; if( rotateY > maxRotationY) rotateY = maxRotationY; if( rotateY maxRotationX) rotateX = maxRotationX; if( rotateX 5) this.maxRotation = 5; this.scale = 1; this.animating = false; initParallax(this); initParallaxEvents(this); }; function initParallax(element) { element.count = 0; window.requestAnimationFrame(checkImageLoaded.bind(element)); for(var i = 0; i = this.imgs.length) { initScale(this); if(this.loaded) { window.cancelAnimationFrame(this.loaded); this.loaded = false; } } else { this.loaded = window.requestAnimationFrame(checkImageLoaded.bind(this)); } }; function initScale(element) { var maxImgResize = getMaxScale(element); element.scale = maxImgResize/(Math.sin(Math.PI / 2 - element.maxRotation*Math.PI/180)); element.figure.style.transform = 'scale('+element.scale+')'; Util.addClass(element.element, 'parallax-img--loaded'); }; function getMaxScale(element) { var minWidth = 0; var maxWidth = 0; for(var i = 0; i maxWidth || i == 0 ) maxWidth = width; } var scale = Math.ceil(10*maxWidth/minWidth)/10; if(scale this.maxRotation) rotateY = this.maxRotation; if(rotateY this.maxRotation) rotateX = this.maxRotation; if(rotateX 0 && Util.cssSupports('transform', 'translateZ(0px)')) { for( var i = 0; i