* {
    box-sizing: border-box;
}

body {
    background: #1E1E1E;
    color: #ffffff;
    overflow-x: hidden;
    --page-height: 100vh;
}

.modal-content {
    background: #1E1E1E;
    border-radius: 0.1rem;
    height: 32rem;
    overflow: hidden;
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
}

.bg-color-1 {
    width: 50%;
    height: 50%;
    background-color: #08E294;
    position: absolute;
    left: 3.75rem;
    top: -10rem;
    opacity: 0.86;
    filter: blur(6.25rem);
    border-radius: 1.25rem;
    transform: rotate(-41.74deg);
    z-index: 0;
}

.bg-color-2 {
    width: 50%;
    height: 50%;
    background-color: #08A1E2;
    position: absolute;
    left: 18.75rem;
    top: 22rem;
    opacity: 0.86;
    filter: blur(6.25rem);
    border-radius: 1.25rem;
    transform: rotate(-41.74deg);
    z-index: 0;
}

.modal-title {
    font-family: "Bahnschrift";
    font-style: normal;
    font-weight: 43.75rem;
    font-size: 2vw;
    text-align: justify;
    text-transform: uppercase;
    color: #ffffff;
}

.form-control {
    background: #0000006d;
    font-family: "Bahnschrift";
    font-style: normal;
    font-weight: 18.75rem;
    font-size: 1.2vw;
    color: #b3f5fa;
    border: none;
}

.form-control:focus {
    background: #0000006d;
    color: #b3f5fa;
}

.modal-btn {
    border: 0.1rem solid #08a1e2;
    border-radius: 1rem;
    font-family: "Bahnschrift";
    font-style: normal;
    font-weight: 43.75rem;
    font-size: 1.2vw;
    text-align: center;
    text-transform: uppercase;
    color: #ffffff;
    width: 11.25rem;
    height: 2.5rem;
}

.modal-btn:hover {
    color: #ffffff;
}

textarea {
    resize: none;
    height: 7.6rem;
}

.flex-container {
    margin-left: 10rem;
    margin-right: 10rem;
}

.title {
    border-bottom: 0.2rem solid #08A1E2;
    font-size: 2.2vw;
}

.custom-text {
    font-family: 'Bahnschrift';
    font-style: normal;
    font-weight: normal;
    font-size: 1.5vw;
    text-align: justify;
}

.text-height-tech {
    margin-left: 4.3rem;
}

.text-height-app {
    margin-left: 4.3rem;
}

.tech-btn {
    background: #08A1E2;
    color: #ffffff;
    width: 6.2rem;
    font-family: 'Bahnschrift';
    font-style: normal;
    font-weight: 25rem;
    font-size: 1.2vw;
    text-align: center;
    margin-top: 3rem;
}

.service-btn {
    background: none;
    color: #ffffff;
    width: 6.2rem;
    border: 0.1rem solid #08A1E2;
    font-family: 'Bahnschrift';
    font-style: normal;
    font-weight: 25rem;
    font-size: 1.2vw;
    text-align: center;
}

.app-btn {
    background: none;
    color: #ffffff;
    width: 10rem;
    border: 0.1rem solid #08A1E2;
    font-family: 'Bahnschrift';
    font-style: normal;
    font-weight: 25rem;
    font-size: 1.2vw;
    text-align: center;
}

.app-btn:hover {
    color: #ffffff;
}

.service-btn:hover {
    color: #ffffff;
}

.tech-btn:hover {
    color: #ffffff;
}

.map-img {
    width: 100%;
    height: 28.4rem;
    object-fit: cover;
}

.custom-footer-text {
    font-family: 'Bahnschrift';
    font-style: normal;
    font-weight: 22rem;
    font-size: 1.2vw;
    text-align: center;
    color: #ffffff;
    margin: 0;
}

.bg-color-3 {
    width: 30%;
    height: 30%;
    background-color: #08A1E2;
    position: absolute;
    opacity: 0.86;
    filter: blur(7.5rem);
    left: 50%;
    top: calc(163rem / var(--page-height) * 100%);
    transform: translate(-50%, -50%);
    z-index: -1;
}

.custom-list a {
    text-decoration: none;
    color: #ffffff;
    font-family: 'Bahnschrift';
    font-style: normal;
    font-weight: 25rem;
    font-size: 1.5vw;
    z-index: 1;
    position: relative;
    border-bottom: none;
}

.custom-list a.active {
    border-bottom: 0.2rem solid #08A1E2;
}

.banner {
    width: 100%;
    height: 17rem;
    background: #292929;
    overflow: hidden;
    position: relative;
}

