:root {
    --medium-state-blue: #7D5EE4;
    --lavender-mist: #e0d9fb;
    --purple-fog: #535473;
    --metalic-silver: #a3a5bb;
    --mainly-blue: #7A66FF;
    --mainly-red: #ee1e4f;
    --default-font-family: 'Roboto', sans-serif;
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --color-gray-slate: #424852;

    --color-purple: #7c5fe4;
    --color-gray: #364153;

    --left-sidebar-width: 230px;
    --right-sidebar-width: 325px;
    --submenu-width: 230px;

    --header-bar-height: 57px;
    --header-bar-height-with-notification: 97px;

    --default-popup-width: 800px;
    --default-popup-width-small: 500px;
    --default-popup-width-medium: 600px;
    --default-popup-width-large: 1200px;
    --default-popup-padding: 32px;
    --default-popup-padding-footer: 20px;
    --default-popup-radius: 28px;

    --scroll-track-bg: transparent;
    --scroll-handle-bg: transparent;
    --scroll-handle-hover-bg: transparent;
    --scroll-width: 0;
    --scroll-height: 0;

    --disabled-color: #a3a5bb;

    --project-settings-button-height: 34px;
    --project-settings-input-height: 40px;

    --base-button-radius: 27px;
    --base-button-padding: 0 30px;
    --base-button-padding-medium: 0 16px;
    --base-input-radius: 7px;
    --base-input-background: #ECF1FE;
    --default-invalid-input-color: #EE1E4E;

    --primary-button-background: linear-gradient(180deg, #84A5FF 0.19%, #7A66FF 100%);
    --primary-button-radius: 27px;
    --primary-button-disabled-background: #EEEEEE;
    --primary-button-disabled-dark-background: #A3A5BB;
    --primary-button-hover-background: linear-gradient(180deg, #84A5FF 0.19%, #7A66FF 7%);
    --primary-button-icon-width: 14px;
    --primary-button-icon-height: 14px;
    --primary-button-font-size: 14px;

    --secondary-button-background: linear-gradient(0deg, rgba(245, 0, 74, 0.1) 0%, rgba(122, 102, 255, 0.1) 100%);
    --secondary-button-hover-background: linear-gradient(0deg, rgba(245, 0, 74, 0.2) 0%, rgba(122, 102, 255, 0.2) 100%);
    --secondary-button-color: #535473;
    --secondary-button-hover-color: #7A66FF;
    --secondary-button-radius: 15px;
    --secondary-button-font-size: 12px;
    --secondary-button-font-weight: 300;

    --accent-button-background: #5A3BC4;
    --accent-button-hover-background: #6D50EA; /* Optional tweak */
    --accent-button-color: #FFFFFF;
    --accent-button-radius: 15px;
    --accent-button-font-size: 12px;
    --accent-button-font-weight: 500;

    /* Purple primary (AI / Filter with AI style). Reusable: primary-purple-button + medium-button */
    --primary-purple-button-background: #7C45E9;
    --primary-purple-button-hover-background: rgba(124, 69, 233, 0.9);
    --primary-purple-button-radius: 0.5rem;
    --primary-purple-button-font-size: 0.875rem;
    --primary-purple-button-disabled-background: rgba(124, 69, 233, 0.4);
    --primary-purple-button-disabled-color: rgba(255, 255, 255, 0.75);

    --outline-primary-button-radius: 27px;
    --outline-primary-button-color: #525373;
    --outline-primary-button-background: #fff;
    --outline-primary-button-hover-background: rgba(122, 102, 255, 0.1);
    --outline-primary-button-font-size: 14px;
    --outline-primary-button-hover-border-color: #525373;
    --outline-primary-button-border-color: #e2e3ef;

    --outline-secondary-button-radius: 27px;
    --outline-secondary-button-color: #7A66FF;
    --outline-secondary-button-background: #fff;
    --outline-secondary-button-hover-background: rgba(122, 102, 255, 0.1);
    --outline-secondary-button-font-size: 14px;
    --outline-secondary-button-hover-border-color: #7D5EE4;
    --outline-secondary-button-border-color: #7A66FF;

    /* Base subtle button */
    --subtle-button-radius: 8px;
    --subtle-button-font-size: 12px;
    --subtle-button-padding-y: 7px;
    --subtle-button-padding-x: 15px;
    --subtle-button-font-weight: 500;

    /* Neutral (Cancel) */
    --subtle-neutral-button-background: #fff;
    --subtle-neutral-button-hover-background: #f6f3f4;
    --subtle-neutral-button-border-color: #e5e7eb;
    --subtle-neutral-button-color: #4a5565;

    /* Primary-ish (Save) */
    --subtle-primary-button-background: #fff;
    --subtle-primary-button-hover-background: #eef2ff;
    --subtle-primary-button-hover-color: #432dd7;
    --subtle-primary-button-border-color: #d1d5dc;
    --subtle-primary-button-color: #4f39f6;

    /* Danger (Delete) */
    --subtle-danger-button-background: #fff;
    --subtle-danger-button-hover-background: #fef2f2;
    --subtle-danger-button-border-color: #fde2e2;
    --subtle-danger-button-color: #e7000b;

    --warning-button-background: #FFDC6C;
    --warning-button-hover-background: #ffeaa8;
    --warning-button-color: #535473;
    --warning-button-font-size: 13px;
    --warning-button-font-weight: 500;
    --warning-button-radius: 15px;

    --warning-link-button-padding: 0 4px;
    --warning-link-button-border-bottom: 1px solid #ffd659;

    --link-button-font-size: 15px;
    --link-button-color: #7A66FF;

    --rounded-button-background: rgba(122, 102, 255, 0.1);
    --rounded-button-icon-width: 14px;
    --rounded-button-icon-height: 14px;

    --medium-button-padding: 9px 24px;
    --medium-button-font-size: 14px;

    --small-button-padding: 3px 11px;
    --small-button-font-size: 12px;
    --small-button-font-font-weight: 300;

    --small-button-icon-width: 14px;
    --small-button-icon-height: 14px;

    --base-select-radius: 8px;
    --base-select-focus-border-color: #7c5fe4;

    --default-table-cell-font-size: 15px;
    --default-table-cell-color: #535473;
    --default-table-cell-font-weight: 400;

    --default-calendar-widget-radius: 8px;
    --default-calendar-widget-compare-color: #4BC8F0;
    --default-calendar-widget-compare-highlight-color: #c6f5ff;
    --default-calendar-widget-color: #5b6bbe;

    --login-button-height: 46px;

    --compare-base-select-height: 34px;

    --bg-danger-gradient: linear-gradient(180deg, #FFEDED 0%, #FFE2EE 100%);

    --default-card-shadow: 0 4px 16px rgb(203, 196, 228);

    --applied-filters-shadow: -10px 0 16px rgb(203, 196, 228);

    --default-border-color: #D9D9DE;

    --content-page-padding-right: 36px;
    --content-page-padding-left: 36px;

    --visible-header-bar-height: 40px;

    --input-placeholder-color: #A19ABD;

    --keywords-col-width: 25%;
    --keywords-opts-width: 25%;

    --link-color: #3f80ea;

    --ai-assistant-chat-max-width: 750px;

    --box-gradient-light: linear-gradient(180deg, rgba(132, 165, 255, 0.3) 0.19%, rgba(122, 102, 255, 0.3) 100%);

    --scrollbar-width: 8px;
    --scrollbar-radius: 6px;

    --scrollbar-thumb: #888;
    --scrollbar-thumb-hover: #555;
    --scrollbar-track: #f1f1f1;
}

* {
    box-sizing: border-box;
}


body, html {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    font-family: var(--default-font-family), serif;
    font-size: 16px;
    color: #304754;
    overflow-y: hidden;
    scroll-behavior: smooth;

    &[data-page="login"],
    &[data-page="recover"],
    &[data-page="forgot"] {
        overflow-y: auto;
        min-height: 100%;
    }
}

html:has(.base-popup),
body:has(.base-popup) {
    overflow-y: auto;
}

/* width */
::-webkit-scrollbar {
    width: var(--scroll-width);
    height: var(--scroll-height);
}

/* Track */
::-webkit-scrollbar-track {
    background: var(--scroll-track-bg);
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: var(--scroll-handle-bg);
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
    background: var(--scroll-handle-hover-bg);
}


::placeholder {
    color: var(--input-placeholder-color);
    font-weight: 300;
    font-size: 13px;
}

/* Legacy browser support */
::-webkit-input-placeholder { /* Chrome, Safari, Edge */
    color: var(--input-placeholder-color);
    font-weight: 300;
    font-size: 13px;
}

::-moz-placeholder { /* Firefox 19+ */
    color: var(--input-placeholder-color);
    font-weight: 300;
    font-size: 13px;
}

::-ms-input-placeholder { /* IE 10+ */
    color: var(--input-placeholder-color);
    font-weight: 300;
    font-size: 13px;
}

/*input::selection, textarea::selection {
    background-color: rgba(100, 100, 100, .4);
    color: rgba(0, 0, 0, .87);
}*/

.preload * {
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -ms-transition: none !important;
    -o-transition: none !important;
}

ul, li {
    list-style: none;
    padding: 0;
    margin: 0;
}

.clear {
    clear: both;
}

.full {
    width: 100%;
    height: 100%;
}

.full-width {
    width: 100%;
}

.full-height {
    height: 100%;
}

.float-left {
    float: left;
}

.float-right {
    float: right;
}

.nowrap {
    white-space: nowrap;
}

.ellipsis {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.ellipsis-five-lines {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.link {
    cursor: pointer;
    text-decoration: underline;
    color: var(--medium-state-blue);
}

.flex-row {
    display: flex;
    flex-direction: row;
}

@media screen and (max-width: 1024px) {
    .flex-column-xs {
        flex-direction: column;
    }
}

.flex-column {
    display: flex;
    flex-direction: column;
}

.flex-row-reverse {
    display: flex;
    flex-direction: row-reverse;
}

.flex-wrap {
    flex-wrap: wrap;
}

.flex-nowrap {
    flex-wrap: nowrap;
}

.align-items-center {
    align-items: center;
}

.align-items-start {
    align-items: flex-start;
}

.align-items-end {
    align-items: flex-end;
}

.align-items-baseline {
    align-items: baseline;
}

.justify-content-start {
    justify-content: start;
}

.justify-content-center {
    justify-content: center;
}

.justify-content-between {
    justify-content: space-between;
}

.justify-content-end {
    justify-content: end;
}

.flex-1 {
    flex: 1;
}

.gap-5{
    gap: 5px;
}

.gap-10{
    gap: 10px;
}

.gap-15{
    gap: 15px;
}

.gap-20{
    gap: 20px;
}

.text-center {
    text-align: center;
}

.margin-left-auto {
    margin-left: auto;
}

.margin-right-auto {
    margin-right: auto;
}

.margin-top-auto {
    margin-top: auto;
}

.no-select {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.no-display {
    display: none;
}

.no-bottom-padding {
    padding-bottom: 0 !important;
}

.no-top-padding {
    padding-top: 0 !important;
}

.no-outline {
    outline: none;
}

.pointer-events-none {
    pointer-events: none;
}

.line-through {
    text-decoration: line-through;
}

.animated {
    -webkit-transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    transition: all 0.2s linear;
}

.animated-fast {
    -webkit-transition: all 0.1s linear;
    -moz-transition: all 0.1s linear;
    -o-transition: all 0.1s linear;
    transition: all 0.1s linear;
}

.animated-line {
    -webkit-transition: width 1s linear, left 1s linear, right 1s linear;
    -moz-transition: width 1s linear, left 1s linear, right 1s linear;
    -o-transition: width 1s linear, left 1s linear, right 1s linear;
    transition: width 1s linear, left 1s linear, right 1s linear;
}

.animated-opacity {
    -webkit-transition: opacity 0.2s linear;
    -moz-transition: opacity 0.2s linear;
    -o-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
}

.blur {
    pointer-events: none;
    /*background: rgba(0,0,0,.1);*/
    filter: blur(2px) grayscale(7%);
    /*text-shadow: 0 0 8px rgba(0,0,0,.5);*/
    /*color: transparent*/
}

.beta-container {
    position: absolute;
    top: 10px;
    left: 10px;
    color: #EE1E4F;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 10px;
}

.bg-gradient-danger {
    background: var(--bg-danger-gradient);
}

.is-scrollable {
    overflow: auto;
}

.is-scrollable-y {
    overflow-y: auto;
    overflow-x: hidden;
}

.is-scrollable-x {
    overflow-x: auto;
    overflow-y: hidden;
}

.scrollbar-custom {
    /* Firefox */
    scrollbar-width: thin;
    scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
}

/* WebKit (Chrome, Edge, Safari) */
.scrollbar-custom::-webkit-scrollbar {
    width: var(--scrollbar-width);
}

.scrollbar-custom::-webkit-scrollbar-track {
    background: var(--scrollbar-track);
}

.scrollbar-custom::-webkit-scrollbar-thumb {
    background-color: var(--scrollbar-thumb);
    border-radius: var(--scrollbar-radius);
}

.scrollbar-custom::-webkit-scrollbar-thumb:hover {
    background-color: var(--scrollbar-thumb-hover);
}

#wrapper {
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
}

#header_container {
    height: var(--header-bar-height);
    width: 100%;
    border-bottom: solid 1px #BEC8CA;
    background-color: #fff;
    box-shadow: 0 5px 10px -6px rgba(0, 0, 0, 0.20);
    z-index: 6;
    position: sticky;
    top: 0;
    flex-shrink: 0;
}

#header_left_wrapper {
    display: flex;
    align-items: center;
    flex: 1;
}

#wrapper_bottom_fixed {
    position: fixed;
    bottom: 20px;
    z-index: 99999;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
}

#wrapper_preloader_container {
    margin-top: 10px;
    margin-bottom: 30px;
}

#wrapper_preloader_container .collect-data-preloader {
    width: fit-content;
    margin: 0 auto;
}

