/* ------------------------------------------
 * IT书包
 * 网址：www.itshubao.com
 * 整理：yinq<3331653644@qq.com> 
 -------------------------------------------- */
* {
  box-sizing: border-box;
}

ol,
ul {
  padding: 0;
  list-style: none;
}

a {
  -webkit-transition: color 200ms ease-in-out;
  transition: color 200ms ease-in-out;
  text-decoration: none;
  color: #2196f3;
  font-weight: 600;
}
a:hover {
  color: #0c7cd5;
}
a:active {
  color: #0a6ebd;
}

img {
  max-width: 100%;
}

.compose, .search-button, .modal-button button {
  border: none;
  outline: none;
  background: #f0f0f0;
}

body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 100vh;
  color: #333333;
  background-color: #D4DBE2;
  font-family: "Microsoft YaHei", sans-serif;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

p {
  color: #696969;
}

.window {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 1170px;
  background-color: white;
  box-shadow: 0px 8px 20px rgba(42, 47, 57, 0.4);
}

.toolbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 1170px;
  min-width: 1170px;
  height: 50px;
  padding: 0 20px;
  background-color: #f6f7f8;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.sidebar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 20px;
  background-color: #2a2f39;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 100px;
          flex: 1 0 100px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-flow: column wrap;
      flex-flow: column wrap;
}

.categories {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 50px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-flow: column wrap;
      flex-flow: column wrap;
}
.categories li {
  position: relative;
}
.categories i {
  margin-bottom: 30px;
  cursor: pointer;
  -webkit-transition: opacity 300ms ease-in-out;
  transition: opacity 300ms ease-in-out;
  opacity: 0.6;
  color: white;
  font-size: 20px;
}
.categories i:hover {
  opacity: 1;
}

.notification {
  position: absolute;
  top: -20px;
  right: -20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 30px;
  height: 30px;
  color: white;
  border: 3px solid #2a2f39;
  border-radius: 50%;
  background-color: #ea2e49;
  font-size: 12px;
  font-weight: 600;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.is-active {
  opacity: 1 !important;
}

.compose {
  padding: 10px 15px;
  -webkit-transition: background-color 200ms ease-in-out;
  transition: background-color 200ms ease-in-out;
  color: white;
  border-radius: 3px;
  background-color: #2196f3;
  font-size: 20px;
}
.compose:hover {
  background-color: #0c7cd5;
}
.compose:active {
  background-color: #0a6ebd;
}

.user-profile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 20px;
  -ms-flex-flow: column wrap;
      flex-flow: column wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.user-profile i {
  margin-top: 20px;
  cursor: pointer;
  -webkit-transition: opacity 300ms ease-in-out;
  transition: opacity 300ms ease-in-out;
  opacity: 0.6;
  color: white;
  font-size: 20px;
}
.user-profile i:hover {
  opacity: 1;
}

.inbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 400px;
  min-width: 400px;
  margin: 0;
  padding: 0;
  border-top: 1px solid #d9e0e2;
  border-right: 1px solid #d9e0e2;
  background: #f6f7f8;
  -ms-flex-flow: column;
      flex-flow: column;
}

.inbox-item {
  height: 200px;
  padding: 20px;
  cursor: pointer;
  -webkit-transition: background-color 200ms ease-in-out;
  transition: background-color 200ms ease-in-out;
  border-bottom: 1px solid #d9e0e2;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.inbox-item:hover {
  background-color: #edf5fd;
}
.inbox-item:last-child {
  border-bottom: 0;
}

