<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>

Why is Photography So Expensive?

It's an all TOO common misconception that photography (good photography included) is both easy and cheap.  Many people get a case of sticker shock when confronted with the real-life prices of quality photography.  They don't understand why photography is so darn expensive.  All they see is the photographer clicking a button on the camera a few times.  It doesn't seem like there's much effort to photography at all if you're looking through that narrow slit of a window.  However, there's much more to photography's price tag than most people realize.  That's what we're discussing today.

Graphic of a Cramer Imaging framed and matted landscape photo showing and expensive price tag

As with many other professions, there's a lot of work which takes place outside a photography client's view.  We're going to discuss three of the main pillars of what you don't see photographers doing: education, extra costs, and processing work.

Education


Cramer Imaging's photograph of several different photography and photography-related education books
In our society, we understand that doctors have a lot of study and schooling before they become basically competent and thereby allowed to practice medicine.  This is not "top in your field" level of competent.  This is allowed by law to go out and begin practicing medicine while "not killing everyone" level of competent.

Everyone also knows that doctors' visits are expensive.  Many of us realize that we are paying for the doctor's experience and education in the form of student loans.  If you didn't, you do now.  It's part of the cost of being a doctor and doing business with a doctor.

Photographers must also undergo a level of education too.  While some photographers have a natural talent which shows up early on, others must work for years to become competent.  Even with natural talent, it takes some years of practice and serious study to rise above occasionally getting lucky to consistently creating a minimum level of professional quality photography.  Books such as these depicted are a great way to start learning photography.

Know Your Camera


Another point of comparison is something which we should all be familiar with as teenagers: learning how to drive a car.  Our parents don't just hand us a set of car keys at approximately age 16 and expect us to instantly know how to drive a car safely.  We have to take a drivers education course and pass a drivers test before we're handed our drivers license.  During this course, we learn how to operate a motor vehicle safely and how to handle different driving situations as they arise.

Cramer Imaging's photograph of a camera manual and a driver's handbook on a black background
One of the first things that a photographer must learn is how to use their camera.  True, there's no test and no license waiting at the end.  However, a photographer must know how to operate his/her camera before being able to jump into the world of serious photography.  While many camera models are similar, each brand and model of camera is different necessitating individual study.  This is no different with cars.  So, photographers read up on their camera manuals the way driver's ed students study their state's drivers' handbook.

Cramer Imaging's close-up photograph of a DSLR camera settings dial
Instinctual reaching for exactly the right dial/switch to change settings at exactly the right time is knowledge which takes lots of practice.  Consider how it takes you a while to learn how your car deals with slick roads, ice, snow, quick breaking, and many other conditions/obstacles.  You don't step into a brand new car and immediately download this information.  You must drive the car for a bit and learn how to operate the car and how it will respond to different conditions.  During this time, you can learn how to correct for sliding, hydroplaning, etc. and stay driving safely.

While improperly using a camera doesn't compare to a car crash, many of the principles are still the same.  You can miss the perfect shot if you don't know your camera well enough to react quickly when the moment comes.  This is especially important for sports and wildlife photography.

Further Study


After learning the basic operations of your camera, there's still lots more to study and learn.  There's basic composition, light, posing, post-processing, new techniques, and more.  I can equate this with learning how to play a musical instrument at a competent level.  It doesn't happen overnight.  It comes with TONS of practice: years of practice.

As a child learns how to play an instrument, they learn how the play a note.  Then they learn how to play it in tune.  Then they learn how to add some feeling to the note.  Each form of study builds upon itself until finally the child has grown into a competent musician: also a process of years.  The more practice and competent teaching a budding musician or photographer receives, the faster he or she can advance.  Still, there's no short-cutting these lessons.

You must learn how to hear whether a note is in tune for yourself (without the aid of a tuner).  Comparatively, you must learn how to compose a photograph and properly light a scene without references in front of you.  The tuner and references are great for those still learning, however, you do need to transition off of those and operate on your own knowledge and experience at some point.  That's when the transition to greatness begins.

Extra Costs


You wouldn't think that there's much cost behind becoming a photographer, other than the obvious camera cost that is.  However, that's far from the truth.

Equipment Costs


You might not believe the costs of acquiring proper professional-level photography gear.  It can easily cost several thousand dollars.  If you haven't done so already, go do some quick internet pricing of DSLR cameras.  Then price a couple basic lenses: try a wide angle (something in the 18-55 mm range) and a telephoto (say 70-200 mm range).  Now add the total of a camera bag capable of keeping this safe and a tripod capable of holding up more than a piece of paper.  This price alone should be several hundred dollars (perhaps already into 4 digits).  Then consider there's more.

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

