<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 Commission a Photo Project

You've got a particular vision of a photo you want to see.  You might not see every detail completely, but you've got an overall feel for what you want to see.  You do a search online and don't find anything which quite works the way you hope.  You still want that photo.  What do you do next?  Why, you commission a photographer to take the photo for you.

Commissioning a photo or several photos sounds like an easy job.  Just find a photographer, tell him or her what you want to see in the final product, sit back as the work is done, and enjoy your new photo at the end.  While it sounds easy, commissioning a photo project really isn't that easy at all.  There's a lot of homework for you to do on your end and that's what we're talking about today.

Cramer Imaging's photograph of an award-winning photos depicting a waterfall in a simple double mat and wooden frame

Keep in mind that commercial-use photography is the most common reason to commission a photo project of this kind.  We're not talking about weddings or portraits (outside of commercial-use headshot type portraits) at all.  Because of this, many points will sound like they are addressing commercial use.  However, many of the same rules will still apply to commissioned photo projects for private use too.

1. Define Your Vision Specifically


You can't just say "I want a landscape photo" and expect a photographer to understand what you want with just that very vague amount of information.  Remember, none of us photographers are inside your head.


While you do need to leave a bit of room for personal interpretation and style, you will want as many specifics as you can for your overall goal.  Here are some questions which can help get you started in defining your vision.  Some of these questions might not occur to you but will be things which the photographer will want to know.

  • How many photos do you want taken?
  • Why do you want this/these photo(s) taken?
  • Are you seeking personal or commercial use?
  • What subject matter do you want?  (Create a shot list if necessary)
  • Is there a particular location(s) you want?
  • Is there a type of scenery/background you want?
  • If outdoors, do you want buildings, other man-made objects, or people present in the photo?
  • What is your preferred time of day and year if not using a studio?
  • What is your budget for this project?
  • When is this project due?

Graphic of question marks representing confusion on a black background by Cramer Imaging
The photographers you contact may even have their own questions not listed above.  The more specifics you can give, the better chance your photographer of choice will have in creating the photo(s) you envision.  Even creating a Pinterest board you can share with ideas and similar kinds of photos will help.  If you can, write up a client brief to further solidify things.  If you're seeking commercial use, then a client brief is a good way to go anyways.

A word of caution to defining your vision: if you define it too narrowly, such as wanting a photographer to exactly duplicate someone else's photo, then you probably will be repeatedly turned down for the project and will be disappointed by the results if a photographer does agree to take on your project.

2. Research Out Photographers Who Can Meet Your Needs


Landscape photographer Audrey holding up a camera and taking a picture by Cramer Imaging
If you have a vision, you need someone who can properly bring that vision to life.  Any old photographer will not due for a custom project such as yours.  You need to make sure that your choice of photographer is capable of completing the job to your satisfaction.  Take the time to properly research out someone who can meet your needs now.  The internet is a great place to start looking.

Also, don't just choose one photographer and pin all your hopes on this photographer to get the job done.  Have a list of at least 3 to 4 whom you feel would do the job adequately.  This list is for backup options.  You'll see why shortly.

Narrow Your Niche


The first obvious point is that a portrait photographer will not have the skill set to take a landscape photo and vice versa.  You will need to narrow down specialties and niches into something which matches with your vision.  Take, for example, narrowing fine art photography down to astrophotography.  This will automatically eliminate abstract photography, architectural photography, wildlife photography, and many more kinds of photography.  You are left with a landscape photographer who specializes in taking landscape photos at night with the Milky Way in the sky.

Landscape photographer Audrey Cramer setting up a landscape panorama photo at Henry's Lake Idaho

Now astrophotography is a pretty specific niche of photography.  However, if your vision includes a gorgeous spread of the galactic arms in the starry heavens over a darkened landscape scene, then this is the level of niching which you must do.  If the photographer's portfolio doesn't include competency in this area, then you should probably move on and find another who has this competency.

Proper Equipment


Another point you must consider is whether or not the photographer of your choice has the necessary equipment for doing the job.  Most photographers are equipped for jobs in their field, whatever the job is, but it still doesn't hurt to double check.  This becomes especially relevant if you are commissioning a commercial-use photography project.

The camera and accessories found inside the camera bag at Cramer Imaging

Playing with and learning new photography equipment is not something which a professional photographer should be doing on your dime.  It's costly to you in both time and money.  The probability of needing extra retakes goes up.  This is not the same as renting gear with which the photographer is already familiar with but does not already own.  Renting gear is an acceptable expense if this photographer is the right photographer for you.

Travel Requirements


