:root {

    --cookies-banner-bg: #fff;
    --cookies-banner-color: #000;

    --cookies-manager-bg: #fff;
    --cookies-manager-color: #000;

    --cookies-action-color: #78ff00;

}

html.cookies-manager-active {

    overflow: hidden !important;

}

.cookies-banner {

    position: fixed;

    bottom: 0;
    left: 0;

    width: auto;
    max-width: fit-content;

    /* width: 90%;
    max-width: 900px; */

    padding: 2rem;

    background-color: var(--cookies-banner-bg);
    color: var(--cookies-banner-color);

    transition: transform ease .3s;

    z-index: 9999999998;

}

.cookies-banner p {

    margin: 0;

}

.cookies-banner hr {

    margin: 2vh 0;

    background-color: var(--cookies-banner-color);

}

@media screen and (max-width: 63.688em) {

.cookies-banner {

    padding: 1rem;

}

.cookies-banner > div {

    display: flex;

    flex-direction: column;
    align-items: start;

}

.cookies-banner .marquee > span {

    font-size: .7rem;

}

}

@media screen and (max-width: 63.688em) {

.cookies-banner > div > button:not(:first-of-type) {

    margin-top: 1vh;

}

}

@media screen and (min-width: 63.75em) {

    .cookies-banner > div > button:not(:first-of-type) {

        margin-left: 0.5rem;

    }

}

body:not(.cookies-manager-active) .cookies-manager {

    opacity: 0;
    pointer-events: none;

}

.cookies-manager {

    position: fixed;

    top: 50%;
    left: 50%;

    width: 80%;
    max-width: 900px;

    max-height: 90vh;
    overflow: auto;

    padding: 2rem;
    
    background-color: var(--cookies-manager-bg);

    transform: translate(-50%, -50%);

    transition: opacity ease .3s;

    z-index: 9999999999;

}

.cookies-manager > p {

    margin: 0;

}

.cookies-manager header {

    display: flex;

    align-items: center;
    margin-top: 2vh;

    display: grid;
    grid-template-columns: 200px auto auto;


}

.cookies-manager header h4 {

    margin: 0;

}

.cookies-manager header .--toggle {

    width: 2rem;
    height: 2rem;

    margin-left: 1rem;
    margin-right: 0.5rem;

    flex-shrink: 0;

    display: inline-flex;
    align-items: self-end;

    transform: translateY(0.4em);

}

.cookies-manager header .--toggle span {

    display: inline-flex;

    transform: rotate(90deg);

}

.cookies-manager .accordion.active > p {

    display: block;

}

.cookies-manager .accordion > p {

    display: none;

    margin-bottom: 0;
    margin-top: 2vh;

}

.cookies-manager header > div {

    display: flex;

    justify-content: end;
    align-items: center;

}

.cookies-manager hr {

    margin: 2vh 0;

}

.cookies-manager .marquee .inner-content,
.cookies-banner .marquee .inner-content {

    left: 1rem;

}

@media screen and (max-width: 50.7rem) {

    .cookies-manager {

        padding: .5rem;

    }

    .cookies-manager header {

        display: flex;

        flex-direction: column;

        align-items: flex-start;

    }

    .cookies-manager header > div {

        width: 100%;

    }

    .cookies-manager header .--toggle {

        margin: 0;

        order: 3;

    }

    .cookies-manager header .switch {

        margin: 3vh 0;

    }

}

@media screen and (max-width: 33.125em) {

    .cookies-manager header {

        display: flex;
        flex-direction: column;
        gap: 1rem;

    }

    .cookies-manager header .--toggle {

        margin-left: 0;

    }

}

@media screen and (max-width: 63.688em) {

    .cookies-manager footer {

        display: flex;

        flex-direction: column;

        align-items: center;

    }

    .cookies-manager footer > button:not(:first-child) {

        margin-top: 1vh;

    }

}

body:not(.cookies-banner-active) .cookies-banner {

    transform: translateY(100%);
    pointer-events: none;

}

body::after {

    position: absolute;

    content: "";

    width: 100vw;
    height: 100vh;

    top: 0;
    left: 0;

    background-color: #DBDBDB;

    opacity: 0;

    pointer-events: none;

    transition: opacity ease .3s;

}

body.cookies-manager-active::after {

    position: absolute;

    content: "";

    width: 100vw;
    height: 100vh;

    top: 0;
    left: 0;

    background-color: #DBDBDB;

    opacity: .5;

    z-index: 399;

}

.cookies-banner a.link,
.cookies-manager a.link {

    text-decoration: underline;

}

.cookies-banner a.link:hover,
.cookies-manager a.link:hover {

    color: FB8E1D !important;

}

.cookies-manager .--cm-button {

    background-color: white !important;
    color: black !important;

}

.cookies-manager .--cm-button.active {

    background-color: var(--cookies-action-color) !important;
    color: black !important;

}

.cookies-manager .buttons-wrapper.disabled {

    opacity: .6;
    cursor: not-allowed;

}

.cookies-manager .buttons-wrapper.disabled > button {

    pointer-events: none;
    user-select: none;

}

@media (any-hover: hover) {

    .cookies-manager .buttons-wrapper:not(.disabled) > button:hover {

        background-color: var(--cookies-action-color) !important;
        color: black !important;

    }

}

[class^=cookies-] button {

    background-size: 100% 100% !important;

    width: auto;
    width: fit-content;

    font-weight: 500;

    color: black !important;
    background-color: transparent !important;
    border: none;

    padding: 1rem 2rem;

}

.cookies-manager .buttons-wrapper button {

    border: 1px solid var(--cookies-action-color) !important;

}