.tamanho_letra {
  font-size: 17px;
}

/* #nova_sopa, #nova_peixe, #nova_carne, #nova_sobremesa {
  border-top: 1px solid black;
} */

/* #horario {
  border-top: 1px solid black;
  padding-top: 10px;
} */

/* Todas as divs hidden */
#tempo_distancia_cadeira,
.loader,
#voltar,
#superficie,
.caminho_localizacao,
#inclinacao,
#info_location1,
#info_location2,
#menu,
#menu_pesquisa,
#menu_espaco,
#menu_restaurante,
#menu_estrela,
#limpar,
#ementa_descricao,
#info_pesquisa,
#info_pesquisa_proximidade,
.popup_pratos,
#restaurante1,
#restaurante2,
#restaurante3,
#restaurante4,
#restaurante5,
#navegar_sim_nao,
.popup_morada,
.popup_wifi,
.popup_fecho,
.popup_telefone,
.popup_abertura,
.popup_website,
.popup_takeaway,
.popup_entregadomicilio,
.popup_descanco,
.popup_multibanco,
.popup_descricao,
#alerta_sair_app,
#loading,
#iniciar2 {
  display: none;
}
/* Final das divs hidden */

#reservar {
  text-align: justify;
  line-height: 20px;
  padding-left: 12px;
  padding-right: 12px;
  font-size: 16px;
}

#botao_navega, #botao_navega2 {
  width: 25%;
  border: 1px solid black;
  padding: 3%;
  margin-left: 3%;
  margin-right: 3%;
  border-radius: 4px;
  box-shadow: 0 2.8px 2.2px rgba(0, 0, 0, 0.034), 0 6.7px 5.3px rgba(0, 0, 0, 0.048), 0 12.5px 10px rgba(0, 0, 0, 0.06), 0 22.3px 17.9px rgba(0, 0, 0, 0.072), 0 41.8px 33.4px rgba(0, 0, 0, 0.086), 0 100px 80px rgba(0, 0, 0, 0.12);
}

.descricao,
.ementa,
#pedidos,
#pedidos_telefone,
#imagens_restaurante,
#avaliacao_restaurante,
#direcoes {
    box-shadow: 0 2.8px 2.2px rgba(0, 0, 0, 0.034), 0 6.7px 5.3px rgba(0, 0, 0, 0.048), 0 12.5px 10px rgba(0, 0, 0, 0.06), 0 22.3px 17.9px rgba(0, 0, 0, 0.072), 0 41.8px 33.4px rgba(0, 0, 0, 0.086), 0 100px 80px rgba(0, 0, 0, 0.12);
    margin: auto;
    background: #FAF8F6;
    border-radius: 20px;
    /* opacity: 90%; */
    text-align: center;
    padding: 1%;
    font-family: Comic Sans MS;
    font-size: 17px;
    /* padding-bottom: 6%; */
}

#morada_restaurante_div,
#descricao_restaurante_div,
#nr_telefone_div,
#web_site_div,
#hora_abertura_div,
#multibanco_div,
#hora_fecho_div,
#dia_descanso_div,
#wifi_div,
#entregadomicilio_div,
#takeaway_div {
    box-shadow: 0 2.8px 2.2px rgba(0, 0, 0, 0.034), 0 6.7px 5.3px rgba(0, 0, 0, 0.048), 0 12.5px 10px rgba(0, 0, 0, 0.06), 0 22.3px 17.9px rgba(0, 0, 0, 0.072), 0 41.8px 33.4px rgba(0, 0, 0, 0.086), 0 100px 80px rgba(0, 0, 0, 0.12);
    background: #FAF8F6;
    border-radius: 5px;
    text-align: center;
    padding-top: 2%;
}

#morada_restaurante,
#descricao_restaurante,
#nr_telefone,
#web_site,
#hora_abertura,
#multibanco,
#hora_fecho,
#dia_descanso,
#wifi,
#takeaway,
#entregadomicilio,
#dias,
#pedidos_ementa,
#descricao_das_fotos {
    font-family: Comic Sans MS;
    font-size: 15px;
}

.dias {
  padding-bottom: 2%;
}

.avalia_rest,
#nome_restaurante {
    font-family: Comic Sans MS;
}

#titulo_imagens_restaurante,
#reserva_diaria {
    margin-bottom: 5%;
    font-family: Comic Sans MS;
}

#descricao_das_fotos {
    border: 1px solid black;
    width: 60%;
    margin: auto;
    color: black;
    border-radius: 5px;
    margin-top: 2%;
}

.imagens_descricao {
    width: 7.5vw;
}

.imagens_ementa {
    width: 7vw;
}

@media screen and (max-width:768px) {
    .imagens_ementa {
        width: 5.5vw;
    }
}

#mensagem_ementa_pedida_texto {
    font-size: 15px;
    font-style: normal;
    line-height: 25px;
    margin-top: 1%;
}

