<!DOCTYPE html>
<html lang="en"><head>
	<meta name="generator" content="Hugo 0.42.1" />
    <title>Eclipse SUMO - Simulation of Urban MObility</title>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="icon" href="https://www.eclipse.org/sumo/images/favicon.ico" type="image/x-icon">
    <link rel="apple-touch-icon" href="https://www.eclipse.org/sumo/images/sumo_twitter.jpg">
    <meta name="description" content="Open source, microscopic and continuous multi-modal traffic simulation package">
    <meta name="theme-color" content="#338033">
    <meta name="twitter:card" content="summary">
    <meta name="twitter:image" content="https://www.eclipse.org/sumo/images/sumo_twitter.jpg">
    <meta name="twitter:site" content="@eclipsesumo">
    <meta property="og:title" content="Eclipse SUMO - Simulation of Urban MObility">
    <meta property="og:description" content="Open source, microscopic and continuous multi-modal traffic simulation package">
    <meta property="og:site_name" content="Eclipse SUMO - Simulation of Urban MObility">
    <meta property="og:image" content="https://www.eclipse.org/sumo/images/sumo_share.png">
    <meta property="og:type" content="website">
    <meta property="og:url" content="https://www.eclipse.org/sumo/">
    <meta name="keywords" content="SUMO, Eclipse SUMO, Traffic Simulation, Mobility">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
    <link rel="stylesheet" href="https://www.eclipse.org/sumo/css/custom.css">
    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.2/css/all.css" integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay" crossorigin="anonymous">
    <script async defer src="https://buttons.github.io/buttons.js"></script>

    <script>
        window.onload = function check_if_ie() {
            var msie = window.navigator.userAgent.indexOf("MSIE ");
            if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) {
                document.getElementById("not_for_ie").style.display = 'none';
            }
            return false;
        }
    </script>

    
    

    

</head><body id="page-top"><!-- navigation -->

    
        <nav class="navbar navbar-expand-lg bg-light navbar-light fixed-top">
          <div class="container">
            <a class="navbar-brand" href="https://www.eclipse.org/sumo/"><img class="img-fluid" src="/sumo/images/logos/sumo-logo-white.svg" id="navbar-logo" style="pointer-events:none;" alt="SUMO logo"></a>
            <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#collapsibleNavbar" aria-label="menu icon">
              <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse text-center" id="collapsibleNavbar">
              <ul class="navbar-nav ml-auto">
                
                  
                  <li class="nav-item dropdown">
                    <a class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true"
                      aria-expanded="false">
                      About
                    </a>
                    <div class="dropdown-menu">
                      
                      <a class="dropdown-item" href="https://www.eclipse.org/sumo/about">About SUMO</a>
                      
                      <a class="dropdown-item" href="https://projects.eclipse.org/projects/automotive.sumo/who">Who&#39;s involved</a>
                      
                      <a class="dropdown-item" href="https://sumo.dlr.de/docs/ChangeLog.html">ChangeLog</a>
                      
                      <a class="dropdown-item" href="https://sumo.dlr.de/daily">Status of daily build and tests</a>
                      
                    </div>
                  </li>
                  
                
                  
                  <li class="nav-item">
                    <a class="nav-link" href="https://sumo.dlr.de/download">Download</a>
                  </li>
                  
                
                  
                  <li class="nav-item">
                    <a class="nav-link" href="https://sumo.dlr.de/docs/">Documentation</a>
                  </li>
                  
                
                  
                  <li class="nav-item">
                    <a class="nav-link" href="https://www.eclipse.org/sumo/conference">Conference</a>
                  </li>
                  
                
                  
                  <li class="nav-item dropdown">
                    <a class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true"
                      aria-expanded="false">
                      References
                    </a>
                    <div class="dropdown-menu">
                      
                      <a class="dropdown-item" href="https://sumo.dlr.de/docs/Other/Projects.html">Projects</a>
                      
                      <a class="dropdown-item" href="https://sumo.dlr.de/docs/Publications.html">Publications</a>
                      
                      <a class="dropdown-item" href="https://sumo.dlr.de/docs/Contributed/index.html">Contributed extensions</a>
                      
                    </div>
                  </li>
                  
                
                  
                  <li class="nav-item dropdown">
                    <a class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true"
                      aria-expanded="false">
                      Support
                    </a>
                    <div class="dropdown-menu">
                      
                      <a class="dropdown-item" href="https://sumo.dlr.de/docs/FAQ.html">FAQ</a>
                      
                      <a class="dropdown-item" href="https://sumo.dlr.de/docs/Tutorials/index.html">Tutorials</a>
                      
                      <a class="dropdown-item" href="https://github.com/eclipse/sumo/issues">Report a Bug / Issue</a>
                      
                      <a class="dropdown-item" href="https://sumo.dlr.de/daily/doxygen/">Doxygen Documentation</a>
                      
                      <a class="dropdown-item" href="https://sumo.dlr.de/docs/Developer/index.html">Developer Documentation</a>
                      
                    </div>
                  </li>
                  
                
                  
                  <li class="nav-item">
                    <a class="nav-link" href="https://www.eclipse.org/sumo/contact">Contact</a>
                  </li>
                  
                
              </ul>
            </div>
            </div>
          </nav>

