/*!
 * @filesource style.css
 * @project    www.pitcom-webanalyse.de
 * @package    pitcom/dsgvo/consent-banner/v3/
 *
 * @copyright  (c) 2020 - 2025 by pitcom GmbH | Bahnhofstraße 61 | D-08523 Plauen Germany
 * @author     Florian Schlichter, B.A. <florian.schlichter@pitcom.de>
 * @author     Danilo Fickert <danilo.fickert@pitcom.de>
 * @link       www.pitcom.de
 *
 * @version         3.1.0
 * @date            2022-07-18
 */

/**
 * Content
 *
 * @section      content
 */

.pitconsent {
    display: block;
    position: relative;
    text-align: center;
    max-width: 100%;
    background-repeat: no-repeat;
    background-clip: padding-box;
    background-position: center;
    background-size: cover;
    padding: 0;
    border: 1px dashed;
    box-sizing: border-box;
    overflow: hidden;
}

.pitconsent:not([width]) {
    width: 100%;
}

.pitconsent[style*="background-image"]::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: radial-gradient(ellipse at center, rgba(255, 255, 255, .75) 25%, transparent 100%);
}

.pitconsent-fallback {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%;
    padding: calc(1.5em - 1px);
    box-sizing: border-box;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    -ms-flex-align: center; /** Fix IE11. */
    align-items: center; /** Fix Edge. */
}

.pitconsent-fallback > :first-child {
    margin-top: auto;
}

.pitconsent-fallback > :nth-child(n) {
    text-wrap: balance;
    max-width: 100%; /** Fix IE11. */
    width: 40em;
    box-sizing: border-box;
    margin-right: auto;
    margin-left: auto;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
}

div > .pitconsent-fallback > :first-child {
    padding-top: 20%;
}

div > .pitconsent-fallback > :last-child {
    padding-bottom: 20%;
}

.pitconsent-fallback > a:only-child {
    display: block;
    max-width: none;
    min-height: calc(100% + 3em - 2px);
    width: calc(100% + 3em - 2px);
    padding: 0;
    margin: calc(1px - 1.5em);
    -ms-flex-item-align: stretch; /** Fix IE11. */
    align-self: stretch; /** Fix Edge. */
}

