#klaro,
#klaro * {
    box-sizing: border-box;
}

#klaro .cookie-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 99999 !important;
    pointer-events: none !important;
    font-family: "Source Sans Pro", Arial, sans-serif !important;
}

#klaro .cookie-modal .cm-bg {
    display: none !important;
}

#klaro .cookie-modal .cm-modal {
    position: fixed !important;
    top: auto !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    max-width: none !important;
    max-height: 100vh !important;
    margin: 0 !important;
    transform: none !important;
    overflow-y: auto !important;
    background: #f7f7f4 !important;
    color: #545c68 !important;
    border: 0 !important;
    border-top: 1px solid #d8d8d8 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    pointer-events: auto !important;
    font-family: "Source Sans Pro", Arial, sans-serif !important;
}

#klaro .cookie-modal .cm-header {
    width: 100% !important;
    min-height: 67px !important;
    padding-top: 15px !important;
    padding-bottom: 8px !important;
    padding-left: max(105px, calc((100vw - 1200px) / 2 + 105px)) !important;
    padding-right: max(15px, calc((100vw - 1200px) / 2 + 15px)) !important;
    background-color: #f7f7f4 !important;
    background-image: url("/themes/custom/pzugd_theme/css/cookies.png") !important;
    background-repeat: no-repeat !important;
    background-position:
        max(15px, calc((100vw - 1200px) / 2 + 15px))
        15px !important;
    border: 0 !important;
}

#klaro .cookie-modal .cm-header .title {
    display: none !important;
}

#klaro .cookie-modal .cm-header p {
    margin: 0 !important;
    padding: 0 !important;
    color: #545c68 !important;
    font-family: "Source Sans Pro", Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 20px !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
}

#klaro .cookie-modal .cm-header a {
    color: #004f9e !important;
    text-decoration: none !important;
}

#klaro .cookie-modal .cm-header a:hover {
    color: #004f9e !important;
    text-decoration: underline !important;
}

#klaro .cookie-modal .cm-body {
    width: 100% !important;
    padding-top: 0 !important;
    padding-bottom: 15px !important;
    padding-left: max(105px, calc((100vw - 1200px) / 2 + 105px)) !important;
    padding-right: max(15px, calc((100vw - 1200px) / 2 + 15px)) !important;
    background: #f7f7f4 !important;
    color: #545c68 !important;
    font-family: "Source Sans Pro", Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 20px !important;
}

#klaro .cookie-modal .cm-purposes {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

#klaro .cookie-modal .cm-purpose {
    position: relative !important;
    margin: 0 0 5px 0 !important;
    padding: 0 !important;
    border: 0 !important;
    color: #545c68 !important;
}

#klaro .cookie-modal .cm-purpose > .cm-services {
    display: none !important;
}

#klaro .cookie-modal .cm-toggle-all {
    display: none !important;
}

#klaro .cookie-modal .cm-purpose > .cm-list-label {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    min-height: 20px !important;
    margin: 0 !important;
    padding: 0 0 0 25px !important;
    cursor: pointer !important;
    color: #545c68 !important;
    font-family: "Source Sans Pro", Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 20px !important;
    font-weight: 700 !important;
    letter-spacing: normal !important;
    outline: none !important;
    box-shadow: none !important;
}

#klaro .cookie-modal .cm-purpose > .cm-list-label .cm-list-title {
    color: #545c68 !important;
    font-family: "Source Sans Pro", Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 20px !important;
    font-weight: 700 !important;
    letter-spacing: normal !important;
}

#klaro .cookie-modal .cm-required {
    display: none !important;
}

#klaro .cookie-modal .cm-purpose > [id^="purpose-item-"][id$="-description"] {
    margin: 0 !important;
    padding: 0 !important;
    color: #545c68 !important;
    font-family: "Source Sans Pro", Arial, sans-serif !important;
    font-size: 10px !important;
    line-height: 20px !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
}

#klaro .cookie-modal .cm-purpose > [id^="purpose-item-"][id$="-description"] p,
#klaro .cookie-modal .cm-purpose .cm-list-description {
    margin: 0 !important;
    padding: 0 !important;
    color: #545c68 !important;
    font-family: "Source Sans Pro", Arial, sans-serif !important;
    font-size: 10px !important;
    line-height: 20px !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
}

#klaro .cookie-modal .cm-purpose > .cm-list-input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
}

#klaro .cookie-modal .cm-purpose > .cm-list-label .cm-switch {
    position: absolute !important;
    top: 50% !important;
    left: 0 !important;
    width: 20px !important;
    height: 20px !important;
    transform: translateY(-50%) !important;
}

#klaro .cookie-modal .cm-purpose > .cm-list-label .slider {
    position: relative !important;
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border: 1px solid #d8d8d8 !important;
    border-radius: 2px !important;
    outline: none !important;
    box-shadow: none !important;
}

#klaro .cookie-modal .cm-purpose > .cm-list-label .slider::before {
    display: none !important;
}

