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

Balloonfest 2020

So, let's not beat around the bush.  2020 has been a difficult year so far.  There's been so much bad going on that it's a wonder Panguitch even got to have a balloon rally this year.  It was up for debate for a while as to whether or not it would happen at all.  I'm sure glad that it did as this year's Balloonfest afforded me some extra special opportunities this year as a photographer.

So, if you didn't already catch my announcement a couple weeks ago, I had the opportunity to be the 'face' of this year's advertising efforts.  I was contacted by the city events coordinator (in charge of the event) and he requested a license for one of my hot air balloon photos from last year's event.  I was happy to grant him and the city a license.

Photograph featuring a Cramer Imaging hot air balloon photo as the featured image for the 2020 Panguitch Balloonfest newspaper and flyer advertising

This, however, was just the beginning of the opportunities for me this year.  There were more to come.

There was plenty of hot air balloon photography from the ground, as usual.  I spent quite a bit of time taking lots of different photos of the balloons while on the ground.  Here are the best examples from this year.


Hot air balloon photos from the ground are great, but far from all the options available.  There was more to come.

I also managed to swing a hot air balloon ride.  All the sponsors are granted hot air balloon rides by the pilots as a thank you for sponsoring the event.  Thanks to a twist of circumstances at the last minute, the rightful sponsor and his designated representative were unable to use their balloon ride.  They handed it off to me and I made a point of bringing my camera aboard for some aerial photography.  It's the first time I really got a chance for that and I wasn't going to miss it.


The balloon ride was very smooth.  I didn't feel any wind at all despite being about 1000 ft off the ground (if I remember the pilot correctly).  I hadn't thought about it, but since hot air balloons are entirely at the mercy of the wind, you wouldn't feel any wind since you are traveling at the same speed and direction as the wind is blowing.  My pilot was a 20 year veteran of hot air balloon piloting so I knew I was in capable hands.

The view from the balloon was great.  I managed to get some photos of the town and the floating balloons from above.  I enjoyed my ride.

We landed in a yard in town.  The property owners were delighted.  They commented that they had seen many balloons fly over the top of their house but none had ever landed in their yard, until now.  There were photos a plenty of the event.

However, this was not the end of the opportunities for me as a photographer.  There was still more to come.  The final opportunity came that night at the balloon glow.

Every year, the balloon pilots line their balloon baskets up on Main Street and light up the torches.  This is called a 'candle-lighting.'  If there's very low wind, some of the pilots will even inflate their balloons.  This is the glow.  We hadn't had a glow for at least 5 years in a row now.  This is because the wind needs to be about 3 mph or less or it will pose a significant risk to the balloons and their pilots.  The wind could just blow them down the street.  Their balloons can get caught on buildings, lamp posts, etc., and be torn or destroyed.  The past several years, the wind hasn't cooperated for the glow.  This year was different.


If you couldn't already tell from the photos, we had three different balloons go up for the glow in addition to several of the balloons doing the 'candle-lighting.'  I managed to get a photo of the candle-lighting of one balloon timed with the glow of another.  That took some patience.  I also managed to capture a photo of the two balloons glowing together.  Again, another act of patience on my part.

I never would have guessed that the 2020 Balloonfest would be so productive for me as a photographer.  The year didn't start out well at all.  Still, this is a great addition to my portfolio and some great memories which I will treasure.

Instagram