/*fuente  principal*/
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:root {
  --mainColor: #f6f7fa;
  --mainblue: #004884;
  --secondaryBlue: #e6effd;
  --hoverblue: #3366cc;
  --hoverBlue2: #306eea;
  --thirdblue: #1d42ff;
  --blue1cero1: #17599b;
  --mainColorMunicipio: #214575;
  --white: #fff;
  --black: #000;
  --textbutton: #1c4884;
  --gray: #e7e7e7;
  --gray2: #757575;
}
html {
  scroll-behavior: smooth;
  height: auto;
  min-height: 1300px;
  overflow: hidden;
}

body {
  font-family: "Montserrat", sans-serif;
  width: 100%;
  height: 100vh;
}

/* Estilos para las scroll bars  */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-thumb {
  background-color: var(--mainColorMunicipio);
  border-radius: 6px;
}

::-webkit-scrollbar-track {
  background-color: #fff;
}

/* Animaciones para el header */

@keyframes slideInDown {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}

/* Estilo de la transición de izquierda a derecha */
@keyframes slideInLeft {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }
}

@keyframes slideInRight {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(0);
  }
}

/* Estilo de la aparición gradual de la imagen */
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* Estilo de la transición de la barra de carga */
@keyframes expandWidth {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}

/* Estilos tooltips  */

.tippy-box {
  background-color: white;
  color: black;
  box-shadow: 0px 10px 15px -3px rgba(0, 0, 0, 0.1),
    0px 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.tippy-content {
  background-color: white;
  color: black;
}

.tippy-arrow::before {
  border-top-color: white !important;
}

.tippy-theme-light .tippy-backdrop {
  background: rgba(255, 255, 255, 0.9);
}

/* Estilos spinner  */

.loader {
  width: 50px;
  aspect-ratio: 1;
  display: grid;
  border: 4px solid #0000;
  border-radius: 50%;
  border-right-color: var(--mainColorMunicipio);
  animation: l15 1s infinite linear;
}
.loader::before,
.loader::after {
  content: "";
  grid-area: 1/1;
  margin: 2px;
  border: inherit;
  border-radius: 50%;
  animation: l15 2s infinite;
}
.loader::after {
  margin: 8px;
  animation-duration: 3s;
}
@keyframes l15 {
  100% {
    transform: rotate(1turn);
  }
}

.loader2 {
  width: 50px;
  height: 10px;
  -webkit-mask: conic-gradient(
        from 135deg at top,
        #0000,
        var(--mainColorMunicipio) 0.5deg 90deg,
        #0000 90.5deg
      )
      0 0,
    conic-gradient(
        from -45deg at bottom,
        #0000,
        var(--mainColorMunicipio) 0.5deg 90deg,
        #0000 90.5deg
      )
      0 100%;
  -webkit-mask-size: 25% 50%;
  -webkit-mask-repeat: repeat-x;
  background: linear-gradient(var(--mainColorMunicipio) 0 0) left/0% 100%
    no-repeat #ddd;
  animation: l13 2s infinite linear;
}
@keyframes l13 {
  100% {
    background-size: 100% 100%;
  }
}

.loader3 {
  width: 60px;
  aspect-ratio: 1;
  position: relative;
}
.loader3:before,
.loader3:after {
  content: "";
  position: absolute;
  border-radius: 50%;
  inset: 0;
  background: radial-gradient(circle 10px, var(--mainColorMunicipio) 94%, #0000),
    repeating-conic-gradient(
      from -30deg,
      #0000 0 60deg,
      var(--mainColorMunicipio) 61deg 120deg
    );
  -webkit-mask: radial-gradient(
    circle 15px,
    #000 calc(100% - 6px),
    #0000 calc(100% - 5px) 94%,
    #000
  );
}
.loader3:after {
  animation: l4 1s infinite;
  transform: perspective(300px) translateZ(0px);
}
@keyframes l4 {
  to {
    transform: perspective(300px) translateZ(150px);
    opacity: 0;
  }
}
