/* Estilos para os diversos elementos da página HTML. */
/* Extremamente útil caso queira ter um acesso maior à customização dos estilos */

@keyframes anim-pulse {
    0% { 
        opacity: 0;
        transform: scale(0.5);
    }
    50% {
        opacity: 1;
    }
    100% {
        opacity: 0;
        transform: scale(1.5);
    }
}

.icone_sidebar{
    font-size: 25px;
  }

.btn-sidebar{
    color: #394456;
    text-shadow: 1px 1px 3px rgba(49, 49, 49, 0.377);
    text-decoration: none !important;
    background-color:white;
    border-radius: 3px;
    height: 4vh;
    display: flex;
    align-items: center;
    justify-self: flex-start;
    font-weight: 400;
    font-size: 0.7vw;
    overflow: hidden;
}


.btn-sidebar:hover{
    color: white;
    background-color: #617492 !important;
}

.btn-sidebar:active{
    color: #455972;
    text-shadow: 1px 1px 3px rgba(49, 49, 49, 0.377);
    text-decoration: none !important;
    background-color:#1d6ae7;
    border-radius: 3px;
    height: 4vh;
    display: flex;
    align-items: center;
    justify-self: flex-start;
    font-weight: 400;
    font-size: 0.7vw;
    border-bottom: 2px solid #455972;
    border-top: 1px solid #3f4443;
    border-right: 1px solid #3f4443;
    background-color: #363b3a;
    overflow: hidden;
}


