HTML preprocessors can make writing HTML more powerful or convenient. For instance, Markdown is designed to be easier to write and read for text documents and you could write a loop in Pug.
In CodePen, whatever you write in the HTML editor is what goes within the <body>
tags in a basic HTML5 template. So you don't have access to higher-up elements like the <html>
tag. If you want to add classes there that can affect the whole document, this is the place to do it.
In CodePen, whatever you write in the HTML editor is what goes within the <body>
tags in a basic HTML5 template. If you need things in the <head>
of the document, put that code here.
The resource you are linking to is using the 'http' protocol, which may not work when the browser is using https.
CSS preprocessors help make authoring CSS easier. All of them offer things like variables and mixins to provide convenient abstractions.
It's a common practice to apply CSS to a page that styles elements such that they are consistent across all browsers. We offer two of the most popular choices: normalize.css and a reset. Or, choose Neither and nothing will be applied.
To get the best cross-browser support, it is a common practice to apply vendor prefixes to CSS properties and values that require them to work. For instance -webkit-
or -moz-
.
We offer two popular choices: Autoprefixer (which processes your CSS server-side) and -prefix-free (which applies prefixes via a script, client-side).
Any URLs added here will be added as <link>
s in order, and before the CSS in the editor. You can use the CSS from another Pen by using its URL and the proper URL extension.
You can apply CSS to your Pen from any stylesheet on the web. Just put a URL to it here and we'll apply it, in the order you have them, before the CSS in the Pen itself.
You can also link to another Pen here (use the .css
URL Extension) and we'll pull the CSS from that Pen and include it. If it's using a matching preprocessor, use the appropriate URL Extension and we'll combine the code before preprocessing, so you can use the linked Pen as a true dependency.
JavaScript preprocessors can help make authoring JavaScript easier and more convenient.
Babel includes JSX processing.
Any URL's added here will be added as <script>
s in order, and run before the JavaScript in the editor. You can use the URL of any other Pen and it will include the JavaScript from that Pen.
You can apply a script from anywhere on the web to your Pen. Just put a URL to it here and we'll add it, in the order you have them, before the JavaScript in the Pen itself.
If the script you link to has the file extension of a preprocessor, we'll attempt to process it before applying.
You can also link to another Pen here, and we'll pull the JavaScript from that Pen and include it. If it's using a matching preprocessor, we'll combine the code before preprocessing, so you can use the linked Pen as a true dependency.
Search for and use JavaScript packages from npm here. By selecting a package, an import
statement will be added to the top of the JavaScript editor for this package.
Using packages here is powered by esm.sh, which makes packages from npm not only available on a CDN, but prepares them for native JavaScript ESM usage.
All packages are different, so refer to their docs for how they work.
If you're using React / ReactDOM, make sure to turn on Babel for the JSX processing.
If active, Pens will autosave every 30 seconds after being saved once.
If enabled, the preview panel updates automatically as you code. If disabled, use the "Run" button to update.
If enabled, your code will be formatted when you actively save your Pen. Note: your code becomes un-folded during formatting.
Visit your global Editor Settings.
<div class="button-contain">
<a class="size button">Click to randomly resize</a>
<a class="replay button">Replay</a>
</div>
<div class="wrapper">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0" y="0" viewBox="0 0 800 600" enable-background="new 0 0 800 600" xml:space="preserve">
<g id="background">
<radialGradient id="shadow_1_" cx="381.3" cy="46726.4" r="249" fx="343.2" fy="46722.1" gradientTransform="matrix(1 0 0 0.1348 0 -5767.1138)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#000000"/>
<stop offset="0.7" style="stop-color:#000000;stop-opacity:0"/>
</radialGradient>
<ellipse id="shadow_2_" opacity="0.5" fill-rule="evenodd" clip-rule="evenodd" fill="url(#shadow_1_)" cx="384.4" cy="531.6" rx="254.2" ry="34.3"/>
</g>
<g id="initial">
<g class="sm-cube">
<path fill="none" stroke="#8C9BA5" stroke-miterlimit="10" d="M379 285C379 285 379 285 379 285l-41-19c0 0 0 0 0 0 0 0 0 0 0 0L379 285C379 285 379 285 379 285 379 285 379 285 379 285z"/>
<path fill="none" stroke="#8C9BA5" stroke-miterlimit="10" d="M338 266C338 266 338 266 338 266 338 266 338 266 338 266l36-17c0 0 0 0 0 0 0 0 0 0 0 0L338 266C338 266 338 266 338 266z"/>
<path fill="none" stroke="#8C9BA5" stroke-miterlimit="10" d="M415 269C415 269 415 269 415 269l-41-19c0 0 0 0 0 0 0 0 0 0 0 0L415 269C415 269 415 269 415 269 415 269 415 269 415 269z"/>
<path fill="none" stroke="#8C9BA5" stroke-miterlimit="10" d="M379 285C379 285 379 285 379 285 379 285 379 285 379 285l36-17c0 0 0 0 0 0 0 0 0 0 0 0L379 285C379 285 379 285 379 285z"/>
<path fill="none" stroke="#8C9BA5" stroke-miterlimit="10" d="M379 332C379 332 379 332 379 332 379 332 379 332 379 332l36-17c0 0 0 0 0 0 0 0 0 0 0 0L379 332C379 332 379 332 379 332z"/>
<path fill="none" stroke="#8C9BA5" stroke-miterlimit="10" d="M415 315C415 315 415 315 415 315l-41-19c0 0 0 0 0 0 0 0 0 0 0 0L415 315C415 315 415 315 415 315 415 315 415 315 415 315z"/>
<path fill="none" stroke="#8C9BA5" stroke-miterlimit="10" d="M338 313C338 313 338 313 338 313 338 313 338 313 338 313l36-17c0 0 0 0 0 0 0 0 0 0 0 0L338 313C338 313 338 313 338 313z"/>
<path fill="none" stroke="#8C9BA5" stroke-miterlimit="10" d="M379 332C379 332 379 332 379 332l-41-19c0 0 0 0 0 0 0 0 0 0 0 0L379 332C379 332 379 332 379 332 379 332 379 332 379 332z"/>
<path fill="none" stroke="#8C9BA5" stroke-miterlimit="10" d="M379 285C379 285 379 285 379 285 379 285 379 285 379 285l36-17c0 0 0 0 0 0 0 0 0 0 0 0L379 285C379 285 379 285 379 285z"/>
<path fill="none" stroke="#8C9BA5" stroke-miterlimit="10" d="M415 315C415 315 415 315 415 315l0-47c0 0 0 0 0 0 0 0 0 0 0 0L415 315C415 315 415 315 415 315z"/>
<path fill="none" stroke="#8C9BA5" stroke-miterlimit="10" d="M379 332C379 332 379 332 379 332 379 332 379 332 379 332l36-17c0 0 0 0 0 0 0 0 0 0 0 0L379 332C379 332 379 332 379 332z"/>
<path fill="none" stroke="#8C9BA5" stroke-miterlimit="10" d="M379 332C379 332 379 332 379 332l0-47c0 0 0 0 0 0 0 0 0 0 0 0L379 332C379 332 379 332 379 332z"/>
<path fill="none" stroke="#8C9BA5" stroke-miterlimit="10" d="M415 269C415 269 415 269 415 269l-41-19c0 0 0 0 0 0 0 0 0 0 0 0L415 269C415 269 415 269 415 269 415 269 415 269 415 269z"/>
<path fill="none" stroke="#8C9BA5" stroke-miterlimit="10" d="M374 296C374 296 374 296 374 296l0-47c0 0 0 0 0 0 0 0 0 0 0 0L374 296C374 296 374 296 374 296z"/>
<path fill="none" stroke="#8C9BA5" stroke-miterlimit="10" d="M415 315C415 315 415 315 415 315l-41-19c0 0 0 0 0 0 0 0 0 0 0 0L415 315C415 315 415 315 415 315 415 315 415 315 415 315z"/>
<path fill="none" stroke="#8C9BA5" stroke-miterlimit="10" d="M415 315C415 315 415 315 415 315l0-47c0 0 0 0 0 0 0 0 0 0 0 0L415 315C415 315 415 315 415 315z"/>
<path fill="none" stroke="#8C9BA5" stroke-miterlimit="10" d="M338 266C338 266 338 266 338 266 338 266 338 266 338 266l36-17c0 0 0 0 0 0 0 0 0 0 0 0L338 266C338 266 338 266 338 266z"/>
<path fill="none" stroke="#8C9BA5" stroke-miterlimit="10" d="M338 313C338 313 338 313 338 313l0-47c0 0 0 0 0 0 0 0 0 0 0 0L338 313C338 313 338 313 338 313z"/>
<path fill="none" stroke="#8C9BA5" stroke-miterlimit="10" d="M338 313C338 313 338 313 338 313 338 313 338 313 338 313l36-17c0 0 0 0 0 0 0 0 0 0 0 0L338 313C338 313 338 313 338 313z"/>
<path fill="none" stroke="#8C9BA5" stroke-miterlimit="10" d="M374 296C374 296 374 296 374 296l0-47c0 0 0 0 0 0 0 0 0 0 0 0L374 296C374 296 374 296 374 296z"/>
<path fill="none" stroke="#8C9BA5" stroke-miterlimit="10" d="M379 285C379 285 379 285 379 285l-41-19c0 0 0 0 0 0 0 0 0 0 0 0L379 285C379 285 379 285 379 285 379 285 379 285 379 285z"/>
<path fill="none" stroke="#8C9BA5" stroke-miterlimit="10" d="M379 332C379 332 379 332 379 332l0-47c0 0 0 0 0 0 0 0 0 0 0 0L379 332C379 332 379 332 379 332z"/>
<path fill="none" stroke="#8C9BA5" stroke-miterlimit="10" d="M379 332C379 332 379 332 379 332l-41-19c0 0 0 0 0 0 0 0 0 0 0 0L379 332C379 332 379 332 379 332 379 332 379 332 379 332z"/>
<path fill="none" stroke="#8C9BA5" stroke-miterlimit="10" d="M338 313C338 313 338 313 338 313l0-47c0 0 0 0 0 0 0 0 0 0 0 0L338 313C338 313 338 313 338 313z"/>
</g><!--sm-cube-->
<g class="accents-initial">
<line fill="none" stroke="#B3B3B3" stroke-miterlimit="10" x1="423" y1="240" x2="445" y2="225"/>
<line fill="none" stroke="#B3B3B3" stroke-miterlimit="10" x1="445" y1="289" x2="481" y2="292"/>
<line fill="none" stroke="#B3B3B3" stroke-miterlimit="10" x1="405" y1="354" x2="423" y2="388"/>
<line fill="none" stroke="#B3B3B3" stroke-miterlimit="10" x1="346" y1="354" x2="333" y2="381"/>
<line fill="none" stroke="#B3B3B3" stroke-miterlimit="10" x1="305" y1="324" x2="267" y2="336"/>
<line fill="none" stroke="#B3B3B3" stroke-miterlimit="10" x1="314" y1="273" x2="286" y2="259"/>
<line fill="none" stroke="#B3B3B3" stroke-miterlimit="10" x1="333" y1="233" x2="320" y2="215"/>
</g>
<g id="dashed">
<circle fill="none" stroke="#020202" stroke-width="5" stroke-miterlimit="10" stroke-dasharray="12" cx="376" cy="299" r="138"/>
</g>
<circle class="initial-pop" fill-rule="evenodd" clip-rule="evenodd" fill="#B3B3B3" cx="401" cy="237" r="4"/>
<circle class="initial-pop" fill-rule="evenodd" clip-rule="evenodd" fill="#B3B3B3" cx="414" cy="222" r="9"/>
</g>
<g id="circle">
<circle fill-rule="evenodd" clip-rule="evenodd" fill="#F7931E" cx="377.5" cy="295.8" r="224.8"/>
</g>
<g id="ring">
<path fill="#00CCFF" d="M285.1 501.7c-33.9-15-63.4-38-86.2-66.7l0 0c-14.2-17.9-25.7-38-34-59.8l0 0c-0.5-1.3 0.2-2.8 1.5-3.3l0 0c1.3-0.5 2.8 0.2 3.3 1.5l0 0c8.1 21.2 19.4 40.9 33.3 58.4l0 0c22.2 28 51.1 50.6 84.2 65.2l0 0c27.3 12.1 57.5 18.8 89.3 18.8l0 0c24.4 0 48-4 69.9-11.3l0 0c36.3-12.1 68.5-33.4 93.7-61.1l0 0c28.4-31.2 48-70.5 54.9-114.1l0 0c1.8-11.3 2.7-23 2.7-34.8l0 0c0-1.4 1.1-2.5 2.5-2.5l0 0c1.4 0 2.5 1.1 2.5 2.5l0 0c0 12.1-1 24-2.8 35.6l0 0c-7 44.6-27.1 84.8-56.2 116.7l0 0c-25.8 28.3-58.7 50.1-95.9 62.5l0 0c-22.5 7.5-46.5 11.5-71.5 11.5l0 0C344 520.9 313 514 285.1 501.7L285.1 501.7z"/>
<path fill="#00CF7D" d="M433.5 80.7c-18.2-4.8-37.3-7.4-57.1-7.4l0 0c-1.4 0-2.5-1.1-2.5-2.5l0 0c0-1.4 1.1-2.5 2.5-2.5l0 0c20.2 0 39.7 2.6 58.4 7.6l0 0c1.4 0.4 2.2 1.7 1.8 3.1l0 0c-0.3 1.1-1.3 1.9-2.4 1.9l0 0C434 80.8 433.7 80.8 433.5 80.7L433.5 80.7z"/>
<path fill="#00CF7D" d="M150.1 294.6c0-18.1 2.1-35.8 6.2-52.7l0 0c0.3-1.4 1.7-2.2 3.1-1.9l0 0c1.4 0.3 2.2 1.7 1.9 3.1l0 0c-3.9 16.5-6 33.8-6 51.5l0 0c0 1.4-1.1 2.5-2.5 2.5l0 0C151.3 297.1 150.1 296 150.1 294.6L150.1 294.6z"/>
<path fill="#00CF7D" d="M373.9 511.3c0-1.4 1.1-2.5 2.5-2.5l0 0c39 0 75.6-10.4 107.1-28.7l0 0 0 0c1.2-0.7 2.8-0.3 3.5 0.9l0 0c0.7 1.2 0.3 2.8-0.9 3.5l0 0c-32.3 18.7-69.7 29.3-109.7 29.3l0 0C375.1 513.8 373.9 512.7 373.9 511.3L373.9 511.3z"/>
<path fill="#00CF7D" d="M590.7 294.6c0-18.4-2.3-36.3-6.7-53.4l0 0c-0.4-1.4 0.5-2.7 1.8-3.1l0 0c1.4-0.3 2.7 0.5 3.1 1.8l0 0c4.5 17.5 6.9 35.8 6.9 54.6l0 0c0 1.4-1.1 2.5-2.5 2.5l0 0C591.8 297.1 590.7 296 590.7 294.6L590.7 294.6z"/>
<path fill="#00CF7D" d="M313.9 86.9c-0.4-1.3 0.4-2.8 1.7-3.1l0 0c19.3-5.6 39.7-8.5 60.8-8.5l0 0c1.4 0 2.5 1.1 2.5 2.5l0 0c0 1.4-1.1 2.5-2.5 2.5l0 0c-20.6 0-40.5 2.9-59.4 8.3l0 0c-0.2 0.1-0.5 0.1-0.7 0.1l0 0C315.3 88.8 314.3 88.1 313.9 86.9L313.9 86.9z"/>
<path fill="#00CF7D" d="M208.5 435.6c-27.5-32.7-45.6-73.7-50.2-118.6l0 0c-0.7-7.4-1.1-14.8-1.1-22.4l0 0c0-1.4 1.1-2.5 2.5-2.5l0 0c1.4 0 2.5 1.1 2.5 2.5l0 0c0 7.4 0.4 14.7 1.1 21.9l0 0c4.5 43.9 22.2 83.8 49 115.8l0 0 0 0c0.9 1.1 0.8 2.7-0.3 3.6l0 0c-0.5 0.4-1.1 0.6-1.6 0.6l0 0C209.7 436.5 209 436.2 208.5 435.6L208.5 435.6z"/>
<path fill="#667079" d="M164.2 294.6c0-28.6 5.6-55.8 15.9-80.7l0 0c15.2-36.9 40.4-68.5 72.4-91.6l0 0c34.9-25.1 77.7-40 124-40l0 0c1.4 0 2.5 1.1 2.5 2.5l0 0c0 1.4-1.1 2.5-2.5 2.5l0 0c-45.2 0-87 14.5-121 39l0 0c-31.2 22.5-55.8 53.4-70.6 89.4l0 0c-10 24.3-15.5 50.9-15.5 78.8l0 0 0 0c0 1.4-1.1 2.5-2.5 2.5l0 0C165.4 297.1 164.2 296 164.2 294.6L164.2 294.6z"/>
<path fill="#00CCFF" d="M275.1 481c-1.2-0.7-1.7-2.2-1-3.4l0 0c0.7-1.2 2.2-1.7 3.4-1l0 0c29.4 16 63.1 25.1 99 25.1l0 0c1.4 0 2.5 1.1 2.5 2.5l0 0c0 1.4-1.1 2.5-2.5 2.5l0 0C339.7 506.8 305.2 497.5 275.1 481L275.1 481z"/>
<path fill="#00CF7D" d="M535.4 431.4c-1.1-0.9-1.2-2.5-0.3-3.6l0 0c22.8-27.1 38.8-60.2 45.3-96.5l0 0c0.2-1.4 1.6-2.3 2.9-2l0 0c1.4 0.2 2.3 1.6 2 2.9l0 0c-6.7 37.2-23 71.1-46.4 98.9l0 0c-0.5 0.6-1.2 0.9-1.9 0.9l0 0C536.5 432 535.9 431.8 535.4 431.4L535.4 431.4z"/>
<path fill="#00CF7D" d="M573.8 231.3c-10.2-31.8-27.8-60.2-50.8-83.3l0 0v0c-1-1-1-2.6 0-3.6l0 0c1-1 2.6-1 3.6 0l0 0c23.6 23.6 41.7 52.7 52.1 85.3l0 0c0.4 1.3-0.3 2.8-1.6 3.2l0 0c-0.3 0.1-0.5 0.1-0.8 0.1l0 0C575.1 233.1 574.1 232.4 573.8 231.3L573.8 231.3z"/>
<path fill="#00CF7D" d="M172.1 313.1c-0.5-6.1-0.8-12.3-0.8-18.5l0 0c0-1.4 1.1-2.5 2.5-2.5l0 0c1.4 0 2.5 1.1 2.5 2.5l0 0c0 6.1 0.3 12.1 0.8 18.1l0 0c0.1 1.4-0.9 2.6-2.3 2.7l0 0c-0.1 0-0.2 0-0.2 0l0 0C173.3 315.4 172.2 314.4 172.1 313.1L172.1 313.1z"/>
<path fill="#00CCFF" d="M306.7 487.6c-1.3-0.5-2-1.9-1.5-3.2l0 0c0.5-1.3 1.9-2 3.2-1.5l0 0c21.2 7.7 44.2 11.9 68.1 11.9l0 0 0 0c1.4 0 2.5 1.1 2.5 2.5l0 0c0 1.4-1.1 2.5-2.5 2.5l0 0C352 499.7 328.5 495.4 306.7 487.6L306.7 487.6z"/>
<path fill="#00CF7D" d="M539.5 414.9c-1.1-0.8-1.4-2.4-0.6-3.5l0 0c23.7-32.9 37.6-73.2 37.6-116.8l0 0c0-1.4 1.1-2.5 2.5-2.5l0 0c1.4 0 2.5 1.1 2.5 2.5l0 0c0 44.7-14.3 86.1-38.6 119.8l0 0c-0.5 0.7-1.3 1.1-2.1 1.1l0 0C540.5 415.4 540 415.3 539.5 414.9L539.5 414.9z"/>
<path fill="#00CF7D" d="M500.4 137.4c-34.1-26.9-77.1-43-123.9-43l0 0c-18.4 0-36.2 2.5-53.1 7.1l0 0c-1.4 0.4-2.7-0.4-3.1-1.8l0 0c-0.4-1.3 0.4-2.7 1.8-3.1l0 0c17.4-4.8 35.6-7.3 54.5-7.3l0 0c48 0 92.1 16.5 127.1 44.1l0 0c1.1 0.9 1.3 2.5 0.4 3.6l0 0c-0.5 0.6-1.2 1-2 1l0 0C501.4 138 500.9 137.8 500.4 137.4L500.4 137.4z"/>
<path fill="#00CF7D" d="M569.5 294.6c0-35.8-9.8-69.4-26.8-98.1l0 0 0 0c-0.7-1.2-0.3-2.8 0.9-3.5l0 0c1.2-0.7 2.8-0.3 3.5 0.9l0 0c17.4 29.5 27.5 63.9 27.5 100.7l0 0c0 1.4-1.1 2.5-2.5 2.5l0 0C570.6 297.1 569.5 296 569.5 294.6L569.5 294.6z"/>
<path fill="#667079" d="M198.9 212.4c-1.3-0.6-1.8-2.1-1.2-3.4l0 0c31.9-66.6 100-112.5 178.7-112.5l0 0c1.4 0 2.5 1.1 2.5 2.5l0 0c0 1.4-1.1 2.5-2.5 2.5l0 0c-76.8 0-143 44.8-174.2 109.7l0 0h0c-0.4 0.9-1.3 1.4-2.3 1.4l0 0C199.6 212.6 199.3 212.5 198.9 212.4L198.9 212.4z"/>
<g class="inner-a">
<path fill="#667079" d="M340.6 294.6c0-5 1-9.8 2.9-14.1l0 0c2-4.8 5.1-9 8.8-12.4l0 0c1-0.9 2.6-0.9 3.6 0.2l0 0c0.9 1 0.9 2.6-0.2 3.6l0 0c-3.2 2.9-5.8 6.6-7.6 10.6l0 0c-1.6 3.7-2.5 7.8-2.5 12.1l0 0c0 1.4-1.1 2.5-2.5 2.5l0 0C341.8 297.1 340.6 296 340.6 294.6L340.6 294.6z"/>
<path fill="#00CF7D" d="M373.9 320.8c0-1.4 1.1-2.5 2.5-2.5l0 0c6.3 0 12-2.4 16.3-6.4l0 0c4.6-4.3 7.5-10.5 7.5-17.3l0 0c0-13.1-10.6-23.7-23.7-23.7l0 0c-1.4 0-2.5-1.1-2.5-2.5l0 0c0-1.4 1.1-2.5 2.5-2.5l0 0c15.9 0 28.8 12.9 28.8 28.8l0 0c0 8.3-3.5 15.7-9 21l0 0c-5.1 4.8-12.1 7.8-19.7 7.8l0 0C375.1 323.3 373.9 322.2 373.9 320.8L373.9 320.8z"/>
<path fill="#667079" d="M347.7 294.6c0-4.8 1.2-9.3 3.3-13.3l0 0c0.6-1.2 2.2-1.7 3.4-1.1l0 0c1.2 0.6 1.7 2.2 1.1 3.4l0 0c-1.7 3.3-2.7 7-2.7 10.9l0 0c0 1.4-1.1 2.5-2.5 2.5l0 0C348.8 297.1 347.7 296 347.7 294.6L347.7 294.6z"/>
<path fill="#00CF7D" d="M357.5 305.1c-1.7-3.1-2.7-6.7-2.7-10.6l0 0c0-7.3 3.6-13.8 9.1-17.7l0 0c1.1-0.8 2.7-0.5 3.5 0.6l0 0c0.8 1.1 0.5 2.7-0.6 3.5l0 0c-4.2 3-7 8-7 13.6l0 0c0 2.9 0.8 5.7 2.1 8.1l0 0c2.9 5.1 8.3 8.6 14.6 8.5l0 0v0c1.4 0 2.5 1.1 2.5 2.5l0 0c0 1.4-1.1 2.5-2.5 2.5l0 0C368.3 316.3 361.2 311.8 357.5 305.1L357.5 305.1z"/>
<path fill="#00CF7D" d="M393.1 294.6c0-4.6-1.9-8.8-4.9-11.8l0 0v0c-1-1-1-2.6 0-3.6l0 0c1-1 2.6-1 3.6 0l0 0c3.9 3.9 6.4 9.4 6.4 15.4l0 0c0 1.4-1.1 2.5-2.5 2.5l0 0C394.3 297.1 393.1 296 393.1 294.6L393.1 294.6z"/>
<path fill="#00CF7D" d="M361.8 294.6c0-4.7 2.2-8.9 5.7-11.6l0 0c1.1-0.9 2.7-0.7 3.6 0.4l0 0c0.9 1.1 0.7 2.7-0.4 3.6l0 0c-2.3 1.8-3.7 4.5-3.7 7.6l0 0c0 5.3 4.3 9.6 9.6 9.6l0 0c5.3 0 9.6-4.3 9.6-9.6l0 0c0-5.3-4.3-9.6-9.6-9.6l0 0c-1.4 0-2.5-1.1-2.5-2.5l0 0c0-1.4 1.1-2.5 2.5-2.5l0 0c8.1 0 14.7 6.6 14.7 14.7l0 0c0 8.1-6.6 14.7-14.7 14.7l0 0C368.4 309.2 361.8 302.7 361.8 294.6L361.8 294.6z"/>
</g><!--inner-a-->
</g>
<g id="spikey_1_">
<g id="spikey_2_">
<polygon fill="#580735" points="405.4 308.2 459.9 297.2 470 283.4 512.7 224.8 "/>
<polygon fill="#570735" points="398.6 289.9 405.4 308.2 512.7 224.8 "/>
<polygon fill="#590938" points="426.4 251.7 425.1 252.2 409.9 256.9 398.6 289.9 512.7 224.8 "/>
<polygon fill="#7F143F" points="511.8 286.8 459.9 297.2 470 283.4 "/>
<polygon fill="#8A173C" points="505.1 327.2 446.4 328 459.9 297.2 "/>
<polygon fill="#270F23" points="494 107.1 470.4 168.1 426.4 251.7 425.1 252.2 "/>
<polygon fill="#32102F" points="494 107.1 425.1 252.2 409.9 256.9 403.8 254.6 "/>
<polygon fill="#BD202B" points="491.7 368.8 444 366.4 401.6 341.7 400.6 337.9 "/>
<polygon fill="#D81F26" points="491.7 368.8 400.6 337.9 400 335.5 "/>
<polygon fill="#BF202A" points="491.7 368.8 400 335.5 446.4 328 "/>
<polygon fill="#92193A" points="459.9 297.2 446.4 328 405.4 308.2 "/>
<polygon fill="#BA1F3D" points="446.4 328 400 335.5 397.6 334.1 399.9 333.3 389.7 317.3 "/>
<polygon fill="#AB1D3C" points="446.4 328 389.7 317.3 386.3 311.9 405.4 308.2 "/>
<polygon fill="#61061A" points="444 366.4 439.6 404.8 406.1 359.1 401.6 341.7 "/>
<polygon fill="#2A0F18" points="406.1 359.1 439.6 404.8 408.8 369.3 "/>
<polygon fill="#260E19" points="412.3 383.1 404.2 396.3 434.7 464.9 439.6 404.8 408.8 369.3 "/>
<polygon fill="#3E111E" points="396.4 409 434.7 464.9 404.2 396.3 "/>
<polygon fill="#481149" points="422.2 101.9 389.1 249.2 389.1 249.2 390.8 249.8 "/>
<polygon fill="#51134B" points="422.2 101.9 370 239 368.9 242 365.7 250.3 366.8 279.4 389 249.1 389.1 249.2 389.1 249.2 "/>
<polygon fill="#D71F26" points="408.8 369.3 412.3 383.1 385 338.7 397.6 334.1 400 335.5 400.6 337.9 401.6 341.7 406.1 359.1 "/>
<polygon fill="#ED2724" points="385 338.7 412.3 383.1 378 354.9 377.1 341.6 "/>
<polygon fill="#630B17" points="412.3 383.1 404.2 396.3 396.4 409 389.6 420.1 378 354.9 "/>
<polygon fill="#A51D4D" points="409.9 256.9 398.6 289.9 389 249.1 389.1 249.2 390.8 249.8 403.8 254.6 "/>
<polygon fill="#A51D46" points="398.6 289.9 405.4 308.2 386.3 311.9 "/>
<polygon fill="#CC1F42" points="389.7 317.3 399.9 333.3 376.1 317.7 386.3 311.9 "/>
<polygon fill="#D81D43" points="399.9 333.3 397.6 334.1 385 338.7 377.1 341.6 376.5 341.8 376.1 317.7 "/>
<polygon fill="#B11E54" points="389 249.1 398.6 289.9 375.1 304.1 "/>
<polygon fill="#AE1E49" points="398.6 289.9 386.3 311.9 375.1 304.1 "/>
<polygon fill="#831619" points="378 354.9 389.6 420.1 375.5 356.6 "/>
<polygon fill="#B94327" points="375.5 356.6 389.6 420.1 361.9 379.4 363.4 365 "/>
<polygon fill="#981C50" points="389 249.1 375.1 304.1 360.8 287.5 366.5 279.7 366.8 279.4 "/>
<polygon fill="#BE1F48" points="386.3 311.9 376.1 317.7 375.1 304.1 "/>
<polygon fill="#F05A34" points="376.5 341.8 378 354.9 375.5 356.6 363.4 365 349.1 375 "/>
<polygon fill="#EE3B49" points="376.1 317.7 376.5 341.8 325.2 360.8 "/>
<polygon fill="#F0603A" points="376.5 341.8 349.1 375 342.8 371.2 342.6 371.1 342.6 371.1 329.8 363.5 325.2 360.8 "/>
<polygon fill="#BD1F47" points="375.1 304.1 376.1 317.7 361.4 308.5 "/>
<polygon fill="#EE3F47" points="376.1 317.7 325.2 360.8 361.4 308.5 "/>
<polygon fill="#AA1D4B" points="360.8 287.5 375.1 304.1 361.4 308.5 "/>
<polygon fill="#661A56" points="343.6 174.8 370 239 368.9 242 348 220.2 "/>
<polygon fill="#6E1A56" points="368.9 242 365.7 250.3 352.3 240.1 352.3 240.1 348 220.2 "/>
<polygon fill="#791A54" points="365.7 250.3 366.5 279.7 360.8 287.5 357 287.2 327.7 221.4 347.1 236.2 352.3 240.1 352.3 240.1 "/>
<polygon fill="#F05A27" points="363.4 365 361.9 379.4 353.8 377.1 351.4 376.4 341.9 373.8 342.8 371.2 349.1 375 "/>
<polygon fill="#AF1E4B" points="360.8 287.5 361.4 308.5 329.3 285.1 341.9 286.1 342.8 286.1 355.3 287.1 357 287.2 "/>
<polygon fill="#EE3947" points="361.4 308.5 325.2 360.8 322.8 353.3 321.2 348.3 315.7 331.2 310.6 315.2 "/>
<polygon fill="#A91D4B" points="361.4 308.5 310.6 315.2 311.9 313.1 319.2 301.4 322.6 295.8 324.9 292.2 326.2 290.1 327.7 287.7 329.3 285.1 "/>
<polygon fill="#751A55" points="327.7 221.4 357 287.2 355.3 287.1 "/>
<polygon fill="#7F1A55" points="327.7 221.4 355.3 287.1 342.8 286.1 342.8 286.1 294.6 238.4 322.3 224.2 322.6 224 326.2 222.1 "/>
<polygon fill="#B42025" points="353.8 377.1 345.8 408.4 351.4 376.4 "/>
<polygon fill="#731B58" points="348 220.2 352.3 240.1 347.1 236.2 "/>
<polygon fill="#C62127" points="351.4 376.4 345.8 408.4 330.4 389.6 336.3 378.2 341.9 373.8 "/>
<polygon fill="#6F1C5A" points="309.8 178.8 348 220.2 347.1 236.2 327.7 221.4 326.2 222.1 "/>
<polygon fill="#E31E25" points="342.6 371.1 342.6 371.1 341.9 373.8 295 398.7 329.8 363.5 "/>
<polygon fill="#7D1B55" points="341.9 286 341.9 286.1 329.3 285.1 327.7 287.7 294.6 238.4 "/>
<polygon fill="#B82029" points="335.1 379.1 293.5 411.9 295 398.7 341.9 373.8 336.3 378.2 "/>
<polygon fill="#E01F28" points="329.8 363.5 295 398.7 295.2 363.8 322.8 353.3 325.2 360.8 "/>
<polygon fill="#801B55" points="327.7 287.7 326.2 290.1 326.2 290.1 308.5 272.7 298.7 248.6 294.6 238.4 "/>
<polygon fill="#631B58" points="309.8 178.8 326.2 222.1 322.6 224 321.1 221.5 "/>
<polygon fill="#701A55" points="324.9 292.2 326.2 290.1 326.2 290.1 308.5 272.7 139.1 205.3 "/>
<polygon fill="#6F1A55" points="322.6 295.8 324.9 292.2 139.1 205.3 "/>
<polygon fill="#EE383A" points="321.2 348.3 322.8 353.3 295.2 363.8 "/>
<polygon fill="#731A55" points="241.3 276.8 319.2 301.4 322.6 295.8 139.1 205.3 "/>
<polygon fill="#EE3646" points="315.7 331.2 321.2 348.3 295.2 363.8 304.9 328 "/>
<polygon fill="#A11C4B" points="319.2 301.4 311.9 313.1 301 312.8 241.3 276.8 "/>
<polygon fill="#D21D4D" points="315.7 331.2 304.9 328 309.9 316.7 310.6 315.2 "/>
<polygon fill="#BF1F4C" points="311.9 313.1 310.6 315.2 309.9 316.7 292.1 317.9 301 312.8 "/>
<polygon fill="#D51D4D" points="309.9 316.7 304.9 328 301.7 335.8 286.6 333.4 269.4 330.7 268.3 330.6 261 329.4 219.1 322.8 268.9 319.5 291.6 317.9 292.1 317.9 "/>
<polygon fill="#6D1A55" points="308.5 272.7 298.7 248.6 139.1 205.3 "/>
<polygon fill="#ED2741" points="304.9 328 295.2 363.8 301.7 335.8 "/>
<polygon fill="#ED2A45" points="301.7 335.8 295.2 363.8 291 369.2 "/>
<polygon fill="#B91E4B" points="301 312.8 291.6 317.9 268.9 319.5 268.9 319.5 278.3 307.4 "/>
<polygon fill="#9D1C4B" points="301 312.8 278.3 307.4 241.3 276.8 "/>
<polygon fill="#C3202A" points="295.2 363.8 295 398.7 291 369.2 "/>
<polygon fill="#B81F2C" points="291 369.2 295 398.7 293.5 411.9 "/>
<polygon fill="#ED1E50" points="286.6 333.4 254.1 338.3 269.4 330.7 "/>
<polygon fill="#EC194F" points="268.3 330.6 269.4 330.7 254.1 338.3 "/>
<polygon fill="#E8194F" points="268.3 330.6 254.1 338.3 261 329.4 "/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="324.9" y1="292.2" x2="139.1" y2="205.3"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="322.6" y1="295.8" x2="139.1" y2="205.3"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="308.5" y1="272.7" x2="139.1" y2="205.3"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="403.8" y1="254.6" x2="494" y2="107.1"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="139.1" y1="205.3" x2="298.7" y2="248.6"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="425.1" y1="252.2" x2="494" y2="107.1"/>
<polyline fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" points="422.2 101.9 370 239 368.9 242 365.7 250.3 "/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="422.2" y1="101.9" x2="390.8" y2="249.8"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="389.1" y1="249.2" x2="422.2" y2="101.9"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="405.4" y1="308.2" x2="512.7" y2="224.8"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="512.7" y1="224.8" x2="398.6" y2="289.9"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="139.1" y1="205.3" x2="241.3" y2="276.8"/>
<polyline fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" points="512.7 224.8 426.4 251.7 425.1 252.2 409.9 256.9 "/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="491.7" y1="368.8" x2="400" y2="335.5"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="491.7" y1="368.8" x2="400.6" y2="337.9"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="470.4" y1="168.1" x2="426.4" y2="251.7"/>
<polyline fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" points="219.1 322.8 268.9 319.5 291.6 317.9 292.1 317.9 309.9 316.7 "/>
<polyline fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" points="459.9 297.2 470 283.4 512.7 224.8 "/>
<polyline fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" points="219.1 322.8 261 329.4 268.3 330.6 269.4 330.7 286.6 333.4 301.7 335.8 "/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="319.2" y1="301.4" x2="241.3" y2="276.8"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="404.2" y1="396.3" x2="434.7" y2="464.9"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="327.7" y1="221.4" x2="357" y2="287.2"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="355.3" y1="287.1" x2="327.7" y2="221.4"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="241.3" y1="276.8" x2="301" y2="312.8"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="343.6" y1="174.8" x2="370" y2="239"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="342.8" y1="286.1" x2="294.6" y2="238.4"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="396.4" y1="409" x2="434.7" y2="464.9"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="294.6" y1="238.4" x2="341.9" y2="286"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="325.2" y1="360.8" x2="376.1" y2="317.7"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="389.6" y1="420.1" x2="378" y2="354.9"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="494" y1="107.1" x2="470.4" y2="168.1"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="375.5" y1="356.6" x2="389.6" y2="420.1"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="325.2" y1="360.8" x2="361.4" y2="308.5"/>
<polyline fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" points="293.5 411.9 335.1 379.1 336.3 378.2 341.9 373.8 "/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="491.7" y1="368.8" x2="446.4" y2="328"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="439.6" y1="404.8" x2="434.7" y2="464.9"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="327.7" y1="287.7" x2="294.6" y2="238.4"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="505.1" y1="327.2" x2="446.4" y2="328"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="446.4" y1="328" x2="389.7" y2="317.3"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="375.1" y1="304.1" x2="389" y2="249.1"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="439.6" y1="404.8" x2="406.1" y2="359.1"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="309.8" y1="178.8" x2="348" y2="220.2"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="459.9" y1="297.2" x2="405.4" y2="308.2"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="325.2" y1="360.8" x2="376.5" y2="341.8"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="505.1" y1="327.2" x2="459.9" y2="297.2"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="295" y1="398.7" x2="341.9" y2="373.8"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="511.8" y1="286.8" x2="459.9" y2="297.2"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="385" y1="338.7" x2="412.3" y2="383.1"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="310.6" y1="315.2" x2="361.4" y2="308.5"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="295" y1="398.7" x2="329.8" y2="363.5"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="361.9" y1="379.4" x2="389.6" y2="420.1"/>
<polyline fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" points="400 335.5 400.6 337.9 401.6 341.7 406.1 359.1 408.8 369.3 412.3 383.1 "/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="444" y1="366.4" x2="401.6" y2="341.7"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="241.3" y1="276.8" x2="278.3" y2="307.4"/>
<polyline fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" points="310.6 315.2 315.7 331.2 321.2 348.3 322.8 353.3 325.2 360.8 "/>
<polyline fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" points="352.3 240.1 347.1 236.2 327.7 221.4 "/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="365.7" y1="250.3" x2="352.3" y2="240.1"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="444" y1="366.4" x2="491.7" y2="368.8"/>
<polyline fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" points="360.8 287.5 366.5 279.7 366.8 279.4 389 249.1 "/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="408.8" y1="369.3" x2="439.6" y2="404.8"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="446.4" y1="328" x2="400" y2="335.5"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="326.2" y1="222.1" x2="309.8" y2="178.8"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="343.6" y1="174.8" x2="348" y2="220.2"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="446.4" y1="328" x2="405.4" y2="308.2"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="412.3" y1="383.1" x2="378" y2="354.9"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="309.8" y1="178.8" x2="321.1" y2="221.5"/>
<polyline fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" points="389.6 420.1 396.4 409 404.2 396.3 412.3 383.1 "/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="349.1" y1="375" x2="376.5" y2="341.8"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="293.5" y1="411.9" x2="291" y2="369.2"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="470" y1="283.4" x2="511.8" y2="286.8"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="398.6" y1="289.9" x2="389" y2="249.1"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="361.4" y1="308.5" x2="329.3" y2="285.1"/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="444" y1="366.4" x2="439.6" y2="404.8"/>
<polyline fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" points="327.7 221.4 326.2 222.1 322.6 224 322.3 224.2 294.6 238.4 "/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="304.9" y1="328" x2="295.2" y2="363.8"/>
<polyline fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" points="294.6 238.4 298.7 248.6 308.5 272.7 "/>
<polyline fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" points="310.6 315.2 311.9 313.1 319.2 301.4 322.6 295.8 324.9 292.2 326.2 290.1 327.7 287.7 329.3 285.1 "/>
<polyline fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" points="378 354.9 375.5 356.6 363.4 365 349.1 375 "/>
<line fill="none" stroke="#231F20" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" x1="301.7" y1="335.8" x2="291" y2="369.2"/>
<line fill="none" stroke="#231F20" stroke-wi
$grey: #222;
.wrapper {
width: 35%;
display: table;
margin: 0 auto;
}
body {
width: 100vw;
height: 100vh;
background: #3B3C3D;
}
.triangle polygon {
-webkit-filter: blur(3px);
}
svg {
height: 100%;
width: 100%;
}
#background, #circle, #spikey_1_, #cubed_3_ polygon, #cubed-accents, #ring, #logo, .triangle {
visibility: hidden;
}
.button-contain {
display: table;
margin: 20px auto 5px;
width: 300px;
}
.button, .button:visited, .button:active {
background: $grey;
color: #777;
font-family: 'Lato';
font-style: italic;
letter-spacing: 0.02em;
padding: 10px 16px 5px;
letter-spacing: 0.03em;
border-radius: 5px;
min-height: 26px;
margin-right: 10px;
display: inline-block;
font-size: 15px;
font-weight: 400;
user-select: none;
text-align: center;
text-decoration: none;
border-bottom: 1px solid #000;
outline: 0;
cursor: pointer;
-webkit-transition: none;
transition: all 0.5s ease;
&:hover {
background: darken($grey, 8%);
}
}
var $bk = $("#background"),
$smCube = $(".sm-cube"),
$iPop = $(".initial-pop"),
$iInit = $(".accents-initial line"),
$ring = $("#ring"),
$ringP = $("#ring path"),
$tri = $(".triangle"),
$triP = $(".triangle polygon"),
$dashed = $("#dashed circle");
TweenMax.set($ring, {
visibility: "visible",
opacity: 0
});
TweenMax.set($smCube, {
x: 40,
y: 300
});
TweenMax.set($dashed, {
opacity: 0.3
});
// the first scene
function sceneOne() {
var tl = new TimelineMax();
tl.add("start");
tl.fromTo($smCube, 0.75, {
scale: 0,
rotation: -360,
y: 400
}, {
scale: 1,
rotation: 0,
y: 40,
transformOrigin: "50% 50%",
ease: Back.easeOut
}, "start")
.to($smCube, 0.3, {
scale: 0,
rotation: 100,
transformOrigin: "50% 50%",
ease: Back.easeIn
}, "start+=0.8")
.to($dashed, 1.5, {
rotation: -200,
scale: 1.5,
opacity: 0.3,
stroke: "#009E5A",
transformOrigin: "50% 50%",
ease: Circ.easeOut
}, "start")
.staggerFromTo($iPop, 0.3, {
scale: 0,
x: 0,
y: 0
}, {
scale: 1,
x: 30,
y: -30,
ease: Back.easeOut
}, 0.1, "start+=0.3")
.staggerTo($iPop, 0.2, {
opacity: 0,
scale: 3,
transformOrigin: "50% 50%",
ease: Back.easeIn
}, 0.1, "start+=0.7")
.fromTo($iInit, 0.5, {
drawSVG: '0 0',
scale: 0.5,
opacity: 0.5
}, {
drawSVG: true,
scale: 1.5,
opacity: 1,
transformOrigin: "50% 50%",
ease: Back.easeOut
}, "start+=0.5")
.to($iInit, 0.3, {
drawSVG: '90% 100%',
scale: 2,
opacity: 0
}, "start+=1")
.to($ring, 0.75, {
opacity: 1,
transformOrigin: "50% 50%",
rotation: 100
}, "start+=1")
.to($ring, 0.4, {
opacity: 0,
scale: 1.7,
transformOrigin: "50% 50%",
rotation: 200
}, "start+=1.75")
.to($dashed, 0.5, {
rotation: 100,
scale: 3,
opacity: 0,
drawSVG: '100% 100%',
transformOrigin: "50% 50%",
ease: Circ.easeIn
}, "start+=1.5");
tl.timeScale(1.5);
return tl;
}
var $circ = $("#circle circle"),
$innerA = $(".inner-a");
TweenMax.set([$circ, $bk, $tri], {
visibility: "visible",
opacity: 0
});
TweenMax.set($circ, {
x: 200,
y: 225
});
TweenMax.set($tri, {
x: 190,
y: 150
});
// the second scene
function sceneTwo() {
var tl = new TimelineMax();
tl.add("two");
tl.fromTo($tri, 1, {
rotation: -250,
opacity: 0
}, {
rotation: 90,
opacity: 1,
transformOrigin: "50% 50%",
ease: Circ.easeOut
}, "two")
.to($bk, 3, {
opacity: 0.3
}, "two");
tl.staggerFrom($triP, 1, {
fill: "#ffffff",
}, "two+=1");
tl.staggerFromTo($triP, 1, {
scale: 1.04
}, {
scaleX: 0,
transformOrigin: "50% 50%",
ease: Circ.easeOut
}, "two+=2.25");
tl.to($tri, 2, {
y: 50,
ease: Bounce.easeOut
}, "two+=1.25");
tl.fromTo($circ, 1, {
scale: 0.1,
stroke: "#222222",
fill: "#000000",
rotationX: -3000,
opacity: 0
}, {
scale: 1.2,
stroke: "#FFFFFF",
fill: "#111111",
rotationX: 0,
opacity: 0.9,
transformOrigin: "50% 50%",
}, "two+=2.25")
.fromTo($ring, 0.75, {
opacity: 0,
scale: 1,
}, {
opacity: 1,
scale: 1,
transformOrigin: "50% 50%",
rotation: 100
}, "two+=3.25")
.to($circ, 0.75, {
stroke: "#3B3C3D",
scale: 1,
opacity: 0.5
}, "two+=3.25")
.to($innerA, 0.75, {
opacity: 0
}, "two+=3")
.to($circ, 1.25, {
opacity: 0,
scale: 1.7,
transformOrigin: "50% 50%",
ease: Circ.easeOut
}, "two+=4")
.to($bk, 1.25, {
scale: 0,
opacity: 1,
transformOrigin: "50% 50%"
}, "two+=4")
.to($ring, 1.25, {
opacity: 0,
scale: 1.7,
transformOrigin: "50% 50%",
rotation: 200,
ease: Circ.easeOut
}, "two+=4");
tl.timeScale(1.5);
return tl;
}
var $spikeSh = $("#spikey_2_ polygon"),
$spikeL = $("#spikey_2_ polyline, #spikey_2_ line"),
$spikeD = $("#dots_1_ circle");
TweenMax.set([$spikeSh, $spikeL, $spikeD], {
visibility: "visible",
opacity: 0
});
TweenMax.set($spikeSh, {
css: {
transformPerspective: 400,
perspective: 400,
transformStyle: "preserve-3d"
}
});
// the third scene
function sceneThree() {
var tl = new TimelineMax();
tl.add("three");
tl.staggerFromTo($spikeSh, 0.4, {
opacity: 0,
scaleX: 0
}, {
opacity: 1,
scale: 1,
ease: Back.easeOut
}, 0.03, "three")
.staggerFromTo($spikeL, 0.4, {
drawSVG: '0 0',
opacity: 0,
}, {
opacity: 1,
drawSVG: true,
ease: Back.easeOut
}, 0.01, "three")
.staggerFromTo($spikeD, 0.2, {
opacity: 0,
scaleX: 0
}, {
opacity: 0.2,
scale: 2,
transformOrigin: "50% 50%",
ease: Elastic.easeOut
}, 0.03, "three")
.staggerTo($spikeD, 0.2, {
opacity: 0,
scale: 0,
ease: Circ.easeIn
}, 0.03, "three+=1")
.to($bk, 2, {
opacity: 0.3,
scale: 1
}, "three+=1");
tl.staggerTo($spikeL, 1, {
opacity: 0
}, 0.01, "three+=2.5");
$spikeSh.each(function (index, element) {
tl.staggerTo(element, 2, {
css: {
z: 2000,
rotationX: totesRandom(100, -50),
x: totesRandom(100, -100),
y: totesRandom(200, -200)
},
ease: Circ.easeOut
}, 0.01, "three+=3.5");
});
tl.staggerTo($spikeSh, 0.5, {
opacity: 0,
rotation: 250,
scale: 1.5
}, 0.01, "three+=4");
tl.to($bk, 1, {
opacity: 0,
scale: 0
}, "three+=3.5");
tl.timeScale(1.5);
return tl;
}
var $lLeft = $("#ccli1, #ccli4, #ccli7, #ccli12"),
$lRight = $("#ccli2, #ccli8, #ccli10, #ccli11"),
$lTop = $("#ccli3, #ccli5, #ccli13"),
$lBottom = $("#ccli6, #ccli9"),
$triLogo = $("#blueline, #triangle"),
//using css selectors because of jquery :even performance hit
$letO = $(".letters path:nth-child(2n)"),
$letE = $(".letters path:nth-child(2n+1)");
TweenMax.set($("#logo"), {
visibility: "visible"
});
// the fourth scene, logo
function sceneFour() {
var tl = new TimelineMax();
tl.add("four");
tl.from($("#whiterect"), 2, {
scaleY: 0,
rotationX: 200,
autoAlpha: 0,
transformOrigin: "50% 50%",
ease: Back.easeOut
}, "four");
tl.from($triLogo, 2, {
scaleX: 0,
rotationY: 200,
autoAlpha: 0,
transformOrigin: "50% 50%",
ease: Back.easeOut
}, "four");
tl.fromTo($("body"), 5, {
backgroundColor: "#3B3C3D"
}, {
backgroundColor: "rgb(36, 89, 118)",
ease: Power1.easeOut
}, "four");
tl.from($lLeft, 2, {
x: -1000,
autoAlpha: 0,
ease: Back.easeOut
}, "four+=1");
tl.from($lRight, 2, {
x: 1000,
autoAlpha: 0,
ease: Back.easeOut
}, "four+=1");
tl.from($lTop, 2, {
y: -1000,
autoAlpha: 0,
ease: Back.easeOut
}, "four+=1");
tl.from($lBottom, 2, {
y: 1000,
autoAlpha: 0,
ease: Back.easeOut
}, "four+=1");
tl.from($letO, 2, {
scaleX:0,
autoAlpha: 0,
ease: Back.easeOut
}, "four+=1");
tl.from($letE, 2, {
scaleY:0,
autoAlpha: 0,
ease: Back.easeOut
}, "four+=1");
tl.from($("#bigtri"), 1, {
scaleX: 0,
rotationY: 200,
autoAlpha: 0,
transformOrigin: "50% 50%",
ease: Back.easeOut
}, "four+=1");
tl.timeScale(1.5);
return tl;
}
var master = new TimelineMax();
master.add(sceneOne(), "scene1")
.add(sceneTwo(), "scene2")
.add(sceneThree(), "scene3")
.add(sceneFour(), "scene4");
//master.seek("scene4");
function totesRandom(max, min) {
return Math.floor(Math.random() * (1 + max - min) + min);
}
$(document).on('click', 'a.size', function(e) {
$('.wrapper').width(Math.floor(Math.random() * 60 + 20) + '%');
e.preventDefault();
});
$(document).on('click', 'a.replay', function(e) {
master.restart();
e.preventDefault();
});
Also see: Tab Triggers