Pen Settings

HTML

CSS

CSS Base

Vendor Prefixing

Add External Stylesheets/Pens

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.

+ add another resource

JavaScript

Babel includes JSX processing.

Add External Scripts/Pens

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.

+ add another resource

Packages

Add Packages

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.

Behavior

Save Automatically?

If active, Pens will autosave every 30 seconds after being saved once.

Auto-Updating Preview

If enabled, the preview panel updates automatically as you code. If disabled, use the "Run" button to update.

Format on Save

If enabled, your code will be formatted when you actively save your Pen. Note: your code becomes un-folded during formatting.

Editor Settings

Code Indentation

Want to change your Syntax Highlighting theme, Fonts and more?

Visit your global Editor Settings.

HTML

              
                <div>
    <svg version="1.1" id="nuage4" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
    width="356.982px" height="178.491px" viewBox="0 0 356.982 178.491" enable-background="new 0 0 356.982 178.491"
    xml:space="preserve">
    <path fill="#2F6ED3" d="M324.162,120.227c-0.848,0-1.686,0.043-2.512,0.127c-1.428-24.691-21.896-44.274-46.943-44.274
    c-2.994,0-5.919,0.292-8.758,0.827c-6.051-7.09-15.046-11.591-25.099-11.591c-0.799,0-1.588,0.039-2.371,0.094
    c-11.004-29.115-39.122-49.826-72.089-49.826c-31.361,0-58.326,18.746-70.353,45.635c-2.997-0.575-6.087-0.887-9.251-0.887
    c-21.95,0-40.511,14.489-46.651,34.424c-17.993,2.854-31.75,18.435-31.75,37.232c0,20.822,16.881,37.705,37.703,37.705h222.2
    c2.1,0.287,4.239,0.447,6.418,0.447c2.178,0,4.317-0.16,6.417-0.447h39.189v-0.604c1.254,0.197,2.539,0.302,3.849,0.302
    c13.576,0,24.581-11.006,24.581-24.582S337.738,120.227,324.162,120.227z"/>
  </svg>

  <svg id="fond" height="800" width="800">
    <circle cx="400" cy="400" r="200" fill="#ffff66" />
  </svg> 
  <svg version="1.1" id="nuage2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
  width="199.708px" height="90.688px" viewBox="0 0 199.708 90.688" enable-background="new 0 0 199.708 90.688"
  xml:space="preserve">
  <path fill="#0D3E84" d="M185.285,61.401c-0.497,0-0.988,0.025-1.473,0.074c-0.838-14.488-12.848-25.979-27.545-25.979
  c-1.76,0-3.479,0.172-5.148,0.487c-3.55-4.158-8.82-6.802-14.717-6.802c-0.468,0-0.927,0.037-1.386,0.07
  C128.563,12.159,112.061,0,92.711,0C74.31,0,58.487,11,51.43,26.777c-1.758-0.337-3.571-0.521-5.428-0.521
  c-12.879,0-23.771,8.501-27.373,20.198C8.072,48.13,0,57.272,0,68.301C0,80.52,9.905,90.424,22.123,90.424h130.369
  c1.235,0.169,2.494,0.264,3.775,0.264s2.54-0.095,3.775-0.264h22.984v-0.37c0.737,0.116,1.487,0.194,2.258,0.194
  c7.967,0,14.424-6.459,14.424-14.424C199.708,67.858,193.251,61.401,185.285,61.401z"/>
