/* colors */
.toggle:before {
  content: '';
  position: absolute;
  width: 200%;
  height: 200%;
  top: -50%;
  left: -50%;
  z-index: -1;
  cursor: pointer;
  -webkit-transition: 0.3s all;
  -moz-transition: 0.3s all;
  -ms-transition: 0.3s all;
  -o-transition: 0.3s all;
  transition: 0.3s all; }

.toggle.slide-in:before {
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg); }

.border-bottom {
  border-bottom: 1px solid; }

.border-grey {
  border-color: #dadada; }

.border-green {
  border-color: #67a551; }

.mt-20 {
  margin-top: 20px; }

.pb-20 {
  padding-bottom: 20px; }

footer {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: white;
  border-top: 3px solid #ed1c24;
  font: 11px Lato;
  text-transform: uppercase;
  padding: 15px 0;
  -webkit-transition: 0.3s all;
  -moz-transition: 0.3s all;
  -ms-transition: 0.3s all;
  -o-transition: 0.3s all;
  transition: 0.3s all; }
  footer .toggle {
    position: absolute;
    left: 50%;
    top: 0;
    -webkit-transform: translate(-50%, -100%);
    -moz-transform: translate(-50%, -100%);
    -ms-transform: translate(-50%, -100%);
    -o-transform: translate(-50%, -100%);
    transform: translate(-50%, -100%);
    background: #ed1c24;
    width: 50px;
    height: 30px;
    border: none; }
    footer .toggle:before {
      background: url('/images/arrows/arrow-small.png') no-repeat center; }
  footer.slide-out {
    -webkit-transform: translateY(100%);
    -moz-transform: translateY(100%);
    -ms-transform: translateY(100%);
    -o-transform: translateY(100%);
    transform: translateY(100%); }

.shadow, .sidebar .nav, .sidebar .nav li.active {
  -webkit-box-shadow: inset 0px 5px 5px 0px rgba(0, 0, 0, 0.1);
  -moz-tbox-shadow: inset 0px 5px 5px 0px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: inset 0px 5px 5px 0px rgba(0, 0, 0, 0.1);
  -o-box-shadow: inset 0px 5px 5px 0px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0px 5px 5px 0px rgba(0, 0, 0, 0.1); }

.sidebar {
  width: 320px;
  height: 100vh;
  padding: 20px 35px;
  position: absolute;
  top: 0;
  left: 0;
  background: white;
  -webkit-transition: 0.3s all;
  -moz-transition: 0.3s all;
  -ms-transition: 0.3s all;
  -o-transition: 0.3s all;
  transition: 0.3s all; }
  .sidebar .compass {
    text-transform: uppercase;
    font: 16px Oswald;
    color: #252525;
    border-left: 1px solid #dadada; }
  .sidebar .toggle {
    position: absolute;
    left: 100%;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    background: white;
    width: 40px;
    height: 60px;
    border: none; }
    .sidebar .toggle:before {
      background: url('/images/arrows/arrow-green.png') no-repeat center; }
  .sidebar.slide-out {
    -webkit-transform: translateX(-100%);
    -moz-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    -o-transform: translateX(-100%);
    transform: translateX(-100%); }
  .sidebar .legend {
    overflow: hidden;
    max-height: 0;
    -webkit-transition: 0.3s all;
    -moz-transition: 0.3s all;
    -ms-transition: 0.3s all;
    -o-transition: 0.3s all;
    transition: 0.3s all; }
    .sidebar .legend.active {
      max-height: 500px;
      margin-bottom: 20px; }
  .sidebar .nav {
    background: #ececec;
    border-radius: 5px;
    border: none; }
    .sidebar .nav li {
      width: 50%;
      border-radius: 5px;
      border: none;
      -webkit-transition: 0.3s all;
      -moz-transition: 0.3s all;
      -ms-transition: 0.3s all;
      -o-transition: 0.3s all;
      transition: 0.3s all; }
      .sidebar .nav li a {
        background: none;
        border: none;
        text-transform: uppercase;
        color: #252525;
        font: 12px Oswald; }
      .sidebar .nav li:hover a, .sidebar .nav li:focus a, .sidebar .nav li:hover a:hover, .sidebar .nav li:focus a:hover, .sidebar .nav li:hover a:focus, .sidebar .nav li:focus a:focus {
        background: none;
        border: none;
        color: #67a551; }
      .sidebar .nav li.active {
        background: #67a551; }
        .sidebar .nav li.active a, .sidebar .nav li.active a:hover, .sidebar .nav li.active a:focus {
          background: none;
          border: none;
          color: #fff; }
        .sidebar .nav li.active:before {
          content: '';
          position: absolute;
          top: 1px;
          left: 3px;
          right: 3px;
          height: 1px;
          background: #6ead58; }
  .sidebar H2 {
    font: 14px Oswald;
    color: #67a551;
    text-transform: uppercase;
    border-width: 2px;
    line-height: 60px; }
  .sidebar i {
    margin-right: 10px;
    vertical-align: sub; }
  .sidebar i[class$='-icon']:before {
    display: inline-block; }
  .sidebar i.place-icon:before {
    content: url('/images/icons/place.png'); }
  .sidebar i.event-icon:before {
    content: url('/images/icons/event.png'); }
  .sidebar ul, .sidebar li {
    list-style: none; }
  .sidebar .tab-content {
    overflow-y: scroll;
    max-height: calc(100vh - 180px);
    padding-right: 15px; }
  .sidebar .tab-pane > ul {
    padding-left: 0; }
  .sidebar ul {
    padding-left: 0; }
    .sidebar ul ul {
      padding-left: 20px; }
      .sidebar ul ul.items li {
        font: 14px Lato;
        padding: 14px 0;
        -webkit-transition: 0.3s all;
        -moz-transition: 0.3s all;
        -ms-transition: 0.3s all;
        -o-transition: 0.3s all;
        transition: 0.3s all; }
        .sidebar ul ul.items li:hover, .sidebar ul ul.items li:focus {
          color: #67a551;
          cursor: pointer; }
    .sidebar ul .category-label {
      display: block;
      position: relative;
      font: 14px Lato;
      color: #252525;
      cursor: pointer;
      padding: 23px 0;
      display: flex;
      align-items: center; }
      .sidebar ul .category-label[data-toggle]:before {
        content: url('/images/arrows/arrow.png');
        display: inline-block;
        margin-right: 10px;
        flex-shrink: 0;
        -webkit-transition: 0.3s all;
        -moz-transition: 0.3s all;
        -ms-transition: 0.3s all;
        -o-transition: 0.3s all;
        transition: 0.3s all; }
      .sidebar ul .category-label[data-toggle]:not(.collapsed):before {
        -webkit-transform: rotate(-180deg);
        -moz-transform: rotate(-180deg);
        -ms-transform: rotate(-180deg);
        -o-transform: rotate(-180deg);
        transform: rotate(-180deg); }
      .sidebar ul .category-label i {
        display: inline-block;
        flex-shrink: 0;
        width: 17px;
        height: 17px;
        background-size: contain; }
      .sidebar ul .category-label .name {
        flex-grow: 1; }
      .sidebar ul .category-label .checkbox-wrapper {
        position: relative;
        overflow: auto;
        flex-shrink: 0;
        width: 14px;
        height: 14px;
        margin-left: 5px; }
        .sidebar ul .category-label .checkbox-wrapper input, .sidebar ul .category-label .checkbox-wrapper .label {
          position: absolute;
          right: 0;
          top: 0;
          margin: 0; }
        .sidebar ul .category-label .checkbox-wrapper .label {
          display: block;
          width: 14px;
          height: 14px;
          background: white;
          border: 1px solid #67a551;
          border-radius: 2px;
          background-position: center;
          padding: 0;
          -webkit-transition: 0.3s all;
          -moz-transition: 0.3s all;
          -ms-transition: 0.3s all;
          -o-transition: 0.3s all;
          transition: 0.3s all; }
        .sidebar ul .category-label .checkbox-wrapper input:checked + .label {
          background: #67a551 url('/images/icons/check.png') no-repeat center;
          background-size: contain;
          border-color: #67a551; }
  .sidebar .map-type {
    display: flex;
    align-items: center;
    cursor: pointer; }
    .sidebar .map-type p, .sidebar .map-type .image {
      -webkit-transition: 0.3s all;
      -moz-transition: 0.3s all;
      -ms-transition: 0.3s all;
      -o-transition: 0.3s all;
      transition: 0.3s all; }
    .sidebar .map-type .image {
      margin-right: 15px;
      border: 2px solid white;
      flex-shrink: 0; }
    .sidebar .map-type p {
      font: 14px Lato;
      color: #252525; }
    .sidebar .map-type input:checked + .image {
      border: 2px solid #67a551;
      overflow: hidden;
      position: relative; }
      .sidebar .map-type input:checked + .image:before {
        content: '';
        width: 35px;
        height: 35px;
        background: #67a551;
        position: absolute;
        top: 0;
        right: 0;
        -webkit-transform: translate(50%, -50%) rotate(45deg);
        -moz-transform: translate(50%, -50%) rotate(45deg);
        -ms-transform: translate(50%, -50%) rotate(45deg);
        -o-transform: translate(50%, -50%) rotate(45deg);
        transform: translate(50%, -50%) rotate(45deg); }
      .sidebar .map-type input:checked + .image:after {
        content: "";
        position: absolute;
        top: 2px;
        right: 2px;
        width: 10px;
        height: 10px;
        background: url('/images/icons/check.png') no-repeat;
        background-size: contain; }
      .sidebar .map-type input:checked ~ p {
        font-weight: bold; }

.map {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0; }
  .map .info-window {
    font: 14px Lato;
    color: #252525;
    display: flex;
    font-weight: 700; }
    .map .info-window .image {
      flex-shrink: 0;
      width: 70px;
      height: 70px;
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center center;
      margin-right: 10px; }
    .map .info-window div:not(.image) {
      padding: 7px 0; }
      .map .info-window div:not(.image) .more-link {
        cursor: pointer;
        color: #67a551;
        font-weight: normal; }

.floating-buttons-wrapper {
  position: fixed;
  top: 50px;
  right: 0; }
  .floating-buttons-wrapper .floating-button {
    display: block;
    float: right;
    clear: both;
    background: white;
    padding: 0 15px;
    border: none;
    font: 14px/50px Oswald;
    color: black;
    text-transform: uppercase;
    -webkit-box-shadow: 0px 1px 8px 2px rgba(0, 0, 0, 0.4);
    -moz-tbox-shadow: 0px 1px 8px 2px rgba(0, 0, 0, 0.4);
    -ms-box-shadow: 0px 1px 8px 2px rgba(0, 0, 0, 0.4);
    -o-box-shadow: 0px 1px 8px 2px rgba(0, 0, 0, 0.4);
    box-shadow: 0px 1px 8px 2px rgba(0, 0, 0, 0.4);
    -webkit-transform: translateX(calc(100% - 50px));
    -moz-transform: translateX(calc(100% - 50px));
    -ms-transform: translateX(calc(100% - 50px));
    -o-transform: translateX(calc(100% - 50px));
    transform: translateX(calc(100% - 50px));
    -webkit-transition: 0.1s all;
    -moz-transition: 0.1s all;
    -ms-transition: 0.1s all;
    -o-transition: 0.1s all;
    transition: 0.1s all; }
    .floating-buttons-wrapper .floating-button + .floating-button {
      margin-top: 30px; }
    .floating-buttons-wrapper .floating-button.out {
      -webkit-transform: translateX(calc(110%));
      -moz-transform: translateX(calc(110%));
      -ms-transform: translateX(calc(110%));
      -o-transform: translateX(calc(110%));
      transform: translateX(calc(110%)); }
    .floating-buttons-wrapper .floating-button:hover {
      -webkit-transform: translateX(0);
      -moz-transform: translateX(0);
      -ms-transform: translateX(0);
      -o-transform: translateX(0);
      transform: translateX(0); }
    .floating-buttons-wrapper .floating-button i {
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center;
      width: 20px;
      height: 20px;
      display: inline-block;
      margin-right: 15px;
      vertical-align: text-bottom; }

.green-button, .modal .modal-content button.close-btn, .modal .modal-content .modal-body .share-link {
  background: #5c9449;
  padding: 10px 15px;
  text-transform: uppercase;
  font: 12px Oswald;
  color: white;
  border: none;
  -webkit-transition: 0.3s all;
  -moz-transition: 0.3s all;
  -ms-transition: 0.3s all;
  -o-transition: 0.3s all;
  transition: 0.3s all; }
  .green-button i, .modal .modal-content button.close-btn i, .modal .modal-content .modal-body .share-link i {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 12px;
    height: 12px;
    display: inline-block;
    margin-right: 10px; }
  .green-button:hover, .modal .modal-content button.close-btn:hover, .modal .modal-content .modal-body .share-link:hover {
    background: #67a551; }

.modal-icon {
  float: left;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: block; }

.modal-icon-inline {
  float: none; }

.modal.afterPrint .modal-content .modal-body {
  padding-top: 20px; }
  .modal .modal-content {
    -webkit-box-shadow: none;
    -moz-tbox-shadow: none;
    -ms-box-shadow: none;
    -o-box-shadow: none;
    box-shadow: none;
    border-radius: 0;
    positino: relative;
    padding: 20px; }
    .modal .modal-content button.close-btn {
      position: absolute;
      top: 0;
      right: 0; }
    .modal .modal-content .modal-header {
      border-bottom: 1px solid #dadada; }
      .modal .modal-content .modal-header i {
        height: 40px;
        width: 40px;
        margin-right: 20px; }
      .modal .modal-content .modal-header .modal-title {
        font: 18px Lato;
        font-weight: 600;
        color: #151515; }
      .modal .modal-content .modal-header .modal-subtitle {
        font: 14px Lato;
        color: #555;
        margin-top: 0; }
    .modal .modal-content .modal-body {
      font: 14px/24px Lato;
      color: #252525;
      max-height: calc(100vh - 200px);
      overflow-y: auto;
      padding: 0; }
      .modal .modal-content .modal-body .address {
        border-top: 1px solid #dadada;
        border-bottom: 1px solid #dadada;
        margin: 15px 0;
        padding: 10px 0; }
      .modal .modal-content .modal-body .address .pin-icon {
        width: 30px;
        height: 30px;
        margin-right: 15px;
        background-image: url('../../images/icons/pin.png'); }
      .modal .modal-content .modal-body .address .full-address {
        font: 14px Lato;
        color: #151515; }
      .modal .modal-content .modal-body .address .geo {
        font: 12px Lato;
        color: #555; }
      .modal .modal-content .modal-body .share-link {
        margin: 15px 0;
        display: inline-block; }
      .modal .modal-content .modal-body .share-link:hover {
        text-decoration: none; }
      .modal .modal-content .modal-body .share-link .share-icon {
        background-image: url('../../images/icons/share.png'); }
      .modal .modal-content .modal-body .carousel {
        overflow: hidden;
        margin-top: 15px; }
      .modal .modal-content .modal-body .carousel .item {
        height: 400px;
        background-repeat: no-repeat;
        background-position: center center;
        background-size: cover; }
      .modal .modal-content .modal-body .carousel[data-count="0"] + .address {
        margin-top: 0;
        border-top: 0; }
      .modal .modal-content .modal-body .carousel[data-count="1"] > a {
        display: none; }

.sidebar:not(.slide-out) + .search {
  margin-left: 160px; }

.search {
  position: fixed;
  top: 50px;
  left: 50%;
  width: 500px;
  height: 50px;
  padding: 0;
  font-size: 0;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  -webkit-transition: 0.3s all;
  -moz-transition: 0.3s all;
  -ms-transition: 0.3s all;
  -o-transition: 0.3s all;
  transition: 0.3s all;
  -webkit-box-shadow: -2px 4px 12px 0 rgba(0, 0, 0, 0.4);
  -moz-tbox-shadow: -2px 4px 12px 0 rgba(0, 0, 0, 0.4);
  -ms-box-shadow: -2px 4px 12px 0 rgba(0, 0, 0, 0.4);
  -o-box-shadow: -2px 4px 12px 0 rgba(0, 0, 0, 0.4);
  box-shadow: -2px 4px 12px 0 rgba(0, 0, 0, 0.4); }
  .search input {
    width: calc(100% - 50px);
    height: inherit;
    background: white;
    border: none;
    vertical-align: top;
    font: 14px Lato;
    padding: 0 10px; }
    .search input:focus {
      outline: none; }
  .search i {
    display: inline-block;
    width: 50px;
    height: 50px;
    background: white url('../../images/icons/search.png') no-repeat center; }

.ui-autocomplete {
  max-width: 500px; }
  .ui-autocomplete .result.ui-menu-item-wrapper {
    clear: both;
    display: block;
    font: 12px Lato;
    color: #555;
    border: none;
    border-bottom: 1px solid #dadada;
    -webkit-transition: 0.3s all;
    -moz-transition: 0.3s all;
    -ms-transition: 0.3s all;
    -o-transition: 0.3s all;
    transition: 0.3s all;
    padding: 5px 10px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow-x: hidden; }
    .ui-autocomplete .result.ui-menu-item-wrapper:hover, .ui-autocomplete .result.ui-menu-item-wrapper:focus, .ui-autocomplete .result.ui-menu-item-wrapper.ui-state-active {
      background: #74b05f;
      border: none;
      border-bottom: 1px solid #74b05f;
      margin: 0; }
    .ui-autocomplete .result.ui-menu-item-wrapper i {
      float: left;
      margin-right: 10px;
      height: 40px;
      width: 40px;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat; }
    .ui-autocomplete .result.ui-menu-item-wrapper span {
      font-size: 15px;
      font-weight: 600;
      color: #151515; }

.sidebar:not(.slide-out) ~ .distance-stats {
  margin-left: 160px; }

.distance-stats {
  position: fixed;
  top: 0px;
  left: 50%;
  width: 300px;
  height: 42px;
  padding: 0;
  background: white;
  padding: 2px 10px;
  font-family: Lato;
  color: #252525;
  -webkit-transform: translate(-50%, -100%);
  -moz-transform: translate(-50%, -100%);
  -ms-transform: translate(-50%, -100%);
  -o-transform: translate(-50%, -100%);
  transform: translate(-50%, -100%);
  -webkit-transition: 0.3s all;
  -moz-transition: 0.3s all;
  -ms-transition: 0.3s all;
  -o-transition: 0.3s all;
  transition: 0.3s all; }
  .distance-stats.active {
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    -webkit-box-shadow: -2px 4px 12px 0 rgba(0, 0, 0, 0.4);
    -moz-tbox-shadow: -2px 4px 12px 0 rgba(0, 0, 0, 0.4);
    -ms-box-shadow: -2px 4px 12px 0 rgba(0, 0, 0, 0.4);
    -o-box-shadow: -2px 4px 12px 0 rgba(0, 0, 0, 0.4);
    box-shadow: -2px 4px 12px 0 rgba(0, 0, 0, 0.4); }

.root-container {
  padding-top: 100px;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  position: relative; }

@media print {
  @page {
    size: A4 landscape; }

  .sidebar, footer, .yiiLog, .floating-buttons-wrapper, .modal.afterPrint, .modal-backdrop, .search, .distance-stats {
    display: none !important; }

  .map img {
    max-width: none !important; }

  .map div > img {
    position: absolute; }

  .root-container {
    padding: 0;
    height: 19cm;
    width: 28cm; } }