If you need flashes, that's an extra cost.  Backdrops and studio lighting are and extra cost.  Specialty lenses (more than you just checked out already) are an extra cost.  Don't get me started on camera filters.  Then there's flash brackets, extra memory cards, extra batteries, cleaning kits, and more.  The list of accessories only gets fancier and more pricey from here.  Now I realize that not every kind of photography out there will require every peripheral on the market.  You have to shop around and some accessories you won't need at all.  Still, the price tag is really starting to add up isn't it?

Cramer Imaging's professional quality product photograph of a Nikon SB-700 removable camera flash unit

I can hear several of you already complaining about equipment cost and suggesting "why can't my photographer just use his/her smart phone instead?"  There's a good reason why not.  Let's compare DSLR cameras and smart phone cameras to cars.  Here's how it breaks down.  Comparing cell phone cameras to high end DSLR cameras is the same as comparing a Power Wheels to a Ferrari.  While both will get you from point A to point B (or take pictures in this case), there's really no comparing them at all.  The cell phone camera (Power Wheels) just doesn't make the cut.

Cramer Imaging's photo graphic comparing smart phones to DSLR cameras

Now consider that photographers have to upgrade there cameras every so often (usually a few years) as new features come out which will make their jobs easier.  There's the price of a new camera body all over again.  Perhaps a photographer will find a new niche or genre which is interesting and profitable.  There's new equipment costs right there.  Are you starting to see that just the equipment itself can add up?

Let's not forget computers in the equipment costs.  They are an important piece of equipment when it comes to post-processing.  They wear out and require upgrades, maintenance, etc.

Software Costs


Adobe Lightroom and Photoshop may be the industry standards for photography post-processing but there's other options out there as well.  However, if you want the professional grade software, whatever it is, you have to pay.

Adobe's Photoshop and Lightroom logos stacked on top of each other
Post-processing software used to be a rather prohibitive one-time cost.  Take Lightroom 6: cost $150.  Or try Photoshop CS6: cost $699.  The Adobe software is still perfectly good but you have to pay another full license cost to upgrade.  Some software still uses this model, though their prices aren't as high.  Adobe has gone to a subscription model which charges you less upfront but much more over time (currently $20/month).  They're not the only subscription-based service out there either.  If a photographer wants to keep using high-end post-processing software, then he or she needs to pay for the privilege.

Free options exist but they often don't measure up to the quality of the professional post-processing software currently on the market.  Professional photographers can't waste time playing with non-professional level toys.  So, the perpetuating software costs are also built into your photography costs.

Licenses, Travel Costs, and More


For some genres of photography, there's a lot of cost which goes on behind-the-scenes.  This list includes license/pass fees to access a location, travel costs to get there, and more.

Cramer Imaging's professional quality landscape photograph of scenic Devil's Creek Reservoir or lake frozen with ice and snow
Landscape, travel, nature, wildlife, sports, photojournalism, and a few other genres often have travel costs.  Believe it or not, it costs money to travel from home to where ever the photo shoot will take place.  The further away, the more the cost.  Some locations (such as Antarctica) are so remote that the only way you can get there to photography anything is to hire a plane, helicopter, or boat.  Even in third world countries, this is still expensive.  You had better hope that you don't need a re-shoot.

Airfare to reach a local airport is also high (often international rates).  Extra luggage fees are also quite high.  Then there's car rental, gas, hotel stay, food, etc.  You might have to pay for bus fare instead of car rental.  That's just how some countries work.  All of this cost is just to get close to your location.

Cramer Imaging's photograph of 2 USA National Parks Passes on a black background
Another cost photographers often encounter are license fees in order to access a location.  Think national park passes and you'll have the right idea.  After all, national park passes are one of those license fees which landscape photographers must pay to access certain popular landscape photography sites.  Other indoor locations or private outdoor locations may charge a fee to shoot professionally in their space or to close the doors to the public for your photo shoot.

These costs may be nominal compared to travel fees, but they still add up in the end.  They're still a part of your final price tag when applicable.

Business Costs


If you've got a photographer charging for their photography, you've got a professional photographer.  Along with being a professional photographer comes all sorts of business-associated costs.  Those costs really add up.

Let's start with some basic business costs.

  • Rent or mortgage on a studio/shop
  • Utilities: water, power, gas, internet, etc.
  • Advertising
  • Website domain (recurring cost)
  • Website design (usually a one-time fee)
  • Business licenses (depending upon jurisdiction requirements)
  • Taxes: sales tax, property tax, payroll tax, etc.
  • Business insurance
  • Accountant

Cramer Imaging's professional quality photograph of a hand holding a one, five, ten, and twenty dollar bill