</svg>
<svg version="1.1" id="nuage5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="370.481px" height="161.801px" viewBox="0 0 370.481 161.801" enable-background="new 0 0 370.481 161.801"
xml:space="preserve">
<path fill="#1D3764" d="M50.046,106.98c0.808,0,1.605,0.041,2.393,0.12c1.36-23.531,20.866-42.194,44.737-42.194
c2.858,0,5.651,0.279,8.362,0.791c5.766-6.753,14.326-11.048,23.902-11.048c0.76,0,1.506,0.061,2.251,0.114
c10.481-27.76,37.283-47.508,68.711-47.508c29.887,0,55.585,17.865,67.047,43.491c2.856-0.548,5.801-0.845,8.816-0.845
c20.919,0,38.607,13.808,44.458,32.805c17.147,2.722,30.258,17.569,30.258,35.482c0,19.846-16.087,35.932-35.931,35.932
l-211.743,0.001c-2.006,0.273-4.051,0.428-6.132,0.428s-4.125-0.154-6.132-0.428h-37.33v-0.602
c-1.198,0.188-2.416,0.315-3.668,0.315c-12.939,0-23.427-10.49-23.427-23.427C26.619,117.467,37.106,106.98,50.046,106.98z"/>
</svg>
<svg version="1.1" id="nuage3" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="326px" height="153px" viewBox="0 0 326 153" enable-background="new 0 0 326 153" xml:space="preserve">
<path fill="#528FE8" d="M304.142,99.113c-1.244-12.49-9.457-22.921-20.692-27.368c-1.807-38.131-33.288-68.492-71.865-68.492
c-25.82,0-48.452,13.608-61.146,34.037c-3.471-0.816-7.084-1.261-10.804-1.261c-20.721,0-38.297,13.403-44.566,32.009
c-6.057-3.664-13.158-5.773-20.753-5.773c-20.091,0-36.735,14.753-39.692,34.017c-1.542-0.289-3.13-0.447-4.756-0.447
c-14.172,0-25.662,11.488-25.662,25.662c0,13.959,11.15,25.308,25.027,25.646v0.016h265.759v-0.325
c0.302,0.011,0.603,0.022,0.906,0.022c13.576,0,24.581-11.006,24.581-24.582C320.479,111.59,313.662,102.502,304.142,99.113z"/>
</svg>
</div>
<div id="lumiereFeu"></div>
<div id="lumiereFeu2"></div>
<div id="conteneur">
  <svg id="firework1" height="20" width="20">
    <circle cx="10" cy="10" r="5" fill="#4a86e1" />
  </svg> 
  <svg id="firework2" height="20" width="20">
    <circle cx="10" cy="10" r="5" fill="#cc66cc" />
  </svg>
  <div id="nuage_container">
  <svg version="1.1" id="nuage" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
  width="258.737px" height="116.922px" viewBox="0 0 258.737 116.922" enable-background="new 0 0 258.737 116.922"
  xml:space="preserve">
  <path fill="#F7E74F" d="M234.601,60.186c-4.667-15.154-18.777-26.168-35.464-26.168c-2.405,0-4.754,0.237-7.032,0.674
  C182.962,14.25,162.463,0,138.624,0c-25.062,0-46.437,15.744-54.802,37.877c-0.596-0.042-1.196-0.072-1.803-0.072
  c-7.642,0-14.48,3.421-19.08,8.812c-2.158-0.407-4.381-0.628-6.657-0.628c-19.042,0-34.601,14.887-35.686,33.656
  c-0.628-0.063-1.265-0.097-1.909-0.097C8.366,79.548,0,87.915,0,98.235s8.366,18.687,18.687,18.687c0.998,0,1.97-0.101,2.926-0.251
  v0.481h29.792c1.596,0.218,3.222,0.34,4.877,0.34c1.656,0,3.282-0.122,4.877-0.34h168.917c15.828,0,28.661-12.834,28.661-28.663
  C258.737,74.2,248.279,62.355,234.601,60.186z"/>
</svg>
<svg version="1.1" id="nuage6" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
   width="348.854px" height="169.911px" viewBox="0 0 348.854 169.911" enable-background="new 0 0 348.854 169.911"
   xml:space="preserve">