#direcoes p {
  font-size: 20px;
  color: black;
}

#imagem_teste {
  position: relative;
  height: 8%;
  margin-left: 41.6%;
  margin-top: 22em;
}

/* Iniciar */
/* #iniciar {
    position: absolute;
    z-index: 999999999;
    width: 100vw;
    left: 0vw;
    top: 0vw;
    margin: auto;
    background-image: url("../imagens/iniciar/iniciar.png");
    background-position: center;
    border-radius: 10px;
    opacity: 90%;
    text-align: center;
    border: 1px solid black;
    padding: 5%;
    height: 100%;
}

#iniciar2 {
    position: absolute;
    width: 100vw;
    left: 0vw;
    top: 0vw;
    margin: auto;
    background-image: url("../imagens/iniciar/iniciar_2.png");
    background-position: center;
    border-radius: 10px;
    opacity: 95%;
    text-align: center;
    border: 1px solid black;
    padding: 5%;
    height: 100%;
    z-index: 999999999;
}

/* Animação inicial */
#imagem_iniciar {
    width: 40vw;
    margin-top: 40vw;
} */

/* @-webkit-keyframes example2 {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

@-webkit-animation-name:example2 {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

@-webkit-animation-name:example {
  0% {
      margin: auto;
      margin-top: 0vw;
  }
  5% {
      margin: auto;
      margin-top: 0vw;
  }
  60% {
      margin: auto;
      margin-top: 70vw;
      transform: rotateY(180deg);
  }
  100% {
      margin: auto;
      margin-top: 50vw;
      transform: rotateY(360deg);
  }
} */

/* Animação inicial */
/* @-webkit-keyframes example {
    0% {
        margin: auto;
        margin-top: 0vw;
    }
    5% {
        margin: auto;
        margin-top: 0vw;
    }
    60% {
        margin: auto;
        margin-top: 70vw;
        transform: rotateY(180deg);
    }
    100% {
        margin: auto;
        margin-top: 50vw;
        transform: rotateY(360deg);
    }
} */

#loading {
    position: absolute;
    width: 100vw;
    left: 0vw;
    top: 0vw;
    margin: auto;
    background-position: center;
    /* Center the image */
    text-align: center;
    padding: 5%;
    height: 100%;
}

#imagem_loading {
    width: 20vw;
    margin-top: 17em;
    /* animation-name: example2; */
    /* animation-duration: 3.5s; */
    -webkit-animation: example2 5s infinite;
}

/*
Adicionar para funcionar no chrome (@-webkit-)
Pra outros browsers:
-webkit-animation-name:example2;
*/
/* Animação inicial */
/* @-webkit-keyframes example2 {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

@-webkit-animation-name:example2 {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
} */


/* Avaliação do Restaurante */

.estrelas input[type=radio] {
    display: none;
}

.estrelas label i.fa:before {
    background-image: url(../imagens/log4.png);
    background-size: 45px 45px;
    display: inline-block;
    width: 45px;
    height: 45px;
    content: "";
    cursor: pointer;
}

.estrelas input[type=radio]:checked~label i.fa:before {
    background-image: url(../imagens/lol2.png);
    background-size: 45px 45px;
    display: inline-block;
    width: 45px;
    height: 45px;
    content: "";
}


/* Final da Avaliação */


/* Avaliação geral do Restaurante */

.ratings {
    position: relative;
    vertical-align: middle;
    display: inline-block;
    color: #b1b1b1;
    overflow: hidden;
}

.full-stars {
    position: absolute;
    left: 0;
    top: 0;
    white-space: nowrap;
    overflow: hidden;
    color: #fde16d;
}

.empty-stars:before,
.full-stars:before {
    content: "\2605\2605\2605\2605\2605";
    font-size: 22pt;
}

.empty-stars:before {
    -webkit-text-stroke: 1px #848484;
}

.full-stars:before {
    -webkit-text-stroke: 1px orange;
}


/* Webkit-text-stroke is not supported on firefox or IE */


/* Firefox */

@-moz-document url-prefix() {
    .full-stars {
        color: #ECBE24;
    }
}

#avaliacao_borda {
    border: 1px solid black;
    border-style: double;
}

#media {
    border: 2px solid #ffd700;
    border-radius: 30px;
    width: 35%;
    vertical-align: middle;
    margin: auto;
    padding: 2%;
}

#fechar {
    height: 8%;
    cursor: pointer;
    padding: 5px;
    right: .5em;
    position: absolute;
    top: 0.5em;
}

.botao_pedir_ementa {
    color: #fff;
    background-color: #f0ad4e;
    /* border-color: #eea236; */
    width: 15em;
    padding: 6px 12px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.42857143;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    touch-action: manipulation;
    user-select: none;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 4px;
}

