:root {
    --escm-color-grey-es: #E9E7E7;
    --escm-color-grey-light-es: #F2F2F2;
    --escm-color-grey-dark-es: #D2D2D2;
    --escm-color-blue-es: #37BCDD;
    --escm-color-overlay-es: rgba(0, 0, 0, 0.2);
}

.escm-overlay {
    position: fixed;
    background-color: var(--escm-color-overlay-es);
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    z-index: 100000;
}

/* Components */

.escm-main-container {
    font-size: 1em;
}

.escm-main-container svg {
    height: 1em;
}

.escm-paragraph {
    margin: 2em 0 0;
    font-size: 1em;
}

.escm-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2em;
}

.escm-button {
    color: #fff;
    background-color: var(--escm-color-blue-es);
    padding: 10px;
    border: 1px var(--escm-color-blue-es) solid;
    text-decoration: none;
    border-radius: 0.25em;
}

.escm-button:hover {
    color: var(--escm-color-blue-es);
    background-color: #fff;
}

.escm-button-negative {
    color: var(--escm-color-blue-es);
    background-color: #fff;
}

.escm-button-negative:hover {
    color: #fff;
    background-color: var(--escm-color-blue-es);
}

.escm-switch {
    display: inline-block;
    position: relative;
    width: 2.5em;
    height: 1.5em;
    cursor: pointer;
    overflow: hidden;
    vertical-align: middle;
}

.escm-switch input {
    display: none;
}

.escm-switch input + span {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--escm-color-grey-dark-es);
    border-radius: 0.75em;
    z-index: 1;
}

.escm-switch input:checked + span {
    background: #06c306;
}

.escm-switch input + span:before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0.2em;
    width: 1.1em;
    height: 1.1em;
    background: white;
    border-radius: 50%;
    transform: translateY(-50%);
    transition: all .5s;
    z-index: 1;
}

.escm-switch input:checked + span:before {
    left: 1.2em;
}

/* End components */

/* Cookie Home banner */

.escm-home-container {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: white;
    padding: 2em;
}

.escm-home-header-decline-link {
    align-items: center;
    font-size: 1em;
    text-decoration: underline;
}

@media screen and (max-width: 40em) {
    .escm-home-container .escm-header-controls {
        display: block;
    }

    .escm-header-controls .escm-language-select {
        margin-bottom: 5px;
    }
}

/* End cookie Home banner */

/* Cookie preference */

.escm-header-controls .escm-close-button-svg {
    height: 1.5em;
    vertical-align: middle;
}

.escm-header-controls .escm-close-button-svg path {
    d: path("M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z");
    fill: currentColor;
}

.escm-preference-container {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: white;
    padding: 2em;
    width: 80%;
    max-height: 80%;
    overflow-y: auto;
}

.escm-preference-loader-container {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--escm-color-overlay-es);
    display: none;
    z-index: 2;
}

