.sitemap {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  padding: 0;
}

.sitemap a {
  position: relative;
  z-index: 10;
  display: inline-flex;
  flex-direction: column;
  padding: 0.5em 1em;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  border-bottom-width: 3px;
  background: #f9f9f9;
  font-weight: 500;
  text-decoration: none;
  color: #595959;
  font-family: 'Gilmer Medium';
}

.sitemap a:before {
  margin-bottom: 0.3em;
  content: attr(href);
  font-size: 0.8em;
  color: #aaa;
  display:none;
}

.sitemap-main {
  position: relative;
  flex: 1 1 100%;
  order: 3;
  margin-bottom: 1em;
}

.sitemap-main a {
  margin-bottom: 0.5em;
  margin-left: 0.2em;
}

.sitemap-main ul {
  position: relative;
  padding-left: 2em;
}

.sitemap-main > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
}

.sitemap-main > ul > li {
  flex: 1 1 auto;
}

.sitemap li {
  margin-right: 1em;
  list-style: none;
}

/* Handle grid lines */
.sitemap-main li:before,
.sitemap-main li:after {
  display: inline-block;
  width: 1em;
  height: 2.5em;
  border: 4px solid #f2994a;
  border-right: none;
  border-top: none;
  content: "";
}

.sitemap-main li:after {
  position: absolute;
  left: 2em;
  bottom: 0;
  width: 3px;
  height: 100%;
  border: 2px solid #f2994a;
}

.sitemap-main ul:before {
  position: absolute;
  left: 0;
  top: -2.75em;
  display: block;
  width: 4px;
  height: 100%;
  background: #f2994a;
  content: "";
}

.sitemap-main > ul:before {
  display: none;
}

.sitemap-main li:last-child:after {
  border-color: #f2994a;
  bottom: 0;
  height: 2em;
}

/* The home/top level link */
.sitemap-root {
  margin-bottom: 2em;
}

.sitemap-root > a {
  min-width: 8em;
  background: #2f6a11;
  border-color: #aea28c;
  color: #fff;
}

.sitemap-root > a:before {
  color: #f2f2f2;
}

.sitemap-root > a:after {
  position: absolute;
  bottom: -2.6em;
  left: calc(2em - 1px);
  display: block;
  width: 4px;
	height: 2em;
    background: #f2994a;
    content: "";
}

.sitemap-main > ul > li > a {
  background: #8f6f4d;
  border-color: #e4cfb8;
  color:#fff !important;
}

.sitemap-main ul ul ul a {
  background: #fff;
}

.sitemap-aux {
  order: 3;
  font-size: 0.9em;
}

.sitemap-aux ul {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
}

.sitemap-aux li {
  margin: 0 0.5em 0.5em 0;
}

.sitemap-aux a {
  background: #c96538;
    border-color: #f5f1a6;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 1px;
}

@media (min-width: 420px) {
  .sitemap {
    justify-content: space-between;
  }

  .sitemap-aux ul {
    justify-content: flex-end;
  }
}
@media (min-width: 600px) {
  .sitemap-aux {
    order: 2;
  }
}