:root {
  --font-size: 0.8em;

  --bg1: #f5f8f7;
  --blue: #3498db;
  --green: #2ecc71;
  --purple: #9b59b6;
  --gold: #f1c40f;
  --red: #e74c3c;
  --orange: #e67e22;
  --shadow1: 0 2px 4px #00000026, 0 3px 6px #0000001f;
  --shadow2: 0 2px 6px #00000044, 0 4px 7px #00000022;
}

ul.infoGraphic {
  font-size: var(--font-size);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  li {
    position: relative;
    width: 100%;
    max-width: 27em;
    background: var(--bg1);
    border-radius: 0.5em;
    padding: 0.5em;
    z-index: 1;
    transition: all 0.2s;
    cursor: pointer;
    
    .numberWrap {
      position: absolute;
    }
    .number {
      font-family: "maven pro", sans-serif;
      font-size: 13em;
      font-weight: 900;
      width: 0.9em;
      text-align: center;
      &.fontColor1 {
        color: var(--blue);
      }
      &.fontColor2 {
        color: var(--green);
      }
      &.fontColor3 {
        color: var(--purple);
      }
      &.fontColor4 {
        color: var(--gold);
      }
      &.fontColor5 {
        color: var(--red);
      }
      &.fontColor6 {
        color: var(--orange);
      }
    }
    .coverWrap {
      transform: rotate(130deg);
      position: absolute;
      width: 18em;
      height: 15em;
      left: -3em;
      top: -1em;
      .numberCover {
        position: absolute;
        background: var(--bg1);
        width: 18em;
        height: 6em;
        border-radius: 50% 50% 0 0;
        border-bottom: 3px solid #f5f8f7;
        transition: all 0.4s;

        &::before {
          position: absolute;
          content: "";
          bottom: 5px;
          left: 4em;
          right: 4em;
          top: 5em;
          box-shadow: 0 0 30px 17px #48668577;
          border-radius: 100px / 10px;
          z-index: -1;
        }
        &::after {
          position: absolute;
          bottom: 0;
          content: "";
          left: -10%;
          width: 120%;
          height: 150%;
          background: radial-gradient(
            at bottom,
            #48668533,
            transparent,
            transparent
          );
          z-index: 1;
        }
      }
    }
    .content {
      margin: 8em 3em 1em 7em;
      position: relative;
      h2 {
        font-size: 1.7em;
        font-weight: 500;
        text-align: left;
        text-transform: uppercase;
      }
      p {
        line-height: 1.5em;
        text-align: left;
        font-size: 1.2em;
      }
    }
  }
}

ul.infoGraphic li:hover .coverWrap .numberCover {
  border-radius: 100%;
}


.icon {
  position: absolute;
  font-size: 2rem;
  text-align: center;
  top: -1.3em;
  left: 50%;
  transform: translatex(-50%);
  &:before {
    color: #666;
    font-family: FontAwesome;
    font-style: normal;
    font-weight: normal;
    text-decoration: inherit;
  }
}

.iconCodepen {
  &:before {
    content: "\f1cb";
  }
}

.iconSocial {
  &:before {
    content: "\f08a";
  }
}

.iconAirplane {
  &:before {
    content: "\f1d9";
  }
}

.iconMap {
  &:before {
    content: "\f278";
  }
}

.iconBulb {
  &:before {
    content: "\f0eb";
  }
}

.iconPeace {
  &:before {
    content: "\f25b";
  }
}

@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500&display=swap");

@import url("https://fonts.googleapis.com/css2?family=Maven+Pro:wght@800&display=swap");

html {
  height: 100%;
  box-sizing: border-box;
}
*,
*:before,
*:after {
  box-sizing: inherit;
}

.controls {
    position: fixed;
    z-index: 2;
    bottom: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    background: #d7d7d7a1;
    padding: .5rem 2em;
    border-top-right-radius: 1rem;
    border-top-left-radius: 1rem;
    border: 1px solid #0000004d;
}

.sliderBox {
  text-align: center;
  .range-value {
    font-weight: 500;
    font-size: 22px;
  }
}

