/*======================================================
                POINTECH SOLUTIONS
                STYLE.CSS
======================================================*/

/*======================================================
                GOOGLE FONT
======================================================*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

/*======================================================
                CSS VARIABLES
======================================================*/

:root{

    --primary:#8B0000;
    --secondary:#B22222;
    --accent:#FFD54F;
    --gold:#FFC107;
    --white:#ffffff;
    --light:#FFF8F0;
    --gray:#666666;
    --dark:#222222;
    --border:#ececec;

    --radius:12px;
    --shadow:0 10px 35px rgba(0,0,0,.12);

    --transition:.35s ease;

}

/*======================================================
                RESET
======================================================*/

*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:'Poppins',sans-serif;
    background:#ffffff;
    color:var(--dark);
    line-height:1.7;
    overflow-x:hidden;

}

img{

    max-width:100%;
    display:block;

}

a{

    text-decoration:none;
    transition:var(--transition);

}

ul{

    list-style:none;
    margin:0;
    padding:0;

}

section{

    padding:90px 0;

}

/*======================================================
                TYPOGRAPHY
======================================================*/

.section-subtitle{

    display:inline-block;

    color:var(--secondary);

    font-size:15px;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:2px;

    margin-bottom:12px;

}

.section-title,
h2{

    font-size:42px;

    font-weight:700;

    margin-bottom:20px;

    color:var(--dark);

}

p{

    color:var(--gray);

    font-size:16px;

}

/*======================================================
                BUTTONS
======================================================*/

.btn{

    border-radius:50px;

    padding:12px 30px;

    font-weight:600;

    transition:.4s;

}

.btn-warning{

    background:var(--gold);

    color:#222;

    border:none;

}

.btn-warning:hover{

    background:var(--primary);

    color:#fff;

    transform:translateY(-3px);

}

.btn-outline-light{

    border:2px solid #fff;

}

.btn-outline-light:hover{

    background:#fff;

    color:var(--primary);

}

.btn-outline-warning{

    border:2px solid var(--gold);

    color:var(--primary);

}

.btn-outline-warning:hover{

    background:var(--gold);

    color:#222;

}

/*======================================================
                TOP BAR
======================================================*/

.top-bar{
    background: var(--primary);
    color: #fff;
    padding: 8px 0;
    font-size: 14px;

    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: auto;
    z-index: 1050;
}

.top-left span{

    margin-right:20px;

}

.top-left i{

    color:var(--accent);

    margin-right:8px;

}

.top-right a{

    color:#fff;

    margin-left:15px;

    font-size:15px;

}

.top-right a:hover{

    color:var(--accent);

}

/*======================================================
                NAVBAR
======================================================*/

.navbar{
    background: rgba(0,0,0,.45);
    backdrop-filter: blur(10px);
    transition: .4s;
    padding: 18px 0;

    top: 40px;
}

.navbar-brand{

    font-size:30px;

    font-weight:700;

    color:#fff;

}

.logo{

    height:60px;

}

.nav-link{

    color:#fff!important;

    margin-left:15px;

    font-weight:500;

    position:relative;

}

.nav-link::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-5px;

    width:0;

    height:2px;

    background:var(--gold);

    transition:.4s;

}

.nav-link:hover::after,

.nav-link.active::after{

    width:100%;

}

/*======================================================
                HERO SECTION
======================================================*/

.hero-section{

    position:relative;

    min-height:100vh;

    display:flex;

    align-items:center;

    background:url('../images/hero-bg.jpg') center center/cover no-repeat;

    color:#fff;

}

.hero-overlay{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.60);

}

.hero-section .container{

    position:relative;

    z-index:2;

}

.hero-subtitle{

    display:inline-block;

    background:rgba(255,255,255,.15);

    padding:8px 18px;

    border-radius:30px;

    font-size:14px;

    letter-spacing:1px;

    margin-bottom:20px;

}

.hero-section h1{

    font-size:60px;

    font-weight:800;

    line-height:1.2;

    margin-bottom:20px;

}

.hero-section h1 span{

    color:var(--accent);

}

.hero-section p{

    color:#f2f2f2;

    max-width:650px;

    margin-bottom:35px;

}

