.contao-cookiebar {
  --ccb-backdrop:rgba(0,0,0,.75);
  --ccb-anim-duration:0.5s;
  --ccb-checked-clr:#399d32;
  --ccb-checked-bg:#dcf3db;
  --ccb-unchecked-clr:#9c9b99;
  --ccb-unchecked-bg:#fff;
  --ccb-disabled-clr:#c8c7c5;
  --ccb-disabled-bg:#f4f4f4;
  --ccb-focus-clr:#00a4f4;
  align-items:center;
  align-items:var(--ccb-align,center);
  bottom:0;
  color:#444;
  color:var(--ccb-clr,#444);
  display:flex;
  justify-content:center;
  justify-content:var(--ccb-justify,center);
  left:0;
  letter-spacing:0;
  max-height:100dvh;
  overflow:hidden;
  padding:15px;
  pointer-events:none;
  position:fixed;
  right:0;
  top:0;
  z-index:9999
}
.contao-cookiebar,
.contao-cookiebar * {
  box-sizing:border-box
}
.contao-cookiebar p {
  color:#868686;
  color:var(--ccb-text,#868686);
  line-height:1.4
}
.contao-cookiebar label {
  display:block;
  line-height:1.2rem;
  padding:8px 13px 8px 0;
  position:relative
}
.contao-cookiebar label.group {
  font-weight:600
}
.contao-cookiebar input {
  height:1px;
  opacity:0;
  outline:0 none;
  position:absolute;
  width:1px
}
.contao-cookiebar input+label {
  cursor:pointer;
  padding:8px 13px 8px 45px
}
.contao-cookiebar input+label:after,
.contao-cookiebar input+label:before {
  border-radius:10px;
  content:"";
  position:absolute
}
.contao-cookiebar input+label:before {
  background:var(--ccb-unchecked-bg);
  border:1px solid var(--ccb-unchecked-clr);
  box-sizing:content-box;
  height:18px;
  left:0;
  margin:0;
  top:7px;
  transition:border-color .2s;
  width:35px
}
.contao-cookiebar input+label:after {
  background:var(--ccb-unchecked-clr);
  display:block;
  height:12px;
  left:4px;
  top:11px;
  transition:background .2s,margin-left .2s,padding .2s;
  width:12px
}
.contao-cookiebar input+label:active:after {
  padding-left:5px
}
.contao-cookiebar input.cc-group-half+label:after {
  background:linear-gradient(to right,var(--ccb-unchecked-clr) 0,var(--ccb-unchecked-clr) 50%,var(--ccb-checked-clr) 50%,var(--ccb-checked-clr) 100%)
}
.contao-cookiebar input:checked+label:after {
  background:var(--ccb-checked-clr);
  margin-left:17px
}
.contao-cookiebar input:checked+label:active:after {
  margin-left:12px
}
.contao-cookiebar input:checked+label:before {
  background:var(--ccb-checked-bg);
  border-color:var(--ccb-checked-clr)
}
.contao-cookiebar input:disabled+label {
  pointer-events:none
}
.contao-cookiebar input:disabled+label:after {
  background:var(--ccb-disabled-clr)
}
.contao-cookiebar input:disabled+label:before {
  background:var(--ccb-disabled-bg);
  border-color:var(--ccb-disabled-clr)
}
.contao-cookiebar input:focus-visible:not(.cc-hide-focus)+label:before {
  outline:3px dashed var(--ccb-focus-clr);
  outline-offset:2px
}
.contao-cookiebar .cc-btn {
  background:#f5f5f5;
  background:var(--ccb-btn-bg,#f5f5f5);
  border:1px solid #cfcfcf;
  border:1px solid var(--ccb-btn-bdr,#cfcfcf);
  border-radius:4px;
  color:#444;
  color:var(--ccb-btn-clr,#444);
  cursor:pointer;
  display:inline-block;
  font-size:15px;
  margin-bottom:8px;
  outline:0 none;
  padding:8px 14px;
  width:100%
}
.contao-cookiebar .cc-btn:focus,
.contao-cookiebar .cc-btn:hover {
  background:#ececec;
  background:var(--ccb-btn-bg-hvr,#ececec)
}
.contao-cookiebar .cc-btn:last-child {
  margin-bottom:0
}
.contao-cookiebar .grayscale {
  --ccb-btn-bg:#f1efef;
  --ccb-btn-bg-hvr:#ececec
}
.contao-cookiebar .grayscale .success {
  --ccb-btn-bg:#fbfbfb;
  --ccb-btn-bg-hvr:#f7f7f7
}
.contao-cookiebar .highlight .success {
  --ccb-btn-bg:#4e9e3e;
  --ccb-btn-bg-hvr:#4c933f;
  --ccb-btn-bdr:#3e7830;
  --ccb-btn-clr:#fff
}
.cc-head>:first-child {
  margin-top:0
}
.cc-head>:last-child {
  margin-bottom:15px
}
.cc-focus:not(.cc-hide-focus):focus-visible {
  outline:3px dashed var(--ccb-focus-clr);
  outline-offset:-3px
}
.cc-invisible {
  border:0;
  clip:rect(0 0 0 0);
  float:left;
  height:1px;
  margin:-1px;
  overflow:hidden;
  padding:0;
  position:absolute;
  width:1px
}
.cc-inner {
  animation:cookiebar-middle-in var(--ccb-anim-duration) ease-in-out forwards;
  animation:var(--ccb-anim,cookiebar-middle-in) var(--ccb-anim-duration) ease-in-out forwards;
  background:#fff;
  background:var(--ccb-bg,#fff);
  border-radius:3px;
  box-shadow:0 2px 8px 0 rgba(99,99,99,.2);
  box-shadow:var(--ccb-box-shadow,rgba(99,99,99,.2)) 0 2px 8px 0;
  display:inline-block;
  font-size:1rem;
  max-height:100%;
  max-width:100%;
  opacity:0;
  overflow-y:auto;
  padding:23px;
  pointer-events:none;
  position:relative;
  text-align:left;
  visibility:hidden
}
.cc-close {
  background:none!important;
  border:none;
  bottom:auto;
  color:inherit!important;
  cursor:pointer;
  font-weight:700;
  height:24px;
  left:auto;
  position:absolute;
  right:6px;
  top:6px;
  width:24px
}
.cc-group {
  border:1px solid #d0d0d0;
  border:1px solid var(--ccb-bdr,#d0d0d0);
  border-radius:5px;
  margin-bottom:10px;
  position:relative
}
.cc-cookie-info {
  background:#fff;
  background:var(--ccb-info-bg,#fff);
  border:1px solid #efefef;
  border:1px solid var(--ccb-info-bdr,#efefef);
  border-radius:5px;
  font-size:.875rem;
  padding:10px
}
.cc-cookie-info:empty {
  display:none
}
.cc-cookie-info>div>span {
  font-weight:600
}
.cc-cookie-info>div+div {
  margin-top:5px;
  word-wrap:break-word
}
.cc-cookie-info+button.cc-detail-btn-details {
  margin-top:15px
}
.cc-cookies {
  background:#fbfbfb;
  background:var(--ccb-cookies-bg,#fbfbfb);
  border-radius:0 0 5px 5px
}
.cc-cookies>p {
  font-size:.875rem
}
.cc-cookies>.cc-cookie,
.cc-cookies>p {
  border-top:1px solid #fbfbfb;
  border-top:1px solid var(--ccb-cookies-bdr,#fbfbfb);
  margin:0;
  padding:15px
}
.cc-cookie label.cookie+* {
  margin-top:10px
}
.cc-cookie p {
  font-size:.875rem;
  margin:0 0 15px
}
.cc-cookie-desc p {
  margin-bottom:0
}
.cc-footer,
.cc-info {
  text-align:center
}
.cc-info {
  margin-top:15px
}
.cc-info>p {
  font-size:.875rem
}
.cc-info>a {
  color:#a2a2a2;
  color:var(--ccb-detail-clr,#a2a2a2);
  display:inline-block;
  font-size:.813rem;
  -webkit-text-decoration:none;
  text-decoration:none
}
.cc-info>a:hover {
  color:#717171;
  color:var(--ccb-detail-clr-hvr,#717171)
}
.cc-info>a+a:before {
  content:"·";
  display:inline-block;
  margin-right:5px
}
.cc-active .cc-inner {
  opacity:1;
  pointer-events:auto;
  visibility:visible
}
.cc-active.cc-blocked {
  animation:cookiebar-overlay-in var(--ccb-anim-duration) ease-in-out forwards;
  pointer-events:auto
}
.cc-saved.cc-inner {
  opacity:0;
  pointer-events:none;
  visibility:hidden
}
.cc-saved.cc-blocked {
  animation:cookiebar-overlay-out var(--ccb-anim-duration) ease-in-out forwards;
  pointer-events:none
}
.cc-left {
  --ccb-justify:flex-start
}
.cc-right {
  --ccb-justify:flex-end
}
.cc-top {
  --ccb-align:flex-start
}
.cc-top.cc-active {
  --ccb-anim:cookiebar-top-in
}
.cc-top.cc-saved {
  --ccb-anim:cookiebar-top-out
}
.cc-middle.cc-active {
  --ccb-anim:cookiebar-middle-in
}
.cc-middle.cc-saved {
  --ccb-anim:cookiebar-middle-out
}
.cc-bottom {
  --ccb-align:flex-end
}
.cc-bottom.cc-active {
  --ccb-anim:cookiebar-bottom-in
}
.cc-bottom.cc-saved {
  --ccb-anim:cookiebar-bottom-out
}
@media (min-width:768px) {
  .contao-cookiebar .cc-btn {
    margin-bottom:0;
    width:auto
  }
  .cc-inner {
    max-width:750px;
    max-width:var(--ccb-max-width,750px)
  }
}
@media (forced-colors) {
  .cc-inner,
  .contao-cookiebar input+label:after {
    border:1px solid
  }
  input.cc-group-half+label:after {
    margin-left:9px
  }
}
@media (prefers-reduced-motion) {
  .contao-cookiebar {
    --ccb-anim-duration:2s
  }
}
@media print {
  .contao-cookiebar {
    opacity:0
  }
}
@keyframes cookiebar-overlay-in {
  0% {
    background:transparent
  }
  to {
    background:var(--ccb-backdrop)
  }
}
@keyframes cookiebar-overlay-out {
  0% {
    background:var(--ccb-backdrop)
  }
  to {
    background:transparent;
    visibility:hidden
  }
}
@keyframes cookiebar-top-in {
  0% {
    opacity:0;
    transform:translateY(-100%)
  }
  to {
    opacity:1;
    transform:translateY(0)
  }
}
@keyframes cookiebar-top-out {
  0% {
    opacity:1;
    transform:translateY(0);
    visibility:visible
  }
  to {
    opacity:0;
    transform:translateY(-100%);
    visibility:hidden
  }
}
@keyframes cookiebar-middle-in {
  0% {
    opacity:0;
    transform:scale(0)
  }
  to {
    opacity:1;
    transform:scale(1)
  }
}
@keyframes cookiebar-middle-out {
  0% {
    opacity:1;
    transform:scale(1);
    visibility:visible
  }
  to {
    opacity:0;
    transform:scale(0);
    visibility:hidden
  }
}
@keyframes cookiebar-bottom-in {
  0% {
    opacity:0;
    transform:translateY(100%)
  }
  to {
    opacity:1;
    transform:translateY(0)
  }
}
@keyframes cookiebar-bottom-out {
  0% {
    opacity:1;
    transform:translateY(0);
    visibility:visible
  }
  to {
    opacity:0;
    transform:translateY(100%);
    visibility:hidden
  }
}
.cc-group {
  align-content:center;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  place-content:center space-between
}
.cc-group>label {
  flex-grow:1;
  margin:5px 0 5px 10px
}
.cc-cookies {
  display:none;
  width:100%
}
.cc-detail-btn {
  line-height:1.2rem;
  padding:8px 10px
}
.cc-detail-btn-details {
  margin:0 0 10px;
  padding:0;
  -webkit-text-decoration:underline;
  text-decoration:underline
}
.cc-detail-btn,
.cc-detail-btn-details {
  background:transparent;
  border:0;
  color:#a2a2a2;
  color:var(--ccb-detail-clr,#a2a2a2);
  cursor:pointer;
  display:inline-block;
  font-size:13px;
  letter-spacing:0;
  outline:0 none;
  text-transform:none
}
.cc-active.cc-detail-btn span:first-child,
.cc-active.cc-detail-btn-details span:first-child,
.cc-detail-btn span:nth-child(2),
.cc-detail-btn-details span:nth-child(2) {
  display:none
}
.cc-active.cc-detail-btn span:nth-child(2),
.cc-active.cc-detail-btn-details span:nth-child(2) {
  display:inline
}
.cc-detail-btn-details:hover,
.cc-detail-btn:hover {
  background:transparent;
  color:#717171;
  color:var(--ccb-detail-clr-hvr,#717171)
}
