.cc-window { opacity: 1; -webkit-transition: opacity 1s ease; -moz-transition: opacity 1s ease; -ms-transition: opacity 1s ease; -o-transition: opacity 1s ease; transition: opacity 1s ease }
.cc-window.cc-invisible { opacity: 0; display: none }
.cc-animate.cc-revoke { -webkit-transition: transform 1s ease; -moz-transition: transform 1s ease; -ms-transition: transform 1s ease; -o-transition: transform 1s ease; transition: transform 1s ease }
.cc-animate.cc-revoke.cc-top { transform: translateY(-2em) }
.cc-animate.cc-revoke.cc-bottom { transform: translateY(2em) }
.cc-animate.cc-revoke.cc-active.cc-top { transform: translateY(0) }
.cc-animate.cc-revoke.cc-active.cc-bottom { transform: translateY(0) }
.cc-revoke:hover { transform: translateY(0) }
.cc-grower { max-height: 0; overflow: hidden; -webkit-transition: max-height 1s; -moz-transition: max-height 1s; -ms-transition: max-height 1s; -o-transition: max-height 1s; transition: max-height 1s }
.cc-window, .cc-revoke { position: fixed; overflow: hidden; box-sizing: border-box; font-family: Helvetica, Calibri, Arial, sans-serif; font-size: 16px; line-height: 1.5em; display: flex; flex-wrap: nowrap; z-index: 99999 }
.cc-revoke { z-index: 9999 }
.cc-window.cc-static { position: static }
.cc-window.cc-floating { padding: 40px; max-width: 24em; flex-direction: column }
.cc-window.cc-banner { padding: 40px; display: inherit; width: 100%; flex-direction: row; text-align: center }
.cc-revoke { padding: 0.5em }
.cc-revoke:hover { text-decoration: underline }
.cc-header { font-size: 18px; font-weight: bold }
.cc-btn, .cc-link, .cc-close, .cc-revoke { cursor: pointer }
.cc-link { opacity: 0.8; display: inline-block; padding: 0.2em; text-decoration: underline }
.cc-link:hover { opacity: 1 }
.cc-link:active, .cc-link:visited { color: initial }
.cc-btn { display: block; padding: 0.4em 0.8em; font-size: 0.9em; font-weight: bold; border-width: 2px; border-style: solid; text-align: center; white-space: nowrap }
.cc-highlight .cc-btn:first-child { background-color: transparent; border-color: transparent }
.cc-center .cc-highlight { margin-left: auto; margin-right: 0 }
.cc-center .cc-compliance { margin-left: auto; margin-right: 0 }
.cc-highlight .cc-btn:first-child:hover, .cc-highlight .cc-btn:first-child:focus { background-color: transparent; text-decoration: underline }
.cc-close { display: block; position: absolute; top: 0.5em; right: 0.5em; font-size: 1.6em; opacity: 0.9; line-height: 0.75 }
.cc-close:hover, .cc-close:focus { opacity: 1 }
.cc-revoke.cc-top { top: 0; left: 3em; border-bottom-left-radius: 0.5em; border-bottom-right-radius: 0.5em }
.cc-revoke.cc-bottom { bottom: 0; left: 3em; border-top-left-radius: 0.5em; border-top-right-radius: 0.5em }
.cc-revoke.cc-left { left: 3em; right: unset }
.cc-revoke.cc-right { right: 3em; left: unset }
.cc-top { top: 1em }
.cc-left { left: 1em }
.cc-right { right: 1em }
.cc-bottom { bottom: 1em }
.cc-center { top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: justify }
.cc-floating > .cc-link { margin-bottom: 1em }
.cc-window.cc-floating .cc-compliance { flex: 1 0 auto }
.cc-window.cc-banner { align-items: center }
.cc-banner.cc-top { left: 0; right: 0; top: 0 }
.cc-banner.cc-bottom { left: 0; right: 0; bottom: 0 }
.cc-banner .cc-message { flex: 1 1 auto; max-width: 100%; display: contents; text-align: center }
.cc-compliance { display: flex; align-items: center; justify-content: space-between; padding-top: 24px; justify-content: center }
.cc-floating .cc-compliance > .cc-btn { flex: 1 }
.cc-btn + .cc-btn { margin-left: 0.5em }
.cc-window.cc-type-categories { display: inline-flex; flex-direction: column; overflow: visible }
.cc-window.cc-type-categories .form { text-align: right }
.cc-window.cc-type-categories .cc-btn { margin: 0 }
.cc-window.cc-type-categories .cc-btn.cc-save { margin: 0; display: inline-block }
.cc-categories { display: inline-flex }
.cc-categories .cc-category { display: flex; max-width: 100%; margin: 0 2px; position: relative }
.cc-categories .cc-btn { border-right: none; outline: none; text-transform: capitalize }
.cc-categories .cc-btn input[type=checkbox] { float: left; height: 26px; width: calc( 100% - 22px); display: block; position: absolute; top: 0; left: 2px; cursor: pointer }
.cc-categories .cc-btn:not(.cc-info):not(.cc-save) { padding-left: 26px }
.cc-categories .cc-info { border-left: none; border-right: 2px solid lightgrey; padding: 4px; font-variant: all-small-caps }
.cc-categories .cc-info:focus + .cc-tooltip { display: block }
.cc-categories .cc-tooltip { display: none; position: absolute; z-index: 3; width: 190px; bottom: 46px; padding: 8px; border: thin solid lightgrey; box-shadow: 1px 1px 4px rgba(150,150,150,0.7) }
.cc-categories .cc-tooltip:after { content: ""; width: 10px; height: 10px; transform: rotate(45deg); position: absolute; bottom: -7px; left: 10px; box-shadow: 2px 1px 1px rgba(200,200,200,0.5) }
.cc-categories .cc-tooltip p { margin: 0 }