.banner-content {
    margin-left: 7.5rem;
    z-index: 1;
}

.banner-img {
    right: 0;
    top: 3.75rem;
    position: absolute;
    z-index: 0;
    width: 25rem;
    height: 25rem;
}

.bg-color-4 {
    width: 30%;
    height: 40%;
    background-color: #08E294;
    position: absolute;
    opacity: 0.86;
    filter: blur(5rem);
    left: -6.25rem;
    top: 3rem;
    z-index: 0;
}

.bg-color-5 {
    width: 30%;
    height: 40%;
    background-color: #08A1E2;
    position: absolute;
    opacity: 0.86;
    filter: blur(5rem);
    right: 0;
    top: 12.5rem;
    z-index: 0;
}

.insar-btn {
    color: #ffffff;
    border: 0.1rem solid #08A1E2;
    border-radius: 1rem;
    font-size: 1.2vw;
}

.insar-btn:hover {
    color: #ffffff;
}

.banner-font-1 {
    font-family: 'Bahnschrift';
    font-style: normal;
    font-weight: 25rem;
    font-size: 2.8vw;
}

.banner-font-2 {
    font-family: 'Bahnschrift';
    font-style: normal;
    font-weight: 25rem;
    font-size: 2.8vw;
}

.custom-banner-font {
    font-family: 'Bahnschrift';
    font-style: normal;
    font-weight: 25rem;
    font-size: 1.5vw;
}

.logo {
    margin-left: 6.25rem;
}

.nav-bar {
    margin-right: 7.5rem;
}

@media screen and (min-width: 1640px) {
    .banner {
        height: 22rem;
    }

    .banner-img {
        width: 30rem;
        height: 30rem;
        top: 5.75rem;
    }

    .logo {
        width: 14rem;
    }

    .nav-bar {
        margin-right: 9rem;
    }

    .tech-btn {
        width: 7.2rem;
        height: 3rem;
    }

    .service-btn {
        width: 7.2rem;
        height: 3rem;
    }

    .app-btn {
        width: 12rem;
        height: 3.2rem;
    }

    .insar-btn {
        width: 12rem;
        height: 3.2rem;
    }

    .footer-logo {
        width: 40rem;
    }

    .modal-dialog {
        max-width: 60%;
    }

    .modal-content {
        height: 100%;
    }

    textarea {
        height: 10rem;
    }

    .modal-btn {
        width: 15rem;
        height: 4rem;
    }

    .map-img {
        height: 40rem;
    }
}

@media screen and (min-width: 2100px) {
    .banner {
        height: 28rem;
    }

    .banner-img {
        width: 38rem;
        height: 38rem;
        top: 7.75rem;
    }

    .logo {
        width: 18rem;
    }

    .nav-bar {
        margin-right: 11rem;
    }

    .tech-btn {
        width: 9rem;
        height: 4rem;
    }

    .service-btn {
        width: 9rem;
        height: 4rem;
    }

    .app-btn {
        width: 16rem;
        height: 4.5rem;
    }

    .insar-btn {
        width: 16rem;
        height: 4.5rem;
    }

    .footer-logo {
        width: 50rem;
    }

    textarea {
        height: 15rem;
    }

    .modal-btn {
        width: 18rem;
        height: 5.5rem;
    }

    .map-img {
        height: 50rem;
    }
}

@media screen and (max-width: 1000px) {
    .flex-container {
      flex-direction: column;
    }

    .text-height-tech {
      margin-left: 0;
    }

    .flex-container {
        margin-left: 0;
        margin-right: 0;
    }

    .title {
        margin-top: 2rem;
    }

    .service-img {
        margin-left: 0 !important;
        margin-top: 2rem;
    }

    .custom-text {
        margin-right: 0 !important;
    }

    .text-height-app {
        margin-left: 0;
    }

    .company-img {
        margin-right: 20px;
        margin-top: 2rem;
    }

    .banner-content {
        margin-left: 2rem;
    }

    .banner-img {
        width: 20rem;
        height: 20rem;
        top: 6rem;
    }

    .logo {
        width: 8rem;
        height: 8rem;
        margin-left: 2rem;
    }

    .footer-logo {
        width: 25rem;
    }

    .nav-bar {
        margin-right: 6rem;
    }

    .map-img {
        height: 20rem;
    }

    .modal-btn {
        width: 6rem;
        height: 2rem;
    }

    .modal-content {
        height: 50%;
    }

    .modal-body {
        margin-left: 2rem;
        margin-right: 2rem;
    }
}
