
/* ------------------------------------------------------------ */
/* Admin: Site scan table                                       */
/* ------------------------------------------------------------ */

.hd-sitescan-table{ table-layout:fixed; width:100%; }
.hd-sitescan-col-page{ width:44%; }
.hd-sitescan-col-http{ width:8%; }
.hd-sitescan-col-time{ width:10%; }
.hd-sitescan-col-status{ width:10%; }
.hd-sitescan-col-notes{ width:28%; }

.hd-sitescan-table td, .hd-sitescan-table th{ vertical-align:top; }
.hd-sitescan-table td:first-child a{ word-break:break-word; }
.hd-sitescan-table .hd-sitescan-area,
.hd-sitescan-table .hd-sitescan-width{ margin-right:8px; margin-bottom:6px; display:inline-flex; }
.hd-sitescan-table td:last-child{ word-break:break-word; }

/*!
 * Bootstrap v4.5.2 (https://getbootstrap.com/)
 * Copyright 2011-2020 The Bootstrap Authors
 * Copyright 2011-2020 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item,.nav-fill>.nav-link{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{-ms-flex-negative:0;flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{-ms-flex:1 0 0%;flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item{display:-ms-flexbox;display:flex}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;line-height:0;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0}a.close.disabled{pointer-events:none}.toast{-ms-flex-preferred-size:350px;flex-basis:350px;max-width:350px;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:-webkit-min-content;height:-moz-min-content;height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:-webkit-min-content;height:-moz-min-content;height:min-content}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;-ms-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;overflow-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}
/*# sourceMappingURL=bootstrap.min.css.map */

/* ===== Holding Differently site styles (merged) ===== */

/* --- fade.css --- */
.fade-in {
    opacity: 0;
    /* Subtle, consistent entrance (large vertical slides felt inconsistent across pages) */
    transform: translateY(16px);
    visibility: hidden;
    transition: opacity 0.45s ease-out, transform 0.6s ease-out;
    will-change: opacity, visibility;
}

.fade-in.is-visible {
    opacity: 1;
    transform: none;
    visibility: visible;
}


/* --- boxmenu.css --- */
/* Base Styles */
.tile {
    background-color: #192e40;
    padding: 0rem;
    border-radius: 5px !important;
    line-height: 1.8rem;
    box-sizing: border-box;
    border-top: 2px solid #ff9179;
}

.tile:hover {
    opacity: 0.9;
    cursor: pointer;
    background-color: #192e40;
}

.tile:active,
.tile:focus {
    opacity: 1;
}

.tilename {
    color: #ffffff;
    font-size: clamp(0.75rem, 0.4969rem + 1.125vw, 1.2rem) !important;
    margin-bottom: 0.5rem;
    letter-spacing: 2px !important;
}

.blogtitle {
    color: #ff9179;
}

.tiles {
    margin: 0rem auto;
    display: grid;
    grid-gap: 3rem;
    padding-left: 0rem;
    padding-right: 0rem;
    grid-template-columns: repeat(3, 1fr); /* Default layout for larger screens */
}

.blogcontainer {
    height: auto;
    width: 90%;
    margin: auto;
    box-sizing: border-box;
    overflow-wrap: break-word;
}

.blogtilelayout {
    width: 90%;
    margin: 1.5rem auto;
    padding: 1.5rem;
    align-items: center;
    justify-content: center;
}

.blogcontent {
    width: 80%;
    margin: auto;
    margin-bottom: 3rem;
}

/* MEDIA QUERIES */

/* Large Desktops (1441px to 1920px) */
@media (max-width: 120rem) { /* 1920px */
    .tile {
        padding: 1.5rem;
        line-height: 1.8rem;
    }

    .tiles {
        grid-gap: 2.5rem;
        grid-template-columns: repeat(3, 1fr);
    }

    .tilename {
        font-size: 1.1rem;
    }
}

/* Laptops (1025px to 1440px) */
@media (max-width: 90rem) { /* 1440px */
    .tile {
        padding: 1.25rem;
        line-height: 1.7rem;
    }

    .tiles {
        grid-gap: 2rem;
        grid-template-columns: repeat(3, 1fr); /* Adjust to 2 columns */
    }

    .tilename {
        font-size: 1rem;
    }
}

/* Tablets (769px to 1024px) */
@media (max-width: 64rem) { /* 1024px */
    .tile {
        padding: 1rem;
        line-height: 1.6rem;
    }

    .tiles {
        grid-gap: 1.5rem;
        grid-template-columns: repeat(1, 1fr);
    }

    .tilename {
        font-size: 0.95rem;
    }
}

/* Small Devices (481px to 768px) */
@media (max-width: 48rem) { /* 768px */
    .tile {
        padding: 0.75rem;
        line-height: 1.5rem;
    }

    .tiles {
        grid-gap: 1rem;
        grid-template-columns: 1fr; /* Ensure 1 tile per row */
    }

    .tilename {
        font-size: 0.9rem;
    }
}

/* Extra Small Devices (Up to 480px) */
@media (max-width: 30rem) { /* 480px */
    .tile {
        padding: 0.5rem;
        line-height: 1.4rem;
    }

    .tiles {
        grid-gap: 0.75rem;
        grid-template-columns: 1fr; /* Ensure 1 tile per row */
    }

    .tilename {
        font-size: 0.85rem;
    }
}


/* --- footer.css --- */
/* =========================
   Footer (refined)
   Goals:
   - Contact on LEFT, brand/logo on RIGHT (desktop)
   - On smaller screens: logo centered AND stacked ABOVE contact
   - Partner logos consistent size + less gap + restricted width
   - Cleaner spacing + better hierarchy
   ========================= */

#footerlowerbar.site-footer {
  width: 100%;
  margin: 0;
  background: transparent;
  color: var(--footer-text);
}

#footerlowerbar .footer-container {
  /* Footer uses the same site shell width as the header/nav. */
  max-width: var(--shell-max, var(--container-max));
  margin: 0 auto;
  padding: clamp(24px, 3vw, 44px) var(--container-pad) 16px;
  box-sizing: border-box;

  background: var(--footer-bg);
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 22px 22px 0 0;
  overflow: hidden;
}

/* Links */
#footerlowerbar a {
  color: #fff;
  text-decoration: none;
}
#footerlowerbar a:visited { color: #fff; }
#footerlowerbar a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}
#footerlowerbar a:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}

/* =========================
   Row 1: Contact + Brand (desktop)
   ========================= */
#footerlowerbar .footer-top {
  display: grid;
  grid-template-columns: minmax(380px, 600px) minmax(280px, 1fr);
  gap: clamp(14px, 2vw, 28px);
  align-items: center;
  padding-bottom: clamp(12px, 1.6vw, 18px);
}

/* Contact card */
#footerlowerbar .footer-contact {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 22px;
  padding: 18px 18px 16px;
}

#footerlowerbar .footer-contact-title {
  margin: 0 0 8px;
  font-size: clamp(1.15rem, 1.7vw, 1.45rem);
  font-weight: 900;
  line-height: 1.2;
}

#footerlowerbar .footer-contact-text {
  margin: 0 0 14px;
  color: rgba(255,255,255,0.88);
  line-height: 1.55;
  font-size: 1rem;
}

#footerlowerbar .footer-contact-text a {
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
  white-space: nowrap;
}

#footerlowerbar .footer-contact-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 22px;
  border-radius: var(--radius-btn, 999px);
  background: var(--accent);
  color: var(--accent-text);
  font-weight: 900;
  transition: transform 0.12s ease, background 0.12s ease;
}
#footerlowerbar .footer-contact-btn:hover {
  background: var(--accent-hover);
  transform: translateY(-1px);
}

/* Brand (desktop: centered within right column) */
#footerlowerbar .footer-brand {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  text-align: center;
}

#footerlowerbar .footer-brand-link {
  display: inline-flex;
  justify-content: center;
  width: 100%;
  line-height: 0;
}

/* Main logo sizing */
#footerlowerbar .footer-brand-logo {
  width: min(260px, 100%);
  height: auto;
  max-height: 170px;
  display: block;
  margin: 0 auto;
  object-fit: contain;
}

/* Slightly smaller on very wide screens */
@media (min-width: 1200px) {
  #footerlowerbar .footer-brand-logo {
    width: 240px;
    max-height: 160px;
  }
}

/* Shared section titles */
#footerlowerbar .footer-partners-title,
#footerlowerbar .footer-links-title {
  margin: 0 0 14px;
  font-size: 0.9rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.75);
}

/* =========================
   Row 2: Collaborating organisations
   ========================= */
#footerlowerbar .footer-partners {
  margin-top: clamp(10px, 1.6vw, 18px);
  padding-top: clamp(14px, 2vw, 18px);
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

#footerlowerbar .footer-partners-title {
  text-align: center;
}

/* Restrict tile width so they don’t become huge pills */
#footerlowerbar .footer-partners-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 320px));
  justify-content: center;
  gap: clamp(12px, 2vw, 22px);
  align-items: center;
}

/* Partner tiles */
#footerlowerbar .footer-partner {
  width: 100%;
  max-width: 360px;
  margin: 0 auto;

  background: #fff;
  border-radius: 16px;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 84px;
  box-sizing: border-box;
}

/* Partner logos: cap width + height */
#footerlowerbar .footer-partner img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 260px;
  max-height: 58px;
  object-fit: contain;
}

/* Mobile: prevent logos from appearing oversized */
@media (max-width: 520px){
  #footerlowerbar .footer-top{
    grid-template-columns: 1fr;
  }
  #footerlowerbar .footer-brand-logo{
    width: min(200px, 100%);
    max-height: 120px;
  }
  #footerlowerbar .footer-partners-grid{
    grid-template-columns: 1fr;
  }
  #footerlowerbar .footer-partner{
    padding: 12px 14px;
    min-height: 74px;
  }
  #footerlowerbar .footer-partner img{
    max-width: 200px;
    max-height: 52px;
  }
}

/* Fine tuning */
#footerlowerbar .footer-partner--sg img { max-height: 54px; }
#footerlowerbar .footer-partner--strath img { max-height: 60px; }

/* =========================
   Row 3: Helpful resources
   ========================= */
#footerlowerbar .footer-links {
  margin-top: clamp(16px, 2.4vw, 26px);
  padding-top: clamp(16px, 2.2vw, 22px);
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

/* Premium bullets (site amber) + clean wrapping */
#footerlowerbar .footer-links-list {
  list-style: none;
  padding-left: 0;
  margin: 0;
  display: grid;
  gap: 12px;
}

#footerlowerbar .footer-links-list li {
  display: grid;
  grid-template-columns: 14px 1fr; /* stable bullet column */
  column-gap: 12px;
  align-items: start;
}

/* Small amber dot aligned to first line baseline */
#footerlowerbar .footer-links-list li::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--accent);  /* site amber from master.css */
  margin-top: 0.55em;         /* aligns dot with first line */
  opacity: 0.85;
  justify-self: center;
}

#footerlowerbar .footer-links-list a {
  display: block;
  max-width: 62ch;
  font-weight: 800;
  line-height: 1.55;
  color: rgba(255,255,255,0.92);
  overflow-wrap: anywhere;
}

#footerlowerbar .footer-links-list a:hover {
  text-decoration-thickness: 2px;
}

/* =========================
   Bottom line
   ========================= */
#footerlowerbar .footer-bottom {
  margin-top: clamp(16px, 2.2vw, 22px);
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

#footerlowerbar .footer-bottom-text {
  margin: 0;
  text-align: center;
  font-size: 0.95rem;
  color: rgba(255,255,255,0.85);
}

/* =========================
   Responsive
   ========================= */
@media (max-width: 980px) {
  /* Stack and put BRAND first (logo on top) */
  #footerlowerbar .footer-top {
    grid-template-columns: 1fr;
    grid-auto-flow: row;
    gap: 18px;
    align-items: start;
  }

  /* Force order: logo first, contact second */
  #footerlowerbar .footer-brand { order: 1; }
  #footerlowerbar .footer-contact { order: 2; }

  /* Center logo on mobile */
  #footerlowerbar .footer-brand {
    justify-content: center;
    text-align: center;
    width: 100%;
  }

  #footerlowerbar .footer-brand-link {
    display: inline-flex;
    justify-content: center;
    width: 100%;
  }

  /* Keep logo size sensible on mobile */
  #footerlowerbar .footer-brand-logo {
    width: min(300px, 100%);
    max-height: 170px;
    display: block;
    margin: 0 auto;
  }

  /* Let email/name wrap nicely */
  #footerlowerbar .footer-contact-text a {
    white-space: normal;
  }
}

@media (max-width: 520px) {
  #footerlowerbar .footer-container {
    border-radius: 18px 18px 0 0;
  }

  #footerlowerbar .footer-brand-logo {
    width: min(220px, 100%);
    max-height: 150px;
  }

  #footerlowerbar .footer-partner {
    min-height: 78px;
  }

  #footerlowerbar .footer-partner img {
    max-width: 240px;
    max-height: 54px;
  }
}


.footer-logo-link{ display:block; }
.footer-logo-link img{ max-width:100%; height:auto; display:block; }


/* --- nav.css --- */
/* =========================================================
   nav.css (Header + Docked Nav + Anchor Offset) — UPDATED + WORKING
   Fixes included:
   - Account dropdown items were invisible because .brand-user-float had overflow:hidden
     and the absolute-positioned dropdown menu was being clipped.
   - Visited-link purple removed (restored original behaviour)
   - Active state styling is now “bulletproof” (wins over :visited / global link rules)
   - Accessibility icon dropdown menu (reuses existing dropdown JS)
   - Logged out shows LOGIN pill in same position as user/logout block
   - FIX: Account dropdown button now matches Logout/Login pill sizing
   - FIX: Accessibility menu now layers ABOVE Logout/Login/Account pills
   - FIX: Accessibility menu no longer spills over right edge (aligns with header)
   - FIX: Account dropdown menu shifts LEFT by ~1 inch (wins over generic dropdown rule)
   ========================================================= */

:root{
  --anchor-offset: 140px;

  /* Logo sizing */
  /* Slightly larger logo for better prominence (still responsive) */
  /* ~25% larger logo (requested), still responsive */
  /* Slightly tighter wrap + slightly larger logo so it fills the space better */
  /* ~25% larger than previous to better fill the logo container */
  --brand-logo-wrap: clamp(130px, 13vw, 190px);
  --brand-logo-size: clamp(115px, 11vw, 165px);

  /* Icon sizing */
  --brand-icon-size: clamp(46px, 4.2vw, 56px);

  /* Gaps */
  /* Use a responsive gap so the header doesn't crush on large-text/smaller widths */
  --brand-gap: clamp(14px, 3vw, 38px);
  --brand-icons-gap: 10px;
  --brand-user-gap: 10px;

  /* Desktop placement of the floating user block */
  --user-top: 104px;
  --user-right: 0px;

  /* Brand strip horizontal padding (matches .brand-strip padding-x) */
  --strip-pad-x: 22px;

  /* Shift account dropdown menu left (~1 inch) */
  --account-menu-shift: 0px;
}

/* Anchor / hash safe offset */
.outputdata_default [id]{ scroll-margin-top: var(--anchor-offset); }
.anchor-target{ scroll-margin-top: var(--anchor-offset); }

/* Subtle highlight used when jumping to an in-page tool section. */
.hd-flash{
  outline: 3px solid color-mix(in srgb, var(--primary) 28%, transparent 72%);
  outline-offset: 6px;
  border-radius: 18px;
}

/* ---------------------------------------------------------
   1) Header canvas
   --------------------------------------------------------- */
#header-container{
  width: 100%;
  /* Slightly tighter vertical spacing (less white space) */
  padding: 0.95rem 0 0.95rem;
  box-sizing: border-box;

  background:
    radial-gradient(1200px 520px at 18% 0%, rgba(46, 74, 63, 0.10), transparent 62%),
    radial-gradient(900px 420px at 82% 10%, rgba(200, 154, 42, 0.10), transparent 58%),
    var(--page);
}

@media (max-width: 520px){
  #header-container{ padding: 0.85rem 0 0.95rem; }
}

/* ---------------------------------------------------------
   2) Unified header shell
   --------------------------------------------------------- */
#header-shell{
  /* Header/nav/footer define the site shell width (defaults to ~1100px). */
  max-width: var(--shell-max, var(--container-max));
  margin: 0 auto;
  /* Slightly tighter padding to reduce perceived whitespace */
  padding: 1.05rem;
  box-sizing: border-box;

  background: var(--surface);
  border: 1px solid rgba(213, 222, 231, 0.75);
  border-radius: 26px;
  box-shadow: 0 18px 45px rgba(0,0,0,0.10);
}

@media (max-width: 520px){
  #header-shell{ padding: 0.95rem; border-radius: 20px; }
}

/* On very small screens, keep the logo comfortable so it doesn't dominate */
@media (max-width: 520px){
  :root{
    --brand-logo-wrap: 104px;
    --brand-logo-size: 94px;
  }
}

/* ---------------------------------------------------------
   Brand strip
   --------------------------------------------------------- */
.brand-strip{
  position: relative;
  display: grid;
  grid-template-columns: var(--brand-logo-wrap) 1fr;
  column-gap: var(--brand-gap);
  /* Visually balance logo with the combined title + controls block */
  align-items: center;
  padding: 6px var(--strip-pad-x) 10px;
}

.brand-logo-link{ align-self: center; }
.brand-logo-wrap{ margin-top: 0; }

@media (max-width: 720px){
  .brand-strip{
    grid-template-columns: 1fr;
    row-gap: 12px;
  }
  .brand-logo-link{ justify-self: start; }
}

@media (max-width: 520px){
  .brand-strip{ gap: 14px; padding: 10px 16px 8px; }
}

/* Logo */
.brand-logo-wrap{
  width: var(--brand-logo-wrap);
  height: var(--brand-logo-wrap);
  border-radius: 22px;
  background: transparent;
  border: none;
  display: grid;
  place-items: center;
}

.brand-logo{
  width: var(--brand-logo-size);
  height: var(--brand-logo-size);
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 12px 26px rgba(0,0,0,0.10));
}

.brand-logo-link{
  display: inline-flex;
  align-items: start;
  text-decoration: none;
  color: inherit;
}
.brand-logo-link:visited{ color: inherit; }
.brand-logo-link:hover{ opacity: 0.98; }
.brand-logo-link:focus-visible{
  outline: 3px solid var(--focus);
  outline-offset: 3px;
  border-radius: 14px;
}


/* Brand main (title + actions row) */
.brand-main{
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: stretch;
  min-width: 0;
}

/* Top row: title/subtitle only */
.brand-top-row{
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 16px;
  min-width: 0;
}

