title: CSS design - rainbow
body: <p>I want to create a rainbow using only CSS only. Below is an image of what is required.</p>
  
  <p><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/2/20/Rainbow-diagram-ROYGBIV.PNG/320px-Rainbow-diagram-ROYGBIV.PNG" alt="enter image description here"></p>
  
  <p>Here is my code (so far):</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="false" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-css lang-css prettyprint-override"><code>* {
    margin: 0;
    padding: 0;
  }
  #r {
    height: 80vw;
    width: 80vw;
    background-color: #f00;
    position: absolute;
    z-index: 1;
  }
  #o {
    height: 76vw;
    width: 76vw;
    background-color: #fe6230;
    position: absolute;
    top: 2vw;
    left: 2vw;
    z-index: 2;
  }
  #y {
    height: 72vw;
    width: 72vw;
    background-color: #fef600;
    position: absolute;
    top: 4vw;
    left: 4vw;
    z-index: 3;
  }
  #g {
    height: 68vw;
    width: 68vw;
    background-color: #00bc00;
    position: absolute;
    top: 6vw;
    left: 6vw;
    z-index: 4;
  }
  #b {
    height: 64vw;
    width: 64vw;
    background-color: #0048fe;
    position: absolute;
    top: 8vw;
    left: 8vw;
    z-index: 5;
  }
  #i {
    height: 60vw;
    width: 60vw;
    background-color: #000083;
    position: absolute;
    top: 10vw;
    left: 10vw;
    z-index: 6;
  }
  #v {
    height: 56vw;
    width: 56vw;
    background-color: #30009b;
    position: absolute;
    top: 12vw;
    left: 12vw;
    z-index: 7;
  }</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;div id="r"&gt;
  &lt;/div&gt;
  &lt;div id="o"&gt;
  &lt;/div&gt;
  &lt;div id="y"&gt;
  &lt;/div&gt;
  &lt;div id="g"&gt;
  &lt;/div&gt;
  &lt;div id="b"&gt;
  &lt;/div&gt;
  &lt;div id="i"&gt;
  &lt;/div&gt;
  &lt;div id="v"&gt;
  &lt;/div&gt;</code></pre>
  </div>
  </div>
  </p>
  
  <p>The problem with my code is that I am unable to curve it (like in a real rainbow). I also need to hide half of this rainbow.</p>