.botao_fazer_reserva, .botao_fazer_reserva_telefone {
    color: black;
    background-color: #f0ad4e;
    width: 15em;
    padding: 6px 12px;
    margin-bottom: 0;
    font-size: 18px;
    font-weight: normal;
    line-height: 1.42857143;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    touch-action: manipulation;
    user-select: none;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 4px;
}

.ementa_pedida {
    color: #fff;
    background-color: blue;
    border-color: blue;
}

.restaurante_aberto {
    /* background-color: #008000; */
    background-color: green;
    color: white;
    border-radius: 5px;
    padding: 6px 12px;
}

.restaurante_fechado {
    background-color: red;
    color: white;
    border-radius: 5px;
    padding: 6px 12px;
}

.nome_do_restaurante {
    background-color: #003566;
    color: white;
    border-radius: 2px;
    padding: 6px 12px;
    font-size: 20px;
}

#restaurante1,
#restaurante2,
#restaurante3,
#restaurante4,
#restaurante5 {
    padding: 6% 1% 2% 1%;
    /* padding-top: 10%;
      padding-right: 1%;
      padding-bottom: 5%;
      padding-left: 0%; */
}

.pin1 {
    position: absolute;
    border-radius: 50%;
}

#ver_restaurante {
    background-color: black;
    color: white;
}

#imagem_p {
    position: absolute;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    top: 41.9%;
    left: 46.3%;
}

#pesquisa_form, #pesquisa_form2 {
    display: flex;
}

#todos_restaurantes,
#limpar_pesquisa {
    background: black;
    color: white;
}

#avaliar {
    background: black;
    color: white;
    width: 15em;
    margin: auto;
}

#navega {
    background-color: #3C1BF5;
    color: white;
}

.icone {
    width: 50%;
}

#limpar {
    color: white;
    border-radius: 15px;
    width: 8vw;
    top: 4.5em;
    position: absolute;
    text-align: center;
    right: .85em;
}

.ativar {
    content: url("../imagens/desativado.png");
    position: absolute;
    top: .5em;
    right: 4.5em;
    width: 8vw;
    cursor: pointer;
}

.refresh {
    content: url("../imagens/refresh.png");
    position: absolute;
    bottom: .5em;
    right: 8em;
    width: 7vw;
    cursor: pointer;
    top: .65em;
}

.informa {
    content: url("../imagens/info.png");
    position: absolute;
    bottom: .5em;
    right: 11.5em;
    width: 7vw;
    cursor: pointer;
    top: .65em;
}

/* 4. Efeito de Toque/Hover */
.controlo-item:active {
    transform: scale(0.9);
    background-color: #f0f0f0;
}

.button1 {
  color: white;
  border-radius: 15px;
  width: 8vw;
  top: 9.5em;
  position: absolute;
  text-align: center;
  right: .85em;
}

.button1_2 {
    width: 10vw;
}

.button2 {
  color: white;
  width: 8vw;
  top: 14em;
  position: absolute;
  text-align: center;
  right: .85em;
}

@media only screen and (min-device-width:768px) and (max-device-width: 1024px) {
  #limpar {
      color: white;
      border-radius: 15px;
      width: 4vw;
      top: 4.5em;
      position: absolute;
      text-align: center;
      right: .85em;
  }

  .ativar {
      content: url("../imagens/desativado.png");
      position: absolute;
      top: .5em;
      right: 4.5em;
      width: 4vw;
      cursor: pointer;
  }

  .refresh {
      content: url("../imagens/refresh.png");
      position: absolute;
      bottom: .5em;
      right: 8.5em;
      width: 4vw;
      cursor: pointer;
      top: .65em;
  }

  .informa {
      content: url("../imagens/info.png");
      position: absolute;
      bottom: .5em;
      right: 12.5em;
      width: 4vw;
      cursor: pointer;
      top: .65em;
  }

  .button1 {
      width: 4vw;
      right: .85em;
  }

  .button2 {
      width: 4vw;
      right: .85em;
  }
}


.imagem_procura {
    width: 35px;
}

#imagem_procura2 {
  width: 220px;
  position: relative;
  margin-inline: auto;
}

/* popup informação */

.popup_pratos {
    width: 98%;
    background-color: black;
    position: absolute;
    border-radius: 10px;
    color: white;
    padding: 4%;
    font-size: 15px;
    top: -5vw;
}


/* fim popup */


/* Popups informativos */

.popup_morada,
.popup_wifi,
.popup_fecho,
.popup_abertura,
.popup_website,
.popup_takeaway,
.popup_telefone,
.popup_entregadomicilio,
.popup_descanco,
.popup_multibanco,
.popup_descricao {
    width: 90%;
    background-color: black;
    border-radius: 10px;
    color: white;
    padding: 4%;
    font-size: 15px;
    margin: auto;
    opacity: 50%;
}