@media (max-width: 640px){
  .brand-top-row{
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
}
/* Title/subtitle */
.brand-text{
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 6px;
  min-width: 0;
}

.brand-title{
  font-weight: 950;
  /* Slightly smaller max to reduce unwanted wrapping on desktop */
  font-size: clamp(1.45rem, 2.1vw, 1.95rem);
  line-height: 1.05;
  letter-spacing: -0.01em;
  color: var(--text);

  white-space: normal;
}

/* Desktop: prefer a single-line title (ellipsis if absolutely required) */
@media (min-width: 900px){
  .brand-title{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/* legacy (no longer used, but kept to avoid breaking older templates) */
.brand-title-line{ display:block; }

.brand-subtitle{
  font-weight: 800;
  font-size: clamp(1.05rem, 1.4vw, 1.25rem);
  color: color-mix(in srgb, var(--primary) 85%, #000 15%);
  /* Prevent wrap on desktop; clamp with ellipsis if space is tight */
  white-space: nowrap !important;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 640px){
  .brand-subtitle{ white-space: normal; overflow: visible; text-overflow: clip; }
}

/* ---------------------------------------------------------
   Actions row (login/logout/account + icons)
   --------------------------------------------------------- */
 .brand-actions-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 2px;
  flex-wrap: wrap;
  min-width: 0;
}

/* Auth group lives on row 2, kept separate from icons */
.header-auth-group{
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--brand-user-gap);
  flex-wrap: wrap;
  min-width: 0;
}

/* Left: login/logout + account info */
.header-auth-group{
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap;
  min-width: 0;
}

/* Right: icons */
.header-icon-group{
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap;
}


.brand-user-name{
  font-weight: 800;
  color: var(--muted);
  font-size: 0.95rem;
  /* Keep the "Logged in as …" sentence on one line (desktop). */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: min(260px, 100%);
}

/* The "Logged in as …" helper should never crush the project title. */
@media (max-width: 980px){
  .brand-user-name{ display: none; }
}

.brand-user-id{
  font-weight: 900;
}

/* Auth button styled to sit visually with the icon cluster */

/* On very small screens allow controls to wrap to avoid overflow.
   Keep icons aligned to the right on their own line if wrapping occurs. */
@media (max-width: 520px){
  .brand-actions-row{ flex-wrap: wrap; justify-content: flex-start; }
  .header-icon-group{ width: 100%; justify-content: flex-end; margin-top: 6px; }
}
.brand-auth-btn{
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;

  padding: calc(var(--header-pill-pad-y, 8px)) calc(var(--header-pill-pad-x, 16px));
  min-height: var(--header-pill-min-h, 40px);

  border-radius: var(--header-pill-radius, 999px);
  background: #fff;
  color: var(--text);

  border: 1px solid rgba(213, 222, 231, 0.90);
  box-shadow: 0 10px 22px rgba(0,0,0,0.06);

  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
  transition: transform 140ms ease, box-shadow 140ms ease, background-color 140ms ease;
}

.brand-auth-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(0,0,0,0.10);
}

.brand-auth-btn:focus-visible{
  outline: 3px solid color-mix(in srgb, var(--accent) 50%, transparent 50%);
  outline-offset: 3px;
}

/* Ensure auth pills always win over main-nav button defaults */
.brand-actions-row .brand-auth-btn,
.brand-actions-row .brand-auth-btn .nav-label{
  color: var(--text) !important;
}

.brand-actions-row a.brand-auth-btn{
  background: var(--surface) !important;
  border: 1px solid color-mix(in srgb, var(--border) 85%, transparent) !important;
}

.brand-auth-btn:visited{ color: var(--text); }
.brand-auth-btn:hover{
  background: color-mix(in srgb, var(--page) 70%, #fff 30%);
  color: var(--text);
}

/* Ensure header auth pills don't inherit the green nav hover state */
.brand-actions-row a.brand-auth-btn:hover,
.brand-actions-row a.brand-auth-btn:focus-visible{
  background: color-mix(in srgb, var(--page) 70%, #fff 30%) !important;
  color: var(--text) !important;
  border-color: rgba(213, 222, 231, 0.95) !important;
}


/* Account dropdown pill in header actions (match Login/Logout + icon buttons) */
.brand-actions-row .nav-dropdown--account .nav-btn-dropdown{
  /* Match Login/Logout pill sizing (not the square icon buttons) */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--header-pill-min-h, 40px);
  padding: calc(var(--header-pill-pad-y, 8px)) calc(var(--header-pill-pad-x, 16px));
  border-radius: var(--header-pill-radius, 999px);
  background: var(--surface);
  color: var(--text);
  border: 1px solid color-mix(in srgb, var(--border) 85%, transparent);
  box-shadow: 0 10px 22px rgba(0,0,0,0.06);
  font-weight: 900;
  text-decoration: none;
}
.brand-actions-row .nav-dropdown--account .nav-btn-dropdown:hover{
  background: color-mix(in srgb, var(--surface) 70%, var(--page) 30%);
}
.brand-actions-row .nav-dropdown--account .nav-btn-dropdown .nav-caret{ margin-left: 6px; }
/* NOTE: used on <a> and <button> in icon area */
.brand-icon{
  width: var(--brand-icon-size);
  height: var(--brand-icon-size);
  border-radius: 18px;
  display: grid;
  place-items: center;

  color: var(--text);
  background: var(--surface);
  border: 1px solid color-mix(in srgb, var(--border) 85%, transparent);
  box-shadow: 0 12px 26px rgba(0,0,0,0.06);
  text-decoration: none;
}
.brand-icon:visited{ color: var(--text); }

.brand-icon:hover{
  background: color-mix(in srgb, var(--page) 70%, #fff 30%);
}

.brand-icon svg{
  width: 22px;
  height: 22px;
}

/* ---------------------------------------------------------
   Icon dropdown wrapper (Accessibility menu)
   --------------------------------------------------------- */
.nav-dropdown--icon{
  position: relative;
  display: inline-flex;
  align-items: center;
}

/* Make icon button behave like the link (no visual change) */
.nav-dropdown--icon .brand-icon{
  appearance: none;
  -webkit-appearance: none;
  padding: 0;
  cursor: pointer;
}

/* Icon menu items should be neutral (not green buttons) */
.nav-dropdown--icon .dropdown-menu .dropdown-item{
  background: color-mix(in srgb, var(--page) 70%, var(--surface) 30%) !important;
  color: var(--text) !important;
  border: 1px solid rgba(213, 222, 231, 0.85) !important;
  text-align: left !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}


/* Ensure account dropdown items never become white/faded on the active page */
.dropdown-item.active,
.dropdown-item:active,
.nav-dropdown--icon .dropdown-menu .dropdown-item[aria-current="page"]{
  color: var(--text) !important;
  opacity: 1 !important;
  background: color-mix(in srgb, var(--page) 70%, var(--surface) 30%) !important;
}
.nav-dropdown--icon .dropdown-menu .dropdown-item:visited{ color: var(--text) !important; }
.nav-dropdown--icon .dropdown-menu .dropdown-item:hover{
  background: color-mix(in srgb, var(--page) 55%, #fff 45%) !important;
  text-decoration: underline !important;
  text-underline-offset: 0.18em !important;
}

/* ---------------------------------------------------------
   Logged-in user block (DESKTOP)
   --------------------------------------------------------- */
/*
  Logged-in user block
  IMPORTANT: keep this *in the document flow* so it can wrap cleanly
  when users enlarge text or the viewport narrows.
*/
.brand-user-float{
  position: static;
  margin-left: auto;

  display: inline-flex;
  align-items: start;
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: var(--brand-user-gap);

  z-index: 2400;
  pointer-events: auto;

  max-width: 100%;
  white-space: normal;
  overflow: visible;
}

/* Keep truncation ONLY on the name */
.brand-user-name{
  font-weight: 900;
  font-size: 0.88rem;
  line-height: 1.2;
  color: var(--text);

  /* Allow wrapping for large text / narrow headers */
  max-width: min(260px, 100%);
  white-space: normal;
}

.brand-user-id{ font-weight: 950; }

/* ---------------------------------------------------------
   Logout + Login pills share identical styling
   + Account button uses the SAME pill sizing
   --------------------------------------------------------- */
.brand-logout,
.brand-login,
.nav-dropdown--account .nav-btn.nav-btn-dropdown{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 0.35rem 0.75rem !important;
  min-height: 30px !important;
  border-radius: 999px !important;

  text-decoration: none !important;
  font-weight: 900 !important;

  background: color-mix(in srgb, var(--surface) 92%, var(--alt) 8%) !important;
  color: var(--text) !important;
  border: 1px solid color-mix(in srgb, var(--border) 88%, transparent) !important;
  box-shadow: 0 10px 22px rgba(0,0,0,0.06) !important;

  font-size: 1rem !important;
  line-height: 1.2 !important;
  gap: 0.45rem !important;

  white-space: nowrap !important;
}

.brand-logout:visited,
.brand-login:visited{
  color: var(--text);
}

.brand-logout:hover,
.brand-login:hover,
.nav-dropdown--account .nav-btn.nav-btn-dropdown:hover{
  background: color-mix(in srgb, var(--surface) 82%, var(--alt) 18%) !important;
  text-decoration: underline !important;
  text-underline-offset: 0.18em !important;
}

.brand-logout:focus-visible,
.brand-login:focus-visible,
.nav-dropdown--account .nav-btn.nav-btn-dropdown:focus-visible,
.nav-dropdown--account .brand-auth-btn:focus-visible{
  outline: 3px solid var(--focus) !important;
  outline-offset: 3px !important;
}

/* ---------------------------------------------------------
   Account dropdown beside username (header)
   --------------------------------------------------------- */
.nav-dropdown--account{
  position: relative;
  display: inline-flex;
  align-items: center;
}

/* The account menu */
.nav-dropdown--account .dropdown-menu{
  display: none;
  position: absolute;
  top: calc(100% + 10px);
  right: 0;

  width: min(320px, 92vw);
  background: var(--surface);
  border: 1px solid color-mix(in srgb, var(--border) 85%, transparent);
  border-radius: 18px;
  padding: 0.65rem;
  box-sizing: border-box;

  box-shadow: 0 18px 46px rgba(0,0,0,0.18);
}

/* JS adds .is-open */
.nav-dropdown--account .dropdown-menu.is-open{ display: block; }

.nav-dropdown--account .dropdown-menu .dropdown-item{
  display: block !important;
  width: 100% !important;
  margin: 0 0 0.55rem 0 !important;

  font-size: var(--nav-size) !important;
  padding: 0.75rem 1rem !important;
  min-height: 44px !important;

  background: color-mix(in srgb, var(--page) 70%, var(--surface) 30%) !important;
  color: var(--text) !important;

  border-radius: 16px !important;
  border: 1px solid rgba(213, 222, 231, 0.85) !important;

  font-weight: 800 !important;
  letter-spacing: 0.01em !important;
  text-align: left !important;
  box-sizing: border-box !important;

  text-decoration: none !important;
}
.nav-dropdown--account .dropdown-menu .dropdown-item:visited{ color: var(--text) !important; }
.nav-dropdown--account .dropdown-menu .dropdown-item:last-child{ margin-bottom: 0 !important; }

.nav-dropdown--account .dropdown-menu .dropdown-item:hover{
  background: color-mix(in srgb, var(--page) 55%, #fff 45%) !important;
  text-decoration: underline !important;
  text-underline-offset: 0.18em !important;
}

/* ---------------------------------------------------------
   Banner image (hero)
   --------------------------------------------------------- */
.hero-banner{ margin-top: 0.25rem; }

.hero-media{
  border-radius: 26px;
  border: none;
  background-color: #DADADA;

  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  min-height: 360px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 18px 44px rgba(0,0,0,0.14);
}

@media (max-width: 900px){
  .hero-media{ min-height: 300px; border-radius: 22px; }
}
@media (max-width: 520px){
  .hero-media{ min-height: 260px; }
}

.hero-overlay{
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(0,0,0,0.18) 0%,
    rgba(0,0,0,0.06) 40%,
    rgba(0,0,0,0.00) 70%
  );
  pointer-events: none;
}

.hero-pill{
  position: absolute;
  left: 22px;
  bottom: 20px;

  display: inline-flex;
  align-items: center;
  gap: 10px;

  padding: 14px 20px;
  border-radius: 999px;

  /* Logo-inspired glass CTA: green → gold across the pill */
  background: linear-gradient(90deg,
    color-mix(in srgb, var(--primary) 94%, #000 6%) 0%,
    color-mix(in srgb, var(--primary) 82%, var(--accent) 18%) 45%,
    color-mix(in srgb, var(--primary) 62%, var(--accent) 38%) 70%,
    color-mix(in srgb, var(--accent) 92%, #000 8%) 100%
  );
  color: #ffffff;
  font-weight: 950;
  letter-spacing: 0.2px;
  text-decoration: none;

  border: 1px solid color-mix(in srgb, var(--accent) 35%, rgba(0,0,0,0.22) 65%);
  box-shadow:
    0 18px 38px rgba(0,0,0,0.18),
    0 0 0 2px rgba(255,255,255,0.18) inset;
  overflow: hidden;
  transform: translateZ(0);
}

.hero-pill:visited{ color: #ffffff; }

.hero-pill::before{
  content:"";
  position:absolute;
  inset:-2px;
  background: radial-gradient(120px 40px at 20% 20%, rgba(255,255,255,0.55), rgba(255,255,255,0) 60%);
  opacity: 0.65;
  pointer-events:none;
  mix-blend-mode: screen;
}

.hero-pill::after{
  content:"";
  position:absolute;
  top:-60%;
  left:-40%;
  width: 60%;
  height: 220%;
  transform: rotate(22deg);
  background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.28) 45%, rgba(255,255,255,0) 100%);
  opacity: 0;
  transition: opacity .2s ease;
  pointer-events:none;
}

.hero-pill:hover::after{ opacity: 1; animation: heroShine 1.2s ease forwards; }

@keyframes heroShine{
  from{ transform: translateX(-40%) rotate(22deg); }
  to{ transform: translateX(260%) rotate(22deg); }
}

.hero-pill:hover{
  filter: brightness(1.03);
  box-shadow:
    0 22px 44px rgba(0,0,0,0.22),
    0 0 0 2px rgba(255,255,255,0.22) inset;
}

.hero-pill:focus-visible{
  outline: 3px solid rgba(255,255,255,0.95);
  outline-offset: 3px;
}

/* Keep the CTA gradient on hover (no white background flip). */
.hero-pill:hover{
  text-decoration: underline;
  text-underline-offset: 0.22em;
}

.hero-pill:focus-visible{
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}

/* ---------------------------------------------------------
   Nav normal (in-shell)
   --------------------------------------------------------- */
#nav-container{
  position: relative;
  z-index: 5;
  margin-top: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.25rem;
  border-top: 1px solid rgba(0,0,0,0.06);
}


#nav-container.is-transitioning{ opacity: 0.97; }


/* Nav panel */
/* Main navigation: always a clean 2-row grid (3 columns on desktop).
   This matches the original design intent and prevents the "floating bar" feel. */
.nav-buttons{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  width: 100%;
  margin: 0;
  padding: 0.9rem;
  background: color-mix(in srgb, var(--page) 65%, var(--surface) 35%);
  border: 1px solid rgba(213, 222, 231, 0.85);
  border-radius: 20px;
  box-sizing: border-box;
  box-shadow: 0 14px 32px rgba(0,0,0,0.09);
}

/* Mobile: 2 columns (3 rows) to avoid oversized single-row pills */
@media (max-width: 720px){
  .nav-buttons{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  a.nav-btn, button.nav-btn{ min-height: var(--nav-btn-min-h, 54px); }
}

/* Small phones: 1 column for readability */
@media (max-width: 420px){
  .nav-buttons{ grid-template-columns: 1fr; }
  a.nav-btn, button.nav-btn{ min-height: var(--nav-btn-min-h, 54px); }
}

/* Buttons */
a.nav-btn,
button.nav-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  max-width: none;
  font-size: var(--nav-size);
  padding: calc(var(--nav-btn-pad-y, 12px)) calc(var(--nav-btn-pad-x, 16px));
  min-height: var(--nav-btn-min-h, 54px);

  background: var(--primary);
  color: #fff;

  border-radius: var(--nav-btn-radius, 16px);
  border: 1px solid rgba(255,255,255,0.12);

  font-weight: var(--nav-weight);
  letter-spacing: 0.01em;
  text-align: center;

  white-space: normal;
  line-height: 1.2;

  box-sizing: border-box;

  cursor: pointer;
  transition: background-color 150ms ease, border-color 150ms ease, transform 140ms ease, box-shadow 140ms ease;
}

button.nav-btn{
  appearance: none;
  -webkit-appearance: none;
  gap: 0.5rem;
}

/* Header action pills should NOT inherit the large nav button flex/grid sizing */
.brand-actions-row .nav-btn,
.brand-actions-row a.nav-btn,
.brand-actions-row button.nav-btn{
  width: auto;
  min-height: 44px;
  padding: 0.5rem 0.9rem;
}

a.nav-btn:hover,
button.nav-btn:hover{ background: var(--primary-hover); }

@media (prefers-reduced-motion: no-preference){
  a.nav-btn:hover,
  button.nav-btn:hover{
    transform: translateY(-1px);
    box-shadow: 0 10px 18px rgba(0,0,0,0.12);
  }
}

a.nav-btn:focus-visible,
button.nav-btn:focus-visible{
  outline: 3px solid var(--focus);
  outline-offset: 2px;
}

/* Underline affordance (text-only, centered) without shifting text position.
   Underline appears only under the label text (not the whole button). */
.nav-buttons a.nav-btn::after,
.nav-buttons button.nav-btn::after{
  content: none !important; /* disable legacy full-width underline */
}

.nav-buttons .nav-label{
  position: relative;
  display: inline-block;
  line-height: 1.1;
  padding-bottom: 2px; /* space for underline */
}

.nav-buttons .nav-label::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  opacity: 0;
  transform: scaleX(0.8);
  transition: opacity 140ms ease, transform 140ms ease;
  pointer-events: none; /* never block clicks */
}

.nav-buttons a.nav-btn:hover .nav-label::after,
.nav-buttons a.nav-btn:focus-visible .nav-label::after,
.nav-buttons button.nav-btn:hover .nav-label::after,
.nav-buttons button.nav-btn:focus-visible .nav-label::after{
  opacity: 0.95;
  transform: scaleX(1);
}

.nav-buttons a.nav-btn.active .nav-label::after,
.nav-buttons a.nav-btn[aria-current="page"] .nav-label::after,
.nav-buttons button.nav-btn.active .nav-label::after,
.nav-buttons button.nav-btn[aria-current="page"] .nav-label::after{
  opacity: 1;
  transform: scaleX(1);
}


.nav-caret{ font-size: 0.9em; line-height: 1; opacity: 0.9; }

/* Dropdown */
.nav-dropdown{ position: relative; }

.nav-dropdown .dropdown-menu{
  display: none;
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 2200;

  width: min(320px, 92vw);
  background: var(--surface);
  border: 1px solid color-mix(in srgb, var(--border) 85%, transparent);
  border-radius: 18px;
  padding: 0.65rem;
  box-sizing: border-box;

  box-shadow: 0 18px 46px rgba(0,0,0,0.18);
}
.nav-dropdown .dropdown-menu.is-open{ display: block; }

.nav-dropdown a.dropdown-item{
  display: block;
  width: 100%;
  margin: 0 0 0.55rem 0;

  font-size: 0.98rem;
  padding: 0.75rem 1rem;
  min-height: 44px;

  background: var(--primary);
  color: #fff;

  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.12);

  font-weight: var(--nav-weight);
  letter-spacing: 0.01em;
  text-align: center;
  box-sizing: border-box;

  transition: background-color 150ms ease, border-color 150ms ease, transform 140ms ease, box-shadow 140ms ease;
}
.nav-dropdown a.dropdown-item:last-child{ margin-bottom: 0; }

.nav-dropdown a.dropdown-item:hover{ background: var(--primary-hover) !important; }

/* Resources submenu: smaller items with text-only underline (matches main nav behaviour) */
.nav-dropdown--resources .dropdown-item{
  background: var(--surface) !important;
  color: var(--heading) !important;
  border: 1px solid color-mix(in srgb, var(--border) 85%, transparent) !important;
  box-shadow: 0 8px 14px rgba(0,0,0,0.08) !important;
  border-radius: 12px;
  padding: 0.45rem 0.70rem;
  min-height: 32px;
  font-size: 0.90rem;
  font-weight: 700;
  text-align: left;
}

.nav-dropdown--resources .dropdown-item .dd-label{
  position: relative;
  display: inline-block;
  padding-bottom: 2px;
}

.nav-dropdown--resources .dropdown-item .dd-label::after{
  content: '';
  position: absolute;
  left: 50%;
  bottom: -2px;
  width: 100%;
  height: 3px;
  border-radius: 3px;
  background: currentColor;
  opacity: 0;
  transform: translateX(-50%) scaleX(0.3);
  transform-origin: center;
  transition: opacity 140ms ease, transform 140ms ease;
  pointer-events: none;
}

.nav-dropdown--resources .dropdown-item:hover{
  background: color-mix(in srgb, var(--surface) 75%, var(--page) 25%) !important;
}

.nav-dropdown--resources .dropdown-item:hover .dd-label::after,
.nav-dropdown--resources .dropdown-item:focus-visible .dd-label::after,
.nav-dropdown--resources .dropdown-item.active .dd-label::after,
.nav-dropdown--resources .dropdown-item[aria-current="page"] .dd-label::after{
  opacity: 0.95;
  transform: translateX(-50%) scaleX(1);
}

@media (prefers-reduced-motion: no-preference){
  .nav-dropdown a.dropdown-item:hover{
    transform: translateY(-1px);
    box-shadow: 0 10px 18px rgba(0,0,0,0.12);
  }
}

.nav-dropdown a.dropdown-item:focus-visible{
  outline: 3px solid var(--focus);
  outline-offset: 2px;
}

/* ---------------------------------------------------------
   ✅ IMPORTANT OVERRIDES (must be AFTER generic dropdown block)
   --------------------------------------------------------- */

/* Accessibility icon menu:
   - align to header right edge
   - prevent spilling off-screen */
.nav-dropdown--icon .dropdown-menu{
  z-index: 3000 !important;
  top: calc(100% + 10px) !important;

  /* align to header inner right edge */
  right: 0 !important;
  left: auto !important;

  /* clamp so it never exceeds viewport width */
  width: min(320px, calc(100vw - (var(--strip-pad-x) * 2))) !important;
  max-width: calc(100vw - (var(--strip-pad-x) * 2)) !important;
}

/* Account menu:
   - keep standard anchoring
   - shift LEFT by ~1 inch (reliable, not overridden by right:0 rules) */
.nav-dropdown--account .dropdown-menu{
  z-index: 3000 !important;

  right: 0 !important;
  left: auto !important;

  transform: translateX(calc(-1 * var(--account-menu-shift))) !important;
}

/* ---------------------------------------------------------
   STOP VISITED PURPLE (base)
   --------------------------------------------------------- */
.nav-buttons a.nav-btn:link,
.nav-buttons a.nav-btn:visited,
.nav-buttons a.nav-btn:hover,
.nav-buttons a.nav-btn:active{
  color: #fff !important;
  text-decoration: none;
}

.nav-dropdown a.dropdown-item:link,
.nav-dropdown a.dropdown-item:visited,
.nav-dropdown a.dropdown-item:hover,
.nav-dropdown a.dropdown-item:active{
  color: #fff !important;
  text-decoration: none;
}

/* ✅ FIX: Resources dropdown items are neutral (not forced white) */
.nav-dropdown--resources .dropdown-menu .dropdown-item:link,
.nav-dropdown--resources .dropdown-menu .dropdown-item:visited,
.nav-dropdown--resources .dropdown-menu .dropdown-item:hover,
.nav-dropdown--resources .dropdown-menu .dropdown-item:active{
  color: var(--heading) !important;
}

/* ✅ FIX: Icon dropdown (Accessibility) should stay readable (not forced white) */
.nav-dropdown--icon .dropdown-menu a.dropdown-item:link,
.nav-dropdown--icon .dropdown-menu a.dropdown-item:visited,
.nav-dropdown--icon .dropdown-menu a.dropdown-item:hover,
.nav-dropdown--icon .dropdown-menu a.dropdown-item:active{
  color: var(--text) !important;
}

/* Hover/focus affordance for navigation buttons uses the ::after underline above,
   so we keep the label vertically centered without shifting. */
.nav-buttons a.nav-btn:hover,
.nav-buttons a.nav-btn:focus-visible,
.nav-dropdown a.dropdown-item:hover,
.nav-dropdown a.dropdown-item:focus-visible{
  text-decoration: none;
}

/* ---------------------------------------------------------
   ACTIVE STATE (final + strongest)
   This block is intentionally LAST so it wins over everything.
   --------------------------------------------------------- */
.nav-buttons a.nav-btn.active,
.nav-buttons a.nav-btn[aria-current="page"],
.nav-buttons button.nav-btn.active,
.nav-buttons button.nav-btn[aria-current="page"]{
  /* Keep the same button background; active state is communicated by the
     text-only underline (per requirement) so layout doesn't jump. */
  background: var(--primary) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,0.18) !important;
  box-shadow: none !important;
}

.nav-buttons a.nav-btn.active:link,
.nav-buttons a.nav-btn.active:visited,
.nav-buttons a.nav-btn[aria-current="page"]:link,
.nav-buttons a.nav-btn[aria-current="page"]:visited{
  color: #fff !important;
}

.nav-buttons a.nav-btn.active,
.nav-buttons a.nav-btn[aria-current="page"]{
  text-decoration: none;
}

.nav-buttons a.nav-btn.active::after,
.nav-buttons a.nav-btn[aria-current="page"]::after,
.nav-buttons button.nav-btn.active::after,
.nav-buttons button.nav-btn[aria-current="page"]::after{
  opacity: 0.95;
  transform: scaleX(1);
}

/* Dropdown item active (Resources etc.) */
.nav-dropdown a.dropdown-item.active,
.nav-dropdown a.dropdown-item[aria-current="page"]{
  background: var(--primary) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,0.18) !important;
  box-shadow: none !important;
}

