@charset "UTF-8";:root{--primary-color: #213EC4;--secondary-color: #000000;--background-color: #ffffff;--accent-background: #e9ecef;--text-color: #000000;--error-background: #fddede;--success-background: #DEECE1;--error-text: #b30000;--success-text: #155724;--heading-font: "Tahoma", sans-serif;--body-font: "Arial", sans-serif;--font-small:.7rem;--font-medium:1rem;--font-large:1.2rem;--font-xlarge:1.6rem}@font-face{font-family:OpenDyslexic;src:url(/_a/f/OpenDyslexic-Regular.otf) format("opentype");font-weight:400;font-style:normal}@font-face{font-family:OpenDyslexic-Bold;src:url(/_a/f/OpenDyslexic-Bold.otf) format("opentype");font-weight:700;font-style:normal}@font-face{font-family:OpenDyslexic-Italic;src:url(/_a/f/OpenDyslexic-Italic.otf) format("opentype");font-weight:400;font-style:normal}@font-face{font-family:OpenDyslexic-Bold-Italic;src:url(/_a/f/OpenDyslexic-Bold-Italic.otf) format("opentype");font-weight:700;font-style:normal}html{scroll-behavior:smooth;scroll-padding-top:80px}body{font-family:var(--body-font);line-height:1.6;background-color:var(--background-color);color:var(--text-color);margin:0;padding-top:80px;transition:background-color .3s,color .3s;font-size:var(--font-medium)}body.left-align-active h1,body.left-align-active h2,body.left-align-active h3,body.left-align-active .hero,body.left-align-active .about-section,body.left-align-active .service-card,body.left-align-active .useful-links-section,body.left-align-active .useful-links-item,body.left-align-active .games-page,body.left-align-active .charities-page{text-align:left}#main-content .container,#site-footer .container{padding:0 20px}.container{max-width:1100px;margin:0 auto}@media (max-width: 768px){#main-content .container{padding-top:80px}}@media (max-width: 440px){#main-content .container{padding-top:80px}}.app-container{display:flex;flex-direction:column;min-height:calc(100vh - 80px)}h1,h2,h3{font-family:var(--heading-font);color:var(--primary-color);transition:color .3s;text-align:center}h2{font-size:calc(var(--font-medium) * 2.8)}@media (max-width: 768px){h2{font-size:calc(var(--font-medium) * 2.2)}}h3{font-size:calc(var(--font-medium) * 2.2);margin-bottom:40px}@media (max-width: 768px){h3{font-size:calc(var(--font-medium) * 1.8)}}.skip-link{position:absolute;top:-40px;left:0;background:var(--primary-color);color:var(--background-color);padding:10px;z-index:100;transition:top .3s}.skip-link:focus{top:0}a:focus,button:focus,input:focus,textarea:focus{outline:3px solid var(--secondary-color);outline-offset:3px;border-radius:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.container{max-width:1100px;margin:0 auto;padding:0 20px}.app-container{display:flex;flex-direction:column;min-height:100vh}main#main-content{flex-grow:1}section{padding:60px 0}.site-header{background-color:var(--background-color);border-bottom:2px solid var(--primary-color);position:fixed;top:0;left:0;width:100%;z-index:99;transition:background-color .3s,border-color .3s}.site-header .container{display:flex;justify-content:space-between;align-items:center;height:80px}.site-header nav ul{list-style:none;display:flex;gap:20px;margin:0}.site-header nav a{text-decoration:none;color:var(--text-color);font-weight:700;padding:5px 0;border-bottom:2px solid transparent;transition:border-color .3s}.site-header nav a:hover{border-bottom-color:var(--secondary-color)}.logo{font-size:calc(var(--font-medium) * 1.5);font-weight:700;color:var(--primary-color)}.logo a{text-decoration:none;color:inherit}.subtitle{font-size:calc(var(--font-medium) * 1.2);max-width:600px;margin:0 auto}.profile-pic{width:15rem;height:15rem;border-radius:50%;object-fit:cover;margin-bottom:20px}.profile-pic path{fill:var(--text-color);transition:fill .3s}.services-section,.contact-section{background-color:var(--accent-background)}body.high-contrast.profile-pic path{fill:var(--text-color)}.services-grid,.useful-links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px}.services-grid h3,.useful-links-grid h3{font-size:calc(var(--font-medium) * 1.4)}.service-card,.useful-links-item{background:var(--background-color);border:1px solid #ccc;padding:20px;border-radius:5px;text-align:center;transition:transform .3s}.service-card:hover,.useful-links-item:hover{transform:translateY(-5px)}.useful-links-item img{max-width:50%;height:auto;border-radius:5px;margin-bottom:15px}.useful-links-item img[src*=deque]{background-color:#003349;padding:4px}.useful-links-item a:hover .a11y-project__icon,.useful-links-item a:focus .a11y-project__icon{transform:scale(1.1)}.a11y-project__lockup{display:flex;align-items:center;justify-content:center;gap:.5rem}.a11y-project__icon{transition:transform .2s ease-in-out}.mdn-logo__image .logo__letter{fill:light-dark(#0a5dbd,#a4cefe)}.mdn-logo__image .logo__text,.mdn-logo__image .logo__cursor{fill:var(--text-color)}.btn{display:inline-block;background-color:var(--primary-color);color:var(--background-color);padding:12px 25px;text-decoration:none;border-radius:5px;font-weight:700;transition:background-color .3s;border:none}.btn:hover{background-color:var(--secondary-color)}.contact-form{max-width:600px;margin:0 auto}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:5px}.form-group input,.form-group textarea{width:100%;padding:10px;border:1px solid #ccc;border-radius:5px;font-size:1rem}.form-field-error{display:block;color:var(--error-text);font-weight:700;margin-top:5px}.site-footer{background-color:var(--text-color);color:var(--background-color);text-align:center;padding:20px 0;margin-top:80px}.site-footer .container{display:flex;justify-content:space-between;align-items:center}.footer-links{list-style:none;display:flex;gap:15px;padding:0}.footer-links a{color:var(--background-color);text-decoration:none;white-space:nowrap}.footer-links a:hover,.footer-links a:focus{text-decoration:underline 3px solid var(--background-color)}.mobile-nav-container{display:contents}.nav-toggle{display:none;background:none;border:2px solid var(--text-color);color:var(--text-color);cursor:pointer;padding:8px 12px;font-size:1rem;border-radius:5px}@media (max-width: 768px){.mobile-nav-container{display:block;position:relative}.nav-toggle{display:block}.site-header nav{display:none;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%);background-color:var(--background-color);border:1px solid var(--text-color);border-radius:5px;width:200px;padding:10px;box-shadow:0 4px 8px #0000001a}.site-header nav.is-open{display:block}.site-header nav ul{flex-direction:column;gap:5px;padding:0}.site-header nav li{width:100%}.site-header nav a{display:block;padding:10px;border-bottom:none;border:1px solid transparent}.site-header nav a:hover{border:1px solid var(--secondary-color);border-radius:3px}.site-footer .container{flex-direction:column;gap:10px}.cookie-banner__content{flex-direction:column;text-align:center}}.accessibility-controls{position:relative}.dropdown-trigger{background:none;border:2px solid var(--text-color);color:var(--text-color);cursor:pointer;padding:8px 12px;font-size:1rem;border-radius:5px}.dropdown-menu{position:absolute;top:calc(100% + 10px);right:0;background-color:var(--background-color);border:1px solid var(--text-color);border-radius:5px;width:calc(130% + 10px);z-index:100;display:flex;flex-direction:column;padding:10px;gap:10px;box-shadow:0 4px 8px #0000001a}.dropdown-menu[hidden]{display:none}.dropdown-menu button{width:100%;padding:10px;text-align:left;background:transparent;border:1px solid var(--text-color);color:var(--text-color);cursor:pointer;border-radius:3px;font-size:1rem;display:flex;align-items:center;gap:10px}.dropdown-menu button:hover{background-color:var(--primary-color);color:var(--background-color)}.dropdown-menu button:after{content:"✓";display:inline-block;width:7px;height:12px;opacity:0;transition:opacity .2s}.dropdown-menu button[aria-pressed=true]:after{opacity:1}.font-size-controls{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--text-color);border-radius:3px;padding:2px;gap:2px}.font-size-controls span{display:none}.font-size-controls button{width:32px;height:32px;border:none;font-weight:700;padding:0;transition:background-color .2s;display:flex;justify-content:center;align-items:center}.font-size-controls button:after{display:none}.font-size-controls #font-size-1{font-size:.7rem}.font-size-controls #font-size-2{font-size:.8rem}.font-size-controls #font-size-3{font-size:1rem}.font-size-controls #font-size-4{font-size:1.2rem}.font-size-controls #font-size-5{font-size:1.4rem}.font-size-controls button[aria-pressed=true]{text-decoration:underline 3px solid var(--primary-color);border-radius:2px}.external-link-icon{display:inline-block;margin-left:.3em;vertical-align:middle;white-space:nowrap}.external-link-icon svg{width:.85em;height:.85em;position:relative;top:-.05em}.external-link-icon:focus{outline:2px solid var(--primary-color, blue);outline-offset:2px;border-radius:2px}.focus-overlay{display:none;position:fixed;left:0;width:100%;z-index:9999;background-color:#000c;pointer-events:none;transition:opacity .3s}#focus-overlay-top{top:0}#focus-overlay-bottom{bottom:0}.cookie-banner{position:fixed;bottom:0;left:0;width:100%;background-color:var(--background-color, #f8f9fa);color:var(--text-color, #212529);border-top:2px solid var(--primary-color, #005f73);padding:20px;box-shadow:0 -2px 10px #0000001a;z-index:10000;transition:transform .4s ease-in-out;transform:translateY(0)}.cookie-banner--hidden{transform:translateY(150%);visibility:hidden}.cookie-banner__content{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.cookie-banner__text{margin:0}.cookie-banner__btn{background-color:var(--primary-color, #005f73);color:var(--background-color, #fff);border:none;padding:12px 25px;border-radius:5px;cursor:pointer;font-weight:700;white-space:nowrap}.form-message{border:2px solid var(--primary-color, #213EC4);background-color:var(--accent-background, #e9ecef);padding:20px;border-radius:5px;margin-bottom:30px;text-align:center}.form-message h3{margin-top:0}.form-message h3:focus{outline:2px solid var(--primary-color);outline-offset:3px}.form-message--error{border-color:var(--error-text);background-color:var(--error-background);color:var(--error-text)}.form-message--error h3{color:var(--error-text)}.carousel-container{position:relative;box-sizing:border-box;max-width:700px;margin:40px auto;padding:20px;border:1px solid #ccc;border-radius:8px;background-color:var(--background-color)}.carousel-slides{position:relative;height:450px;overflow:hidden}.carousel-slide{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity .5s ease-in-out;visibility:hidden}.carousel-slide.active{opacity:1;visibility:visible}.carousel-slide .useful-links-item{height:100%;border:none;box-shadow:none}.carousel-slide .useful-links-item:hover{transform:none}.carousel-slide .useful-links-item img{max-width:25%;background-color:#fff}.carousel-slide .useful-links-item img[alt*=Sebby]{background-color:#214b5f}.carousel-controls{display:flex;justify-content:center;align-items:center;gap:15px;margin-bottom:20px}.carousel-control-button{font-size:1.5rem}.carousel-control-button:disabled{opacity:.5;cursor:not-allowed}.carousel-indicator{text-align:center;margin-top:15px;font-style:italic}.skip-link-carousel{position:absolute;top:-400px;left:0}.skip-link-carousel:focus{outline:3px solid var(--primary-color);outline-offset:3px;border-radius:2px;top:0}.tabs-container{margin-top:40px;margin-bottom:40px}[role=tablist]{display:flex;border-bottom:2px solid #ccc}@media (max-width: 768px){[role=tablist]{flex-direction:column;overflow-x:auto;-webkit-overflow-scrolling:touch}}.tab-button{padding:10px 20px;border:2px solid transparent;border-bottom:none;background-color:#f1f1f1;cursor:pointer;font-size:1rem;border-radius:5px 5px 0 0;margin-right:5px;position:relative;bottom:-2px;white-space:nowrap}.tab-button[aria-selected=true]{background-color:var(--background-color);color:var(--text-color);border-color:#ccc;border-bottom:2px solid var(--background-color);font-weight:700}.tab-button:focus{outline-offset:-2px}.tab-button.disabled{cursor:not-allowed;color:var(--error-text)}.tab-panel{padding:20px;border:2px solid #ccc;border-top:none;border-radius:0 0 5px 5px}.hero{text-align:center;padding:80px 0;background-color:var(--accent-background)}.hero h2{margin-bottom:10px}.about-section,.games-page,.charities-page,.useful-links-section,.tools-page{text-align:center}.sudoku-game{margin-top:20px}.sudoku-board{display:grid;grid-template-columns:repeat(9,1fr);max-width:540px;margin:20px auto;border:3px solid var(--text-color);border-radius:5px;background-color:var(--background-color);aspect-ratio:1/1}.sudoku-row{display:contents}.sudoku-cell{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;border:1px solid #ccc;background:transparent;text-align:center;font-size:1.5rem;font-family:inherit;color:var(--primary-color);font-weight:700;padding:0;position:relative;-moz-appearance:textfield}.sudoku-cell:nth-child(3n){border-right-width:3px;border-right-color:var(--text-color)}.sudoku-cell:nth-child(9n){border-right:none}.sudoku-cell.editing{padding:0;border-color:var(--primary-color)}.sudoku-cell input{width:100%;height:100%;border:none;background:transparent;text-align:center;font-size:inherit;font-family:inherit;color:inherit}.sudoku-cell.initial{color:var(--secondary-color);background-color:var(--accent-background)}.sudoku-cell.error{background-color:var(--error-background);color:var(--error-text)}.sudoku-cell:focus{outline:3px solid var(--primary-color);z-index:2}.sudoku-row:nth-child(3n) .sudoku-cell{border-bottom-width:3px;border-bottom-color:var(--text-color)}.sudoku-row:nth-child(9) .sudoku-cell{border-bottom:none}.sudoku-reset-button{margin-top:20px}.sudoku-solved-message{margin-top:20px;padding:15px;background-color:var(--success-background);border:1px solid var(--success-text);color:var(--success-text);border-radius:5px;text-align:center}.sudoku-settings{display:flex;align-items:center;justify-content:center;gap:10px;margin:20px 0}.sudoku-settings .toggle-switch-label{display:flex;align-items:center;cursor:pointer;gap:10px}.sudoku-settings .toggle-switch{position:relative;display:inline-block;width:50px;height:28px;background-color:var(--accent-background);border-radius:28px;transition:background-color .2s}.sudoku-settings .toggle-switch-thumb{position:absolute;top:4px;left:4px;width:20px;height:20px;background-color:var(--text-color);border-radius:50%;transition:transform .2s}.sudoku-settings .sr-only:checked+.toggle-switch{background-color:var(--primary-color)}.sudoku-settings .sr-only:checked+.toggle-switch .toggle-switch-thumb{transform:translate(22px);background-color:var(--background-color)}body.high-contrast .sudoku-settings .toggle-switch{background-color:var(--secondary-color)}.rps-game{text-align:center}.rps-choices{display:flex;flex-direction:column;align-items:center;gap:15px;margin-top:20px}.rps-choices p{width:100%}.rps-choices .rps-choice-buttons{display:flex;flex-direction:row;align-items:center;justify-content:center;width:100%;gap:15px}.rps-choices .rps-choice-buttons .rps-choice-btn{min-width:30%;background-color:transparent;color:var(--text-color);padding:12px 25px;text-decoration:none;border-radius:5px;font-weight:700;transition:background-color .3s;border:none;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:10px;font-size:3rem}@media screen and (max-width: 580px){.rps-choices .rps-choice-buttons .rps-choice-btn{font-size:1rem}}.rps-choices .rps-choice-buttons .rps-choice-btn:hover{cursor:pointer}.rps-choices .rps-choice-buttons .rps-choice-btn .rps-icon{fill:var(--text-color);transition:fill .3s;font-size:3rem}@media screen and (max-width: 580px){.rps-choices .rps-choice-buttons .rps-choice-btn .rps-icon{font-size:1rem}}.rps-results{margin-top:20px}.rps-results .rps-result-display{display:flex;align-items:center;justify-content:center;gap:15px;font-size:3rem}@media screen and (max-width: 580px){.rps-results .rps-result-display{font-size:1rem}}.rps-results .rps-result-display .rps-result-player{min-width:40%;background-color:transparent;color:var(--text-color);padding:12px 25px;text-decoration:none;border-radius:5px;font-weight:700;transition:background-color .3s;border:none;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:10px;font-size:3rem}@media screen and (max-width: 580px){.rps-results .rps-result-display .rps-result-player{font-size:1rem}}.rps-results .rps-result-display .rps-result-player .rps-icon{fill:var(--text-color);transition:fill .3s;font-size:3rem;max-height:10rem}@media screen and (max-width: 580px){.rps-results .rps-result-display .rps-result-player .rps-icon{font-size:1rem}}.rps-results h4{font-size:3rem;margin-bottom:0}@media screen and (max-width: 580px){.rps-results h4{font-size:1rem}}body.high-contrast .rps-icon{fill:var(--background-color)}body.high-contrast .rps-choice-btn:hover .rps-icon{fill:var(--secondary-color)}.blog-page{display:grid;grid-template-columns:1fr 275px;gap:40px;align-items:start}@media (max-width: 900px){.blog-page{grid-template-columns:1fr}}.blog-menu{position:sticky;top:100px;border:1px solid #ccc;padding:20px;border-radius:5px;background-color:var(--accent-background)}@media (max-width: 900px){.blog-menu{position:static;top:auto}}.blog-menu h3{margin-top:0;text-align:left}.blog-menu .blog-menu-controls{margin-bottom:20px}.blog-menu .blog-menu-controls .form-group{margin-bottom:10px}.blog-menu .blog-menu-controls input[type=search]{width:100%;padding:8px;border-radius:3px;border:1px solid #ccc}.blog-menu .blog-menu-controls .btn{width:100%}.blog-post-list{list-style:none;padding:0;margin:0;max-height:50vh;overflow-y:auto;color:var(--text-color)}.blog-post-list li{margin-bottom:5px}.blog-post-list button{width:100%;text-align:left;padding:10px;color:var(--text-color);background:var(--background-color);border:1px solid #ddd;border-radius:3px;cursor:pointer}.blog-post-list button:hover{background-color:var(--primary-color);color:var(--background-color)}.blog-post-list button[aria-current=page]{background-color:var(--primary-color);color:var(--background-color);font-weight:700}.blog-post-list button .blog-post-list-title{display:block}.blog-post-list button .blog-post-list-date{font-size:.8rem;opacity:.8}.blog-post-content{text-align:left}.blog-post-content h3{font-size:calc(var(--font-medium) * 1.4)}.blog-post-content blockquote{border-left:4px solid var(--primary-color);padding-left:20px;margin:20px 0;font-style:italic;font-size:1.1rem}.blog-post-content .tech-bit{background-color:var(--accent-background);border:1px solid #ccc;padding:15px;margin:20px 0;border-radius:5px}.blog-post-content .tech-bit h5{margin-top:0;text-align:left}.blog-post-content pre{background-color:#2d2d2d;color:#f1f1f1;padding:15px;border-radius:5px;overflow-x:auto;font-family:Courier New,Courier,monospace;font-size:.9rem}.blog-post-content code{font-family:Courier New,Courier,monospace;background-color:var(--accent-background);padding:2px 4px;border-radius:3px}.blog-post-content pre code{background-color:transparent;padding:0}.tech-table{display:grid;grid-template-columns:1fr;border:1px solid #ccc;margin:20px 0;border-radius:5px;max-width:100%}.tech-table .tech-table-header,.tech-table .tech-table-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:15px;border-bottom:1px solid #ccc}@media (max-width: 768px){.tech-table .tech-table-header,.tech-table .tech-table-row{grid-template-columns:1fr}}.tech-table .tech-table-header{font-weight:700;background-color:var(--accent-background)}.tech-table .tech-table-row pre{white-space:pre-wrap;word-break:break-all}.tech-table>*:last-child{border-bottom:none}.tech-footnote{font-size:70%;background-color:var(--accent-background);padding:5px 10px}.sitemap-page{text-align:left}.sitemap-page .sitemap-section{margin-bottom:40px}.sitemap-page .sitemap-section ul{list-style-type:disc;padding-left:20px}.flesch-tool{text-align:center}.flesch-tool textarea{min-height:200px;max-width:98%;resize:vertical}.flesch-results{margin-top:30px;padding:20px;border:1px solid #ccc;border-radius:5px;background-color:var(--accent-background)}.flesch-results h3{margin-top:0}.flesch-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:20px;margin-bottom:20px}.flesch-stats-grid p{font-size:1.5rem;font-weight:700;margin:5px 0 0}.flesch-stats-grid .flesch-score{font-size:2.5rem;color:var(--primary-color)}.flesch-interpretation{font-style:italic;margin-top:20px}.text-width-limiter-tool{text-align:center}.text-width-limiter-tool .text-limiter-grid{display:grid;grid-template-columns:1fr;gap:30px;text-align:left}@media (max-width: 768px){.text-width-limiter-tool .text-limiter-grid{grid-template-columns:1fr}}.text-width-limiter-tool textarea{min-height:250px;max-width:98%;resize:vertical;font-family:Courier New,Courier,monospace;font-size:.9rem}.tools_disclaimer{display:block;font-size:.85rem;font-style:italic;margin-top:10px}body.high-contrast{--primary-color: #ffff00;--secondary-color: #00ffff;--background-color: #000000;--accent-background: #111111;--text-color: #ffffff}body.high-contrast .services-section,body.high-contrast .contact-section,body.high-contrast .hero{background-color:var(--accent-background)}body.high-contrast .cookie-banner{background-color:#000;color:#fff;border-top-color:#ff0}body.high-contrast .cookie-banner__btn{background-color:#ff0;color:#000}body.high-contrast .form-message{background-color:#111;border-color:var(--primary-color, #ffff00)}body.high-contrast .form-message--error{background-color:var(--error-background);border-color:var(--error-text);color:var(--error-text)}body.high-contrast .form-message--error h3{color:var(--error-text)}body.high-contrast .profile-pic path{fill:var(--text-color)}body.dyslexic-font{font-family:"OpenDyslexic","Lexend",var(--body-font);font-size:calc(var(--font-medium) * .9)}body.dyslexic-font h1,body.dyslexic-font h2,body.dyslexic-font h3{font-family:"OpenDyslexic","Lexend",var(--heading-font)}body.dyslexic-font p{line-height:1.5rem}body.hide-images main img,body.hide-images main svg:not(.external-link-icon svg){display:none}body.focus-mode-active .focus-overlay{display:block}body.left-align-active h1,body.left-align-active h2,body.left-align-active h3,body.left-align-active .hero,body.left-align-active .about-section,body.left-align-active .service-card,body.left-align-active .useful-links-section,body.left-align-active .useful-links-item,body.left-align-active .games-page,body.left-align-active .charities-page,body.left-align-active .tools-page{text-align:left}body.left-align-active .subtitle,body.left-align-active .contact-form{max-width:100%}body.left-align-active .carousel-container{margin-left:0}@media (max-width: 768px){body.left-align-active .site-footer .container{align-items:flex-start}}
