a:284:{s:8:"last_tab";s:7:"general";s:10:"responsive";s:1:"1";s:11:"nice-scroll";s:1:"1";s:17:"nice-scroll-speed";s:2:"40";s:13:"prev-next-nav";s:1:"1";s:5:"share";s:1:"0";s:19:"pagination-show-all";s:1:"1";s:13:"title-heading";s:1:"1";s:13:"page-comments";s:1:"0";s:18:"builder-visibility";s:0:"";s:13:"display-order";s:1:"0";s:13:"error404-icon";s:17:"icon-traffic-cone";s:13:"error404-page";s:0:"";s:18:"sc-gallery-disable";s:1:"0";s:16:"google-analytics";s:0:"";s:18:"google-remarketing";s:0:"";s:23:"math-animations-disable";s:1:"0";s:11:"prettyphoto";s:10:"pp_default";s:17:"prettyphoto-title";s:1:"0";s:17:"prettyphoto-width";s:0:"";s:18:"prettyphoto-height";s:0:"";s:8:"no-hover";s:0:"";s:13:"no-section-bg";s:0:"";s:7:"mfn-seo";s:1:"1";s:16:"meta-description";s:27:"Just another WordPress site";s:13:"meta-keywords";s:0:"";s:10:"static-css";s:1:"0";s:8:"sidebars";a:1:{i:0;s:4:"Blog";}s:13:"sidebar-width";s:2:"23";s:18:"single-page-layout";s:0:"";s:19:"single-page-sidebar";s:0:"";s:13:"single-layout";s:0:"";s:14:"single-sidebar";s:0:"";s:23:"single-portfolio-layout";s:0:"";s:24:"single-portfolio-sidebar";s:0:"";s:10:"blog-posts";s:1:"6";s:11:"blog-layout";s:7:"masonry";s:14:"excerpt-length";s:2:"26";s:10:"blog-title";s:1:"1";s:9:"blog-meta";s:1:"1";s:14:"blog-load-more";s:1:"0";s:9:"blog-page";s:0:"";s:11:"blog-author";s:1:"1";s:12:"blog-related";s:1:"1";s:13:"blog-comments";s:1:"1";s:16:"blog-single-zoom";s:1:"1";s:18:"blog-single-layout";s:0:"";s:15:"portfolio-posts";s:1:"8";s:16:"portfolio-layout";s:4:"grid";s:20:"portfolio-full-width";s:1:"0";s:17:"portfolio-orderby";s:4:"date";s:15:"portfolio-order";s:4:"DESC";s:21:"portfolio-hover-title";s:1:"0";s:18:"portfolio-external";s:0:"";s:17:"portfolio-isotope";s:1:"1";s:19:"portfolio-load-more";s:1:"0";s:14:"portfolio-page";s:0:"";s:17:"portfolio-related";s:1:"1";s:18:"portfolio-comments";s:1:"0";s:14:"portfolio-slug";s:14:"portfolio-item";s:13:"portfolio-tax";s:15:"portfolio-types";s:14:"shop-catalogue";s:1:"0";s:11:"shop-images";s:9:"secondary";s:11:"shop-layout";s:4:"grid";s:13:"shop-products";s:2:"12";s:11:"shop-slider";s:0:"";s:19:"shop-product-images";s:0:"";s:12:"shop-related";s:1:"1";s:18:"shop-product-style";s:0:"";s:9:"shop-cart";s:9:"icon-cart";s:19:"slider-blog-timeout";s:1:"0";s:22:"slider-clients-timeout";s:1:"0";s:20:"slider-offer-timeout";s:1:"0";s:24:"slider-portfolio-timeout";s:1:"0";s:19:"slider-shop-timeout";s:1:"0";s:21:"slider-slider-timeout";s:1:"0";s:27:"slider-testimonials-timeout";s:1:"0";s:8:"hook-top";s:0:"";s:19:"hook-content-before";s:0:"";s:18:"hook-content-after";s:0:"";s:11:"hook-bottom";s:0:"";s:10:"plugin-rev";s:0:"";s:12:"plugin-layer";s:0:"";s:13:"plugin-visual";s:0:"";s:12:"construction";s:1:"0";s:18:"construction-title";s:11:"Coming Soon";s:17:"construction-text";s:0:"";s:17:"construction-date";s:19:"12/30/2014 12:00:00";s:19:"construction-offset";s:1:"0";s:20:"construction-contact";s:0:"";s:17:"construction-page";s:0:"";s:8:"logo-img";s:75:"http://themes.muffingroup.com/be/store/wp-content/uploads/2015/03/store.png";s:15:"retina-logo-img";s:82:"http://themes.muffingroup.com/be/store/wp-content/uploads/2015/03/retina-store.png";s:15:"sticky-logo-img";s:77:"http://themes.muffingroup.com/be/store/wp-content/uploads/2015/03/store_s.png";s:22:"sticky-retina-logo-img";s:84:"http://themes.muffingroup.com/be/store/wp-content/uploads/2015/03/retina_store_s.png";s:9:"logo-text";s:0:"";s:9:"logo-link";a:1:{s:4:"link";s:4:"link";}s:11:"favicon-img";s:0:"";s:7:"grid960";s:1:"0";s:6:"layout";s:10:"full-width";s:11:"img-page-bg";s:0:"";s:16:"position-page-bg";s:22:"no-repeat;center top;;";s:13:"sidebar-lines";s:0:"";s:12:"header-style";s:12:"stack,center";s:16:"img-subheader-bg";s:0:"";s:24:"img-subheader-attachment";s:0:"";s:17:"minimalist-header";s:1:"1";s:13:"sticky-header";s:1:"1";s:19:"sticky-header-style";s:5:"white";s:13:"header-search";s:1:"1";s:11:"header-wpml";s:0:"";s:19:"header-action-title";s:0:"";s:18:"header-action-link";s:0:"";s:13:"header-banner";s:0:"";s:9:"subheader";s:0:"";s:15:"subheader-style";s:0:"";s:15:"subheader-image";s:0:"";s:21:"subheader-transparent";s:3:"100";s:21:"subheader-slider-show";s:1:"0";s:11:"sliding-top";s:1:"0";s:16:"sliding-top-icon";s:19:"icon-down-open-mini";s:10:"menu-style";s:0:"";s:17:"header-menu-right";s:1:"0";s:16:"header-menu-text";s:0:"";s:25:"header-menu-mobile-sticky";s:1:"0";s:10:"action-bar";s:1:"0";s:13:"header-slogan";s:0:"";s:12:"header-phone";s:0:"";s:14:"header-phone-2";s:0:"";s:12:"header-email";s:0:"";s:13:"social-target";s:1:"0";s:12:"social-skype";s:0:"";s:15:"social-facebook";s:0:"";s:17:"social-googleplus";s:0:"";s:14:"social-twitter";s:0:"";s:12:"social-vimeo";s:0:"";s:14:"social-youtube";s:0:"";s:13:"social-flickr";s:0:"";s:15:"social-linkedin";s:0:"";s:16:"social-pinterest";s:0:"";s:15:"social-dribbble";s:0:"";s:16:"social-instagram";s:0:"";s:14:"social-behance";s:0:"";s:16:"social-vkontakte";s:0:"";s:13:"social-viadeo";s:0:"";s:10:"social-rss";s:1:"0";s:13:"footer-layout";s:0:"";s:12:"footer-style";s:0:"";s:13:"footer-bg-img";s:0:"";s:21:"footer-call-to-action";s:0:"";s:11:"footer-copy";s:0:"";s:11:"footer-hide";s:6:"center";s:18:"popup-contact-form";s:0:"";s:10:"custom-css";s:4301:".highlight-font { font-family: Playfair display, serif; font-weight: 700; font-style: italic; }

/* Top bar */
.header-stack #Top_bar:not(.is-sticky) { background-color: #fcfcfc !important; padding-bottom: 10px; }
.header-stack #Top_bar .logo { border-bottom-width: 0px; }
#Top_bar a#header_cart { margin-right: 20px; }

/* Menu */
#Top_bar .menu > li > a { font-weight: bold; letter-spacing: 2px; }
#Top_bar .menu > li > a span:not(.description) { border-right-width: 0px; }
#Top_bar .menu > li > a:after { background: #c4b392 !important; }
#Top_bar:not(.is-sticky) .menu > li > a:after { left: 10%; top: 50px; width: 80%; height: 4px; }
#Top_bar .menu > li ul li a:hover, 
#Top_bar .menu > li ul li.hover > a { background: #e7e7e7; }
#Top_bar .menu > li > ul.mfn-megamenu a.mfn-megamenu-title { font-size: 14px; letter-spacing: 2px; }

/* Zoom box */
.zoom_box .desc .desc_txt { font-family: Lato; font-weight: 700; letter-spacing: 1px; }

/* Latest news */
.Latest_news h3 { margin-bottom: 25px; }

/* Shop slider */
.shop_slider .shop_slider_ul li .item_wrapper .desc { background: none; text-align: center; }
.shop_slider .blog_slider_header .title { font-size: 30px; line-height: 30px; }
.shop_slider .blog_slider_header {  margin-bottom: 25px; height: 49px; }
.shop_slider .blog_slider_header a.slider_prev { right: 54px; }
.shop_slider .shop_slider_ul li .item_wrapper .desc h4 { font-size: 20px; line-height: 28px; }

/* Products */
.woocommerce ul.products li.product .desc { background: none; text-align: center; }
.woocommerce ul.products li.product .desc h4 { font-size: 20px; line-height: 28px; }
.woocommerce ul.products li.product .desc .star-rating { display: inline-block; }

.woocommerce div.product p.price ins, .woocommerce div.product span.price ins { font-weight: 400; }
.woocommerce ul.products li.product .price ins { font-weight: 400; }
.woocommerce ul.products li.product .price, .woocommerce-page ul.products li.product .price { font-size: 16px; }

/* Shopping cart */
.woocommerce .widget_shopping_cart .buttons a.button_theme { color: #fff !important; }
.woocommerce .widget_shopping_cart .buttons a.button_theme .button_icon i { color: rgba(0, 0, 0, 0.5) !important; }

/* Hover box */
.hover_box:not(.hover_box_product) { text-align: center; }
.hover_box:not(.hover_box_product) .hover_box_wrapper { display: inline-block; }

/* Latest news */
.Latest_news ul li .desc h5 { font-style: italic; }

/* Blog */
.post-desc-wrapper h2.entry-title { font-size: 23px; line-height: 25px; }

/* Newsletter */
.newsletter_form > input[type="email"] { display: inline-block; margin: 0 4px 0 0; max-width: 150px; }
.newsletter_form > input[type="submit"] { padding: 8px 15px; margin: 0; }

/* Footer */
#Footer .widgets_wrapper { padding: 50px 0; }
#Footer .footer_copy { background: #eaeaea; }
#Footer .footer_copy a#back_to_top { display: none; }

/* Brands */
#brands .items_group { border: 4px solid #e7e0d3; padding-top: 40px; }

/* Buttons */
.button-stroke a.button, .button-stroke a.tp-button,
.button-stroke button, .button-stroke input[type="submit"],
.button-stroke input[type="reset"],
.button-stroke input[type="button"] { border-radius: 0; border-width: 3px; letter-spacing: 2px;  }

/* Image frame */
.image_frame:not(.no_link) .image_wrapper img:not(.ls-l) { margin-bottom: 0px !important; }
.image_frame:hover .image_wrapper img, .image_frame.hover .image_wrapper img { top: 0px; }
.image_frame, .wp-caption { border-width: 0; }
.image_frame .image_wrapper .mask {  -webkit-box-shadow:inset 0 0 0 0 rgba(0,0,0,0); box-shadow: inset 0 0 0 0 rgba(0,0,0,0); }
.image_frame .image_wrapper .mask:after {  background: none; }
.shop_slider .shop_slider_ul li .item_wrapper span.onsale { left: 0px !important; top: 0px !important; }

/* Form */
input[type="date"]:focus,input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, select:focus, textarea:focus {
    background-color: #FBF9F5 !important;
    border-color: #eaeaea;
    color: #9C875F;
}

/* Alert */
.alert_success { background: #a0c66d; }
.alert_success .alert_icon { background: #90b362; }";s:9:"custom-js";s:0:"";s:4:"skin";s:6:"custom";s:15:"background-body";s:7:"#fcfcfc";s:9:"color-one";s:7:"#2991D6";s:17:"background-header";s:7:"#000119";s:19:"background-top-left";s:7:"#ffffff";s:21:"background-top-middle";s:7:"#e3e3e3";s:20:"background-top-right";s:7:"#f5f5f5";s:17:"color-top-right-a";s:7:"#444444";s:17:"background-search";s:7:"#a4916d";s:20:"background-subheader";s:7:"#F7F7F7";s:15:"color-subheader";s:7:"#585858";s:12:"color-menu-a";s:7:"#585858";s:19:"color-menu-a-active";s:7:"#000000";s:24:"background-menu-a-active";s:7:"#000000";s:18:"background-submenu";s:7:"#f3f3f3";s:15:"color-submenu-a";s:7:"#5f5f5f";s:21:"color-submenu-a-hover";s:7:"#2e2e2e";s:21:"background-action-bar";s:7:"#2C2C2C";s:23:"background-overlay-menu";s:7:"#a4916d";s:25:"background-overlay-menu-a";s:7:"#ffffff";s:11:"color-theme";s:7:"#a4916d";s:10:"color-text";s:7:"#808080";s:7:"color-a";s:7:"#a4916d";s:13:"color-a-hover";s:7:"#917a4d";s:16:"color-fancy-link";s:7:"#656B6F";s:21:"background-fancy-link";s:7:"#a4916d";s:22:"color-fancy-link-hover";s:7:"#a4916d";s:27:"background-fancy-link-hover";s:7:"#917a4d";s:10:"color-note";s:7:"#a8a8a8";s:10:"color-list";s:7:"#737E86";s:20:"background-highlight";s:7:"#a4916d";s:28:"background-highlight-section";s:7:"#a4916d";s:8:"color-hr";s:7:"#a4916d";s:12:"button-style";s:6:"stroke";s:17:"background-button";s:7:"#e7dece";s:12:"color-button";s:7:"#6a5c42";s:18:"color-footer-theme";s:7:"#a4916d";s:17:"background-footer";s:7:"#f7f7f7";s:12:"color-footer";s:7:"#808080";s:14:"color-footer-a";s:7:"#6c6c6c";s:20:"color-footer-a-hover";s:7:"#585858";s:20:"color-footer-heading";s:7:"#a4916d";s:17:"color-footer-note";s:7:"#a8a8a8";s:23:"color-sliding-top-theme";s:7:"#a4916d";s:22:"background-sliding-top";s:7:"#545454";s:17:"color-sliding-top";s:7:"#cccccc";s:19:"color-sliding-top-a";s:7:"#a4916d";s:25:"color-sliding-top-a-hover";s:7:"#917a4d";s:25:"color-sliding-top-heading";s:7:"#ffffff";s:22:"color-sliding-top-note";s:7:"#a8a8a8";s:8:"color-h1";s:7:"#000000";s:8:"color-h2";s:7:"#000000";s:8:"color-h3";s:7:"#000000";s:8:"color-h4";s:7:"#000000";s:8:"color-h5";s:7:"#a4916d";s:8:"color-h6";s:7:"#000000";s:15:"color-tab-title";s:7:"#a4916d";s:16:"color-blockquote";s:7:"#444444";s:17:"color-contentlink";s:7:"#a4916d";s:13:"color-counter";s:7:"#a4916d";s:21:"background-getintouch";s:7:"#a4916d";s:13:"color-iconbar";s:7:"#a4916d";s:13:"color-iconbox";s:7:"#a4916d";s:26:"background-imageframe-link";s:7:"#a4916d";s:21:"color-imageframe-link";s:7:"#ffffff";s:15:"color-list-icon";s:7:"#a4916d";s:19:"color-pricing-price";s:7:"#a4916d";s:27:"background-pricing-featured";s:7:"#a4916d";s:22:"background-progressbar";s:7:"#a4916d";s:22:"color-quickfact-number";s:7:"#a4916d";s:27:"background-slidingbox-title";s:7:"#a4916d";s:27:"background-trailer-subtitle";s:7:"#a4916d";s:12:"font-content";s:7:"Verdana";s:9:"font-menu";s:4:"Lato";s:10:"font-title";s:4:"Lato";s:13:"font-headings";s:4:"Lato";s:19:"font-headings-small";s:16:"Playfair Display";s:15:"font-blockquote";s:4:"Lato";s:11:"font-weight";a:9:{i:100;s:3:"100";s:9:"100italic";s:9:"100italic";i:300;s:3:"300";i:400;s:3:"400";s:9:"400italic";s:9:"400italic";i:500;s:3:"500";i:600;s:3:"600";i:700;s:3:"700";s:9:"700italic";s:9:"700italic";}s:11:"font-subset";s:0:"";s:11:"font-custom";s:0:"";s:16:"font-custom-woff";s:0:"";s:15:"font-custom-ttf";s:0:"";s:15:"font-custom-svg";s:0:"";s:15:"font-custom-eot";s:0:"";s:12:"font-custom2";s:0:"";s:17:"font-custom2-woff";s:0:"";s:16:"font-custom2-ttf";s:0:"";s:16:"font-custom2-svg";s:0:"";s:16:"font-custom2-eot";s:0:"";s:17:"font-size-content";s:2:"13";s:14:"font-size-menu";s:2:"14";s:12:"font-size-h1";s:2:"25";s:12:"font-size-h2";s:2:"42";s:12:"font-size-h3";s:2:"30";s:12:"font-size-h4";s:2:"24";s:12:"font-size-h5";s:2:"16";s:12:"font-size-h6";s:2:"14";s:9:"translate";s:1:"1";s:28:"translate-search-placeholder";s:17:"Enter your search";s:24:"translate-search-results";s:18:"results found for:";s:14:"translate-home";s:4:"Home";s:14:"translate-prev";s:9:"Prev page";s:14:"translate-next";s:9:"Next page";s:19:"translate-load-more";s:9:"Load more";s:17:"translate-wpml-no";s:39:"No translations available for this page";s:14:"translate-days";s:4:"days";s:15:"translate-hours";s:5:"hours";s:17:"translate-minutes";s:7:"minutes";s:17:"translate-seconds";s:7:"seconds";s:16:"translate-filter";s:9:"Filter by";s:14:"translate-tags";s:4:"Tags";s:17:"translate-authors";s:7:"Authors";s:13:"translate-all";s:8:"Show all";s:19:"translate-published";s:12:"Published by";s:12:"translate-at";s:2:"at";s:20:"translate-categories";s:10:"Categories";s:18:"translate-readmore";s:9:"Read more";s:14:"translate-like";s:15:"Do you like it?";s:17:"translate-related";s:13:"Related posts";s:16:"translate-client";s:6:"Client";s:14:"translate-date";s:4:"Date";s:17:"translate-website";s:7:"Website";s:14:"translate-view";s:12:"View website";s:14:"translate-task";s:4:"Task";s:19:"translate-404-title";s:18:"Ooops... Error 404";s:22:"translate-404-subtitle";s:62:"We are sorry, but the page you are looking for does not exist.";s:18:"translate-404-text";s:46:"Please check entered address and try again or ";s:17:"translate-404-btn";s:14:"go to homepage";}