<script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://www.blogger.com/navbar.g?targetBlogID\x3d1486494308860355570\x26blogName\x3dCramer+Imaging+Test+Blog\x26publishMode\x3dPUBLISH_MODE_BLOGSPOT\x26navbarType\x3dLIGHT\x26layoutType\x3dLAYOUTS\x26searchRoot\x3dhttps://cramerimagingtest.blogspot.com/search\x26blogLocale\x3den\x26v\x3d2\x26homepageUrl\x3dhttps://cramerimagingtest.blogspot.com/\x26vt\x3d2056425763519506056', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe" }); } }); </script><script type="text/javascript"> (function() { var script = document.createElement('script'); script.type = 'text/javascript'; script.src = '//pagead2.googlesyndication.com/pagead/js/google_top_exp.js'; var head = document.getElementsByTagName('head')[0]; if (head) { head.appendChild(script); }})(); </script> <!-- CSS must load first--> <style> /* Search Box ----------------------------------------- */ #searchbox { position: absolute; top: 55px; background: transparent; width: 100%; padding: 10px; display: none; border: none; } #search-height { height: 100%; background: #000; position: fixed; width: 100%; left: 0; right: 0; top: 98px; opacity: .8; } #hide-search { position: relative; float: right; width: 20px; right: 18px; } #show-search { top: 15px; width: 25px; right: 5px; float: right; position: relative; } /* Social Icons ----------------------------------------- */ .social-icons img { width: 35px; } .social-icons p { position: relative; float: left; font-size: 16px; bottom: 8px; color: #000; font-weight: 700; letter-spacing: 1.5px; } .social-icons { position: relative; height: 40px; width: 250px; } #menu-height { position: relative; height: 15px; } /* Inner Hover Menu ----------------------------------------- */ .prl-offcanvas.prl-active .prl-offcanvas-bar.prl-offcanvas-bar-show { -webkit-transform: translateX(0%); transform: translateX(0%); } .prl-offcanvas-bar-flip { left: auto; right: 0; -webkit-transform: translateX(100%); transform: translateX(100%); } .prl-offcanvas .prl-panel { margin: 20px 15px; color: #777; } .prl-offcanvas { /* darken main canvas area when menu is open */ display: none; position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1010; background: rgba(0,0,0,0.6); } .prl-offcanvas.prl-active { display: block; } .prl-offcanvas-page { position: fixed; -webkit-transition: margin-left .3s ease-in-out 50ms; transition: margin-left .3s ease-in-out 50ms; } .prl-offcanvas-bar { /* directions to where to slide main canvas to when menu is open */ position: fixed; top: 0; bottom: 0; left: 0; -webkit-transform: translateX(-100%); transform: translateX(-100%); z-index: 1011; width: 250px; max-width: 100%; background: #000; overflow-y: auto; overflow-x: hidden; -webkit-overflow-scrolling: touch; -webkit-transition: -webkit-transform .3s ease-in-out; transition: transform .3s ease-in-out; } .prl-nav-flip { position: absolute; right: 0; top: 0; } .prl-nav-toggle { height: 50px; line-height: 50px; float: left; font-family: Georgia; vertical-align: middle; font-size: 18px; } .textcenter { text-align: center; } .prl-navbar .nav_menu_control a { color: #666; } .prl-navbar .nav_menu_control a span.nav_menu_control_text { line-height: 50px; margin-left: 5px; text-transform: uppercase; } .sf-menu>li>a { font-weight: 400; } /* Menu Section ----------------------------------------- */ .sticky-nav,body.site-wide .sticky-nav { background-color: #000000; /* menu bar color*/ height: 55px; //border-bottom: 1px solid #ffeef8; position: fixed; z-index: 100; width: 100%; left: 0; right: 0; box-shadow: 0 0 5px rgba(0,0,0,0.2); } .prl-navbar.sticky-nav .nav-wrapper { -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; } .sticky-nav .sf-menu { margin-bottom: 0; } .sticky-nav .sf-menu>li>a { border: none; } .sticky-nav .prl-navbar-content { height: 40px; } .prl-navbar-toggle-top { display: none; } .sticky-nav .prl-navbar-toggle-top { display: block; margin-left: 10px; } .side-nav { position: relative; display: block; top: 0; float: none; } .side-nav ul { width: 250px; list-style: none; //padding: 15px !important; margin: 0; //position: absolute; font-size: 20px; //border: 1px solid #ffeef8; } .side-nav ul li { position: relative; //border: 1px solid #ffeef8; margin: 0; padding-top: 8px !important; padding-right: 8px !important; padding-bottom: 8px !important; padding-left: 5px !important; float: none !important; border-top: 1px solid #ffeef8; border-bottom: 1px solid #ffeef8; } #nav-list li { display: inline-block; width: 250px; } #nav-list li a { color: #ffeef8; margin: 0; padding: 5px; font-family: Georgia; float: none; font-size: 20px; display: block; } #nav-list_sub-list li a { padding-left: 30px; } .logo { //float: left; top: 5px; max-width: 280px; left: 20px; padding-top: 12px; } .nav_menu_control { height: 50px; } .nav_menu_control img { width: 30px; top: 17px; left: 5px; } .side-nav ul li:hover { background-color: #440044; } .quickedit { top: 25px; position: relative; } </style> <!--link rel="stylesheet" type="text/css" href="https://rawgit.com/fahimraza/myblog/master/slideout_mobile_menu_public.css" /--> <nav id="nava" role="navigation" class="sticky-nav" style="top: 0px;"> <!--search box--> <form id="searchbox" method="get" action="/search"> <input name="q" type="text" id="search-in" size="19" value="Search" required /> <input name="m" type="hidden" value="1" /> <button type="submit" class="_54k8 _56bs _56b_ _56bw _56bu" id="u_0_1" data-sigil="touchable"><span class="_55sr">Go!</span></button> <img id="hide-search" src="http://1.bp.blogspot.com/-tKEvMrl1rNg/VlHno1INErI/AAAAAAAAEDM/p6QC4v0mUGg/s1600/rsz_close-icon.jpg" /> <div id="search-height"></div> </form> <!--end of search box--> <div class="prl-container"> <div class="nav-wrapper clearfix"> <!--img id="show-search" src="http://2.bp.blogspot.com/-JJaM7cFOVhQ/VlHnpNl_awI/AAAAAAAAEDU/DoJe685oe7w/s1600/rsz_search-icon.png" /--><img id="show-search" src="https://lh3.googleusercontent.com/-aA7AhGIh6YY/Vka3Ce0IZXI/AAAAAAAAFXc/nT61INIc5mI/s800-Ic42/magnifying%252520glass.png" /> <div style="float:left;"> <div class="nav_menu_control"><a href="#" data-prl-offcanvas="{target:'#offcanvas'}"><!--img src="http://1.bp.blogspot.com/-pb2BSgtLzLA/VlHnpOZWKCI/AAAAAAAAEDQ/T3ujbHq-QXE/s1600/rsz_mobile-menu-icon.png"/--><img src="https://lh3.googleusercontent.com/-xn294jeTBkM/VoXAVGz_nnI/AAAAAAAAFqE/dAu9_OaJmpw/s800-Ic42/mobile-menu-icon.png"/></a></div> </div> <div class="container"> <div class="left"> <a href="/?m=1"><img src="https://lh3.googleusercontent.com/-C0LCX6y-TOM/VpBOXOKVGcI/AAAAAAAAFsk/TNrTYHlbxQA/s800-Ic42/title%252520and%252520logo.png" class="logo" alt="Cramer Imaging"/> </a></div> <div class="gradient"> <img width="100%" src="https://lh3.googleusercontent.com/-f10MtBqh1gM/Vkbu7xJrLpI/AAAAAAAAFYA/PkrjL8IXSIk/s800-Ic42/Gradient%252520Line.png" /> </div> <div class="clear"></div></div></div></div></nav><div style="clear: both;"></div> <!--Social Media Follow Buttons--> <div id="offcanvas" class="prl-offcanvas"> <div class="prl-offcanvas-bar"> <div class="social-icons" style="padding-top: 5px; background: #fff; padding-left: 5px;"> <p>Follow us: </p> <!--Facebook--> <a href="https://www.facebook.com/CramerImaging"><img border="0" src="https://lh3.googleusercontent.com/-KcO63-AIF3k/VpBBxunfdOI/AAAAAAAAFrg/J-6uoMp5fmw/s800-Ic42/facebook.png" /></a> <!--Twitter> <a href="https://twitter.com/Cramerimaging"><img border="0" src="http://4.bp.blogspot.com/-fWnS_YBm4Fk/VkyJtu17mhI/AAAAAAAAEC0/7ujWxnTR9S0/s1600/Twitter-Logo.png" /></a--> <!--Pinterest--> <a href="https://www.pinterest.com/cramerimaging"><img border="0" src="https://lh3.googleusercontent.com/-r8pgwWVJKss/VpBBxmQaAbI/AAAAAAAAFrk/AeFzDI8udXk/s800-Ic42/Pinterest.png" /></a> <!--Instagram--> <a href="https://www.instagram.com/cramerimaging"><img border="0" src="https://lh3.googleusercontent.com/-TFiWgXBKOU4/VpBBxtajzBI/AAAAAAAAFro/JAoPLJ3rfgg/s800-Ic42/Instagram.png" /></a> <!--end Social Media Follow Buttons--> </div> <!--Menu Navigation--> <nav class="side-nav"> <ul id="nav-list" class="nav-list"> <li><a href="http://www.cramerimaging.com/?m=1">Home</a></li> <li><a href="http://store.cramerimaging.com/?m=1">Galleries</a></li> <ul id="nav-list_sub-list" class="nav-list_sub-list"> <li><a href="http://www.cramerimaging.com/p/recent-photos.html">New Photos</a></li> <li><a href="http://store.cramerimaging.com/gallery/nature/">Nature</a></li> <li><a href="http://store.cramerimaging.com/gallery/fineart/">Fine Art</a></li> <li><a href="http://store.cramerimaging.com/gallery/nature/album/1220457">Animals</a></li> <li><a href="http://cramerimaging.pixieset.com/">Previews </a></li> </ul> <li><a href="http://www.cramerimaging.com/p/faq.html?m=1">FAQ</a></li> <li><a href="http://www.cramerimaging.com/index.html?m=1">Blog</a></li> <li><a href="http://www.cramerimaging.com/p/about-us.html?m=1">About Us</a></li> <ul id="nav-list_sub-list" class="nav-list_sub-list"> <li><a href="http://www.cramerimaging.com/p/artist-statement.html">Artist Statement</a></li> <li><a href="http://www.cramerimaging.com/p/awards.html">Awards</a></li> </ul> <li><a href="http://www.cramerimaging.com/p/contact-us.html?m=1">Contact</a></li> </ul> </nav> <!--end Menu Navigation--> </div> <!-- script type='text/javascript' src='https://rawgit.com/101Helper/docs/master/slideout_mobile_menu.js'></script --> <!-- script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script -> <!-- script type='text/javascript' src='https://rawgit.com/101Helper/docs/master/slideout_mobile_menu.js'></script --></div> <script> $(document).ready(function(){ $("#hide-search").click(function(){ $("#searchbox").hide(); }); $("#show-search").click(function(){ $("#searchbox").show(); }); }); </script> <div id='menu-height'/> </div> <script> (function($, doc) { "use strict"; var UI = $.UIkit || {}; if (UI.fn) { return; } UI.fn = function(command, options) { var args = arguments, cmd = command.match(/^([a-z\-]+)(?:\.([a-z]+))?/i), component = cmd[1], method = cmd[2]; if (!UI[component]) { $.error("UIkit component [" + component + "] does not exist."); return this; } return this.each(function() { var $this = $(this), data = $this.data(component); if (!data) $this.data(component, (data = new UI[ component](this, method ? undefined : options))); if (method) data[method].apply(data, Array.prototype .slice.call(args, 1)); }); }; UI.version = '1.2.0'; UI.support = {}; UI.support.transition = (function() { var transitionEnd = (function() { var element = doc.body || doc.documentElement, transEndEventNames = { WebkitTransition: 'webkitTransitionEnd', MozTransition: 'transitionend', OTransition: 'oTransitionEnd otransitionend', transition: 'transitionend' }, name; for (name in transEndEventNames) { if (element.style[name] !== undefined) { return transEndEventNames[name]; } } }()); return transitionEnd && { end: transitionEnd }; })(); UI.support.touch = (('ontouchstart' in window) || window.DocumentTouch && document instanceof window.DocumentTouch); UI.support.mutationobserver = (window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver || null); UI.Utils = {}; UI.Utils.debounce = function(func, wait, immediate) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; if (!immediate) func.apply(context, args); }; var callNow = immediate && !timeout; clearTimeout(timeout); timeout = setTimeout(later, wait); if (callNow) func.apply(context, args); }; }; UI.Utils.options = function(string) { if ($.isPlainObject(string)) return string; var start = (string ? string.indexOf("{") : -1), options = {}; if (start != -1) { try { options = (new Function("", "var json = " + string.substr( start) + "; return JSON.parse(JSON.stringify(json));" ))(); } catch (e) {} } return options; }; $.UIkit = UI; $.fn.uk = UI.fn; $.UIkit.langdirection = $("html").attr("dir") == "rtl" ? "right" : "left"; $(function() { $(doc).trigger("prl-domready"); if (!UI.support.mutationobserver) return; var observer = new UI.support.mutationobserver(UI.Utils.debounce( function(mutations) { $(doc).trigger("prl-domready"); }, 300)); observer.observe(document.body, { childList: true, subtree: true }); }); })(jQuery, document);; (function($, UI) { "use strict"; var Tab = function(element, options) { var $this = this, $element = $(element); if ($element.data("tab")) return; this.element = $element; this.options = $.extend({ connect: false }, this.options, options); if (this.options.connect) { this.connect = $(this.options.connect); } if (window.location.hash) { var active = this.element.children().filter(window.location .hash); if (active.length) { this.element.children().removeClass('prl-active').filter( active).addClass("prl-active"); } } var mobiletab = $( '<li class="prl-tab-responsive prl-active"><a href="javascript:void(0);"></a></li>' ), caption = mobiletab.find("a:first"), dropdown = $( '<div class="prl-dropdown prl-dropdown-small"><ul class="prl-nav prl-nav-dropdown"></ul><div>' ), ul = dropdown.find("ul"); caption.html(this.element.find("li.prl-active:first").find("a") .text()); if (this.element.hasClass("prl-tab-bottom")) dropdown.addClass( "prl-dropdown-up"); if (this.element.hasClass("prl-tab-flip")) dropdown.addClass( "prl-dropdown-flip"); this.element.find("a").each(function(i) { var tab = $(this).parent(), item = $('<li><a href="javascript:void(0);">' + tab.text() + '</a></li>').on("click", function(e) { $this.element.data("switcher").show(i); }); if (!$(this).parents(".prl-disabled:first").length) ul.append(item); }); this.element.uk("switcher", { "toggler": ">li:not(.prl-tab-responsive)", "connect": this.options.connect }); mobiletab.append(dropdown).uk("dropdown", { "mode": "click" }); this.element.append(mobiletab).data({ "dropdown": mobiletab.data("dropdown"), "mobilecaption": caption }).on("uk.switcher.show", function(e, tab) { mobiletab.addClass("prl-active"); caption.html(tab.find("a").text()); }); this.element.data("tab", this); }; UI["tab"] = Tab; $(document).on("prl-domready", function(e) { $("[data-prl-tab]").each(function() { var tab = $(this); if (!tab.data("tab")) { var obj = new Tab(tab, UI.Utils.options(tab .attr("data-prl-tab"))); } }); }); })(jQuery, jQuery.UIkit);; (function($, UI) { "use strict"; var Switcher = function(element, options) { var $this = this, $element = $(element); if ($element.data("switcher")) return; this.options = $.extend({}, this.options, options); this.element = $element.on("click", this.options.toggler, function(e) { e.preventDefault(); $this.show(this); }); if (this.options.connect) { this.connect = $(this.options.connect).find(".prl-active").removeClass( ".prl-active").end(); var active = this.element.find(this.options.toggler).filter( ".prl-active"); if (active.length) { this.show(active); } } this.element.data("switcher", this); }; $.extend(Switcher.prototype, { options: { connect: false, toggler: ">*" }, show: function(tab) { tab = isNaN(tab) ? $(tab) : this.element.find(this.options .toggler).eq(tab); var active = tab; if (active.hasClass("prl-disabled")) return; this.element.find(this.options.toggler).filter( ".prl-active").removeClass("prl-active"); active.addClass("prl-active"); if (this.options.connect && this.connect.length) { var index = this.element.find(this.options.toggler) .index(active); this.connect.children().removeClass( "prl-active").eq(index).addClass( "prl-active"); } this.element.trigger("uk.switcher.show", [active]); } }); UI["switcher"] = Switcher; $(document).on("prl-domready", function(e) { $("[data-prl-switcher]").each(function() { var switcher = $(this); if (!switcher.data("switcher")) { var obj = new Switcher(switcher, UI.Utils.options( switcher.attr( "data-prl-switcher"))); } }); }); })(jQuery, jQuery.UIkit);; (function($, UI) { "use strict"; var active = false, Dropdown = function(element, options) { var $this = this, $element = $(element); if ($element.data("dropdown")) return; this.options = $.extend({}, this.options, options); this.element = $element; this.dropdown = this.element.find(".prl-dropdown"); this.centered = this.dropdown.hasClass("prl-dropdown-center"); this.justified = this.options.justify ? $(this.options.justify) : false; this.boundary = $(this.options.boundary); if (!this.boundary.length) { this.boundary = $(window); } if (this.options.mode == "click") { this.element.on("click", function(e) { if (!$(e.target).parents(".prl-dropdown").length) { e.preventDefault(); } if (active && active[0] != $this.element[0]) { active.removeClass("prl-open"); } if (!$this.element.hasClass("prl-open")) { $this.checkDimensions(); $this.element.addClass("prl-open"); active = $this.element; $(document).off("click.outer.dropdown"); setTimeout(function() { $(document).on( "click.outer.dropdown", function(e) { if (active && active[0] == $this.element[0] && ($(e.target).is( "a") || !$this.element .find( ".prl-dropdown" ).find(e.target) .length)) { active.removeClass( "prl-open" ); $(document).off( "click.outer.dropdown" ); } }); }, 10); } else { if ($(e.target).is("a") || !$this.element.find( ".prl-dropdown").find(e.target).length) { $this.element.removeClass("prl-open"); active = false; } } }); } else { this.element.on("mouseenter", function(e) { if ($this.remainIdle) { clearTimeout($this.remainIdle); } if (active && active[0] != $this.element[0]) { active.removeClass("prl-open"); } $this.checkDimensions(); $this.element.addClass("prl-open"); active = $this.element; }).on("mouseleave", function() { $this.remainIdle = setTimeout(function() { $this.element.removeClass( "prl-open"); $this.remainIdle = false; if (active && active[0] == $this.element[ 0]) active = false; }, $this.options.remaintime); }); } this.element.data("dropdown", this); }; $.extend(Dropdown.prototype, { remainIdle: false, options: { "mode": "hover", "remaintime": 800, "justify": false, "boundary": $(window) }, checkDimensions: function() { if (!this.dropdown.length) return; var dropdown = this.dropdown.css("margin-" + $.UIkit .langdirection, "").css("min-width", ""), offset = dropdown.show().offset(), width = dropdown.outerWidth(), boundarywidth = this.boundary.width(), boundaryoffset = this.boundary.offset() ? this.boundary .offset().left : 0; if (this.centered) { dropdown.css("margin-" + $.UIkit.langdirection, ( parseFloat(width) / 2 - dropdown.parent() .width() / 2) * -1); offset = dropdown.offset(); if ((width + offset.left) > boundarywidth || offset.left < 0) { dropdown.css("margin-" + $.UIkit.langdirection, ""); offset = dropdown.offset(); } } if (this.justified && this.justified.length) { var jwidth = this.justified.outerWidth(); dropdown.css("min-width", jwidth); if ($.UIkit.langdirection == 'right') { var right1 = boundarywidth - (this.justified .offset().left + jwidth), right2 = boundarywidth - (dropdown.offset() .left + dropdown.outerWidth()); dropdown.css("margin-right", right1 - right2); } else { dropdown.css("margin-left", this.justified.offset() .left - offset.left); } offset = dropdown.offset(); } if ((width + (offset.left - boundaryoffset)) > boundarywidth) { dropdown.addClass("prl-dropdown-flip"); offset = dropdown.offset(); } if (offset.left < 0) { dropdown.addClass("prl-dropdown-stack"); } dropdown.css("display", ""); } }); UI["dropdown"] = Dropdown; var triggerevent = UI.support.touch ? "touchstart" : "mouseenter"; $(document).on(triggerevent + ".dropdown.uikit", "[data-prl-dropdown]", function(e) { var ele = $(this); if (!ele.data("dropdown")) { var dropdown = new Dropdown(ele, UI.Utils.options(ele.data( "prl-dropdown"))); if (triggerevent == "mouseenter" && dropdown.options.mode == "hover") { ele.trigger("mouseenter"); } } }); })(jQuery, jQuery.UIkit);; (function($, UI) { "use strict"; if (UI.support.touch) { $("html").addClass("prl-touch"); } var $win = $(window), $doc = $(document), Offcanvas = { show: function(element) { element = $(element); if (!element.length) return; var doc = $("html"), bar = element.find(".prl-offcanvas-bar:first"), dir = bar.hasClass("prl-offcanvas-bar-flip") ? -1 : 1, scrollbar = dir == -1 && $win.width() < window.innerWidth ? (window.innerWidth - $win.width()) : 0; scrollpos = { x: window.scrollX, y: window.scrollY }; element.addClass("prl-active"); doc.css({ "width": window.innerWidth, "height": window.innerHeight }).addClass("prl-offcanvas-page"); doc.css("margin-left", ((bar.outerWidth() - scrollbar) * dir)).width(); bar.addClass("prl-offcanvas-bar-show").width(); element.off(".ukoffcanvas").on( "click.ukoffcanvas swipeRight.ukoffcanvas swipeLeft.ukoffcanvas", function(e) { var target = $(e.target); if (!e.type.match(/swipe/)) { if (target.hasClass("prl-offcanvas-bar")) return; if (target.parents( ".prl-offcanvas-bar:first").length) return; } e.stopImmediatePropagation(); Offcanvas.hide(); }); $doc.on('keydown.offcanvas', function(e) { if (e.keyCode === 27) { Offcanvas.hide(); } }); }, hide: function(force) { var doc = $("html"), panel = $(".prl-offcanvas.prl-active"), bar = panel.find(".prl-offcanvas-bar:first"); if (!panel.length) return; if ($.UIkit.support.transition && !force) { doc.one($.UIkit.support.transition.end, function() { doc.removeClass("prl-offcanvas-page").attr( "style", ""); panel.removeClass("prl-active"); window.scrollTo(scrollpos.x, scrollpos.y); }).css("margin-left", ""); setTimeout(function() { bar.removeClass( "prl-offcanvas-bar-show"); }, 50); } else { doc.removeClass("prl-offcanvas-page").attr("style", ""); panel.removeClass("prl-active"); bar.removeClass("prl-offcanvas-bar-show"); window.scrollTo(scrollpos.x, scrollpos.y); } panel.off(".ukoffcanvas"); $doc.off(".ukoffcanvas"); } }, scrollpos; var OffcanvasTrigger = function(element, options) { var $this = this, $element = $(element); if ($element.data("offcanvas")) return; this.options = $.extend({ "target": $element.is("a") ? $element.attr("href") : false }, options); this.element = $element; $element.on("click", function(e) { e.preventDefault(); Offcanvas.show($this.options.target); }); this.element.data("offcanvas", this); }; OffcanvasTrigger.offcanvas = Offcanvas; UI["offcanvas"] = OffcanvasTrigger; $doc.on("click.offcanvas.uikit", "[data-prl-offcanvas]", function(e) { e.preventDefault(); var ele = $(this); if (!ele.data("offcanvas")) { var obj = new OffcanvasTrigger(ele, UI.Utils.options( ele.attr("data-prl-offcanvas"))); ele.trigger("click"); } }); })(jQuery, jQuery.UIkit);; (function($) { "use strict"; $.fn.jAccordion = function() { var $this = $(this); $this.find("section").each(function(idx) { var section = $(this); if (idx === 0) section.addClass('active').find( 'div.acc-content').slideDown(); section.find('a.head').on("click", function() { var handle = $(this); handle.parent().toggleClass('active'); if (handle.parent().hasClass('active')) { handle.next('div.acc-content').slideDown(); } else { handle.next('div.acc-content').slideUp(); } return false; }); }); }; })(jQuery);; (function($) { $.fn.jflickrfeed = function(settings, callback) { settings = $.extend(true, { flickrbase: 'http://api.flickr.com/services/feeds/', feedapi: 'photos_public.gne', limit: 20, qstrings: { lang: 'en-us', format: 'json', jsoncallback: '?' }, cleanDescription: true, useTemplate: true, itemTemplate: '', itemCallback: function() {} }, settings); var url = settings.flickrbase + settings.feedapi + '?'; var first = true; for (var key in settings.qstrings) { if (!first) url += '&'; url += key + '=' + settings.qstrings[key]; first = false; } return $(this).each(function() { var $container = $(this); var container = this; $.getJSON(url, function(data) { $.each(data.items, function(i, item) { if (i < settings.limit) { if (settings.cleanDescription) { var regex = /<p>(.*?)<\/p>/g; var input = item.description; if (regex.test( input)) { item.description = input.match( regex)[ 2] if (item.description != undefined) item.description = item.description .replace( '<p>', '').replace( '</p>', ''); } } item['image_s'] = item.media .m.replace('_m', '_s'); item['image_t'] = item.media .m.replace('_m', '_t'); item['image_m'] = item.media .m.replace('_m', '_m'); item['image'] = item.media .m.replace('_m', ''); item['image_b'] = item.media .m.replace('_m', '_b'); delete item.media; if (settings.useTemplate) { var template = settings.itemTemplate; for (var key in item) { var rgx = new RegExp( '{{' + key + '}}', 'g'); template = template.replace( rgx, item[ key ]); } $container.append( template) } settings.itemCallback.call( container, item ); } }); if ($.isFunction(callback)) { callback.call(container, data); } }); }); } })(jQuery); (function(a) { a.fn.jqinstapics = function(b) { var c = { user_id: null, access_token: null, count: 10 }; var d = a.extend(c, b); return this.each(function() { var b = a(this), c = "https://api.instagram.com/v1/users/" + d.user_id + "/media/recent?access_token=" + d.access_token + "&count=" + d.count + "&callback=?"; a.getJSON(c, function(c) { a.each(c.data, function(c, d) { var e = a("<a/>", { href: d.link, target: "_blank" }).appendTo(b), f = a("<img/>", { src: d.images.thumbnail .url }).appendTo(e); if (d.caption) { f.attr("title", d.caption .text) } }) }); if (d.user_id == null || d.access_token == null) { b.append( "<li>Please specify a User ID and Access Token, as outlined in the docs.</li>" ) } }) } })(jQuery); (function($) { "use strict"; $.fn.fitVids = function(options) { var settings = { customSelector: null }; if (!document.getElementById('fit-vids-style')) { var div = document.createElement('div'), ref = document.getElementsByTagName('base')[0] || document.getElementsByTagName('script')[0], cssStyles = '&shy;<style>.fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}</style>'; div.className = 'fit-vids-style'; div.id = 'fit-vids-style'; div.style.display = 'none'; div.innerHTML = cssStyles; ref.parentNode.insertBefore(div, ref); } if (options) { $.extend(settings, options); } return this.each(function() { var selectors = ["iframe[src*='player.vimeo.com']", "iframe[src*='youtube.com']", "iframe[src*='youtube-nocookie.com']", "iframe[src*='kickstarter.com'][src*='video.html']", "object", "embed" ]; if (settings.customSelector) { selectors.push(settings.customSelector); } var $allVideos = $(this).find(selectors.join(',')); $allVideos = $allVideos.not("object object"); $allVideos.each(function() { var $this = $(this); if (this.tagName.toLowerCase() === 'embed' && $this.parent('object').length || $this.parent( '.fluid-width-video-wrapper').length ) { return; } var height = (this.tagName.toLowerCase() === 'object' || ($this.attr( 'height') && !isNaN( parseInt($this.attr( 'height'), 10)))) ? parseInt($this.attr('height'), 10) : $this.height(), width = !isNaN(parseInt($this.attr( 'width'), 10)) ? parseInt($this .attr('width'), 10) : $this.width(), aspectRatio = height / width; if (!$this.attr('id')) { var videoID = 'fitvid' + Math.floor( Math.random() * 999999); $this.attr('id', videoID); } $this.wrap( '<div class="fluid-width-video-wrapper"></div>' ).parent( '.fluid-width-video-wrapper').css( 'padding-top', (aspectRatio * 100) + "%"); $this.removeAttr('height').removeAttr( 'width'); }); }); }; })(window.jQuery || window.Zepto); </script>

