1<!DOCTYPE html> 2<!-- 3### Powered by the PhotoShelter Beam platform 4### http://photoshelter.com/beam 5### (c) 2013 PhotoShelter, Inc. 6--> 7 8<!--[if IE 9]> <html dir="ltr" lang="en-US" class="no-js lt-ie10 can-click"> <![endif]--> 9<!--[if !IE]> --> <html dir="ltr" lang="en-US" class="no-js can-click"> <!--<![endif]--> 10 11<head> 12<meta charset="utf-8"> 13<link rel="dns-prefetch" href="//css.c.photoshelter.com/"> 14<link rel="dns-prefetch" href="//js.c.photoshelter.com/"> 15<link rel="dns-prefetch" href="//cdn.c.photoshelter.com/"> 16<title>Matt Lutton - Photographer</title> 17<meta name="description" content="" /> 18<meta property="og:description" content="" /> 19<meta property="og:title" content="Matt Lutton - Photographer" /> 20<meta property="og:type" content="website" /> 21<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> 22<meta name="apple-mobile-web-app-capable" content="yes" /> 23<meta name="apple-mobile-web-app-status-bar-style" content="black" /> 24<link rel="canonical" href="https://www.mattlutton.com/index/" /><style> 25 26.loading-c2, .loading-bar { 27 -webkit-box-sizing: border-box; 28 -moz-box-sizing: border-box; 29 box-sizing: border-box; 30} 31.loading-c2 { 32 position: fixed; 33 top: 0; 34 left: 0; 35 width: 100vw; 36 height: 100vh; 37 text-align: center; 38} 39.loading-c2&:before { 40 content: ''; 41 margin: 0 0 0 -4px; 42 height: 100%; 43 vertical-align: middle; 44 display: inline-block; 45} 46.bar-holder { 47 width: 80%; 48 margin: 0 auto; 49 max-width: 1100px; 50 vertical-align: middle; 51 position: relative; 52 display: inline-block; 53 height: 2px; 54} 55.loading-bar { 56 will-change: true; 57 width: 100%; 58 height: 100%; 59 background: rgba(64, 64, 64, 0.4); 60 -webkit-animation: loading 4s linear infinite; 61 -moz-animation: loading 4s linear infinite; 62 -o-animation: loading 4s linear infinite; 63 animation: loading 4s linear infinite; 64} 65@-webkit-keyframes loading { 66 0% { transform: translate3d(-100%,0,0); } 67 100% { transform: translate3d(100%,0,0); } 68} 69@-moz-keyframes loading { 70 0% { transform: translate3d(-100%,0,0); } 71 100% { transform: translate3d(100%,0,0); } 72} 73@-o-keyframes loading { 74 0% { transform: translate3d(-100%,0,0); } 75 100% { transform: translate3d(100%,0,0); } 76} 77@keyframes loading { 78 0% { transform: translate3d(-100%,0,0); } 79 100% { transform: translate3d(100%,0,0); } 80} 81 82</style> 83<link rel="stylesheet" type="text/css" href="https://www.mattlutton.com/css/cssCfg/scss=%252fasset%252fc2%252fapp%252fcss%252fbase.scss/label=luttonm/theme=Theme7/ts=1645396096/rev=1788533357"> 84<link rel="stylesheet" type="text/css" href="https://www.mattlutton.com/css/cssCfg/scss=asset%252fc2%252ftheme%252fTheme7%252fcss%252fstyles.scss/label=luttonm/theme=Theme7/ts=1645396096/rev=1788533357"> 85 86<!--[if lt IE 9]>
87<script type="text/javascript"> 88 89(function(a,b){ 90 var m, rl = "/gallery-list"; 91 if (parseInt(a.appVersion.split('MSIE')[1]) < 9 ) { 92 //special case forward to user content page 93 m = /#!\/(p|contact|about)($|\/.+)/g.exec(b.href); 94 if (m) rl = m[0].slice('#!'.length); 95 b.replace(rl); 96 } 97})(navigator,location); 98 99</script>
99 100<![endif]--> 101
102<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
vendor: 1 bytes, line 102
102
103<script type="text/javascript"> 104 105if (typeof window.jQuery !== 'function') { 106 var src = 'js/jquery/jquery-1.8.2.min.js'; 107 document.write('
107<script src="' + src + '">\x3C/script>'); 108} 109 110</script>
110 111
112<script type="text/javascript" src="https://www.mattlutton.com/js/APP/1788533357/modernizr/modernizr-custom-2.8.3.js,polyfils/raf.js,polyfils/custom-event.js"></script>
112 113 114
115<script type="text/javascript" src="https://www.mattlutton.com/js/APP/1788533357/2.0/lib/O_O.js,lib/O_O.lib.Util.js,app/O_O.app.Visualizer.js"></script>
115 116 117 118
118<script id='Content_main' type='text/template'> 119<div class='wContent'> 120 <%= content.content %> 121</div> 122</script>
122 123
124<script id='Content_editor' type='text/template'> 125 <p class="note"> 126 Edit your text directly on the page. 127 <!-- Click the edit button below to toggle between editing and previewing.<br>--> 128 <br> 129 Don't forget to hit "Save" when you're done! 130 </p> 131 132 <!-- <button class="togglePreview">Preview</button> --> 133 <div class="body"> 134 <form class="customForm"> 135 <div class="row typeText" data-group="default"> 136 <label>Page Title</label> 137 <input type="text" name="page_title" value="<%- unescape(ptitle) %>" placeholder=""> 138 </div> 139 <div class="row typeTextarea" data-group="default"> 140 <label>Meta Description</label> 141 <textarea name="meta_description"><%= cmeta %></textarea> 142 </div> 143 </form> 144 </div> 145</script>
145 146 147
147<script id='ContactForm_editor' type='text/template'> 148<div>Send Button Text: <input name="sendText" type="text" value="<%= sendText %>" /></div> 149<div>Use Captcha: <select name="f_captcha"><option value="1">Yes</option><option value="0">No</option></select></div> 150</script>
150 151
152<script id='ContactForm_main' type='text/template'> 153<%= recaptcha_script_line %> 154<form> 155<div class="singles"> 156 <div class="name"> 157 <label>Name</label> 158 <input type="text" rel="Full Name" <% if (f_placeholder) { %> placeholder="Name" <% } %> value="" name="name" required> 159 <span class="status"> 160 <span class="valid"><span class="indicator"></span></span> 161 <span class="invalid"><span class="indicator"></span>Please enter your name.</span> 162 <span class="indicator"></span> 163 </span> 164 </div> 165 <div class="email"> 166 <label>Email</label> 167 <input type="email" rel="Email Address" <% if (f_placeholder) { %> placeholder="Email" <% } %> value="" name="email" required> 168 <span class="status"> 169 <span class="valid"><span class="indicator"></span></span> 170 <span class="invalid"><span class="indicator"></span>Please enter a valid email address.</span> 171 <span class="indicator"></span> 172 </span> 173 </div> 174 <div class="phone"> 175 <label>Phone</label> 176 <input type="phone" rel="Phone Number" <% if (f_placeholder) { %> placeholder="Phone" <% } %> value="" name="phone"> 177 <!--span class="status"> 178 <span class="valid"><span class="indicator"></span></span> 179 <span class="invalid"><span class="indicator"></span>Please enter a valid phone number.</span> 180 <span class="indicator"></span> 181 </span--> 182 </div> 183</div> 184 <div class="note"> 185 <label>Note</label> 186 <textarea name="msg" <% if (f_placeholder) { %> placeholder="Note" <% } %> required></textarea> 187 <span class="status"> 188 <span class="valid"><span class="indicator"></span></span> 189 <span class="invalid"><span class="indicator"></span>Don't forget your message!</span> 190 <span class="indicator"></span> 191 </span> 192 </div> 193 <% if (recaptcha_key && recaptcha_version === 2) { %> 194 <div id="recaptcha-container" class="g-recaptcha" data-theme="<%= recaptcha_theme %>" data-sitekey="<%= recaptcha_key %>"></div> 195 <% } %> 196 197 <div class="submit"> 198 <label></label><button data-act="send" class="send"><%= sendText.substr(0,20) %></button> 199 </div> 200 201 <div> 202 <label></label><span class="sending">sending...</span> 203 </div> 204</form> 205 206<div class="sent"> 207 Message sent! Thanks for your interest. 208</div> 209</script>
209 210 211
211<script id='GalleryNav_main' type='text/template'> 212 <ul class="<%= (typeof cfg.f_galleriesSize !== 'undefined') ? cfg.f_galleriesSize : '' %><%= (typeof cfg.rowCount !== 'undefined' && objA.length > cfg.rowCount) ? ' rows' : ' row' %>"></ul> 213</script>
213 214
215<script id='GalleryNav_item' type='text/template'> 216 <li> 217 <a href="<%= url %>" data-id="<%= id %>" title="<%- name %>"> 218 <% if (key_src) { %> 219 <% if (imageType === 'bkg') { %> 220 <div class="img" style="background-image:url(<%= key_src %>);"></div> 221 <% } else { %> 222 <img src="<%= key_src %>" /> 223 <% } %> 224 <% } else { %> 225 <%- name %> 226 <% } %> 227 </a> 228 229 <% if (id.charAt(0) === 'C') { %> 230 <button class="clc-close">Collapse Menu</button> 231 <ul class="clc"></ul> 232 <% } %> 233 </li> 234</script>
234 235 236
236<script id='Nav_main' type='text/template'> 237<ul class='navTop'></ul> 238</script>
238 239
240<script id='Nav_links' type='text/template'> 241<% for (var i=0; i<links.length; i++) { 242 var link = links[i]; 243 244 if (O_O.isset(link.children)) { %><li class="<%= link.className %>"> 245 <span><%- link.name %></span> 246 <div> 247 <ul> 248 <%= tpl('links', {links: link.children}) %> 249 </ul> 250 </div></li><% } else { %><%= tpl('link', {text: link.name, url: link.url, className: link.className, target: link.target, dataId: link['data-id']}) %><% } %><% } %> 251</script>
251 252
253<script id='Nav_link' type='text/template'><li class='<%= className %>'><a href='<%= url %>' data-id='<%= dataId %>' <% if (O_O.isset(target)) { %>target="<%= target %>"<% } %>><%- text %></a></li></script>
253 254
255<script id='Nav_editor' type='text/template'> 256<h2>Visible Navigation Items</h2> 257<div class="add-nav-element"> 258 <ul> 259 <li><button data-act="showCreateMenu" class="add">ADD TO NAVIGATION</button></li> 260 <li><button class="" data-act="addPage">Page</button></li> 261 <li><button class="" data-act="addLink">Link</button></li> 262 <li><button class="" data-act="addGroup">Menu</button></li> 263 </ul> 264</div> 265 266<ul class="objectList active"></ul> 267 268<p class="note clear">Click and drag to reorder your site's navigation.</p> 269 270<h2>Hidden Navigation Items</h2> 271<ul class="objectList inactive"></ul> 272</script>
272 273
274<script id='Nav_editLinks' type='text/template'> 275<% 276 var emptyMap = { 277 menu: 'Nothing in this menu yet! Drag items here to fill the menu.', 278 hidden: 'No hidden navigation items.', 279 visible: 'No navigation items.' 280}; 281 for (var i=0; i<links.length; i++) { 282 var link = links[i]; 283 %><%= tpl('linkEdit',link) %> 284<% } %> 285<li class="sortable-empty note"><%= emptyMap[type] %></li> 286</script>
286 287
288<script id='Nav_linkEdit' type='text/template'> 289 <li class="row draggable<% if (type == 'dynamic' || type == 'group') { %> noNest<% } %> <%= type %>" data-id="<%= id %>"> 290 <span class="dragHandle"></span> 291 <button class="edit" data-act="editItem"></button> 292 <% if (type != 'fixed' && type != 'dynamic') { %><button class="del" data-act="delItem"></button><% } %> 293 <%- name %> 294 295 <% if(O_O.isset(arguments[0].children)){ %> 296 <ul style='' class='links'> 297 <%= tpl('editLinks', {links: children, type: 'menu'}) %> 298 </ul> 299 <% } %> 300 </li> 301</script>
301 302 303 <!-- for gplus share -->
304<script src="https://apis.google.com/js/platform.js" async defer></script>
304 305
306<script id='SocialShare_main' type='text/template'> 307<ul class="share-options"> 308 <li><a target="_blank" href="#" class="facebook" title="Facebook"> 309 <span>Facebook</span></a></li> 310 <li><a target="_blank" href="#" class="twitter" title="Twitter"> 311 <span>Twitter</span></a> 312 </li> 313 <li><a href="#" title="More" class="less-more">More</a></li> 314</ul> 315<a href="#" class="share" title="Share This">x</a> 316</script>
316 317
318<script id='SocialShare_editor' type='text/template'> 319Text: <input name="text" type="text" value="<%= text %>" /> 320</script>
320 321 322
322<script id='StaticImage_editor' type='text/template'> 323<div class="row"><label>Image URL:</label><input name="url" type="text" value="<%= url %>" /></div> 324</script>
324 325 326
326<script id='VimeoPlayer_editor' type='text/template'> 327Video Url: <input name="video_url" type="text" value="<%= video_url %>" /> 328</script>
328 329
330<script id='VimeoPlayer_main' type='text/template'> 331 <div class="modalVideo modal hide" tabindex="-1" role="dialog" aria-hidden="true"> 332 </div> 333</script>
333 334
335<script id='VimeoPlayer_modalContent' type='text/template'> 336 <div class="modal-header"> 337 <button type="button" class="close" data-dismiss="modal" aria-hidden="true">Ã</button> 338 </div> 339 <div class="modal-body"> 340 <div class="video"> 341 <%= embed %> 342 </div> 343 <div class="info"> 344 <h3><%= video.title %></h3> 345 <% if(video.description) { %> 346 <p><%= video.description %></p> 347 <% } %> 348 </div> 349 <div class="meta"> 350 <span class="upload_date"><%= O_O.date.strFmt(video.upload_date, "%e %b %Y") %></span> 351 <div class="duration"> 352 <%= Math.floor(video.duration / 60) %>:<% if(video.duration % 60<10) { %>0<% } %><%= video.duration % 60%> 353 </div> 354 </div> 355 </div> 356</script>
356 357 358
358<script id='VimeoPlaylist_playlist' type='text/template'> 359<% if (videos.length) { %> 360 <ul> 361 <% for (var i=0; i<videos.length; i++) { 362 var video = videos[i]; 363 %><li data-idx="<%= i %>"> 364 <div class="holder"> 365 <div class="vimeo_thumb"> 366 <img src="<%= video.thumbnail_large %>"> 367 </div> 368 <div class="info"> 369 <h4><%= video.title %></h4> 370 <p><%= video.description %></p> 371 </div> 372 <div class="meta"> 373 <span class="upload_date"><%= O_O.date.strFmt(video.upload_date, "%e %b %Y") %></span> 374 <div class="duration"> 375 <%= Math.floor(video.duration / 60) %>:<% if(video.duration % 60<10) { %>0<% } %><%= video.duration % 60%> 376 </div> 377 </div> 378 </div> 379 </li><% } %> 380 </ul> 381<% } else { %> 382 (no videos) 383<% } %> 384</script>
384 385
386<script id='VimeoPlaylist_loading' type='text/template'> 387</script>
387 388
389<script id='VimeoPlaylist_error' type='text/template'> 390(<%= message %>) 391</script>
391 392
392<script id='Logo_logoText' type='text/template'> 393 <a href="/index" class="text" title="<%- text %>"><%- text %></a> 394</script>
394 395
396<script id='Logo_logoImage' type='text/template'> 397 <a href="/index" title="<%- text %>" style="background-image:url(<%= src %>);height:<%= height %>px;width:<%= width %>px;" class="logo"><%- text %></a> 398</script>
398 399
400<script id='Logo_editor' type='text/template'> 401 <div class="row"> 402 <label>Type:</label> 403 text <input name="type" type="radio" value="text" <%= (type == 'text') && 'checked' %>/> or image <input name="type" type="radio" value="image" <%= (type == 'image') && 'checked' %> /> 404 </div> 405 <div class="textCfg"> 406 <div class="row"><label>Text:</label><input name="text" type="text" value="<%= text %>" /></div> 407 <div class="row"><label>Color:</label><input name="color" type="color" value="<%= color %>" /></div> 408 </div> 409 <div class="imageCfg row"> 410 <button class="edit" data-type="edit"></button> 411 <p class="key" style="display:inline">Image:</p> 412 <span class="objPreview" data-obj-type="GalleryImage" > 413 <input type="hidden" data-type="GalleryImage" name="image" value="<%- image %>" /> 414 </span> 415 </div> 416</script>
416 417 418
418<script id='Instagram_auth_link' type='text/template'> 419<div class="row" style="padding-top: 0; margin-top: 0;"> 420 <p class="widgetTip"><em><%=msg%></em></p> 421 <button class='button-secondary auth-link' style="display: block;" onClick='javascript:window.open("<%=url%>", "Authorizing Instagram", "resizable,scrollbars,status,height=500,width=500")'> 422 Authorize with Instagram 423 </button> 424 <p class="widgetTip" style="padding:0;">You may need to disable any popup blockers.</p> 425</div> 426</script>
426 427
428<script id='Instagram_main' type='text/template'> 429<div class='main<% if (!list) { %> grid<% } %>'> 430</div> 431</script>
431 432
433<script id='Instagram_auth_form' type='text/template'> 434 <div class="row" style="display:none"> 435 <input type="hidden" name="token" value="<%= token %>" /><br/> 436 </div> 437 <div class="row typeSelect" data-group=""> 438 <label>Images per page</label> 439 <select name="limit" tabindex="-1"> 440 <option value="8">8</option> 441 <option value="16">16</option> 442 <option value="24">24</option> 443 <option value="32">32</option> 444 </select> 445 <div class="ps-select"> 446 <div class="list"> 447 <ul> 448 <li> 449 <button type="button" tabindex="-1" data-title="8" data-value="8" data-act="selectBox"> 450 8 451 </button> 452 </li> 453 <li> 454 <button type="button" tabindex="-1" data-title="16" data-value="16" data-act="selectBox"> 455 16 456 </button> 457 </li> 458 <li> 459 <button type="button" tabindex="-1" data-title="24" data-value="24" data-act="selectBox"> 460 24 461 </button> 462 </li> 463 <li> 464 <button type="button" tabindex="-1" data-title="32" data-value="32" data-act="selectBox"> 465 32 466 </button> 467 </li> 468 </ul> 469 </div> 470 </div> 471 </div> 472 <div class="row typeCheckbox"> 473 <input type="hidden" value="f_displayList" <% if (cfg.f_displayList === 'true' || cfg.f_displayList === 't') { %>checked<% } %> name="f_displayList" id="f_displayList"> 474 </div> 475 <div class="row typeCheckbox"> 476 <input type="hidden" value="displayLikes" <% if (cfg.displayLikes === 'true' || cfg.displayLikes === 't') { %>checked<% } %> name="displayLikes" id="displayLikes"> 477 </div> 478 <div class="row typeCheckbox"> 479 <input type="checkbox" value="displayCaption" <% if (cfg.displayCaption === 'true' || cfg.displayCaption === 't') { %>checked<% } %> name="displayCaption" id="displayCaption"> 480 <label for="displayCaption">Caption</label> 481 </div> 482 <div class="row" style="margin-bottom: 0; padding-bottom: 0;"> 483 <p class='status' style="margin-bottom: 0; padding-bottom: 0;"></p> 484 </div> 485</script>
485 486
487<script id='Instagram_item' type='text/template'> 488<div class='item'> 489 <a href="<%=link%>" target="_blank"> 490 <img src="<%=url%>" width="<%=width%>" height="<%=height%>"/> 491 </a> 492 <% if (caption !== '') { %> 493 <p class='caption'><%=caption%></p> 494 <% } %> 495</div> 496</script>
496 497
498<script id='Instagram_video' type='text/template'> 499 <div class='video'> 500 <video width="90%" height="90%" preload="metadata" controls> 501 <source src="<%=url%>" type="video/mp4"> 502 </video> 503 <% if (caption !== '') { %> 504 <p class='caption'><%=caption%></p> 505 <% } %> 506 </div> 507 </script>
507 508
509<script id='Instagram_pagination' type='text/template'> 510<div class='pagination_prev'> 511 <a class='prev'>Previous page</a> 512</div> 513<div class='pagination_next'> 514 <a class='next'>Next page</a> 515</div> 516</script>
516 517
517<script id='BlogReader_main' type='text/template'> 518<div class="controls"></div> 519<div class="main"> 520<div class="loading-c2"><div class="bar-holder"><div class="loading-bar"></div></div></div> 521</div> 522<div class="controls"></div> 523</script>
523 524
525<script id='BlogReader_controls' type='text/template'> 526<% if (typeof curPage !== 'undefined') { %> 527 <% if (prevPage !== '') { %> 528 <a href='<%= O_O.lib.Util.makePath('blog', [prevPage]) %>' class='prev' title="Previous"><%= config.f_previous_text %></a> 529 <% } %> 530 <% if (nextPage !== '' && nextPage > curPage) { %> 531 <a href='<%= O_O.lib.Util.makePath('blog', [nextPage]) %>' class='next' title="Next"><%= config.f_next_text %></a> 532 <% } %> 533<% } %> 534</script>
534 535
536<script id='BlogReader_textpost' type='text/template'> 537<div class="textpost"> 538 <h3><a href="<%= link %>" target="_blank"><%= title %></a></h3> 539 <% if (date) { %> 540 <p class="date"><%= date %></p> 541 <% } %> 542 <div class='body'><%= body %></div> 543</div> 544</script>
544 545
546<script id='BlogReader_photopost' type='text/template'> 547<div class="photopost"> 548 <div class='body'> 549 <% for (var i = 0, ct = photos.length; i < ct; i++) { 550 var photo = photos[i]; %> 551 <img src="<%= photo.alt_sizes[0].url %>"/> 552 <% } %> 553 </div> 554 <%= caption %> 555 <% if (date) { %> 556 <p class="date"><%= date %></p> 557 <% } %> 558</div> 559</script>
559 560
561<script id='BlogReader_linkpost' type='text/template'> 562<div class="linkpost"> 563 <a href="<%= linkUrl %>" target="_blank"><%= title %></a> 564 <div class='body'><%= desc %></p> 565</div> 566</script>
566 567
568<script id='BlogReader_quotepost' type='text/template'> 569<div class="linkpost"> 570 <%= source %> 571 <div class='body'><%= text %></p> 572</div> 573</script>
573 574
575<script id='BlogReader_videopost' type='text/template'> 576 <div class="photopost videopost"> 577 <div class='body'> 578 <%= video %> 579 </div> 580 <%= caption %> 581 <% if (date) { %> 582 <p class="date"><%= date %></p> 583 <% } %> 584 </div> 585</script>
585 586 587 <!-- for gplus share -->
588<script src="https://apis.google.com/js/platform.js" async defer></script>
588 589
590<script id='ShareUrl_main' type='text/template'> 591<% if (typeof f_innerScroll !== 'undefined' && f_innerScroll) { %> 592<div class="content"> 593<%}%> 594<div class="su-holder"> 595<div class="su-content"> 596 <% if (typeof f_closeable !== 'undefined' && f_closeable) { %> 597 <button class="close">Close</button> 598 <% } %> 599 <h1>Share this <%= f_shareWhat %></h1> 600 <form> 601 <label>Link</label> 602 <input class="link" type=text value="" 603 id="copyURL" /> 604 <button title="Copy Link" data-clipboard-target="copyURL">Copy Link</button> 605 </form> 606 <form> 607 <label>Email</label> 608 <input class="email" type=email placeholder="Enter an email address" id="emailURL"/> 609 <button title="Share Via Email" class="shareEmail">Share Via Email</button> 610 </form> 611 <% if (typeof f_embedable !== 'undefined' && f_embedable) { %> 612 <form> 613 <label>Embed</label> 614 <input class="embed" type=text value="<iframe src='http://www.thisurl.com' width='800' height='600' />" 615 id="copyEmbed" /> 616 <button title="Copy Embed Code" data-clipboard-target="copyEmbed">Copy Embed Code</button> 617 </form> 618 <% } %> 619 <ul class='share-options'> 620 <li><a target="_blank" href="#" class="pinterest" title="Pinterest"><span>Pinterest</span></a></li> 621 <li><a target="_blank" href="#" class="facebook" title="Facebook"><span>Facebook</span></a></li> 622 <li><a target="_blank" href="#" class="twitter" title="Twitter"><span>Twitter</span></a></li> 623 </ul> 624</div> 625</div> 626<% if (typeof f_innerScroll !== 'undefined' && f_innerScroll) { %> 627</div> 628<%}%> 629 630</script>
630 631 632
632<script id='BuyMenu_main' type='text/template'> 633<% if (typeof config.f_innerScroll !== 'undefined' && config.f_innerScroll) { %> 634<div class="content"> 635<%}%> 636<div class="su-holder"> 637<div class="su-content"> 638 <% if (typeof config.f_closeable !== 'undefined' && config.f_closeable) { %> 639 <button class="close">Close</button> 640 <% } %> 641 <h1>Buy this <%= config.buyWhat %></h1> 642 <ul class="buy-options"> 643 <% if (typeof pricing !== 'undefined' && pricing.length > 0) { %> 644 <% if(!!find('PR', pricing)) { %> 645 <li><a href="#" class="pr" title="Print/product">Print/product</a></li> 646 <% } %> 647 <% if(!!find('BND', pricing)) { %> 648 <li><a href="#" class="bnd" title="Image package">Image package</a></li> 649 <% } %> 650 <% if(!!find('PU', pricing)) { %> 651 <li><a href="#" class="pu" title="Personal use download">Personal use download</a></li> 652 <% } %> 653 <% if(!!find('RM', pricing)) { %> 654 <li><a href="#" class="rm" title="Rights-managed license">Rights-managed license</a></li> 655 <% } %> 656 <% if(!!find('RF', pricing)) { %> 657 <li><a href="#" class="rf" title="Royalty-free license">Royalty-free license</a></li> 658 <% } %> 659 <% if(cart > 0) { %> 660 <li class="cart-link"><a href="/cart" class="cart" title="View your cart"><span>View your cart</span></a></li> 661 <% } %> 662 <% } %> 663 </ul> 664</div> 665</div> 666<% if (typeof config.f_innerScroll !== 'undefined' && config.f_innerScroll) { %> 667</div> 668<%}%> 669</script>
669 670
670<script id='ThumbStrip_main' type='text/template'> 671</script>
671 672
673<script id='ThumbStrip_images' type='text/template'> 674<div class="content 675 scrollable-h 676 <% if (typeof config.display !== 'undefined') { %><%= config.display %><% } %> 677 <% if (typeof hzCfg !== 'undefined' && hzCfg !== null) { %><%= hzCfg.spacing %>-padding<% } %>"> 678<% if (typeof hzCfg !== 'undefined' && hzCfg !== null) { %> 679 <%= tpl('gal_info', {gallery: gallery, config: hzCfg}) %> 680<% } %> 681<% if (config.rows !== 1) { %><div class="holder"><% } %> 682<% for (var i = 0, l = images.length; i < l; i++) { %> 683<% if (config.display === 'large') { %> 684 <section data-index="<%= images[i].id %>" class="img"> 685<% } else { %> 686 <button data-index="<%= images[i].id %>" class="img"> 687<% } %> 688<% var width = Math.round(images[i].screen_width_max / images[i].screen_height_max * height); %> 689 <div class="scaler<% if (typeof hzCfg !== 'undefined' && hzCfg !== null && width < 200) { %> narrow<% } %>" style="height: <%= height %>px; width: <%= width %>px;" data-index="<%= images[i].id %>"> 690 <% if (config.display === 'large' && typeof hzCfg !== 'undefined' && hzCfg !== null && hzCfg.f_i_info !== 'n') { %> 691 <%= tpl('img_info', {img: images[i], config: hzCfg}) %> 692 <% } %> 693 </div> 694<% if (config.display === 'large') { %> 695 </section> 696<% } else { %> 697 </button> 698<% } %> 699<% } %> 700<% if (config.rows !== 1) { %></div><% } %> 701</div> 702</script>
702 703
704<script id="ThumbStrip_img" type="text/template"> 705<img src="<%= img.src %>" data-src="<%= img.src %>"/> 706</script>
706 707
708<script id="ThumbStrip_img_info" type="text/template"> 709<div class="buttons<% if (config.f_i_info === 't') { %> open force<% } %>"> 710 <% if ((config.f_i_title === 't' && (img.name || img.headline || img.title || img.file_name)) || 711 (config.f_i_caption === 't' && (img.description || img.caption))) { %> 712 <div class="info"> 713 <div class="content"> 714 <% if (config.f_i_title === 't' && (img.name || img.headline || img.title || img.file_name)) { %><strong><%- img.name || img.headline || img.title || img.file_name %></strong><% } %><% if (config.f_i_caption === 't' && (img.description || img.caption)) { %> <p><%- img.description || img.caption %></p><% } %> 715 </div> 716 </div> 717 <% } %> 718 <% var buttons = 0; 719 buttons += (config.f_i_archive === 't') ? 1 : 0; 720 buttons += (config.f_i_social === 't') ? 1 : 0; 721 buttons += (config.f_i_buy === 't') ? 1 : 0; 722 buttons += ((config.f_i_title === 't' && (img.name || img.headline || img.title || img.file_name)) || 723 (config.f_i_caption === 't' && (img.description || img.caption))) ? 2 : 0; %> 724 <% if (buttons > 1 && (config.f_i_archive === 't' || config.f_i_social === 't' || config.f_i_buy === 't' || 725 (config.f_i_title === 't' && (img.name || img.headline || img.title || img.file_name)) || 726 (config.f_i_caption === 't' && (img.description || img.caption)))) { %> 727 <div class="more" data-act="more"></div> 728 <% } %> 729 <% if (config.f_i_archive === 't') { %> 730 <div class="archive<% if (buttons === 1) { %> single<% } %>" data-act="archive"></div> 731 <% } %> 732 <% if (config.f_i_social === 't') { %> 733 <div class="social<% if (buttons === 1) { %> single<% } %>" data-act="social"></div> 734 <% } %> 735 <% if (config.f_i_buy === 't' && img.pricing && img.pricing.length) { %> 736 <div class="buy<% if (buttons === 1) { %> single<% } %>" data-act="buy"></div> 737 <% } %> 738</div> 739</script>
739 740
741<script id="ThumbStrip_gal_info" type="text/template"> 742<div class="gallery-info<% if (config.f_g_info === 't') { %> on<% } %>"> 743<div class="scroll"> 744<div class="content"> 745 <h1><%- gallery.name %></h1> 746 <p><%= gallery.description %></p> 747</div> 748</div> 749</div> 750</script>
750 751 752
752<script id='ViewToggle_main' type='text/template'> 753 <button class="size thumb <% if (config.thumbsFirst === 't') { %>on<% } %>" title="Small Image View"></button> 754 <button class="size large <% if (config.thumbsFirst === 'f') { %>on<% } %>" title="Large Image View"></button> 755 <% if (config.f_fullscreen === 't') { %> 756 <button class="fs" title="Fullscreen View"></button> 757 <% } %> 758 <button class="prev" title="Previous"></button> 759 <button class="next" title="Next"></button> 760 <button class="prev-full" title="Previous"></button> 761 <button class="next-full" title="Next"></button> 762</script>
762 763 764
764<script id='SocialFollow_main' type='text/template'> 765<% 766if (f_edit && linkA.length === 0) { 767 %> 768<%= tpl('placeholder', {}) %> 769 770<% } else { %> 771 772<div class='follow-wrapper'> 773<ul class='follow-options'> 774<% 775var link; 776for (var i=0; i<linkA.length; i++) { 777 link = linkA[i]; 778%> 779 <li> 780 <a target='_blank' class=<%= link.service %> href=<%= link.url %>></a> 781 </li> 782<% } %> 783</ul> 784</div> 785 786<% } %> 787</script>
787 788
789<script id='SocialFollow_placeholder' type='text/template'> 790<div class='follow-wrapper placeholder edit-widget-border'> 791<ul class='follow-options'> 792 <li><a class='twitter'></a></li> 793 <li><a class='facebook'></a></li> 794 <li><a class='instagram'></a></li> 795</ul> 796</div> 797</script>
797 798
799<script id='SocialFollow_editor' type='text/template'> 800 <p class='widgetTip'> 801 Enter your info in the text fields below, and we'll do the rest. 802 <a target="_blank" href="https://support.photoshelter.com/hc/en-us/articles/204837820">Learn more »</a> 803 </p> 804 805 <ul class='objectList'></ul> 806 807 <div class='widgetTip'> 808 Click and drag to reorder your social follow buttons. 809 </div> 810</script>
810 811
812<script id='SocialFollow_editUsernames' type='text/template'> 813<% 814for (var i=0; i<socialDataA.length; i++) { 815 var socialItem = socialDataA[i]; 816%><%= tpl('editUsername', socialItem) %> 817<% } %> 818</script>
818 819
820<script id='SocialFollow_editUsername' type='text/template'> 821 <li class='row draggable sortable external' data-service=<%= service %>> 822 <span class='dragHandle'></span> 823 <span><%= label %></span> 824 <input name=<%= service %> type='text' value='<%= username %>' placeholder='<%= placeholder %>' /> 825 </li> 826</script>
826 827 828 829
830<script type="text/javascript"> 831var C2_CFG = {"theme":"Theme7","themeCfg":"{\"name\":\"Theme7\",\"version\":\"1.1.0\",\"requires\":{\"models\":[\"Collection\",\"Content\",\"Gallery\",\"Image\",\"Generic\"],\"widgets\":[[\"Content\",\"1.1\"],[\"ContactForm\",\"1.0\"],[\"GalleryNav\",\"1.1.1\"],[\"Nav\",\"1.1\"],[\"SocialShare\",\"1.0\"],[\"StaticImage\",\"1.0\"],[\"VimeoPlayer\",\"1.0\"],[\"VimeoPlaylist\",\"1.0\"],[\"Logo\",\"1.1\"],[\"Instagram\",\"1.2\"],[\"BlogReader\",\"1.0\"],[\"ShareUrl\",\"1.1\"],[\"BuyMenu\",\"1.0\"],[\"ThumbStrip\",\"1.0\"],[\"ViewToggle\",\"1.0\"],[\"SocialFollow\",\"1.0.0\"]]},\"resources\":{\"fonts\":{\"abril\":{\"family\":\"Abril Fatface\",\"alternate\":\"serif\",\"vendor_tag\":\"Abril+Fatface\"},\"arial\":{\"family\":\"Arial\",\"alternate\":\"sans-serif\",\"vendor_tag\":\"\"},\"arvo\":{\"family\":\"Arvo\",\"alternate\":\"serif\",\"vendor_tag\":\"Arvo\"},\"badScript\":{\"family\":\"Bad Script\",\"alternate\":\"sans-serif\",\"vendor_tag\":\"Bad+Script\"},\"berkshire\":{\"family\":\"Berkshire Swash\",\"alternate\":\"serif\",\"vendor_tag\":\"Berkshire+Swash\"},\"cabin\":{\"family\":\"Cabin\",\"alternate\":\"sans-serif\",\"vendor_tag\":\"Cabin\"},\"domine\":{\"family\":\"Domine\",\"alternate\":\"serif\",\"vendor_tag\":\"Domine\"},\"droidSans\":{\"family\":\"Droid Sans\",\"alternate\":\"sans-serif\",\"vendor_tag\":\"Droid+Sans\"},\"gentium\":{\"family\":\"Gentium Basic\",\"alternate\":\"serif\",\"vendor_tag\":\"Gentium+Basic\"},\"georgia\":{\"family\":\"Georgia\",\"alternate\":\"serif\",\"vendor_tag\":\"\"},\"helvetica\":{\"family\":\"Helvetica\",\"alternate\":\"sans-serif\",\"vendor_tag\":\"\"},\"josefin\":{\"family\":\"Josefin Sans\",\"alternate\":\"sans-serif\",\"vendor_tag\":\"Josefin+Sans: 600\"},\"kreon\":{\"family\":\"Kreon\",\"alternate\":\"serif\",\"vendor_tag\":\"Kreon\"},\"lato\":{\"family\":\"Lato\",\"alternate\":\"sans-serif\",\"vendor_tag\":\"Lato\"},\"libre\":{\"family\":\"Libre Baskerville\",\"alternate\":\"serif\",\"vendor_tag\":\"Libre+Baskerville\"},\"merriweather\":{\"family\":\"Merriweather\",\"alternate\":\"serif\",\"vendor_tag\":\"Merriweather\"},\"open\":{\"family\":\"Open Sans\",\"alternate\":\"sans-serif\",\"vendor_tag\":\"Open+Sans\"},\"oswald\":{\"family\":\"Oswald\",\"alternate\":\"sans-serif\",\"vendor_tag\":\"Oswald\"},\"pacifico\":{\"family\":\"Pacifico\",\"alternate\":\"serif\",\"vendor_tag\":\"Pacifico\"},\"palatino\":{\"family\":\"Palatino\",\"alternate\":\"serif\",\"vendor_tag\":\"\"},\"playfair\":{\"family\":\"Playfair Display\",\"alternate\":\"serif\",\"vendor_tag\":\"Playfair+Display\"},\"ptSans\":{\"family\":\"PT Sans\",\"alternate\":\"sans-serif\",\"vendor_tag\":\"PT+Sans\"},\"ptSansNarrow\":{\"family\":\"PT Sans Narrow\",\"alternate\":\"sans-serif\",\"vendor_tag\":\"PT+Sans+Narrow\"},\"ptSerif\":{\"family\":\"PTSerif\",\"alternate\":\"serif\",\"vendor_tag\":\"PT+Serif\"},\"quicksand\":{\"family\":\"Quicksand\",\"alternate\":\"sans-serif\",\"vendor_tag\":\"Quicksand\"},\"raleway\":{\"family\":\"Raleway\",\"alternate\":\"sans-serif\",\"vendor_tag\":\"Raleway\"},\"sanchez\":{\"family\":\"Sanchez\",\"alternate\":\"serif\",\"vendor_tag\":\"Sanchez\"},\"timeNewRoman\":{\"family\":\"Times New Roman\",\"alternate\":\"serif\",\"vendor_tag\":\"\"},\"verdana\":{\"family\":\"Verdana\",\"alternate\":\"sans-serif\",\"vendor_tag\":\"\"}},\"color_set\":[{\"name\":\"Light: Bold\",\"values\":{\"colorBkg\":\"#f4f4f4\",\"colorFrg\":\"#ffffff\",\"colorBrand\":\"#db0000\",\"colorNav\":\"#7b7b7b\",\"colorBody\":\"#1d1d1d\",\"colorLink\":\"#db0000\"}},{\"name\":\"Light: Classic\",\"values\":{\"colorBkg\":\"#f6f6f6\",\"colorFrg\":\"#ffffff\",\"colorBrand\":\"#444444\",\"colorNav\":\"#8e8e8e\",\"colorBody\":\"#5f5f5f\",\"colorLink\":\"#6babd7\"}},{\"name\":\"Dark: Bold\",\"values\":{\"colorBkg\":\"#191919\",\"colorFrg\":\"#000000\",\"colorBrand\":\"#e80000\",\"colorNav\":\"#acacac\",\"colorBody\":\"#e3e3e3\",\"colorLink\":\"#e80000\"}},{\"name\":\"Dark: Classic\",\"values\":{\"colorBkg\":\"#191919\",\"colorFrg\":\"#000000\",\"colorBrand\":\"#e8e8e8\",\"colorNav\":\"#acacac\",\"colorBody\":\"#cacaca\",\"colorLink\":\"#839fd2\"}}],\"font_set\":[{\"name\":\"Classic 1\",\"values\":{\"font_1\":\"open\",\"font_2\":\"open\",\"font_3\":\"gentium\"}},{\"name\":\"Classic 2\",\"values\":{\"font_1\":\"quicksand\",\"font_2\":\"quicksand\",\"font_3\":\"ptSerif\"}},{\"name\":\"Classic 3\",\"values\":{\"font_1\":\"playfair\",\"font_2\":\"gentium\",\"font_3\":\"gentium\"}},{\"name\":\"Modern 1\",\"values\":{\"font_1\":\"open\",\"font_2\":\"open\",\"font_3\":\"open\"}},{\"name\":\"Modern 2\",\"values\":{\"font_1\":\"oswald\",\"font_2\":\"oswald\",\"font_3\":\"lato\"}},{\"name\":\"Modern 3\",\"values\":{\"font_1\":\"raleway\",\"font_2\":\"raleway\",\"font_3\":\"lato\"}},{\"name\":\"Funky 1\",\"values\":{\"font_1\":\"arvo\",\"font_2\":\"arvo\",\"font_3\":\"arvo\"}},{\"name\":\"Funky 2\",\"values\":{\"font_1\":\"pacifico\",\"font_2\":\"lato\",\"font_3\":\"lato\"}},{\"name\":\"Funky 3\",\"values\":{\"font_1\":\"badScript\",\"font_2\":\"badScript\",\"font_3\":\"ptSans\"}}]},\"start\":\"index\",\"colorBkg\":\"#213340\",\"colorFrg\":\"#333f48\",\"colorBrand\":\"#3176a5\",\"colorNav\":\"#8e8e8e\",\"colorBody\":\"#ffffff\",\"colorLink\":\"#6babd7\",\"font_1\":\"raleway\",\"font_2\":\"raleway\",\"font_3\":\"ptSansNarrow\",\"last_modified\":\"2022-02-20 22:28:16 GMT\",\"color_set\":\"custom\",\"font_set\":\"custom\",\"modes\":{\"global\":{\"user_hidden\":true,\"widgets\":[{\"widget\":\"Logo\",\"widgetName\":\"Logo\",\"widgetDesc\":\"Your site name, displayed using text or a logo image\",\"type\":\"text\",\"f_force_menu_button\":\"h\",\"text\":\"\",\"image\":null,\"image_f_retina\":\"t\",\"image_orig_enable\":\"t\",\"image_width\":2040,\"image_height\"
831:2040,\"image_file_exts\":[\"gif\",\"jpeg\",\"jpg\",\"png\"],\"image_f_wm_disable\":\"t\",\"image_f_sec_ignore\":\"t\",\"image_max_size\":2040,\"propOverload\":null},{\"widget\":\"GalleryNav\",\"widgetName\":\"Featured Work\",\"widgetDesc\":\"Galleries displayed in your portfolio\",\"f_viewAll\":false,\"minDisplay\":2,\"fixed\":false,\"f_dynamicLoad\":false,\"f_galleriesSize\":\"large\",\"dataSource\":\"user\",\"destinationMode\":\"index\",\"userLinks\":[{\"type\":\"Gallery\",\"id\":\"G00002oBGTDxlpkk\"},{\"type\":\"Gallery\",\"id\":\"G0000QVIXTEF9g20\"},{\"type\":\"Gallery\",\"id\":\"G0000aLp4xzoNVts\"},{\"type\":\"Gallery\",\"id\":\"G0000aG8H7kz2i38\"},{\"type\":\"Gallery\",\"id\":\"G0000tuuxndnlisk\"},{\"type\":\"Gallery\",\"id\":\"G00004QLSTLSf8qo\"}],\"recent\":[\"\",\"\"],\"image\":false,\"imageType\":\"thumb\",\"f_count\":4,\"rowCount\":3,\"propOverload\":{\"dataSource\":{\"map\":{\"recent\":\"Recently updated galleries\",\"user\":\"Specific galleries\"}},\"userLinks\":{\"inpEdit\":\"\",\"allowed\":[\"Gallery\"]},\"recent\":{\"inpEdit\":\"\"}},\"delegate\":{\"Gallery\":[{\"mode\":\"index\",\"ordinal\":0}]}},{\"widget\":\"Nav\",\"widgetName\":\"Navigation\",\"widgetDesc\":\"Links used to traverse your site\",\"f_archive_not_nested\":false,\"links\":[{\"name\":\"Projects\",\"type\":\"fixed\",\"url_fragment\":\"index\",\"className\":\"index\",\"f_hidden\":false,\"id\":\"-0\",\"act\":\"edit\"},{\"type\":\"page\",\"name\":\"Books\",\"url_fragment\":\"-\",\"cls\":\"p\",\"f_hidden\":false,\"id\":\"-1\",\"page_title\":\"\",\"act\":\"edit\"},{\"name\":\"Bio \\\/ CV\",\"type\":\"fixed\",\"url_fragment\":\"about\",\"className\":\"about\",\"f_hidden\":false,\"id\":\"-2\",\"act\":\"edit\"},{\"name\":\"Archive\",\"type\":\"dynamic\",\"url_fragment\":\"archive\",\"className\":\"archive\",\"f_hidden\":false,\"id\":\"-3\",\"act\":\"edit\"},{\"type\":\"external\",\"f_hidden\":true,\"name\":\"Newsletter\",\"url\":\"http:\\\/\\\/eepurl.com\\\/r31IX\",\"url_fragment\":\"\",\"target\":\"_blank\",\"act\":\"add\",\"id\":\"-4\"},{\"name\":\"Video\",\"type\":\"fixed\",\"url_fragment\":\"video\",\"className\":\"video\",\"f_hidden\":true,\"id\":\"-5\"},{\"type\":\"fixed\",\"name\":\"Blog\",\"url_fragment\":\"blog\",\"cls\":\"blog\",\"f_hidden\":true,\"id\":\"-6\"},{\"name\":\"Contact\",\"type\":\"fixed\",\"url_fragment\":\"contact\",\"className\":\"contact\",\"f_hidden\":true,\"id\":\"-7\",\"act\":\"edit\"},{\"type\":\"fixed\",\"name\":\"Instagram\",\"url_fragment\":\"instagram\",\"cls\":\"instagram\",\"f_hidden\":true,\"id\":\"-8\"},{\"type\":\"page\",\"name\":\"Books\",\"url_fragment\":\"p\",\"cls\":\"p\",\"f_hidden\":true,\"id\":\"-9\"}],\"propOverload\":null},{\"widget\":\"Content\",\"widgetName\":\"Content Area\",\"widgetDesc\":\"Text or custom content to display on this page\",\"contentTuple\":{\"type\":\"c2_page\",\"category\":\"contact\",\"subcategory\":\"contact22\"},\"f_hash_tuple\":false,\"hashTupleBase\":{\"type\":\"c2_page\",\"category\":\"arbpage\",\"subcategory\":null},\"defaultContent\":{\"content\":\"<p>[contact info goes here]<\\\/p>\"},\"propOverload\":null},{\"widget\":\"SocialFollow\",\"widgetName\":\"Social Follow\",\"widgetDesc\":\"Generates social follow icons for your site\",\"twitter\":\"mattlutton\",\"facebook\":\"luttonm\",\"instagram\":\"mattlutton\",\"linkedin\":\"\",\"vimeo\":\"\",\"tumblr\":\"\",\"pinterest\":\"\",\"googlePlus\":\"\",\"fiveHPx\":\"\",\"services\":[\"twitter\",\"facebook\",\"instagram\",\"vimeo\",\"linkedin\",\"tumblr\",\"pinterest\",\"googlePlus\",\"fiveHPx\"]}]},\"index\":{\"definition\":\"Index\",\"modeName\":\"Index\",\"title\":\"Matt Lutton - Photographer\",\"meta_description\":\"\",\"widgets\":[],\"sets\":{\"gallerySingleImage\":[{\"widget\":\"ViewToggle\",\"widgetName\":\"Image Display\",\"widgetDesc\":\"Options for how your images are displayed to the viewer\",\"thumbsFirst\":\"f\",\"spacing\":\"small\",\"f_g_info\":\"f\",\"f_i_info\":\"f\",\"f_i_title\":\"f\",\"f_i_caption\":\"t\",\"f_i_archive\":\"f\",\"f_i_social\":\"f\",\"f_i_buy\":\"t\",\"f_fullscreen\":\"t\",\"delegate\":{\"Thumbs\":[{\"mode\":\"index\",\"ordinal\":1},{\"mode\":\"index\",\"ordinal\":2}],\"GalleryMeta\":[{\"mode\":\"index\",\"ordinal\":1},{\"mode\":\"index\",\"ordinal\":2}],\"State\":[{\"mode\":\"index\",\"ordinal\":1},{\"mode\":\"index\",\"ordinal\":2}]}},{\"widget\":\"ThumbStrip\",\"widgetName\":\"Thumbnail Image Horizontal Viewer\",\"widgetDesc\":\"Displays thumbnail images in a horizontally scrollable pane.\",\"f_editable\":false,\"delegate\":{\"JumpTo\":[{\"mode\":\"index\",\"ordinal\":0}],\"Controls\":[{\"mode\":\"index\",\"ordinal\":0}]},\"rows\":-1,\"display\":\"thumb\",\"loadThresh\":1,\"f_innerScroll\":false,\"scrollOutside\":false,\"focusAlign\":\"center\"},{\"widget\":\"ThumbStrip\",\"widgetName\":\"Thumbnail Image Horizontal Viewer\",\"widgetDesc\":\"Displays thumbnail images in a horizontally scrollable pane.\",\"f_editable\":false,\"delegate\":{\"Share\":[{\"mode\":\"index\",\"ordinal\":3}],\"Buy\":[{\"mode\":\"index\",\"ordinal\":4}],\"ImageMeta\":[{\"mode\":\"index\",\"ordinal\":4}],\"Controls\":[{\"mode\":\"index\",\"ordinal\":0}]},\"rows\":1,\"display\":\"large\",\"loadThresh\":3,\"f_innerScroll\":false,\"scrollOutside\":false,\"focusAlign\":\"center\"},{\"widget\":\"ShareUrl\",\"widgetName\":\"Post to Social Networks\",\"widgetDesc\":\"Links for easy social sharing of your content\",\"f_editable\":false,\"f_innerScroll\":false,\"f_embedable\":false,\"f_closeable\":true,\"f_shareWhat\":\"image\"},{\"widget\":\"BuyMenu\",\"widgetName\":\"Buy\\\/License Menu\",\"widgetDesc\":\"Links for easy social sharing of your content\",\"f_editable\":false,\"f_innerScroll\":false,\"buyWhat\":\"image\",\"f_closeable\":true}]}},\"about\":{\"title\":\"Matt Lutton - Bio\\\/CV\",\"meta_description\":\"\",\"widgets\":[{\"widget\":\"Content\",\"widgetName\":\"Content Area\",\"widgetDesc\":\"Text or custom content to display on this page\",\"contentTuple\":{\"type\":\"c2_page\",\"category\":\"about\",\"subcategory\":\"about\"},\"f_hash_tuple\":false,\"hashTupleBase\":{\"type\":\"c2_page\",\"category\":\"arbpage\",\"subcategory\":null},\"defaultContent\":{\"content\":\"<h1 class=\\\"title\\\">About Me<\\\/h1>Bio information to be entered here.\"},\"propOverload\":null},{\"widget\":\"StaticImage\",\"widgetName\":\"Image\",\"widgetDesc\":\"An image to display on this page\",\"
831image\":[{\"type\":\"GalleryImage\",\"image_id\":\"I00005j58.zoF3WM\",\"gallery_id\":\"G000098zfYuAQDKM\",\"collection_id\":\"\"}],\"image_width\":600,\"image_height\":400,\"image_f_wm_disable\":\"t\",\"image_f_sec_ignore\":\"t\",\"image_max_size\":null}]},\"contact\":{\"definition\":\"Contact\",\"title\":\"Contact\",\"meta_description\":\"\",\"widgets\":[{\"widget\":\"Content\",\"widgetName\":\"Content Area\",\"widgetDesc\":\"Text or custom content to display on this page\",\"contentTuple\":{\"type\":\"c2_page\",\"category\":\"contact\",\"subcategory\":\"contact\"},\"f_hash_tuple\":false,\"hashTupleBase\":{\"type\":\"c2_page\",\"category\":\"arbpage\",\"subcategory\":null},\"defaultContent\":{\"content\":\"<h1 class=\\\"title\\\">Contact Info<\\\/h1><p>[contact info goes here]<\\\/p>\"},\"propOverload\":null},{\"widget\":\"ContactForm\",\"widgetName\":\"Contact Form\",\"widgetDesc\":\"Form to allow visitors to send messages directly to you\",\"sendText\":\"Send\",\"f_captcha\":false,\"f_placeholder\":true}]},\"p\":{\"title\":\"Books by Matt Lutton\",\"meta_description\":\"Books by Matt Lutton\",\"modeName\":\"Custom Page\",\"user_hidden\":true,\"widgets\":[{\"widget\":\"Content\",\"widgetName\":\"Content Area\",\"widgetDesc\":\"Text or custom content to display on this page\",\"contentTuple\":null,\"f_hash_tuple\":true,\"hashTupleBase\":{\"type\":\"c2_page\",\"category\":\"arbpage\",\"subcategory\":null},\"defaultContent\":null,\"propOverload\":null}]},\"video\":{\"title\":\"Videos\",\"meta_description\":\"\",\"widgets\":[{\"widget\":\"Content\",\"widgetName\":\"Content Area\",\"widgetDesc\":\"Text or custom content to display on this page\",\"contentTuple\":{\"type\":\"c2_page\",\"category\":\"video\",\"subcategory\":\"intro\"},\"f_hash_tuple\":false,\"hashTupleBase\":{\"type\":\"c2_page\",\"category\":\"arbpage\",\"subcategory\":null},\"defaultContent\":{\"content\":\"<h1 class=\\\"title\\\">Videos<\\\/h1>A selection of videos.\"},\"propOverload\":null},{\"widget\":\"VimeoPlayer\",\"widgetName\":\"Vimeo Player\",\"widgetDesc\":\"A Vimeo video player\",\"f_dialog\":true,\"style\":null},{\"widget\":\"VimeoPlaylist\",\"widgetName\":\"Vimeo Feed\",\"widgetDesc\":\"A list of videos from a Vimeo account\\\/album\",\"list_type\":\"vimeo_user\",\"vimeo_user\":\"\",\"vimeo_album\":\"\"}]},\"blog\":{\"modeName\":\"Blog\",\"definition\":\"Blog\",\"title\":\"Blog\",\"meta_description\":\"\",\"widgets\":[{\"widget\":\"BlogReader\",\"widgetName\":\"Blog Feed\",\"widgetDesc\":\"Displays posts from an external blog\",\"type\":\"tumblr\",\"blogger_url\":null,\"blogger_limit\":1,\"tumblr_url\":null,\"tumblr_limit\":5,\"wordpress_url\":null,\"wordpress_feedUrl\":null,\"f_previous_text\":\"Previous\",\"f_next_text\":\"Next\"},{\"widget\":\"Content\",\"widgetName\":\"Content Area\",\"widgetDesc\":\"Text or custom content to display on this page\",\"contentTuple\":{\"type\":\"c2_page\",\"category\":\"blog\",\"subcategory\":\"intro\"},\"f_hash_tuple\":false,\"hashTupleBase\":{\"type\":\"c2_page\",\"category\":\"arbpage\",\"subcategory\":null},\"defaultContent\":{\"content\":\"<h1>Blog<\\\/h1>\"},\"propOverload\":null}]},\"instagram\":{\"definition\":\"Instagram\",\"modeName\":\"Instagram\",\"title\":\"Instagram\",\"meta_description\":\"\",\"widgets\":[{\"widget\":\"Instagram\",\"widgetName\":\"Instagram\",\"widgetDesc\":\"A feed of photos from an Instagram account\",\"token\":null,\"limit\":\"16\",\"f_displayList\":\"t\",\"displayLikes\":\"t\",\"displayCaption\":\"t\"},{\"widget\":\"Content\",\"widgetName\":\"Content Area\",\"widgetDesc\":\"Text or custom content to display on this page\",\"contentTuple\":{\"type\":\"c2_page\",\"category\":\"instagram\",\"subcategory\":\"intro\"},\"f_hash_tuple\":false,\"hashTupleBase\":{\"type\":\"c2_page\",\"category\":\"arbpage\",\"subcategory\":null},\"defaultContent\":{\"content\":\"<h1 class=\\\"title\\\">Instagram<\\\/h1>\"},\"propOverload\":null}]}}}","customEnv":{"id":"U0000IbfP.g7cn4g","name":"Matt Lutton","label":"luttonm","theme":"Theme7","theme_name":"Horizon","curhost":"www.mattlutton.com","host":"www.mattlutton.com","host_ps":"luttonm.photoshelter.com","url":"https:\/\/www.mattlutton.com","url_ps":"https:\/\/luttonm.photoshelter.com","api_key":"PS631731c7","api_key_v4":"WbCFNtLJzS4","site_cfg":{"SC_ID":"SC000fwvd95N_zpE","SC_ORG_ID":null,"SC_USER_ID":"U0000IbfP.g7cn4g","SC_SITE_NAME":"Matt Lutton - Photographer","SC_CNAME":"www.mattlutton.com","SC_THEME":"Theme7","SC_THEME_C1":"","SC_THEME_C2":"Theme7","SC_IMG_NO_MASK":"f","SC_GA_ID":"UA-7692909-1","SC_HTML_HEAD":"","SC_HTML_FOOTER":"","SC_SSL_PREF":"t","SC_RECAPTCHA_KEY":null,"FID_O":"U0000IbfP.g7cn4g","CUSTOM_VERSION":"2.0"},"ctd":{"CTD_PRC_PRF_TYPE":"Downloads","CTD_F_CART":"f","CTD_F_LBX":"f","CTD_F_DOWNLOAD":"t","CTD_F_SOCIAL":"t","CTD_THM_FIT_CLC_GAL":"fit","CTD_THM_FIT_IMG":"fit","CTD_PPG_THM":"50","CTD_PPG_GAL":"","CTD_LOGO_URL":"","CTD_SITE_URL":"","CTD_BLOG_URL":"http:\/\/www.dvafoto.com","CTD_TXT_FOOTER":"All images and text (c) Matt Lutton 2005-2010. All rights reserved.","CTD_NAV_GAL":"t","CTD_NAV_SEARCH":"t","CTD_NAV_LBX":"f","CTD_NAV_CART":"f","CTD_NAV_USR":"t","CTD_NAV_ABOUT":"t","CTD_NAV_CONTACT":"f","CTD_NAV_PAGE1":"f","CTD_NAV_PAGE2":"f","CTD_NAV_PORTFOLIO":"t","CTD_LBL_PAGE1":"","CTD_LBL_PAGE2":"","D_ID":"D000004aQZb.JvB0","librisSSO":false},"site_name":"Matt Lutton - Photographer","f_preview":false,"f_custom_basic":false,"referral_url":"https:\/\/www.photoshelter.com\/referral\/U0000IbfP.g7cn4g\/user","isDevDomain":false,"isCustomHost":true,"server"
831:{"web":"http:\/\/www.photoshelter.com","ul":"https:\/\/www.mattlutton.com","ul-cdn":"https:\/\/www.mattlutton.com","img":"https:\/\/www.mattlutton.com","img-mem":"https:\/\/www.mattlutton.com","vid":"https:\/\/www.mattlutton.com","vid-mem":"https:\/\/www.mattlutton.com","js":"https:\/\/www.mattlutton.com","css":"https:\/\/www.mattlutton.com","mkt":"https:\/\/www.mattlutton.com","sec":"https:\/\/www.mattlutton.com","library":"https:\/\/www.mattlutton.com"},"js_include_rev":1788533357,"favicon_url":null,"favicon_mime":null,"hasWorkspace":false,"hasDesignTemplates":false,"hasPrintuiDrafts":false,"isWhitelabel":false,"hasInvitedUserGalCover":true,"usrHasCnameFeature":true,"hasPortalSearchConfiguration":true,"hasContainersInSearchFlag":true,"hasUsableNetAssistive":false,"hasTrimVideoOnDL":false,"hasCropImageOnDL":true,"hasPdfPreview":false,"hasMagicSearch":false,"defaultToLumen":true,"f_owner":false}}; 832var C2_OPT = {"f_edit":false,"f_debug":false}; 833var appBaseDir = false; 834var customMdCfg = null; 835var apiKey = 'PS631731c7'; 836var apiKeyV4 = 'g5YWwvzrEKo'; 837var CSRF_TOKEN = ''; 838var hasWorkspace = false; 839var hasDesignTemplates = false; 840var hasPrintuiDrafts = false; 841var orgTFAReq = false; 842var isWhiteLabel = false; 843var seachBatchDownloadLimit = 250; 844var portalSearchConfiguration = false; 845var hasContainersInSearchFlag = false; 846var hasUsableNetAssistive = false; 847var themeCfg = JSON.parse(C2_CFG.themeCfg); 848var homepageDisplaySetting = themeCfg.portalHomepageDisplay; 849var homepageSearchSetting = themeCfg.portalHomepageSearchRedirectSettings; 850var homepageSearchTerm = themeCfg.portalHomepageSearchRedirectTerm; 851var hasTrimVideoOnDL = false; 852var hasCropImageOnDL = false; 853var hasPdfPreview = false; 854var hasMagicSearch = false; 855var defaultToLumen = false; 856 857 858PSGA = window.PSGA || {}; 859var librisPortalAppConfig = { 860 ctd_config: C2_CFG.customEnv.ctd, 861 custom_metadata: customMdCfg, 862 license_expiration: { 863 librisHasLicenseExpDate: C2_CFG.customEnv.librisHasLicenseExpDate, 864 librisLicenseExpDays: C2_CFG.customEnv.librisLicenseExpDays 865 } 866 , 867 hasWorkspace: hasWorkspace, 868 hasDesignTemplates: hasDesignTemplates, 869 hasPrintuiDrafts: hasPrintuiDrafts, 870 featuredPlayer: true, 871 videoCaptions: true, 872 hasUsableNetAssistive: hasUsableNetAssistive, 873 hasContainersInSearch: hasContainersInSearchFlag, 874 portalSearchConfiguration:portalSearchConfiguration, 875 homepageDisplaySetting: homepageDisplaySetting, 876 ...(homepageDisplaySetting==="searchPage" && {homepageSearchSetting: homepageSearchSetting}), 877 ...(homepageSearchSetting==="term" && {homepageSearchTerm: homepageSearchTerm}), 878 site_name: C2_CFG.customEnv.name, 879 hasTrimVideoOnDL: hasTrimVideoOnDL, 880 hasCropImageOnDL: hasCropImageOnDL, 881 hasPdfPreview: hasPdfPreview, 882 hasMagicSearch: hasMagicSearch, 883 defaultToLumen: defaultToLumen, 884 showMagicSearch: hasMagicSearch && C2_CFG.customEnv.ctd.CTD_F_MS_SEARCH !== 'f', 885}; 886 887(function($) { // map ps$ to $ // TODO: remove once ps$ is deprecated 888 var bootBeam = function () { 889 $(function() { // equivalent to $.ready() 890 O_O.mm.oNew(O_O.app.Visualizer, 'c2', C2_CFG, C2_OPT); 891 }); 892 }; 893 894 window.LibrisPortalApp = { 895 bootBeam: bootBeam, 896 appBaseDir: appBaseDir, 897 PSGA: PSGA, 898 apiKeyV4: apiKeyV4, 899 apiKey: apiKey, 900 librisPortalAppConfig: librisPortalAppConfig, 901 isWhiteLabel: isWhiteLabel 902 } 903 904 905 906 bootBeam(); 907 908}(ps$)); 909 910</script>
910 911 912 913</head> 914<body> 915<!--[if lte IE 9]> 916 <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p> 917<![endif]--> 918 919<div id="c2" class=" nav-logo-prep"></div> 920 921<div id="fb-root"></div> 922<div class="loading-c2 site"> 923 <div class="bar-holder"> 924 <div class="loading-bar"></div> 925 </div> 926</div> 927 928<noscript> 929 <div class="message">It looks like JavaScript is disabled in your browser. Please enable JavaScript and reload this page.</div> 930</noscript>
vendor: 66 bytes, lines 930-933
930 931 932 933<script async src="https://www.googletagmanager.com/gtag/js?id=
933G-JEEVL2L8S5
vendor: 12 bytes, line 933
933"></script>
934<script> 935 936
vendor: 134 bytes, lines 936-940
936window.dataLayer = window.dataLayer || []; 937 function gtag(){dataLayer.push(arguments);} 938 gtag('js', new Date()); 939 940 gtag('config', '
940G-JEEVL2L8S5
vendor: 6 bytes, lines 940-941
940'); 941
941gtag('config', 'UA-7692909-1'); 942</script>
942 943
944<script> 945(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 946(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 947m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 948})(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); 949PSGA = window.PSGA || {}; 950PSGA.initGa = function(uaid, name) { 951 ga('create', uaid, 'auto', {'name': name}); 952}; 953PSGA.distributor = function(request, args) { 954 return function() { 955 var trackers = ga.getAll(); 956 for (var i = 0, ct = trackers.length; i < ct; i++) { 957 var tracker = trackers[i]; 958 if ((args[0] === 'pageview' || 959 args[0].hitType === 'pageview') || 960 tracker.get('name') !== 'user') { 961 tracker[request].apply(tracker, args); 962 } 963 } 964 } 965}; 966PSGA.distributeToGaTrackers = function() { 967 const args = [].slice.call(arguments); 968 request = args.shift(); 969 ga(PSGA.distributor(request, args)); 970 971 //Convert legacy requests and send to GA4 972 if (request === 'send' && args && args[0]) { 973 const legacyHitData = args[0]; 974 //handle legacy events, usually from polymer apps 975 if (legacyHitData.hitType === 'event' && legacyHitData.eventAction) { 976 const eventObj = { 977 event_category: legacyHitData.eventCategory, 978 event_type: 'legacy', 979 ...(legacyHitData.eventValue && { event_value: legacyHitData.eventValue }), 980 ...(legacyHitData.eventLabel && { event_value: legacyHitData.eventLabel }) 981 } 982 gtag('event', legacyHitData.eventAction, eventObj); 983 } 984 } 985}; 986PSGA.sendGaEvent = function(category, action) { 987 this.distributeToGaTrackers('send', { 988 'hitType': 'event', 989 'eventCategory': category, 990 'eventAction': action 991 }); 992}; 993 994 995var uaid = 'UA-3783380-24'; 996var dimensions = {}; 997PSGA.initGa(uaid, 'ps'); 998uaid = 'UA-3783380-16'; 999PSGA.initGa(uaid, 'c2'); 1000dimensions.dimension1 = 'U0000IbfP.g7cn4g'; 1001dimensions.dimension2 = 'Visitor'; 1002dimensions.dimension3 = 'Theme7'; 1003 1004PSGA.initDynamicGA = PSGA.initDynamicGA || []; 1005PSGA.initDynamicGA.forEach(function(gaData) { 1006 PSGA.initGa(gaData.uaid, gaData.name); 1007}); 1008 1009ga('set', 'transport', 'beacon'); 1010if (Object.keys(dimensions).length) PSGA.distributeToGaTrackers('set',dimensions); 1011</script>
1011 1012 1013 1014<!-- Google Tag Manager Data Layer Construction -->
1015<script> 1016 if (!window.PSGTMDataLayer) PSGTMDataLayer = []; 1017 PSGTMDataLayer.push({"ACCOUNT_TYPE":"core","IS_PORTAL":false,"SITE_OWNER_ID":"U0000IbfP.g7cn4g"}); 1018</script>
1018 1019 1020<!-- Google Tag Manager -->
vendor: 62 bytes, lines 1020-1021
1020 1021<noscript><iframe src="//www.googletagmanager.com/ns.html?id=
1021GTM-NT5Z57
vendor: 83 bytes, lines 1021-1022
1021" 1022height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
1023<script>
vendor: 328 bytes, lines 1023-1028
1023(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push( 1024{'gtm.start': new Date().getTime(),event:'gtm.js'} 1025);var f=d.getElementsByTagName(s)[0], 1026j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 1027'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 1028})(window,document,'script','PSGTMDataLayer','
1028GTM-NT5Z57
vendor: 3 bytes, line 1028
1028');
1028</script>
1028 1029<!-- End Google Tag Manager --> 1030 1031
1032<script type="text/javascript" src="https://www.mattlutton.com/js/APP/1788533357/logFrame.js"></script>
1032 1033 1034</body> 1035</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.