#wrapper_bottom_fixed #notifications_container .notification-element {
    width: max-content;
    width: -moz-max-content;
    margin: 0 auto;
    margin-bottom: 8px;
}

#notifications_container {

}

#notifications_container .notification-element .notification-container .notification-content .notification-text {
    padding: 19px 19px 19px 40px;
}

#notifications_container .notification-element.info-notification {
    border-radius: 24px;
}

#notifications_container .notification-element.info-notification .notification-container .notification-content .notification-text {
    font-family: var(--default-font-family);
    font-size: 13px;
    font-weight: 700;
    color: #535473;
}

.visible-body-overlay #header_container {
    border-bottom: solid 1px rgba(255, 255, 255, 0.35);
}

#projects_placeholder {
    margin-bottom: 25px;
    position: relative;
}

#projects_placeholder:empty {
    display: none;
}


#header {
    width: 100%;
    height: 100%;
    justify-content: space-between;

    #header_center {
        flex: 1;
        gap: 10px;
        display: flex;
        align-items: center;

        #header_center_left,
        #header_center_right {
            display: flex;
            align-items: center;
        }

        #header_center_right {
            margin-left: auto;
            padding-right: var(--content-page-padding-right);
            gap: 10px;

            .base-button-element {
                margin-left: 5px;

                &.small-button {
                    height: 24px;

                    svg {
                        width: 10px;
                        height: 10px;
                        margin-right: 5px;
                    }
                }

                &.disabled {
                    cursor: not-allowed !important;
                    background: #D9D9DE !important;

                    &:hover {
                        color: var(--secondary-button-color);

                        svg {
                            path {
                                fill: var(--secondary-button-color) !important;
                            }
                        }
                    }
                }
            }
        }

    }

    #header_right {
        width: var(--right-sidebar-width);
        flex: 0 0 var(--right-sidebar-width);
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 20px;
        padding: 0 16px;

        .quick-action-button {
            padding: 0;

            a {
                display: flex;
                align-items: center;
                justify-content: center;
                position: relative;
            }

            &.updates-button {
                a {
                    #HW_badge_cont {
                        position: absolute;
                        left: 30%;

                        #HW_badge {
                            height: 10px;
                            width: 10px;
                            background-color: #ee1e4e;
                            font-size: 0;
                            right: 0;
                        }
                    }
                }
            }

            svg {
                path {
                    fill: currentColor !important;
                    color: #A19ABC;
                }
            }

            &.help-button {
                svg {
                    path:first-of-type {
                        fill: currentColor !important;
                        color: #fff;
                    }
                }
            }

            &:hover {
                svg {
                    path {
                        color: var(--mainly-blue);
                    }
                }
            }


        }
    }
}