.hero-buttons .btn{

    margin-right:15px;

}

.hero-features{

    display:flex;

    flex-wrap:wrap;

    gap:20px;

}

.feature-item{

    color:#fff;

    font-size:15px;

}

.feature-item i{

    color:var(--accent);

    margin-right:8px;

}

.hero-image{

    animation:float 5s ease-in-out infinite;

}

/*======================================================
                ABOUT SECTION
======================================================*/

#about{

    background:var(--white);

}

#about img{

    border-radius:20px;

    box-shadow:var(--shadow);

}

#about h2{

    margin-bottom:25px;

}

#about p{

    margin-bottom:18px;

}

.about-feature{

    background:#fff;

    border:1px solid var(--border);

    border-radius:var(--radius);

    padding:20px;

    text-align:center;

    transition:var(--transition);

    height:100%;

}

.about-feature:hover{

    background:var(--primary);

    color:#fff;

    transform:translateY(-8px);

    box-shadow:var(--shadow);

}

.about-feature:hover h6,

.about-feature:hover i{

    color:#fff;

}

.about-feature i{

    font-size:34px;

    color:var(--primary);

    margin-bottom:15px;

}

.about-feature h6{

    margin:0;

    font-size:17px;

    font-weight:600;

}

/*======================================================
                WHY CHOOSE US
======================================================*/

.why-us{

    background:var(--light);

}

.why-card{

    background:#fff;

    border-radius:18px;

    padding:40px 30px;

    text-align:center;

    transition:0.4s;

    height:100%;

    border:1px solid #f0f0f0;

}

.why-card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow);

}

.why-card i{

    width:90px;

    height:90px;

    line-height:90px;

    border-radius:50%;

    background:var(--primary);

    color:#fff;

    font-size:34px;

    margin-bottom:25px;

}

.why-card h4{

    margin-bottom:18px;

    font-size:23px;

    font-weight:600;

}

.why-card p{

    margin-bottom:0;

}

/*======================================================
                STATISTICS
======================================================*/

.statistics{

    background:linear-gradient(135deg,var(--primary),#5a0000);

    color:#fff;

    padding:80px 0;

}

.counter-box{

    padding:30px 15px;

}

.counter-box h2{

    color:#fff;

    font-size:52px;

    font-weight:700;

    display:inline-block;

}

.counter-box span{

    font-size:38px;

    font-weight:700;

    color:var(--accent);

}

.counter-box p{

    color:#fff;

    margin-top:15px;

    font-size:18px;

}

/*======================================================
                SERVICES SECTION
======================================================*/

#services{

    background:#fff;

}

.service-card{

    background:#fff;

    border-radius:18px;

    padding:35px 28px;

    text-align:center;

    border:1px solid #ededed;

    transition:.4s;

    height:100%;

    overflow:hidden;

    position:relative;

}

.service-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:100%;

    height:5px;

    background:var(--gold);

    transform:scaleX(0);

    transition:.4s;

}

.service-card:hover::before{

    transform:scaleX(1);

}

.service-card:hover{

    transform:translateY(-12px);

    box-shadow:var(--shadow);

}

.service-icon{

    width:90px;

    height:90px;

    line-height:90px;

    margin:auto;

    border-radius:50%;

    background:var(--primary);

    color:#fff;

    font-size:36px;

    margin-bottom:25px;

}

.service-card h4{

    font-size:24px;

    margin-bottom:18px;

    font-weight:600;

}

.service-card p{

    margin-bottom:22px;

}

.service-card .btn{

    margin-top:auto;

}

.service-list{

    text-align:left;

    margin:25px 0;

}

.service-list li{

    padding:8px 0;

    border-bottom:1px dashed #ddd;

    font-size:15px;

}

.service-list li:last-child{

    border-bottom:none;

}

.service-list li::before{

    content:"✓";

    color:green;

    font-weight:bold;

    margin-right:10px;

}

/*======================================================
                IT SERVICES
======================================================*/

#it-services{

    background:var(--light);

}

.service-box{

    background:#fff;

    border-radius:18px;

    padding:35px 28px;

    text-align:center;

    transition:.4s;

    height:100%;

    box-shadow:0 5px 20px rgba(0,0,0,.05);

}

