/* Global - allow text selection */
body, html, * {
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text;
    font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Fix layui icon font path */
@font-face {
    font-family: 'layui-icon';
    src: url('/static/common/library/layui/font/iconfont.eot') format('embedded-opentype'),
         url('/static/common/library/layui/font/iconfont.woff2') format('woff2'),
         url('/static/common/library/layui/font/iconfont.woff') format('woff'),
         url('/static/common/library/layui/font/iconfont.ttf') format('truetype'),
         url('/static/common/library/layui/font/iconfont.svg') format('svg');
}

.cc-hidden {
    display: none
}

.cc-container .cc-noselect {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

@keyframes fadein {
    from {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

.cc-container {
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: 9998;
    flex-wrap: nowrap;
    height: auto;
    width: 552px;
    font-family: Helvetica, Calibri, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.5em;
    color: #3C465B;
    opacity: 0;
    display: none
}

.cc-container.displayed {
    opacity: 1;
    display: flex;
    animation: fadein 2s
}

.cc-container a {
    color: inherit
}

.cc-box {
    display: block;
    margin: 16px;
    width: 520px;
    box-shadow: 0px 4px 16px 0 rgba(0, 0, 0, 0.16);
    padding: 16px;
    background-color: #fff
}

.cc-title {
    font-size: 1.8em;
    font-weight: 400;
    padding: 16px 0 4px 0
}

.cc-content {
    padding: 16px 0;
    min-height: 60px
}

.cc-buttons {
    float: right;
    margin-top: 16px
}

.cc-btn {
    display: inline-block;
    padding: 10px 12px;
    margin-left: 12px;
    line-height: 1em;
    cursor: pointer;
    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out
}

.cc-btn-settings:hover {
    background: #E9EBF0
}

.cc-btn-reject {
    background: #C8CDD8;
    color: #000
}

.cc-btn-reject:hover {
    background: #DADFE9
}

.cc-btn-accept {
    background: #3C465B;
    color: #fff
}

.cc-btn-accept:hover {
    background: #646E81
}

.cc-categories {
    float: left;
    width: 25%;
    font-size: 1.1em
}

.cc-categories div[role="checkbox"] {
    width: 100%;
    margin-top: 4px;
    margin-left: 8px
}

.cc-categories span[role="link"] {
    outline: none;
    border-bottom: 1px solid #3C465B;
    padding-bottom: 0.1em
}

.cc-category-description {
    float: right;
    width: 75%
}

@media (max-width: 600px) {
    .cc-container {
        width: auto
    }

    .cc-box {
        width: auto
    }

    .cc-buttons {
        text-align: right
    }

    .cc-btn-settings {
        display: block;
        clear: both;
        margin-bottom: 4px
    }

    .cc-categories {
        float: none;
        width: 100%
    }

    .cc-category-description {
        float: none;
        width: 100%;
        margin-top: 16px
    }
}

.cc-container [role="checkbox"] {
    display: inline-block;
    position: relative;
    padding-left: 1.4em;
    cursor: pointer
}

.cc-container [role="checkbox"]::before, .cc-container [role="checkbox"]::after {
    position: absolute;
    top: 50%;
    left: 7px;
    transform: translate(-50%, -50%);
    content: ''
}

.cc-container [role="checkbox"]::before {
    width: 14px;
    height: 14px;
    border: 2px solid #3C465B
}

.cc-container [role="checkbox"][aria-checked="mixed"]::before, .cc-container [role="checkbox"][aria-checked="true"]::before {
    border-color: #3C465B;
    background: #3C465B
}

.cc-container [role="checkbox"][aria-checked="mixed"]:active::after, .cc-container [role="checkbox"][aria-checked="true"]::after {
    display: block;
    width: 0.25em;
    height: 0.4em;
    border: solid #fff;
    border-width: 0 0.2em 0.2em 0;
    transform: translateY(-65%) translateX(-50%) rotate(45deg)
}

.cc-container [role="checkbox"]:focus {
    outline: none
}

/* Logo Brand Text */
.logo a {
    display: flex;
    align-items: center;
    gap: 12px;
}

.logo img {
    width: 40px;
    height: auto;
}

.brand-name {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 2px;
    color: #ffffff;
    white-space: nowrap;
}
