/*****************
******************
      RESET
******************
*****************/

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
   margin: 0;
   padding: 0;
   border: 0;
   font-size: 100%;
   font: inherit;
   vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
   display: block;
}

body {
   line-height: 1;
}

ol, ul {
   list-style: none;
}

blockquote, q {
   quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
   content: "";
   content: none;
}

table {
   border-collapse: collapse;
   border-spacing: 0;
}

small {
    font-size: 0.8em;
    line-height:0.8em;
}

/*****************
******************
      General
******************
*****************/

body {
   font-family: "Open Sans", sans-serif;
   font-weight: 300;
   color: #000;
}

a {
   text-decoration: none;
   color: inherit;
}

/*****************
******************
      NAV
******************
*****************/

nav {
   position: absolute;
   margin: 20px;
   top: 0;
   left: 0;
   z-index: 1000;
}

.hamburger-menu {
   position: relative;
   display: inline-block;
   width: 40px;
   height: 40px;
}

.hamburger-menu span {
   position: absolute;
   width: 40px;
   height: 4px;
   background: #222283;
   border-radius: 20px;
   transition: 0.75s;
}

.hamburger-menu span:nth-of-type(2) {
   top: 14px;
   left: 0;
   opacity: 1;
}

.hamburger-menu span:nth-of-type(3) {
   top: 28px;
}

@keyframes slidein {
   from {
      top: 0;
   }
   to {
      top: -5px;
   }
}

.hamburger-menu.open {
   animation-duration: 0.75s;
   animation-name: slidein;
   animation-direction: alternate;
   animation-iteration-count: infinite;
}

.hamburger-menu.open span {
   background: #f79323;
   box-shadow: none;
}

.hamburger-menu.open span:first-of-type {
   transform: rotate(-45deg);
   transform-origin: right;
}

.hamburger-menu.open span:nth-of-type(2) {
   opacity: 0;
   left: -50px;
}

.hamburger-menu.open span:nth-of-type(3) {
   transform: rotate(45deg);
   transform-origin: right;
}

.logo-avenir {
   display: inline-block;
   width: 156px;
   vertical-align: top;
   margin: -3px 20px 0;
}

.logo-avenir img {
   height: 100%;
}

.fb-share-button{
   margin:10px 0 0 10px;
}

/*****************
******************
      MAP
******************
*****************/

#map {
   width: 100%;
   height: 100vh;
   position: fixed;
   top: 0;
   bottom: 0;
   z-index: 0;
}

.mapboxgl-popup {
   max-width: 400px;
   font: 12px/20px "Helvetica Neue", Arial, Helvetica, sans-serif;
}

.mapboxgl-popup-content {
   color: #4747a8;
}

/*****************
******************
      MAIN
******************
*****************/

main {
   opacity: 0;
   visibility: hidden;
   left: -3000px;
   transition: 1s;
}

main.open {
   display: block;
   width: 100%;
   max-width: 450px;
   min-height: 100vh;
   height: 100%;
   position: relative;
   left: 0;
   opacity: 1;
   visibility: visible;
   padding: 80px 20px 20px;
   box-sizing: border-box;
   background: #fff;
    box-shadow: 0 20px 30px rgba(0,0,0,0.5);
   z-index: 10;
}

main h1 {
   margin: 0.5em 0;
   color: #f79323;
   font-size: 1.7rem;
   font-weight: 500;
   text-transform: uppercase;
}

main h2 {
   font-size: 1.3rem;
}

main p {
   font-size: 1rem;
   margin: 20px 0;
   line-height: 1.4em;
}

.search-input {
   width: 100%;
   height: 45px;
   padding: 10px;
   box-sizing: border-box;
   background: rgba(255, 255, 255, 0.5);
   border: 1px solid #f79323;
   border-radius: 20px;
   color: #000;
}

.search-input::placeholder {
   color: #000;
}

main h3 {
   display: inline-block;
   font-size: 1.2rem;
   color: #f79323;
   margin: 20px 0;
   padding-bottom: 5px;
   border-bottom: 1px solid #f79323;
}

.dynamic-list, .static-list {
   margin: 20px 0;
   display: flex;
   flex-wrap: wrap;
}

.dynamic-list li, .static-list li {
   width: 45%;
    box-sizing: border-box;
   cursor: pointer;
}

.dynamic-list li a, .static-list li a {
   transition: 0.5s;
   line-height: 20px;
}

.dynamic-list li:hover a, .static-list li:hover a {
   font-size: 1.3em;
   line-height: 20px;
}

.dynamic-list li {
   padding: 10px 0;
   border-bottom: 2px solid #f6cda0;
}

.dynamic-list li:nth-of-type(2n), .static-list li:nth-of-type(2n) {
   padding-left: 20px;
   border-left: 2px solid #f6cda0;
}

.btn-more {
   background: none;
   text-align: left;
   border: none;
   color: darkslategrey;
   text-decoration: underline;
   font-size: 1rem;
    cursor: pointer;
}

.static-list {
   display: none;
}

/*****************
******************
   Mediaqueries
******************
*****************/

@media screen and (min-width: 451px) {
   .hamburger-menu.open {
      animation-name: none;
   }
}

@media screen and (min-width: 1025px) {
   .hamburger-menu {
      display: none;
   }
   .logo-avenir {
      margin: 0;
   }
   #map {
      position: fixed;
      top: 0;
      right: 0;
      width: calc(100% - 449px);
      display: inline-block;
   }
   main.open {
      width: 450px;
   }
}
