html,
body {
  padding: 0;
  margin: 0;
  font-family: 'Roboto', sans-serif; }

a {
  color: inherit;
  text-decoration: none; }

* {
  box-sizing: border-box; }

.map-container .popup-content {
  width: 50px;
  height: 50px;
  background-color: red;
  color: #ffffff; }

.leaflet-container {
  width: 100%;
  height: calc(100vh - 80px); }

.search-box {
  display: flex; }
  .search-box .async-select {
    width: 280px; }
    .search-box .async-select__control--is-focused, .search-box .async-select__control:hover {
      border-color: var(--primary);
      box-shadow: 0 0 0 0.2rem rgba(25, 25, 112, 0.25); }
    .search-box .async-select__dropdown-indicator, .search-box .async-select__indicator-separator {
      display: none; }
    .search-box .async-select .loading-indicator {
      display: flex;
      justify-content: center;
      align-items: center;
      margin: 0 10px; }
      .search-box .async-select .loading-indicator .spinner-border {
        width: 20px;
        height: 20px;
        color: var(--primary); }
    .search-box .async-select__option {
      background-color: #fff;
      color: #000000; }
      .search-box .async-select__option:hover, .search-box .async-select__option--is-focused {
        background-color: lightgrey;
        cursor: pointer; }

@media (min-width: 576px) {
  .search-box .async-select {
    width: 500px; } }

.marker {
  background-size: 100% 100%; }
  .marker__phase-1 {
    background-image: url("/assets/images/green-pin.png"); }
  .marker__phase-2 {
    background-image: url("/assets/images/orange-pin.png"); }
  .marker__phase-3 {
    background-image: url("/assets/images/red-pin.png"); }
  .marker:hover {
    top: -2px; }

.login-form {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center; }
  .login-form h3 {
    font-size: 18px;
    font-weight: bold;
    text-align: center; }
  .login-form .social-connect {
    width: 100%; }
    .login-form .social-connect .btn {
      display: flex;
      align-items: center;
      width: 100%;
      background-color: #fff;
      border: 2px solid #cfcfcf;
      padding: 10px;
      border-radius: 4px;
      color: #000;
      font-size: 16px;
      margin: 10px 0; }
      .login-form .social-connect .btn img {
        margin-right: 10px; }
      .login-form .social-connect .btn span {
        flex: 1;
        text-align: center; }
      .login-form .social-connect .btn:hover {
        border: 2px solid #c96; }
      .login-form .social-connect .btn:focus {
        box-shadow: 0 0 0 0.2rem rgba(204, 153, 102, 0.5);
        border: 2px solid var(--secondary); }
  .login-form .hr-or {
    text-align: center;
    font-family: 'Ubuntu';
    color: #595959;
    margin: 0;
    font-weight: bold; }
  .login-form form {
    width: 100%; }
    .login-form form .btn {
      width: 180px;
      height: 30px;
      display: flex;
      justify-content: center;
      align-items: center;
      margin: 0 auto; }
  .login-form .register {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 10px 0 0 0; }
    .login-form .register .btn {
      margin-left: 5px; }
  .login-form .btn-link {
    padding: 0; }

.auth-dropdown .dropdown-toggle {
  display: flex;
  justify-content: center;
  align-items: center; }
  .auth-dropdown .dropdown-toggle .username {
    padding: 0 10px; }
  .auth-dropdown .dropdown-toggle:focus {
    outline: none;
    box-shadow: none; }
  .auth-dropdown .dropdown-toggle::after {
    display: none; }

.auth-dropdown .dropdown-menu {
  padding: 20px;
  min-width: 320px; }

.register-form {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center; }
  .register-form h3 {
    font-size: 18px;
    font-weight: bold;
    text-align: center; }
  .register-form form {
    width: 100%; }
    .register-form form .btn {
      width: 180px;
      height: 30px;
      display: flex;
      justify-content: center;
      align-items: center;
      margin: 0 auto; }
  .register-form .login {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 10px 0 0 0; }
    .register-form .login .btn {
      padding: 0;
      margin-left: 5px; }

.forgot-form {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center; }
  .forgot-form h3 {
    font-size: 18px;
    font-weight: bold;
    text-align: center; }
  .forgot-form form {
    width: 100%; }
    .forgot-form form .btn {
      width: 180px;
      height: 30px;
      display: flex;
      justify-content: center;
      align-items: center;
      margin: 0 auto; }
  .forgot-form p {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 10px 0 0 0; }
    .forgot-form p .btn {
      padding: 0;
      margin: 0 5px; }

.btn-logout {
  display: flex;
  width: 80%;
  justify-content: center;
  margin: 0 auto; }

.lang-dropdown .dropdown-item,
.lang-dropdown .dropdown-toggle,
.lang-dropdown .dropdown-toggle:not(:disabled):not(.disabled):active {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
  background-color: #fff;
  border: 1px solid #cc9966; }

.lang-dropdown .dropdown-toggle:hover {
  box-shadow: 0px 0px 6px 0px #a8a8a8; }

.lang-dropdown .dropdown-toggle::after {
  display: none; }

.lang-dropdown img {
  width: 30px;
  height: 15px; }

.lang-dropdown .dropdown-menu {
  min-width: auto;
  padding: 0; }

.lang-dropdown.show .dropdown-toggle,
.lang-dropdown.show .dropdown-toggle:not(:disabled):not(.disabled):active,
.lang-dropdown.show .dropdown-toggle:focus {
  background-color: #fff;
  box-shadow: 0px 0px 6px 0px #a8a8a8; }

.lang-dropdown.show .dropdown-toggle,
.lang-dropdown.show .dropdown-toggle:not(:disabled):not(.disabled):active,
.lang-dropdown.show .dropdown-toggle:focus,
.lang-dropdown.show .dropdown-menu {
  border: 1px solid #cc9966; }

.lang-dropdown .dropdown-toggle,
.lang-dropdown .dropdown-toggle:not(:disabled):not(.disabled):active,
.lang-dropdown .dropdown-toggle:focus {
  box-shadow: none; }

.nav-menu {
  padding: 0; }
  .nav-menu .navbar-toggler {
    border: none; }
  .nav-menu .navbar-collapse {
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 100%;
    right: 0;
    background-color: #FFFFFF;
    min-width: 320px; }
    .nav-menu .navbar-collapse .nav-item {
      display: flex;
      justify-content: flex-end;
      align-items: center;
      font-size: 18px;
      padding: 0 10px;
      font-weight: 700;
      text-align: center;
      white-space: nowrap; }
      .nav-menu .navbar-collapse .nav-item a:hover {
        text-decoration: none;
        color: inherit; }

/* Small devices (landscape phones, 576px and up) */
/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
  .nav-menu {
    width: 100%; }
    .nav-menu .navbar-collapse {
      position: static; } }

/* Large devices (desktops, 992px and up) */
/* Extra large devices (large desktops, 1200px and up) */

.header {
  font-family: 'Ubuntu', sans-serif;
  padding: 15px;
  max-width: unset; }
  .header__logo, .header__title, .header__lang-select, .header__banner {
    display: flex;
    align-items: center; }
  .header__logo img {
    width: 40px;
    height: 40px; }
  .header__title {
    align-items: center;
    justify-content: center; }
    .header__title h1 {
      margin: 0;
      font-size: 26px;
      text-align: center;
      padding: 15px 0; }
  .header__lang-select {
    align-items: center;
    justify-content: flex-end; }
  .header__banner {
    transform: translateX(-50%);
    left: 50%;
    margin: 0 -50% 0 0;
    min-width: calc(100vw - 17px);
    max-height: 400px;
    justify-content: center;
    align-items: center;
    padding: 0;
    overflow: hidden; }
    .header__banner img {
      width: 100vw; }
  .header__nav {
    display: flex;
    align-items: center;
    justify-content: flex-end; }
  .header__auth {
    display: flex;
    align-items: center;
    justify-content: flex-end; }

/* Small devices (landscape phones, 576px and up) */
/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
  .header__logo {
    display: flex;
    justify-content: flex-end; }
    .header__logo img {
      width: 150px;
      height: 150px; }
  .header__title {
    margin: 0; }
    .header__title h1 {
      font-size: 36px; }
  .header__lang-select {
    align-items: flex-start; }
  .header__banner {
    margin: 15px 0 0 0; }
  .header__nav {
    height: 60px;
    margin-bottom: -15px; }
  .header__auth {
    height: 60px;
    margin-bottom: -15px; } }

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
  .header {
    max-width: 960px; } }

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
  .header {
    max-width: 1140px; } }

.footer .row {
  border-top: 2px solid #818181;
  border-bottom: 2px solid #818181;
  margin: 40px 10px;
  padding: 20px 0px; }

.footer .title {
  display: inline-block;
  margin: 20px 0 10px 0;
  padding: 0 0 2px 0;
  font-family: 'Ubuntu', Arial, Helvetica, sans-serif;
  font-size: 18px;
  font-weight: 700;
  text-align: left;
  border-bottom: 2px solid #c96; }

.footer ul {
  list-style-type: none;
  padding: 0;
  font-size: 16px; }

.footer__logo {
  display: flex;
  justify-content: center;
  align-items: center; }
  .footer__logo img {
    width: 100px;
    height: 100px; }

.footer__social ul {
  display: flex;
  margin: 0 -5px; }
  .footer__social ul li {
    margin: 0 5px; }

.footer__copyright {
  margin: 20px 0 0 0; }
  .footer__copyright p {
    margin: 0 auto;
    text-align: center;
    font-size: 12px;
    color: #333; }

.layout {
  padding: 0; }

.layout-general {
  margin: 0 auto;
  padding: 0 40px;
  font-size: 16px; }
  .layout-general h1 {
    color: #191970;
    font-size: 20px; }
  .layout-general h2 {
    color: #cc9966;
    font-size: 28px; }
  .layout-general h3 {
    color: #333333;
    font-size: 16px; }
  .layout-general div p {
    text-align: justify; }

.layout-sitemap {
  margin: 0 auto;
  padding: 0 40px;
  font-size: 16px; }
  .layout-sitemap h1 {
    color: #191970;
    font-size: 20px; }
  .layout-sitemap h2 {
    color: #cc9966;
    font-size: 28px; }
  .layout-sitemap h3 {
    color: #333333;
    font-size: 16px; }
  .layout-sitemap div p {
    text-align: justify; }

.about-us {
  margin: 0 auto;
  padding: 0 40px;
  font-size: 16px; }
  .about-us h1 {
    color: #191970;
    font-size: 20px; }
  .about-us h2 {
    color: #cc9966;
    font-size: 28px; }
  .about-us h3 {
    color: #333333;
    font-size: 16px; }
  .about-us div p {
    text-align: justify; }

.map-wrapper {
  width: 100%;
  height: 100%;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; }

.home {
  position: relative; }
  .home .search-box {
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 999; }

.recover-password .card {
  max-width: 500px;
  padding: 15px;
  margin: 30px auto; }
  .recover-password .card h2 {
    font-size: 16px;
    font-weight: bold; }

.select-phase-input {
  width: 100%;
  margin: 10px 0; }

.select-phase-input .label {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 30px;
  border-radius: 4px;
  padding: 0 15px;
  color: #fff;
  user-select: none;
  cursor: pointer; }

.select-phase-input .label input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0; }

.select-phase-input .label .checkmark {
  position: relative;
  height: 20px;
  width: 20px;
  background-color: #fff;
  border-radius: 4px; }

/* On mouse-over, add a grey background color */
.select-phase-input .label:hover .checkmark {
  -webkit-box-shadow: inset 0px 0px 10px -5px black;
  -moz-box-shadow: inset 0px 0px 10px -5px black;
  box-shadow: inset 0px 0px 10px -5px black; }

/* When the checkbox is checked, add a blue background */
.select-phase-input .label input:checked ~ .checkmark {
  background-color: #fff; }

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
  content: "";
  display: none; }

/* Show the checkmark when checked */
.select-phase-input .label input:checked ~ .checkmark:after {
  display: block; }

/* Style the checkmark/indicator */
.select-phase-input .label .checkmark:after {
  position: absolute;
  left: 8px;
  top: 4px;
  width: 5px;
  height: 10px;
  border: solid #876544;
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

.select-phase-input .label.green {
  background-color: #32cd32; }

.select-phase-input .label.orange {
  background-color: #ff8c00; }

.select-phase-input .label.red {
  background-color: #8b0000; }

.select-phase {
  margin: 0 0 20px 0; }

.select-phase > p {
  font-family: "Ubuntu", Arial, Helvetica, sans-serif;
  font-size: 14px;
  text-align: center; }

.suggest .login-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background-color: rgba(255, 255, 255, 0.8); }

.suggest .card {
  padding: 15px;
  font-size: 16px;
  font-family: 'Roboto'; }
  .suggest .card form {
    display: flex;
    flex-direction: column; }
    .suggest .card form .select-phase p,
    .suggest .card form .form-label {
      font-size: 16px;
      font-family: 'Roboto';
      text-align: left; }
    .suggest .card form .btn {
      display: flex;
      justify-content: center;
      align-items: center; }

.feedback-modal {
  position: fixed;
  bottom: 100px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #191970;
  border-radius: 10px;
  color: #ffffff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 999;
  box-shadow: 0px 0px 9px 1px rgba(0, 0, 0, 0.3); }
  .feedback-modal.error {
    background-color: #8b0000; }
  .feedback-modal p {
    margin: 0;
    padding: 0 20px; }
  .feedback-modal button img {
    width: 20px;
    height: 20px; }

.upload {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap; }
  .upload p {
    margin: 0; }
  .upload label {
    border-radius: 15px;
    background-color: #c96;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    margin: 0 0 0 15px;
    padding: 0px 15px; }
  .upload .content {
    width: 100%; }
    .upload .content .file-item {
      display: flex;
      align-items: center; }
    .upload .content .btn.cross {
      margin: 0 0 0 20px; }
      .upload .content .btn.cross img {
        width: 15px;
        height: 15px; }

.contact__form {
  display: flex;
  flex-direction: column;
  max-width: 800px;
  width: 100%;
  border-radius: 4px;
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.35);
  margin: 30px auto 60px;
  padding: 20px; }
  .contact__form [type='submit'].btn {
    background-color: #191970;
    padding: 5px 20px;
    min-width: 180px;
    margin: 20px auto 0 auto; }

.text-area {
  width: 100%;
  margin: 0 0 20px 0;
  flex: 1; }

.text-area .label {
  height: 100%; }

.text-area .label > textarea {
  width: 100%;
  height: 100%;
  padding: 10px;
  margin: 10px 0 0 0; }

.input > .label,
.text-area > .label {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start; }

.label > input,
.label > textarea {
  border: 1px solid #c1c1c1;
  border-radius: 4px;
  font-family: "Roboto", Arial, Helvetica, sans-serif; }

.label > input:focus,
.label > textarea:focus {
  border: none;
  outline-color: transparent;
  -webkit-box-shadow: 0px 0px 5px 0px #cc9966;
  -moz-box-shadow: 0px 0px 5px 0px #cc9966;
  box-shadow: 0px 0px 5px 0px #cc9966; }

.suggest-modal .modal-content {
  max-width: 300px;
  margin: 0 auto;
  padding: 15px;
  display: flex; }
  .suggest-modal .modal-content h2 {
    text-align: center;
    font-size: 16px;
    font-weight: 700; }
  .suggest-modal .modal-content .text-area .label {
    font-size: 14px; }
  .suggest-modal .modal-content .btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 70%;
    margin: 0 auto; }

.history-confirmation {
  width: 100%; }
  .history-confirmation .card {
    border: none; }
    .history-confirmation .card-header {
      display: flex;
      border: none;
      justify-content: flex-start;
      align-items: center;
      background-color: transparent;
      outline: none;
      font-size: 14px;
      font-weight: 700;
      margin: 0;
      padding: 0;
      white-space: nowrap;
      cursor: pointer; }
      .history-confirmation .card-header img {
        margin: 0 10px 0 0;
        transition: 0.2s transform ease; }
      .history-confirmation .card-header.active img {
        transform: rotate(-180deg);
        transition: 0.2s transform ease; }
    .history-confirmation .card-body {
      padding: 0; }
      .history-confirmation .card-body ul {
        margin: 0;
        padding: 5px 0 10px;
        list-style-type: none;
        max-height: 250px;
        overflow: scroll;
        overflow-x: hidden; }
        .history-confirmation .card-body ul::-webkit-scrollbar {
          width: 10px; }
        .history-confirmation .card-body ul::-webkit-scrollbar-track {
          background: transparent; }
        .history-confirmation .card-body ul::-webkit-scrollbar-thumb {
          background: #888;
          border-radius: 10px; }
        .history-confirmation .card-body ul::-webkit-scrollbar-thumb:hover {
          background: #555; }
        .history-confirmation .card-body ul li {
          padding: 0 0 0 20px;
          font-size: 14px; }
          .history-confirmation .card-body ul li .author {
            text-decoration: underline;
            margin: 0 0 5px; }
          .history-confirmation .card-body ul li .phase {
            display: inline;
            margin: 0;
            border-radius: 20px;
            background-color: var(--green);
            color: #fff;
            padding: 2px 15px; }
            .history-confirmation .card-body ul li .phase_1 {
              background-color: var(--green); }
            .history-confirmation .card-body ul li .phase_2 {
              background-color: var(--orange); }
            .history-confirmation .card-body ul li .phase_3 {
              background-color: var(--red); }

.history-suggestion {
  width: 100%; }
  .history-suggestion .card {
    border: none; }
    .history-suggestion .card-header {
      display: flex;
      border: none;
      justify-content: flex-start;
      align-items: center;
      background-color: transparent;
      outline: none;
      font-size: 14px;
      font-weight: 700;
      margin: 0;
      padding: 0;
      white-space: nowrap;
      cursor: pointer; }
      .history-suggestion .card-header img {
        margin: 0 10px 0 0;
        transition: 0.2s transform ease; }
      .history-suggestion .card-header.active img {
        transform: rotate(-180deg);
        transition: 0.2s transform ease; }
    .history-suggestion .card-body {
      padding: 0; }
      .history-suggestion .card-body ul {
        margin: 0;
        padding: 5px 0 10px;
        list-style-type: none;
        max-height: 250px;
        overflow: scroll;
        overflow-x: hidden; }
        .history-suggestion .card-body ul::-webkit-scrollbar {
          width: 10px; }
        .history-suggestion .card-body ul::-webkit-scrollbar-track {
          background: transparent; }
        .history-suggestion .card-body ul::-webkit-scrollbar-thumb {
          background: #888;
          border-radius: 10px; }
        .history-suggestion .card-body ul::-webkit-scrollbar-thumb:hover {
          background: #555; }
        .history-suggestion .card-body ul li {
          padding: 0 0 0 20px;
          font-size: 14px; }

.history-modal .modal-content {
  max-width: 300px;
  margin: 0 auto;
  padding: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column; }
  .history-modal .modal-content h2 {
    text-align: center;
    font-size: 16px;
    font-weight: 700; }
  .history-modal .modal-content .phase {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 0;
    margin: 0;
    border-radius: 20px;
    background: var(--green);
    color: #fff;
    padding: 5px 20px; }
    .history-modal .modal-content .phase__1 {
      background: var(--green); }
    .history-modal .modal-content .phase__2 {
      background: var(--orange); }
    .history-modal .modal-content .phase__3 {
      background: var(--red); }
  .history-modal .modal-content .info {
    width: 100%; }
    .history-modal .modal-content .info .author {
      font-size: 14px;
      font-weight: 700; }
    .history-modal .modal-content .info .description {
      min-height: 200px;
      font-size: 14px;
      padding: 0 10px;
      margin: 10px 0; }
    .history-modal .modal-content .info .date {
      width: 100%;
      font-size: 12px;
      padding: 0 10px;
      text-align: right; }

.leaflet-popup .leaflet-popup-content-wrapper {
  width: 250px;
  box-shadow: none;
  background: transparent; }
  .leaflet-popup .leaflet-popup-content-wrapper .leaflet-popup-content {
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0; }

.leaflet-popup a.leaflet-popup-close-button {
  color: #ffffff;
  width: 20px;
  height: 20px;
  border-radius: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  margin: 5px; }
  .leaflet-popup a.leaflet-popup-close-button:hover {
    color: #ffffff; }

.leaflet-popup .leaflet-popup-tip-container {
  display: none; }

.card-popup {
  width: 100%;
  height: 100%;
  overflow: hidden; }
  .card-popup .card-header {
    padding: 0;
    border: none; }
    .card-popup .card-header .phase {
      width: 100%;
      height: 50px;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      background-color: var(--green);
      color: #fff;
      font-family: 'Ubuntu', Arial, Helvetica, sans-serif;
      font-size: 16px;
      margin: 0;
      text-transform: uppercase;
      word-break: break-word;
      text-align: center;
      padding: 0 20px; }
      .card-popup .card-header .phase_1 {
        background-color: var(--green); }
      .card-popup .card-header .phase_2 {
        background-color: var(--orange); }
      .card-popup .card-header .phase_3 {
        background-color: var(--red); }
  .card-popup .card-body {
    padding: 0; }
    .card-popup .card-body .card-title {
      font-family: 'Ubuntu', Arial, Helvetica, sans-serif;
      font-size: 16px;
      color: #000;
      font-weight: 700;
      text-align: center;
      padding: 0 15px;
      margin: 10px 0; }
    .card-popup .card-body .content .description {
      width: 100%;
      margin: 0;
      font-size: 14px;
      font-family: 'Roboto', Arial, Helvetica, sans-serif;
      height: 90px;
      overflow: scroll;
      overflow-x: hidden;
      padding: 0 15px;
      word-break: break-word; }
      .card-popup .card-body .content .description::-webkit-scrollbar {
        width: 10px; }
      .card-popup .card-body .content .description::-webkit-scrollbar-track {
        background: transparent; }
      .card-popup .card-body .content .description::-webkit-scrollbar-thumb {
        background: #888;
        border-radius: 10px; }
    .card-popup .card-body .content .date {
      width: 100%;
      display: flex;
      justify-content: flex-end;
      font-size: 12px;
      padding: 0 15px; }
    .card-popup .card-body .card-footer {
      border: none;
      background: none;
      padding: 0; }
      .card-popup .card-body .card-footer .unauthenticated {
        display: flex;
        flex-direction: column;
        align-items: center; }
        .card-popup .card-body .card-footer .unauthenticated p {
          font-family: 'Ubuntu', Arial, Helvetica, sans-serif;
          font-size: 12px;
          font-weight: 700;
          text-align: center; }
      .card-popup .card-body .card-footer .card-buttons {
        display: flex;
        justify-content: center;
        align-items: center; }
        .card-popup .card-body .card-footer .card-buttons .btn {
          display: flex;
          justify-content: center;
          align-items: center;
          font-size: 12px;
          height: 35px;
          padding: 0;
          margin: 5px;
          max-width: 80%;
          flex: 1 1 80%; }
      .card-popup .card-body .card-footer .btn-history {
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 12px;
        text-align: center;
        margin: 0 auto; }
        .card-popup .card-body .card-footer .btn-history:active, .card-popup .card-body .card-footer .btn-history:focus {
          box-shadow: none; }

.marker-cluster div {
  width: 30px;
  height: 30px;
  border-radius: 15px;
  background-color: #fff;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: center;
  align-items: center;
  border: 2px solid #000;
  font-size: 12px;
  font-weight: 700; }
  .marker-cluster div:hover {
    border: 2px solid var(--secondary); }

.marker {
  background-size: 100% 100%;
  pointer-events: auto !important; }
  .marker__phase-1 {
    background-image: url("/assets/images/green-pin.png"); }
  .marker__phase-2 {
    background-image: url("/assets/images/orange-pin.png"); }
  .marker__phase-3 {
    background-image: url("/assets/images/red-pin.png"); }
  .marker:hover {
    top: -2px; }

.marker-label {
  width: auto !important;
  height: auto !important;
  position: relative; }
  .marker-label div {
    height: 30px;
    left: 50%;
    bottom: calc(100% + 6px);
    transform: translateX(-50%);
    padding: 0 10px;
    position: absolute;
    display: flex;
    justify-content: center;
    border-radius: 20px;
    align-items: center;
    white-space: nowrap;
    border: 2px solid var(--green);
    background-color: #fff; }
    .marker-label div + .tip {
      width: 20px;
      height: 20px;
      background-color: var(--green);
      position: absolute;
      left: calc(50% -1px);
      transform: rotate(45deg) translateX(-50%);
      top: calc(50% - 16px);
      z-index: -1; }
  .marker-label__phase-1 div {
    border: 2px solid var(--green); }
    .marker-label__phase-1 div + .tip {
      background-color: var(--green); }
  .marker-label__phase-2 div {
    border: 2px solid var(--orange); }
    .marker-label__phase-2 div + .tip {
      background-color: var(--orange); }
  .marker-label__phase-3 div {
    border: 2px solid var(--red); }
    .marker-label__phase-3 div + .tip {
      background-color: var(--red); }