input[type="range"] {
  width: 100%;
  margin: 1em 0;
  -webkit-appearance: none;
}
input[type="range"]:focus {
  outline: none;
}
input[type="range"]::-webkit-slider-runnable-track {
  background: #00000066;
  border: 0;
  border-radius: 1.3px;
  width: 100%;
  height: 2px;
  cursor: pointer;
}
input[type="range"]::-webkit-slider-thumb {
  margin-top: -10px;
  width: 20px;
  height: 20px;
  background: #eee;
  box-shadow: inset 0px 1px 1px #ffffff66, 0px 1px 3px rgba(0, 0, 0, 1);
  border: 1px solid rgba(0, 0, 0, 0);
  border-radius: 50px;
  cursor: pointer;
  -webkit-appearance: none;
}
input[type="range"]:focus::-webkit-slider-runnable-track {
  background: #eee;
}
input[type="range"]::-moz-range-track {
  background: #000;
  border: 0;
  border-radius: 1.3px;
  width: 100%;
  height: 1px;
  cursor: pointer;
}
input[type="range"]::-moz-range-thumb {
  width: 25px;
  height: 25px;
  background: #151728;
  border: 1px solid rgba(0, 0, 0, 0);
  border-radius: 50px;
  cursor: pointer;
}
input[type="range"]::-ms-track {
  background: transparent;
  border-color: transparent;
  border-width: 13px 0;
  color: transparent;
  width: 100%;
  height: 1px;
  cursor: pointer;
}
input[type="range"]::-ms-fill-lower {
  background: #151728;
  border: 0;
  border-radius: 2.6px;
}
input[type="range"]::-ms-fill-upper {
  background: #151728;
  border: 0;
  border-radius: 2.6px;
}
input[type="range"]::-ms-thumb {
  width: 25px;
  height: 25px;
  background: #151728;
  border: 1px solid rgba(0, 0, 0, 0);
  border-radius: 50px;
  cursor: pointer;
  margin-top: 0px;
  /*Needed to keep the Edge thumb centred*/
}
input[type="range"]:focus::-ms-fill-lower {
  background: #ffffff;
}
input[type="range"]:focus::-ms-fill-upper {
  background: #ffffff;
}

blockquote{
  font-size: 17px;
  width:100%;
  margin:50px auto;
  color: #000;
  padding:1.2em 30px 1.2em 75px;
  border-left:8px solid #1857A3 ;
  line-height:1.6;
  position: relative;
  background:#EDEDED;
}

blockquote::after{
  content: '';
}

blockquote span{
  display:block;
  color:#333333;
  font-style: normal;
  font-weight: bold;
  margin-top:1em;
}

.h4_linespace {
        line-height: 1.5;
    }
    .lineheight {
        line-height: 28px !important;
        margin: 40px 0px 20px 0px !important;
    }
    
    /* Estilos para as etapas de análise */
    .etapas-container {
        margin-top: 30px;
        position: relative;
    }
    
    .etapa-item {
        background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
        border: 2px solid #dee2e6;
        border-radius: 15px;
        padding: 25px;
        margin-bottom: 30px;
        position: relative;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        transition: all 0.3s ease;
    }
    
    .etapa-item:hover {
        transform: translateY(-5px);
        box-shadow: 0 8px 15px rgba(0, 0, 0, 0.15);
        border-color: #1857A3;
    }
    
    .etapa-numero {
        background: 1857A3;
        color: white;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: bold;
        font-size: 18px;
        position: absolute;
        top: -20px;
        left: 25px;
        box-shadow: 0 4px 8px #1857A3;
    }
    
    .etapa-titulo {
        color: #1857A3;
        font-size: 20px;
        font-weight: 600;
        padding-top: 5px;
    }
    
    .etapa-conteudo {
        margin-left: 20px;
        line-height: 1.6;
        color: #495057;
    }
    
    .seta-proxima {
        text-align: center;
        margin: 20px 0;
        position: relative;
    }
    
    .seta-proxima i {
        font-size: 24px;
        color: #1857A3;
        animation: bounce 2s infinite;
    }
    
    .seta-proxima::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 50px;
        height: 50px;
        background: rgba(40, 167, 69, 0.1);
        border-radius: 50%;
        z-index: -1;
    }
    
    @keyframes bounce {
        0%, 20%, 50%, 80%, 100% {
            transform: translateY(0);
        }
        40% {
            transform: translateY(-10px);
        }
        60% {
            transform: translateY(-5px);
        }
    }
    
    .etapa-item:last-child + .seta-proxima {
        display: none;
    }
    
    /* Cores alternadas para as etapas */
    .etapa-item:nth-child(4n+1) .etapa-numero {
        background: #1857A3;
    }
    
    .etapa-item:nth-child(4n+2) .etapa-numero {
        background: #1857A3;
    }
    
    .etapa-item:nth-child(4n+3) .etapa-numero {
        background: #1857A3;
    }
    
    .etapa-item:nth-child(4n+4) .etapa-numero {
        background: #1857A3;
    }
    
    /* Responsividade */
    @media (max-width: 768px) {
        .etapa-item {
            padding: 20px 15px;
        }
        
        .etapa-numero {
            width: 35px;
            height: 35px;
            font-size: 16px;
            left: 15px;
        }
        
        .etapa-titulo {
            font-size: 18px;
            margin-left: 50px;
        }
        
        .etapa-conteudo {
            margin-left: 10px;
        }
    }

/* --- Ajustes para dispositivos mobile --- */
@media (max-width: 767px) {
  ul.infoGraphic li {
    width: 100%;
    margin: 60px 0 0 0;
  }
}

/* --- Ajuste para tablets --- */
@media (min-width: 768px) and (max-width: 991px) {
  ul.infoGraphic li {
    width: 48%;
    max-width: 48%;
    margin-bottom: 30px;
    display: inline-block;
    vertical-align: top;
  }
}