<path fill="#F9E97A" d="M316.506,87.99c0.044-1.059,0.081-2.118,0.081-3.187c0-42.557-34.497-77.055-77.053-77.055
  c-22.179,0-42.154,9.383-56.213,24.379c-2.979-0.568-6.053-0.877-9.198-0.877c-20.965,0-38.839,13.222-45.75,31.78
  c-1.007-0.093-2.026-0.146-3.058-0.146c-8.345,0-15.959,3.104-21.77,8.212c-5.265-2.163-11.026-3.363-17.071-3.363
  c-24.703,0-44.745,19.922-44.952,44.577h-8.846v0.686c-1.254-0.197-2.54-0.302-3.849-0.302c-13.576,0-24.581,11.006-24.581,24.582
  s11.005,24.582,24.581,24.582c1.31,0,2.595-0.104,3.849-0.302v0.604h274.224c20.823,0,37.704-16.882,37.704-37.705
  C344.605,106.952,332.677,92.238,316.506,87.99z"/>
</svg>
</div>
<br />

<svg id="manoir" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="307.742px" height="170.322px" viewBox="0 0 307.742 170.322" enable-background="new 0 0 307.742 170.322"
xml:space="preserve">
<rect x="46.551" y="49.229" fill="#F9E27D" width="215.706" height="98.986"/>
<rect x="133.539" y="49.229" fill="#FFEB93" width="41.73" height="98.986"/>
<rect x="15.143" y="49.229" fill="#FFEB93" width="62.815" height="98.986"/>
<rect x="230.848" y="49.229" fill="#FFEB93" width="62.815" height="98.986"/>
<polygon fill="#234382" points="299.221,49.229 9.32,49.229 65.478,20.601 243.065,20.601 "/>
<rect x="64.667" y="20.585" fill="#2A5291" width="192.93" height="2.5"/>
<rect x="64.667" y="20.585" fill="#2A5291" width="192.93" height="2.5"/>
<path fill="#2A5291" d="M83.538,11.625c0-3.082-0.557-3.639-3.639-3.639h-3.882c-3.082,0-3.639,0.557-3.639,3.639
c0,2.915,0.303,3.563,3.154,3.626v7.966h4.852V15.25C83.235,15.188,83.538,14.54,83.538,11.625z"/>
<path fill="#2A5291" d="M236.43,13.323c0-3.082-0.558-3.639-3.64-3.639h-3.882c-3.082,0-3.639,0.557-3.639,3.639
c0,2.915,0.303,3.563,3.153,3.626v5.967h4.853v-5.967C236.126,16.886,236.43,16.238,236.43,13.323z"/>
<path fill="#2A5291" d="M139.119,11.625c0-3.082-0.557-3.639-3.639-3.639h-3.882c-3.082,0-3.639,0.557-3.639,3.639
c0,2.915,0.303,3.563,3.154,3.626v7.966h4.853V15.25C138.815,15.188,139.119,14.54,139.119,11.625z"/>
<path fill="#2A5291" d="M180.849,11.625c0-3.082-0.558-3.639-3.64-3.639h-3.882c-3.082,0-3.639,0.557-3.639,3.639
c0,2.915,0.303,3.563,3.153,3.626v7.966h4.853V15.25C180.545,15.188,180.849,14.54,180.849,11.625z"/>
<path fill="#234382" d="M169.82,26.708c0,6.678-6.519,12.089-14.558,12.089h-1.719c-8.04,0-14.557-5.412-14.557-12.089l0,0
c0-6.679,6.518-12.091,14.557-12.091h1.719C163.302,14.617,169.82,20.029,169.82,26.708L169.82,26.708z"/>
<polygon fill="#103468" points="83.781,49.229 9.32,49.229 28.729,12.352 64.372,12.352 "/>
<polygon fill="#103468" points="299.486,49.229 225.026,49.229 244.436,12.352 280.077,12.352 "/>
<polygon fill="#2A5291" points="65.887,15.229 27.215,15.229 28.729,12.352 64.372,12.352 "/>
<polygon fill="#2A5291" points="281.592,15.229 242.921,15.229 244.436,12.352 280.078,12.352 "/>
<rect x="74.01" y="49.767" fill="#FFF3C2" width="3.948" height="88.745"/>
<rect x="133.539" y="49.767" fill="#FFF3C2" width="3.948" height="88.745"/>
<rect x="171.321" y="49.767" fill="#FFF3C2" width="3.947" height="88.745"/>
<rect x="15.143" y="49.767" fill="#FFF3C2" width="3.948" height="88.745"/>
<rect x="289.716" y="49.767" fill="#FFF3C2" width="3.947" height="88.745"/>
<rect x="230.849" y="49.767" fill="#FFF3C2" width="3.947" height="88.745"/>
<rect x="9.733" y="47.122" fill="#E5CB5E" width="289.339" height="2.645"/>
<rect x="12.964" y="94.455" fill="#E5CB5E" width="282.612" height="2.646"/>
<rect x="122.996" y="138.512" fill="#E5CB5E" width="62.814" height="9.704"/>
<rect x="77.958" y="138.512" fill="#CEB138" width="55.581" height="9.704"/>
<rect x="175.269" y="138.512" fill="#CEB138" width="55.581" height="9.704"/>
<rect x="230.85" y="138.512" fill="#E5CB5E" width="62.813" height="9.704"/>
<rect x="77.958" y="94.455" fill="#CEB138" width="55.581" height="2.646"/>
<rect x="15.143" y="138.512" fill="#E5CB5E" width="62.813" height="9.704"/>
<rect x="175.269" y="94.455" fill="#CEB138" width="55.58" height="2.646"/>
<path class="fenetre2" fill="#FFCE00" d="M143.486,148.216v-20.298c0-7.485,4.829-11.611,10.785-11.611l0,0c5.957,0,10.785,4.126,10.785,11.611
v20.298H143.486z"/>
<g>
  <polygon class="fenetre2" fill="#FFCE00" points="160.39,87.506 148.417,87.506 148.417,68.417 147.375,62.604 161.432,62.604 160.39,68.417   "/>
  <polygon fill="#FFBC00" points="148.417,68.417 147.375,62.604 161.432,62.604 160.39,68.417  "/>