<!-- /navigation --><div id="content">
<div class="container-fluid header bg-gradient">
    <div class="container" style="margin-top: 100px; margin-bottom: 20px;">
      <div class="row">
        <div class="col-md-6"> 
        <div class="page-title" style="color: #17412f;">Simulation of Urban MObility</div>
        <br>    
        <p>Welcome to Eclipse <b>SUMO</b> (Simulation of Urban MObility), an open source, highly portable, microscopic and continuous multi-modal traffic simulation package designed to handle large networks.</p>

      <p><div class="btn-group">
        <a href="https://sumo.dlr.de/releases/1.9.0/sumo-win64-1.9.0.msi" id="download-button" type="button" class="btn btn-success" style="-webkit-appearance: none; box-shadow: 0 8px 36px -3px rgba(20,45,100,.35);">SUMO 1.9.0 for Windows 64bits</a>
        <button type="button" class="btn btn-success dropdown-toggle dropdown-toggle-split" data-toggle="dropdown"><span class="caret"></span></button>
        <div class="dropdown-menu download-menu">
          <a class="dropdown-item" href="https://sumo.dlr.de/docs/Downloads.php#sources"><i class="fas fa-file-code"></i> Sources</a>
          <a class="dropdown-item" href="https://sumo.dlr.de/releases/1.9.0/sumo-all-1.9.0.tar.gz"><i class="fas fa-file-archive"></i> All-inclusive-tarball</a>
          <a class="dropdown-item" href="https://sumo.dlr.de/docs/Downloads.php#ms_windows_binaries"><i class="fab fa-windows"></i> Windows</a>
          <a class="dropdown-item" href="https://sumo.dlr.de/docs/Downloads.php#linux_binaries"><i class="fab fa-linux"></i> Linux</a>
          <a class="dropdown-item" href="https://sumo.dlr.de/docs/Downloads.php#macos"><i class="fab fa-apple"></i> macOS</a>
        </div>
      </div>
    <br><a href="https://sumo.dlr.de/docs/Downloads.php#sumo_-_latest_development_version" class="green-text"><small>Latest Development Version (Nightly Snapshots) <i class="fas fa-angle-right"></i></small></a>
    <br><a href="https://sourceforge.net/projects/sumo/files/sumo/" class="green-text"><small>Older releases <i class="fas fa-angle-right"></i></small></a></p>

    <a class="github-button" href="https://github.com/eclipse/sumo" data-size="large" class="btn btn-social-icon btn-lg btn-github"><span class="fab fa-github"> View on GitHub</span></a>
    <a class="github-button" href="https://github.com/eclipse/sumo" data-icon="octicon-star" data-size="large" data-show-count="true" aria-label="Star eclipse/sumo on GitHub">Star</a>    
    <a class="github-button" href="https://github.com/eclipse/sumo/fork" data-icon="octicon-repo-forked" data-size="large" data-show-count="true" aria-label="Fork eclipse/sumo on GitHub">Fork</a>
<div class="d-md-none" style="margin-top:30px;"></div> 
</div>