If location is a key factor in your photo project, then you do need to consider where your photographer of choice is based and where he or she can easily travel to.  If the location or subject matter (think headshots) of your shoot is close-by, then most local photographers should be able to handle the job.  If the location is a greater distance away, then you need to consider if the photographer can travel the distance.

Photograph of a sedan style grey car parked on snow in Pocatello, Bannock, Idaho by Cramer Imaging

Please keep in mind that a photographer might decline your project on these grounds if travel expenses are beyond their current means and you're not covering their travel.

Photographer's Style


Cramer Imaging's professional quality nature landscape photograph of the Natural Arch in Bryce Canyon National Park, Utah
Take a good look at the photographer's overall style.  A great way to do so is to examine his/her portfolio.  Most photographers display an online portfolio via their website and/or social media.  This body of work is what will attract or repel you from hiring him or her.  If you choose to hire the photographer, their portfolio reflects the general style your commissioned photo(s) will be in.  You had better be happy with what you see or you'll hate the results of your project with this photographer.

Personal Compatibility


One final point you need to consider is how well you think you will get along with the photographers you are researching.  You are going to be in communication periodically so you need someone you can work with.  You also need someone who can understand the nuances of the project which are difficult to put into words.  A clueless photographer will be frustrating to no end and eat up lots of time with delays and re-shoots.  A difficult photographer will make you dread having to deal with him or her even for simple and planned interactions.


Make sure that you are also evaluating the person behind the camera in addition to the portfolio which he or she presents.  This could save you time, money and headache.

3. Be Prepared to Listen to Alternate Ideas


Be prepared to listen to alternate ideas from your photographer regarding how to proceed with your project.  Sometimes a photographer will have a different idea of how to reach your overarching goals with this project.  Some of these ideas may come from past experience.  Other ideas may be a spark of creativity on the part of the photographer.  Either way, sometimes the photographer may have a better idea of how to achieve your goals than you do.  It's not an insult to you.  It's actually the photographer trying to help you.

Cramer Imaging's collage of different takes on Old Faithful in Yellowstone National Park Wyoming with glasses
Here we have 2 very different takes on Old Faithful.  One may work better than the other for your purposes.
Should alternate ideas come up, listen to what the photographer has to say and give him or her a chance to show you what he or she means.  Remember, you're the client.  You can always revert back to your original vision and plan if alternates don't work out as well as predicted.

4. Don't Assume Every Photographer Will Want to Take On Your Project


It's a flat out fact that not every photographer out there, even with all your research, will want to take on your project.  They may have legitimate reasons why not.  These can include personal reasons (which they may or may not choose to discuss with you), your project doesn't meet with their current goals or direction, they've already filled that time slot with something else, travel expenses are too high, etc.  You should get an initial feel of the photographer's opinion during initial contact if it isn't stated outright.

Behind-the-scenes photograph of landscape photographer Audrey Cramer looking back up the trail

Please be polite and professional during all your communications.  Dropping this tone can result in a photographer changing his or her mind after initially agreeing to take on your project.

One of the worst things you can do is to act like you're doing the photographer a favor by giving them the job.  That's insulting.The icing on the insult cake is to offer a budget WAY below their going rate or even throw out the word 'exposure'.  I've got an entire article dedicated to the topic of paying photographers in 'exposure' if you feel that this is adequate compensation for a commissioned photography project.  Taking this route will almost certainly ensure that your photographer of choice (and many others too) will decline your project.

Behind-the-scenes photograph of photographer Audrey Cramer scouting out a shot at Kolob Canyon Zion National Park Utah

In the event that your top photographer of choice declines your project, for whatever reason, this is why you have a backup list of photographers to contact.  Then you don't have to go about the hard work of researching out another candidate and waste valuable time in the process.  Choose another photographer from your list and see if he or she is willing to take on the project instead.

5. Introduce People or Scout Locations With the Photographer


When you're at this stage of the project, you should have at least one photographer who is interested in your project.  This is the time where you fill in all sorts of added details which were not included in the initial contact.  At this point, the photographer can still say 'no' so be upfront about things and maintain a professional, courteous, and respectful tone in all your communications.

Photograph of Audrey of Cramer Imaging climbing up a snowy slope in the winter
If you've got a specific place (or places) in mind for your photo shoot, then you need to take the time and show the photographer where to go.  The same goes for specific people.  Introduce them to the photographer before the shoot.  Make things easier for the photographer to say 'yes' to your project by disclosing all the relevant details like this.

If you can't be ready to scout locations or make introductions at initial contact, then schedule and appointment with the photographer and any relevant other parties.  Scouting locations is especially critical for an onsite photographer of any kind.  Your photographer will need a feel for the location in addition to other factors.