.escm-preference-loader-centrer {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.escm-preference-table {
    margin-top: 2em;
}

@media screen and (min-width: 64em) {
    .escm-preference-table-header {
        display: flex;
        background-color: var(--escm-color-blue-es);
        color: white;
        padding: 8px;
        font-weight: 700;
    }

    .escm-preference-table-body .escm-preference-table-item:nth-child(even) {
        background-color: var(--escm-color-grey-light-es);
    }

    .escm-preference-table-item {
        padding: 8px;
    }

    .escm-preference-table-item, .escm-preference-table-item-content, .escm-preference-table-item-footer {
        display: flex;
    }

    .escm-preference-table-cell {
        margin: 8px;
        word-break: break-word;
    }

    .escm-preference-table-item-content {
        flex: 1;
    }

    .escm-preference-table-item-footer {
        width: 43%;
        max-width: 300px;
    }

    .escm-preference-table-cell.escm-preference-cell-name {
        width: 41.5%;
    }

    .escm-preference-table-cell.escm-preference-cell-description {
        width: 47%;
    }

    .escm-preference-table-cell.escm-preference-cell-require {
        width: 32%;
        max-width: 130px;
        text-align: center;
    }

    .escm-preference-table-cell.escm-preference-cell-consent {
        font-weight: bold;
        margin-bottom: 4px;
        width: 63%;
        max-width: 150px;
        text-align: center;
    }
}

@media screen and (max-width: 64em) {
    .escm-preference-table-body {
        display: flex;
        align-items: stretch;
        justify-content: center;
        flex-wrap: wrap;
    }

    .escm-preference-table-header {
        display: none;
    }

    .escm-preference-table .escm-preference-table-item {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        background-color: var(--escm-color-grey-light-es);
        margin: 8px;
        padding: 16px;
        width: calc(50% - 16px);
        min-width: 250px;
    }

    .escm-preference-table .escm-preference-table-item-footer {
        display: flex;
        align-items: center;
        justify-content: space-between;
        background-color: var(--escm-color-grey-es);
        margin: 16px -16px -16px -16px;
        padding: 4px 16px;
    }

    .escm-preference-table-cell.escm-preference-cell-name {
        margin-bottom: 1em;
    }
}

@media screen and (max-width: 40em) {
    .escm-preference-table .escm-preference-table-item {
        width: 100%;
    }
}

/* End cookie preference */

/* Minimized IHM */

.escm-minimized-button {
    position: fixed;
    bottom: 24px;
    border: none;
    border-radius: 45px;
    height: 45px;
    width: 45px;
    color: white;
    font-size: 18px;
    box-shadow: rgba(0, 0, 0, 0.15) 0 4px 24px, rgba(0, 0, 0, 0.05) 0 2px 6px;
    transform: scale(1);
    z-index: 100000;
}

/* CSS custom mew */

.cookiesOpenButton {
    background-color: var(--escm-color-blue-es);
}

.cookiesPreferences-table-header {
    background-color: var(--escm-color-blue-es);
}
.cookiesPreferences-action .button {
    background-color: var(--escm-color-blue-es);
    border: 0;
    border-radius: 5px;
    margin: 0px 12px 0px 0px;
    color: white;
    padding: 17px;
}




/* End CSS custom mew */

.escm-minimized-button svg {
    vertical-align: baseline;
    color: white;
}

.escm-minimized-button svg path {
    d: path("M257.5 27.6c-.8-5.4-4.9-9.8-10.3-10.6c-22.1-3.1-44.6 .9-64.4 11.4l-74 39.5C89.1 78.4 73.2 94.9 63.4 115L26.7 190.6c-9.8 20.1-13 42.9-9.1 64.9l14.5 82.8c3.9 22.1 14.6 42.3 30.7 57.9l60.3 58.4c16.1 15.6 36.6 25.6 58.7 28.7l83 11.7c22.1 3.1 44.6-.9 64.4-11.4l74-39.5c19.7-10.5 35.6-27 45.4-47.2l36.7-75.5c9.8-20.1 13-42.9 9.1-64.9c-.9-5.3-5.3-9.3-10.6-10.1c-51.5-8.2-92.8-47.1-104.5-97.4c-1.8-7.6-8-13.4-15.7-14.6c-54.6-8.7-97.7-52-106.2-106.8zM208 144a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM144 336a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm224-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z");
}

.escm-minimized-button-left {
    left: 24px;
}

.escm-minimized-button-right {
    right: 24px;
}

.escm-minimized-button:hover {
    cursor: pointer;
    transform: scale(1.1);
    transition: transform 250ms ease-in;
}

/* End minimized IHM */

/* Loader */

.escm-loader-ellipsis {
    display: inline-block;
    width: 80px;
    height: 80px;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.escm-loader-ellipsis div {
    position: absolute;
    top: 33px;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #fff;
    animation-timing-function: cubic-bezier(0, 1, 1, 0);
}

.escm-loader-ellipsis div:nth-child(1) {
    left: 8px;
    animation: escm-loader-ellipsis1 0.6s infinite;
}

.escm-loader-ellipsis div:nth-child(2) {
    left: 8px;
    animation: escm-loader-ellipsis2 0.6s infinite;
}

.escm-loader-ellipsis div:nth-child(3) {
    left: 32px;
    animation: escm-loader-ellipsis2 0.6s infinite;
}

.escm-loader-ellipsis div:nth-child(4) {
    left: 56px;
    animation: escm-loader-ellipsis3 0.6s infinite;
}

@keyframes escm-loader-ellipsis1 {
    0% {
        transform: scale(0);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes escm-loader-ellipsis3 {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(0);
    }
}

@keyframes escm-loader-ellipsis2 {
    0% {
        transform: translate(0, 0);
    }
    100% {
        transform: translate(24px, 0);
    }
}

/* End loader */

/* Popins header */

.escm-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.escm-header-title {
    font-size: 1.15em;
    margin-right: 16px;
    font-weight: 600;
    text-transform: uppercase;
}

.escm-header-controls {
    display: flex;
    align-items: center;
}

.escm-header-controls .escm-language-select {
    margin-right: 24px;
}

.escm-header-controls .escm-language-active {
    position: relative;
    display: flex;
    align-items: center;
    font-weight: 500;
    font-size: 1em;
}

.escm-header-controls .escm-language-select svg path {
    d: path("M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z");
}

.escm-header-controls .escm-language-active:hover {
    cursor: pointer;
}

.escm-header-controls .escm-language-active:hover:after {
    content: '';
    position: absolute;
    top: 100%;
    height: 12px;
    left: 0;
    right: 0;
    z-index: 2;
}

.escm-header-controls .escm-language-select-list-container {
    position: absolute;
    margin: 12px 0 0 -8px;
    z-index: 2;
    background-color: white;
    border-radius: 8px;
    padding: 8px;
    box-shadow: 0 10px 40px rgba(129, 128, 144, 0.15);
    display: none;
    transition: all .3s;
    max-height: calc(100% - 100px);
    overflow: auto;
}

.escm-language-select:hover .escm-language-select-list-container {
    opacity: 1;
    display: block;
    transition: all .3s;
    transition-delay: .2s;
}

.escm-header-controls .escm-language-item {
    font-size: 1em;
    font-weight: 500;
    text-align: center;
    line-height: 38px;
    cursor: pointer;
}

.escm-header-controls .escm-language-item.escm-language-item-current {
    height: 0;
    overflow: hidden;
}

.escm-header-controls .escm-language-item:hover {
    color: #7d8587;
}

/* End popins header */

/* Utils */

.escm-me-1 {
    margin-right: 1em;
}

.escm-main-container svg path {
    fill: currentColor;
}

.escm-display-block {
    display: block;
}

.escm-overflow-no-scroll {
    overflow: hidden;
}

.escm-link {
    color: #838583;
}

.escm-link:hover {
    color: inherit;
}

/* End utils */
