<div class="phone">
  <div class="topbar">
    <div class="topbarbutton"></div>
    <h3>City News</h3>
    <div class="search"></div>
  </div>

  <div class="item">
    <div class="check">
      <div class="bg"></div>
      <svg width="32" height="32">
        <g fill="#ffffff">
          <path d="M8.48499124,6.449827 C8.48499124,6.449827 6.42021586,5.43771624 5.4369895,6.449827 C4.45376313,7.46193776 5.4369895,9.58737036 5.4369895,9.58737036 L14.5809947,17.9541526 C14.5809947,17.9541526 15.5826082,19 15.5969949,19 C16.5986087,19 17.6289965,17.9541526 17.6289965,17.9541526 L25.7570011,9.58737036 C25.7570011,9.58737036 26.3037486,7.01263642 25.7570011,6.449827 C25.2102536,5.88701759 22.7089994,6.449827 22.7089994,6.449827 L15.5969953,13.7707615 L8.48499124,6.449827 Z">
            <animate fill="freeze" attributeName="d" begin="indefinite" dur="200ms" to="M8.48499124,6.449827 C8.48499124,6.449827 6.42021586,5.43771624 5.4369895,6.449827 C4.45376313,7.46193776 5.4369895,9.58737036 5.4369895,9.58737036 L14.5809947,17.9541526 C14.5809947,17.9541526 15.5826082,19 15.5969949,19 C16.5986087,19 17.6289965,17.9541526 17.6289965,17.9541526 L25.7570011,9.58737036 C25.7570011,9.58737036 26.3037486,7.01263642 25.7570011,6.449827 C25.2102536,5.88701759 22.7089994,6.449827 22.7089994,6.449827 L15.5969953,13.7707615 L8.48499124,6.449827 Z" />
            <animate fill="freeze" attributeName="d" begin="indefinite" dur="200ms" to="M2.87499998,10.0000003 C2.87499998,10.0000003 0.999999989,11.1094933 1,12.2292387 C1.00000001,13.2292383 2.875,14.1833914 2.875,14.1833914 L14.6696825,14.1833913 C14.6696825,14.1833913 15.9865124,14.1833916 16,14.1833916 C16.939013,14.1833916 17.5271842,14.1833913 17.5271842,14.1833913 L30.0625,14.1833916 C30.0625,14.1833916 31,13.2292387 31,12.2292383 C31,11.2292379 29.125,10 29.125,10 L15.6221831,10.0000002 L2.87499998,10.0000003 Z" />
          </path>
        </g>
      </svg>  
    </div>
    
    <div class="button"></div>
    <div class="content slideRight">
      <div class="title">Night life</div>
      <div class="details">
        <div class="c">
          <div class="n">517</div>
          <div class="label">FOLLOWERS</div>
        </div>
        <div class="c">
          <div class="n">315</div>
          <div class="label">FAVORITES</div>
        </div>
        <div class="c">
          <div class="n">7815</div>
          <div class="label">VIEWS</div>
        </div>
      </div>
    </div>
    <svg class="svgmenu" width="400" height="400">
      <path fill="#E6365F" d="M0,60 L113,60 C113,60 228,59 229,60 C230,61 279,60 300,60 C321,60 371,61 371,60 L371,0 L0,0 L0,60 Z">
        <animate fill="freeze" attributeName="d" begin="indefinite" dur="100ms" to="M0,60 L113,60 C113,60 228,59 229,60 C230,61 279,60 300,60 C321,60 371,61 371,60 L371,0 L0,0 L0,60 Z" />
        <animate fill="freeze" attributeName="d" begin="indefinite" dur="100ms" to="M0,60 L113,60 C113,60 214.336411,103.306838 228,109 C240,114 279,129 300,131 C321,133 371,89 371,82 L371,0 L0,0 L0,60 Z" />
        <animate fill="freeze" attributeName="d" begin="indefinite" dur="200ms" to="M0,60 L85.9157895,60 C85.9157895,60 152,58 204,139 C253.616309,216.286943 281,205 299,209 C317,213 371,184 371,177 L371,0 L0,0 L0,60 Z" />
        <animate fill="freeze" attributeName="d" begin="indefinite" dur="250ms" to="M0,60 L85.9157895,60 C85.9157895,60 159,60 200,139 C241.386531,218.744779 261,222 294,225 C327,228 371,201 371,194 L371,0 L0,0 L0,60 Z" />
      </path>

      <defs>
        <pattern id="image1" width="44" height="44">
          <image xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAtCAMAAADm86mrAAAAq1BMVEXgFEfjH07kOGDmP2bnKVXpL1vrM1/sSm/uOGLuVnjuZYXwb43xPmjxeZXxucbyrsDzX3/zi6L0lan0m6/0o7T07vP1bI32Q2z3e5n3prj35uv4dZX4rr34ssH4uMb4xNH4ytT4z9j43+b5vMn5v8z6tsb7gpv92+L9/f39///+ytX+ztj+1d3+4Ob+5On+6u7++/3+/fr/6en/7/H/8/X/+Pn//f3//f/////AT4wpAAAB0UlEQVR42pWVa3ebMAyGaWhrAWLltpZubSB0gXQjoR0m8f//ZRvmUKhsLn0/+eCH98iyZBm3X5KCo+WG++R3so1iDxdw8MKSi168iGyYxsHe1+Kz+C8HJnAWSZiIP1k6HOw/Z6FV4YCCg3sSU6p9IDjEtZgWl/wId6pXMcfnmzHuHcW8KnuE48tFLGjHPvBN3tDdN+VDCD3OChL4JfUT+kNl9bhPt2pmmDSv5wg6/GGnHMw0bjJBdGQdbnMNfq3kqnElDoFY5S6eoMUxEavcRYEtzrKV7rXV4l610p3ft7jdDMnaRVLBjXEVdMvkfbgpV+JDmf9gBtWmGMziFr8f/s9MFS+HaHISzOHF7XRtXDnd6q4hwXjjxniVao+aydWne5JHZWoOvv9P5HEikZhqE6nm/YgtDqGKa923IEvMaVa5v+VdRbJylXvFOhyCs9oem0xXkLKbLOp0+OY8NtTc65sPArp34Qfae4/Q47csFUsqrNGzZP9doGt3/IqBX8/STQA9LoUBn6MjJA82zvjzCJVxYMbZWU+ffNQMG/C2XBdIYoN+lGGccgrvcjY9KJn7fOIDe9rGbH4Mo/UzeE7Lokz3oWuhOoZVoYnI0ISlIb+sfxpdHHNJS+qbAAAAAElFTkSuQmCC" width="44" height="44" />
        </pattern>

        <pattern id="image2" width="44" height="44">
          <image xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAuCAMAAACLUGAGAAAArlBMVEXgFEfjH07kOGDmP2bnKVXpL1vrM1/sSm/uOGLuVnjuZYXwb43xPmjxeZXxucbypr7yrsDzX3/zi6LzydT0lan0m6/0o7T07vP3e5n3prj35uv4rr34ssH4uMb4xNH4ytT4z9j43+b4+Pn5vMn5v8z6+v76///7gpv92+L9/f39//z9///+ztj+1d3+4Ob+5On+6u7++/3+/fr/7/H/8/X/+Pn//f3//f////3///9LRslMAAAB7klEQVR4AaXV+3aTMAAGcChoEhJqwYStdrYg1aEdg8il5v1fTGCruXDhePr9yfmd8CWQxPr4P7lTQ4J8yiIWYkTWNHk8lxfxFp4cMFnQIKqEniQkM5pQaRXvwymNYjGVP/wAxhqXYi4xMvVjLeaTBbrG9UUscaRqVIrlnIjU5CRW0kbwnw5bsZbKu2kw6sHz0aSP5F0zYea8oebravymSWHiOrCczHyYwkH7XBjZ2pY9mkuJBv00MbRlOYm5LM+9hq/6Q863dqdt2nB9+KdeI2X6VZzuqe/02trgkH09KnPKnU5jWfsSugOUcT35Fxeg088/1ZWzDE2/y+mgTodC5vfO1bAdKjWbwNCCRyq3/Qdh6qvKv1FbYq/UFrbXxsdJNlKn2k9f9b29Zlbr3y0DnQb6Ts9dqSNt7BPsNHzR9Ge7dx+G9toCXKPhP2GaTjvr0PgT6t7h/1CXBA86UIu3OxewpBW/Hnae62sVwaChtiuL7Zfbip1jpXfL3vcO5mIy2hwL1OuVLS+Hhrc979WrOgfy9GF8BVdYOatIuowbCtVzECxW53uin7Hg2M6PPGCpe35o5jpTOL4bYFhMtsgxnLyl0KEybfvKwNydBoN91sj+1/qFosXbFeDomJVVXRV5Sj2yfnNDABBCgMB77/m/y1ESIzbGKqIAAAAASUVORK5CYII=" width="44" height="44" />
        </pattern>

        <pattern id="image3" width="44" height="44">
          <image xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC8AAAAuCAMAAACPpbA7AAAArlBMVEXgFEfjH07kOGDmP2bnKVXpL1vrM1/sSm/uOGLuVnjuZYXwb43xPmjxeZXyrsDzX3/zi6LzydT0lan0m6/0o7T07vP1bI32Q2z3e5n3prj35uv4rr34ssH4uMb4xNH4ytT4z9j43+b4+Pn5vMn5v8z7gpv8k6n92+L9/f39///+ytX+ztj+1d3+4Ob+5On+6u7++/3+/fr/xtH/6en/7/H/8/X/+Pn//f3//f////9QMYrpAAACA0lEQVR42qWW23KbMBBABdiVxMWoUtoEO7FJHBcnxkBbBOj/f6zUYpwFBG4n54EZmAO7q4UV6Mv/8Xmf+NQ7MM6ZF2Jy0/e/iziX1VHVRVUmmwdM5nz8sJMK8FYlgpIpn3i7Sg0pzhybfSxKZUJuQ5NPX38qM00SkJFPT42aolkfyMDH72qOddD3/adGzZKE0Ce8UvM0Wwx8mqtbVJxcffI0WnVZqwFnevVdObBj5u5HjxCk88mmHzkObISoHJWMOx9n8JVJDzZqcUf+y6HzgwKWZaMLbNztR0f7EbgWW0izZJkpodb3d+BaukAdFn0t+n4ZXnx8hkkG6MpS9GuQQeuDZoEAGov1biiY9is1EQBZd7BtNTf4Kl624qIr23lWAKF9qYYBFqvA0gEimA/X9eaDZbOR+yJXug8M9oZpP+n7x3TVZlF/xaglgOvjXXyyVQPqy2HXRrD4m7qSU91foYwc7yy0gG/6CWvfrZSRzEbOGpxHRPt+ava/YcQG6evvRdRG/+zY8SAd7dPMPERcOAYk+/h+JwJIWNg7/pgPOFW3KAM4rzx5Qy8iH/qEF7N6vcX9+elHs35Mh/PZj2Yi7MLx/Hd+yKnc99S0vxDPvEo5v5/Y77D4Pe7BPiST+yOhPIFl1Pmj68/v19gVv5KyqguZnTYBJv/wP+Dc079gh3z+/+EPDoYbaDLTr/YAAAAASUVORK5CYII=" width="44" height="44" />
        </pattern>
      </defs>

      <circle id="icon1" r="22" style="fill: url(#image3);">
        <animateMotion dur="0.6s" begin="indefinite" fill="freeze" repeatCount="1" calcMode="spline" keyTimes="0; 1" keyPoints="0; 1" keySplines="0.35 0 1 1" path="M125,26 C170,26 191,51 222,91 C253,131 269.184608,182.272934 306,185 C333,187 338,177 338,177" rotate="auto" />

        <animateTransform attributeName="transform" calcMode="spline" keyTimes="0; 1" keySplines="0.7 0 1 1" begin="indefinite" dur="0.6s" type="rotate" from="0" to="360" repeatCount="1" />
      </circle>

      <circle id="icon2" r="22" style="fill: url(#image2);">
        <animateMotion dur="0.6s" begin="indefinite" fill="freeze" repeatCount="1" calcMode="spline" keyTimes="0; 1" keyPoints="0; 1" keySplines="0.35 0 1 1" path="M125,26 C170,26 191,51 222,91 C244.666619,120.247251 265,174 279,180" rotate="auto" />

        <animateTransform attributeName="transform" calcMode="spline" keyTimes="0; 1" keySplines="0.7 0 1 1" begin="indefinite" dur="0.6s" type="rotate" from="0" to="360" repeatCount="1" />
      </circle>

      <circle id="icon3" r="22" style="fill: url(#image1);">
        <animateMotion dur="0.6s" begin="indefinite" fill="freeze" repeatCount="1" calcMode="spline" keyTimes="0; 1" keyPoints="0; 1" keySplines="0.35 0 1 1" path="M125,26 C170,26 189.45981,51.9517711 222,91 C232,103 242,131 242,131" rotate="auto" />

        <animateTransform attributeName="transform" calcMode="spline" keyTimes="0; 1" keySplines="0.7 0 1 1" begin="indefinite" dur="0.6s" type="rotate" from="0" to="360" repeatCount="1" />
      </circle>
    </svg>
  </div>
  <div class="item">
    <div class="check">
      <div class="bg"></div>
      <svg width="32" height="32">
        <g fill="#ffffff">
          <path d="M8.48499124,6.449827 C8.48499124,6.449827 6.42021586,5.43771624 5.4369895,6.449827 C4.45376313,7.46193776 5.4369895,9.58737036 5.4369895,9.58737036 L14.5809947,17.9541526 C14.5809947,17.9541526 15.5826082,19 15.5969949,19 C16.5986087,19 17.6289965,17.9541526 17.6289965,17.9541526 L25.7570011,9.58737036 C25.7570011,9.58737036 26.3037486,7.01263642 25.7570011,6.449827 C25.2102536,5.88701759 22.7089994,6.449827 22.7089994,6.449827 L15.5969953,13.7707615 L8.48499124,6.449827 Z">
            <animate fill="freeze" attributeName="d" begin="indefinite" dur="200ms" to="M8.48499124,6.449827 C8.48499124,6.449827 6.42021586,5.43771624 5.4369895,6.449827 C4.45376313,7.46193776 5.4369895,9.58737036 5.4369895,9.58737036 L14.5809947,17.9541526 C14.5809947,17.9541526 15.5826082,19 15.5969949,19 C16.5986087,19 17.6289965,17.9541526 17.6289965,17.9541526 L25.7570011,9.58737036 C25.7570011,9.58737036 26.3037486,7.01263642 25.7570011,6.449827 C25.2102536,5.88701759 22.7089994,6.449827 22.7089994,6.449827 L15.5969953,13.7707615 L8.48499124,6.449827 Z" />
            <animate fill="freeze" attributeName="d" begin="indefinite" dur="200ms" to="M2.87499998,10.0000003 C2.87499998,10.0000003 0.999999989,11.1094933 1,12.2292387 C1.00000001,13.2292383 2.875,14.1833914 2.875,14.1833914 L14.6696825,14.1833913 C14.6696825,14.1833913 15.9865124,14.1833916 16,14.1833916 C16.939013,14.1833916 17.5271842,14.1833913 17.5271842,14.1833913 L30.0625,14.1833916 C30.0625,14.1833916 31,13.2292387 31,12.2292383 C31,11.2292379 29.125,10 29.125,10 L15.6221831,10.0000002 L2.87499998,10.0000003 Z" />
          </path>
        </g>
      </svg>  
    </div>
    <div class="button"></div>
    <div class="content">
      <div class="title">Art &amp; Culture</div>
      <div class="details">
        <div class="c">
          <div class="n">437</div>
          <div class="label">FOLLOWERS</div>
        </div>
        <div class="c">
          <div class="n">245</div>
          <div class="label">FAVORITES</div>
        </div>
        <div class="c">
          <div class="n">5432</div>
          <div class="label">VIEWS</div>
        </div>
      </div>
    </div>
  </div>
  <div class="item">
    <div class="check">
      <div class="bg"></div>
      <svg width="32" height="32">
        <g fill="#ffffff">
          <path d="M8.48499124,6.449827 C8.48499124,6.449827 6.42021586,5.43771624 5.4369895,6.449827 C4.45376313,7.46193776 5.4369895,9.58737036 5.4369895,9.58737036 L14.5809947,17.9541526 C14.5809947,17.9541526 15.5826082,19 15.5969949,19 C16.5986087,19 17.6289965,17.9541526 17.6289965,17.9541526 L25.7570011,9.58737036 C25.7570011,9.58737036 26.3037486,7.01263642 25.7570011,6.449827 C25.2102536,5.88701759 22.7089994,6.449827 22.7089994,6.449827 L15.5969953,13.7707615 L8.48499124,6.449827 Z">
            <animate fill="freeze" attributeName="d" begin="indefinite" dur="200ms" to="M8.48499124,6.449827 C8.48499124,6.449827 6.42021586,5.43771624 5.4369895,6.449827 C4.45376313,7.46193776 5.4369895,9.58737036 5.4369895,9.58737036 L14.5809947,17.9541526 C14.5809947,17.9541526 15.5826082,19 15.5969949,19 C16.5986087,19 17.6289965,17.9541526 17.6289965,17.9541526 L25.7570011,9.58737036 C25.7570011,9.58737036 26.3037486,7.01263642 25.7570011,6.449827 C25.2102536,5.88701759 22.7089994,6.449827 22.7089994,6.449827 L15.5969953,13.7707615 L8.48499124,6.449827 Z" />
            <animate fill="freeze" attributeName="d" begin="indefinite" dur="200ms" to="M2.87499998,10.0000003 C2.87499998,10.0000003 0.999999989,11.1094933 1,12.2292387 C1.00000001,13.2292383 2.875,14.1833914 2.875,14.1833914 L14.6696825,14.1833913 C14.6696825,14.1833913 15.9865124,14.1833916 16,14.1833916 C16.939013,14.1833916 17.5271842,14.1833913 17.5271842,14.1833913 L30.0625,14.1833916 C30.0625,14.1833916 31,13.2292387 31,12.2292383 C31,11.2292379 29.125,10 29.125,10 L15.6221831,10.0000002 L2.87499998,10.0000003 Z" />
          </path>
        </g>
      </svg>  
    </div>
    <div class="button"></div>
    <div class="content">
      <div class="title">Food festivals</div>
      <div class="details"></div>
    </div>
  </div>
