/* Kyros Advisors - cookie consent banner */

.cc{
  position:fixed;left:0;right:0;bottom:0;z-index:80;
  background:var(--ink,#2D3238);
  border-top:1px solid rgba(255,255,255,.14);
  box-shadow:0 -10px 40px rgba(45,50,56,.28);
  color:rgba(255,255,255,.78);
  font-family:var(--body,Georgia,serif);
  transform:translateY(102%);
  visibility:hidden;
  transition:transform .42s cubic-bezier(.2,.7,.3,1), visibility .42s;
}
.cc.is-open{transform:none;visibility:visible}
.cc__wrap{
  width:100%;max-width:var(--maxw,1180px);margin:0 auto;
  padding:26px var(--gutter,24px) 28px;
}

.cc__row{display:flex;gap:clamp(22px,4vw,56px);align-items:flex-start;justify-content:space-between}
.cc__text{max-width:62ch}
.cc__title{
  font-family:var(--display,sans-serif);font-size:1.12rem;color:#fff;margin:0 0 8px;
  font-variation-settings:"wdth" 102,"wght" 700;letter-spacing:-.004em;
}
.cc__text p{margin:0;font-size:15.5px;line-height:1.6}
.cc__text a{color:var(--sky,#6E90C9);text-underline-offset:3px}

.cc__actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;flex:none}
.cc__btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--mono,monospace);font-size:11.5px;letter-spacing:.1em;
  text-transform:uppercase;white-space:nowrap;
  padding:12px 20px;border-radius:999px;border:1px solid transparent;
  cursor:pointer;transition:background .22s,color .22s,border-color .22s;
}
.cc__btn--accept{background:var(--azure,#2457A6);color:#fff;border-color:var(--azure,#2457A6)}
.cc__btn--accept:hover{background:var(--sky,#6E90C9);border-color:var(--sky,#6E90C9);color:var(--ink,#2D3238)}
.cc__btn--reject{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.cc__btn--reject:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.7)}
.cc__btn--manage{
  background:none;border:0;padding:12px 6px;color:rgba(255,255,255,.62);
  text-decoration:underline;text-underline-offset:4px;
}
.cc__btn--manage:hover{color:#fff}
.cc__btn--save{background:#fff;color:var(--ink,#2D3238);border-color:#fff}
.cc__btn--save:hover{background:var(--sky,#6E90C9);border-color:var(--sky,#6E90C9)}

/* ---------- the detail panel ---------- */
.cc__panel{display:none;margin-top:26px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14)}
.cc.is-managing .cc__panel{display:block}
.cc__cats{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,30px)}
.cc__cat{border:1px solid rgba(255,255,255,.14);border-radius:3px;padding:18px 18px 20px}
.cc__cat h4{
  font-family:var(--display,sans-serif);font-size:1rem;color:#fff;margin:0 0 6px;
  font-variation-settings:"wdth" 100,"wght" 680;
}
.cc__cat p{margin:0;font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.62)}
.cc__head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:8px}

.cc__sw{position:relative;flex:none;width:42px;height:23px}
.cc__sw input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.cc__sw i{
  position:absolute;inset:0;border-radius:999px;pointer-events:none;
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.26);
  transition:background .2s,border-color .2s;
}
.cc__sw i::after{
  content:"";position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:50%;
  background:#fff;transition:transform .22s cubic-bezier(.2,.7,.3,1);
}
.cc__sw input:checked + i{background:var(--sky,#6E90C9);border-color:var(--sky,#6E90C9)}
.cc__sw input:checked + i::after{transform:translateX(19px);background:var(--ink,#2D3238)}
.cc__sw input:disabled + i{background:var(--monarch,#4E7A63);border-color:var(--monarch,#4E7A63);opacity:.75}
.cc__sw input:disabled + i::after{transform:translateX(19px)}
.cc__sw input:disabled{cursor:default}
.cc__sw input:focus-visible + i{outline:2px solid var(--sky,#6E90C9);outline-offset:3px}

.cc__panel-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}

/* the back-to-top button would sit on top of the banner */
body.cc-visible .to-top{display:none}

/* a plain button that should read as a link */
.linklike{
  background:none;border:0;padding:0;font:inherit;color:var(--azure,#2457A6);
  cursor:pointer;text-decoration:underline;text-underline-offset:3px;
}

@media(max-width:860px){
  .cc__row{flex-direction:column;gap:20px}
  .cc__actions{width:100%}
  .cc__btn--accept,.cc__btn--reject{flex:1 1 auto}
  .cc__cats{grid-template-columns:1fr}
  .cc__wrap{padding-top:22px;padding-bottom:24px}
  .cc{max-height:86vh;overflow-y:auto}
}
@media(prefers-reduced-motion:reduce){
  .cc,.cc__sw i::after{transition:none}
}