#alerta_sair_app {
  width: 70%;
  background-color: black;
  border-radius: 10px;
  color: white;
  padding: 4%;
  font-size: 15px;
  margin: auto;
  opacity: 60%;
  text-align: center;
  bottom: 8em;
  margin-left: 15%;
  position: absolute;
}


/* Final de Popups */

#pesquisa1 {
    padding-top: 4%;
}

#procura_restaurantes {
    border-radius: 10px;
    margin-right: 10px;
}

#info_location1,
#info_location2 {
    box-shadow: 0 2.8px 2.2px rgba(0, 0, 0, 0.034), 0 6.7px 5.3px rgba(0, 0, 0, 0.048), 0 12.5px 10px rgba(0, 0, 0, 0.06), 0 22.3px 17.9px rgba(0, 0, 0, 0.072), 0 41.8px 33.4px rgba(0, 0, 0, 0.086), 0 100px 80px rgba(0, 0, 0, 0.12);
    position: absolute;
    min-height: 50px;
    width: 70vw;
    left: 15vw;
    top: 40vw;
    margin: auto;
    background: white;
    border-radius: 5px;
    opacity: 80%;
    color: black;
    font-size: 20px;
    text-align: center;
    font-weight: bold;
    border: 2px solid black;
    padding: 5%;
}

#info_pesquisa {
    box-shadow: 0 2.8px 2.2px rgba(0, 0, 0, 0.034), 0 6.7px 5.3px rgba(0, 0, 0, 0.048), 0 12.5px 10px rgba(0, 0, 0, 0.06), 0 22.3px 17.9px rgba(0, 0, 0, 0.072), 0 41.8px 33.4px rgba(0, 0, 0, 0.086), 0 100px 80px rgba(0, 0, 0, 0.12);
    position: absolute;
    min-height: 50px;
    width: 70vw;
    left: 15vw;
    top: 40vw;
    margin: auto;
    background: #FF5733;
    border-radius: 5px;
    opacity: 80%;
    color: white;
    font-size: 15px;
    text-align: center;
    font-weight: bold;
    border: 1px solid black;
    padding: 5%;
}

#info_pesquisa_proximidade {
    box-shadow: 0 2.8px 2.2px rgba(0, 0, 0, 0.034), 0 6.7px 5.3px rgba(0, 0, 0, 0.048), 0 12.5px 10px rgba(0, 0, 0, 0.06), 0 22.3px 17.9px rgba(0, 0, 0, 0.072), 0 41.8px 33.4px rgba(0, 0, 0, 0.086), 0 100px 80px rgba(0, 0, 0, 0.12);
    position: absolute;
    min-height: 50px;
    width: 70vw;
    left: 15vw;
    top: 40vw;
    margin: auto;
    background: #FF5733;
    border-radius: 5px;
    opacity: 80%;
    color: white;
    font-size: 15px;
    text-align: center;
    font-weight: bold;
    border: 1px solid black;
    padding: 5%;
}

#menu {
    box-shadow: 0 2.8px 2.2px rgba(0, 0, 0, 0.034), 0 6.7px 5.3px rgba(0, 0, 0, 0.048), 0 12.5px 10px rgba(0, 0, 0, 0.06), 0 22.3px 17.9px rgba(0, 0, 0, 0.072), 0 41.8px 33.4px rgba(0, 0, 0, 0.086), 0 100px 80px rgba(0, 0, 0, 0.12);
    position: absolute;
    width: 76vw;
    left: 12vw;
    top: 12em;
    margin: auto;
    background: #FAF8F6;
    border-radius: 20px;
    opacity: 90%;
    text-align: center;
    //border: 2px solid black;
    padding: 5%;
}

/* #navegar_sim_nao {
    position: absolute;
    padding: 1.7%;
    width: 15%;
    text-align: center;
    height: 18%;
    margin-top: 8em;
    right: 0vw;
    float: right;
} */


/* Botoes Navegar */

.button {
    background-color: #555555;
    /* Green */
    border: none;
    color: white;
    padding: 5px 15px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    margin: 4px 2px;
    cursor: pointer;
    border-radius: 5px;
}

#menu_pesquisa {
    box-shadow: 0 2.8px 2.2px rgba(0, 0, 0, 0.034), 0 6.7px 5.3px rgba(0, 0, 0, 0.048), 0 12.5px 10px rgba(0, 0, 0, 0.06), 0 22.3px 17.9px rgba(0, 0, 0, 0.072), 0 41.8px 33.4px rgba(0, 0, 0, 0.086), 0 100px 80px rgba(0, 0, 0, 0.12);
    position: absolute;
    width: 20vw;
    overflow: auto;
    left: 10vw;
    top: 30vw;
    margin: auto;
    background: #CD2D54;
    border-radius: 20px;
    opacity: 80%;
    text-align: center;
    border: 2px solid black;
    padding: 5%;
}