</div>
@import url(https://fonts.googleapis.com/css?family=Roboto:400,700);

$color_celeste_approx: #ccc;
$color_dolly_approx: #fff985;
$color_fiord_approx: #395373;
$white: white;
$color_wild_watermelon_approx: #f64c73;
$color_java_approx: #20d2bb;
$color_heliotrope_approx: #c873f4;
$color_crimson_approx: #db1a46;
$color_cerise_red_approx: #e6365f;
$color_caribbean_green_approx: #10bba7;
$color_fuchsia_pink_approx: #b752eb;
$color_sundown_approx: #fbaabc;
$color_riptide_approx: #91f0e0;

$font_0: Roboto;
$font_1: Arial;
$font_2: sans-serif;

$url_0: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAaCAMAAAB1owf/AAAAJ1BMVEU5U3M8VnZCXn9DW3lHY4ZZdpdlgKFyjq2DnLmKpMaQrM2Ur9GVsdN7EtFkAAAAYUlEQVR42rXPQQ6AIAxEUdpiYcD7n9eF1NiJKxMeXdFA8stfIpYn7o/O/N4oToZ6v2kYGZqt7yqTsoMYk7XwDjou3z1zjqcHGGlafKc10109Sl49WXeLHhY9DuYWPWRDzwWW4Ae416kXYQAAAABJRU5ErkJggg==);
$url_1: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAbCAMAAAC6CgRnAAAAM1BMVEU5U3M8VnZCXn9DW3lHY4ZKapBTbZBXaINZcI9ZdpdlgKFyjq2DnLmKpMaQrM2Ur9GVsdOusR5GAAAAtElEQVR42rWSwRLDIAhEm2isiLD8/9cWp0lDnPSYPakP1pXx9ayWoVuSKnPnVm7o1tWGlPOMSACoKsz6NnWJQVrJlcXheknBfpKXsSoOW7zzDZPDidQkNjYz/nl0QwmMDRQK0S7MSjS5MrRYSIER0I9sq5jmwMZ+D77yt+5Ug8Pso87uCLoOmgEIcxez+PbdaowaLoXpBBN1UVVh4hOeNBPVnNzfIQUYNUedkvX6/+ckb3tGH63FCR54WeN8AAAAAElFTkSuQmCC);
$url_2: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAeCAMAAAAfOR5kAAAAdVBMVEX2THP2XYD2YYT2ZYj2aov3T3X3VHn3WXz3aIj3g5z4ZIP4lKr5bIz5cY75dZL5eZX5fZn5i6P6m7H7orX7s8P72+L8prr8qr38rsD8ytX8ztj81d389f39t8f9vcv9wc79xtL94Ob95On96u7+7/H+8/X/+Pn5WFucAAAA6klEQVR4Aa2P23KDIBCGQbOLRKFdPGik4kHs+z9ibekkO81NO9PfC3c+/mU+xJ8D+Ss+02sZgnnGdnCTg7THMCqk6Xoy4zpn+UkxkQAKTdcEQrbgaiymUoEsg2V1JQVe1DnIpoS7oR5THGBd4x1PR+vPxBvK4dHGcUEAwGEtiD0h29q+O78xWk0PQ7vf+s/Mkbg2xZev/2WrGYV6z5NmG1gbg5dpmEfJsJ9TCfot43jBNCxesbv73XwbddzEbp4KzPS4VoIFtD+2dj1app3UdD83lIvfRWoi0hlHyeF4f4v0E2NljKmU+Nd8AOqPD0OjBHsPAAAAAElFTkSuQmCC);
$url_3: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAdCAMAAABopjdHAAAAbFBMVEUg0rsg07sp1sQq1L012MU31b5F2sZI3tFT39FW2sVW4tNi49Nm4Mps5dR14dB26+B55tWG7eKI6dmN8eWS8N6T6dyU8uWj7eip8O248ezX8+jb+fbp+frz/P35/fr6///9/f39/////f3///8SbmWeAAABFklEQVR4Ab2P4Q6bMAwG7ToYN6kHnlcPBnTreP93XKCoQlr/bvcnUk656IP/QYPwERyft8/mvj5bOINHon/+Hs41VrOuMII81qU5iTZctfMwndf16zmlIQRAbPOyTHQ2qQtLADj8HH/171tqhROxKwJPj2Wy4w0Wj4p7SHMfbuNcIr9MjtIytzkzjsu8NFfsDPeUqXh0W4Dm718eAiCx51KI9eKym2n+cdkW7IaDrbBv6es0DVxPeZviYQ1RjVPa1qvjXrOCzJTdC6GG8/bzsd5S9aElOEWxDiX4WO9KtZmS54tZlFQlvJDQRGbmCVhLa7VxgOImrWptUCrfDnEEezfNkrULLwRnkIu5W52c4C+QEhH8K/4AJtQQGpIOSSoAAAAASUVORK5CYII=);
$url_4: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAMAAACelLz8AAAATlBMVEXIc/TKdfXLevXOg/XQlvjRfPXSifbXl/jYpvnfsvnhqfjjufrkwPvrxf3rzPvs1Pzxz/rx2/zz4/327P748v/4+Pn89f3++/3//f////8ag7p9AAAAr0lEQVR42rWR2w6DIAxAoXWFCsiqW9X//9GZ6AYY9+gJNE0OvSSYe4ATleHU0NviyHWuuliMH064X79RpwbNcCg3e9MQlI4sTdgqUt4TnJK1FqwpQUbY38w9xJw9hCGz5WdmiLorlJdoyFuIg8o7JRUd4GidhAGTBMAoASFILMORmi3qrZib3fv/yp8VdZ0jvKySZVnXdF3lNuhc5SMVXHSVenDzk2AqAIm+B625hw9kZAp4LnzHSwAAAABJRU5ErkJggg==);

