body {
    font-family: "Inter", sans-serif;
    font-size: 14px;
    color: white;
    font-optical-sizing: auto;
    font-weight: 400;
    letter-spacing: 0.37px;
    font-style: normal;
    line-height: normal;
    font-variation-settings:
            "slnt" 0;
    background-color: #060316;
    overflow-x: hidden;
    width:100vw;
}
img{
    max-width: 100%;
}
.navbar-toggler{
    color: #fff;
    border: none;
}
.navbar-toggler:focus{
    box-shadow: none;
}
.navbar-toggler span{
    filter: brightness(0) invert(1);
}
.navbar-dark{
    padding: 37px 0;
}
.navbar-expand-lg .navbar-nav .nav-link{
    color: #fff;
    font-weight: 400;
    font-size: 14px;
    padding: 10px 15px;
}
.navbar-nav .nav-link.active, .navbar-nav .nav-link.show, .navbar-nav .nav-link:hover{
    color: #57e5c8 !important;
}
.navbar-expand-lg .navbar-collapse{
    align-items: center;
}
.btn.btn-green{
    color: white;
    font-size: 14px;
    font-weight: 500;
    padding: 7px 26px 8px 26px;
    border-radius: 19px;
    background-image: linear-gradient(105deg, #2ba28a 0%, #199279 100%);
}
.btn.btn-outline-dark{
    margin: 0 0 0 7px;
    padding: 10px 14.5px 9px 15px;
    border-radius: 19px;
    border: solid 1px #514d6d;
    background-color: #060316;
    font-size: 14px;
    font-weight: 300;
    line-height: normal;
    letter-spacing: 0.37px;
    text-align: center;
    color: #fff;
}
.flag{
    width: 14px;
    height: 14px;
}
.text-green{
    color: #57e5c8;
}
.ripple-bg{
    margin-top: -150px;
    height: 455px;
    width: 100%;
    background-image: url("../img/ripple.svg");
    background-size: cover;
    background-position: 50% 69%;
}
.rain-bg{
    margin-top: -120px;
    height:350px;
    width: 100%;
    background-image: url("../img/rain.svg");
    background-size: cover;
    background-position: 50% 50%;
    transform: rotate(180deg);
}
.row{
    margin-left: 0;
    margin-right: 0;
}
#intro{
    padding: 190px 0 0;
}
#intro h1{
    font-size: 60px;
    font-weight: bold;
    line-height: normal;
    letter-spacing: 1.6px;
    text-align: center;
    color: #fff;
}
.description{
    font-size: 16px;
    font-weight: 300;
    line-height: normal;
    letter-spacing: 0.43px;
    text-align: center;
    max-width: 676px;
    margin: 0 auto;
}
.actions{
    margin-top: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 99px;
}
.up{
    z-index: 2;
    position: relative;
}
.btn.btn-outline{
    width: 141px;
    height: 38px;
    border-radius: 19px;
    border: solid 1px #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 0.37px;
    text-align: center;
    color: #fff;
}
.btn.btn-outline:last-child{
    margin-left: 15px;
}

