/* === Messages === */
@import url('./messages-vars.less');
.messages-content,
.messages {
  background: var(--f7-messages-content-bg-color);
}
.messages {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  position: relative;
  z-index: 1;
}
.messages-title, .message {
  margin-top: var(--f7-message-margin);
  &:last-child {
    margin-bottom: var(--f7-message-margin);
  }
}
.messages-title {
  text-align: center;
  width: 100%;
  line-height: 1;
  color: var(--f7-messages-title-text-color);
  font-size: var(--f7-messages-title-font-size);
  font-weight: var(--f7-messages-title-font-weight);
}
.message {
  max-width: 70%;
  box-sizing: border-box;
  display: flex;
  align-items: flex-end;
  position: relative;
  z-index: 1;
  transform: translate3d(0,0,0);
}
.message-avatar {
  border-radius: var(--f7-message-avatar-border-radius);
  position: relative;
  background-size: cover;
  align-self: flex-end;
  flex-shrink: 0;
  width: var(--f7-message-avatar-size);
  height: var(--f7-message-avatar-size);
}
.message-content {
  position: relative;
  display: flex;
  flex-direction: column;
}
.message-header, .message-footer, .message-name {
  line-height: 1;
}
.message-header {
  color: var(--f7-message-header-text-color);
  font-size: var(--f7-message-header-font-size);
}
.message-footer {
  color: var(--f7-message-footer-text-color);
  font-size: var(--f7-message-footer-font-size);
  margin-bottom: -1em;
}
.message-name {
  color: var(--f7-message-name-text-color);
  font-size: var(--f7-message-name-font-size);
  font-weight: var(--f7-message-name-font-weight);
}
.message-bubble {
  box-sizing: border-box;
  word-break: break-word;
  display: flex;
  flex-direction: column;
  position: relative;
  line-height: var(--f7-message-bubble-line-height);
  font-size: var(--f7-message-bubble-font-size);
  border-radius: var(--f7-message-bubble-border-radius);
  padding: var(--f7-message-bubble-padding-vertical) var(--f7-message-bubble-padding-horizontal);
  min-height: var(--f7-message-bubble-min-height);
}
.message-image {
  img {
    display: block;
    max-width: 100%;
    height: auto;
    width: auto;
  }
}
.message-text-header, .message-text-footer {
  line-height: 1;
}
.message-text-header {
  color: var(--f7-message-text-header-text-color);
  opacity: var(--f7-message-text-header-opacity);
  font-size: var(--f7-message-text-header-font-size);
}
.message-text-footer {
  color: var(--f7-message-text-footer-text-color);
  opacity: var(--f7-message-text-footer-opacity);
  font-size: var(--f7-message-text-footer-font-size);
}
.message-text {
  text-align: left;
}
.message-sent {
  text-align: right;
  .ltr({
    flex-direction: row-reverse;
    align-self: flex-end;
  });
  .rtl({
    flex-direction: row;
    align-self: flex-start;
  });
  .message-bubble {
    color: var(--f7-message-sent-text-color);
    background: var(--f7-message-sent-bg-color, var(--f7-theme-color));
  }
  .message-content {
    .ltr({
      align-items: flex-end;
    });
    .rtl({
      align-items: flex-start;
    });
  }
  &.message-tail .message-bubble {
    border-radius: var(--f7-message-bubble-border-radius) var(--f7-message-bubble-border-radius) 0 var(--f7-message-bubble-border-radius);
  }
}
// Rules
.message-received {
  .ltr({
    flex-direction: row;
  });
  .rtl({
    flex-direction: row-reverse;
    align-self: flex-end;
  });
  .message-bubble {
    color: var(--f7-message-received-text-color);
    background: var(--f7-message-received-bg-color);
  }
  .message-content {
    .ltr({
      align-items: flex-start;
    });
    .rtl({
      align-items: flex-end;
    });
  }
  &.message-tail .message-bubble {
    border-radius: var(--f7-message-bubble-border-radius) var(--f7-message-bubble-border-radius) var(--f7-message-bubble-border-radius) 0;
  }
}
.message:not(.message-last) {
  .message-avatar {
    opacity: 0;
  }
}
.message:not(.message-first) {
  .message-name {
    display: none;
  }
}
.message.message-same-name {
  .message-name {
    display: none;
  }
}
.message.message-same-header {
  .message-header {
    display: none;
  }
}
.message.message-same-footer {
  .message-footer {
    display: none;
  }
}
.message-appear-from-bottom {
  animation: message-appear-from-bottom 300ms;
}
.message-appear-from-top {
  animation: message-appear-from-top 300ms;
}
.message-typing-indicator {
  display: inline-block;
  font-size: 0;
  vertical-align: middle;
  > div {
    display: inline-block;
    position: relative;
    background: var(--f7-message-typing-indicator-bg-color);
    opacity: var(--f7-message-typing-indicator-opacity);
    vertical-align: middle;
    border-radius: 50%;
  }
}
@keyframes message-appear-from-bottom {
  from {
    transform: translate3d(0,100%,0);
  }
  to {
    transform: translate3d(0,0,0);
  }
}
@keyframes message-appear-from-top {
  from {
    transform: translate3d(0,-100%,0);
  }
  to {
    transform: translate3d(0,0,0);
  }
}
.if-ios-theme({
  @import url('./messages-ios.less');
});
.if-md-theme({
  @import url('./messages-md.less');
});
.if-aurora-theme({
  @import url('./messages-aurora.less');
});
