:root{--background:#f0f0f0;--background-text:#fff;--background-text-transparent:hsla(0,0%,100%,.949);--border:1px solid #adadad;--border-light:1px solid #ccc;--border-color-light:#ccc;--icon-light:#999;--text:#333;--text-dark:#000;--text-inverse:#fff;--text-light:#666;--error:#962e2e;--error-background:#feeae7;--primary:#2e5fba;--primary-border:#2e5fba;--primary-dark:#173063;--primary-disabled:#8093d1;--primary-light:#e5e9f1;--shadow:rgba(0,0,0,.502);--status:#02830d;--warning:#695c12;--warning-background:#f9f5dc;--warning-shadow:rgba(196,172,33,.502);--header-height:55px;--input-height:48px;--spacing-title:10px;--size1:2px;--size2:4px;--size3:8px;--size3N:-8px;--size4:16px;--size5:32px}[data-react-root],body,html{height:100%;overflow:hidden}body{background:#fff;background:var(--background-text);margin:0}*{box-sizing:border-box}a{-webkit-text-decoration-skip:objects;color:#2e5fba;color:var(--primary);-webkit-text-decoration:none;text-decoration:none;touch-action:manipulation;word-wrap:break-word}ol,ul{list-style:none;margin:0;padding:0}li:last-child{margin-bottom:0!important}svg:not(:root){overflow:hidden}img,svg{max-width:100%}img{vertical-align:bottom}.icon{fill:currentColor;font-size:24px;height:1em}.icon--arrowLeft{transform:scaleX(-1)}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:#333;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:18px;line-height:1.3}h1,h2,h3{font-weight:400;margin:0}h2{font-size:24px}h3{font-size:18px}p{margin:0;word-break:break-word}.header--group{border-bottom:1px solid #ccc;border-bottom:var(--border-light)}.header--group>button{margin:0;min-height:auto}.error{background:#feeae7;background:var(--error-background);border:1px solid;color:#962e2e;color:var(--error);margin:16px 0 0;margin:var(--size4) 0 0 0;padding:16px;padding:var(--size4)}.info,.notification{background:#e5e9f1;background:var(--primary-light);border:1px solid;color:#2e5fba;color:var(--primary);display:block;position:relative}.info,.warning{padding:8px 16px;padding:var(--size3) var(--size4)}.warning{background:#f9f5dc;background:var(--warning-background);border:1px solid;color:#695c12;color:var(--warning);margin-bottom:8px;margin-bottom:var(--size3)}.alert--offline{left:0;position:fixed;right:0;text-align:center;top:37px;z-index:1000}.alert--offline .warning{box-shadow:0 1px 4px 0 rgba(196,172,33,.502);box-shadow:0 1px 4px 0 var(--warning-shadow);display:inline-block}.notification{font-size:16px;overflow:hidden;padding:8px;padding:var(--size3);padding-right:24px}.notification h2{font-size:20px;margin-bottom:8px;margin-bottom:var(--size3)}.notification__button{min-height:40px;min-width:40px;position:absolute;right:-8px;top:-4px}.notification__button .icon{color:#2e5fba;color:var(--primary);font-size:16px}button.notification__button:focus,button.notification__button:hover{border-color:transparent;outline:none}.text--aside{font-size:14px;margin-left:auto;text-transform:uppercase;white-space:nowrap}.text--center{text-align:center}.text--error{color:var(--error-border)}.text--small{font-size:16px}.text--status{color:#02830d;color:var(--status);letter-spacing:.5px}.event-time{font-feature-settings:"tnum";font-size:16px;font-variant-numeric:tabular-nums;font-weight:500;margin-right:4px;margin-right:var(--size2)}.list--events{font-size:16px}.list--events .header--group,.list--events>div{margin-bottom:8px;margin-bottom:var(--size3)}.list--events .header--group{font-feature-settings:"smcp";font-size:20px;font-variant-caps:small-caps}.list--events .event+.header--group{margin-top:32px;margin-top:var(--size5)}ul+.list--students{margin-top:16px;margin-top:var(--size4)}.list--students>li{font-size:16px;margin-bottom:24px}.list--students h2{display:inline-block;font-size:20px;line-height:24px}.list--student-detail>li{margin:2px 0}.list--student-detail>li:not(.event)+.event{border-top:1px solid #ccc;border-top:var(--border-light);margin-top:4px;padding-top:2px}fieldset{border:none;margin:0}fieldset,legend{padding:0}legend{margin-bottom:2px}.radio-group{display:flex;transition:box-shadow .1s ease-out}.radio-group:focus-within,.radio-group:hover{box-shadow:0 4px 4px -2px rgba(0,0,0,.502);box-shadow:0 4px 4px -2px var(--shadow)}.radio-button{flex:1 1 0px;position:relative}.radio-button label{align-items:center;background:#f0f0f0;background:var(--background);border:1px solid #adadad;border:var(--border);color:#333;color:var(--text);cursor:pointer;display:flex;height:48px;height:var(--input-height);justify-content:center;line-height:1;outline:none;position:relative;transition-duration:.2s;transition-property:background,border-color,color;transition-timing-function:ease-out}.radio-button:not(:first-child) label{margin-left:-1px}.radio-button .icon{flex-shrink:0;fill:#999;fill:var(--icon-light);margin:0 4px}.radio-button input,.toggle input{height:100%;left:0;margin:0;opacity:0;position:absolute;top:0;width:100%}.radio-button input:checked+label{background:#fff;background:var(--background-text);border-color:#2e5fba;border-color:var(--primary-border);color:#2e5fba;color:var(--primary);z-index:1}.radio-button input:checked+label .icon{fill:#2e5fba;fill:var(--primary)}.link--button,button{background-color:transparent;border:1px solid transparent;color:inherit;cursor:pointer;display:block;font:inherit;margin-top:16px;margin-top:var(--size4);min-height:48px;min-height:var(--input-height);padding:0 32px;padding:0 var(--size5);position:relative;transition-duration:.2s;transition-property:background-color,border-color,box-shadow;transition-timing-function:ease-out}.button--ghost,.button--icon{padding:0 8px;padding:0 var(--size3)}.button--icon{margin-top:0}.button--primary{background-color:#2e5fba;background-color:var(--primary);border-color:#2e5fba;border-color:var(--primary-border);color:#fff;color:var(--text-inverse)}.button--primary:hover{box-shadow:0 4px 4px -2px rgba(0,0,0,.502);box-shadow:0 4px 4px -2px var(--shadow)}.button--primary:disabled{background-color:#8093d1;background-color:var(--primary-disabled);border-color:#8093d1;border-color:var(--primary-disabled)}.button--ghost:focus,.button--ghost:hover{border-color:#2e5fba;border-color:var(--primary-border)}.button--ghost.button--inactive:disabled:hover{border-color:transparent}.button--inactive:disabled{cursor:default;opacity:.3}.header__button{color:#fff;color:var(--text-inverse);margin:0 -8px 0 auto;margin:0 var(--size3N) 0 auto}.header__button:focus,.header__button:hover{border-color:#fff;border-color:var(--text-inverse)}.link--button{align-items:center;display:inline-flex}.button--center{margin-left:auto;margin-right:auto}input{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#333;color:var(--text);display:block;font:inherit;height:48px;height:var(--input-height);transition:border-color .2s ease-out;width:100%}.input--joined{position:relative}.field input,.field select,.input--joined input{background:transparent;border:none;border-bottom:1px solid #adadad;border-bottom:var(--border);outline:none;padding:22px 24px 0 0}.field label{display:block;margin-bottom:-22px}.field input:focus,.field select:focus,.input--joined input:focus{border-color:#2e5fba;border-color:var(--primary-border);z-index:1}.input--joined .icon{bottom:4px;fill:#2e5fba;fill:var(--primary);position:absolute;right:0}.input--capitalize,.input--capitalize input,.input--capitalize select{text-transform:capitalize}.autocomplete{position:relative}.autocomplete__list{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #adadad;border:var(--border);box-shadow:0 3px 4px -1px rgba(0,0,0,.502);left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:48px;top:var(--input-height);z-index:200}.autocomplete__list li{cursor:pointer;padding:4px 8px;padding:var(--size2) var(--size3)}.autocomplete__list li.Mui-focused,.autocomplete__list li:hover{background:#e5e9f1;background:var(--primary-light);color:#000;color:var(--text-dark)}.autocomplete__list li:active,.autocomplete__list li[aria-selected=true]{background:#2e5fba;background:var(--primary);color:#fff;color:var(--text-inverse)}input:-webkit-autofill{-webkit-box-shadow:inset 0 0 0 30px #fff;-webkit-box-shadow:0 0 0 30px var(--background-text) inset;-webkit-text-fill-color:#333!important;-webkit-text-fill-color:var(--text)!important}::-webkit-input-placeholder{color:#666;color:var(--text-light)}::-moz-placeholder{color:#666;color:var(--text-light)}::placeholder{color:#666;color:var(--text-light)}.app-failure,.container--loading{animation:fadeIn 2s ease-out 2s normal both}.app-failure{animation-delay:4s;padding:16px;padding:var(--size4)}.container--loading:after,.loading-indicator:before,button:disabled:after{animation:spin .6s linear infinite;border-radius:50%;border-right:4px solid transparent;border-top:4px solid #2e5fba;border-top:4px solid var(--primary);content:""}.container--loading:after,button:disabled:after{left:50%;position:absolute;top:50%}button:disabled:after{border-top-color:#173063;border-top-color:var(--primary-dark);height:24px;margin:-13px 0 0 -11px;width:24px}button.button--inactive:disabled:after{content:none}.container--loading:after{border-width:8px;height:128px;margin:-67px 0 0 -67px;width:128px}.loading-indicator:before{border-width:2px;display:inline-block;height:1em;margin-right:8px;width:1em}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(1turn)}}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;background:var(--background-text);border:1px solid #ccc;border:var(--border-light);color:#333;color:var(--text);cursor:pointer;display:block;font:inherit;height:48px;height:var(--input-height);padding:0 30px 0 16px;padding:0 30px 0 var(--size4);transition:border-color .2s ease-out;width:100%}select:focus{border-color:#2e5fba;border-color:var(--primary-border)}.select{position:relative}.select:after{border-left:5px solid transparent;border-right:5px solid transparent;border-top:10px solid;content:"";display:inline-block;pointer-events:none;position:absolute;right:10px;top:19px}.field .select:after{right:4px;top:31px}.toggle{align-items:center;display:flex;max-width:420px;min-height:48px;min-height:var(--input-height);position:relative}.toggle__label{margin-right:auto}.toggle__switch{background-color:#ccc;background-color:var(--border-color-light);border-radius:10px;flex-shrink:0;height:20px;margin:0 7px 0 17px;pointer-events:none;transition:background-color .2s ease-out;width:50px}.toggle__switch:after{background:#fff;border:1px solid #ccc;border:var(--border-light);border-radius:50%;box-shadow:0 2px 4px 0 rgba(0,0,0,.3);content:"";display:block;height:32px;transform:translate(-7px,-7px);transition:transform .2s ease-out;width:32px}.toggle input:checked+.toggle__switch{background-color:#2e5fba;background-color:var(--primary)}.toggle input:checked+.toggle__switch:after{transform:translate(23px,-7px)}.toggle input:focus-visible+.toggle__switch:after{border-color:#2e5fba;border-color:var(--primary-border)}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-pane,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container{left:0;position:absolute;top:0}.leaflet-container{background:#f2efe9;outline:0;overflow:hidden}.leaflet-marker-icon,.leaflet-tile{-webkit-user-select:none;-moz-user-select:none;user-select:none}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{height:1600px;-webkit-transform-origin:0 0;width:1600px}.leaflet-marker-icon{display:block}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-overlay-pane svg,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-height:none!important;max-width:none!important}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{-webkit-filter:inherit;filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-pane{z-index:40}.leaflet-tile-pane{z-index:20}.leaflet-marker-pane{z-index:60}.leaflet-map-pane svg{z-index:20}.leaflet-control{pointer-events:auto;position:relative;z-index:80}.leaflet-bottom{pointer-events:none;position:absolute;z-index:100}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-control{padding:5px}.leaflet-fade-anim .leaflet-tile{will-change:opacity}.leaflet-zoom-animated{transform-origin:0 0}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1);will-change:transform}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive{pointer-events:auto}.leaflet-control-attribution{background:hsla(0,0%,100%,.949);background:var(--background-text-transparent);font-size:11px;margin:0;padding:2px 5px}.map--empty .leaflet-tile-pane{-webkit-filter:blur(3px);filter:blur(3px)}.marker--location svg{fill:#2e5fba;fill:var(--primary);font-size:36px;stroke:#173063;stroke:var(--primary-dark);width:36px}.page--map .map{height:100%}.map__message-container,.page--map .select{left:0;position:fixed;right:0;top:55px;z-index:100}.page--map select{border:none;border-bottom:1px solid #ccc;border-bottom:var(--border-light);color:#000;color:var(--text-dark);outline:none}.map__message-container{display:flex;flex-direction:column;padding:8px 16px;padding:var(--size3) var(--size4)}.map__message-container>p{box-shadow:0 2px 4px 0 rgba(0,0,0,.3);margin-left:auto;margin-right:auto;max-width:440px}.map__message{background:hsla(0,0%,100%,.949);background:var(--background-text-transparent);border:1px solid #ccc;border:var(--border-light);color:#000;color:var(--text-dark);padding:8px 16px;padding:var(--size3) var(--size4)}.path-arrow{fill:#38f;fill-opacity:1;stroke:#003580}.marker--bus{background:url(bus.png) no-repeat 50%;background-size:contain;height:44px;margin:-22px 0 0 -15px;opacity:1;transition-duration:.2s;transition-property:height,margin,opacity,width;width:30px}.page--chat{background:#f0f0f0;background:var(--background)}.chat__history,.page--chat{display:flex;flex-direction:column}.chat__history,.chat__options{background:#fff;background:var(--background-text);margin:0 auto}.page--chat .chat__history,.page--chat .chat__options{max-width:100%;width:400px}.chat__history{flex-grow:1;overflow-y:auto;overscroll-behavior:none;padding:8px;padding:var(--size3);scroll-behavior:smooth}.chat__history li{border-radius:12px;margin-bottom:8px;margin-bottom:var(--size3);max-width:80%;padding:8px 16px;padding:var(--size3) var(--size4)}.chat__history .chat-message--option{background:#2e5fba;background:var(--primary);border:1px solid #173063;border:1px solid var(--primary-dark);color:#fff;color:var(--text-inverse);margin-left:auto}.chat__history .chat-message--response{background:#f0f0f0;background:var(--background);border:1px solid #ccc;border:1px solid var(--border-color-light);color:#000;color:var(--text-dark);margin-right:auto}.chat__options{border-top:1px solid #adadad;border-top:var(--border);padding:16px;padding:var(--size4)}.chat__options button{margin-top:0}@media (min-width:403px){.page--chat .chat__history,.page--chat .chat__options{border-left:1px solid #adadad;border-left:var(--border);border-right:1px solid #adadad;border-right:var(--border)}}.page--centered,.page--grid,.page--swipeable .page__body,.page__body{overflow-y:auto;overscroll-behavior:none;scroll-behavior:smooth}.page--grid{background:#f0f0f0;background:var(--background);height:100%;padding-top:55px;padding-top:var(--header-height)}.page__body{height:100%}.card-container{-moz-column-gap:16px;column-gap:16px;-moz-column-gap:var(--size4);column-gap:var(--size4);-moz-column-width:380px;column-width:380px;padding:16px;padding:var(--size4)}.card{background:#fff;background:var(--background-text);border:1px solid #adadad;border:var(--border);page-break-inside:avoid;-moz-column-break-inside:avoid;break-inside:avoid;margin-bottom:16px;margin-bottom:var(--size4);overflow:hidden}.card:focus-within{border-color:#2e5fba;border-color:var(--primary)}.card--padded,.card__header{padding:10px 16px;padding:var(--spacing-title) var(--size4)}.card--map .map{border-bottom:1px solid #adadad;border-bottom:var(--border);height:300px}.page--grid .list--students{padding:16px;padding:var(--size4)}.page--swipeable{display:flex;height:100%;padding:55px 0;padding:var(--header-height) 0;transform:translateX(-100%);transition:transform .15s ease-out}.page--swipeable .page--chat,.page--swipeable .page--map,.page--swipeable .page__body{flex:0 0 100vw;height:100%}.page--swipeable .page__body{padding:16px;padding:var(--size4)}.page--swipeable .page__content{margin:0 auto;max-width:400px}.content--centered{margin:auto;max-width:480px}.page--centered{display:flex;height:100%;padding:16px;padding:var(--size4)}.page--error h1{margin-bottom:16px;margin-bottom:var(--size4);margin-top:64px;text-align:center}footer,header{height:55px;left:0;position:fixed;right:0;z-index:999}header{align-items:center;background:#2e5fba;background:var(--primary);box-shadow:0 2px 4px 0 rgba(17,93,131,.5);display:flex;padding:0 16px;padding:0 var(--size4);top:0}header img{width:303px}footer{background:#fff;background:var(--background-text);border-top:1px solid #ccc;border-top:var(--border-light);bottom:0;box-shadow:0 -1px 4px 0 rgba(0,0,0,.2)}nav{display:flex;margin:0 auto;max-width:460px}.nav__button{-webkit-tap-highlight-color:transparent;color:#666;color:var(--text-light);flex:1 1 auto;font-size:14px;padding:4px 0;position:relative;text-align:center}.nav__button .icon{color:#999;color:var(--icon-light);display:block;margin:2px auto}.nav__button.selected,.nav__button.selected .icon{color:#2e5fba;color:var(--primary)}.nav__button.notify:after{background:#2e5fba;background:var(--primary);border-radius:50%;content:"";height:8px;position:absolute;right:calc(50% - 20px);top:6px;width:8px}.mb-3{margin-bottom:8px;margin-bottom:var(--size3)}.mb-4{margin-bottom:16px;margin-bottom:var(--size4)}.mb-5{margin-bottom:32px;margin-bottom:var(--size5)}.mr-auto{margin-right:auto}.flex,.flex-grid{display:flex}.flex-grid>button{margin-right:16px;margin-right:var(--size4)}.grow{flex-grow:1}.items-baseline{align-items:baseline}