.btn.btn-outline:hover,
.btn.btn-outline:focus{
    background-image: linear-gradient(105deg, #2ba28a 0%, #199279 100%);
    border:transparent;
}
.partners-title{
    font-size: 13px;
    font-weight: 300;
    line-height: normal;
    letter-spacing: 0.35px;
    text-align: center;
    color: #fff;
    margin-bottom: 22px;
}
.partners{
    display: flex;
    align-items: center;
    justify-content: center;
    gap:42px;
}
.section-title{
    font-size: 16px;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 0.43px;
    text-align: center;
    color: #57e5c8;
    margin-bottom: 8px;
}
.big-description{
    font-size: 50px;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 1.33px;
    text-align: center;
    color: #fff;
    max-width: 920px;
    margin: 0 auto 18px;
}
#about{
    position: relative;
    padding-top: 60px;
}
.about-img{
    margin: 49px auto 0;
    max-width: 100%;
}
.subtitle{
    font-size: 30px;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 0.8px;
    text-align: center;
    color: #fff;
    margin-top: -20px;
}
.crafting-description{
    font-size: 16px;
    font-weight: 300;
    line-height: 1.88;
    letter-spacing: 0.43px;
    text-align: center;
    color: #fff;
    max-width: 868px;
    margin: 0 auto 70px;
}
#solutions{
    padding-top: 60px;
}
#solutions .big-description{
    max-width: 875px;
}
.solutions-row{
    margin-top: 70px;
}
.solution-card{
    padding: 0 27px 18px;
    border-radius: 5px;
    border: solid 1px #1b1638;
    background-color: #0b0721;
    margin-bottom: 30px;
    overflow: hidden;
}
.oval{
    width: 158px;
    height: 40px;
    margin: 0 auto;
    object-fit: contain;
    -webkit-filter: blur(50px);
    filter: blur(50px);
    background-color: #57e5c8;
    position: absolute;
    top: -25px;
    left: 0;
    right: 0;
}
.solution-card img{
    width: 70px;
    margin: 20px auto;
}
.card-title{
    font-size: 18px;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0.48px;
    text-align: center;
    color: #fff;
    margin-bottom: 11px;
}
.card-description{
    font-size: 16px;
    font-weight: 300;
    line-height: normal;
    letter-spacing: 0.43px;
    text-align: center;
    color: #98a2b3;
    max-width: 326px;
    margin: 0 auto;
}
#contact{
    padding-top: 120px;
    padding-bottom: 150px;
    background-image: url("../img/contact-bg.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 1000px;
}
#contact .description{
    max-width: 600px;
    margin-bottom: 66px;
}
.form-container{
    max-width: 700px;
    padding: 0px 10px;
    margin: 0 auto;
}
.flex-1{
    flex: 200px;
}
.form-group{
    margin-bottom: 15px;
}
.form-control {
    padding:13px 16px;
    border-radius: 5px;
    border: solid 1px #1b1638;
    background-color: #0b0721;
    font-size: 16px;
    font-weight: 300;
    line-height: normal;
    letter-spacing: 0.43px;
    color: #fff;
    transition: all .3s;
}
.form-control:hover, .form-control:focus{
    border: solid 1px #199279;
    background-color: #0b0721;
    color: #fff;
    box-shadow:none;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus{
    -webkit-text-fill-color: white;
    -webkit-box-shadow: 0 0 0px 1000px  #0b0721 inset;
    box-shadow: 0 0 0px 1000px  #0b0721 inset;
    transition: background-color 5000s ease-in-out 0s;
    color: white;
    caret-color: #fff;
}

.form-control::placeholder{
    font-size: 16px;
    font-weight: 300;
    line-height: normal;
    letter-spacing: 0.43px;
    color: #837da2;
}
.btn.btn-submit{
    width: 100%;
    height: 52px;
    padding: 16px;
    border-radius: 5px;
    background-image: linear-gradient(94deg, #2ba28a 0%, #199279 100%);
    font-size: 16px;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0.43px;
    text-align: center;
    color: #fff;
}
.modal-body .btn.btn-submit{
    height: 60px;
}
.disabled{
    opacity: .5;
    pointer-events: none;
    border: none;
}
.btn.btn-transparent{
    padding: 0;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.57;
    letter-spacing: 0.37px;
    color: #57e5c8;
    background-color: transparent;
    border: none;
}
.footer{
    border-top: solid 1px #1b1638;
    border-bottom: solid 1px #1b1638;
    padding: 50px 0 64px;
}
.footer-content{
    display: flex;
    flex-wrap: wrap;
}
.footer-content div:first-child{
    flex: 500px
}
.footer-content div:not(:first-child){
    flex: 1;
    display: flex;
    flex-direction: column;
}
.footer-description{
    font-size: 14px;
    font-weight: 300;
    line-height: 1.57;
    letter-spacing: 0.37px;
    margin-top:22px;
    color: #fff;
    max-width: 500px;
}
.footer .text-green, .footer .text-green a{
    font-size: 14px;
    font-weight: 300;
    line-height: 1.57;
    letter-spacing: 0.37px;
    color: #57e5c8;
    text-decoration: none;
    margin-bottom: 0;
}

.footer .footer-title{
    font-size: 15px;
    font-weight: 400;
    line-height: 1.47;
    letter-spacing: 0.4px;
    color: #d6d2eb;
}
.footer a{
    font-size: 15px;
    font-weight: 300;
    line-height: 2.13;
    letter-spacing: 0.4px;
    color: #fff;
    text-decoration: none;
    transition: all .3s;
}
.footer a:hover, .footer a:focus{
    color: #57e5c8;
}
.footer .address{
    font-size: 15px;
    font-weight: 300;
    font-style: normal;
    line-height: 2.13;
    letter-spacing: 0.4px;
    color: #fff;
    margin-bottom: 5px;
}
.footer .text-gray{
    font-size: 15px;
    font-weight: 300;
    line-height: 1.47;
    letter-spacing: 0.4px;
    color: #d6d2eb;
}
.copyright{
    font-size: 14px;
    font-weight: 300;
    line-height: 1.57;
    letter-spacing: 0.37px;
    color: #9792b3;
    position: relative;
}
.copyright .btn.btn-outline-dark{
    position: absolute;
    left: 0;
    right: 0;
    top:-15px;
    max-width: 70px;
    margin: 0 auto;
    border: solid 1px #1b1638;
    padding: 5px 14.5px 4px 15px;
}
.modal-dialog{
    max-width: 670px;
    width: 100%;
}
.modal-content{
    border-radius: 10px;
    border: solid 1px #57e5c8;
    background-color: #0b0721;
    text-align: center;
    padding-top: 0px;
}
.modal-header{
    border: none;
    padding: 40px 25px 0;
}
.modal-body{
    padding: 0 80px 73px;
    background-image: url("../img/modal-bg.svg");
    background-repeat: no-repeat;
    background-position: bottom center;
    background-size: contain;
}
.modal-title{
    font-size: 50px;
    font-weight: 600;
    line-height: normal;
    letter-spacing: 1.33px;
    text-align: center;
    margin-top: 17px;
    margin-bottom: 8px;
}
.modal-body .description{
    margin-bottom: 32px;
}
.btn-close{
    opacity: 1;
    position: absolute;
    top: 25px;
    right: 25px;
    z-index: 1;
}
.btn-close img{
    width: 16px;
}
.modal-body .form-control{
    border-radius: 5px;
    border: solid 1px #302a4f;
    background-color: rgba(15, 10, 39, 0.9);
    padding: 19px 21px;
    margin-bottom: 20px;
}
.modal-body .form-control::placeholder{
    color: #8e84bc;
}
.modal-body .form-control:hover,
.modal-body .form-control:focus{
    border-color: #57e5c8;
}
.info-img{
    width: 22px;
    margin-right: 5px;
}
.toast-body{
    font-size: 16px;
    font-weight: 300;
    line-height: normal;
    letter-spacing: 0.43px;
    display: flex;
    gap: 10px;
 }
input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0;
}
.custom-file-upload {
    width: 100%;
    padding: 20px;
    border-radius: 5px;
    border: dotted 1px #57e5c8;
    background-color: #0f0a27;
    display: inline-block;
    cursor: pointer;
    margin-bottom: 20px;
    font-size: 16px;
    font-weight: normal;
    line-height: normal;
    letter-spacing: 0.43px;
    text-align: center;
    color: #fff;
}
.custom-file-upload img{
    margin-right: 10px;

}
.absolute{
    position: absolute;
    z-index: -1;
}
.top-0{
    top: 0;
}
.right-0{
    right: 0;
}
.left-0{
    left: 0;
}
.error{
    color:darkred;
    font-size: 14px;
    text-align: left;
    font-weight: 500;
}
.error-title{
    font-size: 60px;
    font-weight: bold;
    line-height: normal;
    letter-spacing: 1.6px;
    text-align: center;
    color: #fff;
}
.error-description{
    font-size: 16px;
    font-weight: normal;
    line-height: normal;
    letter-spacing: 0.43px;
    text-align: center;
    color: #fff;
}
.error-page .btn.btn-outline:last-child{
    margin: 40px auto 10px;
}
.error-page{
    background-image: url("../img/errors-bg.svg");
    background-position: bottom center;
    background-size: 1000px;
    background-repeat: no-repeat;
}
.web-only{
    display: block;
}
.mobile-only{
    display: none;
}
.toast-header{
    border-bottom:none;
    background-color: #0b0721;
}
.hidden{
    display: none;
}
.toast{
    padding: 5px 10px;
    border-radius: 5px;
    border: solid 1px #221d45;
    background-color: #110c32;
    position: relative;
}
.toast .btn-close{
    position: absolute;
    top: 5px;
    right: 8px;
}
#menuToggle input{
    opacity: 0;
}
@media(max-width: 1500px){
    .absolute{
        transform: scale(.5);
    }
    .right-0 {
        right: -15%;
    }
    .left-0{
        left:-15%
    }
}