</g>
<polygon class="fenetre" fill="#FFC200" points="125.454,91.388 113.48,91.388 113.48,72.299 112.438,66.485 126.495,66.485 125.454,72.299 "/>
<polygon fill="#EFB933" points="113.48,72.299 112.438,66.485 126.495,66.485 125.454,72.299 "/>
<polygon class="fenetre" fill="#FFC200" points="98.281,91.388 86.308,91.388 86.308,72.299 85.266,66.485 99.322,66.485 98.281,72.299 "/>
<polygon fill="#EFB933" points="86.308,72.299 85.266,66.485 99.322,66.485 98.281,72.299 "/>
<g>
  <polygon class="fenetre2" fill="#FFCE00" points="67.227,87.506 55.253,87.506 55.253,68.417 54.211,62.604 68.268,62.604 67.227,68.417   "/>
  <polygon fill="#FFBC00" points="55.253,68.417 54.211,62.604 68.268,62.604 67.227,68.417   "/>
</g>
<g>
  <polygon class="fenetre2" fill="#FFCE00" points="40.054,87.506 28.08,87.506 28.08,68.417 27.039,62.604 41.095,62.604 40.054,68.417   "/>
  <polygon fill="#FFBC00" points="28.08,68.417 27.039,62.604 41.095,62.604 40.054,68.417  "/>
</g>
<g>
  <polygon class="fenetre2" fill="#FFCE00" points="280.726,87.506 268.754,87.506 268.754,68.417 267.712,62.604 281.768,62.604 280.726,68.417   "/>
  <polygon fill="#FFBC00" points="268.754,68.417 267.712,62.604 281.768,62.604 280.726,68.417   "/>
</g>
<g>
  <polygon class="fenetre2" fill="#FFCE00" points="253.553,87.506 241.581,87.506 241.581,68.417 240.539,62.604 254.595,62.604 253.553,68.417   "/>
  <polygon fill="#FFBC00" points="241.581,68.417 240.539,62.604 254.595,62.604 253.553,68.417   "/>