/* ✅ FIX: Resources active state stays neutral (underline indicates active) */
.nav-dropdown--resources .dropdown-menu a.dropdown-item.active,
.nav-dropdown--resources .dropdown-menu a.dropdown-item[aria-current="page"]{
  background: var(--surface) !important;
  color: var(--heading) !important;
  border-color: color-mix(in srgb, var(--border) 85%, transparent) !important;
  box-shadow: 0 8px 14px rgba(0,0,0,0.08) !important;
}

.nav-dropdown a.dropdown-item.active:link,
.nav-dropdown a.dropdown-item.active:visited,
.nav-dropdown a.dropdown-item[aria-current="page"]:link,
.nav-dropdown a.dropdown-item[aria-current="page"]:visited{
  color: #fff !important;
}

/* Resources active links should remain readable */
.nav-dropdown--resources .dropdown-menu a.dropdown-item.active:link,
.nav-dropdown--resources .dropdown-menu a.dropdown-item.active:visited,
.nav-dropdown--resources .dropdown-menu a.dropdown-item[aria-current="page"]:link,
.nav-dropdown--resources .dropdown-menu a.dropdown-item[aria-current="page"]:visited{
  color: var(--heading) !important;
}

/* Account dropdown should stay neutral even if an item is "current" */
.nav-dropdown--account .dropdown-menu a.dropdown-item.active,
.nav-dropdown--account .dropdown-menu a.dropdown-item[aria-current="page"]{
  background: color-mix(in srgb, var(--page) 55%, #fff 45%) !important;
  color: var(--text) !important;
  border-color: rgba(213, 222, 231, 0.9) !important;
  box-shadow: none !important;
}

/* Icon dropdown (Accessibility) should also stay neutral when active */
.nav-dropdown--icon .dropdown-menu a.dropdown-item.active,
.nav-dropdown--icon .dropdown-menu a.dropdown-item[aria-current="page"]{
  background: color-mix(in srgb, var(--page) 55%, #fff 45%) !important;
  color: var(--text) !important;
  border-color: rgba(213, 222, 231, 0.9) !important;
  box-shadow: none !important;
}

/* Responsive nav grid (always stays as a grid — no flex wrapping)
   - Mobile: 1 column
   - Small tablets: 2 columns
   - Desktop+: 3 columns (2 rows for 6 items)
*/
@media (max-width: 479px){
  .nav-buttons{ grid-template-columns: 1fr; }
}
@media (min-width: 480px) and (max-width: 767px){
  .nav-buttons{ grid-template-columns: repeat(2, 1fr); }
}

/* Mobile handling */
@media (max-width: 520px){
  :root{
    --brand-logo-wrap: clamp(110px, 12vw, 160px);
    --brand-logo-size: clamp(84px, 8.5vw, 120px);
    --brand-icon-size: 48px;

    /* match mobile .brand-strip padding above */
    --strip-pad-x: 16px;

    /* smaller shift on mobile */
    --account-menu-shift: 24px;
  }

  .brand-title{ font-size: 1.35rem; }
  .brand-subtitle{ font-size: 1.02rem; }

  .brand-user-float{
    position: static;
    margin-left: auto;
    margin-top: 8px;
    max-width: 100%;
    white-space: normal;
    flex-wrap: nowrap;
  }

  .brand-user-name{ max-width: 220px; }

  .nav-dropdown--account .dropdown-menu{
    transform: translateX(calc(-1 * var(--account-menu-shift))) !important;
    min-width: min(260px, 90vw);
  }

  .nav-dropdown--icon .dropdown-menu{
    width: min(320px, calc(100vw - (var(--strip-pad-x) * 2))) !important;
    min-width: min(260px, calc(100vw - (var(--strip-pad-x) * 2)));
  }

  .brand-icon{ border-radius: 16px; }
  .brand-icon svg{ width: 20px; height: 20px; }
}

/* =========================================================
   A11Y Dark theme: fix header button/icon contrast
   - nav.css hard-codes white backgrounds (#fff) for header pills/icons
   - In dark theme, --text becomes light, so text/icons wash out on white
   ========================================================= */
html.a11y-theme-dark .brand-logout,
html.a11y-theme-dark .brand-login,
html.a11y-theme-dark .nav-dropdown--account .nav-btn.nav-btn-dropdown{
  background: var(--alt) !important;
  color: var(--text) !important;
  border-color: rgba(51, 65, 85, 0.95) !important; /* matches dark theme border */
}

html.a11y-theme-dark .brand-logout:hover,
html.a11y-theme-dark .brand-login:hover,
html.a11y-theme-dark .nav-dropdown--account .nav-btn.nav-btn-dropdown:hover{
  background: color-mix(in srgb, var(--alt) 70%, var(--surface) 30%) !important;
  text-decoration: underline !important;
  text-underline-offset: 0.18em !important;
}

/* Icon buttons (Search + Accessibility icon) */
html.a11y-theme-dark .brand-icon{
  background: var(--alt) !important;
  color: var(--text) !important;
  border-color: rgba(51, 65, 85, 0.95) !important;
}

html.a11y-theme-dark .brand-icon:hover{
  background: color-mix(in srgb, var(--alt) 70%, var(--surface) 30%) !important;
}


/* =========================================================
   A11Y Dark theme: header title/subtitle contrast
   ========================================================= */

/* If nav.css uses heading/brand colours that become too dark in dark mode,
   force header text to use theme tokens */
html.a11y-theme-dark header,
html.a11y-theme-dark .site_wrapper_class header{
  color: var(--text);
}

/* Common title/subtitle containers (safe, non-destructive overrides) */
html.a11y-theme-dark header h1,
html.a11y-theme-dark header h2,
html.a11y-theme-dark header .brand-title,
html.a11y-theme-dark header .brand-subtitle,
html.a11y-theme-dark header .site-title,
html.a11y-theme-dark header .site-subtitle{
  color: var(--text) !important;
}

/* If subtitle is intentionally “muted”, use --muted for it */
html.a11y-theme-dark header .brand-subtitle,
html.a11y-theme-dark header .site-subtitle{
  color: var(--muted) !important;
}

a.nav-btn:link,
a.nav-btn:visited,
a.nav-btn:hover,
a.nav-btn:active{
  color: #fff !important;
  text-decoration: none;
}

/* Slightly tighter header spacing depending on auth state */
.is-logged-out .brand-strip{ padding-bottom: 6px; }
.is-logged-in  .brand-strip{ padding-bottom: 8px; }

/* Reduce the visual "air" above the user controls when text is enlarged */
.brand-user-float{ row-gap: 6px; }


.brand-account{
  display: inline-flex;
  align-items: start;
  gap: 10px;
  flex-wrap: wrap;
}

/* Admin/account dropdown: keep link styling consistent (no visited/underline surprises) */
.nav-dropdown--account .dropdown-menu .dropdown-item{
  color: var(--text) !important;
  text-decoration: none !important;
}
.nav-dropdown--account .dropdown-menu .dropdown-item:visited{
  color: var(--text) !important;
}
.nav-dropdown--account .dropdown-menu .dropdown-item:hover{
  color: var(--text) !important;
  text-decoration: none !important;
}
.nav-dropdown--account .dropdown-menu .dropdown-item[aria-current="page"]{
  font-weight: 900;
}

/* Admin account menu: expandable sections */
.nav-dropdown--account .dropdown-menu .dropdown-details{
  margin: 0;
  padding: 0;
}
.nav-dropdown--account .dropdown-menu .dropdown-item--summary{
  list-style: none;
  cursor: pointer;
}
.nav-dropdown--account .dropdown-menu .dropdown-item--summary::-webkit-details-marker{ display: none; }
.nav-dropdown--account .dropdown-menu .dropdown-details[open] > .dropdown-item--summary{
  font-weight: 900;
}
.nav-dropdown--account .dropdown-menu .dropdown-subitems{
  padding-left: 10px;
  border-left: 2px solid rgba(0,0,0,0.08);
  margin: 4px 0 8px;
}
.nav-dropdown--account .dropdown-menu .dropdown-subitems .dropdown-item{
  padding-top: 6px;
  padding-bottom: 6px;
}


/* --- Fix: Account dropdown visited link colour (keep consistent) --- */
.nav-dropdown--account .dropdown-menu a.dropdown-item:link,
.nav-dropdown--account .dropdown-menu a.dropdown-item:visited,
.nav-dropdown--account .dropdown-menu a.dropdown-item:hover,
.nav-dropdown--account .dropdown-menu a.dropdown-item:active{
  color: var(--text) !important;
}



/* --- register-interest.css --- */
/* =========================================================
   /css/misc/register-interest.css
   ========================================================= */

.outputdata_default .hd-card{
  background: var(--surface);
  border: 1px solid rgba(213, 222, 231, 0.85);
  border-radius: var(--radius-card, 20px);
  box-shadow: 0 14px 32px rgba(0,0,0,0.08);
  padding: var(--card-pad, clamp(14px, 2.2vw, 22px));
  width: 100%;
  max-width: var(--card-max, 780px);
}

.outputdata_default.outputdata_wide .hd-card{ max-width: var(--card-max-wide, var(--card-max, 780px)); }
.outputdata_default.outputdata_narrow .hd-card{ max-width: var(--card-max-narrow, var(--card-max, 780px)); }
.hd-card--full{ max-width: none !important; }
.hd-card--compact{ max-width: var(--card-max-compact, 520px) !important; }


/* Fluid cards (use full available width) */
.hd-card--fluid{ max-width:none; width:100%; }

/* Readable-width helpers (use inside the 1000px container) */
:root{
  --prose-max: 780px;
}
.hd-prose,
.hd-section--prose{
  max-width: var(--prose-max);
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.hd-section--wide{
  max-width: none;
  width: 100%;
}


.outputdata_default .hd-alert{
  max-width: 780px;
  border-radius: 16px;
  padding: 12px 14px;
  margin: 14px 0 16px;
  border: 1px solid color-mix(in srgb, var(--border) 65%, transparent 35%);
  background: color-mix(in srgb, var(--surface) 88%, var(--alt) 12%);
}

.outputdata_default .hd-alert ul{ margin: 8px 0 0; }

.outputdata_default .hd-alert--success{
  border-color: color-mix(in srgb, var(--primary) 35%, transparent 65%);
  background: color-mix(in srgb, var(--primary) 12%, var(--surface) 88%);
}

.outputdata_default .hd-alert--error{
  border-color: rgba(185, 28, 28, 0.25);
  background: rgba(185, 28, 28, 0.08);
}

/* =========================================================
   ✅ Alert contrast fixes (dark mode + inline style overrides)
   - Your PHP uses inline style="color:#334155" for some lines.
     That’s too low-contrast on dark alert backgrounds.
   - We override only inside success alerts.
   ========================================================= */
.outputdata_default .hd-alert--success{
  color: var(--text);
}

.outputdata_default .hd-alert--success strong{
  color: var(--text);
}

/* Override any inline-colored text blocks inside success alerts */
.outputdata_default .hd-alert--success [style*="color:"]{
  color: var(--muted) !important;
}

/* Bullets / lists inside alerts should be readable */
.outputdata_default .hd-alert--success ul,
.outputdata_default .hd-alert--success li{
  color: var(--muted);
}

/* Links readable inside success panels */
.outputdata_default .hd-alert--success .hd-link{
  color: var(--link);
}

/* =========================================================
   ✅ Dynamic validation message contrast
   - JS sets msg.style.color = '#2e4a3f' (too dark in dark theme)
   - Because it’s inline, we must use !important.
   ========================================================= */
.outputdata_default #email-match-msg{
  color: var(--muted) !important; /* readable on both themes */
}

/* If later you add other live messages, you can follow the same pattern:
   #pw-match-msg is in set/reset password pages, so we’ll cover it too. */
.outputdata_default #pw-match-msg{
  color: var(--muted) !important;
}

/* Layout */
.outputdata_default .hd-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0px;
}

.outputdata_default .hd-span-2{ grid-column: span 2; }

@media (max-width: 640px){
  .outputdata_default .hd-grid{ grid-template-columns: 1fr; }
  .outputdata_default .hd-span-2{ grid-column: auto; }
}

/* =========================================================
   Fields (theme-safe)
   ========================================================= */
.outputdata_default .hd-field label{
  display: block;
  font-weight: 700;
  margin: 0 0 6px;
  color: var(--text);
}

.outputdata_default .hd-field input,
.outputdata_default .hd-field select,
.outputdata_default .hd-field textarea{
  width: 100%;
  box-sizing: border-box;
  min-height: 46px;
  padding: 10px 12px;
  border-radius: 14px;

  /* ✅ theme-safe */
  background: var(--surface);
  color: var(--text);
  border: 1px solid color-mix(in srgb, var(--border) 70%, transparent 30%);
}

.outputdata_default .hd-field input::placeholder,
.outputdata_default .hd-field textarea::placeholder{
  color: color-mix(in srgb, var(--muted) 75%, transparent 25%);
}

/* ✅ ensure dropdown list text is readable in dark mode */
.outputdata_default .hd-field select option{
  background: var(--surface);
  color: var(--text);
}

.outputdata_default .hd-field input:focus-visible,
.outputdata_default .hd-field select:focus-visible,
.outputdata_default .hd-field textarea:focus-visible{
  outline: 3px solid var(--focus);
  outline-offset: 2px;
}

.outputdata_default .hd-help{
  margin-top: 6px;
  color: var(--muted);
  font-size: 0.96rem;
}

/* =========================================================
   ✅ Checkbox rows (single source of truth)
   ========================================================= */

/* Checkbox labels should not behave like normal field labels */
.outputdata_default .hd-field label.hd-check{
  display: flex;
  align-items: flex-start;     /* line up with first line */
  gap: 12px;
  user-select: none;
  font-weight: 600;
  line-height: 3.2;
  cursor: pointer;
  margin: 0;                   /* remove normal label bottom gap */
}

/* Nudge checkbox down slightly so it aligns with text cap-height */
.outputdata_default .hd-check input[type="checkbox"]{
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  display: block;
  margin: 0.28em 0 0 !important; /* tweak: 0.24–0.32em if needed */
}

/* Text block wraps cleanly */
.outputdata_default .hd-check-text{
  display: block;
  max-width: 100%;
}

/* Optional: if you wrap the checkbox+help in a container, align help text */
.outputdata_default .hd-check-row .hd-help{
  margin-left: calc(18px + 12px); /* checkbox width + gap */
}

/* Actions */
.outputdata_default .hd-actions{
  margin-top: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: var(--actions-justify, flex-start);
}

/*
  Button styling is defined once in the unified button system further down
  the file ("Unified button / pill system").

  We intentionally avoid earlier, higher-specificity rules inside
  .outputdata_default because they can accidentally override Theme tool
  tokens (e.g. --secondary background).
*/

/* Compact action rows (filters / selection toolbars). Keeps the UI less "in your face". */
.outputdata_default .hd-actions--compact{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.outputdata_default .hd-actions--compact .hd-btn{
  min-height: 34px;
  padding: 0.34rem 0.75rem;
  font-size: var(--btn-size);
  box-shadow: 0 8px 18px rgba(0,0,0,0.05);
}

.outputdata_default .hd-muted{
  color: var(--muted);
  font-size: 0.96rem;
  max-width: 52ch;
}

.outputdata_default .hd-link{
  color: var(--link);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}



/* ---------------------------------------------------------
   Content buttons accidentally using nav-btn
   Keep the main sticky nav styling untouched (#nav-container),
   but within page content we normalize nav-btn to pill buttons.
--------------------------------------------------------- */
.outputdata_default .nav-btn,
.outputdata_default a.nav-btn,
.outputdata_default button.nav-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  padding: 0.45rem 0.95rem;
  min-height: 40px;
  border-radius: 999px;
  border: 1px solid rgba(213, 222, 231, 0.95);
  background: rgba(255,255,255,0.92);
  color: var(--text);
  font-weight: 950;
  text-decoration: none;
  box-shadow: 0 10px 22px rgba(0,0,0,0.06);
}

.outputdata_default .nav-btn:hover{
  background: color-mix(in srgb, var(--page) 70%, #fff 30%);
  text-decoration: none;
}

.outputdata_default .nav-btn:focus-visible{
  outline: 3px solid color-mix(in srgb, var(--accent) 45%, #fff 55%);
  outline-offset: 3px;
}


/* --- quest.css --- */
/* =========================================================
   quest.css (Quest page helpers)
   Goal:
   - Keep everything in the same site column (.outputdata_default)
   - Ensure the controls + help text under the iframe match iframe width
   - Avoid global paragraph max-width (100ch) just for this embed area
   ========================================================= */

/* Ensure embed area fills the content column */
.outputdata_default .qualtrics-embed{
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* Iframe should fill the content column */
.outputdata_default #qualtrics-iframe{
  width: 100% !important;
  display: block !important;         /* removes baseline gap */
  box-sizing: border-box !important;
  border-radius: 16px !important;
}

/* Make the action row align with iframe width */
.outputdata_default .qualtrics-embed .hd-actions{
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* IMPORTANT: remove global 100ch paragraph constraint only inside this embed */
.outputdata_default .qualtrics-embed p{
  max-width: 100% !important;
}

/* Optional: keep the small URL label from wrapping awkwardly */
.outputdata_default .qualtrics-embed .hd-muted{
  max-width: 100% !important;
}

@media (max-width: 520px){
  .outputdata_default #qualtrics-iframe{
    border-radius: 12px !important;
  }
}


/* Better iframe sizing */
.outputdata_default #qualtrics-iframe{
  height: 72vh !important;
  min-height: 520px !important;
}

/* On tall screens, allow more height */
@media (min-height: 900px){
  .outputdata_default #qualtrics-iframe{
    height: 78vh !important;
    min-height: 600px !important;
  }
}

/* Mobile: less height so page doesn’t feel “stuck” */
@media (max-width: 520px){
  .outputdata_default #qualtrics-iframe{
    height: 68vh !important;
    min-height: 460px !important;
  }
}


/* --- admin-ui.css --- */
/* /css/misc/admin-ui.css
   Admin-only visual polish. Loaded only on /content/admin/* pages.
*/

/* Keep admin pages aligned to the same site container width as public pages */
body.is-admin-page .outputdata_default{
  max-width: var(--shell-max, var(--container-max));
}

/* Admin pages should never exceed the main site boundaries.
   Wide tables/consoles should scroll *within* the container instead. */
body.is-admin-page .outputdata_default.outputdata_wide{
  width: 100%;
  max-width: var(--content-max-wide, var(--container-max-wide));
  margin: 0 auto;
  padding: var(--content-gap) var(--container-pad);
  box-sizing: border-box;
}


/* Reports tool: data tables need the full available content width.
   .outputdata_default is 80% wide globally (legacy), so scope an override to reports pages only. */
body.is-admin-page .outputdata_default#reports,
body.is-admin-page .outputdata_default#campaign,
body.is-admin-page .outputdata_default#messages,
body.is-admin-page .outputdata_default#message-report{
  /* Be robust against any legacy stylesheet ordering */
  width: 100% !important;
}

/* (Deprecated) previously allowed extra-wide admin layouts. Kept as a no-op
   so older markup doesn't break if it still uses .outputdata_wide. */
body.is-admin-page .outputdata_default.outputdata_wide#reports,
body.is-admin-page .outputdata_default.outputdata_wide#campaign,
body.is-admin-page .outputdata_default.outputdata_wide#messages,
body.is-admin-page .outputdata_default.outputdata_wide#message-report{
  max-width: var(--container-max-wide);
}

/* Account management: show tools even before a user is loaded */
body.is-admin-page #accounts .hd-locked{
  opacity: .55;
  filter: grayscale(.2);
}
body.is-admin-page #accounts .hd-locked :is(button,input,select,textarea){
  cursor: not-allowed;
}

/* Account management: compact admin password reset layout */
body.is-admin-page #accounts .hd-adminpw{
  min-width: 300px;
}
body.is-admin-page #accounts .hd-adminpw__grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
body.is-admin-page #accounts .hd-adminpw__field input{
  width: 100%;
}
body.is-admin-page #accounts .hd-adminpw__actions{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 8px;
}