@media (max-width: 1340px) {
    .footer-content div:first-child {
        flex: 400px;
    }
}
@media (max-width: 991px) {
    .navbar-nav .btn.btn-outline-dark{
        margin: 10px 0 10px 14px;
    }
    #menuToggle {
        position: absolute;
        right: 0;
        z-index: 1;
        -webkit-user-select: none;
        user-select: none;
        top: 53px;
    }

    #menuToggle input {
        display: block;
        width: 40px;
        height: 32px;
        left: -5px;
        cursor: pointer;
        opacity: 0;
        z-index: 2;
        position:relative;
        margin-left: auto;
        top: 10px;
        -webkit-touch-callout: none;
    }

    #menuToggle span {
        display: block;
        width: 30px;
        height: 2px;
        top: -8px;
        margin-left: auto;
        margin-bottom: 5px;
        position: relative;
        background: #FFFFFF;
        border-radius: 3px;
        z-index: 1;
        transform-origin: 4px 0px;
        transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
        background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
        opacity 0.55s ease;
    }

    #menuToggle span:first-child {
        transform-origin: 0% 0%;
    }

    #menuToggle span:nth-last-child(2) {
        transform-origin: 0% 100%;
    }

    #menuToggle input:checked ~ span {
        opacity: 1;
        transform: rotate(45deg) translate(-4px, -1px);
        background: #57e5c8;
    }

    #menuToggle input:checked ~ span:nth-last-child(3) {
        opacity: 0;
        transform: rotate(0deg) scale(0.2, 0.2);
    }

    #menuToggle input:checked ~ span:nth-last-child(2) {
        opacity: 1;
        transform: rotate(-45deg) translate(0, -1px);
    }

    #menu {
        padding: 20px 0;
        right: -66px;
        background: #060316;
        list-style-type: none;
        -webkit-font-smoothing: antialiased;
        transform-origin: 0% 0%;
        transform: translate(200%, 0);
        transition: transform 0.7s cubic-bezier(0.77,0.2,0.05,1.0);
        width: 720px;
    }

    #menuToggle input:checked ~ ul {
        transform: none;
    }
    .web-only{
        display: none;
    }
    .mobile-only{
        display: block;
        margin: 0 auto;
    }
    .partners{
        flex-wrap: wrap;
        padding: 0 15px;
    }
    .navbar-nav .nav-item .nav-link{
        font-size: 30px;
        font-weight: bold;
        font-stretch: normal;
        font-style: normal;
        line-height: 1.2;
        letter-spacing: 0.8px;
        color: #fff;
    }
    .navbar-brand{
        z-index: 2;
    }
    .navbar-collapse{
        padding-top: 20px;
    }
    .navbar-collapse.collapse.show{
        height: 100vh;
    }
    .hire-link.mobile-only{
        margin: 0 -8px;
        border-top: solid 1px #463d79;
        border-bottom: solid 1px #463d79;
        padding-top: 13px;
        padding-bottom: 17px;
    }
    .hire-link p{
        font-size: 30px;
        font-weight: bold;
        line-height: normal;
        letter-spacing: 0.8px;
        color: #fff;
        display: block;
        padding-left: 23px;
        margin-bottom: 6px;
    }
    .hire-link .btn.btn-transparent{
        padding-left: 23px;
    }
    .navbar-collapse .btn.btn-outline-dark {
        margin: 25px 0;
    }
    .nav-item {
        background-color: #060316;
    }
    #intro {
        padding: 50px 15px 0;
    }
    #intro h1 {
        font-size: 40px;
    }
    .description,.crafting-description {
        font-size: 14px;
        max-width: 550px;
    }
    .ripple-bg {
        margin-top: -150px;
        height: 300px;
    }
    #about {
        padding-top: 30px;
    }
    .big-description {
        font-size: 20px;
        max-width: 350px;
    }
    .card-title {
        font-size: 16px;
    }
    .card-description {
        font-size: 14px;
    }
    .rain-bg {
        margin-top: -120px;
        height: 250px;
    }
    .footer-content div:first-child {
        flex: 100%;
        margin-bottom: 30px;
    }
    .footer-description{
        max-width: unset;
    }
    .right-0 {
        display: none;
    }
    .left-0 {
        display: none;
    }
    .btn.btn-outline-dark{
        margin: 10px auto;
    }
    #menuToggle span {
        top: -19px;
    }
    #menuToggle input{
        top: 0;
    }
}