.header-part {

}

#main_overlay {
    opacity: 0;
    position: fixed;
    top: 0;
    left: 0;
    height: 0;
    z-index: 4;
}

#header_title {
    vertical-align: middle;
    font-family: var(--default-font-family);
    width: 25%;
}

#header_title h1 {
    margin: 0;
    display: inline-block;
    padding: 0 0 0 20px;
    font-size: 18px;
    color: #525373;
    font-weight: 500;
    position: relative;
}

#header_title h1 span {
    font-weight: 400;
}

#header_title h1 span.ellipsis {
    width: 180px;
    display: inline-block;
    padding-left: 8px;
    vertical-align: middle;
}

#header_title h1 svg {
    vertical-align: middle;
    display: inline-block;
    height: 22px;
    margin-left: 10px
}

#header_title h1 svg path {
    fill: #ccc;
}

#logo_container {
    width: 100%;
    height: 57px;
}

#logo_container a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;

    img {
        object-fit: contain;
        width: 100%;
        height: 100%;
    }
}

#logo_container a svg {
    width: 178px;
    height: 36px;
    display: block;
}

#logo_container a svg g g path:nth-child(2) {
    fill: #fff !important;
}

body.has-menu #logo_container {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 76px;
}


body.has-menu {
    #content {
        padding-left: var(--left-sidebar-width);
    }
}