</g>
<polygon class="fenetre" fill="#FFC200" points="222.498,91.388 210.526,91.388 210.526,72.299 209.484,66.485 223.541,66.485 222.498,72.299 "/>
<polygon fill="#EFB933" points="210.526,72.299 209.484,66.485 223.541,66.485 222.498,72.299 "/>
<polygon class="fenetre" fill="#FFC200" points="195.325,91.388 183.354,91.388 183.354,72.299 182.312,66.485 196.368,66.485 195.325,72.299 "/>
<polygon fill="#EFB933" points="183.354,72.299 182.312,66.485 196.368,66.485 195.325,72.299 "/>
<polygon class="fenetre" fill="#FFC200" points="125.454,134.088 113.48,134.088 113.48,114.999 112.438,109.186 126.495,109.186 125.454,114.999 
"/>
<polygon fill="#EFB933" points="113.48,114.999 112.438,109.186 126.495,109.186 125.454,114.999 "/>
<polygon class="fenetre" fill="#FFC200" points="98.281,134.088 86.308,134.088 86.308,114.999 85.266,109.186 99.322,109.186 98.281,114.999 "/>
<polygon fill="#EFB933" points="86.308,114.999 85.266,109.186 99.322,109.186 98.281,114.999 "/>
<g>
  <polygon class="fenetre2" fill="#FFCE00" points="67.227,130.206 55.253,130.206 55.253,111.117 54.211,105.304 68.268,105.304 67.227,111.117   "/>
  <polygon fill="#FFBC00" points="55.253,111.117 54.211,105.304 68.268,105.304 67.227,111.117   "/>
</g>
<g>
  <polygon class="fenetre2" fill="#FFCE00" points="40.054,130.206 28.08,130.206 28.08,111.117 27.039,105.304 41.095,105.304 40.054,111.117   "/>
  <polygon fill="#FFBC00" points="28.08,111.117 27.039,105.304 41.095,105.304 40.054,111.117  "/>
</g>
<g>
  <polygon class="fenetre2" fill="#FFCE00" points="280.726,130.206 268.754,130.206 268.754,111.117 267.712,105.304 281.768,105.304 
  280.726,111.117   "/>
  <polygon fill="#FFBC00" points="268.754,111.117 267.712,105.304 281.768,105.304 280.726,111.117   "/>
</g>
<g>
  <polygon class="fenetre2" fill="#FFCE00" points="253.553,130.206 241.581,130.206 241.581,111.117 240.539,105.304 254.595,105.304 
  253.553,111.117   "/>
  <polygon fill="#FFBC00" points="241.581,111.117 240.539,105.304 254.595,105.304 253.553,111.117   "/>
</g>
<polygon class="fenetre" fill="#FFC200" points="222.498,134.088 210.526,134.088 210.526,114.999 209.484,109.186 223.541,109.186 222.498,114.999 
"/>
<polygon fill="#EFB933" points="210.526,114.999 209.484,109.186 223.541,109.186 222.498,114.999 "/>
<polygon class="fenetre" fill="#FFC200" points="195.325,134.088 183.354,134.088 183.354,114.999 182.312,109.186 196.368,109.186 195.325,114.999 
"/>
<polygon fill="#EFB933" points="183.354,114.999 182.312,109.186 196.368,109.186 195.325,114.999 "/>
<polygon class="fenetre" fill="#FFC200" points="125.454,44.806 113.48,44.806 113.48,29.572 112.438,24.933 126.495,24.933 125.454,29.572 "/>
<polygon fill="#EFB933" points="113.48,29.572 112.438,24.933 126.495,24.933 125.454,29.572 "/>
<polygon class="fenetre" fill="#FFC200" points="98.281,44.806 86.308,44.806 86.308,29.572 85.266,24.933 99.322,24.933 98.281,29.572 "/>
<polygon fill="#EFB933" points="86.308,29.572 85.266,24.933 99.322,24.933 98.281,29.572 "/>
<polygon class="fenetre2" fill="#FFCE00" points="52.537,41.708 40.563,41.708 40.563,26.474 39.522,21.835 53.578,21.835 52.537,26.474 "/>
<polygon fill="#FFBC00" points="40.563,26.474 39.522,21.835 46.55,19.894 53.578,21.835 52.537,26.474 "/>
<g>
  <polygon class="fenetre2" fill="#FFCE00" points="267.609,41.708 255.638,41.708 255.638,26.474 254.595,21.835 268.651,21.835 267.609,26.474   "/>
  <polygon fill="#FFBC00" points="255.638,26.474 254.595,21.835 261.623,19.894 268.651,21.835 267.609,26.474  "/>