#menu_restaurante {
    box-shadow: 0 2.8px 2.2px rgba(0, 0, 0, 0.034), 0 6.7px 5.3px rgba(0, 0, 0, 0.048), 0 12.5px 10px rgba(0, 0, 0, 0.06), 0 22.3px 17.9px rgba(0, 0, 0, 0.072), 0 41.8px 33.4px rgba(0, 0, 0, 0.086), 0 100px 80px rgba(0, 0, 0, 0.12);
    position: absolute;
    width: 20vw;
    overflow: auto;
    left: 40vw;
    top: 23vw;
    margin: auto;
    background: #FAF8F6;
    border-radius: 20px;
    opacity: 80%;
    text-align: center;
    border: 2px solid black;
    padding: 5%;
}

#menu_estrela {
    box-shadow: 0 2.8px 2.2px rgba(0, 0, 0, 0.034), 0 6.7px 5.3px rgba(0, 0, 0, 0.048), 0 12.5px 10px rgba(0, 0, 0, 0.06), 0 22.3px 17.9px rgba(0, 0, 0, 0.072), 0 41.8px 33.4px rgba(0, 0, 0, 0.086), 0 100px 80px rgba(0, 0, 0, 0.12);
    position: absolute;
    width: 20vw;
    overflow: auto;
    left: 70vw;
    top: 30vw;
    margin: auto;
    background: #1F5DE2;
    border-radius: 20px;
    opacity: 80%;
    text-align: center;
    border: 2px solid black;
    padding: 5%;
}

#ementa_descricao {
    box-shadow: 0 2.8px 2.2px rgba(0, 0, 0, 0.034), 0 6.7px 5.3px rgba(0, 0, 0, 0.048), 0 12.5px 10px rgba(0, 0, 0, 0.06), 0 22.3px 17.9px rgba(0, 0, 0, 0.072), 0 41.8px 33.4px rgba(0, 0, 0, 0.086), 0 100px 80px rgba(0, 0, 0, 0.12);
    position: absolute;
    width: 100%;
    height: 97%;
    top: 1%;
    margin: auto;
    background: #FAF8F6;
    border-radius: 10px;
    padding: 5%;
    overflow-y: scroll;
    overflow-x: hidden;
    text-align: center;
    background-color : rgba(255,255,255,0.9);
}

/* Div Botão Menu */
/* #div_botao_menu {
    position: absolute;
    width: 100vw;
    bottom: 4vw;
    margin: auto;
    border-radius: 10px;
    opacity: 90%;
    text-align: center;
    height: 5em;
} */

/* O teu contentor principal (mantém a posição no ecrã) */
#div_botao_menu {
    position: absolute;
    width: 100vw;
    bottom: 4vw;
    left: 0;
    margin: auto;
    text-align: center;
    height: 5em;
    pointer-events: none; /* Deixa o clique passar para o círculo abaixo */
    display: flex;
    justify-content: center;
    align-items: center;
}

/* O Círculo que realmente pulsa e é clicável */
.circulo_pulsar {
    position: relative;
    width: 75px;  /* Tamanho fixo para o círculo */
    height: 75px;
    /* background-color: red; */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    pointer-events: auto; /* Reativa o clique aqui */
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
    opacity: 0.9; /* Os teus 90% */



    transition: transform 0.2s ease;
}

/* A Imagem dentro do círculo */
/* .imagem_menu {
    height: 100%;
    width: auto;
} */

.imagem_menu_pulsar {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Garante que a imagem preenche o círculo sem deformar */
}

/* A Animação de Pulsação */
.circulo_pulsar::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    border-radius: 50%;
    border: 3px solid rgba(0, 0, 0, 0.3); /* Cor da onda */
    animation: pulsar-onda 2.5s infinite ease-out;
}

@keyframes pulsar-onda {
    0% { transform: scale(1); opacity: 0.7; }
    100% { transform: scale(1.8); opacity: 0; }
}

/* Feedback de toque */
.circulo_pulsar:active {
    transform: scale(0.9);
}
/* Fim de Botão Menu */

.imagens_menus {
    width: 8vw;
    height: auto;
}

.ol-control button {
    background-color: #94A6B2;
    color: black;
}

.desativar {
    content: url("../imagens/ativado.png");
    position: absolute;
    bottom: .5em;
    right: 4.5em;
    width: 8vw;
    cursor: pointer;
}

/* Loader */

.loader {
    margin: auto;
    margin-top: 20%;
    border: 8px solid #f3f3f3;
    border-radius: 50%;
    border-top: 8px solid blue;
    border-bottom: 8px solid blue;
    width: 60px;
    height: 60px;
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
}

@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}
/* Loader Fim */