body.has-menu.has-submenu {
    #content {
        padding-left: calc(var(--left-sidebar-width) + var(--submenu-width));
    }
}

#left_sidebar {
    width: var(--left-sidebar-width);
    height: 100%;
    border-right: solid 1px rgba(0, 0, 0, 0.2);
    background: linear-gradient(180deg, #2C2D45 0%, #473A76 100%);
    padding: 0 15px;
    display: flex;
    flex-direction: column;

    #left_sidebar_top {
        z-index: 1;
    }

    #left_sidebar_scrollable {
        flex: 1;
        display: flex;
        flex-direction: column;
        overflow: auto;
    }

    #left_sidebar_middle {
        flex: 1;
    }

    #left_sidebar_bottom {
        margin-top: auto;
    }
}

#content {
    width: 100%;
    background-color: #F6FAFD;
    min-height: 100% !important;
    position: relative;
    overflow-y: auto;

    #page_content {
        min-height: 100%;
        width: 100%;
    }

}

body.visible-sidebar-right {
    #content {
        #page_content {
            padding-right: var(--right-sidebar-width);
        }
    }
}

#sidebar_left_wrapper {
    top: 0;
    z-index: 7;
    position: fixed;
    flex: 1 0 var(--left-sidebar-width);
    bottom: 0;
}

