body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.algorithm-visualizer-wrapper .algorithm-bar-wrapper{margin:auto;width:90%}.algorithm-visualizer-wrapper .algorithm-bar-wrapper .algorithm-bar{text-align:center;margin:0 1px;display:inline-block}.algorithm-visualizer-wrapper .algorithm-selector-container{display:flex}.algorithm-visualizer-wrapper .algorithm-selector-container .sorting-selector{background-color:#f8f9fa;border:1px solid #dadce0;border-radius:4px;color:#3c4043;font-family:arial,sans-serif;font-size:14px;margin:10px auto;line-height:25px;height:25px;min-width:100px;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none}.algorithm-visualizer-wrapper .algorithm-selector-container .sorting-selector:hover{box-shadow:0 1px 1px #0000001a;background-color:#f8f9fa;border:1px solid #a7a7a7;color:#202124}.algorithm-visualizer-wrapper .algorithm-selector-container .settings-selector{background-color:#f8f9fa;border:1px solid #dadce0;border-radius:4px;color:#3c4043;cursor:pointer;font-family:arial,sans-serif;font-size:14px;margin:10px auto;line-height:25px;height:25px;min-width:100px;text-align:center;-webkit-user-select:none;user-select:none;z-index:20}.algorithm-visualizer-wrapper .algorithm-selector-container .settings-selector:hover{box-shadow:0 1px 1px #0000001a;background-color:#f8f9fa;border:1px solid #a7a7a7;color:#202124}.algorithm-visualizer-wrapper .algorithm-selector-container .settings-selector .settings-option{background-color:#f8f9fa;border:1px solid #dadce0;border-radius:4px;color:#3c4043;cursor:pointer;font-family:arial,sans-serif;line-height:25px;height:25px;min-width:95px;position:relative;text-align:center;-webkit-user-select:none;user-select:none;z-index:10}.algorithm-visualizer-wrapper .algorithm-selector-container .settings-selector .settings-option:hover{box-shadow:0 1px 1px #0000001a;background-color:#f8f9fa;border:1px solid #a7a7a7;color:#202124}.algorithm-visualizer-wrapper .algorithm-selector-container .input-container{margin:10px auto}.algorithm-visualizer-wrapper .algorithm-selector-container .input-container .input-text{display:inline-block;margin-right:5px}.algorithm-visualizer-wrapper .algorithm-selector-container .input-container .input-box{height:20px;width:100px;border:1px solid transparent;border-bottom:1px solid #e8eaed}.contact-wrapper .contact-header{border-bottom:1px solid #d6d6d6;font-family:sans-serif;font-size:50px;font-weight:600;margin:50px auto 20px;text-align:center;width:525px;word-wrap:break-word}.contact-wrapper .contact-container{display:flex;justify-content:center;margin:auto;width:100%}.contact-wrapper .contact-container .contact-item{font-family:sans-serif;font-size:25px;margin:0 15px}.contact-wrapper .contact-container .contact-item.clickable{cursor:pointer}.contact-wrapper .copy-popup{background-color:#e8eaed;border-radius:10px;line-height:30px;position:fixed;text-align:center;transition:opacity 3s ease-in-out;height:30px;width:175px}.drone-delivery-wrapper{font-size:100px;text-align:center;word-wrap:break-word}.header-bar{background-color:#fff;border-bottom:1px solid #000;position:fixed;top:0;width:100%}.header-bar .header-container{display:flex;flex-flow:row nowrap;justify-content:space-between;z-index:1000;font-family:sans-serif;font-size:19px;font-weight:700;padding:.6rem 2rem}.header-bar .header-container .header-title{cursor:pointer;display:block;padding:.75rem 5rem}.header-bar .header-container .header-link-container{display:flex;flex-flow:row nowrap;justify-content:flex-end;margin-right:4rem}.header-bar .header-container .header-link-container .header-link-item{cursor:pointer;padding:.75rem 1.5rem}.home-wrapper{text-align:center;font-family:Roboto,sans-serif}.home-wrapper .intro-container{display:flex;flex-flow:row nowrap;justify-content:space-around}.home-wrapper .intro-container .head-wrapper .head-shot{border:1px transparent black;border-radius:250px;margin:50px 125px 0 0;width:250px}.home-wrapper .intro-container .intro-wrapper{color:#212529;width:700px}.home-wrapper .intro-container .intro-wrapper .intro-title{font-size:34px;font-weight:700;margin:75px 0 0 125px;max-width:500px}.home-wrapper .intro-container .intro-wrapper .intro-text{font-size:18px;font-weight:300;margin:15px 0 15px 125px;width:560px}.home-wrapper .projects-title{border-bottom:1px solid #5e5e5e;color:#212529;font-size:40px;font-weight:500;margin:100px auto 50px;width:300px}.home-wrapper .projects-container{display:flex;justify-content:space-evenly}.home-wrapper .projects-container .projects-link{background-color:#eee;border-radius:3px;color:#212529;cursor:pointer;flex-grow:1;height:300px;max-width:500px;margin-bottom:50px}.home-wrapper .projects-container .projects-link .projects-link-text{font-size:30px;font-weight:500;margin-top:120px}.home-wrapper .projects-container .projects-link:hover{box-shadow:0 1px 1px #0000001a;background-color:#333;border:1px solid #a7a7a7;color:#eee}.algorithm-button-container{background-color:#f8f9fa;border:1px solid #dadce0;border-radius:4px;color:#3c4043;font-family:arial,sans-serif;font-size:14px;margin:10px auto;line-height:25px;height:25px;min-width:100px;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none}.algorithm-button-container:hover{box-shadow:0 1px 1px #0000001a;background-color:#f8f9fa;border:1px solid #a7a7a7;color:#202124}.drop-down-button-container{background-color:#f8f9fa;border:1px solid #dadce0;border-radius:4px;color:#3c4043;font-family:arial,sans-serif;font-size:14px;margin:10px auto;line-height:25px;height:25px;min-width:100px;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none}.drop-down-button-container:hover{box-shadow:0 1px 1px #0000001a;background-color:#f8f9fa;border:1px solid #a7a7a7;color:#202124}.drop-down-button-container .drop-down-submit{background-color:#b9b9b9;border-radius:8px;margin:0 auto;width:50px}.drop-down-button-container .drop-down-submit:hover{box-shadow:0 1px 1px #0000001a;background-color:#999;color:#202124}.drop-down-button-container .drop-down-container{background-color:#f8f9fa;border:1px solid #dadce0;position:absolute;height:75px;width:175px}.drop-down-button-container .drop-down-container .drop-down-input-container{display:flex;margin:10px}.drop-down-button-container .drop-down-container .drop-down-input-container .drop-down-input-title{margin-right:5px}.drop-down-button-container .drop-down-container .drop-down-input-container .drop-down-input-box{height:20px;width:50px;border:1px solid #a7a7a7}.node-text{cursor:pointer;text-anchor:middle;fill:#000}.node-circle{cursor:pointer;stroke:#000;stroke-width:.5}.map-wrapper{font-family:arial,sans-serif;margin:auto;text-align:center;height:100%;width:100%}.map-wrapper .map{margin:auto;border:2px solid black;height:40%;width:40%}.map-wrapper .add-node-container{background-color:#c5c5c5;border-radius:15px;cursor:pointer;margin:auto;position:absolute;text-align:center;height:60px;width:100px}.map-wrapper .add-node-container .add-node-title{font-weight:500;margin:5px 0 10px}.map-wrapper .add-node-container .add-node-submit{background-color:#9c9c9c;border-radius:5px;font-weight:500;margin:10px auto;height:20px;width:80px}.map-wrapper .add-node-container .add-node-submit:hover{box-shadow:0 1px 1px #0000001a;background-color:#000;border:1px solid #a7a7a7;color:#d6d6d6}.map-wrapper .edit-node-container{background-color:#c5c5c5;border-radius:15px;cursor:pointer;font-weight:500;margin:auto;position:absolute;text-align:center;height:115px;width:150px}.map-wrapper .edit-node-container .edit-node-title{margin:5px 0}.map-wrapper .edit-node-container .add-edge-container .add-edge-title{display:inline-block;margin:0 5px;text-align:left}.map-wrapper .edit-node-container .add-edge-container .input-box{height:20px;width:60px;border:1px solid transparent;border-bottom:1px solid #e8eaed;margin-bottom:3px}.map-wrapper .edit-node-container .edit-node-submit{background-color:#9c9c9c;border-radius:5px;font-weight:500;margin:5px auto;height:20px;width:80px}.map-wrapper .edit-node-container .edit-node-submit:hover{box-shadow:0 1px 1px #0000001a;background-color:#000;color:#d6d6d6}.map-wrapper .edit-edge-container{background-color:#c5c5c5;border-radius:15px;cursor:pointer;font-weight:500;margin:auto;position:absolute;text-align:center;height:60px;width:100px}.map-wrapper .edit-edge-container .edit-edge-title{margin:5px 0}.map-wrapper .edit-edge-container .edit-edge-submit{background-color:#9c9c9c;border-radius:5px;font-weight:500;margin:5px auto;height:20px;width:80px}.map-wrapper .edit-edge-container .edit-edge-submit:hover{box-shadow:0 1px 1px #0000001a;background-color:#000;color:#d6d6d6}.map-wrapper .algorithm-selector-container{display:flex}.map-wrapper .algorithm-selector-container .algorithm-button-submit{background-color:#9c9c9c;border-radius:5px;cursor:pointer;font-weight:500;margin:3px auto;text-align:center;-webkit-user-select:none;user-select:none;height:20px;width:100px}.map-wrapper .algorithm-selector-container .algorithm-button-submit:hover{box-shadow:0 1px 1px #0000001a;background-color:#000;color:#d6d6d6}.map-wrapper .algorithm-selector-container .algorithm-selector-button{background-color:#f8f9fa;border:1px solid #dadce0;border-radius:4px;color:#3c4043;font-size:14px;margin:10px auto;line-height:25px;height:25px;min-width:100px;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none}.map-wrapper .algorithm-selector-container .algorithm-selector-button:hover{box-shadow:0 1px 1px #0000001a;background-color:#f8f9fa;border:1px solid #a7a7a7;color:#202124}.map-wrapper .topological-error{margin-bottom:10px;font-size:28px;color:#ac0000}.map-wrapper .graph-settings-title{border-bottom:1px solid #212529;color:#212529;font-size:28px;margin:10px auto;width:110px}.map-wrapper .graph-settings-container{display:flex;flex-flow:row wrap;justify-content:center;margin:auto}.map-wrapper .graph-settings-container .graph-settings-item{border:1px solid rgba(0,0,0,.1);color:#212529;font-size:20px;margin:5px 15px 25px}.App{text-align:center}.App .white-space{height:75px}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion: no-preference){.App-logo{animation:App-logo-spin infinite 20s linear}}.App-header{background-color:#282c34;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:calc(10px + 2vmin);color:#fff}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