/*POPUP*/
.ol-popup {
    //-webkit-filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.2));
    //filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.2));
    padding: 22px;
    bottom: 12px;
    left: -50px;
    min-width: 280px;
    color: black;
    //box-shadow: 0 2.8px 2.2px rgba(0, 0, 0, 0.034), 0 6.7px 5.3px rgba(0, 0, 0, 0.048), 0 12.5px 10px rgba(0, 0, 0, 0.06), 0 22.3px 17.9px rgba(0, 0, 0, 0.072), 0 41.8px 33.4px rgba(0, 0, 0, 0.086), 0 100px 80px rgba(0, 0, 0, 0.12);
    position: absolute;
    text-align: center;
    background: #e9f1fc;
    border-radius: 10px;
    //opacity: 85%;
    //border: 0.5px solid lightsteelblue;
    z-index: 9999999;
    display: none;
    opacity: 0;
}

.ol-popup:after,
.ol-popup:before {
    top: 100%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}

.ol-popup:after {
    border-top-color: white;
    border-width: 10px;
    left: 48px;
    margin-left: -10px;
}

.ol-popup:before {
    border-top-color: #cccccc;
    border-width: 11px;
    left: 48px;
    margin-left: -11px;
}

.ol-popup-closer {
    text-decoration: none;
    position: absolute;
    top: 2px;
    right: 8px;
}

.ol-popup-closer:after {
    content: "✖";
}
/*fim popup*/

body {
    background-size: 100%;
    overflow-y: hidden;
    background-color: #97dbf2;
	max-width: 400px;
    margin: 0 auto;
    overflow-x: hidden;
}

@media screen and (max-width:1024px) {
    body {
        overflow-y: hidden;
    }
}

.cursor {
    cursor: pointer;
}

#switch2 {
    color: black;
}

#imagem_localizar {
    cursor: pointer;
}

#info2 {
    width: 25%;
    margin: auto;
    position: absolute;
    right: 0;
    border: 1px solid red;
    margin: auto;
    background-color: gray;
}

.informacoes {
    color: black;
}

.log {
    float: right;
}

#utilizador {
    font-size: 20px;
}

#sidebar .sidebar-header.utilizador {
    padding: 10px 13px;
    background: #0066cc;
}

#sidebar {
    background: #0066cc;
}

#sidebar .sidebar-header {
    background: #0066cc;
}

#sidebar ul li.active>a {
    background: #0066cc;
}

#sidebar ul li.active>a,
a[aria-expanded="true"] {
    color: #fff;
    background: #0066cc;
}

#sidebar ul li.active>.navegar2,
.navegar2[aria-expanded="true"] {
    color: #fff;
    background: #66a3ff;
}

#sidebar ul.components {
    border-bottom: 1px solid #0066cc;
}

#sidebar .sidebar-header {
    padding: 5px;
}

.titulos_menus {
    margin-top: -8%;
    margin-left: 17%;
}

@media screen and (max-width:1024px) {
    .botao_menu_azul {
        z-index: 100;
        opacity: 0.9;
        border-radius: 5px;
        width: 40%;
        height: 5%;
        margin: auto;
        position: absolute;
        bottom: 7px;
        margin-left: 27%;
        font-size: 15px;
        padding: 0px;
    }
}

nav.navbar.navbar-default.barra_navbar2 {
    z-index: 100;
    margin-top: -1%;
    opacity: 0.9;
    float: right;
    width: 320px;
    /* width: 97%; */
    border-radius: 5px;
    padding: 0%;
}

@media screen and (max-width:767px) {
    .navbar-nav {
        margin: -42.5px -15px;
    }
}

ul ul a {
    padding-left: 10px !important;
}


/* Sliders */

#custom-handle {
    width: 2em;
    height: 1.6em;
    top: 50%;
    margin-top: -.8em;
    text-align: center;
    line-height: 1.6em;
    padding-left: 0%;
    padding-right: 0%;
}

#custom-handle2 {
    width: 2em;
    height: 1.6em;
    top: 50%;
    margin-top: -.8em;
    text-align: center;
    line-height: 1.6em;
    padding-left: 0%;
    padding-right: 0%;
}

#custom-handle3 {
    width: 2em;
    height: 1.6em;
    top: 50%;
    margin-top: -.8em;
    text-align: center;
    line-height: 1.6em;
    padding-left: 0%;
    padding-right: 0%;
}

#custom-handle4 {
    width: 2em;
    height: 1.6em;
    top: 50%;
    margin-top: -.8em;
    text-align: center;
    line-height: 1.6em;
    padding-left: 0%;
    padding-right: 0%;
}

#slider {
    margin-right: 25%;
    margin-left: 8%;
    margin-top: -8%;
}

#slider2 {
    margin-right: 25%;
    margin-left: 8%;
    margin-top: -8%;
}

#slider3 {
    margin-right: 25%;
    margin-left: 8%;
    margin-top: -8%;
}

#slider4 {
    margin-right: 25%;
    margin-left: 8%;
    margin-top: -8%;
}