#sidebar_left_container {
    display: flex;
    position: relative;
    width: 100%;
    height: 100%;
}

#submenu {
    position: relative;
    background-color: #FFFFFF;
    height: 100%;
    width: var(--submenu-width);
    flex: 0 0 var(--submenu-width);
    border-right: 1px solid #D0DAE4;
    overflow: auto;
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-end;
}

body.has-header {
    #main {
        height: calc(100vh - var(--header-bar-height));
    }

    #submenu {
        margin-top: var(--header-bar-height);

        .submenu-list .submenu-header.selected-header {
            display: none;
        }
    }

    #header_container {
        padding-left: var(--left-sidebar-width);
    }
}

#main {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: row;
}

.sidebar-separator {
    background-color: #6955AE;
    height: 1px;
    margin-top: 10px;
    margin-bottom: 10px;
}

#sidebar_right_wrapper {
    opacity: 1;
    position: fixed;
    top: var(--header-bar-height);
    width: var(--right-sidebar-width);
    bottom: 0;
    right: 0;
    display: none;
    flex: 0 0 var(--right-sidebar-width);
}

body.has-page-filters #sidebar_right_wrapper {
    display: block;
}

.visible-sidebar-right #sidebar_right_wrapper {
    opacity: 1;
    right: 0;
    z-index: 4;
}

.svg-preloader-infinite {
    display: inline-block;
    width: 140px;
    overflow: hidden;
    height: 64px;
}


.svg-preloader-infinite #over {
    stroke-dasharray: 2.00388px, 400.77666px;
    stroke-dashoffset: 0;
    -webkit-animation: anim 1.6s linear infinite;
    animation: anim 1.6s linear infinite;
}

.svg-preloader-infinite #over, .svg-preloader-infinite #under {
    fill: none;
    stroke-width: 5px;
}

.svg-preloader-infinite #under {
    stroke: #fff;
}

.svg-preloader-infinite #over {
    stroke: red;
}

@-webkit-keyframes anim {
    12.5% {
        stroke-dasharray: 56.10873px, 400.77666px;
        stroke-dashoffset: -44.08543px;
    }
    43.75% {
        stroke-dasharray: 140.27183px, 400.77666px;
        stroke-dashoffset: -140.27183px;
    }
    100% {
        stroke-dasharray: 4.00777px, 400.77666px;
        stroke-dashoffset: -396.76889px;
    }
}

@keyframes anim {
    12.5% {
        stroke-dasharray: 56.10873px, 400.77666px;
        stroke-dashoffset: -44.08543px;
    }
    43.75% {
        stroke-dasharray: 140.27183px, 400.77666px;
        stroke-dashoffset: -140.27183px;
    }
    100% {
        stroke-dasharray: 4.00777px, 400.77666px;
        stroke-dashoffset: -396.76889px;
    }
}

.svg-preloader-infinite svg {
    width: 100%;
    height: 100%;
    padding-left: 2px;
}