.service-box:hover{

    background:var(--primary);

    color:#fff;

    transform:translateY(-10px);

}

.service-box:hover p,

.service-box:hover h4,

.service-box:hover i{

    color:#fff;

}

.service-box i{

    font-size:45px;

    color:var(--primary);

    margin-bottom:20px;

}

.service-box h4{

    font-size:23px;

    margin-bottom:18px;

}

.service-box p{

    margin-bottom:0;

}

/*======================================================
                TRAINING SECTION
======================================================*/

#training{

    background:#fff;

}

#training img{

    border-radius:20px;

    box-shadow:var(--shadow);

}

.training-list{

    margin-top:20px;

}

.training-list li{

    padding:12px 0;

    border-bottom:1px solid #ececec;

    font-size:16px;

}

.training-list li:last-child{

    border:none;

}

.training-list li::before{

    content:"✔";

    color:var(--primary);

    font-weight:bold;

    margin-right:12px;

}

#training .btn{

    margin-top:35px;

}

/*======================================================
            SECTION TITLE ANIMATION
======================================================*/

.section-subtitle{

    position:relative;

}

.section-subtitle::after{

    content:"";

    position:absolute;

    width:60px;

    height:3px;

    background:var(--gold);

    left:50%;

    bottom:-10px;

    transform:translateX(-50%);

}

.text-start .section-subtitle::after{

    left:0;

    transform:none;

}

/*======================================================
                LEGAL SERVICES
======================================================*/

#legal{

    background:var(--light);

}

#legal .service-card{

    padding:30px 20px;

    border-radius:18px;

    text-align:center;

    transition:.4s;

    background:#fff;

    border:1px solid var(--border);

    height:100%;

}

#legal .service-card:hover{

    background:var(--primary);

    transform:translateY(-10px);

    box-shadow:var(--shadow);

}

#legal .service-card:hover h5,

#legal .service-card:hover p,

#legal .service-card:hover i{

    color:#fff;

}

#legal .service-card i{

    font-size:42px;

    color:var(--primary);

    margin-bottom:18px;

}

#legal .service-card h5{

    font-size:20px;

    font-weight:600;

}

/*======================================================
                TAX SERVICES
======================================================*/

#tax{

    background:#fff;

}

#tax .service-card{

    background:#fff;

    border-radius:18px;

    padding:35px 25px;

    text-align:center;

    border:1px solid #ededed;

    transition:.4s;

    height:100%;

}

#tax .service-card:hover{

    background:var(--gold);

    transform:translateY(-10px);

    box-shadow:var(--shadow);

}

#tax .service-card i{

    font-size:45px;

    color:var(--primary);

    margin-bottom:20px;

}

#tax .service-card h5{

    font-size:22px;

    margin-bottom:15px;

}

#tax .service-card p{

    margin-bottom:0;

}

/*======================================================
                CTA SECTION
======================================================*/

.cta-section{

    background:linear-gradient(135deg,var(--primary),#4d0000);

    color:#fff;

    padding:80px 0;

}

.cta-section h2{

    color:#fff;

    font-size:42px;

    margin-bottom:20px;

}

.cta-section p{

    color:#f1f1f1;

    margin-bottom:0;

}

.cta-section .btn{

    padding:16px 40px;

    font-size:18px;

}

/*======================================================
                PROCESS
======================================================*/

#process{

    background:#fafafa;

}

.process-card{

    background:#fff;

    border-radius:18px;

    padding:35px 25px;

    text-align:center;

    transition:.4s;

    height:100%;

    position:relative;

}

.process-card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow);

}

.step{

    position:absolute;

    top:20px;

    right:20px;

    width:45px;

    height:45px;

    line-height:45px;

    border-radius:50%;

    background:var(--gold);

    font-weight:700;

    color:#000;

}

.process-card i{

    font-size:45px;

    color:var(--primary);

    margin-bottom:20px;

}

.process-card h5{

    margin-bottom:15px;

}

/*======================================================
                TESTIMONIALS
======================================================*/

#testimonials{

    background:#fff;

}