<script>
  var Name = "Download SUMO";
  var DownloadLink = "https://sumo.dlr.de/download";
  if (navigator.appVersion.indexOf("Win") != -1) {
    Name = "SUMO 1.9.0 for Windows 64bits";
    DownloadLink = "https://sumo.dlr.de/releases/1.9.0/sumo-win64-1.9.0.msi";
    }
  if (navigator.appVersion.indexOf("Mac") != -1) {
    Name =  "SUMO 1.9.0 for macOS";
    DownloadLink = "https:\/\/sumo.dlr.de\/docs/Downloads.php#macos";
    }
  if (navigator.appVersion.indexOf("X11") != -1) {
  Name = "SUMO 1.9.0 for Linux";
  DownloadLink = "https:\/\/sumo.dlr.de\/docs/Downloads.php#linux_binaries";
  }
  if (navigator.appVersion.indexOf("Linux") != -1) {
  Name = "SUMO 1.9.0 for Linux";
  DownloadLink = "https:\/\/sumo.dlr.de\/docs/Downloads.php#linux_binaries";
  }
  var link = document.getElementById("download-button");
    link.setAttribute("href", DownloadLink);
    link.innerHTML = Name;
</script> 



  <div class="col-md-6 vertical-center"> 
    <div id="sumoScreenshots" class="carousel slide" style="box-shadow: 0 1rem 3rem rgba(0,0,0,.5) !important;" data-ride="carousel">

      <div class="carousel-inner">
      <div class="carousel-item active">
        <img src="https://www.eclipse.org/sumo/images/screenshots/screenshot1.png" alt="screenshot #1">
      </div>
      <div class="carousel-item">
        <img src="https://www.eclipse.org/sumo/images/screenshots/screenshot2.png" alt="screenshot #2">
      </div>
      <div class="carousel-item">
        <img src="https://www.eclipse.org/sumo/images/screenshots/screenshot3.png" alt="screenshot #3">
      </div>
      <div class="carousel-item">
        <img src="https://www.eclipse.org/sumo/images/screenshots/screenshot4.png" alt="screenshot #4">
      </div>
      <div class="carousel-item">
        <img src="https://www.eclipse.org/sumo/images/screenshots/screenshot5.png" alt="screenshot #5">
      </div>
      <div class="carousel-item">
        <img src="https://www.eclipse.org/sumo/images/screenshots/screenshot6.png" alt="screenshot #6">
      </div>
      <a class="carousel-control-prev" href="#sumoScreenshots" aria-label="previous image" data-slide="prev">
        <span class="carousel-control-prev-icon"></span>
      </a>
      <a class="carousel-control-next" href="#sumoScreenshots" aria-label="next image" data-slide="next">
        <span class="carousel-control-next-icon"></span>
      </a>
    </div>
  <ul class="carousel-indicators">
    <li data-target="#sumoScreenshots" data-slide-to="0" class="active"></li>
    <li data-target="#sumoScreenshots" data-slide-to="1"></li>
    <li data-target="#sumoScreenshots" data-slide-to="2"></li>
    <li data-target="#sumoScreenshots" data-slide-to="3"></li>
    <li data-target="#sumoScreenshots" data-slide-to="4"></li>
    <li data-target="#sumoScreenshots" data-slide-to="5"></li>
  </ul>
        </div>
        
        </div>
      </div>
      <div class="svg-rounded" style="display: block; font-size: 0;">
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 144.54 17.34" preserveAspectRatio="none" fill="#f8f8f8"><path d="M144.54,17.34H0V0H144.54ZM0,0S32.36,17.34,72.27,17.34,144.54,0,144.54,0"></path></svg>
      </div>
    </div>
  </div>
  


<div class="container" style="margin-top: 60px; margin-bottom: 60px;">

  <div class="row">
    <div class="col-md-8 text-justify" >
        <!-- Info Card -->

<div class="card" style="margin-bottom:20px;">
  <div class="card-header" style="font-weight:bold; background-color: rgb(104,184,155) !important;">New SUMO release!</div>
  <div class="card-body">
  <small>13.04.2021</small>
  We are happy to announce the release of SUMO 1.9.0<br>
  <a href="https://sumo.dlr.de/docs/Downloads.php#sumo_-_latest_release_version_190"><b>Downloads</b></a> - <a href="https://sumo.dlr.de/docs/ChangeLog.html#version_190_13042021"><b>ChangeLog</b></a>
  </div>
</div>