.svg-preloader-infinite svg path {
    fill: none;
}

.svg-preloader-infinite svg #under {
    stroke: #c2c6d2;
}

.svg-preloader-infinite svg #over {
    stroke: #fff;
}

.infinite-preloader {
    position: relative;
    background: conic-gradient(transparent, var(--mainly-blue));
    height: 30px;
    width: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-animation: infinite-preloader 0.8s linear infinite;
    animation: infinite-preloader 0.8s linear infinite;

    &::before {
        content: '';
        position: absolute;
        width: 60%;
        height: 60%;
        border-radius: 50%;
        background-color: #fff;
    }
}

.lavender-mist-button {
    .infinite-preloader::before {
        background-image: linear-gradient(0deg, rgba(245, 0, 74, 0.1) 0%, rgba(122, 102, 255, 0.1) 100%);
    }

    &:hover .infinite-preloader::before {
        background-image: linear-gradient(0deg, rgba(245, 0, 74, 0.2) 0%, rgba(122, 102, 255, 0.2) 100%);
    }
}

@keyframes infinite-preloader {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

@-webkit-keyframes infinite-preloader {
    from {
        -webkit-transform: rotate(0deg);
    }
    to {
        -webkit-transform: rotate(360deg);
    }
}

.animated-background {
    -webkit-animation-duration: 1.25s;
    animation-duration: 1.25s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-name: placeHolderForPrelaoder;
    animation-name: placeHolderForPrelaoder;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    background: #F6F6F6;
    background: linear-gradient(to right, #F6F6F6 8%, #F0F0F0 18%, #F6F6F6 33%);
    background-size: 1000px 640px;
    height: 96px;
    position: relative;
}

@keyframes placeHolderForPrelaoder {
    0% {
        background-position: -468px 0
    }
    100% {
        background-position: 468px 0
    }
}

@keyframes fadeInOpacity {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes moveUpDown {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-5px);
    }
    100% {
        transform: translateY(0);
    }
}


@keyframes blink {
    0%, 80%, 100% {
        opacity: 0;
    }
    40% {
        opacity: 1;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes fadeInSlideUp {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/** Hidden submenu & projects container **/

.hidden-sidebar-left #header_container {
    padding-left: 57px;
}

.hidden-sidebar-left #submenu,
.hidden-sidebar-left #projects_placeholder {
    display: none;
}

#account_notifications_container:empty {
    display: none;
}

#account_notifications_container .notification-element {
    margin: 0px;
    margin-bottom: 10px;
}

#account_notifications_container .notification-element:last-of-type {
    margin-bottom: 0;
}

#account_notifications_container .notification-element.gray {
    background: #C7D1E2;
}

#account_notifications_container .notification-element.yellow {
    background: #F7D931;
}

#account_notifications_container .notification-element.all-collected-period-banner {
    background: #fff8e1;
}

#account_notifications_container .notification-element a.upgrade-your-plan {
    color: #E76237;
}

#account_notifications_container .notification-element.yellow.discount-notification .notification-text span {
    font-weight: 700;
}

#header_right {

    #header_right_buttons {
        display: flex;
        align-items: center;
        gap: 10px;

        a {
            text-decoration: none;
        }

        .btn-help,
        .btn-updates {
            display: flex;
            align-items: center;

            img {
                width: 18px;
                height: 18px;
            }
        }
    }
}

#content_right_buttons {
    position: absolute;
    right: 20px;
    top: 10px;
    padding: 10px 20px;
    background: #FFFFFF;
    box-shadow: 0 2px 3px rgba(122, 102, 255, 0.2);
    border-radius: 18px;
    display: flex;
    align-items: center;
    gap: 10px;

    a {
        text-decoration: none;
    }

    .btn-help,
    .btn-updates {
        display: flex;
        align-items: center;

        img {
            width: 18px;
            height: 18px;
        }
    }
}

/* Header bar notification */
body.visible-header-bar {
    #sidebar_left_wrapper {
        top: var(--visible-header-bar-height);
    }

    #header_container {
        top: var(--visible-header-bar-height);
    }

    #main {
        height: calc(100vh - var(--visible-header-bar-height));
    }

}

body.visible-header-bar.has-header {
    #main {
        height: calc(100vh - var(--header-bar-height) - var(--visible-header-bar-height));
    }
}

body.visible-header-bar.visible-sidebar-right #sidebar_right_wrapper {
    top: 100px;
}

