.alpine-notifications {
  position: fixed;
  z-index: 300;
  top: calc(var(--headerMidHeight));
  right: 6rem;
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-end;
  overflow: hidden;
  padding: 4rem 0;
  pointer-events: none; }
  @media (max-width: 1099px) {
    .alpine-notifications {
      right: 0;
      padding: 30px; } }
  @media (max-width: 767px) {
    .alpine-notifications {
      padding: 20px 12px 20px 20px; } }

.notification {
  width: 38rem;
  height: 0px;
  display: flex;
  flex-direction: column;
  margin-bottom: 1.6rem;
  transform: translateX(calc(100% + 40px));
  pointer-events: auto;
  background-color: #fff;
  box-shadow: -8px 8px 8px 0px rgba(136, 136, 136, 0.3); }
  @media (max-width: 1099px) {
    .notification {
      width: 340px;
      margin-bottom: 16px; } }
  @media (max-width: 767px) {
    .notification {
      width: 300px; } }
  .notification.active {
    transform: translateX(0%); }
  .notification.height {
    height: 11rem;
    transition: height .2s ease, transform .2s ease .2s; }
    @media (max-width: 1099px) {
      .notification.height {
        height: auto; } }
  .notification.opacity {
    opacity: 0;
    transition: opacity .2s ease; }
  .notification.js-notification--progress.height {
    height: 11.6rem; }
    @media (max-width: 1099px) {
      .notification.js-notification--progress.height {
        height: auto; } }
  .notification__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .8rem 1.6rem;
    fill: #fff;
    background-color: var(--theme-base-color); }
    @media (max-width: 1099px) {
      .notification__header {
        padding: 8px; } }
    .notification__header .icon-close {
      max-width: 2rem;
      max-height: 2rem; }
      @media (max-width: 1099px) {
        .notification__header .icon-close {
          max-width: 20px;
          max-height: 20px; } }
      @media (max-width: 767px) {
        .notification__header .icon-close {
          max-width: 16px;
          max-height: 16px; } }
    @media (min-width: 1100px) {
      .notification__header .icon {
        cursor: pointer; }
        .notification__header .icon:hover {
          transition: all .3s ease;
          transform: rotate(180deg); } }
  .notification__title {
    color: #fff;
    font-size: clamp(1.1rem, 1.1vw, 1.8rem);
    line-height: 1.4; }
    @media (max-width: 1099px) {
      .notification__title {
        font-size: 14px; } }
    @media (max-width: 1099px) {
      .notification__title {
        font-size: 12px; } }
  .notification__image {
    position: relative;
    max-height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1/1; }
    .notification__image img {
      max-width: 100%;
      max-height: 100%; }
  .notification__body {
    display: grid;
    align-items: center;
    flex: 1;
    padding: .8rem 1.6rem;
    gap: .8rem 1.6rem;
    grid-template-columns: 4.8rem 1fr; }
    @media (max-width: 1099px) {
      .notification__body {
        padding: 10px;
        gap: 10px;
        grid-template-columns: 40px 1fr; } }
    @media (max-width: 767px) {
      .notification__body {
        padding: 8px;
        gap: 8px;
        grid-template-columns: 4rem 1fr; } }
  .notification__descr {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    font-size: 1.2rem;
    line-height: 1.2;
    -webkit-line-clamp: 2; }
    @media (max-width: 1099px) {
      .notification__descr {
        font-size: 12px; } }
    @media (max-width: 575px) {
      .notification__descr {
        font-size: 10px; } }
  .notification__progress {
    position: relative;
    overflow: hidden;
    height: .6rem;
    display: none;
    background: linear-gradient(90deg, #b72f39, #53161b); }
    @media (max-width: 1099px) {
      .notification__progress {
        height: 6px; } }
    @media (max-width: 767px) {
      .notification__progress {
        height: 4px; } }
    .js-notification--progress .notification__progress {
      display: block; }
  .notification__progress-bar {
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 100%;
    display: block;
    background: linear-gradient(90deg, rgba(183, 47, 57, 0.2), rgba(83, 22, 27, 0.2)), #fff; }

@keyframes notification-progress {
  to {
    width: 100%; } }