<!-- Info Card -->

<div class="card">
  <div class="card-header" style="font-weight:bold;">SUMO User Conference 2021</div>
  <div class="card-body">
  Submit your papers via EasyChair <a href="https://easychair.org/conferences/?conf=sumo2021"><b>here</b></a>
  </div>
</div>

<!-- YouTube Tutorial -->

<iframe width="100%" height="400" style="margin: 40px 0;"src="https://www.youtube.com/embed/aiOQbaB-pWo" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

<p>SUMO allows modelling of intermodal traffic systems including road vehicles, public transport and pedestrians. Included with SUMO is a wealth of supporting tools which handle tasks such as route finding, visualization, network import and emission calculation. SUMO can be enhanced with custom models and provides various APIs to remotely control the simulation.<br />
<small><a href="about">Learn more <i class="fas fa-angle-right"></i></a></small></p>

    </div>

    <div class="col-md-4">
      <div class="d-md-none" style="margin-top: 14px;"></div>
      <div class="btn-group btn-group-lg" style="width: 100%; margin-bottom: 30px;">
        <a class="btn btn-light" href="https://github.com/eclipse/sumo" aria-label="GitHub"><span class="fab fa-github"></span></a>
        <a class="btn btn-light" href="https://twitter.com/eclipsesumo" aria-label="Twitter"><span class="fab fa-twitter"></span></a>
        <a class="btn btn-light" href="https://facebook.com/simulationofurbanmobility" aria-label="Facebook"><span class="fab fa-facebook"></span></a>
        <a class="btn btn-light" href="https://instagram.com/eclipse.sumo" aria-label="Instagram"><span class="fab fa-instagram"></span></a>
        <a class="btn btn-light" href="https://mattermost.eclipse.org/eclipse/channels/sumo" aria-label="Mattermost"><span class="fas fa-comments"></span></a>
        <a class="btn btn-light" href="https://www.eclipse.org/sumo/contact" aria-label="contact"><span class="fas fa-envelope"></span></a>
      </div>
      <div style="height: 100%;">
        <a class="twitter-timeline" data-height="90%" data-theme="light" href="https://twitter.com/EclipseSUMO?ref_src=twsrc%5Etfw"></a> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> 
      </div>
    </div>

  </div>

