JSFiddle - React, Tailwind, and code Playground

HTML

<div></div>

CSS

body{font-size: 25px;}
div {
    margin: 3em 0;
    width: 10em;
    height: 5.7736em; /*width / 2*0.866*/
    background: orange;
    box-shadow: inset -1.22em 0 0 0 navy, inset 1.22em 0 0 0 navy, inset -2.44em 0 0 0 crimson, inset 2.44em 0 0 0 crimson;
    position: relative;
}
div:before, div:after {
    content: '';
    position: absolute;
    background: inherit;
    width:4.08em; 
    height:4.08em;
    -webkit-transform-origin: 0 100%;
    -moz-transform-origin: 0 100%;
    -ms-transform-origin: 0 100%;
    transform-origin: 0 100%;
    -webkit-transform: scaleX(1.73) rotate(45deg);
    -moz-transform: scaleX(1.73) rotate(45deg);
    -ms-transform: scaleX(1.73) rotate(45deg);
    transform: scaleX(1.73) rotate(45deg);
}
div:before {
    top: -4.08em;
    box-shadow: inset 0 1em 0 0 navy, inset 1em 0 0 0 navy, inset 0 2em 0 0 crimson, inset 2em 0 0 0 crimson;
}
div:after {
    bottom: 0;
    box-shadow: inset 0 -1em 0 0 navy, inset -1em 0 0 0 navy, inset 0 -2em 0 0 crimson, inset -2em 0 0 0 crimson;
}
/*Hover Effects*/
div:hover, div:hover:before, div:hover:after {
    background-color: navy;
    transition: 1s ease all;
}
div:hover:before {
    box-shadow: inset 0 1em 0 0 crimson, inset 1em 0 0 0 crimson, inset 0 2em 0 0 orange, inset 2em 0 0 0 orange;
}
div:hover:after {
    box-shadow: inset 0 -1em 0 0 crimson, inset -1em 0 0 0 crimson, inset 0 -2em 0 0 orange, inset -2em 0 0 0 orange;
}
div:hover {
    box-shadow: inset -1.22em 0 0 0 crimson, inset 1.22em 0 0 0 crimson, inset -2.44em 0 0 0 orange, inset 2.44em 0 0 0 orange;
}