body{margin:0;padding:0;font-family:sans-serif;transition:background-color .3s,color .3s}body.dark{background-color:#121212;color:#fff}body.dark .status-container,body.dark .home-container{background-color:#313131}body.light{background-color:#f9f9f9;color:#111}body.light .status-container,body.light .home-container{background-color:#fff}body.light nav button{background-color:#ddd;color:#000}body.light nav button:hover{background-color:#bbb}.top-bar{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;background-color:#444;color:#fff;padding:1rem 2rem;margin:0;box-sizing:border-box;z-index:1000}.logo{cursor:pointer;font-size:1.5rem;margin:0}nav{display:flex;align-items:center;margin-left:auto}nav button{margin-left:1rem;padding:.5rem 1rem;background-color:#333;color:#fff;border:none;cursor:pointer;border-radius:4px}nav button:hover{background-color:#555}.switch{position:relative;display:inline-block;width:50px;height:25px;margin-left:1rem}.switch input{opacity:0;width:0;height:0}.slider{position:relative;display:flex;align-items:center;justify-content:center;background-color:#444;border:1px solid #666;transition:background-color .3s,border-color .3s;border-radius:25px;width:55px;height:25px;box-sizing:border-box;margin-top:-45%;overflow:hidden}.slider:before{content:"";position:absolute;height:20px;width:20px;top:2.5;left:2.5px;background-color:#fff;border-radius:50%;transition:transform .3s,background-color .3s;z-index:2}input:checked+.slider{background-color:#ddd;border-color:#aaa}input:checked+.slider:before{transform:translate(25px);background-color:#222}.icon{position:absolute;font-size:14px;z-index:1;transition:opacity .3s}.sun{left:4px;color:#fcd34d}.moon{right:8px;color:#a3bffa}.server-input{border:1px solid #555;background-color:#2a2a2a;color:#fff;padding:.5rem;margin-left:1rem}.about-container{padding-top:64px;text-align:center;margin-top:2rem}.about-title{font-size:2rem;font-weight:700;margin-bottom:1rem}.home-container{padding-top:64px;text-align:center;margin-top:2rem}.home-title{font-size:2rem;font-weight:700;margin-bottom:1rem}.home-button{padding:2rem 6rem;width:500px;height:100px;font-size:2rem;cursor:pointer;color:#fff;background-color:#353535;border-radius:3%;border:3px solid black;margin-left:35px;margin-right:35px}.home-description{display:flex}.map-container{margin:20px;width:50%;height:600px;border-radius:2px;border:1px solid #ccc;justify-self:center}.button-container{margin:20px;display:flex;justify-content:center}iframe{width:100%;height:100%;border:none}a{color:#d3d3d3}.status-container{margin:1rem;margin-top:80px;padding:1rem}.search-bar{display:flex;align-items:center;justify-content:flex-start;gap:1.5rem;flex-wrap:wrap}.search-input,.search-button{height:40px;max-width:20%;padding:0 1rem;font-size:1rem;border-radius:4px;box-sizing:border-box}.search-input{border:1px solid #555;background-color:#2a2a2a;color:#fff}.search-button{background-color:#333;color:#fff;border:none;cursor:pointer}.search-button:hover{background-color:#555}.results-container{margin:1rem;padding:1px 1px 1px 5px;background-color:#313131;border-radius:2px;color:#fff}body.light .results-container{background-color:#f0f0f0;color:#000}.results-container ul{list-style:none;padding-left:1rem}.results-container li{margin-bottom:1rem;line-height:1.4}body.light .search-input{background-color:#f0f0f0;color:#000;border:1px solid #ccc}body.light .search-button{background-color:#ddd;color:#000}body.light .search-button:hover{background-color:#bbb}.train-status-container{width:auto;display:flex;flex-direction:column;gap:0px;padding:20px 20px 5px;margin:1rem;background-color:#313131}.train-status-header{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;border-top:1px solid #fff;padding:0}.train-status-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;border-top:1px solid #202020;padding:10px 0;text-align:left}.train-status-header div{text-align:center;border-right:1px solid #fff;padding:0}.train-status-header div div{border-right:none;border-bottom:1px solid #fff;padding:10px}.train-status-header div div div{border:none}.train-status-row div{display:flex;justify-content:space-between;padding:0 10px}.train-status-row:nth-child(odd){background-color:#242424}.train-status-header div:last-child,.train-status-header-second-row div:last-child,.train-status-row div:last-child{border:none}.train-status-header-second-row{display:flex;justify-content:space-between}.train-status-header-second-row div{display:flex;border:none}.train-status-header div{font-weight:700}