</div>



  
  <section class="page-section" id="features" style="background: rgba(235,243,235,1);">
    <div class="container">
      <div class="row">
        <div class="col-lg-12 text-center">
          <h2 class="section-heading">Features</h2>
        </div>
      </div>
      
      <div class="row text-center"> 
        <div class="col-md-4">
          <span class="fa-stack fa-2x">
            <i class="fas fa-circle fa-stack-2x text-secondary"></i>
            <i class="fas fa-car fa-stack-1x fa-inverse"></i>
          </span>
          <h4 class="feature-heading">Automated Driving</h4>
          <p class="text-muted">Integrate automated vehicles in your traffic simulations and equip your vehicles with a transition of control (ToC) device</p>
        </div>

        <div class="col-md-4">
          <span class="fa-stack fa-2x">
            <i class="fas fa-circle fa-stack-2x text-secondary"></i>
            <i class="fas fa-satellite-dish fa-stack-1x fa-inverse"></i>
          </span>
          <h4 class="feature-heading">Vehicle Communication</h4>
          <p class="text-muted">Implement and evaluate C2X communication technologies by coupling to a communication network simulator (OMNeT++ or ns-3)</p>
        </div>

        <div class="col-md-4">
          <span class="fa-stack fa-2x">
            <i class="fas fa-circle fa-stack-2x text-secondary"></i>
            <i class="fas fa-tasks fa-stack-1x fa-inverse"></i>
          </span>
          <h4 class="feature-heading">Traffic Management</h4>
          <p class="text-muted">Model video detectors and induction loops to manage traffic interactively by controlling speed limits, traffic lights and vehicle behavior</p>
        </div>
      </div> 

      <div class="row text-center"> 
        <div class="col-md-4">
          <span class="fa-stack fa-2x">
            <i class="fas fa-circle fa-stack-2x text-secondary"></i>
            <i class="fas fa-compress-arrows-alt fa-stack-1x fa-inverse"></i>
          </span>
          <h4 class="feature-heading">Microscopic Simulation</h4>
          <p class="text-muted">Simulate the movement of every individual object by modeling all vehicles, pedestrians and public transport explicitly</p>
        </div>

        <div class="col-md-4">
          <span class="fa-stack fa-2x">
            <i class="fas fa-circle fa-stack-2x text-secondary"></i>
            <i class="fas fa-bus fa-stack-1x fa-inverse"></i>
          </span>
          <h4 class="feature-heading">Multimodal Traffic</h4>
          <p class="text-muted">Combine different modes of transportation and simulate cars, buses, trains, bicycles, pedestrians, public transport and more</p>
        </div>

        <div class="col-md-4">
          <span class="fa-stack fa-2x">
            <i class="fas fa-circle fa-stack-2x text-secondary"></i>
            <i class="fas fa-sliders-h fa-stack-1x fa-inverse"></i>
          </span>
          <h4 class="feature-heading">Online Interaction</h4>
          <p class="text-muted">Control the behavior of all simulation objects during a live simulation with the Traffic Control Interface (TraCI)</p>
        </div>
      </div> 

      <div class="row text-center"> 
        <div class="col-md-4">
          <span class="fa-stack fa-2x">
            <i class="fas fa-circle fa-stack-2x text-secondary"></i>
            <i class="fas fa-file-import fa-stack-1x fa-inverse"></i>
          </span>
          <h4 class="feature-heading">Network Import</h4>
          <p class="text-muted">Import road networks from common network formats such as OpenStreetMap, VISUM, VISSIM, NavTeq, MATsim and OpenDRIVE</p>
        </div>

        <div class="col-md-4">
          <span class="fa-stack fa-2x">
            <i class="fas fa-circle fa-stack-2x text-secondary"></i>
            <i class="fas fa-route fa-stack-1x fa-inverse"></i>
          </span>
          <h4 class="feature-heading">Demand Generation</h4>
          <p class="text-muted">Use traffic counts on streets and junctions, origin-destination-matrices or virtual population models to generate realistic demand profiles</p>
        </div>

        <div class="col-md-4">
          <span class="fa-stack fa-2x">
            <i class="fas fa-circle fa-stack-2x text-secondary"></i>
            <i class="fas fa-traffic-light fa-stack-1x fa-inverse"></i>
          </span>
          <h4 class="feature-heading">Traffic Lights</h4>
          <p class="text-muted">Modify traffic light schedules visually with NetEdit, import schedules from external data sources or generate schedules automatically</p>
        </div>
      </div> 

      <div class="row text-center"> 
        <div class="col-md-4">
          <span class="fa-stack fa-2x">
            <i class="fas fa-circle fa-stack-2x text-secondary"></i>
            <i class="fas fa-tachometer-alt fa-stack-1x fa-inverse"></i>
          </span>
          <h4 class="feature-heading">Performance</h4>
          <p class="text-muted">Boost your simulation with an unlimited network size, an unlimited amount of simulated vehicles and an unlimited simulation time<a href="https://sumo.dlr.de/docs/FAQ.html#are_there_any_limits_in_regard_to_the_size_of_a_simulation_scenario">*</a></p>
        </div>

        <div class="col-md-4">
          <span class="fa-stack fa-2x">
            <i class="fas fa-circle fa-stack-2x text-secondary"></i>
            <i class="fas fa-arrows-alt-h fa-stack-1x fa-inverse"></i>
          </span>
          <h4 class="feature-heading">Portability</h4>
          <p class="text-muted">Use SUMO on a variety of platforms (Windows, Linux or macOS) as it is implemented in C++ and Python and uses portable libraries</p>
        </div>

        <div class="col-md-4">
          <span class="fa-stack fa-2x">
            <i class="fas fa-circle fa-stack-2x text-secondary"></i>
            <i class="fas fa-users fa-stack-1x fa-inverse"></i>
          </span>
          <h4 class="feature-heading">Open Source</h4>
          <p class="text-muted">Use and modify SUMO according to your needs as it is available under Eclipse Public License v2.0 and GNU General Public License v2.0</p>
        </div>
      </div> 

    </div>
    </div>
  </section>
  