%extend_1 {
  height: 100%;
  background: $color_dolly_approx;
  font-family: $font_0, $font_1, $font_2;
  letter-spacing: 1px;
  user-select: none;
}
%extend_2 {
  left: 0;
  transition-property: left;
  transition-duration: 350ms;
}

html {
  @extend %extend_1;
}
body {
  @extend %extend_1;
}
@keyframes falldown {
  0% {
    top: 52px;
    left: 0;
  }
  100% {
    top: calc(100% - 50px - 18px);
    left: calc(100% - 50px - 20px);
  }
}
.phone {
  box-sizing: border-box;
  padding-top: 60px;
  position: relative;
  width: 370px;
  height: 570px;
  margin: 40px auto 0 auto;
  overflow: hidden;
  .topbar {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 62px;
    line-height: 62px;
    background: $color_fiord_approx;
    color: $white;
    text-align: center;
    .topbarbutton {
      position: absolute;
      left: 13px;
      bottom: 13px;
      width: 25px;
      height: 26px;
      background-image: $url_0;
      cursor: pointer;
    }
    h3 {
      font-weight: normal;
      margin-top: 6px;
      font-size: 18px;
    }
    .search {
      position: absolute;
      right: 13px;
      bottom: 12px;
      width: 25px;
      height: 26px;
      background-image: $url_1;
      cursor: pointer;
    }
  }
  .item {
    width: 100%;
    height: 200px;
    position: relative;
    overflow: hidden;
    &:nth-of-type(2) {
      background: $color_wild_watermelon_approx;
      overflow: hidden;
      position: relative;
      .title::before {
        background: $url_2 0 0 no-repeat;
        top: 7px;
      }
      .button {
        background: $color_cerise_red_approx;
        &.expanded {
          background: $color_crimson_approx;
          animation: bubbleScale 300ms cubic-bezier(.76, .01, 1, .93);
        }
        &.collapsed {
          animation: bubbleScale 300ms cubic-bezier(.76, .01, 1, .93);
        }
      }
    }
    &:nth-of-type(3) {
      background: $color_java_approx;
      .title::before {
        background: $url_3 0 0 no-repeat;
        top: 7px;
        left: -4px;
      }
      .button {
        background: $color_caribbean_green_approx;
      }
      .details .c .label {
        color: $color_riptide_approx;
      }
    }
    &:nth-of-type(4) {
      background: $color_heliotrope_approx;
      height: 105px;
      .title::before {
        background: $url_4 0 0 no-repeat;
        top: 9px;
        left: -4px;
      }
      .button {
        background: $color_fuchsia_pink_approx;
      }
    }
    .button {
      position: absolute;
      right: -70px;
      top: -70px;
      width: 140px;
      height: 140px;
      border-radius: 50%;
      z-index: 1;
      cursor: pointer;
      transition-property: background;
      transition-duration: 500ms;
    }
    .check {
      position: absolute;
      top: 15px;
      right: 10px;
      z-index: 2;
      border-radius: 50%;
      padding-top: 5px;
      cursor: pointer;
      .bg {
        position: absolute;
        top: 0;
        left: 0;
        width: 32px;
        height: 32px;
        border-radius: 50%;
      }
      svg {
        position: relative;
        transform: scale(0.9);
        z-index: 1;
      }
      &.expanded .bg {
        animation: fade 500ms;
      }
      &.collapsed .bg {
        animation: fade 500ms;
      }
    }
  }
  .details {
    position: relative;
    margin-top: 22px;
    .c {
      cursor: pointer;
      float: left;
      width: 28%;
      font-size: 12px;
      .n {
        font-weight: bold;
      }
      &:nth-child(1) {
        margin-left: 8%;
      }
      .label {
        position: relative;
        top: 2px;
        font-size: 10px;
        color: $color_sundown_approx;
      }
    }
  }
}