How to Install Picture Wire on a Picture Frame

Do you have a picture you want to hang on the wall but you're afraid that the mount might not support the weight?  That's a common problem for many mid-sized to heavy pictures and frames.  For small frames, you can often just use the little alligator hangar which should hold a small frame on the wall nicely.  For larger frames, however, you'll probably need something more substantial: picture wire.  How then do you install picture wire on a picture frame?

Photograph of the back of a wooden picture frame with picture wire and white canvas by Cramer Imaging

For those who prefer watching a how-to video, we've got one at the bottom for you which covers what we talk about here in the rest of the article.

Getting Ready


Installation is actually pretty simple.  You'll need to start by gathering all the tools you'll need and preparing your work surface.  You don't want to be hunting for a tool or destroying the picture frame on a hard surface in the process.  Once you've assembled the picture, the hooks to hang with, the picture wire, a drill with appropriate drill bits, and a screwdriver or drill bit set there, a pencil, a tape measure, and wire cutters, you're ready to go.

Photograph of a picture wire hook attached to a wooden frame with picture wire attached to it by Cramer Imaging

You can use eye hooks to hang picture wire, just be sure to bend them over if you do.  It's better to use purpose-made D rings which lie flat for your picture wire.  Some places even just attach the wire to the frame with industrial staples.