<div class="container-fluid text-center text-muted" style="margin-top: 60px;">

  
<div class="container">
  <div class="row">
    <div class="col-md-3" style="margin-top: auto; margin-bottom: auto;">
      <a href="https://openmobility.eclipse.org"><image src="https://www.eclipse.org/sumo/images/logos/openMobility-logo.svg" alt="openMobility logo" style="max-width: 250px;"></image></a>
    </div>
    <div class="col-md-9" style="color: #403b3b;">
      The future development and roadmap of SUMO is shaped and fostered by the <a href="https://openmobility.eclipse.org"><b>openMobility Working Group</b></a> at the Eclipse Foundation. 
        Several partners from industry and academia are working together towards a common mobility simulation platform for industrial applications and academic research.
    </div>
  </div> 
</div>

<div style="margin: 46px 0;">
  <a href="https://openmobility.eclipse.org/members/avl"><image src="https://www.eclipse.org/sumo/images/logos/avl-logo.png" alt="AVL logo" class="member-logo"></image></a>
  <a href="https://openmobility.eclipse.org/members/bosch"><image src="https://www.eclipse.org/sumo/images/logos/bosch-logo.png" alt="Bosch logo" class="member-logo"></image></a>
  <a href="https://openmobility.eclipse.org/members/dlr"><image src="https://www.eclipse.org/sumo/images/logos/dlr-logo.png" alt="DLR logo" class="member-logo"></image></a>
  <a href="https://openmobility.eclipse.org/members/fraunhofer"><image src="https://www.eclipse.org/sumo/images/logos/fraunhofer-logo.png" alt="Fraunhofer logo" class="member-logo"></image></a>
  <a href="https://openmobility.eclipse.org/members/itemis"><image src="https://www.eclipse.org/sumo/images/logos/itemis-logo.png" alt="Itemis logo" class="member-logo"></image></a>
  <a href="https://openmobility.eclipse.org/members/vector"><image src="https://www.eclipse.org/sumo/images/logos/vector-logo.png" alt="Vector logo" class="member-logo"></image></a>
</div>
     
</div>



        </div>
