@charset "UTF-8";*{--dim-white:#B6B3B4;--dark-grey:#212224;--sad-pink:#B8699A;--sad-violet:#7F7DCC;--sad-blue:#0096BB;--pink:#FA86CE;--violet:#AAA9FF;--blue:#00C7F7;--orange:#FF9365;--yellow:#C7B700;--green:#11D396}.dark{--primary:var(--green);--secondary:var(--blue);--tertiary:var(--pink);--background:var(--dark-grey);--foreground:var(--dim-white);--link:var(--dim);--highlight:var(--sad-violet);--delimiter:var(--sad-violet);--attribution:var(--pink)}.light{--primary:var(--sad-blue);--secondary:var(--sad-violet);--tertiary:var(--sad-pink);--background:var(--dim-white);--foreground:var(--dark-grey);--link:var(--dark-grey);--highlight:var(--sad-blue);--delimiter:var(--dark-grey);--attribution:var(--sad-pink)}@font-face{font-family:atkinson hyperlegible;src:url(/fonts/AtkinsonHyperlegible-Regular.ttf);font-weight:400;font-style:normal}#frontpage #frontpage-hero{background:var(--background);background:url(/images/hacker_web.png);background-size:cover;background-position:50%;height:55vh;position:fixed;width:100%;z-index:1}#frontpage #frontpage-hero img.logo{width:275px;height:auto}#frontpage #frontpage-hero .image-attribution{right:0;bottom:0;margin:10px}#frontpage #frontpage-hero .image-attribution .image-attribution-button{right:0}#frontpage #frontpage-hero .image-attribution .image-attribution-inner{padding:1px 6px 1px 12px}#frontpage #content{position:absolute;margin-top:55vh;width:100%;z-index:2;background-color:var(--background);box-shadow:0 0 10px rgba(0,0,0,.1)}#frontpage #frontpage-hero+#content>main{margin-top:50px !important}header{padding:0;margin:0;position:fixed;width:100%;z-index:10;background-color:var(--background);top:0;padding-bottom:16px}header .logo{background:url(/images/logo/spectrum-logo.svg)no-repeat;padding-left:70px;margin:10px 0 0;float:left;height:60px;background-size:65px 60px}header .logo a{color:var(--foreground);padding:6px 0;display:block;text-decoration:none}header .desktop li{position:relative}header .desktop .submenu{display:inline;position:absolute;visibility:hidden;background:var(--background);top:-10px;left:-10px;padding:10px;text-align:left}header .desktop .submenu:hover,header .desktop a:hover~.submenu{visibility:visible}header #main-navigation .submenu ul{background:color-mix(in srgb,var(--dim-white),#fff 20%)}header #main-navigation{display:contents;margin-top:2px;float:right;text-align:right}header #main-navigation ul{text-align:right}header #main-navigation .mobile li{cursor:pointer;display:contents}header #main-navigation .desktop{display:none}header nav>ul{padding:28px 0 0}footer #footer-wrapper{display:flow-root;background:url(/images/logo/spectrum-logo.svg)right 30px top 30px no-repeat;background-size:140px 140px}.button,.button-inline,.button-nav{background-color:var(--link);cursor:pointer;border:none;color:var(--background);padding:5px;text-align:center;text-decoration:none;display:inline-block;font-size:15px;margin:4px 2px;border-radius:4px;font-family:atkinson hyperlegible,open sans,helvetica,arial,sans-serif}.button:hover,.button-inline:hover,.button-nav:hover{background-color:var(--primary)}.button-nav{font-size:15px}.button-inline{font-size:20px}.event.current{--border-width:3px;position:relative;border-radius:var(--border-width)}.event.current::after{position:absolute;content:"";top:0;left:0;z-index:-2;width:100%;height:100%;background:linear-gradient(60deg,#5f86f2,#a65ff2,#f25fd0,#f25f61,#f2cb5f,#abf25f,#5ff281,#5ff2f0);background-size:300% 300%;background-position:0;border-radius:calc(2 * var(--border-width));animation:moveGradient 4s alternate infinite}.event.current::before{position:absolute;content:"";top:var(--border-width);left:var(--border-width);bottom:var(--border-width);right:var(--border-width);z-index:-1;background:#041012;background-size:300% 300%;background-position:0;border-radius:calc(2 * var(--border-width));animation:moveGradient 4s alternate infinite}@keyframes moveGradient{50%{background-position:100%}}.event_modal_template{display:none}#main-wrapper.calendar-wrapper{max-width:95%}.calendar .month_wrapper{margin-bottom:1rem}.calendar .month_header{position:sticky;top:100px;background:var(--background);z-index:5;padding:1rem 0;font-family:atkinson hyperlegible,open sans,helvetica,arial,sans-serif;font-size:2rem}.calendar .month_header .year,.calendar .month_header .month{font-weight:700;color:grey}.calendar .month_header .year{float:right;font-size:2.5rem}.calendar .month_header .subscribe{float:right;margin-top:.3rem;margin-right:.6rem;padding:0 8px;background-color:#000;border-radius:.3rem;color:grey;font-size:.6rem;font-weight:700;text-decoration:none}.calendar .month_header .subscribe:hover{color:var(--background);background-color:var(--link)}.calendar .day{min-width:0;margin-top:1rem;padding:.4rem 0;border-top:2px solid rgba(89,89,89,.44)}.calendar .day.current{border-color:var(--link)}.calendar .day.current .day_title{color:var(--link)}.calendar .day[data-empty]:not(.current){display:none}.calendar .day .day_title{padding:.2rem 1rem}.calendar .day .day_title .weekday{text-transform:uppercase;font-size:1rem;font-family:atkinson hyperlegible,open sans,helvetica,arial,sans-serif;position:relative;top:-.75rem;left:.2rem}.calendar .day .day_title .monthday{font-size:2rem;line-height:2rem}.calendar .day .event{background-color:rgba(0,0,0,.5);padding:.8rem 1rem;border-radius:.3rem;font-size:.9rem;margin-top:.5em;word-break:break-word;hyphens:auto;cursor:pointer}.calendar .day .event .time{font-family:atkinson hyperlegible,open sans,helvetica,arial,sans-serif}.calendar .day .event .time .start,.calendar .day .event .time .end{font-size:.8rem;position:relative;top:-.16rem}.calendar .day .event .time .end:before{content:" – "}.calendar .day .event .time .end:empty{display:none}.calendar .day .event .location{margin:1em 0;width:max-content;color:var(--link);background-color:var(--background);display:none;font-size:.8rem;padding:0 .3rem;border-radius:.2rem;justify-self:flex-start;align-self:center}.calendar .day .event .description{display:none;font-size:.8rem;padding-right:2rem}.calendar .day .event.current{background:0 0}.calendar .day .event.current .title{font-weight:700}.calendar .day .event:hover{color:var(--link)}.calendar .day-empty{display:none}.calendar .day-2:first-child{grid-column:2}.calendar .day-3:first-child{grid-column:3}.calendar .day-4:first-child{grid-column:4}.calendar .day-5:first-child{grid-column:5}.calendar .day-6:first-child{grid-column:6}.calendar .day-7:first-child{grid-column:7}.overlay{position:fixed;display:none;z-index:1;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgba(0,0,0,.4);padding-top:80px;backdrop-filter:blur(5px);z-index:1000}.overlay[aria-hidden=false]{display:block}.overlay .close{color:var(--background);float:right;font-size:28px;font-weight:700;background:0 0;border:none;width:40px;height:40px;border-radius:5px}.overlay .close:hover{color:var(--highlight);cursor:pointer}.overlay .modal{padding:1.6vw 2vw;border-radius:.6rem;background-color:var(--link);color:#000;margin:5% auto;padding:20px;width:80%}.overlay .modal #info_title{font-size:2rem;line-height:2rem;font-weight:700;background:var(--link);padding-top:.2vw}.overlay .modal #info_description{padding:1rem 0;font-size:1rem}.overlay .modal #info_description a{color:#000}.overlay .modal #info_date_time{font-weight:700}.overlay .modal #info_location{margin:.5rem 0}@media(min-width:830px){.calendar .days_wrapper{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:.5rem}.calendar .day[data-empty]:not(.current){display:block}.calendar .day-empty{display:block}}html{scroll-behavior:smooth}html,body{width:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:300;line-height:1.1;text-align:left;color:var(--foreground);font-weight:700;font-family:atkinson hyperlegible,open sans,helvetica,arial,sans-serif}h1{font-size:2.35em}h2{font-size:1.5em;margin-bottom:15px}h3{font-size:1.2em}h4{font-size:1.1em}h5{font-size:1em}h6{font-size:.9em}code{font-family:source code pro,consolas,monospace;font-size:.8em;color:red;padding:1px 3px;background-color:var(--background);border:1px solid var(--delimiter);border-radius:3px}body{margin:0;padding:0;background-color:var(--background);color:var(--foreground);font-family:atkinson hyperlegible,open sans,helvetica,arial,sans-serif;font-size:18px;line-height:32px;font-feature-settings:"kern","liga","pnum"}a{color:var(--link)}a:hover{color:var(--primary)}:focus:not(:focus-visible){outline:0;box-shadow:none}:focus,.focus-visible:focus:not(:focus-visible){outline:0;box-shadow:0 0 0 .1rem #000,0 0 0 .2rem #fff}hr{color:var(--delimiter);background-color:var(--delimiter);height:1px;border:none;margin-top:20px;margin-bottom:20px;clear:both}#header-wrapper,#main-wrapper,#footer-wrapper{margin:0 auto;padding:0 20px;max-width:960px}main{margin:130px 0 60px}main article{font-size:1em;line-height:1.4em}footer{border-top:var(--delimiter)1px solid;padding:20px 0 0;max-width:100%;margin:20px auto;line-height:1.3em}nav ul{line-height:1.5em;text-transform:uppercase;list-style-type:none;padding:0;font-size:1em;font-weight:600;color:var(--foreground)}li.language-switch,li.calendar-link{border-top:1px solid var(--link)}.logo{font-family:atkinson hyperlegible,open sans,helvetica,arial,sans-serif;font-weight:bolder;font-size:1.4em}.logo span{font-size:.6em;font-weight:600;display:block;margin-top:-10px}nav{font-family:atkinson hyperlegible,open sans,helvetica,arial,sans-serif}main{}main img,main video,main div.figure{max-width:100%;height:auto;pointer-events:none}main a>img.openstreetmap{pointer-events:initial}main a:has(img.openstreetmap){position:relative}main a:has(img.openstreetmap)::after{content:"OpenStreetMap";font-size:.8em;color:var(--foreground);font-weight:600;margin-left:5px;text-decoration:underline;position:absolute;bottom:1em;right:1em}main img.icon{max-width:100px}#blog article{padding-bottom:40px}#blog .image{max-height:280px;overflow:hidden}#blog .image img{display:flex;width:100%;max-width:100%;height:auto !important;margin:-50px 0 0}form label{font-size:14px;font-family:atkinson hyperlegible,open sans,helvetica,arial,sans-serif}form input{padding:8px;border-radius:4px;border:1px solid #000;display:block}form input[type=number],form input[type=email],form input[type=text]{width:270px}form input[type=button],form input[type=submit]{margin:20px 0 30px;background-color:var(--secondary);color:#fff;font-weight:700;cursor:pointer}form input[type=button]:hover,form input[type=submit]:hover{background-color:var(--primary)}input{padding:8px;border-radius:4px;border:1px solid #000;display:block}iframe{border-radius:10px;border:none}#map{height:400px;width:100%;border-radius:10px;box-shadow:0 1px 10px rgba(42,235,170,.2)}#map img{border-radius:10px}.image-attribution{min-height:20px;padding:2px 24px 2px 0;margin:10px;position:absolute;background-color:var(--attribution);border-radius:12px;line-height:normal}.image-attribution-button{display:block;cursor:pointer;position:absolute;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1012 0 6 6 0 10-12 0m5-3a1 1 0 102 0 1 1 0 10-2 0m0 3a1 1 0 112 0v3a1 1 0 11-2 0'/%3E%3C/svg%3E");background-color:var(--attribution);width:24px;height:24px;box-sizing:border-box;border-radius:12px;outline:none;top:0;border:0}.image-attribution-inner{display:none;color:#000;font-size:12px;padding:1px 0 1px 28px}.image-attribution-inner a{color:#000;text-decoration:underline}@media screen and (min-width:900px){main{margin:150px 0 60px !important}#main-navigation .mobile{display:none !important}#main-navigation .desktop{display:block !important}#main-navigation .desktop li{margin-left:10px}#main-navigation .desktop .language-switch,#main-navigation .desktop .calendar-link{border-top:none;border-left:1px solid var(--delimiter);margin-left:20px;padding-left:20px}#main-navigation .desktop li{display:inline-block}#footer-wrapper{display:flow-root;background:url(/images/logo/)50% no-repeat;background-size:150px 150px}footer #footer-wrapper{background-position:50%}footer .first-part{float:left}footer .second-part{float:right;text-align:right}footer .second-part h5{text-align:right}}@media screen and (max-width:400px){main{margin:105px 0 50px}header{padding-bottom:5px}header .logo{font-size:1em;height:auto;margin-top:15px;padding-left:50px;background-size:45px 40px;height:50px}header .logo a{padding:0}header .logo span{display:none}#main-navigation ul{padding:22px 5px 5px}#footer-wrapper{background:0 0 !important}form input[type=number],form input[type=email],form input[type=text]{width:220px}}@media screen and (max-width:290px){header .logo a{display:none}form input[type=number],form input[type=email],form input[type=text]{width:180px}}