Some reasons for scouting out locations include: the angle you like on a location might not work out on film half as well as you are hoping.  The lighting conditions change throughout the day.  One time of day may be better than another for a photo shoot.  Let the photographer get a feel for the location(s) you want for your shoot.


Also, make sure that the photographer can meet anyone whom you wish to have pictures of.  Each person is unique and may have certain photo requirements which you might not notice.  For example: a common, but often overlooked, issue is a bend in a person's nose.  If shot from the wrong angle, this problem will exacerbate in the picture into something very unflattering.  A meetup beforehand will give the photographer a chance to see this and address the problem beforehand without the subject knowing.  Give the person to be photographed (the subject) a chance to add their thoughts to their portrait.  They have ideas which might really help things too.

Photo of Ken at Capitol Reef National Park Utah in the wintertime

The more narrow and defined your vision is for this photo project, the more time you will probably need to take with the photographer at this step.  It's critical for the photographer to catch onto your vision and this is where it should crystallize for him or her.

6. Do NOT Assume that Terms, Timelines, Budgets, etc. Will Work Themselves Out Later


Copyright logo on a black background
When you commission a photo project, you are entering into a business relationship with a photographer.  You are giving something of value (money, trade, etc.) in exchange for their photography services.  There are certain things which you do NOT under any circumstances want to leave vague, undiscussed, or even assumed.  Among these things are copyright ownership, commercial use licensing, timeline, shipping (if applicable), budget, and many other points.

Disagreements over budget, payment schedule, shipping costs, deadline, copyright, and many other concerns can end up in court.  It's best to have these details ironed out completely before beginning the photo project.

If you do not have many of these points defined and agreed upon upfront, then you can and will have problems in a court of law should an unforeseen event arise.  A court may not side with you if (for example) you didn't discuss how, when, and where you are licensed to display one or more commissioned photos if you didn't write down your agreement beforehand.  Keep in mind that copyright violation lawsuits have the potential to be VERY costly (see more about that here).

7. Expect a Contract or Be Prepared to Make One


Since you have a business relationship started which will probably not be concluded quickly, then you need to have a legally binding contract signed between you and the photographer.  This contract will address many issues which we have already discussed and more.

Cramer Imaging's photograph of a pen and the signature part of a contract

A few key points which your contract with the photographer should include are as follows:

  • How many photos will be presented to you at the end of this project (can be a specific number, a range, a minimum or maximum number, or an unspecified number).
  • What the subject matter will be (what to include, what not to include, where, when, etc.)
  • What personalization will or will not be present and what it will be.
  • Whether or not you will be given previews, how the previews will be presented, and how many previews will be given.
  • How frequently you should expect communications from the photographer regarding the commissioned project.
  • How many re-shoots/re-processing jobs will be granted to you.
  • Due date for completion of the project.
  • The price of the project.
  • How you will pay (e.g. via PayPal, a check, mailed cash, a gift card, tangible goods, a trade, etc.).
  • When payment will be sent (e.g. 100% upfront, 50% upfront and 50% after final delivery, 100% after final delivery, etc.).
  • Copyright ownership and use licensing: what sort of license will you be granted to use the photos you commissioned?  (Are you being given full copyright or just a license to use it for personal purposes only?  Are you allowed to edit the photos?  Are you allowed to share them publicly?  Are you allowed to use them for commercial purposes?  Are you obligated to attribute the photographer whenever you display the photo(s) and how?, etc.)  Read up on copyright vs. use license here.
  • How and when the final photo(s) will be delivered (shipping, delivery in person, electronic delivery, etc.).
  • Whether or not you will be given a physical print(s) via mail in addition to being given a digital file(s), if applicable.
  • Refund policy and deposits/retainers (fully, partial, or non-refundable).
  • Legal jurisdiction
  • Paths of action in the event of breach of contract such as failure to deliver (payment, photos, etc.).

Cramer Imaging's professional quality photograph of a hand holding a one, five, ten, and twenty dollar bill in Pocatello, Bannock, Idaho
Please keep in mind that this is far from an exhaustive list of terms and conditions which may appear in your contract with your photographer.  Make a point of reading your contract thoroughly and make sure you understand AND agree with everything present.  Make updates and addendums as necessary until you and the photographer are both satisfied with the contract.

This legally binding contract (make sure you get a lawyer-drafted version valid in your state) should be signed by both you and the photographer BEFORE beginning the project.  Add addendums as necessary afterwards.  Keep in mind that asking for additional permissions and uses might cost you money and that should be in your contract/addendum as well.

8. Handle Arrangements on Your End


