:root {
  --blue-color: #0075ff;
  --blue-alt-color: #0d69d5;
  --orange-color: #f59e0b;
  --green-color: #22c55e;
  --red-color: #f44336;
  --grey-color: #888;
}
* {
  box-sizing: border-box;
}
body {
  font-family: "Open Sans", sans-serif;
  font-family: 'Rubik', sans-serif;
  margin: 0;
}
*:focus {
  outline: none;
}
a {
  text-decoration: none;
}
ul {
  list-style: none;
  padding: 0;
}
::-webkit-scrollbar {
  width: 15px;
}
::-webkit-scrollbar-track {
  background-color: white;
}
::-webkit-scrollbar-thumb {
  background-color: var(--blue-color);
}
::-webkit-scrollbar-thumb:hover {
  background-color: var(--blue-alt-color);
}
.page {
  background-color: #f1f5f9;
  min-height: 100vh;
}
/* Sidebar */
.sidebar {
  width: 250px;
  box-shadow: 0 0 10px #ddd;
}
.sidebar > h3 {
  margin-bottom: 50px;
}
.sidebar > h3::before,
.sidebar > h3::after {
  content: "";
  background-color: black;
  transform: translateX(-50%);
  position: absolute;
  left: 50%;
}
.sidebar > h3::before {
  width: 80px;
  height: 2px;
  bottom: -20px;
}
.sidebar > h3::after {
  bottom: -29px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 4px solid white;
}
.sidebar ul li a {
  transition: 0.3s;
  margin-bottom: 5px;
}
.sidebar ul li a:hover,
.sidebar ul li a.active {
  background-color: #f6f6f6;
}
.sidebar ul li a span {
  font-size: 14px;
  margin-left: 10px;
}
@media (max-width: 767px) {
  .sidebar {
    width: 58px;
    padding: 10px;
  }
  .sidebar > h3 {
    font-size: 13px;
    margin-bottom: 15px;
  }
  .sidebar > h3::before,
  .sidebar > h3::after {
    display: none;
  }
  .sidebar ul li a span {
    display: none;
  }
}
/* Content */
.content {
  overflow: hidden;
}
.head .search::before {
  font-family: var(--fa-style-family-classic);
  content: "\f002";
  font-weight: 900;
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
  color: var(--grey-color);
}
.head .search input {
  border: 1px solid #ccc;
  border-radius: 10px;
  margin-left: 5px;
  padding-left: 30px;
  width: 160px;
  transition: width 0.3s;
}
.head .search input:focus {
  width: 200px;
}
.head .search input:focus::placeholder {
  opacity: 0;
}
.head .icons .notification::before {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  background-color: var(--red-color);
  border-radius: 50%;
  right: -5px;
  top: -5px;
}
.head .icons img {
  width: 32px;
  height: 32px;
  margin-left: 15px;
}
.page h1 {
  margin: 20px 20px 40px;
}
.page h1::before,
.page h1::after {
  content: "";
  height: 3px;
  position: absolute;
  bottom: -10px;
  left: 0;
}
.page h1::before {
  background-color: white;
  width: 120px;
}
.page h1::after {
  background-color: black;
  width: 40px;
}
.wrapper {
  grid-template-columns: repeat(auto-fill, minmax(450px, 1fr));
  margin-left: 20px;
  margin-right: 20px;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .wrapper {
    grid-template-columns: minmax(200px, 1fr);
    margin-left: 10px;
    margin-right: 10px;
    gap: 10px;
  }
}
/* Welcome Widget */
.welcome {
  overflow: hidden;
}
.welcome .intro img {
  width: 200px;
  margin-bottom: -10px;
}
.welcome .avatar {
  width: 64px;
  height: 64px;
  border: 2px solid white;
  border-radius: 50%;
  padding: 2px;
  box-shadow: 0 0 5px #ddd;
  margin-left: 20px;
  margin-top: -32px;
}
.welcome .body {
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
}
.welcome .body > div {
  flex: 1;
}
.welcome .visit {
  margin: 0 15px 15px auto;
  transition: 0.3s;
}
.welcome .visit:hover {
  background-color: var(--blue-alt-color);
}
@media (max-width: 767px) {
  .welcome .intro {
    padding-bottom: 30px;
  }
  .welcome .avatar {
    margin-left: 0;
  }
  .welcome .body > div:not(:last-child) {
    margin-bottom: 20px;
  }
}
/* Quick Draft Widget */
.quick-draft textarea {
  resize: none;
  min-height: 180px;
}
.quick-draft .save {
  margin-left: auto;
  transition: 0.3s;
  cursor: pointer;
}
.quick-draft .save:hover {
  background-color: var(--blue-alt-color);
}
/* Tickets */
.tickets .box {
  border: 1px solid #ccc;
  width: calc(50% - 10px);
}
@media (max-width: 767px) {
  .tickets .box {
    width: 100%;
  }
}
/* Latest Post */
.latest-post .avatar {
  width: 48px;
  height: 48px;
}
.latest-post .post-content {
  text-transform: capitalize;
  line-height: 1.8;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
  min-height: 140px;
}
/* Social Media */
.social-media .box {
  padding-left: 70px;
}
.social-media .box i {
  position: absolute;
  left: 0;
  top: 0;
  width: 52px;
  transition: 0.3s;
}
.social-media .box i:hover {
  transform: rotate(5deg);
}
.social-media .twitter {
  background-color: rgb(29 161 242 / 20%);
  color: #1da1f2;
}
.social-media .twitter i,
.social-media .twitter a {
  background-color: #1da1f2;
}
.social-media .facebook {
  background-color: rgb(24 119 242 / 20%);
  color: #1da1f2;
}
.social-media .facebook i,
.social-media .facebook a {
  background-color: #1877f2;
}
.social-media .youtube {
  background-color: rgb(255 0 0 / 20%);
  color: #ff0000;
}
.social-media .youtube i,
.social-media .youtube a {
  background-color: #ff0000;
}
.social-media .linkedin {
  background-color: rgb(0 119 181 / 20%);
  color: #0077b5;
}
.social-media .linkedin i,
.social-media .linkedin a {
  background-color: #0077b5;
}
/* Profile Page */
@media (max-width: 767px) {
  .profile-page .overview {
    flex-direction: column;
  }
}
.profile-page .avatar-box {
  width: 300px;
}
@media (min-width: 768px) {
  .profile-page .avatar-box {
    border-right: 1px solid #eee;
  }
}
.profile-page .avatar-box > img {
  width: 120px;
  height: 120px;
}
.profile-page .avatar-box .level {
  height: 6px;
  overflow: hidden;
  margin: auto;
  width: 70%;
}
.profile-page .avatar-box .level span {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  background-color: var(--blue-color);
  border-radius: 6px;
}
.profile-page .info-box .box {
  flex-wrap: wrap;
  border-bottom: 1px solid #eee;
  transition: 0.3s;
}
.profile-page .info-box .box:hover {
  background-color: #f9f9f9;
}
.profile-page .info-box .box > div {
  min-width: 250px;
  padding: 10px 0 0;
}
.profile-page .info-box h4 {
  font-weight: normal;
}
/* Training Code */
.profile-page .info-box .toggle-switch {
  height: 20px;
}
@media (max-width: 767px) {
  .profile-page .info-box .toggle-switch {
    margin: auto;
  }
}
.profile-page .info-box .toggle-switch::before {
  width: 12px;
  height: 12px;
  font-size: 8px;
}
.profile-page .info-box .toggle-checkbox:checked + .toggle-switch::before {
  left: 62px;
}
@media (max-width: 767px) {
  .profile-page .other-data {
    flex-direction: column;
  }
}
.profile-page .skills-card {
  flex-grow: 1;
}
.profile-page .skills-card ul li {
  padding: 15px 0;
}
.profile-page .skills-card ul li:not(:last-child) {
  border-bottom: 1px solid #eee;
}
.profile-page .skills-card ul li span {
  display: inline-flex;
  padding: 4px 10px;
  background-color: #eee;
  border-radius: 6px;
  font-size: 14px;
}
.profile-page .skills-card ul li span:not(:last-child) {
  margin-right: 5px;
}
.profile-page .activities {
  flex-grow: 2;
}
.profile-page .activity:not(:last-of-type) {
  border-bottom: 1px solid #eee;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
.profile-page .activity img {
  width: 64px;
  height: 64px;
  margin-right: 10px;
}
@media (min-width: 768px) {
  .profile-page .activity .date {
    margin-left: auto;
    text-align: right;
  }
}
@media (max-width: 767px) {
  .profile-page .activity {
    flex-direction: column;
  }
  .profile-page .activity img {
    margin-right: 0;
    margin-bottom: 15px;
  }
  .profile-page .activity .date {
    margin-top: 15px;
  }
}
/* Courses Page */
.courses-page {
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}
@media (max-width: 767px) {
  .courses-page {
    grid-template-columns: minmax(200px, 1fr);
    margin-left: 10px;
    margin-right: 10px;
    gap: 10px;
  }
}
.courses-page .course {
  overflow: hidden;
}
.courses-page .course .cover {
  max-width: 100%;
}
.courses-page .course .instructor {
  position: absolute;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  top: 20px;
  left: 20px;
  border: 2px solid white; 
}
.courses-page .course .description {
  line-height: 1.6;
}
.courses-page .course .info {
  border-top: 1px solid #eee;
  font-size: 13px;
}
.courses-page .course .info .title {
  position: absolute;
  top: -13px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 13px;
}
.social-name {
  font-size: 12px;
}
.links {
  color: #333333;
}
.links:hover {
  color: #0d69d5;
}
/* Animation */
@keyframes change-color {
  from {
    background-color: var(--blue-color);
  }
  to {
    background-color: white;
  }
}
@keyframes go-up {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px);
  }
}