.inbox-sender {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 12px;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.inbox-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-flow: row-reverse wrap;
      flex-flow: row-reverse wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.inbox-title h4 {
  margin: 0;
  margin-top: 10px;
}

.sender-name {
  font-weight: 600;
}

.sender-date {
  font-weight: 600;
}
.sender-date span {
  opacity: 0.5;
}

.sender-label {
  margin-right: 10px;
  font-size: 14px;
}

.content {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

.message {
  width: 100%;
  padding: 30px;
  border-top: 1px solid #d9e0e2;
  background-color: white;
}

.message-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.message-from {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.message-from img {
  width: 50px;
  height: 50px;
  border-radius: 4px;
  -o-object-fit: cover;
     object-fit: cover;
}

.message-sender {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: 10px;
  -ms-flex-flow: column wrap;
      flex-flow: column wrap;
}
.message-sender h5 {
  margin: 0;
}
.message-sender span {
  margin-top: 5px;
  font-size: 12px;
}

.message-is-active {
  background: #edf5fd;
}

.message-tools i {
  margin-left: 20px;
  cursor: pointer;
  -webkit-transition: opacity 300ms ease-in-out;
  transition: opacity 300ms ease-in-out;
  color: #2a2f39;
}
.message-tools i:hover {
  opacity: 0.6;
}

.window-actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.actions-item {
  width: 10px;
  height: 10px;
  margin: 0 5px;
  border-radius: 50%;
  background-color: #dddddd;
}
.actions-item:nth-child(1) {
  background-color: #f44336;
}
.actions-item:nth-child(2) {
  background-color: #ffeb3b;
}
.actions-item:nth-child(3) {
  background-color: #4caf50;
}

input[type="search"] {
  width: 300px;
  height: 25px;
  padding: 0 10px;
  border: none;
  border: 1px solid #e9e9e9;
  border-radius: 3px;
  background-color: white;
  font-size: 12px;
}
input[type="search"]:focus {
  border: 1px solid #2196f3;
  outline: none;
}

.search-button {
  height: 27px;
  max-height: 27px;
  margin-left: -8px;
  padding: 0 15px;
  color: white;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  background-color: #ea2e49;
  font-size: 12px;
  font-weight: 600;
}
.search-button:hover {
  background-color: #d01530;
}
.search-button:active {
  background-color: #b9132a;
}

.message-labels .message-labels-item {
  margin: 20px 0;
}

.red {
  border: 2px solid #ea2e49;
  background-color: rgba(234, 46, 73, 0.5);
}

.blue {
  border: 2px solid #2196f3;
  background-color: rgba(33, 150, 243, 0.5);
}

.yellow {
  border: 2px solid #ffeb3b;
  background-color: rgba(255, 235, 59, 0.5);
}

.green {
  border: 2px solid #4caf50;
  background-color: rgba(76, 175, 80, 0.5);
}

.message-labels-item {
  width: 15px;
  height: 15px;
  border-radius: 50%;
}

/* Overlay and Modal */
.overlay {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  visibility: hidden;
  -webkit-transition: visibility 800ms ease-in-out, opacity 500ms ease-in-out;
  transition: visibility 800ms ease-in-out, opacity 500ms ease-in-out;
  opacity: 0;
  background: rgba(0, 0, 0, 0.7);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.is-open {
  visibility: visible;
  opacity: 1;
}

.modal {
  width: 520px;
  border-radius: 3px;
  background-color: white;
  box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.3);
}

.modal-title {
  position: relative;
  padding: 20px;
  text-align: center;
}

.modal-form input,
.modal-form textarea {
  width: 100%;
  margin: 5px 0;
  padding: 10px;
  border: 1px solid #e9e9e9;
  border-radius: 3px;
  outline: none;
}
.modal-form input:focus,
.modal-form textarea:focus {
  border: 1px solid #2196f3;
}
.modal-form textarea {
  resize: vertical;
}

.modal-body {
  padding: 20px;
  border-top: 1px solid #d9e0e2;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
  background-color: #f6f7f8;
}

.modal-button {
  padding-top: 10px;
  text-align: right;
}
.modal-button button {
  padding: 5px 20px;
  color: white;
  border-radius: 3px;
  background-color: #2196f3;
}
.modal-button button:hover {
  background-color: #0c7cd5;
}
.modal-button button:active {
  background-color: #0a6ebd;
}

.modal-close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 15px;
  height: 15px;
  cursor: pointer;
  -webkit-transition: opacity 200ms ease-in-out;
  transition: opacity 200ms ease-in-out;
}
.modal-close:hover {
  opacity: 0.5;
}
.modal-close:after {
  position: absolute;
  top: 7px;
  right: 0px;
  width: 15px;
  height: 2px;
  content: "";
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  background-color: #333333;
}
.modal-close:before {
  position: absolute;
  top: 7px;
  right: 0px;
  width: 15px;
  height: 2px;
  content: "";
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  background-color: #333333;
}
