/* Shared home-page legal footer, outside the scaled artwork canvases. */
.campaign-footer{box-sizing:border-box;width:100%;max-width:480px;padding:clamp(20px,5.5vw,26.4px) 4% 48px;margin:0 auto;color:white;font-family:Avenir,Arial,sans-serif}
.campaign-footer .campaign-rules{display:flex;justify-content:center;align-items:center;gap:16px;width:100%;min-height:44px;padding:0;border:0;background:none;border-radius:40px;color:white;font:800 13px/1.5 Avenir,Arial,sans-serif;letter-spacing:0;text-decoration:underline;opacity:1;cursor:pointer}
.campaign-footer .campaign-rules img{width:14px;height:auto}
.campaign-footer .footer-row{display:flex;flex-direction:column;gap:12px;align-items:center;margin-top:12px}
.campaign-footer .footer-row img{display:block;width:18%;height:auto}
.campaign-footer .footer-row p{width:100%;margin:0;color:white;font:400 9px/1.2 Avenir,Arial,sans-serif;text-align:center}
body:has(#loading:not([hidden]))>footer.campaign-footer,body:has(#result:not([hidden]))>footer.campaign-footer,body:has(#cover-view:not([hidden]))>footer.campaign-footer{display:block}
#loading{aspect-ratio:1080/1754}
#result{aspect-ratio:1080/3106}
#entry-confirmation{height:calc(3106px * var(--result-scale,1));overflow:hidden}
#cover-view{aspect-ratio:1080/1768}

/* Keep legal copy on the campaign texture, including outside source canvases. */
body:not(:has(#entry:not([hidden]))) > .campaign-footer{
  background:#193725 url('/assets/source-ps-1-10.png') center bottom / 100% auto no-repeat;
}
body:has(#loading:not([hidden])){
  background:#061b10 url('/assets/music-hero-background.png') center top / auto calc(177.778 * var(--app-vw)) no-repeat;
}
body:has(#loading:not([hidden])) .loading-layer-2{visibility:hidden}
body:has(#loading:not([hidden])) > .campaign-footer{background:transparent}
body:has(#loading:not([hidden])) .loading-layer-1{background:transparent}

/* Match the error screen’s solid background behind the legal footer. */
body:has(#failure:not([hidden])) > .campaign-footer{background:transparent}

/* A single backdrop spans the shared-song artwork and legal footer.
   Overscan crops the supplied JPEG's thin white bottom edge without editing it. */
body:has(#cover-view:not([hidden])){position:relative;isolation:isolate}
body:has(#cover-view:not([hidden]))::before{content:"";position:absolute;inset:0;margin-inline:auto;width:min(100%,480px);z-index:-1;pointer-events:none;background:#193725 url('/assets/shared-background.jpg') center top / 100% 103% no-repeat}
body:has(#cover-view:not([hidden])) > .campaign-footer{background:transparent}
#cover-view .cover-source-layer-2{background:transparent}
#cover-view .cover-source-layer-3,#cover-view .cover-source-layer-43{visibility:hidden}
/* Preserve the existing curved ticket crop while removing its opaque fill. */
#cover-view .cover-source-layer-25{
 mask-image:linear-gradient(#000,#000),url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMTQ0IiBoZWlnaHQ9IjI5MzQiIHZpZXdCb3g9IjAgMCAxMTQ0IDI5MzQiPjxnIHRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIDEgMzIgLTEwMSkiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTA4MCAzNzAiIHdpZHRoPSIxMDgwIiBoZWlnaHQ9IjM3MCI+PGltYWdlIHdpZHRoPSIxMDgwIiBoZWlnaHQ9IjM3MCIgaHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUJEZ0FBQUZ5Q0FZQUFBQVE2Mm9pQUFBUzhFbEVRVlI0bk8zZERaZFY1WFhBOFgzaEFQS2lJQ0NLR2xHakpxS0pNYjQxYnpadDJxWTE2WHU3MHE1MnRhdGQvVVQ5QlAxc0tocEZCUlFOQ0dqV3M5eW5mVGlkWVFidXpMMTN6LzM5MXRycm5EdU01R1FjWk9ZL3ozbk83SC91UHhVQUFBQUFsZTFiOWdVQUFBQUF6RXZnQUFBQUFNb1RPQUFBQUlEeUJBNEFBQUNnUElFREFBQUFLRS9nQUFBQUFNb1RPQUFBQUlEeUJBNEFBQUNnUElFREFBQUFLRS9nQUFBQUFNb1RPQUFBQUlEeUJBNEFBQUNnUElFREFBQUFLRS9nQUFBQUFNb1RPQUFBQUlEeUJBNEFBQUNnUElFREFBQUFLRS9nQUFBQUFNb1RPQUFBQUlEeUJBNEFBQUNnUElFREFBQUFLRS9nQUFBQUFNb1RPQUFBQUlEeUJBNEFBQUNnUElFREFBQUFLRS9nQUFBQUFNb1RPQUFBQUlEeUJBNEFBQUNnUElFREFBQUFLRS9nQUFBQUFNb1RPQUFBQUlEeUJBNEFBQUNnUElFREFBQUFLRS9nQUFBQUFNb1RPQUFBQUlEeUJBNEFBQUNnUElFREFBQUFLRS9nQUFBQUFNb1RPQUFBQUlEeUJBNEFBQUNnUElFREFBQUFLRS9nQUFBQUFNb1RPQUFBQUlEeUJBNEFBQUNnUElFREFBQUFLRS9nQUFBQUFNb1RPQUFBQUlEeUJBNEFBQUNnUElFREFBQUFLRS9nQUFBQUFNb1RPQUFBQUlEeUJBNEFBQUNnUElFREFBQUFLRS9nQUFBQUFNb1RPQUFBQUlEeUJBNEFBQUNnUElFREFBQUFLRS9nQUFBQUFNb1RPQUFBQUlEeUJBNEFBQUNnUElFREFBQUFLRS9nQUFBQUFNb1RPQUFBQUlEeUJBNEFBQUNnUElFREFBQUFLRS9nQUFBQUFNb1RPQUFBQUlEeUJBNEFBQUNnUElFREFBQUFLRS9nQUFBQUFNb1RPQUFBQUlEeUJBNEFBQUNnUElFREFBQUFLRS9nQUFBQUFNb1RPQUFBQUlEeUJBNEFBQUNnUElFREFBQUFLRS9nQUFBQUFNb1RPQUFBQUlEeUJBNEFBQUNnUElFREFBQUFLRS9nQUFBQUFNb1RPQUFBQUlEeUJBNEFBQUNnUElFREFBQUFLRS9nQUFBQUFNb1RPQUFBQUlEeUJBNEFBQUNnUElFREFBQUFLRS9nQUFBQUFNb1RPQUFBQUlEeUJBNEFBQUNnUElFREFBQUFLRS9nQUFBQUFNb1RPQUFBQUlEeUJBNEFBQUNnUElFREFBQUFLRS9nQUFBQUFNb1RPQUFBQUlEeUJBNEFBQUNnUElFREFBQUFLRS9nQUFBQUFNb1RPQUFBQUlEeUJBNEFBQUNndkdHMjdDc0FBQUFBbUpNVkhBQUFBRUI1UTFqQ0FRQUFBQlEzaE1JQkFBQUExSGJZTFNvQUFBQkFWUzlHeEg5SHhJVmgyVmNDQUFBQWNCZU9Sc1J2SXVLL0l1Skg0eHNGRGdBQUFLQ0NOeUxpUHlQaW55TGlnZWt2Q2h3QUFBREFxbm80SXY0MUl2NGpJbDY0MHpzT0hxSUNBQUFBckpDREVmR3JpUGozaUhncklnNXM1eCt5Z2dNQUFBQllCYTlHeEw5RnhEOUh4T203L1ljRkRnQUFBR0Jabm9pSWY4bmJVTTdQOHhzSkhBQUFBTUFpbllpSWY4aXc4Zk9kK2swRkRnQUFBR0MzM1JjUnY4N2JUOTdLMXp0SzRBQUFBQUIydy82SStKTjhyT3ZmUnNUeDJFVkRlSXdLQUFBQXNEUDJSY1RQSXVJM0VmSDNFWEVtRnNRS0RnQUFBR0FlYmVuRVR5TGlIM052alVkakNRWUxPQUFBQUlCN1dLbng0d3dhYmFYRzQ3RmtWbkFBQUFBQTI5MVQ0ODJJK0x1Y3BhelUyTXp3elVvU0FBQUFnUC9uWUVUOElpTCtKbWRoZTJyY0xTczRBQUFBZ042eGlQaUxpUGpyaVBoVlJKeUlBZ1FPQUFBQTRPR0krTXVJK0t0OHRPdmhhaDhTZ1FNQUFBRFcwL2t1YXJ5UmUyeVVKWEFBQUFEQWVqZ1FFVCtOaUY5bjFIZ205aENCQS9iZW81cjJUMlpmOS9aMm5IWEhjWmZoalhZYi9ycWJyN3BqbTF2ZCtjMThQYjROQUFCWUhhZHpQNDIybDhZdnEreW5jUzhHejFDQnVSMktpQ041ajlyME9NNTlHeHczbWtQZEhPeU9CL0o0c0h0OUlDUGxPTzN0cStETGpCN2ozTWk1bWI4MlRudmI5VHdmajlkeXJuZm4vZnh1TWw5TTV2UHUySUlMQUFDc20xbEV2QndSYitXOFh2M1drKzBhUENXV05ma0RmalIzQXI0L2o4ZTZ0eDN0em85MHI0OXNjSnllSDE2WC8xamNoVEhDTE51MURCMXRya2JFWjNtODJyMGUzOWFPbjNiSGNhNTA1MjBGQ3dBQXJLSVRFZkZuRWZIbk9XZGpEYmxGaFZXMVAyUEVBM2VZTVZhTTU5TVpRMFk3Wi8yTXEySk83ZER2ZHlYbmNrNS9maWxmWDVyTUp6bHRWUWtBQU95VWRzdjVLeGt6ZnBrYmhBN3IvdUZkK3c4QXUrWklWc1RqZVp6TzhlNDRuUk1aSm1DVmpKK2ZUOXpEUDN1OWl4MGZiM0RlamgvbHNUOXZ0L1VBQUVEeldLN1MrTk44ak90RFBpeTNFempZcWdvK0dCRW5KM05xOHZZSEozTWlmM0lPZk9OUUxoTzgyNldDbjJUc2FIT3htLzcxaHprWE02UUFBTEEzdEIvNi9tRkUvQ0tqeG92THZxQlZKM0NzMXkwZnAzSUgzZW1jNm83OXRIZ0JMTThZRVovYjV2dGY3b0pIbXc4bTUyMSttOGUyM3dnQUFLdjEvZm5ydVRyamp5UGlSeXV5dDEwWkFrZnQxUlV0UXB5WnpFUGRzWitkMm9jQVdGM2pMV0RiQ1NLZmQ4RmpuUEgxKzkzeGczemlEUUFBTy84d2hPOW56R2p6WnU0dnlEMFNPRmJ2RTd5dHBIaGtNaTFZUEp6elNCN2IrM2w2QjNDdjJ0T0FuczdaeW9jWk84WjViNU9qRUFJQWNHZm5JK0tQSXVMbk9lMzdPbmJJTVBPYzJFWFluMkhpMFp5eitmcnM1SFVMR1FjV2NrVUEyemV1RUh0cGkvZjdJR1BIT0JjeWZGem9YcmU5UWp4eUZ3QllwNkR4WmhjMDJnK3IyU1ZXY015dlBZTDA4WnpISmpNR2pmWkpiTFVGc05lTks4MWV2c1A3WE0vbzhXNEdqM2N6Zmt4Zld3MENBRlRjUnVCN0dUVEdhVDhrWWtFRWpxMGZkZnF0bkNmeU9NYU04Ync5TmhLQTdUOVI1c21jT3hranlMdGQvSGhuOHJZdmZkQUJnQ1ZxRzRDK0VoRS95L2xKUGxXU0pWbjN3Tkh1ZHpxWFgyaWZ5Mmh4THFjRkRmZERBU3pIK0ZqZDE3YTRKZWFkU2ZoNHA1c1dSVzR1OEpvQmdMM3RSRDdacElXTW4rWVRUdzR2KzZKWW44RFJQZ0dmNnViSnliVG5DZ05RKzVhWVZ6ZjU5VnY1TkpnV085NmV4SS94ZGR0QTFaNGdBTUJHbm8ySUgzZFI0MFVmcHRVMkZOOWpkRit1dXZoMnpsTjVISjhNY0hMWkZ3akEwdXp2OWtUNmcwM2U1MXEzOHVQdExuejA1MWNYZk4wQXdPSWR5NVdqTFdhOGtWODcyRCtqbUtISUY2am5zcDQ5ay9Oc0Z6VGEvZHdBY0MvdTYvNXUyY3pIay9EUkI1QzNjMVBVcjN6NEFhRFVEOHFmejVEeGVoNWZMUEw5TVhld1N2OEMyekxqNytTMGdQRmNGekpFREFDVzVWVE9aaytIdVpHclFQcm9NWTBnbnkzNG1nR0EvL040aG96WGN0cnRyUjRXc1FjTnM4V3Z4bmc2YTluekdUTyttMk8zV1FBcU90RHQ5YlNaVHliQll6cnRxVEZXZ1FEQS9NNWt3SGcxbjNEeVdtNWN6aG9ZZHZIM2JjdDlYOGhwTWVOOHJzcG95NEVCWUoyY3pQbkJKci8rNVFhclFLYnorWUt2R1FCVzNjTVpNWDZZODBvK0RaTTF0Uk9CbzMwQ2ZTL25oYngzcWEzSUVESUFZSHNPZGh0a2I3VVh5R2Ezd1ZnRkFzQmU5bVQrb09BSGVkdm9EL1BXRTdpbndIRTQ0MFg3aFBwK1JMeVVVYU05aWhVQVdPNWVJRzBWeUlWTklzaDQvTlMvSkFBS1JQL3orZjNtT08xN1VFL0k1SjREeDhuOEF1cmxycEo5WjhVMkpRVUFiditDY0t1OVFLNU1nc2U3Rzd4dW9RUUFGdUhSL09INWVFZkFTM2szUVBzN0RlN2FrQ3N3K2sxWVh0bmlpeU1Bb0tiajNSZVJtL2x0Qm85eDNwMjhiby9GdmJYQWF3WmdiL3o5TTI1bjhFTDNkOUhwWlY4WWU4c1FNYnUwN0lzQUFGYkdJemx0MS9tTjNNejlQdm9BMHM4N0dVbEVFSUQxODBBK1lHSjgwTVQ0MEFrYmY3SVFiamtCQU83MmE0ZHY1Y1FXRVdRYVB5NTA1MjBseUEwZmVvQ3lUeS81YmthTThmajhGbjgzd0s0Ylpydi92d0VBckpmdFJKRElsUjRYdW5sdjhyck41UVZkTXdDM094UVIzODZBMGZaamZDNlA3ZldEUGxpc29pRVVEZ0JndWJmRHRQMi9OdlA1Skg2OE41a0x1VnJrMmdLdkcyQXZCZW4yK05Wbkl1TFpuT2Z5ZUM0aTlpLzdBdUZ1dUVVRkFGaGxSL09MN1RaMzhra0dqL2R6M3NzVkl2M3JkdnhpUWRjTnNDcU81RU1rbnM0VkdVOW4wSGdtNDhhQlpWOGc3QlNCQXdEWUMwN210QjM2WTR0SDViNmY4V01NSUI5MHI4ZTVHQkZmTGVqYUFlYXhQMjhKZkNxRHhaTmQwR2h6MW9lWGRTRndBQURyOXFqQzQza1BlV3l4VWVwSEdUcys2T2JERFY1ZnpQY0gyQTMzWmNBNGwvTkVkOTdtY2FzdzRCc0NCd0RBeGw4ampYdUViTWRIR1R2NithZ0xJUDE4YkhVSTBHM2srV2hHaXNjeVpEeWV4eWZ5ZU1aSEM3Wkg0QUFBbU4vcG5QUGJlTjlidVdmSXhZd2c0M0djanlmbkgrZXROVUFkK3pKTW5NMkFNYzc0K3JFTUdlSUY3Q0NCQXdCZzhmZkxQNVN6WFRjeWlvekJveisvbEsvSHVkUWRQNDJJcjNmeC93dXNXN1E0RlJFUFo1Z1lqMmU2RlY5bjg5aitmUHRlQ3haczhKUllBSUNWZHlDL21XcHpOOXJlSUpkekx1VmM3bzVYdWwrLzBoM0h1U3FRc0ljZHkyQXhuZE5kaE95bi9acG9BU3ZNSDFBQWdMMzl0ZDU0Kzh5OXVKV3JRSzVNanVOOE5wbitiVmU3NDlWOFJLL1ZKT3owaW9yN2MrUGdFem45ZVpzSGMwNU9qcWR5L3d0Z0R4RTRBQUM0MCswMDR6ZUlPNkVQSHA5dk1sOTB4emEvbTV6MzA5NTJMYyt2NWJRb3crcHBNZUZ3UkJ6cDV1amsvRmczL2VzV01SN29wbjhOOEw4RURnQUFGdVgrbk4xMEkwUEg5ZTY0MFh3NU9kN0k4LzU0TStkRzk3cC8rODBNS3VPeG42OG01OVA1ZW9PSnlYa3ptNXh2TnZ1NjJiL0JzWjloZytPUXQwS054K241d2U0NHpxRnUrdGVIODlHbWg3dW9BYkRyaHR2K2t3a0FBTFdOMzVEdmRrZ0JZTVVNdDBkaEFBQUFnSHJha2pVQUFBQ0EwZ1FPQUFBQW9MekJEU29BQUFCQWRWWndBQUFBQU9VSkhBQUFBRUI1QWdjQUFBQlFuc0FCQUFBQWxDZHdBQUFBQU9VSkhBQUFBRUI1QWdjQUFBQlEzakNiTGZzU0FBQUFBT1pqQlFjQUFBQlFuc0FCQUFBQWxEZEV1RWNGQUFBQXFNMEtEZ0FBQUtBOGdRTUFBQUFvVCtBQUFBQUF5aE00QUFBQWdQSUdXNHdDQUFBQTFWbkJBUUFBQUpRbmNBQUFBQURsQ1J3QUFBQkFlVVBZaEFNQUFBQW96Z29PQUFBQW9EeUJBd0FBQUNoUDRBQUFBQURLRzJ6QkFRQUFBRlJuQlFjQUFBQlEzaEFlb3dJQUFBQVVad1VIQUFBQVVKN0FBUUFBQUpRbmNBQUFBQURsQ1J3QUFBQkFlUUlIQUFBQVVONHdteTM3RWdBQUFBRG1Zd1VIQUFBQVVKN0FBUUFBQUpRbmNBQUFBQURsQ1J3QUFBQkFlUUlIQUFBQVVKN0FBUUFBQUpRbmNBQUFBQURsRGJPWUxmc2FBQUFBQU9aaUJRY0FBQUJRbnNBQkFBQUFsRGU0UXdVQUFBQ296Z29PQUFBQW9EeUJBd0FBQUNoUDRBQUFBQURLRXpnQUFBQ0E4b2Jac3E4QUFBQUFZRTVXY0FBQUFBRGxDUndBQUFCQWVRSUhBQUFBVUo3QUFRQUFBSlFuY0FBQUFBRGxDUndBQUFCQWVVUE1QQ2dXQUFBQXFHMlFOd0FBQUlEcTNLSUNBQUFBbENkd0FBQUFBT1VKSEFBQUFFQjVBZ2NBQUFCUW5zQUJBQUFBbENkd0FBQUFBT1VKSEFBQUFFQjV3MnpaVndBQUFBQXdKeXM0QUFBQWdQSUVEZ0FBQUtDOElkeWpBZ0FBQUJSbkJRY0FBQUJRM2hDV2NBQUFBQURGV2NFQkFBQUFsQ2R3QUFBQUFPVU45aGdGQUFBQXFyT0NBd0FBQUNoUDRBQUFBQURLRXpnQUFBQ0E4Z1FPQUFBQW9EeUJBd0FBQUNoUDRBQUFBQURLRzhKellnRUFBSURpQm4wREFBQUFxTTR0S2dBQUFFQjVBZ2NBQUFCUW5zQUJBQUFBbERlRVhVWUJBQUNBNHF6Z0FBQUFBTW9UT0FBQUFJRHlCQTRBQUFDZ3ZHRzI3Q3NBQUFBQW1KTVZIQUFBQUVCNWc0ZW9BQUFBQU5WWndRRUFBQUNVSjNBQUFBQUE1UWtjQUFBQVFIa0NCd0FBQUZDZXdBRUFBQUNVTjh5V2ZRVUFBQUFBYzdLQ0F3QUFBQ2h2aUxDR0F3QUFBS2pOQ2c0QUFBQ2dQSUVEQUFBQUtFL2dBQUFBQU1vYmJNRUJBQUFBVkdjRkJ3QUFBRkRlNEJrcUFBQUFRSFZXY0FBQUFBRGxDUndBQUFCQWVRSUhBQUFBVUo3QUFRQUFBSlFuY0FBQUFBRGxDUndBQUFCQWVRSUhBQUFBVU40d2k5bXlyd0VBQUFCZ0xsWndBQUFBQU9VTkZuQUFBQUFBMVZuQkFRQUFBSlFuY0FBQUFBRGxDUndBQUFCQWVRSUhBQUFBVUo3QUFRQUFBSlEzekpaOUJRQUFBQUJ6c29JREFBQUFLRS9nQUFBQUFNb1RPQUFBQUlEeUJBNEFBQUNndkNIc01nb0FBQUFVWndVSEFBQUFVTjRRbG5BQUFBQUF4UTN1VUFFQUFBQ3FjNHNLQUFBQVVKN0FBUUFBQUpRbmNBQUFBQURsQ1J3QUFBQkFlUUlIQUFBQVVKN0FBUUFBQUpRbmNBQUFBQURsRGJObFh3RUFBQURBbklaUU9BQUFBSURpM0tJQ0FBQUFsQ2R3QUFBQUFPVUpIQUFBQUVCNVE5aUVBd0FBQUNqT0NnNEFBQUNnUElFREFBQUFLRy93bEZnQUFBQ2dPaXM0QUFBQWdQSUVEZ0FBQUtBOGdRTUFBQUFvVCtBQUFBQUF5aHZDTHFNQUFBQkFjVlp3QUFBQUFPVUpIQUFBQUVCNWd6dFVBQUFBZ09xczRBQUFBQURLRXpnQUFBQ0E4Z1FPQUFBQW9Md2hQQ2NXQUFBQUtNNEtEZ0FBQUtBOGdRTUFBQUFvVCtBQUFBQUF5aHRteTc0Q0FBQUFnRGtOOWhnRkFBQUFxbk9MQ2dBQUFGQ2V3QUVBQUFDVUozQUFBQUFBNVFrY0FBQUFRSGtDQndBQUFGQ2V3QUVBQUFDVU44eVdmUVVBQUFBQWM3S0NBd0FBQUNodmlMQ0dBd0FBQUtqTkNnNEFBQUNndk1FQ0RnQUFBS0E2S3pnQUFBQ0E4Z1FPQUFBQW9EeUJBd0FBQUNodjhBd1ZBQUFBb0Rvck9BQUFBSUR5QkE0QUFBQ2dQSUVEQUFBQUtFL2dBQUFBQU1vVE9BQUFBSUR5QkE0QUFBQ2dQSUVEQUFBQUtHK1l6Wlo5Q1FBQUFBRHpHU0lVRGdBQUFLQTJ0NmdBQUFBQTVRa2NBQUFBUUhrQ0J3QUFBRkNld0FFQUFBQ1VKM0FBQUFBQTVRa2NBQUFBUUhtRGg4UUNBQUFBMVZuQkFRQUFBSlFuY0FBQUFBRGxDUndBQUFCQWVVUFloQU1BQUFBb3pnb09BQUFBb0R5QkF3QUFBQ2h2Q1Blb0FBQUFBTVVOdHVBQUFBQUFvcmpmQTMxaVNrbmdGcXpKQUFBQUFFbEZUa1N1UW1DQyIvPjwvc3ZnPjwvZz48L3N2Zz4=);
 mask-size:100% 100%,1144px 2934px;mask-position:0 0,-144px 405px;mask-repeat:no-repeat;mask-composite:exclude;
}
