/* === default:start === */
html {
  font-size: 62.5%;
}

body {
  color: #000;
  font-size: 16px;
  font-weight: 400;
  font-family: "Roboto", sans-serif;
  min-height: 100vh;
  background-color: #fff;
}

.container {
  padding-left: 15px;
  padding-right: 15px;
}

@media (max-width: 1199px) {
  html {
    font-size: 59.375%;
  }
}

@media (max-width: 991px) {
  html {
    font-size: 56.25%;
  }
}

@media (max-width: 767px) {
  html {
    font-size: 50%;
  }
}

@media (max-width: 575px) {
  html {
    font-size: 43.75%;
  }

  body {
    font-size: 14px;
  }
}

a,
a:hover,
a:visited {
  color: #1370ef;
}

a[href^="tel"] {
  white-space: nowrap;
}

img {
  width: auto;
  height: auto;
  max-width: 100%;
}

/* === header, ham-burger aside === */
header .container {
  padding-left: 30px;
  padding-right: 30px;
}

/* ham-burger with animation */
.ham-burger-wrapper {
  display: flex;
  justify-content: flex-end;
}

.ham-burger {
  background-color: transparent;
  border: none;
  cursor: pointer;
  display: flex;
  padding: 0;
  position: relative;
  z-index: 99;
}

.ham-burger:focus {
  outline: none;
}

.line {
  fill: none;
  stroke: #0d60df;
  stroke-width: 6;
  transition: stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1),
    stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1);
}

.line1 {
  stroke-dasharray: 60 207;
  stroke-width: 6;
}

.line2 {
  stroke-dasharray: 60 60;
  stroke-width: 6;
}

.line3 {
  stroke-dasharray: 60 207;
  stroke-width: 6;
}

.clicked .line1 {
  stroke-dasharray: 90 207;
  stroke-dashoffset: -134;
  stroke-width: 6;
}

.clicked .line2 {
  stroke-dasharray: 1 60;
  stroke-dashoffset: -30;
  stroke-width: 6;
}

.clicked .line3 {
  stroke-dasharray: 90 207;
  stroke-dashoffset: -134;
  stroke-width: 6;
}

/* === aside === */
aside {
  position: fixed;
  top: 0;
  left: 0;
  width: 300px;
  height: 100vh;
  background-color: #e5eeff;
  box-shadow: 2px 0 2px 0 #00000040;

  .logo {
    background-color: #fff;
    padding: 15px;

    img {
      width: 100%;
    }
  }

  ul {
    list-style-type: none;
    padding-left: 0;

    li {
      color: #000;
      font-weight: 500;
      margin-bottom: 0;
      padding: 10px 15px;
      cursor: pointer;
      transition: all 0.5s;

      ul {
        display: none;
      }

      &:hover {
        color: #fff;
        background-color: #0d60df;
      }
    }

    li[data-approval-status] {
      position: relative;
    }

    li[data-approval-status]:before {
      content: "";
      position: absolute;
      width: 20px;
      height: 20px;
      top: 10px;
      right: 15px;
      border-radius: 50%;
      background-size: 20px 20px;
      background-repeat: no-repeat;
      background-position: center;
    }

    li[data-approval-status="false"]:before {
      background-image: url("/assets/images/unapproved.svg");
    }

    li[data-approval-status="true"]:before {
      background-image: url("/assets/images/approved.svg");
    }

    li.active {
      ul {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-gap: 10px;
        padding: 15px;
        position: fixed;
        top: 0;
        left: 300px;
        width: 600px;
        height: 100vh;
        overflow: hidden;
        overflow-y: scroll;
        background-color: #fff;
        box-shadow: 2px 0 2px 0 #00000040;

        li {
          color: #0d60df;
          background-color: #e5eeff;

          span {
            display: inline-block;
            margin-bottom: 5px;
          }

          &:hover {
            background-color: #c1d1f1;
          }
        }

        /*li + li {*/
        /*    margin-top: 10px;*/
        /*}*/
      }
    }
  }
}

/* === root === */
#appRoot {
  min-height: 100vh;
  margin-left: 300px;

  .container {
    padding-left: 30px;
    padding-right: 30px;
  }

  .p-5 {
    background-color: #e5eeff;
    border-radius: 10px;

    .snapshot-wrapper {
      display: flex;
      align-items: flex-start;
      flex-direction: column;

      a {
        display: block;
        width: 100%;

        #snapshot {
          margin-bottom: 15px;
          width: 100%;
        }
      }
    }

    pre {
      background-color: #000;
      color: #fff;
      padding: 30px;
      margin: 0;
      max-height: 400px;
      overflow: hidden;
      overflow-y: scroll;

      &::-webkit-scrollbar-track {
        -webkit-box-shadow: inset 0 0 6px rgba(0, 123, 255, 0.3);
        background-color: #f5f5f5;
      }

      &::-webkit-scrollbar {
        width: 10px;
        background-color: #f5f5f5;
      }

      &::-webkit-scrollbar-thumb {
        background-color: #007bff;
        border: 2px solid #007bff;
      }
    }

    button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      margin-bottom: 15px;
      color: #0d60df;
      font-size: 14px;
      background-color: #fff;
      border: 1px solid #cecece;
      padding: 5px 20px;
      transition: all 0.5s;

      img {
        width: 15px;
      }
    }

    .copied {
      color: #fff;
      background-color: #0d60df;
    }
  }
}

.appRoot {
  z-index: 1;
}

aside {
  z-index: 3;
}

.mask {
  display: none;
}

.mask.active {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.5);
  box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  border-radius: 10px;
  z-index: 2;
}

#recently-added {
  margin-bottom: 20px;

  .recently-added-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    grid-gap: 10px;

    div {
      padding: 10px;
      background-color: #fff;

      span {
        display: block;
        padding-bottom: 5px;
        margin-bottom: 10px;
        border-bottom: 1px solid #cecece;
      }
    }
  }
}

.title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 10px;
}

.hidden {
  display: none !important;
}