#titulo_config {
    margin-top: 2%;
    padding: 4%;
}

#label_distancia {
    margin-left: 3%;
}

#label_inclinacao {
    margin-left: 3%;
}

#label_pavimento_tipo {
    margin-left: 3%;
}

#label_pavimento_estado {
    margin-left: 3%;
}

input#amount {
    width: 32%;
    background-color: #0066cc;
    color: white;
    float: right;
    margin-right: 3%;
    text-align: center;
}

input#amount2 {
    width: 32%;
    background-color: #0066cc;
    color: white;
    float: right;
    margin-right: 3%;
    text-align: center;
}

input#amount3 {
    width: 32%;
    background-color: #0066cc;
    color: white;
    float: right;
    margin-right: 3%;
    text-align: center;
}

input#amount4 {
    width: 32%;
    background-color: #0066cc;
    color: white;
    float: right;
    margin-right: 3%;
    text-align: center;
}

label {
    display: inline;
}

element.style {
    color: white;
}

hr {
    border-top: 1px solid #000000;
}

.botao_config {
    width: 93%;
    margin-top: 2%;
    margin-left: 3%;
    background: #4c4c67;
    text-align: center;
}

.botao_config2 {
    width: 93%;
    margin-top: 2%;
    margin-left: 3%;
    background: #e61919;
    text-align: center;
}

.navegar {
    background-color: #0066cc;
}

a.navegar {
    font-size: 20px;
}

.navegar2 {
    background-color: #0066cc;
}

a.navegar2 {
    font-size: 20px;
}


/* SLiders Fim */

.inserir_barreira {
    background-color: blue;
    width: 50%;
    margin-left: 25%;
    border: #0099ff;
    border-radius: 8px;
    cursor: pointer;
    color: white;
    text-shadow: 1px 1px 0 #444;
    padding: 5px;
}

.adiciona_barreira {
    color: white;
}

@media screen and (max-width:1024px) {
    .caminho {
        width: 60%;
        border: 3px solid #0066ff;
        border-radius: 5px;
        background-color: white;
        font-size: 16px;
        color: black;
        padding: 10px;
        position: absolute;
        margin-top: 9px;
        margin-left: 20%;
    }
}

#localizar2 {
    width: 30%;
    overflow: auto;
    color: white;
    margin: auto;
    position: absolute;
    right: 0;
    bottom: 85px;
    background-color: black;
}

#botao_localizacao {
    border: 2px solid #0066ff;
    z-index: 100;
    margin: auto;
    position: absolute;
    background-color: white;
    border-radius: 5px;
    cursor: pointer;
    top: 10px;
    right: 10px;
}

#superficie {
    width: 43%;
    margin: auto;
    position: absolute;
    right: 0;
    bottom: 45px;
}

#inclinacao {
    width: 43%;
    margin: auto;
    position: absolute;
    right: 0;
    bottom: 45px;
}

.alerta_caminho {
    margin: auto;
    width: 30%;
    border: 3px solid red;
    border-radius: 5px;
    background-color: white;
    font-size: 16px;
    color: black;
    padding: 10px;
    position: absolute;
    margin-top: 25px;
    margin-left: 35%;
}

.caminho2 {
    margin: auto;
    width: 30%;
    border: 3px solid #0066ff;
    border-radius: 5px;
    background-color: white;
    font-size: 16px;
    color: black;
    padding: 10px;
    position: absolute;
    margin-left: 35%;
    margin-top: 25px;
}

.caminho3 {
    margin: auto;
    width: 30%;
    border: 3px solid #0066ff;
    border-radius: 5px;
    background-color: white;
    font-size: 16px;
    color: black;
    padding: 10px;
    position: absolute;
    margin-left: 35%;
    margin-top: 25px;
}

.caminho4 {
    margin: auto;
    width: 30%;
    border: 3px solid #0066ff;
    border-radius: 5px;
    background-color: white;
    font-size: 16px;
    color: black;
    padding: 10px;
    position: absolute;
    margin-left: 35%;
    margin-top: 25px;
}

.caminho_localizacao {
    margin: auto;
    width: 60%;
    border: 3px solid #0066ff;
    border-radius: 5px;
    background-color: white;
    font-size: 16px;
    color: black;
    padding: 10px;
    position: absolute;
    margin-left: 20%;
    margin-top: 90px;
}

.botao_logout2 {
    float: right;
    margin-top: 15%;
}

.botao {
    background-color: #0066cc;
    border: 3px solid #0066cc;
    margin-left: -2%;
    font-size: 16px;
}

.glif {
    cursor: pointer;
}

.nav_logout {
    float: right;
    margin-right: 0%;
    display: inline-flex;
}

.nova_camada {
    margin-top: 6%;
}

.cancel_distancia_cadeira {
    cursor: pointer;
    position: relative;
    width: 100%;
    margin-bottom: 1%;
}

