:root {
  --background-clr: #f0f0ed;
}

/* Global Rules */

a {
  text-decoration: none;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: "Poppins", sans-serif;
  margin-top: 50px;
  display: flex;
  justify-content: center;
  background-color: var(--background-clr);
}

.container {
  width: 95vw;
  margin-bottom: 50px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 30px;
  flex-wrap: wrap;
}

.box {
  border-radius: 10px;
  background-color: white;
}

/* Left part */

.left {
  flex: 100%;
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 30px;
}

/* Search Box */

.searchBox {
  padding: 20px;
}

.search-container {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  /* gap: 10px; */
}

input[type="search"],
input[type="text"],
input[type="password"] {
  border-radius: 5px;
  border: none;
  outline: none;
  background-color: var(--background-clr);
  padding: 9px 10px;
}

.search-container input[type="search"] {
  width: 60%;
  height: 100%;
}

input[type="submit"] {
  border: none;
  background-color: #2f9bc1;
  border-radius: 5px;
  padding: 9px 10px;
  color: white;
  cursor: pointer;
  transition: all 0.5s;
}

input[type="submit"]:hover {
  background-color: #1f81a5;
}

/* Members */

.members-container {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.members-details {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.sort {
  display: flex;
  justify-content: start;
  flex-wrap: wrap;
  gap: 5px;
}

.sort span {
  font-size: 13px;
  font-weight: 500;
  padding: 5px;
  background-color: #77af12;
  color: white;
  border-radius: 5px;
}

.member {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.member-info {
  display: flex;
  justify-content: start;
  align-items: center;
  gap: 10px;
}
.member-img img {
  width: 50px;
  border-radius: 5px;
}
.name {
  font-weight: 500;
}
.friends {
  font-size: 14px;
  padding: 5px;
  background-color: #e4ecf1;
  color: #6595af;
  width: fit-content;
  border-radius: 5px;
}

/* Groups */

.groups-container {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Active members */

.activeMembers-container {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, 1fr);
  padding: 20px;
}
.activeMembers-container img {
  width: 100%;
  border-radius: 5px;
}

/* Schedule */

.schedule-container {
  padding: 20px;
}

/* Middle part */

.middle {
  order: -1;
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 30px;
  border-radius: 5px;
}

/* Welcome section */

.welcome {
  height: 16rem;
  position: relative;
  overflow: hidden;
}

.welcome-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  transition: opacity 0.5s;
}

.welcome-img.active {
  opacity: 1;
}

.welcome p {
  position: absolute;
  left: 18px;
  bottom: 47px;
  background-color: #33363c;
  border-radius: 5px;
  padding: 5px;
  font-size: 21px;
  color: white;
  font-weight: 600;
  letter-spacing: 0.5px;
}

.circles {
  position: absolute;
  width: 22%;
  display: flex;
  justify-content: space-evenly;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
}

.circles span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: white;
  border: 5px solid white;
  cursor: pointer;
  transition: all 0.5s;
}

.circles span:hover {
  border: 5px solid #525251;
}

.slider-active {
  background-color: #525251;
}

/* Recent Activiy */

.activity {
  overflow: hidden;
}

.activity .header {
  background-color: #f7f7f7;
}

.updates {
  display: flex;
  flex-direction: column;
  gap: 30px;
  padding: 20px;
}

.update {
  display: flex;
  border-bottom: 1px solid #f0f0ed;
  padding-bottom: 20px;
  gap: 20px;
}

.update img {
  width: 50px;
  border-radius: 5px;
}

.update-details {
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-size: 16px;
  line-height: 1.5;
  color: #9999a6;
}

.update-date {
  font-size: 13px;
  color: #767676;
}

.update-title span {
  font-weight: 500;
  color: black;
}

.load-more {
  border: none;
  text-align: center;
  width: 100%;
  padding-top: 15px;
  padding-bottom: 15px;
  border-radius: 5px;
  font-weight: 600;
  color: #33363c;
  cursor: pointer;
}

/* Latest posts */

.posts-container {
  display: flex;
  flex-direction: column;
}

.posts-container .update {
  border: none;
  padding-bottom: 0;
}

.posts-container img {
  width: 50px;
  border-radius: 10px;
}

.posts-container .update-title {
  color: #33363c;
  font-weight: 500;
}

.pagination {
  display: flex;
  gap: 10px;
  align-self: flex-end;
  padding: 20px;
}

.pagination span {
  color: #9999a4;
  padding: 5px 10px;
  background-color: #f0f0ed;
  border-radius: 3px;
}

/* features */

.features-container {
  display: flex;
  padding: 20px;
  gap: 10px;
  flex-direction: column;
}

.feature {
  flex: 25%;
}

.feature div {
  margin-bottom: 15px;
  height: 5rem;
}

.feature p {
  font-weight: 500;
  font-size: 0.9rem;
}

.feature img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
}

/* Right part */

.right {
  flex: 100%;
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 30px;
}

/* Sign In */

.header {
  padding: 20px;
  border-bottom: 1px solid var(--background-clr);
  font-weight: 500;
}

.signIn form {
  width: 100%;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  gap: 20px;
}

.signIn a {
  color: #33363c;
}

/* Statistics */

.stats-container {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 20px;
}

.stat {
  display: flex;
  justify-content: space-between;
  padding: 10px;
  background-color: #c12f6c;
  border-radius: 5px;
  color: white;
  font-weight: 500;
}

.stat i {
  padding-right: 10px;
}

/* Who's Online */

.online div:last-child {
  padding: 20px;
  color: #999999;
  font-size: 15px;
}

/* Recent Replies */

.replies-container {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 20px;
}
.reply {
  font-size: 14px;
  line-height: 1.5;
}
.reply span {
  color: #999999;
}

/* Recent Topics */

/* Media queries */

@media (min-width: 1050px) {
  .container {
    flex-wrap: nowrap;
  }

  .left,
  .right {
    flex: 25%;
  }

  .middle {
    flex: 50%;
    order: 0;
  }
}

@media (min-width: 500px) {
  .left,
  .right {
    flex: 25%;
  }

  .middle {
    flex: 50%;
    order: 0;
  }

  .features-container {
    flex-direction: row;
  }

  .posts-container img {
    width: 100px;
  }
}
