.klaro,
.klaro button {
    font-family: var(--font-family, inherit);
    font-size: var(--font-size, 14px);
}

.klaro.cm-as-context-notice {
    height: 100%;
    padding: 12px 0;
}

.klaro :is(.cookie-modal, .context-notice, .cookie-notice) {
    color: var(--light1, #fafafa);
}

.klaro :is(.cookie-modal, .context-notice, .cookie-notice) a {
    color: var(--link-color);
    text-decoration: none;
}

.klaro :is(.cookie-modal, .context-notice, .cookie-notice) :is(p, strong, h1, h2, ul, li) {
    color: var(--light1, #fafafa);
    display: block;
    text-align: left;
    margin: 0;
    padding: 0;
    margin-top: .7em;
}

.klaro :is(.cookie-modal, .context-notice, .cookie-notice) :is(h1, h2, h3, h4, h5, h6) {
    font-family: var(--title-font-family, inherit);
}

.klaro :is(.cookie-modal, .context-notice, .cookie-notice) .cm-btn,
.klaro :is(.cm-link, .cn-learn-more) {
    color: var(--button-text-color, #fff);
    background-color: var(--dark2, #5c5c5c);
    border: 0;
    border-radius: var(--border-radius, 4px);
    padding: .4em;
    margin-right: .5em;
    font-size: 1em;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
}

.klaro :is(.cookie-modal, .context-notice, .cookie-notice) .cm-btn:disabled {
    opacity: .5;
}

.klaro :is(.cookie-modal, .context-notice, .cookie-notice) .cm-btn.cm-btn-close {
    background-color: var(--light2, #c8c8c8);
}

.klaro :is(.cookie-modal, .context-notice, .cookie-notice) .cm-btn:is(.cm-btn-success, .cm-btn-success-var, .cm-btn-info) {
    background-color: var(--bs-primary);
}

.klaro .cookie-modal .cm-btn.cm-btn-success,
.klaro .cookie-modal .cm-btn.cm-btn-success-var,
.klaro .cookie-modal .cm-btn.cm-btn-info,
.klaro .context-notice .cm-btn.cm-btn-success,
.klaro .context-notice .cm-btn.cm-btn-success-var,
.klaro .context-notice .cm-btn.cm-btn-info,
.klaro .cookie-notice .cm-btn.cm-btn-success,
.klaro .cookie-notice .cm-btn.cm-btn-success-var,
.klaro .cookie-notice .cm-btn.cm-btn-info {
  background-color: var(--bs-primary) !important;
  color: var(--text-on-primary, #fff) !important;
}

.klaro .cookie-modal .cm-btn.cm-btn-close,
.klaro .context-notice .cm-btn.cm-btn-close,
.klaro .cookie-notice .cm-btn.cm-btn-close,
.klaro .cookie-modal .cm-btn.cm-btn-danger.cn-decline,
.klaro .context-notice .cm-btn.cm-btn-danger.cn-decline,
.klaro .cookie-notice .cm-btn.cm-btn-danger.cn-decline {
  background-color: var(--dark2, #5c5c5c) !important;
  color: var(--button-text-color, #fff) !important;
}

.klaro :is(.cm-link.cn-learn-more:hover, .cm-btn.cn-decline:hover, .cookie-modal .cm-btn.cm-btn-success:hover, .cookie-modal .cm-btn.cm-btn-success-var:hover, .cookie-modal .cm-btn.cm-btn-info:hover, .context-notice .cm-btn.cm-btn-success:hover, .context-notice .cm-btn.cm-btn-success-var:hover, .context-notice .cm-btn.cm-btn-info:hover, .cookie-notice .cm-btn.cm-btn-success:hover, .cookie-notice .cm-btn.cm-btn-success-var:hover, .cookie-notice .cm-btn.cm-btn-info:hover) {
    color: var(--link-hover-color);
    text-decoration: underline;
}

.klaro :is(.cookie-modal, .context-notice, .cookie-notice) .cm-switch-container {
    position: relative;
    display: block;
    min-height: 40px;
    padding: 10px 10px 10px 66px;
    line-height: 20px;
    vertical-align: middle;
    border-bottom: 1px solid var(--light2, #c8c8c8);
}

.klaro :is(.cookie-modal, .context-notice, .cookie-notice) .cm-switch-container:last-child {
    border-bottom: 0;
}

.klaro :is(.cookie-modal, .context-notice, .cookie-notice) .cm-switch-container p {
    margin-top: 0;
}

.klaro :is(.cookie-modal, .context-notice, .cookie-notice) .cm-switch,
.klaro :is(.cookie-modal, .context-notice, .cookie-notice) .cm-list-input {
    position: absolute;
    top: 0;
    left: 0;
    width: 50px;
    height: 30px;
}

.klaro :is(.cookie-modal, .context-notice, .cookie-notice) .cm-switch {
    display: inline-block;
}

.klaro :is(.cookie-modal, .context-notice, .cookie-notice) .cm-list-input {
    opacity: 0;
}

.klaro :is(.cookie-modal, .context-notice, .cookie-notice) .cm-list-title {
    font-size: .9em;
    font-weight: 600;
}

.klaro :is(.cookie-modal, .context-notice, .cookie-notice) .cm-list-description {
    color: var(--dark3, #7c7c7c);
    font-size: .9em;
    padding-top: 4px;
}

.klaro :is(.cookie-modal, .context-notice, .cookie-notice) .cm-list-label .cm-switch {
    left: 0;
}

.klaro :is(.cookie-modal, .context-notice, .cookie-notice) .cm-list-label .slider {
    position: absolute;
    inset: 0;
    width: 50px;
    display: inline-block;
    cursor: pointer;
    background-color: var(--white2, #f2f2f2);
    box-shadow: 0 4px 6px 0 rgba(0, 0, 0, .2), 5px 5px 10px 0 rgba(0, 0, 0, .19);
    transition: .4s;
}

.klaro :is(.cookie-modal, .context-notice, .cookie-notice) .cm-list-label .slider::before {
    content: "";
    position: absolute;
    left: 5px;
    bottom: 5px;
    width: 20px;
    height: 20px;
    background-color: var(--white3, #e6e6e6);
    transition: .4s;
}

.klaro :is(.cookie-modal, .context-notice, .cookie-notice) .cm-list-label .slider.round {
    border-radius: 30px;
}

.klaro :is(.cookie-modal, .context-notice, .cookie-notice) .cm-list-label .slider.round::before {
    border-radius: 50%;
}

.klaro :is(.cookie-modal, .context-notice, .cookie-notice) .cm-list-label input:focus + .slider {
    box-shadow: 0 0 1px var(--green3, #48dfb2);
}

.klaro :is(.cookie-modal, .context-notice, .cookie-notice) .cm-list-label input:checked + .slider::before,
.klaro :is(.cookie-modal, .context-notice, .cookie-notice) .cm-list-input:checked + .cm-list-label .slider::before,
.klaro :is(.cookie-modal, .context-notice, .cookie-notice) .cm-list-input.half-checked:checked + .cm-list-label .slider::before,
.klaro :is(.cookie-modal, .context-notice, .cookie-notice) .cm-list-input.only-required + .cm-list-label .slider::before {
    transform: translateX(20px);
}

.klaro :is(.cookie-modal, .context-notice, .cookie-notice) .cm-list-input:checked + .cm-list-label .slider {
    background-color: var(--bs-primary);
}

.klaro :is(.cookie-modal, .context-notice, .cookie-notice) .cm-list-input.half-checked:checked + .cm-list-label .slider {
    background-color: var(--green1, #1a936f);
    opacity: .6;
}

.klaro :is(.cookie-modal, .context-notice, .cookie-notice) .cm-list-input.only-required + .cm-list-label .slider,
.klaro :is(.cookie-modal, .context-notice, .cookie-notice) .cm-list-input.required:checked + .cm-list-label .slider {
    background-color: var(--green2, #24cc9a);
    opacity: .8;
}

.klaro :is(.cookie-modal, .context-notice, .cookie-notice) .cm-list-input.required:checked + .cm-list-label .slider {
    cursor: not-allowed;
}

.klaro :is(.cookie-modal, .context-notice, .cookie-notice) .cm-list-input:focus + .cm-list-label .slider {
    box-shadow: 0 4px 6px 0 rgba(125, 125, 125, .2), 5px 5px 10px 0 rgba(125, 125, 125, .19);
}

.klaro .context-notice {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 12px;
    background-color: var(--light1, #fafafa);
    color: var(--dark1, #333);
    border: var(--border-width, 1px) var(--border-style, solid) var(--light2, #c8c8c8);
    border-radius: var(--border-radius, 4px);
}

.klaro .context-notice.cm-dark {
    background-color: var(--dark1, #333);
    border-color: var(--dark2, #5c5c5c);
}

.klaro .context-notice.cm-dark p a {
    color: var(--blue2, #459cdc);
}

.klaro .context-notice p {
    color: var(--dark1, #333);
    flex-grow: 0;
    text-align: center;
    margin: 0;
    padding-top: 0;
}

.klaro .context-notice p a {
    color: var(--link-hover-color);
    text-decoration: underline;
}

.klaro .context-notice p.cm-buttons {
    margin-top: 12px;
}

.klaro .context-notice p.ccn-description-empty-store {
    margin-top: 24px;
    font-size: var(--font-size, 14px);
}

.klaro .cookie-modal,
.klaro .cookie-notice:not(.cookie-modal-notice),
.klaro .cookie-modal-notice {
    background-color: var(--dark1, #333);
    color: var(--light1, #fafafa);
    box-shadow: 0 4px 6px 0 rgba(0, 0, 0, .2), 5px 5px 10px 0 rgba(0, 0, 0, .19);
}

.klaro .cookie-modal {
    position: fixed;
    inset: 0;
    overflow: hidden;
    z-index: 1000;
}

.klaro .cookie-modal.cm-embedded {
    position: relative;
    height: inherit;
    width: inherit;
    z-index: 0;
}

.klaro .cookie-modal.cm-embedded .cm-modal.cm-klaro,
.klaro .cookie-modal-notice {
    position: relative;
    transform: none;
}

.klaro .cookie-modal .cm-bg {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .5);
}

.klaro .cookie-modal .cm-modal.cm-klaro,
.klaro .cookie-modal-notice {
    width: 100%;
    max-height: 98%;
    overflow: auto;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1001;
}

.klaro .cookie-modal .cm-modal.cm-klaro {
    position: fixed;
}

@media (min-width: 660px) {
    .klaro .cookie-modal .cm-modal.cm-klaro,
    .klaro .cookie-modal-notice {
        position: relative;
        width: auto;
        height: auto;
        margin: 0 auto;
        max-width: 640px;
        border-radius: var(--border-radius, 4px);
    }
}

@media (min-width: 400px) {
    .klaro .cookie-modal-notice {
        max-width: 400px;
    }
}

.klaro .cookie-modal .cm-modal .hide {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 1;
    border: 0;
    background: none;
    cursor: pointer;
}

.klaro .cookie-modal .cm-modal .hide svg {
    stroke: var(--light1, #fafafa);
}

.klaro .cookie-modal .cm-modal .cm-header,
.klaro .cookie-modal .cm-modal .cm-footer {
    padding: 1em;
    border-color: var(--dark2, #5c5c5c);
    border-style: var(--border-style, solid);
    border-width: var(--border-width, 1px);
}

.klaro .cookie-modal .cm-modal .cm-header {
    padding-right: 24px;
    border-bottom-style: solid;
}

.klaro .cookie-modal .cm-modal .cm-footer {
    border-top-style: solid;
}

.klaro .cookie-modal .cm-modal .cm-header h1 {
    display: block;
    margin: 0;
    font-size: 2em;
}

.klaro .cookie-modal .cm-modal .cm-header h1.title {
    padding-right: 20px;
}

.klaro .cookie-modal .cm-modal .cm-body {
    padding: 1em;
}

.klaro .cookie-modal .cm-modal .cm-body ul,
.klaro .cookie-modal .cm-modal .cm-body span {
    display: block;
}

.klaro .cookie-modal .cm-modal .cm-body span {
    width: auto;
}

.klaro .cookie-modal .cm-modal .cm-body ul.cm-services,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes {
    padding: 0;
    margin: 0;
}

.klaro .cookie-modal .cm-modal .cm-body :is(li.cm-service, li.cm-purpose) {
    position: relative;
    min-height: 40px;
    padding-left: 60px;
    line-height: 20px;
    vertical-align: middle;
}

.klaro .cookie-modal .cm-modal .cm-body :is(li.cm-service, li.cm-purpose):first-child {
    margin-top: 0;
}

.klaro .cookie-modal .cm-modal .cm-body :is(li.cm-service, li.cm-purpose) p {
    margin-top: 0;
}

.klaro .cookie-modal .cm-modal .cm-body :is(li.cm-service, li.cm-purpose) p.purposes,
.klaro .cookie-modal .cm-modal .cm-body :is(.cm-caret, .cm-content) {
    color: var(--light3, #a0a0a0);
}

.klaro .cookie-modal .cm-modal .cm-body .cm-content {
    display: none;
    margin-left: -40px;
}

.klaro .cookie-modal .cm-modal .cm-body .cm-content.expanded {
    display: block;
    margin-top: 10px;
}

.klaro .cookie-modal .cm-modal .cm-body .cm-toggle-all {
    padding-top: 1em;
    border-top: 1px solid var(--dark2, #5c5c5c);
}

.klaro .cookie-modal .cm-modal .cm-body .cm-list-title {
    font-weight: 600;
}

.klaro .cookie-modal .cm-modal .cm-body :is(.cm-opt-out, .cm-required) {
    color: var(--dark2, #5c5c5c);
    padding-left: .2em;
    font-size: .8em;
}

.klaro .cookie-notice:not(.cookie-modal-notice) {
    position: fixed;
    right: 0;
    bottom: 0;
    width: 100%;
    z-index: 999;
}

@media (min-width: 1024px) {
    .klaro .cookie-notice:not(.cookie-modal-notice) {
        position: var(--notice-position, fixed);
        right: var(--notice-right, 20px);
        left: var(--notice-left, auto);
        bottom: var(--notice-bottom, 20px);
        top: var(--notice-top, auto);
        max-width: var(--notice-max-width, 400px);
        border-radius: var(--border-radius, 4px);
    }
}

@media (max-width: 1023px) {
    .klaro .cookie-notice:not(.cookie-modal-notice) {
        border: 0;
        border-radius: 0;
    }
}

.klaro .cookie-notice:not(.cookie-modal-notice).cn-embedded {
    position: relative;
    height: inherit;
    width: inherit;
    left: inherit;
    right: inherit;
    bottom: inherit;
    z-index: 0;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body {
    margin: 0;
    padding: 0 1em 1em;
}

.klaro .cookie-notice:not(.cookie-modal-notice).cn-embedded .cn-body {
    padding-top: .5em;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body p {
    margin-bottom: .5em;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body p.cn-changes {
    text-decoration: underline;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-buttons {
    display: inline-block;
    margin-top: -0.5em;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-buttons button.cm-btn {
    margin-top: .5em;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-ok {
    display: flex;
    flex-flow: row wrap;
    justify-content: right;
    align-items: baseline;
    margin-top: -0.5em;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-ok :is(a, div) {
    margin-top: .5em;
}

.klaro .cookie-notice-hidden {
    display: none !important;
}
.klaro :is(.cm-link.cn-learn-more, .cm-btn.cm-btn-danger.cn-decline):hover {
    color: inherit !important;
    border-color: inherit !important;
    text-decoration: underline !important;
}

.klaro .cookie-modal .cm-list-input:checked + .cm-list-label .slider,
.klaro .context-notice .cm-list-input:checked + .cm-list-label .slider,
.klaro .cookie-notice .cm-list-input:checked + .cm-list-label .slider {
    background-color: var(--bs-primary) !important;
}

.klaro .cookie-modal .cm-list-input.half-checked:checked + .cm-list-label .slider,
.klaro .context-notice .cm-list-input.half-checked:checked + .cm-list-label .slider,
.klaro .cookie-notice .cm-list-input.half-checked:checked + .cm-list-label .slider {
    background-color: var(--bs-primary) !important;
    opacity: .6;
}

.klaro .cookie-modal .cm-list-input.only-required + .cm-list-label .slider,
.klaro .context-notice .cm-list-input.only-required + .cm-list-label .slider,
.klaro .cookie-notice .cm-list-input.only-required + .cm-list-label .slider,
.klaro .cookie-modal .cm-list-input.required:checked + .cm-list-label .slider,
.klaro .context-notice .cm-list-input.required:checked + .cm-list-label .slider,
.klaro .cookie-notice .cm-list-input.required:checked + .cm-list-label .slider {
    background-color: var(--bs-primary) !important;
    opacity: .8;
}
.klaro .cookie-modal .cm-list-label .slider::before,
.klaro .context-notice .cm-list-label .slider::before,
.klaro .cookie-notice .cm-list-label .slider::before {
    background-color: #8a8a8a !important;
}
.klaro .cm-link.cn-learn-more {
    color: var(--button-text-color, #fff) !important;
}