.svgmenu {
  position: absolute;
  left: 0;
  top: -60px;
}

.item {
  .content {
    position: relative;
    left: 0;
    padding-top: 60px;
    color: $white;
    text-align: center;
    .title {
      @extend %extend_2;
    }
    .details {
      @extend %extend_2;
    }
    &.slideLeft {
      .title {
        left: -100px;
        transition-delay: 0;
        transition-timing-function: cubic-bezier(.03, .7, .4, 1);
      }
      .details {
        left: -100px;
        transition-delay: 70ms;
        transition-timing-function: cubic-bezier(.03, .7, .4, 1);
      }
    }
    &.slideRight {
      .title {
        transition-delay: 240ms;
        transition-timing-function: cubic-bezier(.76, .01, 1, .93);
      }
      .details {
        transition-delay: 200ms;
        transition-timing-function: cubic-bezier(.76, .01, 1, .93);
      }
    }
  }
  .title {
    font-size: 21px;
    font-weight: bold;
    position: relative;
    cursor: pointer;
  }
  .title::before {
    content: '';
    position: relative;
    display: inline-block;
    width: 30px;
    height: 30px;
  }
}

@keyframes bubbleScale {
  0% {
    width: 140px;
    height: 140px;
  }
  50% {
    width: 145px;
    height: 145px;
  }
  100% {
    width: 140px;
    height: 140px;
  }
}

