JSFiddle - React, Tailwind, and code Playground

HTML

<body>

    <div class="circulus-menu">
      <!-- CIRCULUS SVG menu -->



      <svg style="transform-origin: 50% 50% 0px; transform: matrix3d(0.864276, 0.503018, 0, 0, -0.503018, 0.864276, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); -moz-user-select: none;" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="-2 -2 504 504" id="menu">
      <style>
        #menu{display:block;margin:0 auto;}
        a{cursor:pointer;outline:none;}
        .item .sector{transition:all .1s linear;fill:rgba(255,255,255,.0);stroke:;}
        .item:hover .sector,.item:focus .sector{fill:#eee;}
        .menu-trigger{fill:#EA2A55;pointer-events:auto;}
        .menu-trigger:hover,.menu-trigger:focus{cursor:pointer;}
        symbol{overflow:visible;}
      </style>
      
      <defs>
        <pattern id="item-1" patternUnits="userSpaceOnUse" width="500" height="500" patternTransform="rotate(-32)">
          <image xlink:href="https://c.stocksy.com/a/8rO400/z0/1048862.jpg" x="0" y="90" width="500" height="500" />
        </pattern>
      </defs>
      <path d="M330,250 l170,0 A250,250 0 0,0 125.00000000000006,33.493649053890294 l84.99999999999994,147.2243186433546 A80,80 0 0,1 330,250"
         fill="url(#item-1)" />
      
      <g id="symbolsContainer">

          <symbol viewBox="0 0 35 35" id="icon-1" class="icon icon-"><rect height="100%" width="100%" stroke-width="1" stroke="#111" fill="none"></rect><text font-size="1.2em" text-anchor="middle" dy=".3em" y="50%" x="50%" fill="#222">1</text></symbol>

          <symbol viewBox="0 0 35 35" id="icon-2" class="icon icon-"><rect height="100%" width="100%" stroke-width="1" stroke="#111" fill="none"></rect><text font-size="1.2em" text-anchor="middle" dy=".3em" y="50%" x="50%" fill="#222">2</text></symbol>

      </g>
      <g id="itemsContainer">

              <a data-svg-origin="250 250" transform="matrix(1,0,0,1,0,0)" xlink:title=" " xlink:href=" " tabindex="0" role="link" id="item-1" class="item"><path...

CSS

/*************************
STYLE
*************************/

* {
  box-sizing: border-box; /* The box-sizing property is used to tell the browser what the sizing properties (width and height) should include.

Should they include the border-box or just the content-box which is the default value of the width and height properties. */
}

body {
  max-width: 960px;
  margin: auto;
  background: url('../img/background_man-boat_1600.jpg') no-repeat center center fixed;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

.circulus-menu {
  max-width: 60%;
  max-height: 60%;
  margin: 50px auto auto auto;
}