.testimonial-card{

    background:#fff;

    border-radius:18px;

    padding:35px;

    border:1px solid #ececec;

    transition:.4s;

    height:100%;

    position:relative;

}

.testimonial-card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow);

}

.testimonial-card::before{

    content:"★★★★★";

    color:var(--gold);

    font-size:18px;

    display:block;

    margin-bottom:20px;

}

.testimonial-card p{

    font-style:italic;

    margin-bottom:25px;

}

.testimonial-card h5{

    margin-bottom:5px;

}

.testimonial-card span{

    color:var(--gray);

    font-size:14px;

}

/*======================================================
                FAQ
======================================================*/

#faq{

    background:#fafafa;

}

.accordion-item{

    border:none;

    margin-bottom:20px;

    border-radius:15px !important;

    overflow:hidden;

    box-shadow:0 5px 20px rgba(0,0,0,.05);

}

.accordion-button{

    font-weight:600;

    padding:20px;

    background:#fff;

}

.accordion-button:not(.collapsed){

    background:var(--primary);

    color:#fff;

}

.accordion-button:focus{

    box-shadow:none;

}

.accordion-body{

    padding:20px;

}

/*======================================================
                CONTACT
======================================================*/

.contact-section{

    background:#fff;

}

.contact-info{

    margin-top:40px;

}

.info-box{

    display:flex;

    align-items:flex-start;

    margin-bottom:30px;

}

.info-box i{

    width:60px;

    height:60px;

    line-height:60px;

    border-radius:50%;

    background:var(--primary);

    color:#fff;

    text-align:center;

    font-size:22px;

    margin-right:20px;

}

.info-box h6{

    margin-bottom:5px;

}

.form-control{

    height:55px;

    border-radius:12px;

    border:1px solid #ddd;

}

textarea.form-control{

    height:auto;

}

.form-control:focus{

    border-color:var(--primary);

    box-shadow:none;

}

/*======================================================
                GOOGLE MAP
======================================================*/

.map-section iframe{

    display:block;

    width:100%;

    border:none;

}

/*======================================================
                FOOTER
======================================================*/

.footer{

    background:#1c1c1c;

    color:#fff;

    padding:70px 0 25px;

}

.footer h3,

.footer h5{

    color:var(--accent);

    margin-bottom:25px;

}

.footer p{

    color:#d5d5d5;

}

.footer-links li{

    margin-bottom:12px;

}

.footer-links a{

    color:#d5d5d5;

    transition:.3s;

}

.footer-links a:hover{

    color:var(--gold);

    padding-left:8px;

}

.social-icons{

    display:flex;

    gap:12px;

    margin-top:20px;

}

.social-icons a{

    width:45px;

    height:45px;

    line-height:45px;

    border-radius:50%;

    background:#333;

    color:#fff;

    text-align:center;

    transition:.3s;

}

.social-icons a:hover{

    background:var(--gold);

    color:#000;

}

.footer hr{

    margin:40px 0 20px;

    border-color:#444;

}

/*======================================================
                BACK TO TOP
======================================================*/

.back-to-top{

    position:fixed;

    right:25px;

    bottom:25px;

    width:50px;

    height:50px;

    line-height:50px;

    text-align:center;

    background:var(--gold);

    color:#000;

    border-radius:50%;

    font-size:20px;

    z-index:999;

    transition:.3s;

}

.back-to-top:hover{

    background:var(--primary);

    color:#fff;

}

/*======================================================
                ANIMATIONS
======================================================*/

@keyframes float{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-18px);

    }

    100%{

        transform:translateY(0);

    }

}

@keyframes fadeInUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

.fade-up{

    animation:fadeInUp .8s ease forwards;

}

/*======================================================
                UTILITIES
======================================================*/

.shadow-box{

    box-shadow:var(--shadow);

}

.rounded-box{

    border-radius:18px;

}

.bg-primary-custom{

    background:var(--primary);

}

.bg-light-custom{

    background:var(--light);

}

.text-gold{

    color:var(--gold);

}

.text-maroon{

    color:var(--primary);

}

.border-radius{

    border-radius:18px;

}

.overflow-hidden{

    overflow:hidden;

}