body.visible-header-bar .appsumo-notification {
    position: sticky;
    top: 0;
    width: 100%;
    z-index: 100;
    height: var(--visible-header-bar-height);
    text-align: center;
    margin: 0;
    border-radius: 0;
    cursor: pointer;
    background: #d7d4ff;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;

    .notification-container {

        .notification-text {
            color: var(--medium-state-blue);
            font-size: 13px;
            padding: 0;
            height: 100%;

            a {
                &.activate-your-account {
                    color: inherit;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    text-decoration: none;
                    width: 100%;
                    height: 100%;

                    svg {
                        margin-right: 8px;

                        path {
                            fill: var(--mainly-blue) !important;
                        }
                    }
                }

            }
        }
    }

}

body.big-header #header_container {
    height: 90px;
    padding-left: 0;
}

body.big-header #wrapper {
    padding-top: 90px;
}

/* Appsumo notification bar*/

body.visible-header-bar .appsumo-notification:hover {
    /*background-color: #0593cf;*/
}


body.visible-header-bar .appsumo-notification.left-notification .notification-text {
    padding-left: 13px;
    padding-top: 12px;
}

body.visible-header-bar .appsumo-notification .notification-close-button svg path {
    fill: #fff !important;
    opacity: 1 !important;
}

body.visible-header-bar .appsumo-notification .notification-text a {
    text-decoration: underline;
}

body.visible-header-bar .appsumo-notification .notification-text a.activate-your-account span.emoji-icon {
    font-size: 14px;
    margin-top: -6px;
}

/**
   5 Stars
 */
.stars5 .star {
    color: #FF9800;
}

/**
   4 Stars
 */
.stars4 .star:nth-child(1),
.stars4 .star:nth-child(2),
.stars4 .star:nth-child(3),
.stars4 .star:nth-child(4) {
    color: #FF9800;
}

/**
   3 Stars
 */
.stars3 .star:nth-child(1),
.stars3 .star:nth-child(2),
.stars3 .star:nth-child(3) {
    color: #FF9800;
}

/**
   2 Stars
 */
.stars2 .star:nth-child(1),
.stars2 .star:nth-child(2) {
    color: #FF9800;
}

/**
   1 Star
 */
.stars1 .star:nth-child(1) {
    color: #FF9800;
}


svg .animated-svg-element {
    animation: moveUpDown 2s ease-in-out infinite;
}

svg .animated-svg-element:nth-of-type(even) {
    animation: moveUpDown 2s ease-in-out infinite;
    animation-delay: 3s;
}

.mentions-bar-container {
    display: flex;
    width: 46px;
    flex: 0 0 46px;
}

.legend-influencers, .legend-sites {
    position: absolute;
    bottom: 30px;
    width: 100%;
    padding: 0 25px 0 19px;
}

.mentions-legend-container {
    font-family: var(--default-font-family);
    font-size: 12px;
    color: rgb(51, 51, 51);
    font-weight: 500;

    span.legend-color {
        display: inline-block;
        width: 10px;
        height: 10px;
        margin-right: 5px;
        margin-left: 7px;
        border-radius: 50%;
    }

    .legend-color.positive {
        background-color: #57EBB6;
    }

    .legend-color.negative {
        background-color: #F5004A;
    }

    .legend-color.neutral {
        background-color: rgba(163, 165, 187, 0.3);
    }
}

.video-tutorial-button {
    color: white;
    background-color: #55489f;
    font-size: 16px;
    border-radius: 10px;
    margin: 10px 0;
    line-height: 40px;

    .base-button-element {
        line-height: unset;
        display: flex;
        justify-content: flex-start;
        white-space: nowrap;

        svg {
            width: 16px;
            height: auto;
            margin-right: 10px;
        }

        &:hover {
            svg path {
                color: white;
            }
        }
    }

    &:hover {
        background-color: #7a66ffd6;
    }
}

.highcharts-scatter-series {
    transform: translate(55px, 0px) !important;

    .highcharts-point {
        fill: transparent;
        transition: filter .25s ease, transform .25s ease, opacity .25s ease;
        filter: brightness(1) saturate(1);

        &:hover {
            filter: brightness(1.1) saturate(1.1); /* relative boost */
        }
    }
}

