1<style> 2 html{margin:0!important;} 3 body{margin:0;padding:0; font-family: 'EB Garamond', serif; background-color: #212325;} 4 .grid-container h1{ 5 font-family: 'Rubik', sans-serif; 6 font-weight: 400; 7 font-size: 1.25em; 8 color:#ffffff; 9 } 10 p{ 11 color:#ffffff; 12 } 13 .grid-container{ 14 display:grid; 15 grid-template-areas: 16 "info" 17 "spiral"; 18 font-size: .95em; 19 } 20 .hm-info-column{ 21 grid-area: info; 22 padding-top: 12rem; 23 } 24 25 .hm-spiral-column{ 26 grid-area: spiral; 27 } 28 .hm-spiral{ 29 height: 100%; 30 } 31 32 .hm-info { 33 margin-bottom: 0rem; 34 } 35 36 .hm-info-column{ 37 padding: 2rem; 38 font-size: 1.05rem; 39 font-family: sans-serif; 40 margin-top: 5rem; 41 } 42 43 .hm-logo-blue{ 44 width: 20rem; 45 } 46 47 .hm-gold-line{ 48 margin-top: 3rem; 49 background-color: #eab440; 50 width: 6rem; 51 height: 8px; 52 } 53 54 .hm-info-header{ 55 margin-top: 2rem; 56 margin-bottom: 2rem; 57 } 58 59 .hm-info-column p a{ 60 color: #3490dc; 61 text-decoration: none; 62 } 63 64 .hm-info-column p a:hover{ 65 color: #eab440; 66 } 67 68 .hm-back-to-site{ 69 background-color:#fff; 70 color: #005093; 71 border-radius: 5px; 72 height: 2.5rem; 73 padding: 0 1rem; 74 font-size: .92em; 75 margin-bottom: 3rem; 76 transition: color 0.25s; 77 } 78 79 .hm-back-to-site:hover { 80 color: #fff; 81 } 82 83 .hm-spiral-column{ 84 width:100vw; 85 height:29.5vh; 86 } 87 88 .hm-spiral{ 89 width: 100%; 90 height:100%; 91 } 92 93 canvas { 94 display: none; 95 } 96 97 svg { 98 display: none; 99 } 100 101 102 @media (min-width: 1080px) { 103 .grid-container{ 104 grid-template-areas: 105 "info spiral"; 106 } 107 .hm-info-column{ 108 margin-top: 5rem; 109 width: 75%; 110 padding-left: 4rem; 111 font-size: 1.05em; 112 } 113 114 .hm-spiral-column{ 115 height: 100vh; 116 width: 50vw; 117 } 118 119 canvas { 120 display: inline-block; 121 } 122 123 svg { 124 display: inline-block; 125 } 126 127 } 128 129 @media (min-width: 1500px) { 130 .hm-info-column{ 131 padding: 5rem; 132 } 133 } 134 135 svg { 136 position: absolute; 137 z-index: 999; 138 left: 0; 139 right: 0; 140 top: 0; 141 bottom: 0; 142 margin-left: auto; 143 margin-right: auto; 144 margin-top: auto; 145 margin-bottom: auto; 146 width: 150px; 147 height: 150px; 148 transform: translate(25vw); 149 } 150 151 .btn-overlay { 152 width: 0px; 153 background-color: #005093; 154 right: 0; 155 position: absolute; 156 height: 100%; 157 left: auto; 158 top: 0; 159 z-index: 3; 160 transition: width 0.25s; 161 } 162 163 .button-inner:hover .btn-overlay{ 164 width: 100%; 165 } 166 167 .button-inner:hover .link-text { 168 color: #fff; 169 } 170 171 .link-text { 172 color: #005093; 173 z-index: 999; 174 transition: color 0.25s; 175 position: relative; 176 } 177 178 .button-wrapper { 179 padding: 0.4444rem 2.2222rem; 180 display: inline; 181 } 182 183 .button-wrapper a { 184 position: relative; 185 display: inline-block; 186 background-color: #fff; 187 border: none; 188 border-radius: 0; 189 font-size: 0.9rem; 190 padding: 0.4444rem 2.2222rem; 191 text-align: center; 192 text-decoration: none; 193 margin-top: 2rem; 194 } 195 196 </style> 197 <body> 198 <div class="grid-container"> 199 <div class="hm-info-column"> 200 <img class="hm-logo-blue" src="https://assets.hatfieldmedia.com/hatfield-media-logo-gold.png" alt="Hatfield Media logo in Oxford Blue"> 201 <div class="hm-gold-line"></div> 202 <h1 class="hm-info-header">deltaturnstile.com Website Design by Hatfield Media</h1> 203 <p class="hm-info">deltaturnstile.com is developed and maintained by Hatfield Media, a Louisville marketing agency and website design company. Hatfield Media is based in Louisville Kentucky and provides full-service <strong><a href="https://hatfieldmedia.com/digital-marketing">digital marketing</a></strong> services including <strong><a href="https://hatfieldmedia.com/search-optimization">search engine optimization (SEO)</a></strong>, <strong><a href="https://hatfieldmedia.com/video-production">4K video production</a></strong>, <strong><a href="https://hatfieldmedia.com/live-video-streaming-company">live video streaming</a></strong> and <strong><a href="https://hatfieldmedia.com/web-development">website design</a></strong> for Louisville businesses. 204 <br /><br />Although based in Louisville Kentucky, Hatfield Media also serves a variety of nationwide and global clients. For more examples of Hatfield Media completed projects, please visit our online portfolio or clients page for more information. 205 <br><br>For inquiries regarding website design, or any other service, please visit our website at <strong><a href="https://hatfieldmedia.com"> 206 Hatfieldmedia.com</a></strong> 207 <br><br> 208 <div> 209 <div class="button-wrapper">
210 <a class="button-inner" href="https://hatfieldmedia.com"> 211 <span class="link-text">Visit Hatfieldmedia.com</span> 212 <div class="btn-overlay"></div> 213 </a> 214 </div> 215 <div class="button-wrapper"> 216 <a class="button-inner" href="#" onclick="window.history.back()"> 217 <span class="link-text">Back to Site</span> 218 <div class="btn-overlay"></div> 219 </a> 220 </div> 221 </div> 222 </p> 223 </div> 224 <div class="hm-spiral-column"> 225 <svg xmlns="http://www.w3.org/2000/svg" width="150" height="150" viewBox="25.084 5131.66 47.357 47.356"> 226 <g id="Group_99" data-name="Group 99"> 227 <path id="Path_34" data-name="Path 34" d="M42.3,5171.245c0,.936.523,1.717,1.491,1.681.81-.03,1.09-.59,1.612-1.681.075-.157.276-.567.37-.819a7.345,7.345,0,0,1,1.559-.17,6.234,6.234,0,0,1,1.747.17c-.337.848-.933,2.274-1.107,2.581-.022.037-.366.663-.389.693a4.006,4.006,0,0,1-3.914,2,4.34,4.34,0,0,1-4.284-4.3,4.476,4.476,0,0,1,4.05-4.412c.065-.012.648-.036.692-.034h2.322a.368.368,0,0,0,.339-.224l5.416-12.76c.206-.5-.066-.777-.439-.776H45.41c-.591,0-.945.008-1.32.857,0,0-4.1,9.223-5.531,12.439a.592.592,0,0,1-1.117.072,6.609,6.609,0,0,1-.924-2.13,2.816,2.816,0,0,1,.318-1.7c1.452-3.452,3.657-8.772,3.657-8.772.267-.571.228-.768-.114-.777h-2.6c-.657.013-.541-.451-.442-.655,0,0,.352-.745.685-1.379.292-.555.345-.653.835-.656.657,0,2.436-.005,2.436-.005a.923.923,0,0,0,.909-.534l3.324-7.9c1-2.285.066-3.018-.947-3.07a6.094,6.094,0,0,0-2.977,1.16,25.8,25.8,0,0,0-6.538,7.266,29.151,29.151,0,0,0-2.625,5.255.524.524,0,0,1-.944.218,5.778,5.778,0,0,1-.83-3.437,7.155,7.155,0,0,1,.632-2.311,25.526,25.526,0,0,1,5.273-7.16c3.624-3.47,6.445-4.5,8.935-4.407a4.683,4.683,0,0,1,3.465,1.391,4.933,4.933,0,0,1,.508,4.968l-3.444,7.794c-.136.338-.026.747.538.756l6.54.012c.469.006.736-.591.927-1.019l4.722-10.977c.488-.952,1.072-.455,1.387.076.229.386.806,1.549.806,1.549a2.077,2.077,0,0,1,.061,1.849L50.55,5166.639a.225.225,0,0,0,.207.313H69.395a23.732,23.732,0,1,0-1.963,2.941H43.994C43.059,5169.893,42.3,5170.31,42.3,5171.245Z" fill="#fcb530"></path> 228 </g> 229 </svg> 230 <canvas id="drawing" style="background-color: #2b2b2b;"></canvas> 231 </div> 232 </div> 233
233<script type="text/javascript"> 234 let link = document.createElement('link'); 235 link.href = window.location.href; 236 link.rel = "canonical"; 237 document.head.appendChild(link) 238 </script>
238 239
239<script type="text/javascript"> 240 let minR = 75; 241 let numCircles = 20; 242 let speed = 500; 243 244 let c = document.getElementById('drawing'); 245 c.width = window.innerWidth / 2; 246 c.height = window.innerHeight; 247 let ctx = c.getContext('2d'); 248 ctx.strokeStyle = '#ffffff'; 249 ctx.lineWidth = 1.5; 250 let x = c.width / 2; 251 let y = c.height / 2; 252 253 254 let circles = []; 255 256 for(var i = 0; i < numCircles; i++){ 257 circles.push(genStroke(i)); 258 } 259 260 requestAnimationFrame(step) 261 262 function step(){ 263 264 ctx.clearRect(0, 0, c.width, c.height); 265 266 for(var i = 0; i < numCircles; i++){ 267 circles[i] = genStroke(i) 268 } 269 270 requestAnimationFrame(step) 271 } 272 273 function genStroke(i){ 274 let r = circles[i] ? circles[i].r : genRadius(i); 275 let l = circles[i] ? circles[i].l : genLength(); 276 277 let s = circles[i] ? circles[i].s + (circles[i].d / speed) : Math.random() * 2; // starting angle between 0 and 2 278 let d = circles[i] ? circles[i].d : Math.random() > 0.5 ? 1 : -1 279 280 ctx.beginPath(); 281 ctx.arc(x, y, r, s * Math.PI, (s + l) * Math.PI); 282 ctx.stroke(); 283 284 return { 285 r: r, 286 s: s, 287 l: l, 288 d: d 289 } 290 } 291 292 function genRadius(i){ 293 let r0 = circles[i - 1] ? circles[i - 1].r : minR; 294 let r1 = (Math.random() * minR) / 1.3; 295 let r = r0 + r1; 296 297 298 if(r1 < minR / 10){ 299 r = genRadius(i) 300 } 301 302 303 return r; 304 } 305 306 function genLength(){ 307 let l = Math.random() * 2; 308 if(l < 1.5 || l > 1.9){ 309 l = genLength() 310 } 311 return l 312 } 313</script>
313 314 </body> 315 316 317 318 319<!DOCTYPE html> 320<html lang="en"> 321<head> 322 <meta charset="utf-8"> 323 <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1"> 324 <meta name="generator" content="hmtwill"> 325 326 <link href="https://assets.hatfieldmedia.com/hatfield-media-information.css" rel="stylesheet"> 327
327<script src="https://assets.hatfieldmedia.com/en/hatfield-media-information.js" type="text/javascript"></script>
327 328</head> 329<body> 330 </body> 331</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.