@keyframes fade {
  0% {
    background: $color_celeste_approx;
    transform: scale(1.0);
  }
  10% {
    background: $color_celeste_approx;
  }
  25% {
    transform: scale(0.8);
  }
  100% {
    background: none;
    transform: scale(1.3);
  }
}

circle {
  cursor: pointer;
}
View Compiled
document.body.addEventListener('click', (e) => {
    let el = e.target;
    let check = getAncestor(el, 'check') || el;
    
    if (!el.classList.contains('button') && !check.classList.contains('check')) {
      return;
    }

    let button = getAncestor(el, 'item').querySelector('.button');
    buttonClickHandler(button);
  });

  let getAncestor = (el, cls) => {
    if (el.closest) {
      return el.closest('.' + cls);
    } else {
      while ((el = el.parentElement) && !el.classList.contains(cls));
        return el;
    }
  };

  let buttonClickHandler = (button) => {
    scaleButton(button);
    let contentEl = button.nextElementSibling;
    let svgmenu = contentEl.nextElementSibling;

    contentEl.classList.toggle('slideRight');
    if (contentEl.classList.toggle('slideLeft')) {
      expandMenu(svgmenu);
    } else {
      collapseMenu(svgmenu);
    }
  };

  let scaleButton = (button) => {
    let check = button.previousElementSibling;
    let animates = check.querySelectorAll('animate');
    
    if (button.classList.contains('expanded')) {
      [button, check].forEach(el => {
        el.classList.remove('expanded');
        setTimeout(() => el.classList.add('collapsed'), 20);
      });

      animates[0].beginElement();
    } else {
      [button, check].forEach(el => {
        el.classList.remove('collapsed');
        setTimeout(() => el.classList.add('expanded'), 20);
      });

      animates[1].beginElement();
    }
  };

  let expandMenu = (svgmenu) => {
    let animates = svgmenu.querySelectorAll('animate');
    let firstDuration = parseInt(animates[1].getAttribute('dur'));
    let secondDuration = parseInt(animates[2].getAttribute('dur'));

    animates[1].beginElement();
    setTimeout(() => animates[2].beginElement(), firstDuration);
    setTimeout(() => animates[3].beginElement(), firstDuration + secondDuration);
    animateItems(svgmenu, {
      dur: "0.6s",
      keyPoints: "0; 1",
      keySplines: "0.35 0 1 1",
      from: "0",
      to: "360"
    });
  };

  let collapseMenu = (svgmenu) => {
    let animates = svgmenu.querySelectorAll('animate');
    let firstDuration = parseInt(animates[2].getAttribute('dur'));
    let secondDuration = parseInt(animates[1].getAttribute('dur'));

    animates[2].beginElement();
    setTimeout(() => animates[1].beginElement(), firstDuration);
    setTimeout(() => animates[0].beginElement(), firstDuration + secondDuration);
    animateItems(svgmenu, {
      dur: "0.4s",
      keyPoints: "1; 0",
      keySplines: "0 0 0.65 1",
      from: "360",
      to: "0"
    });
  };

  let animateItems = (svgmenu, cfg) => {
    let circles = [].slice.call(svgmenu.querySelectorAll('circle'));

    circles.forEach(circle => {
      let animateTransform = circle.querySelector('animateTransform');
      let animateMotion = circle.querySelector('animateMotion');
      
      animateMotion.setAttribute('dur', cfg.dur);
      animateMotion.setAttribute('keyPoints', cfg.keyPoints);
      animateMotion.setAttribute('keySplines', cfg.keySplines);

      animateTransform.setAttribute('dur', cfg.dur);
      animateTransform.setAttribute('from', cfg.from);
      animateTransform.setAttribute('to', cfg.to);

      animateTransform.beginElement();
      animateMotion.beginElement();
    });
  };
  setTimeout(() => document.querySelector('.button').click(), 1e3);
  setTimeout(() => document.querySelector('.button').click(), 3e3);
View Compiled

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.