:root {
    --coal: #3a3a3a;
    --snow: #eceff1;
    --apple: #ff4d3a;
    --side: #D35E5D;
  }
  
  .side-menu-main,
  .side-menu-main::before,
  .side-menu-main::after {
    box-sizing: border-box;
    font: 400 12pt Roboto;
    color: #7a7a7a;
    transition: 0.3s all;
    cursor: default;
  }
  
  nav {
    height: 60px;
    background: var(--coal);
  }
  
  #side-menu-ctn {
    position: absolute;
    top: 105px;
    left: 0px;
    margin: 0 16px;
    height: 30px;
    background: var(--side);
    width: 35px;
    display: inline-block;
    cursor: pointer;
  }
  
  .side-menu-item > a {
    cursor: pointer;
  }
  
  .side-menu-wrapper {
      position: absolute;
      top: 70px;
      right: 40px;
      width: 300px;
      z-index: 99;
  }
  
  #side-menu-container {
    opacity: 0;
    transform: translate(16px, -10px) scale(0.7);
    background: #fff;
    border: 1px solid;
    padding: 20px;
    box-shadow: 1px 3px 3px var(--coal);
    visibility: none;
    display: inline-block;
  }
  
  .side-menu-bars {
    height: 4px;
    width: 30px;
    list-style: none;
    background: white; /* var(--snow); */
    margin: 0 7px;
    position: relative;
    top: 18px;
    transition: 0.4s all ease-in;
  }
  
  .side-menu-item-header {
      padding: 5px 0px;
      list-style: none;
      text-decoration: none;
      z-index: 1;
      background: lightblue;
      width: 100%;
      display: inline-block;
  }
    
  .side-menu-item, a.side-item-link {
    padding: 5px 0px;
    list-style: none;
    text-decoration: none;
    z-index: 1;
    background: transparent;
    width: 100%;
    display: inline-block;
    color: rgb(88, 88, 245);
  }
  
  .side-menu-item-has-sublink {
      padding: 5px 20px;
      color: rgb(88, 88, 245);
  }
    
  .side-menu-item, a.side-sub-link {
    padding: 5px 15px;
    display: inline-block;
    width: 100%;
    text-decoration: none;
    color: rgb(88, 88, 245);
  }
  
  .side-menu-item, a.side-sub-link:nth-of-type(1) {
    margin-top: 5px;
  }
  
  hr {
    border: 1px solid var(--coal);
    height: 2px;
  }
  
  .side-crossed {
    background: var(--apple);
  }
  
  .side-dropped {
    opacity: 1 !important;
    transform: translate(16px, -10px) !important;
    visibility: visible !important;
  }
  
  .side-menu-bars::before, .side-menu-bars::after {
    content: "";
    position: absolute;
    height: 4px;
    width: 30px;
    list-style: none;
    background: white; /*var(--snow);*/
  }
  
  .side-menu-bars::before {
    transform: translateY(-10px);
  }
  
  .side-menu-bars::after {
    transform: translateY(10px);
  }
  
  .side-crossed::before {
    animation: rotate-top-bar 0.4s forwards;
  }
  
  .side-crossed::after {
    animation: rotate-bottom-bar 0.4s forwards;
  }
  
  .side-hamburger::before {
    animation: rotate-top-bar-2 0.4s reverse;
  }
  
  .side-hamburger::after {
    animation: rotate-bottom-bar-2 0.4s reverse;
  }
  
  /* EVENT HANDLERS */
  
  .side-menu-item:hover {
      color: var(--coal);
      text-decoration: none;
  }
  .side-menu-item a.side-item-link:hover {
    color: var(--coal);
    background: var(--snow);
    box-shadow: -4px 0 0 var(--apple);
    text-decoration: none;
  }
  
  .side-menu-item a.side-sub-link:hover {
    background: var(--snow);
    box-shadow: -4px 0 0 var(--apple);
    text-decoration: none;
  }
  
  /* ANIMATION KEYFRAMES */
  @keyframes rotate-top-bar {
    40% {
      transform: translateY(0);
    }
    100% {
      transform: translateY(0) rotate(45deg);
    }
  }
  @keyframes rotate-bottom-bar {
    40% {
      transform: translateY(0);
    }
    100% {
      transform: translateY(0) rotate(-45deg);
    }
  }
  @keyframes rotate-top-bar-2 {
    40% {
      transform: translateY(0);
    }
    100% {
      transform: translateY(0) rotate(45deg);
    }
  }
  @keyframes rotate-bottom-bar-2 {
    40% {
      transform: translateY(0);
    }
    100% {
      transform: translateY(0) rotate(-45deg);
    }
  }
  