/* Account management: admin table readability (avoid "crushed" columns) */
body.is-admin-page #accounts #admin-accounts .hd-table{
  min-width: 980px;
}

/* Site scan table should be responsive and not force overflow */
.hd-sitescan .hd-table{ min-width: 980px; width:100%; table-layout: fixed; }
.hd-sitescan .hd-table th, .hd-sitescan .hd-table td{ vertical-align: top; }
.hd-sitescan .hd-sitescan-col-page{ width: 46%; }
.hd-sitescan .hd-sitescan-col-http{ width: 8%; white-space: nowrap; }
.hd-sitescan .hd-sitescan-col-time{ width: 10%; white-space: nowrap; }
.hd-sitescan .hd-sitescan-col-status{ width: 10%; white-space: nowrap; }
.hd-sitescan .hd-sitescan-col-notes{ width: 26%; }
.hd-sitescan .hd-sitescan-col-notes .hd-btn{ margin: 0; }

/* Allow horizontal scroll on very small screens */
.hd-sitescan .hd-sitescan-tablewrap{ width:100%; overflow-x:auto; }
.hd-sitescan .hd-sitescan-col-page a{ overflow-wrap:anywhere; word-break:break-word; white-space:normal; }

/* Allow long paths/URLs to wrap so we avoid unnecessary horizontal scroll */
.hd-sitescan td a{ overflow-wrap:anywhere; word-break:break-word; }

/* Accessibility tool: keep tables readable and contained within the site max width */
.hd-a11y .hd-table--a11y-pages{ table-layout: fixed; width:100%; min-width:0; }
.hd-a11y .hd-table--a11y-pages th,
.hd-a11y .hd-table--a11y-pages td{ vertical-align: top; }
.hd-a11y .hd-table--a11y-pages th{ white-space: normal; }
.hd-a11y .hd-table--a11y-pages th:nth-child(1),
.hd-a11y .hd-table--a11y-pages td:nth-child(1){ width: 64px; white-space: nowrap; }
.hd-a11y .hd-table--a11y-pages th:nth-child(2),
.hd-a11y .hd-table--a11y-pages td:nth-child(2){ width: 120px; white-space: nowrap; }
.hd-a11y .hd-table--a11y-pages th:nth-child(3),
.hd-a11y .hd-table--a11y-pages td:nth-child(3){ width: 22%; }
.hd-a11y .hd-table--a11y-pages th:nth-child(4),
.hd-a11y .hd-table--a11y-pages td:nth-child(4){ width: auto; }
.hd-a11y .hd-table--a11y-pages td:nth-child(4) code{ display:block; overflow-wrap: anywhere; word-break: break-word; white-space: normal; }
.hd-a11y .hd-table--a11y-pages td:nth-child(2) a{ display:inline-block; }
.hd-a11y .hd-pill--link{ text-decoration:none; }
.hd-a11y .hd-pill--link:hover{ text-decoration:underline; }

/* Subtle highlight used when jumping to sections via tool cards */
.hd-highlight{
  outline: 3px solid color-mix(in srgb, var(--primary) 35%, transparent);
  outline-offset: 6px;
  border-radius: 14px;
}

body.is-admin-page #accounts #admin-accounts .hd-table th,
body.is-admin-page #accounts #admin-accounts .hd-table td{
  vertical-align: top;
}
body.is-admin-page #accounts #admin-accounts .hd-table td:last-child{
  min-width: 340px;
}
@media (min-width: 720px){
  body.is-admin-page #accounts .hd-adminpw__grid{
    grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr);
    align-items: end;
  }
  body.is-admin-page #accounts .hd-adminpw__actions{
    justify-content: flex-end;
  }
}

body.is-admin-page .outputdata_default h1{
  letter-spacing: -0.02em;
  margin-bottom: 12px;
}

/* Wide admin pages: tables should get a sensible minimum width so columns don't collapse */
body.is-admin-page .outputdata_default.outputdata_wide .hd-table{
  min-width: 900px;
}

/* Top action row */
body.is-admin-page .outputdata_default .hd-actions{
  gap: 10px;
}

/* When we programmatically place the admin menu under the H1, keep spacing consistent */
body.is-admin-page .outputdata_default .hd-actions.hd-admin-nav{
  margin: 10px 0 14px;
}

/* Tool grid cards */
body.is-admin-page .hd-toolgrid,
body.is-admin-page .hd-toollist--grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}


/* Tool homepages: grouped tool blocks (reduces visual clutter for large sections) */
.hd-toolgroup-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

@media (max-width: 980px){
  .hd-toolgroup-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px){
  .hd-toolgroup-grid{ grid-template-columns: 1fr; }
}

.hd-toolgroup{
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 16px;
  background: rgba(255,255,255,0.92);
  box-shadow: 0 14px 28px rgba(0,0,0,0.06);
  display: flex;
  flex-direction: column;
  min-height: 170px;
}

.hd-toolgroup__head{
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 10px;
}

.hd-toolgroup__icon{
  width: 38px;
  height: 38px;
  border-radius: 14px;
  background: rgba(0,0,0,0.06);
  display: grid;
  place-items: center;
  font-size: 20px;
  flex: 0 0 auto;
}

.hd-toolgroup__title{
  margin: 0;
  font-size: 1.05rem;
}

.hd-toolgroup__desc{
  margin: 4px 0 0;
  opacity: .9;
}

.hd-toolgroup__list{
  display: grid;
  gap: 10px;
  margin-top: 6px;
}

.hd-toolgroup__item{
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid rgba(0,0,0,0.06);
  padding-top: 10px;
}

/* Prevent long labels/buttons from overflowing into adjacent columns */
.hd-toolgroup__itemtext{
  flex: 1 1 auto;
  min-width: 0;
}

.hd-toolgroup__item:first-child{
  border-top: 0;
  padding-top: 0;
}

.hd-toolgroup__itemtitle{
  font-weight: 800;
}

.hd-toolgroup__itemnote{
  font-size: .92rem;
  opacity: .86;
  margin-top: 2px;
}

.hd-toolgroup__item .hd-btn{
  white-space: nowrap;
  flex: 0 0 auto;
}

.hd-toolgroup__item--locked{
  opacity: .9;
}

/* Tool card primary button should read clearly and stay on one line */
body.is-admin-page .hd-tool .hd-btn{
  width: 100%;
  text-align: center;
  white-space: nowrap;
}

@media (max-width: 980px){
  body.is-admin-page .hd-toolgrid,
  body.is-admin-page .hd-toollist--grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px){
  body.is-admin-page .hd-toolgrid,
  body.is-admin-page .hd-toollist--grid{ grid-template-columns: 1fr; }
}

body.is-admin-page .hd-tool{
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 16px;
  background: rgba(255,255,255,0.92);
  box-shadow: 0 14px 28px rgba(0,0,0,0.06);
  display: flex;
  flex-direction: column;
  min-height: 170px;
}

body.is-admin-page .hd-tool__title{
  margin: 0 0 6px;
  font-size: 1.1rem;
}

body.is-admin-page .hd-tool__desc{
  margin: 0 0 14px;
  opacity: .92;
}

/* ---------------------------------------------------------
   Communications tools (Admin)
   A welcoming, colourful “family” look controlled by theme tokens.
--------------------------------------------------------- */
.hd-comm-shell{
  --comm-accent: var(--accent);
  --comm-soft: var(--alt);
  /* Alias for newer components */
  --tool-accent: var(--comm-accent);
}
.hd-comm-shell[data-comm="general"]{ --comm-accent: var(--comm-general); --comm-soft: var(--comm-general-soft); }
.hd-comm-shell[data-comm="research"]{ --comm-accent: var(--comm-research); --comm-soft: var(--comm-research-soft); }
.hd-comm-shell[data-comm="invite"]{ --comm-accent: var(--comm-invite); --comm-soft: var(--comm-invite-soft); }

body.is-admin-page .hd-comm-shell .hd-admin-hero{
  border-left: 6px solid var(--comm-accent);
  background: linear-gradient(135deg, var(--comm-soft), var(--surface));
}

body.is-admin-page .hd-comm-shell .hd-step{
  border-color: color-mix(in srgb, var(--comm-accent) 35%, rgba(0,0,0,0.10));
  background: linear-gradient(180deg, color-mix(in srgb, var(--comm-soft) 55%, var(--surface) 45%), var(--surface));
}
body.is-admin-page .hd-comm-shell .hd-step__kicker{
  color: color-mix(in srgb, var(--comm-accent) 70%, var(--text) 30%);
}

body.is-admin-page .hd-comm-shell .hd-card{
  border-color: color-mix(in srgb, var(--comm-accent) 18%, var(--border));
}

body.is-admin-page .hd-comm-shell .hd-btn--action,
body.is-admin-page .hd-comm-shell .hd-btn--primary{
  background: var(--comm-accent);
  border-color: color-mix(in srgb, var(--comm-accent) 70%, #000 30%);
}
body.is-admin-page .hd-comm-shell .hd-btn--action:hover,
body.is-admin-page .hd-comm-shell .hd-btn--primary:hover{
  filter: brightness(0.95);
}
body.is-admin-page .hd-comm-shell .hd-btn--action:active,
body.is-admin-page .hd-comm-shell .hd-btn--primary:active{
  filter: brightness(0.9);
}

body.is-admin-page .hd-comm-shell .hd-selectbar.is-active::after{
  background: color-mix(in srgb, var(--comm-accent) 14%, transparent);
  border-color: color-mix(in srgb, var(--comm-accent) 45%, var(--border));
}

/* Make recipient selection feel “soft” and clearly accented per comm tool */
body.is-admin-page .hd-comm-shell .hd-selectbar{
  background: linear-gradient(180deg, color-mix(in srgb, var(--comm-soft) 24%, var(--surface) 76%), var(--surface));
}
body.is-admin-page .hd-comm-shell .hd-selectbar.is-active{
  border-color: color-mix(in srgb, var(--comm-accent) 55%, var(--border));
  box-shadow: 0 14px 30px rgba(0,0,0,.10);
  background: linear-gradient(135deg, color-mix(in srgb, var(--comm-soft) 70%, var(--surface) 30%), var(--surface));
}
body.is-admin-page .hd-comm-shell .hd-selectbar.is-active::before{
  background: var(--comm-accent);
}
body.is-admin-page .hd-comm-shell .hd-selectbar.is-active::after{
  background: color-mix(in srgb, var(--comm-accent) 18%, transparent);
  border-color: color-mix(in srgb, var(--comm-accent) 55%, var(--border));
  color: color-mix(in srgb, var(--comm-accent) 70%, var(--text) 30%);
}

/* Audience “soft badge” (replaces the large pill row on comm tools) */
body.is-admin-page .hd-comm-shell .hd-audience{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid color-mix(in srgb, var(--comm-accent) 18%, var(--border));
  background: linear-gradient(135deg, color-mix(in srgb, var(--comm-soft) 55%, var(--surface) 45%), var(--surface));
}
body.is-admin-page .hd-comm-shell .hd-audience__left{ min-width: 0; }
body.is-admin-page .hd-comm-shell .hd-audience__kicker{ font-weight: 900; opacity: .85; margin: 0 0 2px; }
body.is-admin-page .hd-comm-shell .hd-audience__title{ font-weight: 950; font-size: 1.02rem; margin: 0; }
body.is-admin-page .hd-comm-shell .hd-audience__note{ margin: 4px 0 0; opacity: .88; }
body.is-admin-page .hd-comm-shell .hd-audience__tag{
  flex: 0 0 auto;
  font-weight: 900;
  border-radius: 999px;
  padding: 6px 12px;
  border: 1px solid color-mix(in srgb, var(--comm-accent) 45%, var(--border));
  background: color-mix(in srgb, var(--comm-accent) 12%, transparent);
}

/* Help manual (admin) */
.hd-manual-search__row{
  display: grid;
  grid-template-columns: 1fr 260px;
  gap: 10px;
  align-items: end;
}
@media (max-width: 820px){
  .hd-manual-search__row{ grid-template-columns: 1fr; }
}
.hd-manual-results{
  border-top: 1px solid rgba(0,0,0,0.06);
  margin-top: 12px;
  padding-top: 12px;
}
.hd-manual-result{
  padding: 10px 0;
  border-bottom: 1px solid rgba(0,0,0,0.06);
}
.hd-manual-result:last-child{ border-bottom: 0; }
.hd-manual-result__title{
  font-weight: 900;
  text-decoration: none;
}
.hd-manual-result__title:hover{ text-decoration: underline; }
.hd-manual-result__summary{ opacity: .92; margin-top: 4px; }
.hd-manual-body{ padding: 12px 0 6px; }

body.is-admin-page .hd-tool__actions{
  margin-top: auto;
}

/* Make the “active” selection bars more obvious */
body.is-admin-page .hd-selectbar.is-active{
  border-width: 2px;
}

body.is-admin-page .hd-selectbar.is-active::after{
  content: 'Selected';
  position: absolute;
  top: 10px;
  right: 12px;
  font-weight: 900;
  font-size: .82rem;
  padding: 2px 10px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--brand) 14%, transparent);
  border: 1px solid color-mix(in srgb, var(--brand) 45%, var(--border));
}

/* Tables */
body.is-admin-page .hd-table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

body.is-admin-page .hd-table thead th{
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 1;
}

/* Details blocks inside tables */
body.is-admin-page details > summary{
  cursor: pointer;
  font-weight: 800;
}

/* Account management page */
body.is-admin-page #accounts .hd-kv{
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 8px 12px;
}
@media (max-width: 720px){
  body.is-admin-page #accounts .hd-kv{ grid-template-columns: 1fr; }
}

body.is-admin-page #accounts .hd-card h2{
  margin: 0 0 12px;
}

body.is-admin-page #accounts fieldset{
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 14px;
}

body.is-admin-page #accounts fieldset + fieldset{
  margin-top: 12px;
}

/* Badges */
body.is-admin-page .hd-badge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 10px;
  border-radius: 999px;
  font-weight: 900;
  font-size: .82rem;
  line-height: 1.4;
  border: 1px solid var(--border);
  background: #fff;
}

body.is-admin-page .hd-badge--success{
  background: #e7f6ec;
  border-color: #b7e2c2;
  color: #0b6b2f;
}

body.is-admin-page .hd-badge--danger{
  background: #fdeceb;
  border-color: #f5c2be;
  color: #8a1f17;
}

body.is-admin-page #accounts legend{
  padding: 0 10px;
  font-weight: 900;
}

body.is-admin-page #accounts .hd-dangerzone{
  border-color: color-mix(in srgb, var(--border) 45%, #b91c1c 55%);
}

body.is-admin-page #accounts .hd-dangerzone legend{
  color: #b91c1c;
}

/* Checkbox rows */
body.is-admin-page .hd-choice{
  display:flex;
  align-items:center;
  gap: 12px;
  margin: 10px 0;
}

body.is-admin-page .hd-choice input{
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--brand);
}

/* Keep action buttons aligned */
body.is-admin-page .hd-actions{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}


/* =========================================================
   Toast notifications (site-wide)
   ========================================================= */