#klaro .cookie-modal .cm-purpose > .cm-list-input:checked + .cm-list-label .slider,
#klaro .cookie-modal .cm-purpose > .cm-list-input.required + .cm-list-label .slider {
    background: #ffffff !important;
    border: 1px solid #d8d8d8 !important;
    outline: none !important;
    box-shadow: none !important;
}

#klaro .cookie-modal .cm-purpose > .cm-list-input:checked + .cm-list-label .slider::after,
#klaro .cookie-modal .cm-purpose > .cm-list-input.required + .cm-list-label .slider::after {
    content: "" !important;
    position: absolute !important;
    left: 5px !important;
    top: 2px !important;
    width: 6px !important;
    height: 11px !important;
    border: solid #2197dd !important;
    border-width: 0 2px 2px 0 !important;
    transform: rotate(45deg) !important;
}

#klaro .cookie-modal .cm-list-input:focus,
#klaro .cookie-modal .cm-list-input:focus-visible,
#klaro .cookie-modal .cm-list-label:focus,
#klaro .cookie-modal .cm-list-label:focus-visible,
#klaro .cookie-modal .cm-list-label:focus-within {
    outline: none !important;
    box-shadow: none !important;
}

#klaro .cookie-modal .cm-list-input:focus + .cm-list-label .slider,
#klaro .cookie-modal .cm-list-input:focus-visible + .cm-list-label .slider,
#klaro .cookie-modal .cm-list-label:focus .slider,
#klaro .cookie-modal .cm-list-label:focus-visible .slider,
#klaro .cookie-modal .cm-list-label:focus-within .slider,
#klaro .cookie-modal .cm-purpose > .cm-list-input:not(:disabled) + .cm-list-label:hover .slider {
    background: #ffffff !important;
    border: 1px solid #d8d8d8 !important;
    outline: none !important;
    box-shadow: none !important;
}

#klaro .cookie-modal .cm-footer {
    width: 100% !important;
    padding-top: 15px !important;
    padding-bottom: 12px !important;
    padding-left: max(15px, calc((100vw - 1200px) / 2 + 15px)) !important;
    padding-right: max(15px, calc((100vw - 1200px) / 2 + 15px)) !important;
    background: #f7f7f4 !important;
    border-top: 1px solid #d8d8d8 !important;
}

#klaro .cookie-modal .cm-footer-buttons {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    margin: 0 !important;
}

#klaro .cookie-modal .cm-footer .cm-btn {
    width: auto !important;
    height: 42px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 11.5px 20px !important;
    background: #004f9e !important;
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    font-size: 15px !important;
    line-height: 15px !important;
    font-weight: 800 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    cursor: pointer !important;
}

#klaro .cookie-modal .cm-btn-decline {
    display: none !important;
}

#klaro .cookie-modal .cm-footer .cm-btn:hover,
#klaro .cookie-modal .cm-footer .cm-btn:focus,
#klaro .cookie-modal .cm-footer .cm-btn:focus-visible {
    height: 42px !important;
    padding: 11.5px 20px !important;
    background: #004f9e !important;
    border: 2px solid #ffffff !important;
    color: #ffffff !important;
    font-size: 15px !important;
    line-height: 15px !important;
    font-weight: 800 !important;
    outline: none !important;
    box-shadow: none !important;
}

@media (max-width: 767px) {
    #klaro .cookie-modal .cm-modal {
        max-height: 100vh !important;
    }

    #klaro .cookie-modal .cm-header {
        min-height: 67px !important;
        padding-top: 15px !important;
        padding-left: 105px !important;
        padding-right: 15px !important;
        background-position: 15px 15px !important;
    }

    #klaro .cookie-modal .cm-body {
        padding-left: 105px !important;
        padding-right: 15px !important;
    }

    #klaro .cookie-modal .cm-footer {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    #klaro .cookie-modal .cm-footer-buttons {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    #klaro .cookie-modal .cm-footer .cm-btn {
        width: 100% !important;
        height: 42px !important;
        min-height: 42px !important;
    }
}

@media (max-width: 480px) {
    #klaro .cookie-modal .cm-header {
        min-height: 58px !important;
        padding-left: 80px !important;
        background-size: 55px auto !important;
        background-position: 15px 15px !important;
    }

    #klaro .cookie-modal .cm-body {
        padding-left: 80px !important;
    }

    #klaro .cookie-modal .cm-header p {
        font-size: 14px !important;
        line-height: 19px !important;
    }

    #klaro .cookie-modal .cm-purpose > .cm-list-label,
    #klaro .cookie-modal .cm-purpose > .cm-list-label .cm-list-title {
        font-size: 15px !important;
        line-height: 20px !important;
    }
}

#klaro .cookie-modal .cm-btn-accept {
    font-family: Arial, sans-serif !important;
}

#klaro .cookie-modal .cm-btn-accept-all {
    font-family: "Source Sans Pro", Arial, sans-serif !important;
}
