.dashboard-container {
  display: flex;
  justify-content: center;

  .left-side {
    width: 60%;
    display: flex;
    flex-direction: column;

    .trainees-header {
      display: flex;
      align-items: center;
      justify-content: space-between;

      .green-title {
        color: #00A5A2;

        .yellow-dot {
          color: #ffca45;
          font-size: 3em;
          line-height: 0px;
        }
      }

      .see-all {
        color: #ffca45;
        text-decoration: none;
      }
    }

    .trainees-section {
      display: flex;
      flex-wrap: wrap;

      .error {
        display: flex;
        align-items: center;
        margin: 20px 0;

        p {
          margin-left: 6px;
          font-size: 1rem;
        }

        i {
          color: #C4233C;
        }
      }

      .trainee-profile {
        flex: 1 1 150px;
        padding: 10px;
        border-radius: 5px;
        text-align: center;
        box-shadow: .5px .5px 5px #00A5A2;
        display: flex;
        flex-direction: column;
        align-items: center;
        margin: 0 10px 20px;
        background-color: #e5f6f6;


        .user {
          font-size: 80px;
          border-radius: 50%;
          width: 120px;
          height: 120px;
          background-color: #e5f6f6;
          color: #000000;
          display: inline-block;
          text-align: center;
          line-height: 120px;
        }

        .progress-bar-module {
          width: 80%;
          height: 10px;
          border-radius: 20px;
          background-color: #FFC83B;
          margin: 10px 0;

          .progress-bar-complete {
            height: 100%;
            border-radius: 20px;
            background-color: #00A5A2;
            color: #ffffff;
            font-weight: bold;
            display: flex;
            align-items: center;
            justify-content: center;
          }
        }

        .trainee-progress {
          font-size: 0.9rem;
        }

        h3 {
          font-weight: 500;
          font-size: 1rem;
        }

        .phone {
          margin: 5px 0;
          font-size: 0.8rem;
        }

        .email {
          font-size: 0.8rem;
        }
      }

    }

    .yellow-dotted-line {
      border-bottom: 12px dotted #ffca45;
      margin: 30px 0;
    }

    .assignments-header {
      display: flex;
      align-items: center;
      justify-content: space-between;

      .green-title {
        color: #00A5A2;

        .yellow-dot {
          color: #ffca45;
          font-size: 3em;
          line-height: 0px;
        }
      }

      .see-all {
        color: #ffca45;
        text-decoration: none;
      }
    }

    .assignments-section {
      .error {
        display: flex;
        align-items: center;
        margin: 20px 0;

        p {
          margin-left: 6px;
          font-size: 1rem;
        }

        i {
          color: #C4233C;
        }
      }

      .assignment-box {
        display: flex;
        align-items: center;
        justify-content: space-between;
        background-color: #fff;
        padding: 20px;
        border-radius: 10px;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        margin-bottom: 20px;
        border-left: 5px solid #FF9800;

        .left {
          p {
            font-size: 0.9rem;
          }
        }

        .right {
          display: flex;
          align-items: center;
          justify-content: space-between;

          .marked-count {
            margin: 0 20px;
            text-align: center;
          }

          .marked-percentage {
            text-align: center;
          }

          p {
            font-size: 0.9rem;
          }
        }
      }
    }

    .analytics-section {
      .green-title {
        color: #00A5A2;

        .yellow-dot {
          color: #ffca45;
          font-size: 3em;
          line-height: 0px;
        }
      }
    }
  }

  .divider {
    border: 1px solid #d0d0d0;
    margin: 0px 20px;
  }

  .right-side {
    width: 40%;

    .yellow-dotted-line {
      border-bottom: 12px dotted #ffca45;
      margin: 30px 0;
    }

    .calendar-section {
      .green-title {
        color: #00A5A2;

        .yellow-dot {
          color: #ffca45;
          font-size: 3em;
          line-height: 0px;
        }
      }

      .calendar {
        .calendar {
          background-color: #f1f1f1;
          border-radius: 10px;
          padding: 20px;

          .calendar-content {
            .calendar-header {
              display: flex;
              justify-content: space-between;
              align-items: center;
              font-weight: bold;
              margin-bottom: 10px;

              .calendar-nav {
                button {
                  background-color: #f4f2f2;
                  padding: 5px 10px;
                  cursor: pointer;
                }

                button:hover {
                  background-color: #FF9800;
                }
              }
            }

            .calendar-days {
              display: grid;
              grid-template-columns: repeat(7, 1fr);
              gap: 5px;
              text-align: center;
              font-size: 14px;

              div {
                font-weight: bold;
                padding: 10px 0;
              }
            }

            .calendar-dates {
              display: grid;
              grid-template-columns: repeat(7, 1fr);
              gap: 5px;
              text-align: center;
              font-size: 14px;

              div {
                padding: 10px 0;
                border-radius: 5px;
                background-color: #f9f9f9;
              }

              div:hover {
                background-color: #f0f0f0;
              }
            }
          }

        }
      }
    }

    .upcoming-classes {
      .class {
        padding: 20px;
        border-radius: 5px;
        box-shadow: 0 .4rem .8rem rgba(0, 0, 0, .1);
        border-left: 10px solid #00a5a2;
        margin: 40px 0;

        .class-header {
          display: flex;
          align-items: center;
          justify-content: space-between;

          p {
            margin: 0;
            font-weight: bold;
          }

          i {
            transform: rotate(-45deg);
            cursor: pointer;
          }
        }

        h5 {
          font-size: 1.25rem;
          margin: 16px 0;
          font-weight: 500;
        }

        .time {
          display: flex;
          align-items: center;
          font-size: 12px;
          margin: 20px 0 0;

          p {
            margin: 0 5px;
          }
        }
      }
    }

    .trainers-section {
      .trainers-header {
        display: flex;
        align-items: center;
        justify-content: space-between;

        .green-title {
          color: #00A5A2;

          .yellow-dot {
            color: #ffca45;
            font-size: 3em;
            line-height: 0px;
          }
        }

        .see-all {
          color: #ffca45;
          text-decoration: none;
        }
      }

      .trainers {
        display: flex;
        justify-content: center;
        align-items: center;

        .trainer {
          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: center;
          margin: 30px 10px 10px;
          padding: 15px;

          img {
            border-radius: 50%;
            width: 120px;
            height: 120px;
            object-fit: cover;
            object-position: top;
            margin-bottom: 5px;
          }

          p {
            margin: 5px 0;
          }

          .email {
            font-size: 0.8rem;
          }
        }
      }
    }
  }

}

@media (max-width: 1200px) and (min-width: 768px) {
  .dashboard-container {
    .right-side {
      .trainers-section {
        .trainers {
          flex-direction: column;
        }
      }
    }
  }
}

@media (max-width: 768px) {
  .dashboard-container {

    .left-side {
      .assignments-section {
        .assignment-box {
          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: center;

          .left {
            text-align: center;
          }

          .right {
            display: flex;
            align-items: center;
            justify-content: center;
            flex-direction: column;

            .marked-count {
              margin: 20px 0;
              text-align: center;
            }

            .marked-percentage {
              margin: 20px 0;
              text-align: center;
            }

          }
        }
      }
    }

    .right-side {
      .trainers-section {
        .trainers {
          flex-direction: column;
        }
      }
    }

  }
}

@media (max-width: 650px) {
  .dashboard-container {
    flex-direction: column;

    .left-side {
      width: 100%;
      display: flex;
      flex-direction: column;
    }

    .divider {
      display: none;
    }

    .right-side {
      width: 100%;
    }

  }
}