.step-process {
    position: relative;
    background: rgb(9,61,101);
    background: linear-gradient(0deg, rgb(9 61 101) 0%, rgb(0 31 63) 100%);
}

.step-process-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.step-process-bg img {
    mix-blend-mode: soft-light;
}

.step-process-overlay {
    position: relative;
    z-index: 1;
    padding: 65px 0;
}

.step-process-col {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 20px;
}

.step-process-wrapper {
    margin-bottom: -20px;
}

.step-process-circle {
    width: 80px;
    position: relative;
}

.step-process-circle i {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    font-size: 40px;
    color: #1A79B1;
}

.step-process-circle .icon-conversation {
    font-size: 32px;
}

.step-process-circle .icon-cold {
    font-size: 30px;
}

.step-process-col h3 {
    width: calc(100% - 80px);
    padding: 0 0 0 21px;
    font-size: 22px;
    color: #fff;
    font-weight: 400;
    font-family: "PT Sans Caption", sans-serif;
    line-height: 1.3em;
}

.step-process-col h3 span {
    display: block;
    font-family: "Jura", sans-serif;
    font-size: 16px;
    color: #C28100;
    font-weight: 700;
    text-transform: uppercase;
}

.step-process-curve {
    width: 100%;
    position: absolute;
    bottom: -1px;
    left: 0;
}

.step-process-top-content {
    margin-bottom: 15px;
}

@keyframes growProgressBar {
    0%,
    33% {
      --pgPercentage: 0;
    }
    100% {
      --pgPercentage: var(--value);
    }
  }
  
  @property --pgPercentage {
    syntax: "<number>";
    inherits: false;
    initial-value: 0;
  }
  
  div[role="progressbar"] {
    --size: 5rem;
    --fg: #C28100;
    --bg: rgba(0,31,63,0.38);
    --pgPercentage: var(--value);
    animation: growProgressBar 3s 1 forwards;
    width: var(--size);
    height: var(--size);
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: radial-gradient(
        closest-side,
        #001F3F 90%,
        transparent 0 99.9%,
        #001F3F 0
      ),
      conic-gradient(var(--fg) calc(var(--pgPercentage) * 1%), var(--bg) 0);
    font-family: Helvetica, Arial, sans-serif;
    font-size: calc(var(--size) / 5);
    color: var(--fg);
  }
  

@media(min-width: 768px) {
    .step-process-col {
        flex-direction: column;
        margin-bottom: 0;
        position: relative;
    }

    .step-process-col:after {
        content: "\e901";
        font-family: 'coolit-icon';
        position: absolute;
        right: -38px;
        top: 35px;
        font-size: 27px;
        color: #fff;
    }
    
    .step-process-col:last-child:after {
        display: none;
    }

    .step-process-circle {
        width: 112px;
        margin-bottom: 16px;
    }

    div[role="progressbar"] {
        --size: 7rem;
        background: radial-gradient(closest-side, #001F3F 90%, transparent 0 99.9%, #001F3F 0), conic-gradient(var(--fg) calc(var(--pgPercentage)* 1%), var(--bg) 0);
    }

    .step-process-col h3 {
        width: 100%;
        padding: 0;
        text-align: center;
    }

    .step-process-wrapper {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        margin-bottom: 0;
    }

    .step-process-circle i {
        font-size: 58px;
    }

    .step-process-circle .icon-conversation {
        font-size: 47px;
    }

    .step-process-circle .icon-cold {
        font-size: 44px;
    }

    .step-process-overlay {
        padding: 77px 0 118px;
    }

    .step-process-top-content {
        text-align: center;
    }    
}


@media(min-width: 1200px) {
    .step-process-overlay {
        padding: 91px 0 211px;
    }


    .step-process-col:after {
        right: -76px;
        font-size: 42px;
        top: 64px;
    }

    div[role="progressbar"] {
        --size: 11.7rem;
    }

    .step-process-circle {
        width: 187px;
        margin-bottom: 10px;
    }

    .step-process-wrapper {
        max-width: 1120px;
        margin: 0 auto;
    }

    .step-process-circle i {
        font-size: 96px;
    }

    .step-process-circle .icon-conversation {
        font-size: 77px;
    }

    .step-process-circle .icon-cold {
        font-size: 72px;
    }

    .step-process-col h3 {
        font-size: 30px;
        line-height: 1.1em;
    }

    .step-process-col h3 span {
        font-size: 18px;
    }
}

.bg--navy-blue + .step-process .step-process-overlay {
    padding-top: 0;
}

.circular-progress {
    --size: 187px;
    --half-size: calc(var(--size) / 2);
    --stroke-width: 10px;
    --radius: calc((var(--size) - var(--stroke-width)) / 2);
    --circumference: calc(var(--radius) * pi * 2);
    --dash: calc((var(--progress) * var(--circumference)) / 100);
    border-radius: 100%;
    background-color: #001F3F;
    width: 80px;
    height: 80px;
}

.circular-progress circle {
    cx: var(--half-size);
    cy: var(--half-size);
    r: var(--radius);
    stroke-width: var(--stroke-width);
    fill: none;
}

.circular-progress circle.bg {
    stroke: #022649;
}

.circular-progress circle.fg {
    transform: rotate(-90deg);
    transform-origin: var(--half-size) var(--half-size);
    stroke-dasharray: var(--dash) calc(var(--circumference) - var(--dash));
    transition: stroke-dasharray 0.3s linear 0s;
    stroke: #C28123;
}

@media (min-width: 768px) {
    .circular-progress {
        width: 112px;
        height: 112px;
    }
}

@media (min-width: 1200px) {
    .circular-progress {
        width: 187px;
        height: 187px;
    }
}