.pitconsent-fallback > a:only-child > img:only-child {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pitconsent-fallback > a:only-child > :not(img) {
    display: block;
    margin: 1.5em;
}

.pitconsent-fallback > :last-child {
    margin-bottom: auto;
}

.pitconsent-fallback[class] img {
    vertical-align: middle;
    max-width: 100%;
    width: auto;
    height: auto;
    -ms-interpolation-mode: bicubic;
    border: 0; /** Normalize. */
    box-sizing: border-box;
}

.pitconsent-fallback .pitconsent-button-settings[hidden] {
    display: none;
}

/**
 * Shared
 *
 * @section      shared
 */

:where(.pitconsent-banner, .pitconsent-settings, .pitconsent-privacy) :where(:focus, :active) {
    outline: 0;
}

:where(.pitconsent-banner, .pitconsent-settings, .pitconsent-privacy) :where(:focus-visible) {
    outline: 2px solid #000;
    outline-offset: 2px;
}

.pitconsent-banner,
.pitconsent-settings,
.pitconsent-privacy {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.pitconsent-banner-box,
.pitconsent-settings-box {
    font-size: small;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    line-height: 1.5;
    font-weight: 400;
}

.pitconsent-banner-box a,
.pitconsent-settings-box a {
    text-decoration: underline;
    color: inherit;
    background: transparent; /** Reset. */
    border: 0;
}

.pitconsent-banner-box a:focus,
.pitconsent-banner-box a:hover,
.pitconsent-settings-box a:focus,
.pitconsent-settings-box a:hover {
    text-decoration: none;
    color: #000;
}

.pitconsent-matomo-img,
img[src*="pitcom-webanalyse."][src*="/piwik.php"] {
    position: absolute;
    left: -9999px;
}

.pitconsent-module {
    display: block; /** Normalize. */
    padding: 0;
    border-bottom: 1px solid rgba(0, 0, 0, .1);
    margin: 0;
}

.pitconsent-module:first-of-type {
    border-top: 1px solid rgba(0, 0, 0, .1);
    margin-top: calc(1.5em - 1px);
}

.pitconsent-module-title {
    display: list-item; /** Normalize. */
    list-style-position: inside; /** Fix IE/Edge. */
    position: relative;
    padding: .75em 60px calc(.75em - 1px) 1.5em;
    cursor: pointer;
}

.pitconsent-module-title:focus,
.pitconsent-module[open] > .pitconsent-module-title {
    font-weight: 700;
}

.pitconsent-cookie {
    position: absolute;
    right: 25px;
    top: 50%;
    padding: 0; /** Normalize. */
    box-sizing: border-box; /** Normalize. */
    outline: 0;
    margin: 0;
    opacity: .01;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.pitconsent-cookie[disabled] {
    cursor: not-allowed;
}

.pitconsent-cookie + label {
    display: inline; /** Reset. */
    color: inherit; /** Reset. */
    background: transparent; /** Reset. */
    padding: 0; /** Reset. */
    margin: 0; /** Reset. */
    pointer-events: none;
}

.pitconsent-cookie + label::before {
    content: "";
    font-size: 2em;
    position: absolute;
    top: 50%;
    right: 20px;
    width: 24px;
    height: 24px;
    background-color: #fff;
    border: 1px solid;
    border-radius: 5px;
    box-sizing: border-box;
    margin-top: -12px;
}

.pitconsent-cookie + label::after {
    content: "";
    font-size: 2em;
    position: absolute;
    top: 50%;
    right: 20px;
    width: 24px;
    height: 24px;
    color: green;
    background-clip: padding-box;
    border: 1px solid transparent;
    border-radius: 5px;
    box-sizing: border-box;
    margin-top: -12px;
}

.pitconsent-cookie[disabled] + label::after {
    color: #999;
}

.pitconsent-cookie:focus + label::before {
    border-width: 2px;
    box-shadow: 0 0 1px 1px currentColor;
}

.pitconsent-cookie:focus-visible + label::before {
    outline: 2px solid #000;
    outline-offset: 2px;
    box-shadow: none;
}

.pitconsent-cookie:checked + label::after {
    background-color: currentColor;
    border-width: 4px;
}

.pitconsent-module-content {
    padding: .75em 1.5em;
    margin-top: -.75em;
}

.pitconsent-module-content > :first-child {
    margin-top: 0;
}

.pitconsent-module-content > :last-child {
    margin-bottom: 0;
}

.pitconsent-buttons {
    margin-right: -.375em;
    margin-left: -.375em;
}

.pitconsent-buttons > .pitconsent-button,
.pitconsent-settings-box > .pitconsent-settings-close {
    font-family: inherit; /** Normalize. */
    font-size: 100%; /** Normalize. */
    line-height: inherit;
    font-weight: inherit;
    text-decoration: none;
    text-transform: none; /** Normalize. */
    display: inline-block;
    position: relative;
    min-height: 0;
    width: auto;
    height: auto;
    color: #fff;
    background: #999; /** Reset. */
    padding: .375em 1em;
    border: 0;
    border-radius: .3125em;
    margin: .375em;
    cursor: pointer;
    overflow: visible; /** Normalize. */
    -webkit-appearance: none; /** Normalize. */
    -webkit-transition: color .2s, background-color .2s, border-color .2s;
    transition: color .2s, background-color .2s, border-color .2s;
}

.pitconsent-buttons > .pitconsent-button::-moz-focus-inner,
.pitconsent-settings-box > .pitconsent-settings-close::-moz-focus-inner {
    padding: 0; /** Normalize. */
    border: 0; /** Normalize. */
}

.pitconsent-buttons > .pitconsent-button:focus,
.pitconsent-buttons > .pitconsent-button:hover {
    color: #fff;
    background-color: #333;
}

.pitconsent-buttons > .pitconsent-button:active {
    color: #fff;
    background-color: #000;
}

.pitconsent-button > .pitconsent-button-icon {
    line-height: 1; /** Fix IE11. */
}

.pitconsent-button > .pitconsent-button-success {
    position: absolute;
    top: 0;
    left: 0;
    font-weight: 700;
    width: 100%;
    height: 100%;
    background-color: green;
    padding: .375em 1em;
    border-radius: .3125em;
    box-sizing: border-box;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/**
 * Banner
 *
 * @section      pitconsent-banner
 */

.pitconsent-init {
    padding-bottom: 0;
    border-bottom: 13.5em solid transparent;
}

.pitconsent-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 1111;
    width: 100%;
    height: 13.5em;
    color: #666;
    background-color: #fff;
    padding: 0;
    border: 0;
    box-shadow: 0 0 .05em rgba(0, 0, 0, .031), 0 0 .13125em rgba(0, 0, 0, .044), 0 0 .26875em rgba(0, 0, 0, .056), 0 0 .55em rgba(0, 0, 0, .069), 0 0 1.5em rgba(0, 0, 0, .1);
    margin: 0;
}

.pitconsent-banner-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    height: 100%;
    padding: 0 .75em;
    border-top: .75em solid transparent;
    border-bottom: .75em solid transparent;
    box-sizing: border-box;
    overflow: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
}

.pitconsent-banner-copy {
    max-width: 72em;
    width: 48em;
    padding: .75em;
    box-sizing: border-box;
    outline: 0;
    margin: auto 0;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    -ms-flex-item-align: start; /** Fix IE11. */
}

.pitconsent-banner-copy > p,
.pitconsent-banner-buttons {
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
    margin-top: 0;
    margin-bottom: 0;
}

.pitconsent-banner-cta {
    width: 24em;
    padding: .75em;
    box-sizing: border-box;
    margin: auto 0;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    -ms-flex-item-align: start; /** Fix IE11. */
}

.pitconsent-banner-buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    text-align: right;
}

.pitconsent-banner-buttons > .pitconsent-button-all {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

/**
 * Settings
 *
 * @section      pitconsent-settings
 */

.pitconsent-settings {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1111;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .25);
    opacity: 0;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    -webkit-transition: opacity .4s, -webkit-transform 0s .4s;
    transition: opacity .4s, -webkit-transform 0s .4s;
    transition: opacity .4s, transform 0s .4s;
    transition: opacity .4s, transform 0s .4s, -webkit-transform 0s .4s;
}

.pitconsent-settings[hidden] {
    display: none;
}

.pitconsent-settings-open {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
}

.pitconsent-settings.pitconsent-settings-opened {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
}

.pitconsent-settings-box {
    position: relative;
    max-width: 100%;
    max-height: 100%;
    width: 48em;
    border-radius: .5em;
    box-shadow: 0 0 .05em rgba(0, 0, 0, .031), 0 0 .13125em rgba(0, 0, 0, .044), 0 0 .26875em rgba(0, 0, 0, .056), 0 0 .55em rgba(0, 0, 0, .069), 0 0 1.5em rgba(0, 0, 0, .1);
    margin: auto;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    -ms-flex-item-align: center; /** Fix IE11. */
}

.pitconsent-settings-content {
    color: #666;
    background-color: #fff;
    padding: 3em 1.5em 1.5em;
}

.pitconsent-settings-content > :first-child {
    margin-top: 0;
}

.pitconsent-settings-content > :last-child {
    margin-bottom: 0;
}

.pitconsent-settings-content p {
    font-size: inherit;
    font-weight: inherit;
}

.pitconsent-settings-title {
    font-size: 1.25em;
    font-family: inherit;
    line-height: 1.2;
    font-weight: 700;
    color: inherit;
    margin: 0 0 1.2em;
}

.pitconsent-settings-buttons {
    text-align: right;
    margin-top: 1.5em;
}

.pitconsent-settings-box > .pitconsent-settings-close {
    font-family: sans-serif;
    position: absolute;
    right: 0;
    top: 0;
    font-size: 3em;
    line-height: 1;
    width: 1.5em;
    height: 1.5em;
    color: #999;
    background-color: transparent;
    padding: .25em;
    border-radius: 0;
    outline-offset: -2px;
    margin: 0;
}

.pitconsent-settings-box > .pitconsent-settings-close:focus, .pitconsent-settings-box > .pitconsent-settings-close:hover {
    color: #333;
}

.pitconsent-settings-box > .pitconsent-settings-close:active {
    color: #000;
}

/**
 * Privacy
 *
 * @section      pitconsent-privacy
 */

.pitconsent-privacy-buttons {
    text-align: right;
    margin-top: 1.5em;
}

/**
 * Feature Queries
 *
 * @section      support
 */

@supports ((position: sticky) or ((position: -webkit-sticky))) {

    .pitconsent-init {
        border-bottom: 0;
        overflow: visible;
    }

    .pitconsent-banner {
        position: -webkit-sticky;
        position: sticky;
        height: auto;
    }

    .pitconsent-banner-box {
        max-height: 66.666666vh;
    }
}