body.cc-no-scroll {
    overflow: hidden !important;
}

.cc-root {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 9999;
}

.cc-modal {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-direction: column;
    background-color: #FFF;
    margin: 5vh 10vw;
    padding: 16px;
    width: 800px;
    max-height: 70vh;
    overflow: auto;
    z-index: 10;
    border-radius: 4px;
    padding: 6px 10px;
    outline: 4px solid rgba(42, 25, 53, 0.9);
    background-color: rgba(17, 17, 17, 0.95);
    color: #AAA;
    text-shadow: 1px 1px 0 #000;
    box-shadow: -1px -1px 0 rgba(17, 17, 17, 0.9),
        1px -1px 0 rgba(17, 17, 17, 0.9),
        -1px 1px 0 rgba(17, 17, 17, 0.9),
        1px 1px 0 rgba(17, 17, 17, 0.9);
    line-height: 1.3em;
}

.cc-header {
    width: 100%;
    display: flex;
    flex-direction: column;
}
.cc-header-text {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin-bottom: 2px;
    color: #FFF;
    text-align: center;
}
.cc-header-text img {
    margin-left: 8px;
}
.cc-header-links {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 2px;
    margin-bottom: 16px;
}
.cc-header-links .switch {
    cursor: pointer;
    user-select: none;
    padding-bottom: 2px;
    color: #5a2861;
}
.cc-header-links .switch:hover {
    color: #8d3f97;
}
.cc-header-links .cc-selected {
    color: #8d3f97;
    border-bottom: 2px solid #8d3f97;
}

.cc-body {
    margin-bottom: 8px;
    overflow: auto;
}

.cc-intro {
    text-align: left;
}

.cc-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
}
.cc-row:not(:last-child) {
    margin-bottom: 16px;
}
.cc-cat-title {
    color: #FFF;
}
.cc-cat-desc {
    padding-right: 8px;
}

.cc-row input[type="checkbox"] {
    margin: 8px;
}
.cc-row input[type="checkbox"]:disabled {
    cursor: not-allowed;
}
.cc-row-necessary {
    cursor: help;
}

.cc-footer {
    margin-top: 8px;
}
.cc-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 8px;
}

.cc-links {
    margin-top: 16px;
}

.cc-modal a:link,
.cc-modal a:visited {
    color: #8d3f97;
}
.cc-modal a:hover {
    text-decoration: none;
}

.cc-modal button {
    padding: 4px 8px;
}

.cc-call-button {
    position: fixed;
    left: 16px;
    bottom: 16px;
    z-index: 5;
    user-select: none;
}
.cc-call-button img {
    cursor: pointer;
    width: 200%;
    filter: drop-shadow(2px 4px 0 rgb(38, 1, 0));
}
.cc-call-button:hover img {
    transform: scale(1.1);
    filter: drop-shadow(1px 2px 0 rgb(38, 1, 0));
}

.cc-root.cc-hidden,
.cc-root *.cc-hidden,
.cc-call-button.cc-hidden {
    display: none;
}

.cc-root, .cc-call-button {
    image-rendering: optimizeSpeed;
    image-rendering: -moz-crisp-edges;
    image-rendering: -o-crisp-edges;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
    image-rendering: pixelated;
    -ms-interpolation-mode: bicubic;
}

@media (max-width: 1024px) {
    .cc-call-button {
        display: none;
        left: auto;
        right: 24px;
        bottom: 8px;
    }

    .cc-call-button img {
        width: 150%;
    }
}