#spike-tooltip {
    position: absolute;
    z-index: 10;
    background: white;
    box-shadow: 0 0 10px rgba(122, 102, 255, 0.4);
    border-radius: 18px;
    padding: 20px;
    font-size: 14px;
    width: 310px;
    max-height: 280px;
    overflow: hidden scroll;
    margin-top: 10px;

    img {
        margin-top: 10px;
        width: 120px;
        height: auto;
    }

    #spike-tooltip-label {
        color: var(--purple-fog);
        margin-bottom: 10px;
        font-weight: bold;
    }

    #spike-tooltip-close {
        position: absolute;
        top: 10px;
        right: 10px;
        cursor: pointer;
        font-size: 18px;
    }

    #spike-tooltip-cta {
        display: block;
        color: var(--mainly-blue);
        font-weight: bold;
        margin-top: 10px;
        text-decoration: none;
    }
}

@media only screen and (min-width: 1400px) {
    #project_settings .section-config {
        width: 40%;
    }
}

@media only screen and (max-width: 1364px) {
    #my_mentions_page #chart_container {
        width: 100%;
        max-width: 100%;
    }


    #header {
        & #header_center {
            #header_center_right {
                display: flex;
                gap: 10px;
            }
        }
    }
}

@media only screen and (max-width: 1280px) {
    #content {
        padding-left: 0;
        margin-left: 0;
    }

    .my-mentions #my_mentions_page,
    #reports_container,
    #project_settings,
    #account_settings,
    #billing_settings {
        width: 100% !important;
        padding-left: 24px;
        padding-right: 24px;
        box-sizing: border-box;
    }

    body.has-submenu #account_notifications_container {
        width: inherit;
    }

    body, html {
        min-width: initial !important;
        font-size: 14px;
    }

    #submenu, #projects_placeholder {
        display: flex;
    }

    #header {
        #header_right {
            gap: 10px;
        }
    }

}

@media only screen and (max-width: 1200px) {

    #header_container .base-search-element.mentions-search {
        width: 200px;
    }

    #header {
        #header_right {
            gap: 6px;
        }
    }
}

@media only screen and (max-width: 1100px) {
    html, body {
        font-size: 12px;
    }

    #my_mentions_page .mention-list-item .column.source {
        display: none;
    }

    #my_mentions_page .mention-list-item .column.headline {
        width: 90% !important;
    }

    #my_mentions_page .my-mentions-list-item .title-element {
        line-height: 60px;
    }

    .my-mentions #header_title {
        display: none;
    }

    .my-mentions #header_container .calendar-element {
        margin: auto;
    }

    .my-mentions .filters-main-button {
        float: none;
        width: 100%;
    }

    #account_settings .my-profile-section .config.name-configs > div {
        width: 100%;
        margin-bottom: 10px;
    }

    #account_settings .my-profile-section .config.name-configs > div:first-child {
        padding-right: 0px;
    }

    .quick-research .bottom-preloader {
        width: 80%
    }

    #mentions_chart_container .metric-item .metric-label {
        font-size: 14px;
    }

    #header {
        #header_center_right {
            display: none !important;
        }
    }
}

@media only screen and (max-width: 990px) {
    span.filters-text {
        display: none;
    }

    #my_mentions_page .mention-list-item-expanded .header-container .header {
        width: 100% !important;
        padding: 0 72px;
    }

    #my_mentions_page .mention-list-item-expanded .column {
        padding: 0 14px;
    }

    #account_settings .my-profile-section .config, .white-label-section .config {
        width: 100%;
    }

    #project_settings .tracking-pixel-section .google-analytics-element .analytics-website-error {
        margin-left: 0px;
        display: block;
        margin-top: 13px;
    }
}

@media only screen and (max-width: 960px) {
    .quick-research .download-csv-button {
        display: none !important;
    }

    .quick-research .quickresearch-main-header {
        /*text-align: left !important;*/
    }

    #reports_container #tabs_content .time-frame-element {
        width: 100%;
        margin-top: 20px;
    }

    #header {
        & #header_right {
            .quick-action-button {
                display: none;
            }
        }
    }

}

@media only screen and (max-width: 880px) {
    .quick-research .mention-list-item .performance {
        display: none;
    }

    .quick-research .mention-list-item .column.source {
        display: none;
    }
}

@media only screen and (max-width: 850px) {
    .quick-research #header_title,
    .quick-research #header_right {
        display: none;
    }
}

@media only screen and (max-height: 760px) {
    .base-popup.pricing-popup {
        width: 1200px !important;
        height: 500px !important;
        max-height: 480px;
        margin-left: -600px !important;
        margin-top: -250px !important;
    }

    .base-popup.pricing-popup .plan-details ul li {
        display: inline-block;
        margin-left: 24px !important;
    }
}

body.dashboard-compare-page{
    #header_center_right{
        padding-right: 0 !important;
    }
}