These are some of the basics.  Then we could add on employees wages to that mix if the photographer has employees.  There's also potential legal costs as well.  Running a business really starts to add up.  A smart business owner will pass part of all those costs on to you in your final photography price.

Continuing Education


Photography, much like medicine, is a continually evolving and changing field.  New techniques and ways of doing things come out frequently.  There is new equipment, new software, and more to learn.  A photographer must stay current in education in order to keep creating high end photos.  Some of this education costs: seminars and the like.  Seminars aren't free either.  There's travel and the seminar cost to consider as well.

Graphic of a recycled paper business card with a continuing education logo

You may say "what about online learning?"  True that is an option.  But many of the good business and photography courses, which count for continuing education not basic education, cost as well.  They cost about the same as going to a smaller seminar.  Guess where some of the cost of continuing education comes from?  Yep you've got it.  It's built into your final photography price.

Post-Processing Time


Here's a part of your final photography cost which you really don't see and for good reason because it can be long and boring work.  After the photo shoot, the photographer must go back to his/her computer and cull then process up the best photos.  You have no idea just how much work that can be.  I've spent hours just culling before.  That's before I start working on enhancing.

Cramer Imaging's screenshot of a series of photos opened Windows Explorer ready for the selection process and culling
Note the size of the scroll bar on the right.  There's a lot of photos to cull from this shoot.
To give you a good idea, let's take a look at something which you might recognize.  How about wedding photography?  I did some wedding photography for a bit so I have a good idea of what goes into a shoot.  I found myself taking several hundred photos at any given wedding.

After the wedding was over, I had to sort through all of those photos as not all were usable.  Sometimes you get motion blur for an unwanted reason.  Sometimes the camera didn't focus where you wanted it to.  Sometimes photos are too dark.  As a wedding photographer, you really want to put your best photos forward.  This means you must sort through several hundred photos to find the best.  That's time-consuming.  Culling and processing is time a photographer could be spending doing other things but, instead, they're working on your photos.

Then, once you have what looks like your best photos, you must sit down and enhance them.  There's lots of tools which have made quite a bit of that easier: think syncing Lightroom presets and Photoshop batching.  Still, you must make sure that every photo meets a minimum standard of presentation or you must cull again.

Comparison of a before and after for a promising landscape photo which didn't work out as hoped
Some photos, like this one, look very promising but don't turn out as hoped when processed.
I've done a commercial photography job where I literally took over 1200 photos (yep I checked) for my client and I had to go through each one individually to make sure I only worked with the best.  Out of that 1200, I culled it down to about 100 of the best photos from several days/locations of shooting.  Then I had the task of taking that 100 or so and making them look their very best for my client.

Example of a bad photo: blurry, blown out, bad composition
For every good photo I take, I get several more like this.  However, I actually had to hunt for a photo which was so bad it would still look bad when shrunk.  What does that say for my photography skill?
Now consider the amount of post-processing required varies.  Each photo is different and requires a different level of attention.  I can spend quite a bit of time on color correction, spot removal, sharpening, vignette addition/removal, and more.  I can globally adjust or I can spot adjust.  Many photos I work with end up with both levels of attention.  I can easily take an hour to make one of my landscape photos into its very best for you to see here.  That's one hour for one photo.  Imagine having 2 or 3 photos?  How about more?  The time factor is starting to add up quickly, isn't it?

Cramer Imaging's fine art landscape photograph of the sun rising over a green and flowering potato field in Aberdeen, Idaho
It took hours to get this beautiful photo for the commercial client.
Now consider how easy it is to click a shutter button.  With that ease comes more chances to get the photo right during the shoot.  It also translates to more photos to cull.  This rule transcends all genres of photography.  It applies no matter if you're talking about a portrait photographer, a fashion photographer, a sports photographer, or a fine art photographer.  More photos means more processing time.  Can you see why photographers add their processing time into your final photography cost?  They spend WAY more time on your photography than you think.  Guess what time is?  Money.

Conclusion


There's a great deal more cost which goes into a photo shoot than most people realize.  For a professional photographer to be in business, there's a lot of cost which most people don't even think of.  Photographers deal with that cost by having you, and every other customer, pay a portion of that cost in your session fee or other contracted photography cost.  Without taking these costs into account, a professional photographer will quickly go out of business.

So, the next time that you wonder why photography is so expensive, you might ask your photographer to itemize everything on your invoice.  Try not to get a case of sticker shock when you see just how much certain attached charges are.  There's a reason behind it all.  You're offsetting some education, extra costs, and post-processing.  Your photographer will appreciate your understanding about this.


This article contains one or more stock photos you can buy a license to. Shop our stock photo library.

Instagram