@media print {
    .cc-window, .cc-revoke { display: none }
}

@media screen and (min-width: 1024px) {
    .cc-window.cc-center { max-width: 32em; width: 500px }
}

@media screen and (max-width: 576px) {
    .cc-center .cc-compliance { margin: 0 }
}

@media screen and (max-width: 414px) and (orientation: portrait), screen and (max-width: 736px) and (orientation: landscape) {
    .cc-window.cc-top { top: 0 }
    .cc-window.cc-bottom { bottom: 0 }
    .cc-window.cc-banner, .cc-window.cc-floating, .cc-window.cc-right, .cc-window.cc-left { left: 0; right: 0 }
    .cc-window.cc-center { top: 50%; transform: translate(0%, -50%); margin-right: 35px; margin-left: 35px }
    .cc-window.cc-banner { flex-direction: column; align-items: unset }
    .cc-window.cc-banner .cc-compliance { flex: 1 1 auto }
    .cc-window.cc-banner .cc-message { margin-right: 0; margin-bottom: 1em }
    .cc-window.cc-floating { max-width: none }
    .cc-window.cc-type-categories { flex-direction: column }
    .cc-window .cc-message { margin-bottom: 1em }
    .cc-window .cc-categories { flex-direction: column; width: 100%; margin-right: 8px }
    .cc-window .cc-category { margin: 4px 0 }
    .cc-window .cc-category .cc-btn:not(.cc-info) { width: calc( 100% - 16px); min-width: 140px }
}

@media screen and (max-width: 854px) {
    .cc-window.cc-type-categories .cc-btn.cc-save { margin: 8px 0 }
}

@media screen and (max-width: 790px) {
    .cc-window.cc-type-categories .cc-categories { display: flex; flex-direction: column }
    .cc-categories .cc-category { margin: 4px 0 }
    .cc-btn:not(.cc-info):not(.cc-save) { width: calc( 100% - 16px) }
}

.cc-floating.cc-theme-classic { border-radius: 5px }
.cc-floating.cc-type-info.cc-theme-classic .cc-compliance { text-align: center; display: inline; flex: none }
.cc-theme-classic { overflow: visible; justify-content: space-between }
.cc-theme-classic .cc-btn { position: relative; border-radius: 5px; outline: none }
.cc-theme-classic .cc-btn:last-child { min-width: 140px }
.cc-theme-classic .cc-category .cc-btn { border-radius: 5px 0 0 5px; padding-right: 2px; padding-left: 28px; font-weight: normal; border-right: none; box-sizing: border-box }
.cc-theme-classic .cc-category .cc-btn input[type=checkbox] { position: absolute; left: 0; top: -1px; width: 100%; height: 26px; opacity: 0; cursor: pointer; z-index: 1 }
.cc-theme-classic .cc-category .cc-btn input[type=checkbox] + .cc-btn-checkbox { display: block; font-size: 2rem; position: absolute; top: 2px; left: 6px; z-index: 0; outline: none }
.cc-theme-classic .cc-category .cc-btn input[type=checkbox] + .cc-btn-checkbox:before { content: "\1F5F5" }
.cc-theme-classic .cc-category .cc-btn input[type=checkbox]:checked + .cc-btn-checkbox:after { content: "\2713"; position: absolute; top: -4px; left: 0; font-size: 2.3rem; text-shadow: 0 1px 3px rgba(150,150,150,0.5) }
.cc-theme-classic .cc-category .cc-btn.cc-info { margin: 0; padding: 0 4px; border-radius: 0 5px 5px 0 }
.cc-theme-classic .cc-category .cc-btn:last-child { min-width: 0 }
.cc-theme-classic .cc-category .cc-tooltip { border-radius: 5px }
.cc-theme-classic .cc-category .cc-tooltip:after { border-bottom: thin solid lightgrey; border-right: thin solid lightgrey }
.cc-floating.cc-type-info.cc-theme-classic .cc-btn { display: inline-block }
.cc-theme-edgeless.cc-window { padding: 0 }
.cc-floating.cc-theme-edgeless .cc-message { margin: 2em; margin-bottom: 1.5em }
.cc-banner.cc-theme-edgeless .cc-btn { margin: 0; padding: 0.8em 1.8em; height: 100% }
.cc-banner.cc-theme-edgeless .cc-message { margin-left: 1em }
.cc-floating.cc-theme-edgeless .cc-btn + .cc-btn { margin-left: 0 }
.cc-window.cc-theme-edgeless.cc-type-categories .cc-categories .cc-btn { padding: 0.4em 0.8em; padding-left: 26px }
.cc-window.cc-theme-edgeless.cc-type-categories .cc-categories .cc-btn.cc-info { padding: 0.4em 4px }
.cc-window.cc-theme-edgeless.cc-type-categories .cc-categories .cc-tooltip { border: none }