<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 Create Silky Water in Landscape Photographs

You've seen those beautiful photos which have water pouring down in what looks like a silky smooth flow.  They've become a staple in nature and landscape photography.  Ever wonder how to take those kinds of photos yourself?  It's really easy if you know what you're doing.  Today we're pulling back the curtains on one of the common but beautiful tricks for landscape photography.

Cramer Imaging's fine art landscape photograph of a waterfall and red hoodoos at Bryce Canyon National Park, Utah
Ah, the silky water landscape photo.  It's been popular in photography circles for a long time now.  It seems like it would be so difficult to get.  However, nothing is further from the truth if you know what you're doing in photography and have the right tools at your disposal.

Creating the silky water effect is a bit deceptively simple.  The secret is to have the shutter open as long as possible in order to capture the flow of the water instead of its current position.  In doing this, you must allow as much water as possible to flow through your field of focus and the little splashes will be ignored over the duration of the long shutter speed.

Here is what you will need equipment-wise and setting-wise for the silky water technique in landscape photos.


How to Get the Shot


Cramer Imaging's fine art landscape black and white or monochromatic photograph of a soft and silky waterfall cascading down in Twin Falls Idaho
The only part of the final photo which you want to blur is the water as it's falling to the ground below.  When properly done, you create an ethereal look which can mimic the look of rising smoke.
With this kind of photo, any tiny movement of the camera, in any form, is going to be your enemy.  You'll need the camera to be perfectly still long enough to get the shot if you want a beautiful sharp photo instead of some abstract blur.

  1. Position your camera and lens of choice on your tripod.  Since you're going to have your shutter open for 10-15 seconds minimum (longer for lower light conditions), there's no way that you can hold your camera perfectly still for that long.

  2. Make sure that you've plugged in your cable release or have your camera set to accept shutter commands from your remote.  How to do so is different for every camera brand so consult your camera manual if you have a question.

    In a pinch, you can use the shutter timer (often used to let the photographer join group portraits) instead of a remote or cable trigger.  However, you will still need to press the shutter button to activate the shutter.

  3. Now onto the second problem.  Leaving your shutter open for a long time means a lot of light is going to get to the sensor.  Without proper control your photo will be completely blown-out and over-exposed.  You have to find a way to dim the light down.  That's what the ND filters are for.  They act like sunglasses for your camera lens.  They come in several different levels of darkness depending upon your needs (the higher the number, the darker the filter, up to 10).

    Cramer Imaging's fine art landscape photograph of a waterfall and bridge on the Virgin River in Zion National Park Utah

  4. Compose your shot.  It won't be so easy to do with the filter on.

  5. Attach your ND filter to the front of your camera lens.  It should just screw on.  Then switch your auto/manual focus switch to manual so that the camera won't try to auto-focus once the filter is put on (hint: it will have a difficult time doing so if it can at all).

  6. Your final step is to click the shutter.

Some Added Tips and Tricks


Over time and several different attempts, we've come across some added tips and tricks which may help you create the silky water landscape scene of your dreams.

No ND Filter


Cramer Imaging's nature photograph of a silky waterfall in the snow during winter in Idaho Falls, Idaho
If you don't have an ND filter, you can still try out this silky water technique if you attempt it later in the evening (say during blue hour).  It's a narrow window of time just before sunrise and after sunset, but it works for silky water photography.  I created this blue waterfall image without an ND filter during blue hour.

Keep in mind that the more you stop your aperture down, the longer your shutter speed will need to be for a proper exposure.  Most cameras will flip over into bulb mode, with a cable release, if you set your shutter speed over about 30 seconds.  Bulb mode lets you control how long you want the shutter open with the shutter button itself.

The closer it gets to full twilight during blue hour, the more you will need to open up your aperture for a proper exposure.  If you're going for a very deep depth of field, this will be problematic.  if that's what you're going for, but if you're going for a shallow depth of field, not so much.

This method is ok if you're just starting out or don't have the money for a proper ND filter, but if you want to be able to create the effect pretty much anytime, you need neutral density filter.

Turn Off Vibration Reduction


Graphic of where you might find the vibration reduction switch on your camera by Cramer Imaging
Turn off vibration reduction (VR) on your lens if it has it.  While this feature is nice and can help a lot when hand holding, it can blur an image very slightly when the camera is already perfectly steady (say on a tripod).

VR is for countering the slight shake your hand has when hand-holding the camera.  It's not meant for tripod use at all.  If you want a tack-sharp photo on a tripod, turn off your VR.

Use a Weight


Cramer Imaging's photograph of a tripod being held down with a suspended weight
If you find yourself out shooting a photo in windy conditions (been there, done that), hang a weight under the camera on the tripod can help stabilize it.  I generally don't recommend trying such shots in too much wind because any foliage is going to be moving with the wind and will therefore blur.

If you find you must shoot in the wind, try to keep things being battered around by the wind out of your shot unless that's part of the look you're going for in your photo.

Use Your Mirror Up or Mirror Lock Setting


Graphic of where you might find the mirror up lock on your camera by Cramer Imaging
Location may vary depending on camera model
If you have a cable release, using the mirror lock setting on your camera, with the shutter release, can help reduce internal vibration blur.  When you take a regular shot, the mirror (that lets the viewfinder look through the lens) moves, then the shutter opens exposing the sensor.  When the mirror moves, it imparts a bit of shake into the camera while the shutter is open.  This adds a tiny bit of blur to your overall photo.

With the mirror up setting, pressing the shutter release once moves the mirror and locks it in place.  The next press opens the shutter for the photo.  This initial motion of locking the mirror eliminates the vibration of said mirror as it's moving. This tiny little detail can be the difference between a good sharp photo and a tack-sharp photo, especially with long shutter speeds like you need for silky water.

Stacking Images for a Final Product


Another method I learned about for creating silky water photos involves taking multiple short exposure shots and stacking the shots in your image editing software.  If you're seriously into photography, you might recognize this as a method for creating star trails.  It's true.  It works there as well.  However, for the silky water effect, you need to apply some different edits to your stack of photos than you will for star trails.

Cramer Imaging's screenshot of a series of photos opened in photo editing software to be combined into the silky water effect
To start with, you will want to take a series of photos with a shutter speed at something like 2 seconds per photo.  This should give you enough water motion to eventually blur into the silky feel we're going for.

Once you've opened all your images in your photo editing software as layers in a single file (yes this is important), then you simply edit each layer's opacity for the final product.  The bottom layer will be fully opaque but each layer ascending will have the formula of 1/x for the opacity where x is the layer number in ascending order.  You might need a calculator to turn that fraction into a percent if you have more than about 5 layers.  I know I need one.

Then you merge all the layers together, either into the base layer or as a single layer over the top of all the rest.  You've got your silky water composite photo.  I used this technique when I created the photo below.

Cramer Imaging's fine art landscape photo of the American Falls reservoir spillway and Snake River full of silky smooth water

Conclusion


Creating the silky water effect in landscape photos is easy.  It creates a beautiful ethereal look when photographing moving water and, under the right conditions, can turn a waterfall into a pillar of smoke.  A minimum of equipment is necessary (camera and lens, tripod, cable release or remote, and ND filters) and the camera settings are easily mastered.

If this is a technique you feel you are ready for, I invite you to give it a try.  I'd love to see your results.  Please share them in the comments section below.  Make sure to indicate if you want feedback or not.

Instagram