<button onclick="goTopFunction()" id="goToTop" title="Go to top"><i class="fa fa-arrow-up"></i></button>

  
  <div style="margin-top: 20px; font-size: 0;">
    <svg class="wave d-none d-md-block" style="display: block; pointer-events: none; height:100px;" fill="#ddd" preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink" viewBox="0 0 1920 75">
        <defs>
            <style>.a {fill: none;} .b {clip-path: url(#a);} .d {opacity: 0.5; isolation: isolate;}</style>
            <clipPath id="a"><rect class="a" width="1920" height="75"></rect></clipPath>
        </defs>
        <title>wave</title>
        <g class="b"><path class="c" d="M1963,327H-105V65A2647.49,2647.49,0,0,1,431,19c217.7,3.5,239.6,30.8,470,36,297.3,6.7,367.5-36.2,642-28a2511.41,2511.41,0,0,1,420,48"></path></g>
        <g class="b"><path class="d" d="M-127,404H1963V44c-140.1-28-343.3-46.7-566,22-75.5,23.3-118.5,45.9-162,64-48.6,20.2-404.7,128-784,0C355.2,97.7,341.6,78.3,235,50,86.6,10.6-41.8,6.9-127,10"></path></g>
        <g class="b"><path class="d" d="M1979,462-155,446V106C251.8,20.2,576.6,15.9,805,30c167.4,10.3,322.3,32.9,680,56,207,13.4,378,20.3,494,24"></path></g>
        <g class="b"><path class="d" d="M1998,484H-243V100c445.8,26.8,794.2-4.1,1035-39,141-20.4,231.1-40.1,378-45,349.6-11.6,636.7,73.8,828,150"></path></g>
    </svg>
  </div>

<div class="d-block d-md-none" style="margin-top:20px;"></div>
  <footer class="footer" style="background: #ddd; margin-top: 0px; padding-top: 20px;">
          <div class="container">
            <div class="row" style="margin-bottom: 16px;">
              <div class="col-md-12">
          <div class="container-fluid">
          <div class="row" style="font-size: small;">
                  <div class="col-md text-left"><b>SUMO</b>
                  <ul class="ul-no-bullet">
                  <li><a href="https://www.eclipse.org/sumo/about">About</a></li>
                  <li><a href="https://sumo.dlr.de/docs/Downloads.html">Downloads</a></li>
                  <li><a href="https://sumo.dlr.de/docs/ChangeLog.html">ChangeLog</a></li>
                  <li><a href="https://sumo.dlr.de/docs/Libraries_Licenses.html">License</a></li>
                  <li><a href="https://sumo.dlr.de/docs/Other/Projects.html">Projects using SUMO</a></li>
                  <li><a href="https://sumo.dlr.de/docs/Publications.html">Publications</a></li>
                  </ul>
                  </div>
                  <div class="col-md text-left"><b>Project</b>
                    <ul class="ul-no-bullet">
                      <li><a href="https://projects.eclipse.org/projects/automotive.sumo/who">Who's involved</a></li>
                      <li><a href="https://sumo.dlr.de/daily/">Status of daily build and tests</a></li>
                      <li><a href="https://www.github.com/eclipse/sumo">GitHub repository</a></li>
                      <li><a href="https://www.github.com/eclipse/sumo.website">Website GitHub repository</a></li>
                      <li><a href="https://sourceforge.net/projects/sumo/">SourceForge</a></li>
                      <li><a href="https://dlr.de/ts/sumo">SUMO @ DLR</a></li>
                      <li><a href="https://projects.eclipse.org/projects/automotive.sumo">SUMO @ Eclipse</a></li>
                    </ul>
                  </div>
                  <div class="col-md text-left"><b>Community</b>
                    <ul class="ul-no-bullet">
                      <li><a href="https://www.eclipse.org/sumo/contact">Mailing lists</a></li>
                      <li><a href="http://sumo-user.90755.n8.nabble.com/">Forum</a></li>
                      <li><a href="https://www.eclipse.org/sumo/conference">SUMO User Conference</a></li>
                      <li><a href="https://openmobility.eclipse.org/">openMobility Working Group</a></li>
                    </ul>
                  </div>
                  <div class="col-md text-left"><b>Support & Training</b>
                    <ul class="ul-no-bullet">
                    <li><a href="https://www.eclipse.org/sumo/contact">Contact us</a></li>
                    <li><a href="https://sumo.dlr.de/docs/FAQ.html">FAQ</a></li>
                    <li><a href="https://sumo.dlr.de/docs/index.html">Documentation</a></li>
                    <li><a href="https://sumo.dlr.de/docs/Developer/index.html">Developer Documentation</a></li>
                    <li><a href="https://sumo.dlr.de/daily/doxygen/">Doxygen Documentation</a></li>
                    <li><a href="https://sumo.dlr.de/docs/Tutorials/index.html">Tutorials</a></li>
                    <li><a href="https://github.com/eclipse/sumo/issues">Issue Tracking</a></li>
                    </ul>
                  </div>
                  <div class="col-md text-left"><b>Eclipse Foundation</b>
                    <br>
                    <a href="https://www.eclipse.org/"><img class="img-fluid" src="https://www.eclipse.org/sumo/images/logos/eclipse-logo.png" alt="Eclipse Foundation logo" style="margin:10px 0; width: 100px;"></a>
                    <ul class="ul-no-bullet">
                    <li><a href="https://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li>
                    <li><a href="https://www.eclipse.org/legal/termsofuse.php">Website terms of use</a></li>
                    <li><a href="https://www.eclipse.org/legal/copyright.php">Copyright</a></li>
                    <li><a href="https://www.eclipse.org/legal">Legal</a></li>
                    </ul>
                  </div>
          </div>
          </div>
    
              </div>
              
              
            </div>
            <hr>
            <div class="text-center">Made with <i class="fas fa-heart" style="color: red;"></i> in Berlin</div>

                <br>
             
          </div>
  </footer>
  
  <script>
 
    window.onscroll = function() {scrollFunction()};
    
    function scrollFunction() {
      if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {
        document.getElementById("goToTop").style.display = "block";
        document.getElementById("navbar-logo").style.maxWidth = "60%";
      } else {
        document.getElementById("goToTop").style.display = "none";
        document.getElementById("navbar-logo").style.maxWidth = "100%";
      }
    }
  
    function goTopFunction() {
      document.body.scrollTop = 0;
      document.documentElement.scrollTop = 0;
    }
  </script>
</body>
</html>