</g>
<polygon class="fenetre" fill="#FFC200" points="222.498,44.806 210.526,44.806 210.526,29.572 209.484,24.933 223.541,24.933 222.498,29.572 "/>
<polygon fill="#EFB933" points="210.526,29.572 209.484,24.933 223.541,24.933 222.498,29.572 "/>
<polygon class="fenetre" fill="#FFC200" points="195.325,44.806 183.354,44.806 183.354,29.572 182.312,24.933 196.368,24.933 195.325,29.572 "/>
<polygon fill="#EFB933" points="183.354,29.572 182.312,24.933 196.368,24.933 195.325,29.572 "/>
<g>
  <path fill="#FFBC00" d="M154.789,18.239h-0.771c-3.608,0-6.644,2.479-6.644,5.537l1.042,2.698h11.973l1.042-2.698
  C161.432,20.718,158.396,18.239,154.789,18.239z"/>
  <rect x="148.417" y="26.474" class="fenetre2" fill="#FFCE00" width="11.973" height="15.234"/>
</g>
</svg>

</div>
              
            
!

CSS

              
                body{
	margin: 0;
	background: #04214d;
	overflow: hidden;
}
body,html{
	height:100%;
}
.fenetre{
	animation: changeCouleur 0.5s;
	animation-iteration-count: infinite;
	-webkit-animation: changeCouleur 0.5s;
	-webkit-animation-iteration-count: infinite;

}

