:root {
    --notification-module-border-radius: var(--base-border-radius-rem, var(--base-border-radius, 0.25rem));
    --notification-module-badge-padding: 6px;
    --notification-module-badge-bottom: 200px;
    --notification-module-badge-left: 0px;

    --notification-module-badge-color: var(--color-warning-text, var(--light, #ffffff));
    --notification-module-badge-background-color: var(--color-warning, var(--alert, #91012c));

    --notification-module-notification-color: var(--color-surface-text, var(--dark, #000000));
    --notification-module-notification-background-color: var(--color-surface, var(--medium, #EDEDED));

    --notification-module-notification-color-1: var(--color-primary-text, var(--light, #ffffff));
    --notification-module-notification-background-color-1: var(--color-primary, #0070E7);

    --notification-module-notification-color-2: var(--color-secondary-text, var(--dark, #4D4D4D));
    --notification-module-notification-background-color-2: var(--color-secondary, #BAD32D);

    --notification-module-notification-color-3: var(--color-tertiary-text, var(--light, #ffffff));
    --notification-module-notification-background-color-3: var(--color-tertiary, #424242);
}

body.cms4-notification-open .notification-badge {
    display: none;
}

.notification-badge {
    position: fixed;
    font-size: 1rem;
    transition: opacity 350ms;
    background: var(--notification-module-badge-background-color);
    border: none;
    padding: var(--notification-module-badge-padding);
    border-top-right-radius: var(--notification-module-border-radius);
    border-bottom-right-radius: var(--notification-module-border-radius);
    bottom: var(--notification-module-badge-bottom);
    left: var(--notification-module-badge-left);
    fill: var(--notification-module-badge-color);
    cursor: pointer;
    z-index: 1000;
}

.notification-badge:hover,
.notification-badge:focus {
    opacity: .8;
}


.notification-area #cms4-notification.notification {
    background: var(--notification-module-notification-background-color);
    color: var(--notification-module-notification-color);
    width: 100%;
    max-width: 100%;
}

.notification-area #cms4-notification.notification.background-1 {
    background: var(--notification-module-notification-background-color-1);
    color: var(--notification-module-notification-color-1);
}

.notification-area #cms4-notification.notification.background-2 {
    background: var(--notification-module-notification-background-color-2);
    color: var(--notification-module-notification-color-2);
}

.notification-area #cms4-notification.notification.background-3 {
    background: var(--notification-module-notification-background-color-3);
    color: var(--notification-module-notification-color-3);
}

.notification-area #cms4-notification.notification .note-content {
    padding: 0;
}

.notification-area #cms4-notification.notification .note-content img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}   

.notification-area #cms4-notification.notification .note-content>div {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: flex-start;
    align-items: stretch;
    max-width: calc(90dvw - 36px);
    width: 646px;
}

@media (min-width: 760px) {
    .notification-area #cms4-notification.notification.hasCoverImage .note-content>div {
        width: 816px;
    }
}

.notification-area #cms4-notification.notification .note-content>div > * {
    max-width: 100%;
    width: 100%;
    flex: 1 0 100%;
    box-sizing: border-box;
}

.notification-area #cms4-notification.notification .note-content>div > picture {
    max-width: 338px;
    position: absolute;
    height: 100%;
}

.notification-area #cms4-notification.notification .note-content>div > .content {
    flex-basis: 0;
    max-width: 100%;
    max-height: 60dvh;
    overflow-y: auto;
    padding: 0 60px 48px;
    margin-top: 48px;
}

.notification-area #cms4-notification.notification.hasCoverImage .note-content>div > .content {
    margin-left: 338px;
}

@media (max-width: 759px) {
    .notification-area #cms4-notification.notification {
        max-width: 337px;
        max-height: 60dvh;
        overflow-y: auto;
    }

    .notification-area #cms4-notification.notification .note-content>div {
        width: 100%;
    }

    .notification-area #cms4-notification.notification .note-content>div > picture,
    .notification-area #cms4-notification.notification .note-content>div > .content  {
        max-width: 100%;  
    }

    .notification-area #cms4-notification.notification .note-content>div > .content {
        max-height: 100%;
        overflow-y: initial;
        padding: 40px;
        margin-top: 0;
    }

    .notification-area #cms4-notification.notification .note-content>div > picture {
        position: relative;
        height: 160px;
    }

    .notification-area #cms4-notification.notification.hasCoverImage .note-content>div > .content {
        margin-left: 0;
    }
}

.notification-area #cms4-notification.notification .content .btn {
    margin-top: 10px;
}

.notification-area #cms4-notification.notification close {
    color: transparent;
    width: 48px;
    height: 48px;
    background: black;
    top: 0px;
    right: 0px;
    transition: opacity 350ms;
}

.notification-area #cms4-notification.notification close:hover,
.notification-area #cms4-notification.notification close:focus {
    opacity: .8;
}

.notification-area #cms4-notification.notification close:before,
.notification-area #cms4-notification.notification close:after {
    content: "";
    width: 20px;
    height: 2px;
    position: absolute;
    background: white;
    top: 50%;
    left: 50%;
    /* transform-origin: 50%, 50%; */
}

.notification-area #cms4-notification.notification close:before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.notification-area #cms4-notification.notification close:after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

/* NEW SIZES */
/* small */
@media (min-width: 760px) {
    .notification-area #cms4-notification.notification.size-1 .note-content > div > .content {
        max-height: min(30dvh, 240px);
    }

    .notification-area #cms4-notification.notification.size-1.hasCoverImage .note-content > div {
        width: 600px;
    }

    .notification-area #cms4-notification.notification.size-1 .note-content > div > picture {
        max-width: 240px;
    }

    .notification-area #cms4-notification.notification.size-1 .note-content > div > .content {
        margin-left: 240px;
    }
}
/* large */
@media (min-width: 760px) {
    .notification-area #cms4-notification.notification.size-3 .note-content > div > .content {
        max-height: min(80dvh, 800px);
    }

    .notification-area #cms4-notification.notification.size-3.hasCoverImage .note-content > div {
        width: max(816px, 50vw);
    }
}

@media (max-width: 759px) {
    /* small */
    .notification-area #cms4-notification.notification.size-1 {
        max-height: min(40dvh, 350px);
    }
    /* large */
    .notification-area #cms4-notification.notification.size-3 {
        max-height: min(80dvh, 650px);
    }
}