Cramer Imaging's product photograph of a Jackson Hole Soda Company Wild Huckleberry Soda on a red background
If you've got a commercial photo shoot to arrange, then finding the right photographer is only part of the job.  Your work does not end once you've hired a photographer.  Depending upon the photo shoot and the arrangements necessary for this shoot, you've got work to do on your end.  You should have negotiated who's in charge of certain extra arrangements and included that information in your contract.  Your photographer will expect you to hold up your end of the bargain.

This means that you must see to any and all food arrangements, transportation/travel expenses, additional site licenses, extra equipment (beyond the photographer's gear), arrangements with property owners, appointments with subjects (people, animals, etc.) to photograph, etc. which are stated in your contract as your responsibility.  Really cheaping out unnecessarily in this department will leave a bad taste in everyone's mouth.  Don't blow your budget but don't try and make points with the boss by undercutting in the wrong areas.

Cramer Imaging's photograph of two horses attached to a covered wagon for tourist rides in Bryce City Utah
If you need to make arrangements with employees, animals, equipment, etc., make those necessary arrangements asap.
If some extra arrangement comes up, which wasn't previously discussed and agreed upon, then you need to get in contact with the photographer and decide who's covering the arrangement.  He or she should do the same in reverse.  Get the agreement in writing if you can.  An addendum to your contract is a good way to go if possible.

9. Maintain Open Communication With the Photographer


Maintaining communication during a commissioned photo project is a very important part of making sure that the project meets with your satisfaction.  How else do you expect the photographer to take the right photos without your guidance and feedback?  Your photographer will expect to contact you periodically and for you to periodically make contact yourself for this reason.


Timely, accurate, and detailed feedback is an important part of the process of a project like this.  Photographers have their vision of how they want things to go.  You have your vision.  Most of the time, these two visions will not meet up.  It's up to you to guide the photographer into aligning his/her vision with yours.  The only way this can be done is by giving feedback along every step as needed.  Early feedback will prevent time delays and costly re-shoots.


Along these lines, do not let the photographer get deep into the project (say almost done) and then change the scope of entire project.  That's not fair.  Stay in communication with the photographer to make sure that costly delays, such as this, do not happen.  In the event that something like this does happen, make sure to contact your photographer ASAP to prevent more of a loss on time and money than absolutely necessary.


Another point to remember is to match the photographer's level of communication.  If he or she checks in with you weekly, that's the metric you should use for checking in with him or her.  The last thing you need to do is to pester and annoy your photographer.  He or she is working for you.  This annoyance could easily delay the project's completion (because of you constantly hovering) or even reflect in the final photos.

Photo of professional landscape photographer Audrey with camera in hand taking a picture by Cramer Imaging
You're still dealing with people.  Courtesy will go a long ways to helping you and your project.
Always remember to be polite, courteous, and respectful.  This will make even the most critical feedback a bit easier to swallow and implement.  Changing this tone will only make things far more difficult for both of you in the long run.

If you're commissioning a commercial project, you really don't need to have an annoyed photographer on the job.  It's not professional of you to hover (or be rude) and it's not professional of you to display photos from a project where the photographer is annoyed and has stopped caring.  Those kinds of photos won't win you any customers at all.

10. The Aftermath


After your photo project has been reviewed, approved, paid for, and delivered, there's still more for you to do.  For example, you should consider leaving the photographer a positive review if you were satisfied with his or her work.


Composite graphic of several popular social media logos by Cramer Imaging
Make sure to tag the artist's account if you use this method for reviews.
You were probably swayed into choosing this particular photographer from reviews which other people left.  It's only proper and decent of you to return the favor and talk about your experience with this photographer.  It's even better to leave a review on the website where you first discovered them.  If you found them on Facebook, leave a review on Facebook.  If it was Yelp, leave a review there.  If it was a Google search, then leave a review on Google.  Since you found them there, it's likely that others will too.  You get bonus points for leaving reviews on multiple sites.

Now it's time to get back to the reason why you hired the photographer to begin with.  Enjoy putting together your marketing campaign, your new website, or whatever commercial use you have.  Enjoy displaying your new commissioned photo(s) in your home or office.

Conclusion


Commissioning a photo project (whether for personal use or commercial use) entails quite a bit of homework on your part as the client.  You must define what you need specifically so someone else can catch your vision.  You must find the right photographer for the job.  You might have introductions or scouting to do.  You will need to set all terms and conditions down into a contract.  If there are any extra arrangements designated your responsibility, you will need to see to them.  You will also need to keep in contact with the photographer over the process.  At the end, leaving a positive review concludes the experience perfectly.

If you choose well and conduct business with professionalism, respect, courtesy, and promptness, your project should go well and yield the photo(s) you desire.  Your marketing efforts, website, office, home, or wherever will be enhanced for the better with the photo(s) you commissioned.

Instagram