.flex-between { display: flex; justify-content: space-between; flex-wrap: wrap; }
.flex-valign-center { align-items: center; }
.flex-columns { display: flex; flex-direction: column; }

.overlay {
    background: rgba(0, 0, 0, 0.5);

    min-width: 100vw;
    min-height: 100vh;
    display: flex!important;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    z-index: 40000;
    display: block;
}
.overlay.hidden { display: none !important; }


.cookie-banner { padding: 20px; background-color: #ffffff; }
.cookie-banner .bg-dark { color: #ffffff; }
.box_title { margin-top: 0; }

.cookie-banner-group-wrap { clear: both; display: flex; margin: 10px 0; padding:0; }
.cookie-banner-group-wrap li { display:block; padding-right: 20px;}
.cookie-banner-group-wrap label { font-weight:400; }


.consens-opacity {
    opacity: 0;
    max-height: 0px;
    transition: opacity 1s;
}

.cookie-actions { margin-top: 20px; }

.cookie-banner .btn {
    padding: 14px 24px;
    letter-spacing: 0.5px;
    flex: 1 1 100%;
    display: block;
    text-align: center;
}
.cookie-banner .btn-submit {
    font-weight: bold;
    font-size: 18px;
}

.cookie-options { margin-top: 20px; }

.cookie-banner .redirects {
    display: flex;
}


.cookie-banner .link {
    text-decoration: none;
    color: #000000;
}

.cookie-banner .link.privacy {
    margin-right: 19px;
}

/* Details Table */
table.cookie-details {
    width: 100%;
    background: rgba(0,0,0,.04);
    margin: 5px 0;
}

.cookie-details th,
.cookie-details td {
    padding: 2px;
    vertical-align: top;
    line-height: 1.2;
    font-size:13px;
    color: #666;
}

.cookie-details th {
    color: #999; font-weight:400;
    width: 15%
}




.cookie-banner .js-position-left {
    justify-content: flex-start;
}
.cookie-banner .js-position-center {
    justify-content: space-evenly;
}
.cookie-banner .js-position-right {
    justify-content: flex-end;
}
.cookie-banner .js-position-border {
    justify-content: space-between;
}


.consens-visible {
    opacity: 1;
    max-height:2000px;
}

#consens-external-close {
    cursor: pointer;
    width: 20px;
    height: 20px;
    float: right;
}


.consens-list {
    width: 100%; padding:0;
    overflow: hidden;
    list-style: none;
    font-size: 14px; color:#666;
}

.consens-list > li {
    margin-top: 20px; padding:0; background:#fff;
}

.consens-group-header { background: #efefef; color:#333; padding:5px 10px; font-weight:bold; font-size: 16px; margin-bottom: 10px; }
.consens-group-description { text-align: justify; }





/* Listing Plugin  */
.cookie-listing .dsgvo_cookie-switch { margin-top: 30px; }

table.cookie-details-listing {
    width: 100%;
    margin: 15px 0; }
.cookie-details-listing th,
.cookie-details-listing td {
    padding: 4px 2px;
    vertical-align: top;
    line-height: 1.2;
    font-size:13px;
    color: #666;
    width:10%; }
.cookie-details-listing th {
    color: #999; font-weight:400; border-bottom: 1px solid #efefef;
}
.cookie-details-listing th.purpose { width:50%; }


input[type="checkbox"].sbcustom:disabled + span:before {
    color: #999999 !important;
    box-shadow: 0 0 0 0.08em #cccccc !important;
}
input[type="checkbox"].sbcustom:disabled + span {
    color: inherit !important; cursor:default;
}



/* Iframe replacement */
.consens-replaced-iframe {
    width: 100%;
    height: 100px;
    border: 0;
    border: 2px dashed #eceef0;
    display: flex;
    justify-content: center;
    flex-direction: column;
    text-align: center;
}

.embed-responsive { position:relative; }

.embed-responsive .consens-replaced-iframe {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.consens-replaced-iframe button {
    display: inline-block;
    border: 2px solid #333;
    color: #fff;
    min-width: 170px;
    margin: 1rem auto;
    line-height: 1.125;
    font-size: 16px;
    text-align: center;
    padding: 7px 12px 5px 12px;
    background: #333;
}
.consens-replaced-iframe[data-src*=http] button:before { content: "Externen Inhalt "; }
.consens-replaced-iframe button + a {
    display: inline-block;
    color: #333;
    font-size: 14px;
}

.consens-replaced-iframe[data-src*=youtube] { background-color: #666; border: none; }
.consens-replaced-iframe[data-src*=youtube] button:before { content: "Youtube-Video "; }
.consens-replaced-iframe[data-src*=youtube]  button + a { color: #fff; }

.consens-replaced-iframe[data-src*=maps] { background-color: #efefef; border: none; }
.consens-replaced-iframe[data-src*=maps] button:before { content: "Google Maps "; }


.sg-cookie-optin-box-cookie-detail-list-item a:before,
a.sg-cookie-optin-box-open-more-link:before,
.consens-replaced-iframe a:before {
    display: inline-block;
    margin-right: .375rem;
    content: "\f054";
    font-family: "FontAwesome";
    font-weight: normal;
    line-height: 1;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-size:80%;
}



.cookie-consent { background: #fff; color: #333333; }
.consens-external-close {display:none; }


@media all and (min-width: 522px) {
    .cookie-banner,
    .cookie-consent {
        max-width: 70vw;
        padding: 30px;
    }
}

@media all and (min-width: 768px) {
    .cookie-banner,
    .cookie-consent{
        max-width: 60vw;
    }
}

@media all and (min-width: 992px) {
    .cookie-banner,
    .cookie-consent {
        max-width: 50vw;
        padding: 40px;
    }

    .cookie-banner .btn {
        flex: 0 1 45%;

        padding: 14px 5px;
    }

    .cookie-banner .btn-submit {
        font-size: 16px;
    }
}