@keyframes changeCouleur
{
0% {fill: #FFC200;}
50% {fill: #FFF;}
100% {fill: #FFC200;}
} 

@-webkit-keyframes changeCouleur
{
0% {fill: #FFC200;}
50% {fill: #FFF;}
100% {fill: #FFC200;}
} 

.fenetre2{
	animation: changeCouleurB 0.5s;
	animation-iteration-count: infinite;
	-webkit-animation: changeCouleurB 0.5s;
	-webkit-animation-iteration-count: infinite;
}

@keyframes changeCouleurB
{
0% {fill: #FFCE00;}
50% {fill: #FFF;}
100% {fill: #FFCE00;}
}

@-webkit-keyframes changeCouleurB
{
0% {fill: #FFCE00;}
50% {fill: #FFF;}
100% {fill: #FFCE00;}
}


#conteneur{
	/*margin-top: 10%;*/
    text-align: center;
    width: 100%;
    /*vertical-align: bottom;*/
    bottom: -30px;
    position: absolute;
    margin: 0;
    padding: 0;
    z-index: 20;
}

#manoir{
	animation: changeTaille 0.5s;
	animation-iteration-count: infinite;
	-webkit-animation: changeTaille 0.5s;
	-webkit-animation-iteration-count: infinite;
	margin:auto;
	z-index: 40;
}

@keyframes changeTaille
{
0% {transform-origin: 50% 100%;transform : scale(1);}
50% {transform-origin: 50% 100%;transform : scale(1.1);}
100% {transform-origin: 50% 100%;transform : scale(1);}
} 

@-webkit-keyframes changeTaille
{
0% {-webkit-transform-origin: 50% 100%; -webkit-transform : scale(1);}
50% {-webkit-transform-origin: 50% 100%; -webkit-transform : scale(1.1);}
100% {-webkit-transform-origin: 50% 100%; -webkit-transform : scale(1);}
} 
#nuage_container{
	display: inline-block;
    height: 200px;
    margin: auto;
    position: relative;
    width: 700px;
}

#nuage{
	animation: bouge 0.5s;
	animation-iteration-count: infinite;
	-webkit-animation: bouge 0.5s;
	-webkit-animation-iteration-count: infinite;
	vertical-align: top;
	z-index: 0;

}

@keyframes bouge
{
0% {transform-origin: 0% 100%; transform:rotate(0deg); }
50% {transform-origin: 0% 100%; transform:rotate(-20deg);}
100% {transform-origin: 0% 100%; transform:rotate(0deg);}
} 

@-webkit-keyframes bouge
{
0% {-webkit-transform-origin: 0% 100%; -webkit-transform:rotate(0deg); }
50% {-webkit-transform-origin: 0% 100%; -webkit-transform:rotate(-20deg);}
100% {-webkit-transform-origin: 0% 100%; -webkit-transform:rotate(0deg);}
} 

#nuage6{
	animation: bougeB 0.5s;
	animation-iteration-count: infinite;
	-webkit-animation: bougeB 0.5s;
	-webkit-animation-iteration-count: infinite;
	vertical-align: top;
	z-index: 0;
}

@keyframes bougeB
{
0% {transform-origin: 100% 100%; transform:rotate(0deg); }
50% {transform-origin: 100% 100%; transform:rotate(20deg);}
100% {transform-origin: 100% 100%; transform:rotate(0deg);}
} 

@-webkit-keyframes bougeB
{
0% {-webkit-transform-origin: 100% 100%; -webkit-transform:rotate(0deg); }
50% {-webkit-transform-origin: 100% 100%; -webkit-transform:rotate(20deg);}
100% {-webkit-transform-origin: 100% 100%; -webkit-transform:rotate(0deg);}
} 

#lumiereFeu{
	animation: couleurFond 3s;
	animation-iteration-count: infinite;
	animation-delay: 3.7s;
	-webkit-animation: couleurFond 3s;
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-delay: 3.7s;
	opacity: 0;
	height: 100%;
	width: 100%;
	 position: absolute;
	z-index: 200;
}

@keyframes couleurFond
{
0% {opacity: 0;}
70% {opacity:0; background: #4a86e1; }
90% {opacity: 0.5; background: #4a86e1;}
100% {opacity: 0; background: #4a86e1;}
} 

@-webkit-keyframes couleurFond
{
0% {opacity: 0;}
70% {opacity:0; background: #4a86e1; }
90% {opacity: 0.5; background: #4a86e1;}
100% {opacity: 0; background: #4a86e1;}
} 

#lumiereFeu2{
	animation: couleurFondB 3s;
	animation-iteration-count: infinite;
	animation-delay: 5.7s;
	-webkit-animation: couleurFondB 3s;
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-delay: 5.7s;
	opacity: 0;
	height: 100%;
	width: 100%;
	position: absolute;
	z-index: 200;
}

@keyframes couleurFondB
{
0% {opacity: 0;}
70% {opacity:0; background: #cc66cc; }
90% {opacity: 0.5; background: #cc66cc;}
100% {opacity: 0; background: #cc66cc;}
} 

@-webkit-keyframes couleurFondB
{
0% {opacity: 0;}
70% {opacity:0; background: #cc66cc; }
90% {opacity: 0.5; background: #cc66cc;}
100% {opacity: 0; background: #cc66cc;}
} 

#firework1{
	animation: feuArtifice 3s;
	animation-iteration-count: infinite;
	transition-timing-function: ease-in;
	animation-delay: 3s;
	-webkit-animation: feuArtifice 3s;
	-webkit-animation-iteration-count: infinite;
	-webkit-transition-timing-function: ease-in;
	-webkit-animation-delay: 3s;
	opacity: 0;
	position: absolute;
	z-index: 30;
}

@keyframes feuArtifice
{
0% {transform-origin: 50% 50%;bottom:10%; right:35%; opacity: 1; }
89% {transform-origin: 50% 50%;bottom:135%; right:40%; transform : scale(1);opacity: 1;}
100% {transform-origin: 50% 50%;bottom:135%; right:40%; transform : scale(30);opacity: 0;}
} 

@-webkit-keyframes feuArtifice
{
0% {-webkit-transform-origin: 50% 50%;bottom:10%; right:35%; opacity: 1; }
89% {-webkit-transform-origin: 50% 50%;bottom:135%; right:40%; -webkit-transform : scale(1);opacity: 1;}
100% {-webkit-transform-origin: 50% 50%;bottom:135%; right:40%; -webkit-transform : scale(30);opacity: 0;}
} 

#firework2{
	animation: feuArtificeB 3s;
	animation-iteration-count: infinite;
	transition-timing-function: ease-in;
	animation-delay: 5s;
	-webkit-animation: feuArtificeB 3s;
	-webkit-animation-iteration-count: infinite;
	-webkit-transition-timing-function: ease-in;
	-webkit-animation-delay: 5s;
	opacity: 0;
	position: absolute;
	z-index: 30;
}

@keyframes feuArtificeB
{
0% {transform-origin: 50% 50%;bottom:10%; left:35%; opacity: 1; }
89% {transform-origin: 50% 50%;bottom:135%; left:40%; transform : scale(1);opacity: 1;}
100% {transform-origin: 50% 50%;bottom:135%; left:40%; transform : scale(30);opacity: 0;}
} 

@-webkit-keyframes feuArtificeB
{
0% {-webkit-transform-origin: 50% 50%;bottom:10%; left:35%; opacity: 1; }
89% {-webkit-transform-origin: 50% 50%;bottom:135%; left:40%; -webkit-transform : scale(1);opacity: 1;}
100% {-webkit-transform-origin: 50% 50%;bottom:135%; left:40%; -webkit-transform : scale(30);opacity: 0;}
} 

#fond{
	position: absolute;
    z-index: 10;
   	bottom: 200px;
}
#nuage2{
	animation: animNuage 20s;
	animation-iteration-count: infinite;
	transition-timing-function: ease-in-out;
	-webkit-animation: animNuage 20s;
	-webkit-animation-iteration-count: infinite;
	-webkit-transition-timing-function: ease-in-out;
	position: absolute;
    z-index: 10;
   	bottom:370px;
   	left: 400px;
}

@keyframes animNuage
{
0% {left: 400px; }
50% {left: 350px;}
100% {left: 400px;}
} 

@-webkit-keyframes animNuage
{
0% {left: 400px; }
50% {left: 350px;}
100% {left: 400px;}
} 
#nuage3{
	animation: animNuageB 35s;
	animation-iteration-count: infinite;
	transition-timing-function: ease-in-out;
	-webkit-animation: animNuageB 35s;
	-webkit-animation-iteration-count: infinite;
	-webkit-transition-timing-function: ease-in-out;
	position: absolute;
    z-index: 10;
   	bottom: 370px;
   	left: 60px;
}

@keyframes animNuageB
{
0% {left: 60px; }
50% {left: 90px;}
100% {left: 60px;}
} 

@-webkit-keyframes animNuageB
{
0% {left: 60px; }
50% {left: 90px;}
100% {left: 60px;}
} 

#nuage4{
	animation: animNuageC 25s;
	animation-iteration-count: infinite;
	transition-timing-function: ease-in-out;
	-webkit-animation: animNuageC 25s;
	-webkit-animation-iteration-count: infinite;
	-webkit-transition-timing-function: ease-in-out;
	position: absolute;
    z-index: 0;
   	bottom: 430px;
   	left: 400px;
}

@keyframes animNuageC
{
0% {left: 400px; }
50% {left: 350px;}
100% {left: 400px;}
} 

@-webkit-keyframes animNuageC
{
0% {left: 400px; }
50% {left: 350px;}
100% {left: 400px;}
} 

#nuage5{
	animation: animNuageD 45s;
	animation-iteration-count: infinite;
	transition-timing-function: ease-in-out;
	-webkit-animation: animNuageD 45s;
	-webkit-animation-iteration-count: infinite;
	-webkit-transition-timing-function: ease-in-out;
	position: absolute;
    z-index: 0;
   	bottom: 550px;
   	left: 90px;
}

@keyframes animNuageD
{
0% {left: 90px; }
50% {left: 130px;}
100% {left: 90px;}
} 

@-webkit-keyframes animNuageD
{
0% {left: 90px; }
50% {left: 130px;}
100% {left: 90px;}
} 
              
            
!

JS

              
                //works better on firefox
              
            
!
999px

Console