html,body {
    height: 100%;
    margin: 0;
    font-family: "Nunito Sans", sans-serif;
    font-size: 18px;
    background: #0B144D;
}

.hero {
    height: 100vh;
    background: url("images/desktop-image.jpg") center center/cover no-repeat;
    position: relative;
    color: white;
    animation: fadeImage 1s ease forwards;
    @media (max-width: 1440px) {
        background-size: 128%;
    }

    @media (max-width: 1024px) {
        background: url("images/tab-bg.jpg");
        background-size: cover; }

    @media (max-width: 768px) {
        background: url("images/tab-bg-768.jpg");
        background-size: cover; }

    @media (max-width: 600px) {
        background: url("images/mobile-bg.jpg");
        background-size: cover; }
    @media only screen and (min-device-width: 520px) and (max-device-width: 900px) { 
        background-size: cover;background-position: top 34% center;
    }
}

.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg,rgba(0,0,0,0.45) 0%,rgba(0,0,0,0.1) 50%,rgba(0,0,0,0.2) 100%);
}

.hero-content {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    align-items: center;
    @media (max-width: 600px) {
        padding-left: 23px;
        padding-right: 23px; 
    }
    @media only screen and (min-device-width: 520px) and (max-device-width: 850px) {
        padding-left: 23px;
        padding-right: 23px;
        max-width: 80%;   
}
}

.logo {
    width: 151px;
    margin-bottom: 40px;
    animation: slideFade 1s ease forwards;
    @media (max-width: 1440px) {
        width: 120px;
        margin-bottom: 30px; }

    @media (max-width: 1024px) {
        width: 108.75px;
        margin-bottom: 26px; }

    @media (max-width: 600px) {
        width: 97.98px;
        margin-bottom: 22px; }
    @media only screen and (min-device-width: 520px) and (max-device-width: 850px) {
        
        
        
        width: 97.98px;
        margin-bottom: 12px;
        
        
         }
}

.title {
    font-size: 60px;
    font-weight: 700;
    line-height: 56px;
    margin-bottom: 45px;
    font-family: 'poppins';
    opacity: 0;
    transform: translateX(-40px);
    animation: slideFade 1s ease forwards;
    animation-delay: 0.5s;
    @media (max-width: 1440px) {
        font-size: 48px;
        line-height: 44px; margin-bottom: 40px; }

    @media (max-width: 1024px) {
        font-size: 43px;
        line-height: 40px; margin-bottom: 25px; }

    @media (max-width: 600px) {
        font-size: 38px;
        line-height: 36.34px; margin-bottom: 25px; }
    @media only screen and (min-device-width: 520px) and (max-device-width: 900px) { 
        font-size: 38px;
        line-height: 41.34px;
        margin-bottom: 25px;   
    }
}

.subtitle {
    font-size: 26px;
    margin-top: 50px;
    font-weight: 600;
    margin-bottom: 0;
    animation: slideFade 1.2s ease forwards;
    animation-delay: 1s;
    opacity: 0;
    @media (max-width: 1440px) {
        font-size: 22px;
        line-height: 18px; margin-top: 40px; }

    @media (max-width: 1024px) {
        font-size: 18px;
        line-height: 15px; margin-top: 27px; }

    @media (max-width: 600px) {
        font-size: 15px;
        line-height: 13px; margin-top: 28px; }
}

.btn {
    opacity: 0;
    animation: slideFade 1.2s ease forwards;
    animation-delay: 0.8s;
}

.btn-email {
    background: #FF5200;
    border: none;
    padding: 9px 32px;
    border-radius: 30px;
    font-weight: 600;
    color: #ffffff;
    display: inline-flex;
    vertical-align: top;
    @media (max-width: 1024px) {
        padding: 6px 30px;
        font-size: 15px; }

    @media (max-width: 600px) {
        
        
        padding: 6px 21px;
        font-size: 15px;
        
         }
}

.btn.btn-email:hover {
    background: #D74500;
    color: #ffffff;
}

.btn-phone {
    background: #0B144D;
    color: #fff;
    padding: 4.5px 27px;
    border-radius: 30px;
    margin-left: 5px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    vertical-align: top;
    @media (max-width: 1024px) {
        padding: 5px 27px;
        font-size: 15px;gap: 10px; }

    @media (max-width: 600px) {
        
        padding: 5px 20px;
        font-size: 15px;
        gap: 10px;
         }
}

.btn.btn-phone:hover {
    background: #040B35;
    color: #ffffff;
}

p.subtitle span {
    font-size: 30px;
    font-family: 'Poppins';
    font-weight: 400;
    margin-bottom: 0px;
    display: block;
    @media (max-width: 1440px) {
        font-size: 26px;
        line-height: 26px; }

    @media (max-width: 1024px) {
        font-size: 20px;
        line-height: 15px; }

    @media (max-width: 600px) {
        font-size: 17px;
        line-height: 14px; }
}

.footer {
    position: absolute;
    bottom: 30px;
    width: 100%;
    text-align: center;
    font-size: 12px;
    font-weight: 200;
    opacity: 0;
    animation: slideFade 1.2s ease forwards;
    animation-delay: 1.5s;
    @media (max-width: 1024px) {
        bottom: 25px;
    }
    @media only screen and (min-device-width: 520px) and (max-device-width: 900px) { 
        bottom: 15px;
    }
}

@media (max-width: 1024px) {
    a.btn.btn-phone img {
        max-width: 24px;
    }
}

@media (max-width: 400px) {
    .hero-content .col-lg-6 {
    margin-bottom: 110px;
}
}

/* Animations */
@keyframes fadeImage {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes slideFade {
    from {
        opacity: 0;
        transform: translateX(-40px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