The Process


Cramer Imaging's professional quality stock photograph of a yellow and green tape measure on a black background
You want to attach the wire at two places on both sides of the frame.  Measure about 1/4 to 1/3 of the way from the top on one side and mark it.  Do the exact same thing with the exact same distance on other side.  

For D rings or eyehooks, you're going to want to start by measuring down equal distances on both sides and marking a small space in the middle of the wood.  If you can, you want to put it in the middle of the slat.  If not, place your mark wherever on the frame seems strongest and most likely to support the weight.  That mark location should be the same on both sides of the frame.

Next drill a small hole (just smaller than the screw you're going to be using) in both spots where you've marked.  While drilling a pilot hole isn't strictly necessary, doing so makes it less likely for the wood to split when you screw something in to it.  Now, you attach the d rings or eyehooks to the frame.  If you used eyehooks, you're most likely going to want to bend them over so they don't ding the wall.

Next, you're going to want to attach the wire.  That's pretty simple.  You want to cut the wire to length so that it will hang the picture a short distance down from the top, and have enough left over to run it through the hooks and twist it around itself several times.  It's best to check this before cutting the wire.  This way you don't have picture wire peeking over the top of the picture frame when you hang it.

Finally, you're going to want to protect the wall, so you need some of the little bumpers (sometimes called frog eyes or fish eyes) to put on the corners.  They should come with adhesive on the back already so attaching them is as simple as pealing and sticking to the right place (bottom corners).

Now the frame should be done, and you can attach the mount to the wall.  You can read about how to do that here.


Attaching the hanging wire to a frame is fairly easy.  With a little preparation, it can be done with just a few tools and in just a few minutes.

Instagram