.form-control {
  width: 94%;
  margin-left: 3%;
}

#adiciona_reserva, #cancela_reserva, #fazer_reserva, #fazer_reserva_telefone {
  width: 94%;
  margin-left: 3%;
}

#mais_sopa, #mais_sobremesa, #mais_carne, #mais_peixe {
  width: 94%;
  margin-left: 3%;
  margin-bottom: 10%;
}

#tempo_distancia_cadeira {
    z-index: 150;
    float: right;
    width: 320px;
    height: 98vh;
    /* margin-top: 7%; */
    margin-top: 9px;
    margin-right: 0.5%;
    border: 2px solid black;
    border-radius: 5px;
    background-color: #bfbfbf;
    font-size: 13px;
    color: black;
    padding: 10px;
    position: relative;
    overflow-y: scroll;
    overflow-x: hidden;
    cursor: pointer;
    padding-bottom: 10px;
}

#voltar {
    z-index: 999999;
    position: relative;
    margin-top: 47vh;
    float: right;
    cursor: pointer;
    margin-right: 2px;
}

#troco {
    padding-top: 10px;
    padding-bottom: 10px;
    border-top: 1px solid black;
    padding-left: 3%;
}

.troco {
    padding-top: 10px;
    padding-bottom: 10px;
    border-top: 1px solid black;
    padding-left: 3%;
}

.hover {
    background-color: white;
}

#troco:hover {
    background-color: white;
}

.troco:hover {
    background-color: white;
}

.top_info {
    background-color: black;
    color: white;
    padding-left: 1.5%;
    padding-right: 1.5%;
    text-align: center;
    /* margin-top: 0%; */
    border: 2px solid white;
    border-radius: 5px;
}

.imagens_pavimento_final {
    float: right;
    width: 55px;
    height: 72px;
    margin-top: -16.3%;
    margin-right: -4%;
}


/*
   *  STYLE scrollbar
   */

#tempo_distancia_cadeira::-webkit-scrollbar-track {
    border-radius: 10px;
    background-color: #444444;
}

#tempo_distancia_cadeira::-webkit-scrollbar {
    width: 12px;
    background-color: #F5F5F5;
}

#tempo_distancia_cadeira::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background-color: #D62929;
    background-image: -webkit-linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.4) 50%, transparent, transparent)
}


/*
   *  STYLE scrollbar FIM
   */

.force-overflow {
    min-height: 450px;
}

#tempo_distancia_cadeira::-webkit-scrollbar {
    width: 1em;
}

#tempo_distancia_cadeira::-webkit-scrollbar-thumb {
    background-color: darkgrey;
    outline: 1px solid slategrey;
}

.navbar {
    z-index: 99999;
    border-radius: 0;
    margin-bottom: 0px;
}

.camadas {
    margin-top: 0px;
    margin-left: 10px;
}

input[type="radio"],
input[type="checkbox"] {
    margin: 2px 10px 0px;
    margin-top: 1px \9;
    line-height: normal;
}

.container_principal {
    width: 100%;
    height: 100%;
}

.menu {
    width: 350px;
    height: 500px;
    margin: auto;
    /* border: 2px solid black; */
    margin-top: 10%;
}

.checkbox,
.radio {
    display: inline;
    background-color: black;
}

#switch {
    margin-top: 6%;
    /* right: 5px; */
    padding: 3px;
    border-radius: 4px;
    background-color: #0066cc;
    color: white;
    opacity: 0.7;
}

.edificios2 {
    background-color: #0047b3;
}

.iniciar {
    background-color: black;
    height: 150px;
    width: 150px;
    margin: auto;
    border-radius: 50%;
    border: 4px solid gray;
    margin-top: 15%;
    cursor: pointer;
    opacity: 0.7;
    box-shadow: 6px 6px 10px #222222;
}

@media screen and (max-width:1024px) {
    .iniciar {
        background-color: black;
        height: 100px;
        width: 100px;
        margin: auto;
        border-radius: 50%;
        border: 4px solid gray;
        margin-top: 70%;
        cursor: pointer;
        opacity: 0.7;
        box-shadow: 6px 6px 10px #222222;
    }
    .inicio_p {
        color: white;
        width: 62%;
        margin: auto;
        font-size: 16px;
        margin-top: 35%;
    }
}


/* Menu de camadas */

#layerswitcher {
    background-color: #0047b3;
    border-radius: 4px;
    color: white;
    opacity: 0.7;
}


/* Mapa */

#mapa {
    position: absolute;
    right: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

#mapa2 {
    position: absolute;
    right: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

#map {
    overflow-y: hidden;
    position: absolute;
    width: 100%;
    padding: 0;
}

.map {
    width: 100%;
    height: 100%;
}

.ol-zoom {
    top: 0.5em;
    left: 0.5em;
}


/* Fim do mapa */
