/* The footer, the same on every page.
   Logo and dates on the left, four columns of equal width (Festival,
   Tickets, Community, Connect with the social links together), and a bottom
   bar with the copyright and every legal link, Cookie policy and Cookie
   settings included. The selectors start at body>footer so they win over
   the older .foot rules still in style.css, mobile.css and the home page. */
body>footer{position:relative;border-top:1px solid rgba(234,240,255,.10);padding:64px 0 30px;color:rgba(234,240,255,.55);font-size:14.5px;line-height:1.5}
body>footer::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(46,75,224,.75) 30%,rgba(225,29,72,.75) 70%,transparent)}
body>footer .foot{display:block}
body>footer a{color:inherit;text-decoration:none;transition:color .2s}
body>footer a:hover,body>footer a:focus-visible{color:#EAF0FF}
body>footer a:focus-visible,body>footer button:focus-visible{outline:2px solid #4C6BFF;outline-offset:3px;border-radius:4px}

.ft-top{display:grid;grid-template-columns:minmax(200px,1fr) minmax(0,3.2fr);gap:48px}
.ft-home{display:inline-block}
.ft-logo{display:block;height:56px;width:auto}
.ft-when{margin:16px 0 0;max-width:26ch;color:rgba(234,240,255,.62)}

.ft-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.ft-col{display:grid;align-content:start;justify-items:start;gap:11px;min-width:0}
.ft-col b{color:rgba(234,240,255,.78);font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:4px}
.ft-col a.fsoc{display:inline-flex;align-items:center;gap:9px}
.ft-col a.fsoc svg{width:15px;height:15px;fill:currentColor;opacity:.7;flex:none;transition:opacity .2s}
.ft-col a.fsoc:hover svg{opacity:1}

.ft-bar{margin-top:52px;padding-top:22px;border-top:1px solid rgba(234,240,255,.10);
  display:flex;justify-content:space-between;align-items:center;gap:12px 32px;flex-wrap:wrap;font-size:13px;color:rgba(234,240,255,.45)}
.ft-copy{margin:0}
.ft-legal{display:flex;flex-wrap:wrap;gap:8px 22px}
.ft-cookie{appearance:none;-webkit-appearance:none;background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;transition:color .2s}
.ft-cookie:hover{color:#EAF0FF}

@media (max-width:980px){
  .ft-top{grid-template-columns:1fr;gap:36px}
  .ft-brand{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
  .ft-when{margin:0}
}
@media (max-width:640px){
  body>footer{padding:48px 0 26px}
  .ft-logo{height:46px}
  .ft-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}
  .ft-bar{flex-direction:column-reverse;align-items:flex-start;margin-top:40px;gap:16px}
  .ft-legal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;width:100%}
  .ft-cookie{text-align:left}
}