.hd-toast-wrap{
  position: fixed;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  z-index: 9999;
  width: min(560px, calc(100vw - 24px));
  pointer-events: none;
}
.hd-toast{
  pointer-events: auto;
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--border) 80%, transparent);
  background: color-mix(in srgb, var(--surface) 92%, #fff 8%);
  box-shadow: 0 12px 30px rgba(0,0,0,0.18);
  margin-top: 10px;
}
.hd-toast__icon{
  width: 18px;
  height: 18px;
  border-radius: 999px;
  margin-top: 2px;
  flex: 0 0 auto;
}
.hd-toast--success .hd-toast__icon{ background: #22c55e; }
.hd-toast--error .hd-toast__icon{ background: #ef4444; }
.hd-toast--warn .hd-toast__icon{ background: #f59e0b; }
.hd-toast__body{ flex: 1 1 auto; min-width: 0; }
.hd-toast__title{ font-weight: 900; margin: 0 0 2px 0; }
.hd-toast__msg{ margin: 0; color: var(--text); }
.hd-toast__close{
  border: 0;
  background: transparent;
  color: var(--text);
  font-weight: 900;
  font-size: 18px;
  line-height: 1;
  padding: 0 2px;
  cursor: pointer;
}
.hd-toast__close:focus-visible{ outline: 2px solid var(--primary); outline-offset: 3px; border-radius: 8px; }

/* Small inline status badges (avoid using hd-alert for these so they don't trigger toast logic) */
.hd-badge{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--border) 78%, transparent);
  font-weight: 800;
  font-size: 0.9rem;
  line-height: 1;
  background: color-mix(in srgb, var(--surface) 92%, #fff 8%);
}
.hd-badge--success{ border-color: color-mix(in srgb, #22c55e 40%, var(--border)); background: color-mix(in srgb, #22c55e 12%, #fff); }
.hd-badge--danger{ border-color: color-mix(in srgb, #ef4444 40%, var(--border)); background: color-mix(in srgb, #ef4444 12%, #fff); }
.hd-badge--warn{ border-color: color-mix(in srgb, #f59e0b 40%, var(--border)); background: color-mix(in srgb, #f59e0b 12%, #fff); color: color-mix(in srgb, #8a4b00 70%, var(--text)); }

/* Small “SQL quick insert” buttons */
.hd-chip-row{ display:flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 0; }
.hd-chip{
  border: 1px solid color-mix(in srgb, var(--border) 78%, transparent);
  background: color-mix(in srgb, var(--page) 60%, var(--surface) 40%);
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 0.88rem;
  font-weight: 800;
  cursor: pointer;
}
.hd-chip:hover{ text-decoration: underline; }
.hd-chip:focus-visible{ outline: 2px solid var(--primary); outline-offset: 3px; }



/* Test email widget (communication tools) */
.hd-test-email-widget {
  margin: 10px 0 14px;
}
.hd-test-email-widget details {
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  padding: 10px 12px;
  background: rgba(255,255,255,.6);
}
.hd-test-email-widget summary {
  cursor: pointer;
  font-weight: 700;
  list-style: none;
}
.hd-test-email-widget summary::-webkit-details-marker { display:none; }
.hd-test-email-inner { margin-top: 10px; }
.hd-test-email-help{ margin: 0 0 8px; }
.hd-test-email-alert{ margin: 0 0 10px; }
.hd-test-email-label{ display:block; margin: 0 0 6px; }
.hd-test-email-row {
  display: flex;
  gap: 10px;
  align-items: center;
}
.hd-test-email-row .hd-input,
.hd-test-email-row input[type="email"] {
  flex: 1;
  min-width: 220px;
}


/* Email preview shell (admin UI only, not sent email HTML) */
.hd-email-preview{
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
  background: var(--surface);
}
.hd-email-preview__chrome{
  padding: 10px 12px;
  border-bottom: 1px solid var(--border);
  background: var(--surface-2, var(--surface));
  display: flex;
  gap: 10px;
  align-items: center;
}
.hd-email-preview__dot{
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
}
.hd-email-preview__dot--red{ background: #ef4444; }
.hd-email-preview__dot--amber{ background: #f59e0b; }
.hd-email-preview__dot--green{ background: #22c55e; }
.hd-email-preview__label{ margin-left: 8px; font-size: 12px; color: var(--muted); }
.hd-email-preview__meta{ padding: 12px; border-bottom: 1px solid var(--border); }
.hd-email-preview__meta-label{ font-size: 12px; color: var(--muted); }
.hd-email-preview__meta-value{ margin: 0 0 8px; }
.hd-email-preview__meta-value:last-child{ margin-bottom: 0; }
.hd-email-preview__body{ padding: 12px; background: #fff; }



/* --- master.css --- */
/* =========================================================
   master.css
   Global tokens + typography + base layout
   WCAG AA goals:
   - Consistent readable type scale
   - High contrast text on backgrounds
   - Focus-visible outlines for keyboard users
   Layout goals:
   - Main content (.outputdata_default) aligns to nav "card" border
   - Body text stays left-aligned and readable (line-length cap)
   ========================================================= */

/* -------------------------
   Font loading
   ------------------------- */


/* -------------------------
   Tokens (single source)
   ------------------------- */
:root {
  /* ===== Accessibility display prefs =====
     (controlled via /content/accessibility/display-options)
     Kept as variables so one change applies across the whole site.
  */
  --font-scale: 1; /* 1 = default; 1.1 = larger; 1.25 = largest */

  /* ===== Layout tokens (shared with nav.css) ===== */
  /*
    Single, consistent page boundary.
    The header/navigation sets the visual boundary for the site – content
    should never exceed it.
  */
  /* Width model (defaults) */
  --shell-max: 1100px;
  --shell-max-wide: 1320px;
  --shell-max-narrow: 820px;

  --content-max: 1040px;
  --content-max-wide: 1240px;
  --content-max-narrow: 760px;

  /* Card max width caps (set to 'none' to disable) */
  --card-max: 780px;
  --card-max-wide: 900px;
  --card-max-narrow: 720px;
  /* Compact cards (use .hd-card--compact) */
  --card-max-compact: 520px;


  /* Legacy container vars used throughout app.css */
  --container-max: var(--shell-max);
  --container-max-wide: var(--shell-max-wide);
  --container-max-narrow: var(--shell-max-narrow);

  --container-pad: 1rem;                    /* left/right padding inside container */
  --content-gap: clamp(18px, 2.6vw, 34px);  /* vertical padding around content */

  /* Readability */
  --text-max: 100ch;                         /* cap line length for paragraphs */

  /* ===== Typography tokens ===== */
  --body-base: calc(1rem * var(--font-scale));
  --p-base: calc(1rem * var(--font-scale));
  --h1-base: clamp(
      calc(2.2rem * var(--font-scale)),
      calc(4.0vw * var(--font-scale)),
      calc(3.4rem * var(--font-scale))
  );
  --h2-base: calc(2rem * var(--font-scale));
  --h3-base: calc(1.6rem * var(--font-scale));
  --h4-base: calc(1.3rem * var(--font-scale));
  /* Fine-grained type sizes (overrides). Tools write to these. */
  --h1-size: var(--h1-base);
  --h2-size: var(--h2-base);
  --h3-size: var(--h3-base);
  --h4-size: var(--h4-base);
  --h5-size: calc(1.15rem * var(--font-scale));
  --h6-size: calc(1.0rem * var(--font-scale));

  --p-size: var(--p-base);
  --small-size: 0.85rem;

  /* UI text sizes */
  --btn-size: 1rem;
  --nav-size: 0.98rem;

  /* Line heights */
  --lh-body: 1.65;
  --lh-heading: 1.2;
  --lh-h1: 1.05;

  --font-sans: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif;
  --nav-weight: 600;

  /* ===== Colour tokens (NO NAVY) ===== */
  --page: #F7F6F2;      /* warm background */
  --surface: #FFFFFF;   /* cards/panels */
  --alt: #EEF2F0;       /* subtle section band */
  --border: #D5DEE7;    /* light border */

  --text: #111827;      /* main text */
  --muted: #334155;     /* secondary text */

  /* Brand (calm green-grey) */
  --primary: #2E4A3F;
  --primary-hover: #243C33;
  /* Primary call-to-action buttons (forms, main submit actions) */
  --cta-bg: #d8b55a;
  --cta-text: #1f2a23;
  --cta-border: rgba(0,0,0,0.15);

  /* ✅ Dedicated heading colour (site-wide headings) */
  --heading: var(--primary);

  /* Accent (ACTIVE state for nav items) */
  --accent: #C89A2A;
  --accent-hover: #A77F22;
  --accent-text: #111827;   /* dark text on amber (AA) */

  /* Links + focus */
  --link: var(--primary);
  --link-hover: var(--primary-hover);
  --visited: #5A2A82;        /* visited link colour (content only) */
  --focus: #2563EB;

  /* Footer tokens (footer.css should consume these) */
  --footer-bg: #1F2A24;
  --footer-text: #FFFFFF;
}

/* =========================================================
   Accessibility display prefs (applied as classes on <html>)
   ========================================================= */

/* Text scale */
html.a11y-scale-110{ --font-scale: 1.10; }
html.a11y-scale-125{ --font-scale: 1.25; }

/* Font choice */
html.a11y-font-system{
  --font-sans: system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif;
}

html.a11y-font-legible{
  --font-sans: "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif;
}

/* High contrast theme */
html.a11y-theme-contrast{
  --page: #FFFFFF;
  --surface: #FFFFFF;
  --alt: #F5F5F5;
  --border: #111111;

  --text: #000000;
  --muted: #000000;

  --primary: #000000;
  --primary-hover: #111111;

  /* Headings in contrast mode */
  --heading: #000000;

  --accent: #000000;
  --accent-hover: #111111;
  --accent-text: #FFFFFF;

  --link: #0000EE;
  --link-hover: #0000EE;
  --visited: #551A8B;
  --focus: #FFBF47;

  --footer-bg: #000000;
  --footer-text: #FFFFFF;
}

/* Dark theme */
html.a11y-theme-dark{
  --page: #0B0F14;
  --surface: #111827;
  --alt: #0F172A;
  --border: #334155;

  --text: #F8FAFC;
  --muted: #CBD5E1;

  --primary: #334155;
  --primary-hover: #475569;

  /* ✅ Headings need high contrast in dark mode */
  --heading: #F8FAFC;

  --accent: #C89A2A;
  --accent-hover: #A77F22;
  --accent-text: #111827;

  --link: #8AB4F8;
  --link-hover: #A8C7FA;
  --visited: #D8B4FE;
  --focus: #60A5FA;

  --footer-bg: #0B0F14;
  --footer-text: #F8FAFC;
}

/* -------------------------
   Reset / baseline
   ------------------------- */
* { box-shadow: none; -webkit-box-shadow: none; }

html { scroll-behavior: smooth; }

html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  overflow-x: hidden;
  overscroll-behavior: none;
  touch-action: pan-y;
}

/* -------------------------
   Base body
   ------------------------- */
body {
  font-family: var(--font-sans);
  font-size: var(--body-base);
  line-height: var(--lh-body);
  color: var(--text);
  background: var(--page);
  text-align: left; /* avoid unexpected centering */
}

/* Ensure form controls inherit the chosen accessibility font */
button,
input,
select,
textarea {
  font-family: var(--font-sans);
}

/* Outer wrapper you use */
.site_wrapper_class {
  width: 100%;
  max-width: none;
  margin: 0;
  background: var(--page);
  overflow-x: hidden; /* hard stop: nothing should push outside the site width */
}

/* ---------------------------------------------------------
   Overflow safety (site-wide)
   Prevent any single element (tables, debug blocks, long URLs)
   from forcing horizontal scroll / breaking the layout width.
   --------------------------------------------------------- */
.outputdata_default img,
.outputdata_default svg,
.outputdata_default video,
.outputdata_default canvas{
  max-width: 100%;
  height: auto;
}

.outputdata_default pre,
.outputdata_default code,
.outputdata_default .hd-debug,
.outputdata_default .hd-debug pre{
  max-width: 100%;
  white-space: pre-wrap;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.outputdata_default table:not(.hd-table){
  display: block;
  max-width: 100%;
  overflow-x: auto;
}

/* "HD" tables: opt-in to true table layout.
   Use with a wrapper that can scroll horizontally when needed. */
.hd-table{
  display: table;
  width: 100%;
  border-collapse: collapse;
}
.hd-table th,
.hd-table td{
  padding: 10px 12px;
  border-bottom: 1px solid var(--border);
  vertical-align: top;
}
.hd-table thead th{
  font-weight: 800;
  text-align: left;
}

/* Admin accounts table: ensure dates don't wrap awkwardly and the reset area has room. */
.hd-table--admin-users th:nth-child(4),
.hd-table--admin-users td:nth-child(4),
.hd-table--admin-users th:nth-child(5),
.hd-table--admin-users td:nth-child(5){
  white-space: nowrap;
}
.hd-table--admin-users th:last-child,
.hd-table--admin-users td:last-child{ min-width: 340px; }

/* -------------------------
   Links (content defaults)
   NOTE:
   - Visited purple is fine for body content.
   - nav.css will override visited styling inside the navigation.
   ------------------------- */
a,
.btn-link {
  color: var(--link);
  text-decoration: none;
}

a:hover,
.btn-link:hover {
  color: var(--link-hover);
}
a:visited { color: var(--visited); }

a:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 2px;
}

/* =========================================================
   MAIN CONTENT WRAPPER
   Alignment rule:
   - Same max-width + padding as nav container "card"
   ========================================================= */
.outputdata_default {
  width: 100%;
  /* Main content is intentionally slightly narrower than the header/nav/footer shell. */
  max-width: var(--content-max, var(--container-max));
  margin: 0 auto;
  padding: var(--content-gap) var(--container-pad);
  box-sizing: border-box;
}

/* =========================================================
   TEMPLATE-LEVEL CONTAINER (site-wide safety net)
   Some legacy pages may forget to include .outputdata_default,
   or may accidentally close it early. The template wrapper ensures
   everything stays within the site bounds.
   ========================================================= */
.hd-page{ width:100%; }

.hd-page-inner{
  width:100%;
  /* Main content is intentionally slightly narrower than the header/nav/footer shell. */
  max-width: var(--content-max, var(--container-max));
  margin: 0 auto;
  padding: var(--content-gap) var(--container-pad);
  box-sizing: border-box;
}

/* Wider (but still bounded) container for pages that benefit from extra horizontal space */
.hd-page-inner--wide{
  max-width: var(--content-max-wide, var(--container-max-wide));
}

/* Narrow container for form-heavy pages (login, contact, report issue, password reset).
   Keeps line length comfortable and reduces visual whitespace. */
.hd-page-inner--narrow{
  max-width: var(--content-max-narrow, var(--container-max-narrow));
}

/* Admin pages should follow the same content boundaries as the public site.
   Tables/tools can still scroll horizontally within the container when needed. */
/* Admin pages follow public boundaries by default,
   but allow pages to opt-in to wide/narrow containers. */
body.is-admin-page .hd-page-inner:not(.hd-page-inner--wide):not(.hd-page-inner--narrow){
  max-width: var(--content-max, var(--container-max));
}

/*
  Most pages wrap content in .outputdata_default. Keep its boundary aligned
  with the site container so nothing can spill wider than the header.
  (Previously this was set to 100% which made some pages exceed the header.)
*/
.hd-page-inner .outputdata_default{
  max-width: var(--content-max, var(--container-max)) !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

/* Wider wrapper for pages that genuinely need it (tables, admin utilities).
   Keeps the same padding and alignment, just allows more horizontal space. */
.hd-page-inner .outputdata_default.outputdata_wide{
  /* Wide pages should reflect the Layout tool's wide width directly.
     (Previously this was capped to the shell width, which made the “Wide delta” slider
      appear to do nothing on some pages.) */
  max-width: var(--content-max-wide, var(--container-max-wide)) !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

/* Support legacy markup that uses .outputdata_wide without also including .outputdata_default */
.hd-page-inner .outputdata_wide{
  max-width: var(--content-max-wide, var(--container-max-wide)) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box;
}

/* Narrow wrapper for form-heavy pages (mirrors wide wrapper). */
.hd-page-inner .outputdata_default.outputdata_narrow{
  width: 100% !important;
  max-width: var(--content-max-narrow, var(--container-max-narrow)) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box;
}

/* Support legacy markup that uses .outputdata_narrow without also including .outputdata_default */
.hd-page-inner .outputdata_narrow{
  width: 100% !important;
  max-width: var(--content-max-narrow, var(--container-max-narrow)) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box;
}


/* Prevent horizontal overflow from Bootstrap negative margins and wide nested blocks */
.outputdata_default .container,
.outputdata_default .container-fluid{
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

.outputdata_default .row{
  margin-left: 0;
  margin-right: 0;
}

.outputdata_default img,
.outputdata_default video,
.outputdata_default iframe{
  max-width: 100%;
}

html, body{ overflow-x: hidden; }

/* =========================================================
   CONSISTENT PAGE SURFACE (site-wide)
   Many pages output plain headings/paragraphs, while others use
   .hd-card blocks. This gives every page a consistent “surface”
   card without needing to refactor each content.php.
   ========================================================= */
.outputdata_default > section{
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 24px;
  padding: clamp(16px, 2.3vw, 28px);
  box-shadow: 0 18px 42px rgba(0,0,0,0.08);
  box-sizing: border-box;
}

/* Anchor / hash navigation: prevent sticky header overlap */
.outputdata_default section[id],
.outputdata_default h1[id],
.outputdata_default .hd-anchor[id]{
  scroll-margin-top: 140px;
}

/* Content-level button groups should use small pill style.
   (Header/nav buttons remain unchanged because they sit outside
   .outputdata_default.) */
.outputdata_default a.nav-btn,
.outputdata_default button.nav-btn{
  background: #fff;
  color: var(--text);
  border: 1px solid rgba(213, 222, 231, 0.9);
  box-shadow: 0 10px 22px rgba(0,0,0,0.06);
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  font-weight: 900;
}
.outputdata_default a.nav-btn:hover,
.outputdata_default button.nav-btn:hover{
  background: color-mix(in srgb, var(--page) 70%, #fff 30%);
  text-decoration: underline;
  text-underline-offset: .18em;
}

/* Account: neutral pill links (matches header action vibe) */
.hd-pill-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0.35rem 0.75rem;
  border-radius:999px;
  background:#fff;
  color:var(--text);
  border:1px solid rgba(213, 222, 231, 0.9);
  box-shadow:0 10px 22px rgba(0,0,0,0.06);
  font-weight:900;
  text-decoration:none;
  line-height:1.2;
  white-space:nowrap;
}
.hd-pill-link:hover{
  background: color-mix(in srgb, var(--page) 70%, #fff 30%);
  text-decoration: underline;
  text-underline-offset: .18em;
}

.hd-task-card{
  padding:12px 14px;
  border:1px solid rgba(0,0,0,0.10);
  border-radius:14px;
  background: color-mix(in srgb, var(--surface) 85%, var(--page) 15%);
}

.hd-badge{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.18rem .55rem;
  border-radius:999px;
  font-weight:900;
  font-size:.85rem;
  border:1px solid rgba(0,0,0,0.10);
  background: color-mix(in srgb, var(--page) 70%, var(--surface) 30%);
}
.hd-badge--progress{
  background: color-mix(in srgb, var(--accent) 18%, var(--surface) 82%);
}

.hd-kv{
  margin: 0 0 12px;
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  align-items:center;
}
.hd-kv .label{ color: var(--muted); font-weight:800; }
.hd-kv .value{ font-weight:950; }

/* -------------------------
   Accessibility UI blocks
   ------------------------- */
.a11y-panel{
  margin-top: 1rem;
  padding: 1rem;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 20px;
  box-shadow: 0 14px 32px rgba(0,0,0,0.09);
  box-sizing: border-box;
}

.a11y-panel__head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:0.75rem;
  flex-wrap:wrap;
}

.a11y-current-list{
  margin: 8px 0 0;
  padding-left: 20px;
}

.a11y-current-item{
  margin: 7px 0;
  display:flex;
  align-items:baseline;
  gap:0.5rem;
  flex-wrap:wrap;
}

.a11y-help{
  max-width: var(--text-max);
  color: var(--muted);
  margin-top: 0.25rem;
}

.a11y-divider{
  border: 0;
  height: 1px;
  background: color-mix(in srgb, var(--border) 70%, transparent 30%);
  margin: 1.25rem 0;
}

.a11y-note{
  margin-top: 1.25rem;
  color: var(--muted);
}

/* -------------------------
   Headings
   ------------------------- */
.outputdata_default h1 {
  font-size: var(--h1-size);
  font-weight: 700;
  line-height: var(--lh-h1);
  letter-spacing: 0.01em;
  color: var(--heading);
  margin: 0.25rem 0 1rem;
}

.outputdata_default h2 {
  font-size: var(--h2-size);
  font-weight: 700;
  line-height: var(--lh-heading);
  margin: 1.25rem 0 0.5rem;
  color: var(--heading);
}

.outputdata_default h3 {
  font-size: var(--h3-size);
  font-weight: 700;
  margin: 1rem 0 0.4rem;
  color: var(--heading);
}

.outputdata_default h4 {
  font-size: var(--h4-size);
  font-weight: 700;
  margin: 0.9rem 0 0.35rem;
  color: var(--heading);
}

.outputdata_default h5 {
  font-size: var(--h5-size);
  font-weight: 700;
  line-height: var(--lh-heading);
  margin: 0.8rem 0 0.3rem;
  color: var(--heading);
}

.outputdata_default h6 {
  font-size: var(--h6-size);
  font-weight: 700;
  line-height: var(--lh-heading);
  margin: 0.7rem 0 0.25rem;
  color: var(--heading);
}


/* -------------------------
   Paragraphs & lists
   - Left aligned and starts at the same edge as H1
   - Limited line length for readability
   ------------------------- */
.outputdata_default p,
.outputdata_default ul,
.outputdata_default ol,
.outputdata_default blockquote {
  max-width: var(--text-max);
  margin-left: 0;
  margin-right: 0;
  text-align: left;
  box-sizing: border-box;
}

.outputdata_default p {
  font-size: var(--p-size);
  margin: 0.85rem 0;
  text-wrap: pretty;
}

.outputdata_default small {
  font-size: var(--small-size);
  color: var(--muted);
}

.outputdata_default ul,
.outputdata_default ol {
  padding-left: 1.25rem;
  margin: 0.6rem 0 1rem;
}

.outputdata_default li { margin: 0.35rem 0; }

/* Small screens: allow full width */
@media (max-width: 520px) {
  :root { --text-max: 100%; }
}

/* Accessibility helper: visually hidden but still readable by screen readers */
.visually-hidden {
  position: absolute !important;
  height: 1px; width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
}


/* =========================================================
   Page-specific helpers: Get Involved (theme-safe)
   (Replaces old inline styles in /content/get-involved/content.php)
   ========================================================= */
.gi-title{
  margin-top: 22px;
  font-weight: 800;
  font-size: 1.2rem;
  padding: 10px 12px;

  border-left: 6px solid var(--text);
  background: color-mix(in srgb, var(--surface) 72%, var(--alt) 28%);
  border-radius: 10px;
}

.gi-hr{
  margin: 22px 0;
  border: 0;
  border-top: 2px solid color-mix(in srgb, var(--border) 70%, transparent 30%);
}

.gi-left{
  text-align: left;
  padding-left: 1.25rem;
  margin-left: 0;
  list-style-position: outside;
}

.gi-left li{
  text-align: left;
}

/* =========================================================
   Accessibility hub: lighter, single-line link buttons
   ========================================================= */
.a11y-hub-links{
  /* make the grid a bit wider per item so labels fit */
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)) !important;
}

.a11y-hub-links .nav-btn{
  padding: 0.6rem 0.9rem;
  min-height: 42px;
  font-size: 0.98rem;

  /* keep single-line */
  white-space: nowrap;

  /* if space is too tight, truncate instead of wrapping */
  overflow: hidden;
  text-overflow: ellipsis;
}


/* Accessibility hub: centered CTA button (not full width) */
.a11y-cta{
  display: flex;
  justify-content: center;
}

.a11y-cta .nav-btn{
  width: auto;
  min-width: 220px;
  max-width: 420px;
  padding-left: 1.2rem;
  padding-right: 1.2rem;
}

/* =========================================================
   Display options: small "reset" controls (non-clunky)
   Used in display-options/content.php
   ========================================================= */

/* Use this class on your reset buttons (recommended) */
.a11y-reset-pill{
  appearance: none;
  -webkit-appearance: none;

  border: 1px solid var(--border);
  background: transparent;
  color: var(--text);

  padding: 0.32rem 0.90rem;
  border-radius: 999px;
  margin-left: auto;
  align-self: flex-start;

  font: inherit;
  font-size: 0.98em;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
}

.a11y-reset-pill:hover{
  border-color: color-mix(in srgb, var(--border) 40%, var(--text) 60%);
}

.a11y-reset-pill:focus-visible{
  outline: 3px solid var(--focus);
  outline-offset: 2px;
}

/* Backwards-compatible: if your markup currently uses .a11y-reset-link,
   make it behave the same as the pill (so you don't have to change HTML). */
.a11y-reset-link{
  appearance: none;
  -webkit-appearance: none;

  border: 1px solid var(--border);
  background: transparent;
  color: var(--text);

  padding: 0.32rem 0.90rem;
  border-radius: 999px;
  margin-left: auto;
  align-self: flex-start;

  font: inherit;
  font-size: 0.98em;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
}

.a11y-reset-link:hover{
  border-color: color-mix(in srgb, var(--border) 40%, var(--text) 60%);
}

.a11y-reset-link:focus-visible{
  outline: 3px solid var(--focus);
  outline-offset: 2px;
}

/* =========================================================
   Action rows (e.g. account/profile actions, admin subnav)
   ---------------------------------------------------------
   In content areas we prefer the small pill look used for
   login/logout, rather than large green CTA buttons.
   ========================================================= */

.outputdata_default .hd-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  justify-content: var(--actions-justify, flex-start);
}

/* Turn plain action links into pills (without changing HTML) */
.outputdata_default .hd-actions a.hd-link,
.outputdata_default .hd-actions a.hd-link:visited{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0.35rem 0.75rem;
  border-radius:999px;
  background: transparent;
  color: var(--text);
  border:1px solid rgba(213, 222, 231, 0.9);
  box-shadow:0 10px 22px rgba(0,0,0,0.06);
  font-weight:900;
  text-decoration:none;
  line-height:1.2;
  white-space:nowrap;
}

.outputdata_default .hd-actions a.hd-link:hover{
  background: color-mix(in srgb, var(--page) 70%, #fff 30%);
  text-decoration: underline;
  text-underline-offset: .18em;
}

/* Global deep-link anchor support (#top / #page-title)
   Keeps headings visible below the sticky header. */
:root{ --scroll-offset: 120px; }
.hd-anchor{ display:block; height:0; scroll-margin-top: var(--scroll-offset); }
#page-title, h1{ scroll-margin-top: var(--scroll-offset); }

/* Reusable content block styling (used to keep presentation pages consistent) */
.gi-block,
.hd-content-block{
  width: 100%;
  max-width: var(--block-max, 980px);
  margin: 0 auto var(--card-gap, 14px);
  padding: var(--card-pad, 18px);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-card, 18px);
  box-shadow: 0 18px 40px rgba(0,0,0,0.08);
}

/* Opt-in block width modifiers (lets a page mix narrow prose + wide tables) */
.gi-block--wide,
.hd-content-block--wide{ max-width: var(--block-max-wide, var(--content-max-wide, 1240px)); }
.gi-block--narrow,
.hd-content-block--narrow{ max-width: var(--block-max-narrow, var(--content-max-narrow, 760px)); }

/* Auto-widen blocks that contain tables (progressive enhancement) */
@supports selector(:has(*)){
  .gi-block:has(table){ max-width: var(--block-max-wide, var(--content-max-wide, 1240px)); }
}

/* Simple content card used on resources/latest-updates and similar pages */
.hd-card{
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: var(--radius-card, 16px);
  padding: var(--card-pad, 14px);
  margin: var(--card-gap, 14px) 0;
  background: color-mix(in srgb, var(--surface) 92%, var(--page) 8%);
}

/* Simple accordion (details/summary) */
.hd-accordion{
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--surface-2);
  overflow: hidden;
  position: relative;
}
.hd-accordion > summary::before{
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--primary);
  opacity: .18;
}
.hd-accordion:hover > summary::before{ opacity: .28; }
.hd-accordion > summary{
  list-style: none;
  cursor: pointer;
  padding: 9px 12px;
  font-weight: 700;
}
.hd-accordion > summary::-webkit-details-marker{ display:none; }
.hd-accordion > summary:after{
  content: '▾';
  float: right;
  opacity: .7;
}
.hd-accordion[open] > summary:after{ content: '▴'; }
.hd-accordion__body{
  padding: 10px 12px 12px;
  border-top: 1px solid var(--border);
}

/* Accordion summary layout (title + description) */
.hd-accordion > summary{ position: relative; padding-right: 42px; }
.hd-accordion > summary:after{ position: absolute; right: 14px; top: 12px; float: none; }

/* Slightly tighter arrow alignment after padding change */
.hd-accordion > summary:after{ top: 10px; }
.hd-accordion__summary{ display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.hd-accordion__title{ font-weight: 800; }
.hd-accordion__desc{ font-weight: 500; color: var(--muted); font-size: .95rem; line-height: 1.25; }
.hd-card h3{ margin-top: 0; }

/* Admin tool cards (used on /content/admin/) */
.hd-toolgrid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

/* Vertical variant (requested for clearer grouping) */
.hd-toollist{
  display:flex;
  flex-direction:column;
  gap: 12px;
}

/* Grid variant (preferred for a more “dashboard” feel) */
.hd-toollist--grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
@media (max-width: 980px){
  .hd-toollist--grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px){
  .hd-toollist--grid{ grid-template-columns: 1fr; }
}
.hd-tool{
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 16px;
  padding: 14px 16px;
  background: color-mix(in srgb, var(--surface) 94%, var(--page) 6%);
  box-shadow: 0 12px 26px rgba(0,0,0,0.06);
}
.hd-tool__top{ display:flex; align-items:flex-start; gap:10px; margin-bottom:6px; }
.hd-tool__icon{
  width: 38px;
  height: 38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius: 12px;
  background: color-mix(in srgb, var(--primary) 12%, var(--surface) 88%);
  font-size: 18px;
  flex: 0 0 auto;
}
.hd-tool__title{ margin:0 0 6px; font-size: 1.15rem; color: var(--heading); }
.hd-tool__desc{ margin:0 0 12px; color: var(--text); max-width: 70ch; }
.hd-tool__actions{ display:flex; gap:10px; flex-wrap:wrap; }
@media (max-width: 820px){
  .hd-toolgrid{ grid-template-columns: 1fr; }
}



/* Locked admin tool cards (visible but requires superadmin) */
.hd-tool--locked{
  border-color: rgba(190, 40, 40, 0.55);
  background: color-mix(in srgb, var(--surface) 90%, #ffefef 10%);
}
.hd-tool--locked .hd-tool__title::after{
  content: "  🔒";
  font-weight: 700;
  font-size: 0.95em;
}
.hd-btn--locked{
  border-color: rgba(190, 40, 40, 0.55);
  color: color-mix(in srgb, var(--text) 75%, #b00000 25%);
}

.hd-admin-hero{
  background: linear-gradient(135deg, color-mix(in srgb, var(--primary) 14%, var(--surface) 86%), var(--surface));
}
/* Stepper (used on admin email tool) */
.hd-stepper{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.hd-step{
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 16px;
  padding: 12px 14px;
  background: color-mix(in srgb, var(--surface) 92%, var(--page) 8%);
}
.hd-step__kicker{
  font-weight: 900;
  font-size: 0.9rem;
  color: color-mix(in srgb, var(--text) 62%, var(--primary) 38%);
}
.hd-step__title{ font-weight: 900; margin-top: 4px; color: var(--heading); }
.hd-step__desc{ margin-top: 6px; color: var(--text); font-size: 0.95rem; }
@media (max-width: 900px){
  .hd-stepper{ grid-template-columns: 1fr; }
}
.hd-meta{
  margin: 0 0 10px;
  font-size: 0.95rem;
  color: color-mix(in srgb, var(--text) 72%, var(--primary) 28%);
}

/* ---------------------------------------------------------
   Form layout helpers (used across the site)
--------------------------------------------------------- */
.outputdata_default .hd-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.outputdata_default .hd-span-2{ grid-column: span 2; }
@media (max-width: 640px){
  .outputdata_default .hd-grid{ grid-template-columns: 1fr; }
  .outputdata_default .hd-span-2{ grid-column: auto; }
}

.outputdata_default .hd-field label{
  display: block;
  font-weight: 800;
  margin: 0 0 6px;
  color: var(--text);
}

/* Generic label helper used by some admin templates (matches .hd-field label) */
.outputdata_default .hd-label{
  display:block;
  font-weight:800;
  margin:0 0 6px;
  color: var(--text);
}
.outputdata_default .hd-label--section{
  font-weight:900;
  font-size: 1.05rem;
}

/* Back-compat: some pages use hd-seg__btn instead of hd-seg__item */
.outputdata_default .hd-seg__btn{
  position: relative;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border:1px solid color-mix(in srgb, var(--border) 70%, transparent 30%);
  border-radius:999px;
  background: var(--card);
  cursor:pointer;
  user-select:none;
}
.outputdata_default .hd-seg__btn input{ position:absolute; opacity:0; pointer-events:none; }
.outputdata_default .hd-seg__btn span{ font-weight:700; }
.outputdata_default .hd-seg__btn:focus-within{ outline: 3px solid var(--focus); outline-offset: 2px; }
.outputdata_default .hd-seg__btn.is-active{
  /* Make selection obvious even in browsers without color-mix() support */
  background: rgba(16, 95, 64, .14);
  border-color: rgba(16, 95, 64, .55);
  box-shadow: inset 0 0 0 1px rgba(16, 95, 64, .22);
  /* Progressive enhancement */
  background: color-mix(in srgb, var(--accent) 18%, var(--card));
  border-color: color-mix(in srgb, var(--accent) 62%, var(--border));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent 65%);
}
/* Special styling for the "All areas" pill */
.outputdata_default .hd-seg__btn--all{
  background: color-mix(in srgb, var(--surface) 70%, var(--card) 30%);
  border-style: dashed;
}
.outputdata_default .hd-seg__btn--all.is-active{
  background: color-mix(in srgb, var(--accent) 20%, var(--surface) 80%);
  border-style: solid;
}
.outputdata_default .hd-field input,
.outputdata_default .hd-field select,
.outputdata_default .hd-field textarea{
  width: 100%;
  box-sizing: border-box;
  min-height: 46px;
  padding: 10px 12px;
  border-radius: 14px;
  background: var(--surface);
  color: var(--text);
  border: 1px solid color-mix(in srgb, var(--border) 70%, transparent 30%);
}
.outputdata_default .hd-field textarea{ min-height: 120px; }
.outputdata_default .hd-field input::placeholder,
.outputdata_default .hd-field textarea::placeholder{
  color: color-mix(in srgb, var(--muted) 75%, transparent 25%);
}
.outputdata_default .hd-field select option{ background: var(--surface); color: var(--text); }
.outputdata_default .hd-field input:focus-visible,
.outputdata_default .hd-field select:focus-visible,
.outputdata_default .hd-field textarea:focus-visible{
  outline: 3px solid var(--focus);
  outline-offset: 2px;
}

.outputdata_default .hd-help{
  margin-top: 6px;
  color: var(--muted);
  font-size: 0.96rem;
}

/* Segmented control (small option sets) */
.outputdata_default .hd-seg{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.outputdata_default .hd-seg__item{
  position: relative;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border:1px solid color-mix(in srgb, var(--border) 70%, transparent 30%);
  border-radius:999px;
  background: var(--card);
  cursor:pointer;
  user-select:none;
}
.outputdata_default .hd-seg__item input{ position:absolute; opacity:0; pointer-events:none; }
.outputdata_default .hd-seg__item span{ font-weight:600; }
.outputdata_default .hd-seg__item:has(input:focus-visible){ outline: 3px solid var(--focus); outline-offset: 2px; }
.outputdata_default .hd-seg__item:has(input:checked){
  background: color-mix(in srgb, var(--accent) 10%, var(--card));
  border-color: color-mix(in srgb, var(--accent) 35%, var(--border));
}
@media (max-width: 720px){
  .gi-block{ padding: 14px 14px; border-radius: 16px; }
}

/* Multi-panel layout used on pages like Timeline.
   Uses the same "gi-block" card styling for a consistent look. */
.hd-panel-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  max-width: 980px;
  margin: 20px auto;
}
@media (max-width: 900px){
  .hd-panel-grid{ grid-template-columns: 1fr; }
}

/* Accessibility hub: use smaller, calmer buttons for the display controls,
   instead of the large site navigation button style. */
.accessibility .nav-buttons .nav-btn{
  padding: 0.45rem 0.8rem;
  font-size: 0.95rem;
  border-radius: 999px;
}
.accessibility .nav-buttons{ gap: 10px; }


/* ---------------------------------------------------------
   Unified button / pill system
--------------------------------------------------------- */
.hd-btn,
.outputdata_default a.hd-btn,
.outputdata_default button.hd-btn{
  /* Theme-aware button styling (Default / High contrast / Dark) */
  /* Secondary button tokens come from css/theme.css and the Theme tool. */
  background: var(--secondary, color-mix(in srgb, var(--surface) 92%, var(--alt) 8%));
  color: var(--secondary-text, var(--text));
  border: 1px solid var(--secondary-border, color-mix(in srgb, var(--border) 88%, transparent));
  box-shadow: 0 10px 22px rgba(0,0,0,0.06);
  padding: var(--btn-pad-y, 0.42rem) var(--btn-pad-x, 0.9rem);
  min-height: var(--btn-min-h, 40px);
  border-radius: var(--radius-btn, 999px);
  font-weight: 900;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  line-height: 1.1;
}

/* Group layout for collections of buttons (e.g., Accessibility hub links) */
.hd-btn-group{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

/* -------------------------------------------------------------------------
   Tool button sets
   Used for “chip/pill” button groups across tools (exports, quick views, etc.)
   Keeps them visually distinct from primary action buttons.
---------------------------------------------------------------------------*/
.hd-btnset{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.hd-btnset__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--border, #cfd8dc) 75%, transparent);
  background: color-mix(in srgb, var(--surface, #fff) 92%, var(--alt, #0b5) 8%);
  color: var(--text, #102a2a);
  font-weight: 650;
  text-decoration: none;
  white-space: nowrap;
}
.hd-btnset__btn:hover{
  background: color-mix(in srgb, var(--surface, #fff) 86%, var(--alt, #0b5) 14%);
  text-decoration: none;
}
.hd-btnset__btn:focus{
  outline: 3px solid color-mix(in srgb, var(--focus, #2b8a78) 55%, transparent);
  outline-offset: 2px;
}
.hd-btnset__btn.is-active,
.hd-btnset__btn[aria-current="true"]{
  background: color-mix(in srgb, var(--primary, #204f3a) 18%, var(--surface, #fff) 82%);
  border-color: color-mix(in srgb, var(--primary, #204f3a) 55%, var(--border, #cfd8dc) 45%);
}

/* Tight button group (inline actions like TXT/JSON downloads) */
.hd-btngroup{
  display: inline-flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  margin-left: 8px;
}

/* Compact action menu (useful where many actions would otherwise be shown as buttons) */
.hd-actionmenu{
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
.hd-select--compact{
  padding: var(--input-pad-y, 8px) var(--input-pad-x, 12px);
  font-size: 0.95rem;
  min-height: var(--btn-min-h, 40px);
}

/* Secondary buttons (neutral actions) */
.hd-btn--secondary{
  background: var(--secondary, color-mix(in srgb, var(--surface) 94%, var(--alt) 6%));
  color: var(--secondary-text, var(--text));
  border-color: var(--secondary-border, color-mix(in srgb, var(--border) 88%, transparent));
  box-shadow: 0 10px 22px rgba(0,0,0,0.06);
  font-weight: 800;
}
.hd-btn--secondary:hover{
  background: var(--secondary-hover, color-mix(in srgb, var(--surface) 84%, var(--alt) 16%));
  color: var(--secondary-text, var(--text));
}

@media (max-width: 640px){
  .hd-btn-group{ gap: 10px; }
  .hd-btn-group .hd-btn{ width: 100%; justify-content: center; }
}
.hd-btn:hover{ background: var(--secondary-hover, color-mix(in srgb, var(--surface) 82%, var(--alt) 18%)); }
.hd-btn:hover{ text-decoration: none; }
.hd-btn:focus{ outline: 3px solid color-mix(in srgb, var(--focus) 55%, transparent); outline-offset: 2px; }

/* Theme tool preview layout (keeps demo buttons aligned and predictable) */
.hd-theme-preview-actions{
  display: grid;
  gap: 10px;
}
.hd-theme-preview-row{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

/* Action buttons (send, submit, confirm) */
.hd-btn--action{
  /* Primary call-to-action (site-wide)
     - Used for main form submits (Continue/Save/Send)
     - Higher contrast than the amber accent pills
  */
  background: var(--btn-action-bg, var(--cta-bg));
  color: var(--btn-action-text, var(--cta-text));
  border-color: var(--btn-action-border, var(--cta-border));
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
  font-weight: 700;
}
.hd-btn--action:hover{
  filter: brightness(0.95);
  color: var(--btn-action-text, var(--cta-text));
}

/* Destructive actions (delete/flush) */
.hd-btn--danger{
  background: #b42318;
  color: #fff;
  border-color: #b42318;
}
.hd-btn--danger:hover{
  background: #911b13;
  color: #fff;
}

/* Small button variant (compact actions like report downloads) */
.hd-btn--sm{
  padding: 6px 10px;
  font-size: 0.9rem;
  border-radius: 999px;
}

/* Alias used by some admin tools */
.hd-btn--compact{
  padding: 6px 10px;
  font-size: 0.9rem;
  border-radius: 999px;
}

/* Submit buttons should be styled consistently, but only the *primary* action
   should use the strong green CTA. Secondary submits should remain neutral.
   Pages mark primary submits with .hd-btn--action (or .hd-btn--primary).
*/
.hd-btn--primary{ /* alias */
  background: var(--btn-primary-bg, var(--primary));
  color:#fff;
  border-color: color-mix(in srgb, var(--btn-primary-bg, var(--primary)) 70%, var(--border) 30%);
}
.hd-btn--primary:hover{ background: var(--btn-primary-hover, var(--primary-hover)); color:#fff; }

.outputdata_default form button[type="submit"]:not(.hd-btn):not(.a11y-reset-link),
.outputdata_default form input[type="submit"]:not(.hd-btn):not(.a11y-reset-link){
  background: var(--secondary, color-mix(in srgb, var(--surface) 92%, var(--alt) 8%));
  color: var(--secondary-text, var(--text));
  border: 1px solid var(--secondary-border, color-mix(in srgb, var(--border) 88%, transparent));
  box-shadow: 0 10px 22px rgba(0,0,0,0.06);
  padding: var(--btn-pad-y, 0.50rem) var(--btn-pad-x, 1.05rem);
  min-height: var(--btn-min-h, 40px);
  border-radius: var(--radius-btn, 999px);
  font-weight: 900;
  cursor: pointer;
}
.outputdata_default form button[type="submit"]:not(.hd-btn):not(.a11y-reset-link):hover,
.outputdata_default form input[type="submit"]:not(.hd-btn):not(.a11y-reset-link):hover{
  background: var(--secondary-hover, color-mix(in srgb, var(--surface) 82%, var(--alt) 18%));
}

/* Bootstrap-style .btn buttons (used in a few legacy/admin forms). Treat untyped .btn as "secondary". */
.outputdata_default .btn:not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-warning):not(.btn-info){
  background: var(--secondary, color-mix(in srgb, var(--surface) 92%, var(--alt) 8%));
  color: var(--secondary-text, var(--text));
  border: 1px solid var(--secondary-border, color-mix(in srgb, var(--border) 88%, transparent));
}
.outputdata_default .btn:not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-warning):not(.btn-info):hover{
  background: var(--secondary-hover, color-mix(in srgb, var(--surface) 82%, var(--alt) 18%));
  color: var(--secondary-text, var(--text));
}

/* Default links */
.outputdata_default a{ color: var(--link); text-decoration: underline; font-weight:700; }
.outputdata_default a:hover{ color: var(--link-hover); }

/* Links inside sentences should remain links, not pills */
.outputdata_default p a,
.outputdata_default .hd-richtext a{
  color: var(--link);
  text-decoration: underline;
  font-weight: 700;
}
.outputdata_default p a:hover,
.outputdata_default .hd-richtext a:hover{ color: var(--link-hover); }

/* Ensure helper text links are always plain text links (never pill/button-like).
   Exception: real buttons inside helper text (e.g. TXT/JSON download buttons). */
.outputdata_default .hd-help a:not(.hd-btn),
.outputdata_default .hd-help a:visited:not(.hd-btn){
  display: inline;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: var(--link);
  text-decoration: underline;
  font-weight: 700;
}

/* Buttons inside helper text should keep button styling */
.outputdata_default .hd-help a.hd-btn,
.outputdata_default .hd-help a.hd-btn:visited{
  display: inline-flex;
  text-decoration: none;
}

/* Standalone links (e.g., Back to login) become pills automatically */
.outputdata_default p > a:only-child,
.outputdata_default .hd-standalone-link{
  background: color-mix(in srgb, var(--surface) 92%, var(--alt) 8%);
  color: var(--text);
  border: 1px solid color-mix(in srgb, var(--border) 88%, transparent);
  box-shadow: 0 10px 22px rgba(0,0,0,0.06);
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  font-weight: 900;
  text-decoration: none;
  display: inline-flex;
}

/* Disabled links/buttons must remain readable in all themes */
.outputdata_default a[aria-disabled="true"],
.outputdata_default button[disabled]{
  opacity: 0.85;
  cursor: not-allowed;
  filter: grayscale(0.15);
}

.outputdata_default a[aria-disabled="true"]{
  text-decoration: none;
  background: color-mix(in srgb, var(--alt) 70%, var(--surface) 30%);
  color: var(--muted);
  border: 1px solid color-mix(in srgb, var(--border) 88%, transparent);
}

/* Ensure nav-btn matches hd-btn look */
.outputdata_default a.nav-btn,
.outputdata_default button.nav-btn{ text-decoration:none; }

/* Modal (admin confirmations) */
.hd-modal{ position:fixed; inset:0; display:none; z-index:9999; }
.hd-modal[aria-hidden="false"]{ display:block; }
.hd-modal__backdrop{ position:absolute; inset:0; background: rgba(6,16,26,0.55); }
.hd-modal__dialog{
  position:relative;
  max-width: 520px;
  margin: 12vh auto;
  background: var(--page);
  border: 1px solid rgba(213, 222, 231, 0.9);
  border-radius: 18px;
  box-shadow: 0 24px 64px rgba(0,0,0,0.25);
  padding: 18px 18px;
}
body.hd-modal-open{ overflow:hidden; }

.hd-modal__title{
  margin: 0 0 8px;
  font-size: 1.5rem;
  color: var(--heading);
}
.hd-modal__body{
  margin: 0 0 14px;
  color: var(--text);
}
.hd-modal__actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
}

/* Admin: collapsible filters (Activity & History) */
.hd-filters > summary{
  list-style: none;
  cursor: pointer;
  display:flex;
  align-items:center;
  gap:10px;
  font-weight: 800;
  padding: 10px 12px;
  border-radius: 14px;
  background: color-mix(in srgb, var(--alt) 55%, var(--surface) 45%);
  border: 1px solid color-mix(in srgb, var(--border) 85%, transparent);
}
.hd-filters > summary::-webkit-details-marker{ display:none; }
.hd-filters[open] > summary{
  background: color-mix(in srgb, var(--alt) 70%, var(--surface) 30%);
}
.hd-filters > summary .hd-help{ font-weight:600; }

/* Admin: keep header/overview narrower even on wide pages */
.hd-admin-top{ max-width: var(--content-max, var(--container-max)); margin: 0 auto; }

/* Admin: Message tool UI helpers */
.hd-spinner{
  display:inline-block;
  width: 0.9em;
  height: 0.9em;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  vertical-align: -0.12em;
  margin-left: 6px;
  animation: hdspin 0.8s linear infinite;
}
 hdspin{ to { transform: rotate(360deg); } }

.hd-choice{
  display:flex;
  align-items:center;
  gap:12px;
  margin:12px 0;
}
.hd-choice input[type="radio"],
.hd-choice input[type="checkbox"]{
  width:18px;
  height:18px;
  accent-color: var(--primary);
  flex:0 0 auto;
  margin:0;
}
.hd-choice span{ line-height:1.35; display:block; }

.hd-seg__btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 16px;
  border:1px solid var(--border);
  border-radius:999px;
  background:#fff;
  cursor:pointer;
  user-select:none;
  transition:background .15s,border-color .15s,box-shadow .15s;
}
.hd-seg__btn.is-active{
  border-color:var(--accent);
  background:color-mix(in srgb, var(--accent) 30%, white);
  box-shadow:0 0 0 4px rgba(0,0,0,.06), 0 14px 30px rgba(0,0,0,.10);
}
.hd-seg__btn.is-active span{ font-weight:850; }
.hd-seg__btn:hover{ background:rgba(0,0,0,.02); }

.hd-seg__btn--all{ border-style:dashed; }
.hd-seg__btn--all.is-active{ border-style:solid; }

.hd-recipient-row{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:14px;
  margin:6px 0;
  cursor:pointer;
  user-select:none;
  background: #fff;
  transition: background .15s, border-color .15s, box-shadow .15s;
}

.hd-selectbars{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px;
  margin-top:8px;
}
@media (max-width: 720px){
  .hd-selectbars{ grid-template-columns: 1fr; }
}
.hd-selectbar{
  text-align:left;
  width:100%;
  border:1px solid var(--border);
  border-radius:16px;
  padding:12px;
  background: color-mix(in srgb, var(--surface) 92%, #fff 8%);
  color: var(--text);
  text-decoration: none;
  cursor:pointer;
  position:relative;
  transition: transform .08s ease, box-shadow .08s ease;
}
.hd-selectbar:focus{ outline: 3px solid color-mix(in srgb, var(--brand) 35%, transparent); outline-offset:2px; }
.hd-selectbar:hover{ transform: translateY(-1px); box-shadow: 0 10px 24px rgba(0,0,0,.08); }
.hd-selectbar.is-active{ border-color: color-mix(in srgb, var(--brand) 55%, var(--border)); box-shadow: 0 14px 30px rgba(0,0,0,.10); }
.hd-selectbar.is-active::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:8px; border-radius:16px 0 0 16px; background: var(--brand); }
.hd-selectbar__title{ display:block; font-weight:900; margin-bottom:2px; }
.hd-selectbar__desc{ display:block; font-size:.95rem; opacity:.9; }

/* --- Accessibility: skip link + focus --- */
.hd-skip-link{
  position:absolute;
  left:0.75rem;
  top:-4rem;
  z-index:9999;
  padding:0.6rem 0.85rem;
  background:#111;
  color:#fff;
  border-radius:0.75rem;
  text-decoration:none;
  box-shadow:0 8px 24px rgba(0,0,0,.25);
}
.hd-skip-link:focus{
  top:0.75rem;
  outline:3px solid #fff;
  outline-offset:2px;
}

:focus-visible{
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}

/* Admin shared heading (used by template partials; safe no-op if unused) */
.hd-admin-section-heading{ margin: 18px 0 10px; }
.hd-admin-section-heading h2{ margin: 0 0 6px; }
.hd-admin-section-subtitle{ margin: 0; color: color-mix(in srgb, var(--text) 75%, transparent); }

/* Ensure interactive controls are visibly focusable */
a, button, input, select, textarea, summary{
  scroll-margin-top: 6rem;
}

/* --- Reusable UI primitives (opt-in via classes) ---
   These are intentionally low-specificity and only apply when the class is used.
   They give us a consistent base across public + admin pages without fighting Bootstrap.
*/
.hd-card{
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-card, 16px);
  padding: var(--card-pad, 16px);
  margin: var(--card-gap, 14px) 0;
}

.hd-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: var(--btn-pad-y, 0.50rem) var(--btn-pad-x, 1.05rem);
  min-height: var(--btn-min-h, 40px);
  border-radius: var(--radius-btn, 12px);
  /* Treat the base button as a “secondary” button so Theme → Secondary buttons
     controls all generic buttons (including admin tools + plain form buttons).
     Primary/ghost variants override below. */
  border: 1px solid var(--secondary-border, var(--border));
  background: var(--secondary, var(--surface));
  color: var(--secondary-text, var(--text));
  text-decoration: none;
  font-weight: 600;
  line-height: 1.1;
  cursor: pointer;
}
.hd-btn:hover{
  border-color: color-mix(in srgb, var(--secondary-border, var(--border)) 60%, var(--text) 40%);
  background: var(--secondary-hover, color-mix(in srgb, var(--secondary, var(--surface)) 88%, #000 12%));
}
.hd-btn:active{ transform: translateY(1px); }

.hd-btn--primary{
  /* Primary button (site brand green). Used for admin tool navigation and
     any primary actions that should stand out against the warm page palette. */
  background: var(--primary);
  color: #fff;
  border-color: color-mix(in srgb, var(--primary) 70%, var(--border) 30%);
  box-shadow: 0 12px 22px rgba(0,0,0,0.12);
}
.hd-btn--primary:hover{
  background: var(--primary-hover);
  color: #fff;
  border-color: color-mix(in srgb, var(--primary-hover) 70%, var(--border) 30%);
  box-shadow: 0 14px 26px rgba(0,0,0,0.14);
}

.hd-btn--ghost{
  background: transparent;
}

/* =========================================================
   Content blocks (public pages)
   ---------------------------------------------------------
   These are the “inner blocks” you want to mix (default/wide/narrow)
   inside a stable .outputdata_default outer frame.
   ========================================================= */

.gi-block,
.hd-content-block,
[data-hd-block]{
  width: 100%;
  max-width: var(--block-max, 980px);
  margin-left: auto;
  margin-right: auto;
}

/* Gentle “block card” styling so pages feel structured without needing
   bespoke per-page CSS. */
.gi-block{
  padding: var(--gi-block-pad, 16px);
  border-radius: var(--radius-card, 18px);
  border: 1px solid color-mix(in srgb, var(--border) 70%, transparent);
  background: color-mix(in srgb, var(--surface) 94%, var(--alt, var(--page)) 6%);
  box-shadow: 0 10px 25px rgba(0,0,0,0.05);
}
.gi-block + .gi-block{ margin-top: 14px; }
.gi-title{ margin-top: 0; }

.gi-block--wide{ max-width: var(--block-max-wide, 1100px); }
.gi-block--narrow{ max-width: var(--block-max-narrow, 760px); }

/* Progressive enhancement: make blocks containing tables wide automatically */
@supports(selector(:has(*))){
  .gi-block:has(table){
    max-width: var(--block-max-wide, 1100px);
  }
}

/* Slight visual distinction for narrow blocks (readability / callouts) */
.gi-block--narrow{
  background: color-mix(in srgb, var(--surface) 92%, var(--page) 8%);
}

/* Tip chips (used on admin sliders) */
.hd-tipchip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--border) 70%, transparent);
  background: color-mix(in srgb, var(--surface) 92%, var(--alt, var(--page)) 8%);
  color: var(--muted, #334155);
  font-weight: 800;
  font-size: 12px;
  line-height: 1;
  cursor: help;
  padding: 0;
}
.hd-tipchip:hover{ filter: brightness(0.98); }

.hd-input,
.hd-select,
.hd-textarea{
  width: 100%;
  max-width: 100%;
  padding: var(--input-pad-y, 0.55rem) var(--input-pad-x, 0.75rem);
  border-radius: var(--radius-input, 12px);
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text);
}
.hd-input:focus,
.hd-select:focus,
.hd-textarea:focus{
  outline: 3px solid color-mix(in srgb, var(--focus) 70%, transparent);
  outline-offset: 2px;
}

/* Token wiring for plain form controls (so the Layout tool affects all pages).
   We keep specificity low with :where() and scope to .outputdata_default. */
.outputdata_default :where(
  input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=submit]):not([type=button]):not([type=reset]),
  select,
  textarea
){
  padding: var(--input-pad-y, 0.55rem) var(--input-pad-x, 0.75rem);
  border-radius: var(--radius-input, 12px);
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text);
  max-width: 100%;
}

.outputdata_default :where(button, input[type=submit], input[type=button], input[type=reset]):not(.hd-btn){
  padding: var(--btn-pad-y, 0.50rem) var(--btn-pad-x, 1.05rem);
  min-height: var(--btn-min-h, 40px);
  border-radius: var(--radius-btn, 12px);
  border: 1px solid var(--secondary-border, var(--border));
  background: var(--secondary, var(--surface));
  color: var(--secondary-text, var(--text));
  cursor: pointer;
}
.outputdata_default :where(button, input[type=submit], input[type=button], input[type=reset]):not(.hd-btn):hover{
  background: var(--secondary-hover, color-mix(in srgb, var(--secondary, var(--surface)) 88%, #000 12%));
}

/* Bootstrap compatibility (some older pages/tools still emit .btn classes) */
.outputdata_default :where(.btn):not(.btn-primary):not(.btn-danger):not(.btn-success):not(.btn-warning):not(.btn-info){
  border-color: var(--secondary-border, var(--border));
  background: var(--secondary, var(--surface));
  color: var(--secondary-text, var(--text));
}
.outputdata_default :where(.btn):not(.btn-primary):not(.btn-danger):not(.btn-success):not(.btn-warning):not(.btn-info):hover{
  background: var(--secondary-hover, color-mix(in srgb, var(--secondary, var(--surface)) 88%, #000 12%));
}

/* Respect user preference to reduce motion */
@media (prefers-reduced-motion: reduce){
  html:focus-within{ scroll-behavior: auto; }
  *, *::before, *::after{
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ===== Admin tools: consistent nav + layout ===== */
.hd-admin-nav{
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
}
.hd-admin-nav--top{ margin: 0 0 18px; }
.hd-admin-nav--bottom{ margin: 18px 0 0; }
.hd-admin-nav__left,
.hd-admin-nav__right{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

/* Admin pages: consistent spacing */
body.is-admin-page .outputdata_default h1{ margin-bottom: 10px; }
body.is-admin-page .outputdata_default h2{ margin-top: 18px; }
body.is-admin-page .hd-card > h2:first-child{ margin-top: 0; }
body.is-admin-page .hd-card > h3:first-child{ margin-top: 0; }
body.is-admin-page .hd-card{ box-shadow: 0 10px 25px rgba(0,0,0,0.06); }

/* =========================================================
   Small layout utilities (admin + tools)
   ---------------------------------------------------------
   Keep these few + generic; prefer component classes first.
   ========================================================= */
.hd-m0{ margin:0 !important; }
.hd-mt-2{ margin-top:2px !important; }
.hd-mt-4{ margin-top:4px !important; }
.hd-mt-6{ margin-top:6px !important; }
.hd-mt-8{ margin-top:8px !important; }
.hd-mt-10{ margin-top:10px !important; }
.hd-mt-12{ margin-top:12px !important; }
.hd-mt-14{ margin-top:14px !important; }
.hd-mt-16{ margin-top:16px !important; }
.hd-mt-20{ margin-top:20px !important; }
.hd-mt-0{ margin-top:0 !important; }
.hd-mb-0{ margin-bottom:0 !important; }
.hd-my-10{ margin:10px 0 !important; }
.hd-my-12{ margin:12px 0 !important; }
.hd-mb-6{ margin-bottom:6px !important; }
.hd-mb-8{ margin-bottom:8px !important; }
.hd-mb-10{ margin-bottom:10px !important; }
.hd-mb-12{ margin-bottom:12px !important; }
.hd-mb-14{ margin-bottom:14px !important; }
.hd-ml-10{ margin-left:10px !important; }
.hd-pl-18{ padding-left:18px !important; }
.hd-scroll-x{ overflow:auto; width:100%; }
.hd-inline{ display:inline; }
.hd-inlineblock{ display:inline-block; }
.hd-block{ display:block; }
.hd-list--indent{ margin:0 0 0 18px; }
.hd-help--indent{ margin:-4px 0 8px 30px !important; }
.hd-card--narrow{ max-width: 680px; }
.hd-opacity-75{ opacity:.75; }
.hd-opacity-80{ opacity:.8; }
.hd-cursor-default{ cursor:default; }
.hd-hidden{ display:none !important; }
.hd-visually-hidden{ position:absolute !important; left:-9999px !important; height:0 !important; overflow:hidden !important; }
.hd-actions--wrap{ flex-wrap:wrap !important; }
.hd-actions--end{ justify-content:flex-end !important; }
.hd-pad-10{ padding:10px !important; }
.hd-pad-18{ padding:18px !important; }
.hd-max-90ch{ max-width: 90ch; }
.hd-max-320{ max-width: 320px; }
.hd-max-240{ max-width: 240px; }
.dropdown-sep{ height:1px; background:var(--border); margin:10px 0; }
.hd-max-520{ max-width: 520px; }
.hd-maxh-260{ max-height:260px; }
.hd-min-420{ min-width: min(420px, 100%); }
.hd-min-220{ min-width: min(220px, 100%); }
.hd-my-8{ margin:8px 0 !important; }
.hd-inlineflex-center{ display:inline-flex !important; align-items:center !important; }
.hd-btn--nodecor{ text-decoration:none !important; }

/* =========================================================
   Admin export reminder banner
   ---------------------------------------------------------
   Shown to admins when saved theme/layout differs from the
   last exported deployable app.css snapshot.
   ========================================================= */
.hd-export-banner{
  margin: 12px auto 0;
  max-width: var(--shell-max, var(--container-max));
  border-radius: 16px;
  padding: 14px 16px;
}
.hd-export-banner .hd-actions{ gap:10px; }

.hd-stack{ display:grid; }
.hd-stack--gap-12{ gap:12px; }

.hd-row{ display:flex; }
.hd-row--between{ justify-content:space-between; }
.hd-row--start{ align-items:flex-start; }
.hd-row--center{ align-items:center; }
.hd-row--wrap{ flex-wrap:wrap; }
.hd-row--gap-10{ gap:10px; }
.hd-row--gap-12{ gap:12px; }
.hd-inline-badge{ display:inline-block; }
.hd-h3-sm{ font-size: 1.05rem; }
.hd-h2-sm{ font-size: 1.15rem; }

/* Code / output helpers (admin tools) */
.hd-codebox{
  white-space: pre-wrap;
  max-height: 320px;
  overflow: auto;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #fff;
}
.hd-console{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
  min-height: 220px;
}
.hd-panel{
  overflow:auto;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #fff;
}
.hd-help-row{ display:flex; gap:8px; align-items:center; }
.hd-prewrap{ white-space:pre-wrap; }
.outputdata_default .hd-actions--end{ align-items:flex-end; }

/* Form controls */
.hd-select[multiple]{ height:auto; }



/* =========================================================
   Admin tool components (keep focused + reusable)
   ========================================================= */

/* Stats cards (Insights) */
.hd-stats-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap:12px;
}
.hd-stat__value{ font-size:28px; font-weight:700; line-height:1.1; }
.hd-stat__sub{ font-size:14px; }

/* Bar list rows (Insights) */
.hd-barlist{ display:grid; gap:10px; margin-top:10px; }
.hd-barrow{
  display:grid;
  grid-template-columns: 240px 1fr 70px;
  gap:10px;
  align-items:center;
}
.hd-bar{ height:14px; background:var(--border); border-radius:999px; overflow:hidden; }
.hd-bar__fill{ height:100%; background: var(--text); opacity:.25; }

/* Compact tables used in reports */
.hd-table--compact th,
.hd-table--compact td{ padding:8px; }

/* Preflight table sizing */
.hd-table--preflight{ width:100%; min-width:0; table-layout:fixed; }
.hd-table--preflight .hd-col-check{ width:260px; }
.hd-table--preflight .hd-col-status{ width:90px; }
.hd-table--preflight td:nth-child(3){ word-break:break-word; }

/* Active filter link style */
.hd-link--active{ font-weight:700; text-decoration: underline; text-underline-offset: 3px; }

/* Reports header row */
.hd-report-recipients-head{
  display:flex;
  gap:12px;
  align-items:flex-end;
  justify-content:space-between;
  flex-wrap:wrap;
}
.hd-report-pager__mid{ align-self:center; }

/* Button row alignment helper */
.outputdata_default .hd-actions--start{ justify-content:flex-start; gap:10px; }

/* Site Scan */
.hd-sitescan-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.hd-progress{ height:10px; background:rgba(0,0,0,.08); border-radius:999px; overflow:hidden; }
.hd-progress__bar{ height:10px; background:rgba(0,0,0,.35); }
summary.hd-summary{ cursor:pointer; }
.hd-sitescan-debug{ max-height:220px; background:rgba(0,0,0,.02); }
.hd-sitescan-detail{ max-height:220px; }

/* Message tool */
.hd-pillrow{ display:flex; gap:10px; flex-wrap:wrap; }

/* Safe HTML previews (email/message preview in admin tools) */
.hd-email-preview{ max-width:100%; }
.hd-preview-iframe{
  width:100%;
  min-height:460px;
  border:1px solid var(--hd-border, #d7e2f1);
  border-radius:16px;
  background:#fff;
}

/* Admin tool table column hints */



/* Horizontal rule helper */
.hd-hr{ margin:14px 0; border:0; border-top:1px solid var(--border); }


/* Fieldset helper (admin tools) */
.outputdata_default .hd-fieldset{ border:1px solid var(--border); border-radius:16px; padding:12px; }
.outputdata_default .hd-legend{ padding:0 8px; font-weight:900; width:auto; font-size:1rem; }


/* =========================================================
   Admin tool: Survey invitations (email wizard)
   ========================================================= */

/* Small inline spinner used for "Recipients found" + list loading */
.hd-spinner{
  display:inline-block;
  width: 0.9em;
  height: 0.9em;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  vertical-align: -0.12em;
  margin-left: 6px;
  animation: hdspin 0.8s linear infinite;
}
@keyframes hdspin{ to { transform: rotate(360deg); } }

/* Segment pills */
.outputdata_default .hd-seg.hd-seg--pills{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.hd-seg__btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 16px;
  border:1px solid var(--border);
  border-radius:999px;
  background:#fff;
  cursor:pointer;
  user-select:none;
  transition:background .15s,border-color .15s,box-shadow .15s;
}
.hd-seg__btn:hover{ background:rgba(0,0,0,.02); }
.hd-seg__btn.is-active{
  border-color:var(--accent);
  background:color-mix(in srgb, var(--accent) 26%, white);
  box-shadow:0 0 0 4px rgba(0,0,0,.06), 0 14px 30px rgba(0,0,0,.10);
}
.hd-seg__btn.is-active span{ font-weight: 800; }
.hd-seg__btn--all{ border-style:dashed; }
.hd-seg__btn--all.is-active{
  background:color-mix(in srgb, var(--accent) 22%, white);
  border-style:solid;
}

/* Better alignment for radio/checkbox controls + labels */
.hd-choice{
  display:flex;
  align-items:center;
  gap:12px;
  margin:8px 0;
  border:1px solid var(--border);
  border-radius:16px;
  padding:10px 12px;
  background:transparent;
}
.hd-choice input[type="radio"],
.hd-choice input[type="checkbox"]{
  width:18px;
  height:18px;
  accent-color: var(--primary);
  flex:0 0 auto;
  margin:0;
}
.hd-choice span{ line-height:1.35; display:block; }
.hd-choice:hover{ border-color: color-mix(in srgb, var(--primary) 35%, var(--border)); }

/* Recipient selection bars */
.hd-selectbars{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px;
  margin-top:8px;
}
@media (max-width: 720px){
  .hd-selectbars{ grid-template-columns: 1fr; }
}
.hd-selectbar[disabled],
.hd-selectbar.is-disabled{
  opacity:.55;
  cursor:not-allowed;
}
.hd-selectbar{
  text-align:left;
  width:100%;
  border:1px solid var(--border);
  border-radius:16px;
  padding:12px;
  background: color-mix(in srgb, var(--surface) 92%, #fff 8%);
  cursor:pointer;
  position:relative;
  transition: transform .08s ease, box-shadow .08s ease;
}
.hd-selectbar:focus{
  outline: 3px solid color-mix(in srgb, var(--brand) 35%, transparent);
  outline-offset:2px;
}
.hd-selectbar:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}
.hd-selectbar.is-active{
  border-color: color-mix(in srgb, var(--brand) 55%, var(--border));
  box-shadow: 0 14px 30px rgba(0,0,0,.10);
}
.hd-selectbar.is-active::before{
  content:'';
  position:absolute;
  left:0; top:0; bottom:0;
  width:8px;
  border-radius:16px 0 0 16px;
  background: var(--brand);
}
.hd-selectbar__title{ display:block; font-weight:900; margin-bottom:2px; }
.hd-selectbar__desc{ display:block; font-size:.95rem; opacity:.9; }

/* Recipient picker panel */
.hd-recipient-list{
  max-height:260px;
  overflow:auto;
  border:1px solid var(--border);
  border-radius:14px;
  padding:10px;
  background:#fff;
}

/* Selected chips */
.hd-chiprow{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
}
.hd-chiprow__label{ font-weight:900; }
.hd-chip{
  display:inline-flex;
  align-items:center;
  padding:2px 8px;
  border:1px solid var(--border);
  border-radius:999px;
  background: color-mix(in srgb, var(--surface) 88%, #fff 12%);
}
.hd-chip--more{ opacity:.8; border-style:dashed; }

/* Recipient item (checkbox with single indicator) */
.recipient-item{
  border:1px solid transparent;
  padding:10px 12px 10px 44px;
  margin:6px 0;
  background: transparent;
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  border-radius:12px;
}
.recipient-item__cb{
  position:absolute;
  left:14px;
  top:50%;
  transform: translateY(-50%);
  width:18px;
  height:18px;
  opacity:0;
  pointer-events:none;
}
.recipient-item::before{
  content:'';
  position:absolute;
  left:14px;
  top:50%;
  transform: translateY(-50%);
  width:20px;
  height:20px;
  border-radius:6px;
  border:2px solid var(--border);
  background:#fff;
}
.recipient-item__email{
  font-weight:700;
  flex:1;
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.recipient-item.is-checked{
  border-color: color-mix(in srgb, var(--brand) 55%, var(--border));
  background: color-mix(in srgb, var(--brand) 10%, white);
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
}
.recipient-item.is-checked::before{
  background: var(--accent);
  border-color: var(--accent);
}
.recipient-item.is-checked::after{
  content:'✓';
  position:absolute;
  left:18px;
  top:50%;
  transform: translateY(-55%);
  color:#fff;
  font-weight:900;
  font-size:14px;
}


/* Grid gap helpers */
.hd-grid--gap-10{ gap:10px; }
.hd-grid--gap-12{ gap:12px; }
.hd-grid--gap-14{ gap:14px; }
.hd-grid--onecol{ grid-template-columns: 1fr !important; }

/* Compact card padding */
.hd-card--pad-12{ padding:12px; }
.hd-card--pad-14{ padding:14px; }

/* KPI blocks (Reports) */
.hd-kpi__label{ font-size:13px; }
.hd-kpi__value{ font-size:22px; font-weight:800; margin-top:2px; }
.hd-kpi__sub{ font-size:14px; font-weight:600; }

/* PASS/FAIL badges */
.hd-badge--pass{ background:#e7f6ec; border:1px solid #b7e2c2; color:#0b6b2f; }
.hd-badge--fail{ background:#fdeceb; border:1px solid #f5c2be; color:#8a1f17; }

/* Grid span helper */
.hd-span-all{ grid-column: 1 / -1; }

/* Table min width helpers */
.hd-table--min-900{ min-width:900px; }

/* Typography helpers */
.hd-text-12{ font-size:12px; }
.hd-text-16b{ font-size:16px; font-weight:700; letter-spacing:0.2px; }

/* Questionnaire helpers */
.hd-status-pill{
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,0.12);
  font-size:12px;
  font-weight:700;
}
.qualtrics-loading{
  margin: 0 0 10px 0;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(0,0,0,0.04);
}
.qualtrics-iframe{
  width:100%;
  min-height:82vh;
  border:0;
  border-radius:16px;
}
.qualtrics-tip{
  margin:8px 0 0;
  font-size:12px;
  padding:8px 10px;
  border-radius:12px;
  background: rgba(0,0,0,0.04);
  display:inline-block;
}


/* =========================================================
   Theme hooks
   - Values come from /css/theme.css
   - Edit theme.css to reskin without digging through app.css
   ========================================================= */

body{ background: var(--site-bg, var(--body-bg, #f6f2ea)); }

/* Main navigation buttons */
a.nav-btn,
button.nav-btn{
  background: var(--nav-btn-bg, var(--primary));
  color: var(--nav-btn-text, #fff);
}
a.nav-btn:hover,
button.nav-btn:hover{
  background: var(--nav-btn-hover, var(--primary-hover));
}
a.nav-btn:active,
button.nav-btn:active{
  background: var(--nav-btn-active, var(--primary-active));
}

/* Primary action buttons (forms / key actions) */
.hd-btn--primary{
  background: var(--btn-primary-bg, var(--primary));
  color: var(--btn-primary-text, #fff);
  border-color: color-mix(in srgb, var(--btn-primary-bg, var(--primary)) 70%, var(--border) 30%);
}
.hd-btn--primary:hover{
  background: var(--btn-primary-hover, var(--primary-hover));
}
.hd-btn--primary:active{
  background: var(--btn-primary-active, var(--primary-active));
}

/* Many pages use .hd-btn--action for the main submit/continue button.
   Treat it as a direct alias of the Theme tool "Primary action buttons" tokens. */
.hd-btn--action{
  background: var(--btn-primary-bg, var(--primary));
  color: var(--btn-primary-text, #fff);
  border-color: color-mix(in srgb, var(--btn-primary-bg, var(--primary)) 70%, var(--border) 30%);
}
.hd-btn--action:hover{ background: var(--btn-primary-hover, var(--primary-hover)); color: var(--btn-primary-text, #fff); }
.hd-btn--action:active{ background: var(--btn-primary-active, var(--primary-active)); }
.hd-btn--primary:disabled,
.hd-btn--primary[aria-disabled="true"]{
  background: var(--primary-disabled, #95aba4);
  border-color: var(--primary-disabled, #95aba4);
  opacity: 0.85;
}

/* Secondary buttons (default .hd-btn appearance)
   IMPORTANT: must be driven by Theme tool tokens (secondary / hover / active / border / text).
   A previous version hard-coded a color-mix(primary, white) which made the Theme tool "Secondary"
   background appear to do nothing across the site.
*/
.hd-btn:not(.hd-btn--primary):not(.hd-btn--danger):not(.hd-btn--locked){
  background: var(--secondary, var(--surface));
  border-color: var(--secondary-border, var(--border));
  color: var(--secondary-text, var(--text));
}
.hd-btn:not(.hd-btn--primary):not(.hd-btn--danger):not(.hd-btn--locked):hover{
  background: var(--secondary-hover, var(--secondary, var(--surface)));
  color: var(--secondary-text, var(--text));
}
.hd-btn:not(.hd-btn--primary):not(.hd-btn--danger):not(.hd-btn--locked):active{
  background: var(--secondary-active, var(--secondary-hover, var(--secondary, var(--surface))));
}

/* ---------------------------------------------------------
   HARD GUARANTEE
   Some legacy sections in app.css define .hd-btn (secondary) after the
   primary rules (same specificity). When that happens, primary can
   accidentally inherit the secondary background.

   Fix: provide a higher-specificity, last-wins selector for primary.
   This keeps the Theme tool's Primary action buttons independent from
   Secondary buttons.
--------------------------------------------------------- */
.hd-btn.hd-btn--primary,
.outputdata_default .hd-btn.hd-btn--primary{
  background: var(--btn-primary-bg, var(--primary)) !important;
  color: var(--btn-primary-text, #fff) !important;
  border-color: color-mix(in srgb, var(--btn-primary-bg, var(--primary)) 70%, var(--border) 30%) !important;
}
.hd-btn.hd-btn--primary:hover,
.outputdata_default .hd-btn.hd-btn--primary:hover{
  background: var(--btn-primary-hover, var(--primary-hover)) !important;
}
.hd-btn.hd-btn--primary:active,
.outputdata_default .hd-btn.hd-btn--primary:active{
  background: var(--btn-primary-active, var(--primary-active)) !important;
}

/* Keep explicit secondary class stable too (helps previews + mixed markup) */
.hd-btn.hd-btn--secondary,
.outputdata_default .hd-btn.hd-btn--secondary{
  background: var(--secondary, var(--surface)) !important;
  color: var(--secondary-text, var(--text)) !important;
  border-color: var(--secondary-border, var(--border)) !important;
}
.hd-btn.hd-btn--secondary:hover,
.outputdata_default .hd-btn.hd-btn--secondary:hover{
  background: var(--secondary-hover, var(--secondary, var(--surface))) !important;
}

/* Tool navigation: force primary styling inside outputdata_default */
.outputdata_default .hd-admin-nav .hd-btn.hd-btn--primary,
.outputdata_default .hd-admin-nav .hd-btn--primary{
  background: var(--toolnav-btn-bg, var(--btn-primary-bg, var(--primary)));
  color: var(--toolnav-btn-text, var(--btn-primary-text, #fff));
  border-color: color-mix(in srgb, var(--toolnav-btn-bg, var(--primary)) 70%, rgba(213, 222, 231, 0.9) 30%);
}
/* Prevent browser :visited colours from bleeding into button text (esp. tool navigation). */
.outputdata_default .hd-admin-nav a.hd-btn{
  color: var(--text) !important;
}
.outputdata_default .hd-admin-nav a.hd-btn:visited{
  color: var(--text) !important;
}
.outputdata_default .hd-admin-nav a.hd-btn.hd-btn--primary:visited{
  color: var(--toolnav-btn-text, var(--btn-primary-text, #fff)) !important;
}

/* As a general guard, never allow visited-link colouring to affect button-like anchors. */
a.hd-btn:visited{ color: inherit !important; }
a.hd-btn.hd-btn--primary:visited{ color: var(--btn-primary-text, #fff) !important; }
.outputdata_default .hd-admin-nav .hd-btn.hd-btn--primary:hover,
.outputdata_default .hd-admin-nav .hd-btn--primary:hover{
  background: var(--toolnav-btn-hover, var(--btn-primary-hover, var(--primary-hover)));
}
.outputdata_default .hd-admin-nav .hd-btn.hd-btn--primary:active,
.outputdata_default .hd-admin-nav .hd-btn--primary:active{
  background: var(--toolnav-btn-active, var(--btn-primary-active, var(--primary-active)));
}


/* =========================================================
   Admin: audit + analytics helpers
   ========================================================= */
.outputdata_default .hd-grid--3{
  grid-template-columns: 1fr 1fr 1fr;
  gap: 14px;
}
.outputdata_default .hd-grid--2{
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.outputdata_default .hd-gap-14{ gap: 14px; }
.outputdata_default .hd-colspan-2{ grid-column: span 2; }
@media (max-width: 900px){
  .outputdata_default .hd-grid--3{ grid-template-columns: 1fr; }
  .outputdata_default .hd-grid--2{ grid-template-columns: 1fr; }
}

.outputdata_default .hd-actions--between{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

.outputdata_default .hd-row--warn{ background: rgba(255, 193, 7, 0.12); }

.outputdata_default .hd-stackbar{
  display:flex;
  height: 12px;
  border-radius: 999px;
  overflow:hidden;
  /* Match progress bars used elsewhere (reports/insights feel) */
  background: rgba(0,0,0,.08);
}
.outputdata_default .hd-stackbar__seg{ height:100%; }
.outputdata_default .hd-stackbar__seg--in{ background: var(--btn-primary-bg, var(--primary)); }
.outputdata_default .hd-stackbar__seg--out{ background: rgba(0,0,0,0.22); }
.outputdata_default .hd-stackbar__seg--unset{ background: rgba(0,0,0,0.12); }

.outputdata_default .hd-mini-bar{
  height: 12px;
  border-radius: 999px;
  overflow:hidden;
  background: var(--border);
}
.outputdata_default .hd-mini-bar__fill{
  height:100%;
  background: var(--btn-primary-bg, var(--primary));
}


/* Site Scan: filters + area labels */
.outputdata_default .hd-sitescan-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-top:10px;margin-bottom:12px;}
.outputdata_default .hd-sitescan-filters .hd-field{margin:0;min-width:180px;}
.outputdata_default .hd-sitescan-filters .hd-sitescan-search{flex:2 1 320px;min-width:240px;}
.outputdata_default .hd-sitescan-filters .hd-sitescan-clear{min-width:auto;}
.outputdata_default .hd-sitescan-area{margin-right:10px;vertical-align:middle;}
.outputdata_default .hd-sitescan-filterhint{margin-left:auto;white-space:nowrap;}


/* Simple flex utilities used by admin tools */
.hd-flex{ display:flex; }
.hd-flex--wrap{ flex-wrap:wrap; }
.hd-flex--align-center{ align-items:center; }
.hd-flex--gap-10{ gap:10px; }

/* Simple pill labels (used in admin tools like Accessibility link grouping) */
.hd-pill{
  display:inline-flex;
  align-items:center;
  padding:0.25rem 0.6rem;
  border-radius:999px;
  font-weight:800;
  font-size:0.85rem;
  line-height:1.2;
  white-space:nowrap;
  border:1px solid rgba(213, 222, 231, 0.9);
}
.hd-pill--soft{
  background: color-mix(in srgb, var(--page) 70%, #fff 30%);
  color: var(--text);
}


/* =========================================================
   LAYOUT SAFETY NET (site-wide)
   Defaults live in the main :root token block above (shell/content widths).
   Admin layout overrides (layout-user.php) can adjust --shell-max/--content-max.
   ========================================================= */

/* Any generic "table wrapper" should allow horizontal scrolling instead of overflowing the page */
.outputdata_default .hd-tablewrap{
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* Pre-flight results should wrap (avoid unnecessary horizontal scrollbars) */
.outputdata_default .hd-tablewrap--preflight{ overflow-x: auto; }

/* Tables inside wrappers should not force the page wider than its container */
.outputdata_default .hd-tablewrap > table,
.outputdata_default .hd-tablewrap .hd-table{
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

/* Prevent long unbroken strings/URLs from forcing overflow */
.outputdata_default{
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* =========================================================
   Table URL collapsing (site-wide)
   Collapses long URLs/paths in tables by default with an inline toggle.
   ========================================================= */
.outputdata_default .hd-table a.hd-url{
  display: inline-block;
  max-width: 34ch;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: bottom;
}
.outputdata_default .hd-table a.hd-url.is-expanded{
  max-width: none;
  white-space: normal;
}
.outputdata_default .hd-table .hd-url-toggle{
  margin-left: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: #fff;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
}
.outputdata_default .hd-table .hd-url-toggle:hover{
  background: var(--secondary-hover, #f2f6f5);
}
.outputdata_default .hd-table .hd-url-toggle:active{
  background: var(--secondary-active, #e7efed);
}

/* ---------------------------------------------------------
 * Inline details (compact collapsible controls)
 * Used for dense admin tables (e.g. reset password)
 * --------------------------------------------------------- */

.hd-inline-details { display: block; }

.hd-inline-details__summary {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(18, 70, 52, 0.25);
  background: rgba(18, 70, 52, 0.06);
  font-weight: 600;
}

.hd-inline-details[open] .hd-inline-details__summary {
  background: rgba(18, 70, 52, 0.10);
}

.hd-inline-details__body { margin-top: 10px; }

.hd-adminpw__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

@media (max-width: 800px) {
  .hd-adminpw__grid { grid-template-columns: 1fr; }
}

.hd-adminpw__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 10px;
}

/* Tighter account menu sizing */
.nav-dropdown--account .dropdown-menu{ font-size: 0.95rem; }
.nav-dropdown--account .dropdown-menu .dropdown-subitems{ padding-left: 8px; }
.nav-dropdown--account .dropdown-menu .dropdown-subitems .dropdown-item{ padding-top: 4px; padding-bottom: 4px; }

/* --- Admin: results panels should not push the footer off-screen --- */
.hd-panel--results{ max-height: 60vh; }

/* --- In-page anchors: ensure hash links land below the sticky header --- */
.hd-anchor{ scroll-margin-top: 96px; }
h1, h2, h3{ scroll-margin-top: 96px; }

/* --- Accounts table: keep "Reset…" panel compact and within the table --- */
.hd-adminpw{ position: relative; }
.hd-adminpw .hd-inline-details__body{
  position: absolute;
  right: 0;
  top: 100%;
  z-index: 20;
  width: 360px;
  max-width: min(360px, 90vw);
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 12px;
  box-shadow: 0 14px 30px rgba(0,0,0,0.14);
}

/* --- Admin: results panels should not push the footer off-screen --- */
.hd-panel--results{ max-height: 60vh; }

/* --- In-page anchors: ensure hash links land below the sticky header --- */
.hd-anchor{ scroll-margin-top: 96px; }
h1, h2, h3{ scroll-margin-top: 96px; }

/* --- Accounts table: keep "Reset…" panel compact and within the table --- */
.hd-adminpw{ position: relative; }
.hd-adminpw .hd-inline-details__body{
  position: absolute;
  right: 0;
  top: 100%;
  z-index: 20;
  width: 360px;
  max-width: min(360px, 90vw);
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 12px;
  box-shadow: 0 14px 30px rgba(0,0,0,0.14);
}

/* ===== Site Scan badges ===== */
.hd-sitescan-area,
.hd-sitescan-width{ margin-right:8px; }
.hd-sitescan-width{ opacity:0.85; }


/* Preflight checks table readability */
.hd-table--preflight{ width:100%; min-width:900px; table-layout:fixed; }
.hd-table--preflight th, .hd-table--preflight td{ vertical-align:top; padding:12px 14px; overflow-wrap:break-word; word-break:break-word; }
.hd-table--preflight th:first-child, .hd-table--preflight td:first-child{ width:260px; overflow-wrap:normal; word-break:normal; }
.hd-table--preflight th:nth-child(2), .hd-table--preflight td:nth-child(2){ width:110px; text-align:center; white-space:nowrap; }

.hd-preflight-kpis{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }

/* Technical docs layout */
.hd-docs-grid{ display:grid; grid-template-columns: 280px 1fr; gap:16px; align-items:start; }
.hd-docs-toc{ position: sticky; top: 14px; }
.hd-docs-toc a{ text-decoration:none; }
.hd-docs-toc a:hover{ text-decoration:underline; }
@media (max-width: 980px){
  .hd-docs-grid{ grid-template-columns: 1fr; }
  .hd-docs-toc{ position: static; }
}

/* ------------------------------------------------------------
   Admin selectbar (recipient scope)
   Ensure these always look like neutral UI blocks (not links).
   ------------------------------------------------------------ */
.hd-selectbar{
  color: var(--text);
  text-decoration: none;
  background: color-mix(in srgb, var(--surface) 92%, white);
  border: 1px solid color-mix(in srgb, var(--border) 90%, transparent);
}
.hd-selectbar *{ color: inherit; }
.hd-selectbar__desc{ opacity: .85; }

.hd-selectbar.is-active{
  background: color-mix(in srgb, var(--brand) 10%, white);
  border-color: color-mix(in srgb, var(--brand) 55%, var(--border));
}

.hd-selectbar[disabled],
.hd-selectbar.is-disabled{
  background: color-mix(in srgb, var(--surface) 70%, var(--border));
  color: color-mix(in srgb, var(--text) 55%, var(--surface));
  box-shadow: none;
  transform: none;
}

/* =========================================================
   Admin: click-to-tag block width helper (Layout tool)
   Enabled when localStorage hd_block_tag_mode=1 and body.is-admin.
   ========================================================= */
body.is-admin.hd-block-tag-mode :is(.gi-block,.hd-content-block,[data-hd-block]){
  outline: 2px dashed color-mix(in srgb, var(--primary) 60%, transparent);
  outline-offset: 6px;
  cursor: pointer;
}
body.is-admin.hd-block-tag-mode :is(.gi-block,.hd-content-block,[data-hd-block]).hd-bt-active{
  outline-style: solid;
}
#hdBlockTagBar{
  position: fixed;
  z-index: 9999;
  min-width: 280px;
  max-width: min(420px, calc(100vw - 24px));
  padding: 12px;
  border-radius: 16px;
  border: 1px solid color-mix(in srgb, var(--border) 80%, transparent);
  background: color-mix(in srgb, var(--surface) 96%, transparent);
  box-shadow: 0 18px 38px rgba(0,0,0,.22);
  backdrop-filter: blur(8px);
  display: none;
}
#hdBlockTagBar .hd-bt__title{
  font-weight: 700;
  margin-bottom: 8px;
}
#hdBlockTagBar .hd-bt__btns{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
#hdBlockTagBar .hd-bt__btn{
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--border) 80%, transparent);
  padding: 8px 10px;
  background: var(--surface);
  color: var(--text);
  line-height: 1;
  font-weight: 600;
}
#hdBlockTagBar .hd-bt__btn:hover{
  background: color-mix(in srgb, var(--surface) 65%, var(--alt));
}
#hdBlockTagBar .hd-bt__btn--ghost{
  background: transparent;
}
#hdBlockTagBar .hd-bt__meta{
  margin-top: 10px;
  font-size: 13px;
  opacity: .85;
  word-break: break-word;
}


/* Admin tool field help (replaces tip chips) */
.hd-field-help{font-size:0.9rem;line-height:1.3;margin:-2px 0 8px 0;}

/* Accordion stack container for admin tools */
.hd-accordion-stack{display:flex;flex-direction:column;gap:10px;margin-top:12px;}


/* --- Admin tool nested details (subdetails) --- */
.hd-subdetails {
  border: 1px solid var(--border, #d9e3ec);
  border-radius: var(--radius, 14px);
  background: var(--surface, #fff);
  margin: 12px 0;
}
.hd-subdetails > summary {
  list-style: none;
  cursor: pointer;
  padding: 12px 14px;
  font-weight: 700;
}
.hd-subdetails > summary::-webkit-details-marker { display:none; }
.hd-subdetails__body { padding: 12px 14px 14px; }

/* ---------- Analytics / tools polish ---------- */
.hd-num{ text-align:right; white-space:nowrap; }

.hd-sectionpicker select.hd-input{ min-width: 220px; }

.hd-pillrow--soft{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  opacity:.92;
}

/* Small nested details used for “view full table” patterns */
.hd-mini-details{ border-radius: 12px; padding: 8px 10px; background: rgba(0,0,0,.03); }
.hd-mini-details > summary{ cursor:pointer; font-weight: 700; }
.hd-mini-details > summary::-webkit-details-marker { display:none; }

/* Allow action rows (like section pickers) to wrap cleanly */
.hd-actions--wrap{ flex-wrap:wrap; gap:12px; }

/* ---------- Communications tools: area picker + recipient bars ---------- */
/* Stack area “pills” vertically for readability (one per line). */
.hd-area-stack .hd-pillrow,
.hd-area-stack .hd-seg{ display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.hd-area-stack .hd-seg__btn{ width:100%; max-width: 760px; text-align:left; }
.hd-area-stack .hd-seg__btn span{ display:block; }

/* Make the recipient selection bars feel softer and clearly selected. */
body.is-admin-page .hd-comm-shell .hd-selectbar{
  font-family: inherit;
  font-weight: 700;
}
body.is-admin-page .hd-comm-shell .hd-selectbar__title{ font-weight: 800; letter-spacing: .1px; }
body.is-admin-page .hd-comm-shell .hd-selectbar.is-active{
  background: color-mix(in srgb, var(--tool-accent, var(--brand)) 10%, white);
  border-color: color-mix(in srgb, var(--tool-accent, var(--brand)) 55%, var(--border));
}
body.is-admin-page .hd-comm-shell .hd-selectbar.is-active::before{ background: var(--tool-accent, var(--brand)); }
body.is-admin-page .hd-comm-shell .hd-selectbar.is-active::after{ background: color-mix(in srgb, var(--tool-accent, var(--brand)) 18%, white); }
