.three-box-inner {
    display: flex;
    align-items: center;
    border-radius: 87.5px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    /* background: linear-gradient(100deg, #102A1C 0.91%, #000 51.03%, #040F09 92.16%); */
    padding: 30px;
    --bg-size: 300%;
    --color-one: #102A1C;
    --color-two: #040F09;
    background: linear-gradient(-75deg,
            #102A1C,
            #000,
            #102A1C) 0 0 / var(--bg-size) 100%;
    animation: move-bg 11s linear infinite;
}

.three-boxs-sec .col-md-4:nth-child(2) .three-box-inner {
    animation-delay: 1s;
}

.three-boxs-sec .col-md-4:nth-child(3) .three-box-inner {
    animation-delay: 2s;
}


.three-box-icon {
    background-color: #102B1C;
    box-shadow: 0px 5px 0px 0px #0D3B22 inset;
    min-width: 110px;
    min-height: 110px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 20px;
}

.three-box-subtitle {
    color: #FFF;
    font-size: 22px;
    font-style: normal;
    font-weight: 300;
    line-height: 34px;
}

.three-box-title {
    font-size: 36px;
    font-style: normal;
    font-weight: 800;
    line-height: 38.08px;
    text-transform: uppercase;
}

.bg-text-animate {
    --bg-size: 400%;
    --color-one: #1DCC6D;
    --color-two: #198BAE;
    background: linear-gradient(45deg,
            #1DCC6D,
            #198BAE,
            #1DCC6D) 0 0 / var(--bg-size) 100%;
    color: transparent;
    background-clip: text;
}

@media (prefers-reduced-motion: no-preference) {
    .bg-text-animate {
        animation: move-bg 11s linear infinite;
    }

    @keyframes move-bg {
        to {
            background-position: var(--bg-size) 0;
        }
    }
}





.join-sec-inner {
    border-radius: 20px;
    background: #0F151C;
    position: relative;
    overflow: hidden
}

.join-sec-inner:before,
.join-sec-inner:after {
    width: 400px;
    height: 400px;
    flex-shrink: 0;
    border-radius: 100%;
    opacity: 0.2;
    background: #1DCF6A;
    filter: blur(78.5px);
    position: absolute;
    right: -50px;
    top: -100px;
    content: '';
    animation: moveAnimateCirle 5s infinite;
}

.join-sec-inner:after {
    animation-direction: reverse;
}

@keyframes moveAnimateCirle {
    0% {
        transform: translate(0, 0)
    }

    50% {
        transform: translate(-100px, 0)
    }

    100% {
        transform: translate(0, 0)
    }
}



.join-sec-inner:after {
    width: 308px;
    height: 308px;
    border-radius: 100%;
    opacity: 0.2;
    background: #144BEB;
    filter: blur(78.5px);
    right: auto;
    top: auto;
    left: 20%;
    bottom: -10%;
}

.join-sec-left {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    transform: translateX(-45%);
}

.join-sec-right {
    margin-left: 53%;
    padding: 50px 0;
    position: relative;
    z-index: 3;
}

.join-sec-num-wrapper {
    margin-top: 35px;
}

.join-sec-subtitle {
    color: #FFF;
    font-size: 32px;
    font-style: normal;
    font-weight: 300;
    line-height: 1.3;
    margin-bottom: 5px;
}

.join-sec-title {
    font-size: 70px;
    font-style: normal;
    font-weight: 800;
    line-height: 0.9;
    text-transform: uppercase;
}

.join-sec-num-list {
    margin-bottom: 50px;
}

.join-sec-num-title {
    font-size: 80px;
    font-style: normal;
    font-weight: 300;
    line-height: 1;
    margin-bottom: 10px;
}

.join-sec-num-title sub {
    font-size: 60%;
    vertical-align: top;
    position: static;
    line-height: 1.3;
}

.join-sec-num-name {
    color: #FFF;
    font-size: 30px;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    text-transform: capitalize;
    margin-left: 10px;
}

.join-sec-num-list:nth-child(1) .join-sec-num-title {
    background: linear-gradient(94deg, #165CDC 5.44%, #8FB0EC 90.94%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.join-sec-num-list:nth-child(2) .join-sec-num-title {
    background: linear-gradient(92deg, #1DCE6B 10.41%, #8EF6BC 96.12%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.join-sec-num-list:nth-child(3) .join-sec-num-title {
    background: linear-gradient(91deg, #308F99 7.25%, #23747D 93.53%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* .app-block {
    padding-top: 50px;
    min-height: 78vw;
    position: relative;
} */

.app-desk {
    padding-top: 27vw;
}
.phone-app {
    position: absolute;
    top: -5vw;
    right: -3vw;
    width: 48vw;
    height: 74vw;
    perspective: 6500px;
}

.phone-phone {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background: url(../img/phone.jpg) no-repeat 0% 0%;
    background-size: contain;

    -webkit-mask-image: url(../img/phone-mask.png);
    -webkit-mask-size: contain;
    mask-image: url(../img/phone-mask.png);
    mask-size: contain;
}

.app-wrap {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background: #0d0d0f;

    -webkit-mask-image: url(../img/app-mask.png);
    -webkit-mask-size: contain;
    mask-image: url(../img/app-mask.png);
    mask-size: contain;
}

.app-display {
    position: absolute;
    width: 24vw;
    height: 49.7vw;
    overflow: hidden;
    left: 12vw;
    top: 1.5vw;
    transform: rotateX(39.5deg) rotateY(-7deg) rotateZ(38deg) translate3d(26.7%, 15%, 11.62vw);
    transform-origin: 50% 50% 0px;
}

.app-time {
    position: absolute;
    top: 1.3vw;
    left: 3.72vw;
    color: #FFF;
    font-size: 1.1vw;
    transform: rotate3d(0, 0, 1, -3deg);
}



.app-display-full {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 171%;
    background: url(../img/mobile-app.jpg) no-repeat;
    background-size: contain;

}



.app-btns {
    position: relative;
    float: left;
    width: 100%;
    margin-top: 4vw;
    font-size: 2.5vw;
}

.btn-link {
    position: relative;
    display: inline-block;
    border: 2px solid #FFF;
    padding: 0.2em 0.3em 0.01em 0.3em;
    border-radius: 150px;
    text-transform: uppercase;
}

.btn-link-big {
    position: relative;
    display: inline-block;
    border: 3px solid #FFF;
    padding: 0.2em 0.3em 0.01em 0.3em;
    border-radius: 150px;
    text-transform: uppercase;
    cursor: pointer;
}


body.apple:not(.firefox) .btn-link-big,
body.ios:not(.firefox) .btn-link-big,
body.mac-os-x:not(.firefox) .btn-link-big,
body.apple:not(.firefox) .btn-link,
body.ios:not(.firefox) .btn-link,
body.mac-os-x:not(.firefox) .btn-link {
    padding: 2px 1.3vw;
}


@media (orientation: portrait) {

    body.apple:not(.firefox) .btn-link-big,
    body.ios:not(.firefox) .btn-link-big,
    body.mac-os-x:not(.firefox) .btn-link-big,
    body.apple:not(.firefox) .btn-link,
    body.ios:not(.firefox) .btn-link,
    body.mac-os-x:not(.firefox) .btn-link {
        padding: 2px 2.8vw;
    }
}





.footer-call-for-action {
    position: relative;
    text-align: center;
    font-size: 5vw;
    padding-top: 3vw;
    padding-bottom: 16vw;
}


@media (orientation: portrait) {

    .app-desk {
        padding-top: 116vw;
    }

    .phone-app {
        left: -20px;
        width: 90vw;
        height: 142.4vw;
        top: 16vw;
    }

    .app-display {
        width: 45.34vw;
        height: 86.02vw;
        left: 24.58vw;
        top: 4.33vw;
        transform: rotateX(39.5deg) rotateY(-7deg) rotateZ(38deg) translate3d(26.7%, 15%, 20.11vw);
    }

    .app-time {
        top: 2.25vw;
        left: 6.44vw;
        font-size: 1.9vw;
    }

    .app-btns {
        font-size: 4vw;
    }

    .footer-call-for-action {
        font-size: 8vw;
        padding-top: 24vw;
        padding-bottom: 25vw;
    }

}

@media (orientation: portrait) and (max-width: 600px) {

    .phone-app {
        top: 30vw;
    }

    .regular-block-right.app-desk {
        width: 89%;
        padding-top: 126vw;
    }

    .app-btns {
        font-size: 5.85vw;
    }


}