.marker-core {
    width: 14px;
    height: 14px;
    background-color: rgb(255, 0, 0);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.marker-ring {
    width: 30px;
    height: 30px;
    border: 3px solid rgb(255, 255, 255);
    border-radius: 50%;
    position: absolute;
    transform: translate(-50%, -50%);
    opacity: 0;
    animation: anim-pulse 2s ease-out infinite;
}

.marker-wrapper {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.texto-exemplo {
    margin-left: auto;
    margin-right: auto; 
    max-width: fit-content;
}

html, body {
    margin: 0; 
    height: 100%; 
    overflow: hidden
}

/* Grid
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.container {
    position: relative;
    width: 100%;
    max-width: fit-content;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box; }
  .column,
  .columns {
    width: 100%;
    float: left;
    box-sizing: border-box; }
  
  /* For devices larger than 400px */
  @media (min-width: 280px) {
    .container {
      width: 85%;
      padding: 0; }
  }
  
  /* For devices larger than 550px */
  @media (min-width: 850px) {
    .container {
      width: 92%; }
    .column,
    .columns {
      margin-left: 4%; }
    .column:first-child,
    .columns:first-child {
      margin-left: 0; }
  
    .one.column,
    .one.columns                    { width: 4.66666666667%; }
    .two.columns                    { width: 13.3333333333%; }
    .three.columns                  { width: 22%;            }
    .four.columns                   { width: 30.6666666667%; }
    .five.columns                   { width: 39.3333333333%; }
    .six.columns                    { width: 48%;            }
    .seven.columns                  { width: 56.6666666667%; }
    .eight.columns                  { width: 65.3333333333%; }
    .nine.columns                   { width: 74.0%;          }
    .ten.columns                    { width: 82.6666666667%; }
    .eleven.columns                 { width: 95.3333333333%; }
    .twelve.columns                 { width: 100%; margin-left: 0; }
  
    .one-third.column               { width: 30.6666666667%; }
    .two-thirds.column              { width: 65.3333333333%; }
  
    .one-half.column                { width: 48%; }
  
    /* Offsets */
    .offset-by-one.column,
    .offset-by-one.columns          { margin-left: 2.33333333334%;}
    .offset-by-two.column,
    .offset-by-two.columns          { margin-left: 17.3333333333%; }
    .offset-by-three.column,
    .offset-by-three.columns        { margin-left: 26%;            }
    .offset-by-four.column,
    .offset-by-four.columns         { margin-left: 34.6666666667%; }
    .offset-by-five.column,
    .offset-by-five.columns         { margin-left: 43.3333333333%; }
    .offset-by-six.column,
    .offset-by-six.columns          { margin-left: 52%;            }
    .offset-by-seven.column,
    .offset-by-seven.columns        { margin-left: 60.6666666667%; }
    .offset-by-eight.column,
    .offset-by-eight.columns        { margin-left: 69.3333333333%; }
    .offset-by-nine.column,
    .offset-by-nine.columns         { margin-left: 78.0%;          }
    .offset-by-ten.column,
    .offset-by-ten.columns          { margin-left: 86.6666666667%; }
    .offset-by-eleven.column,
    .offset-by-eleven.columns       { margin-left: 95.3333333333%; }
  
    .offset-by-one-third.column,
    .offset-by-one-third.columns    { margin-left: 34.6666666667%; }
    .offset-by-two-thirds.column,
    .offset-by-two-thirds.columns   { margin-left: 69.3333333333%; }
  
    .offset-by-one-half.column,
    .offset-by-one-half.columns     { margin-left: 52%; }
  
  }
  
  
  /* Base Styles
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
  /* NOTE
  html is set to 62.5% so that all the REM measurements throughout Skeleton
  are based on 10px sizing. So basically 1.5rem = 15px :) */

  body {
    font-weight: 300;
    font-family: "Open Sans", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: rgb(50, 50, 50); }
  
  
  /* Typography
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
  h1, h2, h3, h4, h5, h6 {
    margin-top: 5px;
    margin-bottom: 5px;
    color: rgb(255, 255, 255) 
  }
  /* h1 { font-size: 4.5rem; letter-spacing: -.1rem; margin-bottom: 2rem; }
  h2 { font-size: 3.6rem; letter-spacing: -.1rem; margin-bottom: 1.8rem; margin-top: 1.8rem;}
  h3 { font-size: 3.0rem; letter-spacing: -.1rem; margin-bottom: 1.5rem; margin-top: 1.5rem;}
  h4 { font-size: 2.6rem; letter-spacing: -.08rem; margin-bottom: 1.2rem; margin-top: 1.2rem;}
  h5 { font-size: 2.2rem; letter-spacing: -.05rem; margin-bottom: 0.6rem; margin-top: 0.6rem;}
  h6 { font-size: 2.0rem; letter-spacing: 0; margin-bottom: 0.75rem; margin-top: 0.75rem;} */
  
  p {
    margin-top: 0; }
  
  /* Links
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
  a {
    color: #1EAEDB;
    text-decoration: underline;
    cursor: pointer;}
  a:hover {
    color: #0FA0CE; }
  
  
  /* Buttons
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
  .button,
  button,
  input[type="submit"],
  input[type="reset"],
  input[type="button"] {
    height: 35px;
    padding: 0px;
    color: white;
    text-align: center;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .1rem;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    background-color: transparent;
    border-radius: 2px;
    border: 1px solid #bbb;
    cursor: pointer;
    box-sizing: border-box; }
  .button:hover,
  button:hover,
  input[type="submit"]:hover,
  input[type="reset"]:hover,
  input[type="button"]:hover,
  .button:focus,
  button:focus,
  input[type="submit"]:focus,
  input[type="reset"]:focus,
  input[type="button"]:focus {
    color: white;
    border-color: #888;
    outline: 0; }
  .button.button-primary,
  button.button-primary,
  input[type="submit"].button-primary,
  input[type="reset"].button-primary,
  input[type="button"].button-primary {
    color: #FFF;
    background-color: #33C3F0;
    border-color: #33C3F0; }
  .button.button-primary:hover,
  button.button-primary:hover,
  input[type="submit"].button-primary:hover,
  input[type="reset"].button-primary:hover,
  input[type="button"].button-primary:hover,
  .button.button-primary:focus,
  button.button-primary:focus,
  input[type="submit"].button-primary:focus,
  input[type="reset"].button-primary:focus,
  input[type="button"].button-primary:focus {
    color: #FFF !important;
    background-color: #1EAEDB;
    border-color: #1EAEDB; }
  
  
  /* Forms
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
  input[type="email"],
  input[type="number"],
  input[type="search"],
  input[type="text"],
  input[type="tel"],
  input[type="url"],
  input[type="password"],
  textarea,
  select {
    background-color: #fff;
    border: 1px solid #D1D1D1;
    border-radius: 4px;
    box-shadow: none;
    box-sizing: border-box;
    font-family: inherit;
    font-size: inherit; /*https://stackoverflow.com/questions/6080413/why-doesnt-input-inherit-the-font-from-body*/}
  /* Removes awkward default styles on some inputs for iOS */
  input[type="email"],
  input[type="number"],
  input[type="search"],
  input[type="text"],
  input[type="tel"],
  input[type="url"],
  input[type="password"],
  textarea {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none; }
  input[type="email"]:focus,
  input[type="number"]:focus,
  input[type="search"]:focus,
  input[type="text"]:focus,
  input[type="tel"]:focus,
  input[type="url"]:focus,
  input[type="password"]:focus,
  textarea:focus,
  select:focus {
    border: 1px solid #33C3F0;
    outline: 0; }
  label,
  legend {
    display: block;
    margin-bottom: 0px; }
  fieldset {
    padding: 0;
    border-width: 0; }
  input[type="checkbox"],
  input[type="radio"] {
    display: inline; }
  label > .label-body {
    display: inline-block;
    margin-left: .5rem;
    font-weight: normal; }
  
  
  /* Lists
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
  ul {
    list-style: circle inside; }
  ol {
    list-style: decimal inside; }
  ol, ul {
    padding-left: 0;
    margin-top: 0; }
  ul ul,
  ul ol,
  ol ol,
  ol ul {
    font-size: 90%; }
  
  /* Tables
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
  table {
    border-collapse: collapse;
  }
  th:not(.CalendarDay),
  td:not(.CalendarDay) {
    padding: 12px 15px;
    text-align: left;
    border-bottom: 1px solid #E1E1E1; }
  th:first-child:not(.CalendarDay),
  td:first-child:not(.CalendarDay) {
    padding-left: 0; }
  th:last-child:not(.CalendarDay),
  td:last-child:not(.CalendarDay) {
    padding-right: 0; }
  
  
  /* Spacing
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
  button,
  .button {
    margin-bottom: 0rem; }
  input,
  textarea,
  select,
  fieldset {
    margin-bottom: 0rem; }
  pre,
  dl,
  figure,
  table,
  form {
    margin-bottom: 0rem; }
  p,
  ul,
  /* ol {
    margin-bottom: 0.75rem; } */
  
  /* Utilities
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
  .u-full-width {
    width: 100%;
    box-sizing: border-box; }
  .u-max-full-width {
    max-width: 100%;
    box-sizing: border-box; }
  .u-pull-right {
    float: right; }
  .u-pull-left {
    float: left; }
  
  
  /* Misc
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
  hr {
    margin-top: 3rem;
    margin-bottom: 3rem;
    border-width: 0;
    border-top: 1px solid #E1E1E1; }
  
  
  /* Clearing
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
  
  /* Self Clearing Goodness */
  .container:after,
  .row:after,
  .u-cf {
    content: "";
    display: table;
    clear: both; }
  
  
  /* Media Queries
  –––––––––––––––––––––––––––––––––––––––––––––––––– */
  /*
  Note: The best way to structure the use of media queries is to create the queries
  near the relevant code. For example, if you wanted to change the styles for buttons
  on small devices, paste the mobile query code up in the buttons section and style it
  there.
  */
  
  .responsive-container {
    display: flex;
    flex-direction: column;
    gap: 20px;
}


  /* Larger than mobile */
  @media (min-width: 300px) {
    h5 { font-size: 1.1rem;}
    h6 { font-size: 1.0rem;}

    .div-box-custom { width:300px; font-size: 0.8rem;}
    .div-graph-custom { width:968px;}

    .logo-navbar-custom { height: 35px;}

    .accordion-button-custom { font-size: 0.5rem;
    }
  }
  
  /* Larger than phablet (also point when grid becomes active) */
  @media (min-width: 550px) {
    h5 { font-size: 1.3rem;}
    h6 { font-size: 1.2rem;}
    
    .div-box-custom { width:500px;}
    .div-graph-custom { width:968px;}

    .logo-navbar-custom { height: 35px;}

    .accordion-button-custom { font-size: 0.6rem;
    }
  }
  
  /* Larger than tablet */
  @media (min-width: 750px) {
    h5 { font-size: 1.4rem;}
    h6 { font-size: 1.3rem;}

    .div-box-custom { width:500px;}
    .div-graph-custom { width:98%;}

    .logo-navbar-custom { height: 30px;}

    .accordion-button-custom { font-size: 0.8rem;
    }
  }
  
  /* Larger than desktop */
  @media (min-width: 1000px) {
    h5 { font-size: 1.8rem; margin-top: 0.75rem;}
    h6 { font-size: 1.6rem;}

    .div-box-custom { width:400px;}

    .div-graph-custom { width:98%;}

    .logo-navbar-custom { height: 35px;}

    .accordion-button-custom { font-size: 0.8rem;
    }

    .responsive-container {
        flex-direction: row;
        align-items: flex-start;
    }

    .left-pane {
        flex: 1 1 50%;
        margin-right: 20px;
    }

    .right-pane {
        flex: 1 1 50%;
        display: flex;
        flex-direction: column;
        gap: 20px;
        height: 100%;
    }

  }

    /* Larger than Desktop HD */
  @media (min-width: 1650px) {
    h5 { font-size: 2.2rem; letter-spacing: 0; margin-top: 0.75rem;}
    h6 { font-size: 2.0rem; letter-spacing: 0; margin-top: 0.75rem;}

    .div-box-custom { width:600px;}
    .div-graph-custom { 
        width:98%;
    }

    .logo-navbar-custom { height: 60px;}
    
    .accordion-button-custom { font-size: 0.8rem;
    }

    .responsive-container {
        flex-direction: row;
        align-items: flex-start;
    }

    .left-pane {
        flex: 1 1 50%;
        margin-right: 20px;
    }

    .right-pane {
        /* margin-top: 50px; */
        flex: 1 1 50%;
        display: flex;
        flex-direction: column;
        gap: 30px;
        height: 100%;
    }

  }
/* Item inteiro */

.accordion-item {
    border: none;
    color: white;
    padding-bottom: 0;
    background-color: #455972;
    box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.1);
}

/* Botão customizado do cabeçalho */
.accordion-button-custom {
    display: flex;
    align-items: center;
    background-color: #394456;
    color: white;
    border-radius: 8px;
    height:25px;
    padding: 0.5rem 0.5rem;
    text-align: left;
    width: 100%;
    border: none;
}

.accordion-button-custom:hover {
    background-color: #617492;
    color: white;
}

/* Conteúdo do corpo */
.card-body, .accordion-body {
    color: white;
    background-color: #394456;
}

/* Estado expandido */
.accordion-button-custom.active {
    background-color: #617492;
    color: white;
    font-weight: bold;
}

.card-header {
  margin: 0;
  padding: 3px;
}

/* .leaflet-control-attribution{
  padding: 0 5px;
  color: rgb(51, 51, 51);
  background:rgba(92, 90, 90, 0.0);
  margin: 0
} */

.leaflet-container .leaflet-control-attribution{
  background-color: transparent !important;
  color: white;
  background: transparent !important;
  letter-spacing: 0.1;
  font-size: 0.65rem;
}