@media (max-width:767px) {
    .modal-dialog {
        max-width: 500px;
    }
    .modal-title {
        font-size: 25px;
    }
    .modal-body {
        padding: 0 15px 40px;
    }
    #menuToggle {
        top: 50px;
    }
    #menuToggle input {
        top: 15px;
    }
    #menu {
        margin-top: 20px;
        width: 100vw;
    }
    #menuToggle input:checked ~ ul {
        padding-left: 20px;
        height: 100vh;
    }
    .hire-link.mobile-only {
        margin: 0;
    }
    .hire-link p,
    .hire-link .btn.btn-transparent{
        padding-left: 18px;
    }

}

@media (max-width: 575px) {
    .error-title {
        font-size: 23px;
    }

    .error-description {
        font-size: 14px;
    }
    .modal-dialog {
        max-width: calc(100% - 30px);
    }
    #intro h1 {
        font-size: 25px;
    }
    #contact {
        padding-top: 30px;
        padding-bottom: 50px;
        background-size: contain;
    }
    .footer-content{
        display: block;
        text-align: center;
    }
    .footer-content div{
        margin-bottom: 20px;
    }
    .footer{
        padding: 30px 0 0;
    }
}
@media (max-width: 460px) {
    .d-flex.flex-wrap.gap-3{
        gap:0 !important
    }
}