Concord, Massachusetts Kitchen Remodel
A Timeless Redesign in a Beautiful Home
Full Kitchen Renovation
- Relocated cooktop for improved venting
- Added double wall ovens and custom pantry storage
- Inset Shiloh Cabinetry in Eggshell White with island in Clary Sage by Sherwin William
- Silestone quartz countertops and backsplash
- Large, functional kitchen island for cooking and entertaining
- Integration with existing hardwood floor
- Designed to blend with a home addition and preserve Concord charm
");
jQuery(window).on('scroll', function() {
if (jQuery(window).scrollTop() > headerbarOffsetTop) {
jQuery('.header__holder').css('height', headerbarHeight);
headerbar.addClass('header--fixed');
} else {
headerbar.removeClass("header--fixed");
jQuery('.header__holder').css('height', 0);
}
});
});
} catch (error) {
console.log(error);
}
})(jQuery);
(function($) {
"use strict";
var html_body = jQuery('html, body');
try {
var slick_object = jQuery('.js-slick-wrapper');
slick_object.each(function() {
var that = jQuery(this);
var slick_content = that.find('.js-slick-content');
var arrow_left = that.find('.js-slick-prev');
var arrow_right = that.find('.js-slick-next');
var option = {
accessibility: true,
adaptiveheight: false,
autoplay: false,
autoplayspeed: 5000,
arrows: false,
asnavfor: null,
appendarrows: jQuery(this),
appenddots: jQuery(this),
prevarrow: '',
nextarrow: '',
centermode: false,
centerpadding: '50px',
cssease: 'ease',
dots: false,
dotsclass: 'slick-dots',
draggable: true,
fade: false,
focuson: false,
speed: 800,
pauseonhover: false,
xl: 1,
lg: this.xl,
md: this.lg,
sm: this.md,
xs: this.sm,
vertical: false,
loop: true,
thumb: false,
customnav: false,
variablewidth: false,
variableheight: false,
swipetoslide: true
};
for (var k in option) {
if (option.hasOwnProperty(k)) {
if (jQuery(this).attr('data-slick-' + k) != null) {
option[k] = jQuery(this).data('slick-' + k);
}
}
}
if (option.customnav === true) {
option.appendarrows = that.find('.slick__arrows');
option.appenddots = that.find('.slick__dots');
}
var slickAPI = slick_content;
var animationInString = '[data-animation], [data-animation-in]';
var animationOutString = '[data-animation-out]';
slickAPI.on('init reinit', function() {
var elementAnimate = jQuery(this).find(animationInString);
elementAnimate.css("visibility", "hidden");
var firstAnimatingElements = jQuery(this).find('.slick-current [data-animation], .slick-current [data-animation-in]');
doAnimations(firstAnimatingElements);
});
if (option.thumb)
slickAPI.slick({
accessibility: option.accessibility,
adaptiveHeight: option.adaptiveheight,
autoplay: option.autoplay,
autoplaySpeed: option.autoplayspeed,
arrows: option.arrows,
asNavFor: option.asnavfor,
appendArrows: option.appendarrows,
appendDots: option.appenddots,
prevArrow: option.prevarrow,
nextArrow: option.nextarrow,
centerMode: option.centermode,
centerPadding: option.centerpadding,
cssease: option.cssease,
dots: option.dots,
dotsClass: option.dotsclass,
draggable: option.draggable,
pauseOnHover: option.pauseonhover,
fade: option.fade,
focusOnSelect: option.focuson,
vertical: option.vertical,
slidesToShow: option.xl,
slidesToScroll: option.xl,
infinite: option.loop,
swipeToSlide: option.swipetoslide,
speed: option.speed,
variableWidth: option.variablewidth,
variableHeight: option.variableheight,
customPaging: function(slick, index) {
var portrait = jQuery(slick.$slides[index]).data('thumb');
return '
';
},
responsive: [{
breakpoint: 1201,
settings: {
slidesToShow: option.lg,
slidesToScroll: option.lg
}
}, {
breakpoint: 993,
settings: {
slidesToShow: option.md,
slidesToScroll: option.md,
variableWidth: false
}
}, {
breakpoint: 769,
settings: {
slidesToShow: option.sm,
slidesToScroll: option.sm,
centerPadding: "50px",
variableWidth: false
}
}, {
breakpoint: 576,
settings: {
slidesToShow: option.xs,
slidesToScroll: option.xs,
fade: false,
centerPadding: "50px",
variableWidth: false
}
}]
});
else
slickAPI.slick({
accessibility: option.accessibility,
adaptiveHeight: option.adaptiveheight,
autoplay: option.autoplay,
autoplaySpeed: option.autoplayspeed,
arrows: option.arrows,
asNavFor: option.asnavfor,
appendArrows: option.appendarrows,
appendDots: option.appenddots,
prevArrow: option.prevarrow,
nextArrow: option.nextarrow,
centerMode: option.centermode,
centerPadding: option.centerpadding,
cssease: option.cssease,
dots: option.dots,
dotsClass: option.dotsclass,
draggable: option.draggable,
pauseOnHover: option.pauseonhover,
fade: option.fade,
focusOnSelect: option.focuson,
vertical: option.vertical,
slidesToShow: option.xl,
slidesToScroll: option.xl,
infinite: option.loop,
swipeToSlide: option.swipetoslide,
speed: option.speed,
variableWidth: option.variablewidth,
variableHeight: option.variableheight,
responsive: [{
breakpoint: 1201,
settings: {
slidesToShow: option.lg,
slidesToScroll: option.lg
}
}, {
breakpoint: 993,
settings: {
slidesToShow: option.md,
slidesToScroll: option.md,
variableWidth: false
}
}, {
breakpoint: 769,
settings: {
slidesToShow: option.sm,
slidesToScroll: option.sm,
centerPadding: "50px",
variableWidth: false
}
}, {
breakpoint: 576,
settings: {
slidesToShow: option.xs,
slidesToScroll: option.xs,
fade: false,
centerPadding: "20px",
variableWidth: false
}
}]
});
slickAPI.on('afterChange', function(e, slick, currentSlide) {
var $animatingElements = jQuery(this).find('[data-slick-index="' + currentSlide + '"]').find(animationInString);
doAnimations($animatingElements);
});
slickAPI.on('beforeChange', function(e, slick, currentSlide, nextSlide) {
var $animatingElements = jQuery(this).find('[data-slick-index="' + nextSlide + '"]').find(animationInString);
if (!(jQuery(this).find('[data-slick-index="' + currentSlide + '"]').find(animationOutString).length === 0)) {
var $elementAnimateCurrent = jQuery(this).find('[data-slick-index="' + currentSlide + '"]').find(animationOutString);
doAnimationsOut($elementAnimateCurrent);
return;
}
doAnimations($animatingElements);
});
function doAnimations(elements) {
var animationEndEvents = 'webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend';
elements.each(function() {
elements.css("visibility", "visible");
var $animationDelay = jQuery(this).data('animation-delay');
var $animationType = 'animated ' + jQuery(this).data('animation');
if (jQuery(this).data('animation') === undefined)
$animationType = 'animated ' + jQuery(this).data('animation-in');
jQuery(this).css({
'animation-delay': $animationDelay,
'-webkit-animation-delay': $animationDelay
});
jQuery(this).addClass($animationType).one(animationEndEvents, function() {
jQuery(this).removeClass($animationType);
});
});
}
function doAnimationsOut(elements) {
var animationEndEvents = 'webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend';
elements.each(function() {
var $animationDelay = "0s";
var $animationType = 'animated ' + jQuery(this).data('animation-out');
jQuery(this).css({
'animation-delay': $animationDelay,
'-webkit-animation-delay': $animationDelay
});
jQuery(this).addClass($animationType).one(animationEndEvents, function() {
jQuery(this).removeClass($animationType);
});
elements.css("visibility", "hidden");
});
}
arrow_left.on('click', function() {
slick_content.slick('slickPrev');
});
arrow_right.on('click', function() {
slick_content.slick('slickNext');
});
});
} catch (err) {
console.log(err)
}
try {
jQuery('.js-center-arrow').each(function() {
var that = jQuery(this);
var arrow = that.find('.slick-arrow');
var heightImg = that.find('.js-img').outerHeight();
var heightArrow = that.find('.slick-arrow').outerHeight();
var offsetTop = heightImg / 2 - heightArrow / 2;
arrow.css('top', offsetTop);
});
} catch (err) {
console.log(err);
}
})(jQuery);