﻿/*==================================================
PG & Partners
Premium Law Firm Website
Style.css - Part 1
==================================================*/

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Poppins',sans-serif;
    background: #ffffff;
    color: #222;
    line-height: 1.7;
    overflow-x: hidden;
}

/*=========================
Typography
=========================*/

h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
    color: #0d1b3f;
}

p {
    color: #555;
    font-size: 16px;
}

a {
    text-decoration: none;
    transition: .3s;
}

img {
    max-width: 100%;
    display: block;
}

/*=========================
Section
=========================*/

section {
    padding: 90px 0;
}

.section-tag {
    display: inline-block;
    background: #d4af37;
    color: #fff;
    padding: 8px 18px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1px;
}

.section-title {
    font-size: 42px;
    font-weight: 700;
    margin-top: 20px;
}

.section-text {
    margin-top: 20px;
    color: #666;
    font-size: 17px;
}

/*=========================
Buttons
=========================*/

.btn-gold {
    background: #d4af37;
    color: #fff;
    padding: 14px 35px;
    border-radius: 50px;
    font-weight: 600;
    border: none;
    transition: .4s;
}

    .btn-gold:hover {
        background: #b89224;
        color: #fff;
        transform: translateY(-3px);
    }

.consultation-btn {
    background: #d4af37;
    color: #fff;
    padding: 12px 28px;
    border-radius: 50px;
    font-weight: 600;
}

    .consultation-btn:hover {
        background: #fff;
        color: #0d1b3f;
    }

/*=========================
Navbar
=========================*/

.custom-navbar {
    background: rgba(7,22,54,.90);
    backdrop-filter: blur(15px);
    transition: .4s;
    padding: 15px 0;
}

.logo-title {
    color: #fff;
    margin: 0;
    font-weight: 700;
}

    .logo-title span {
        color: #d4af37;
    }

.logo-subtitle {
    color: #ddd;
    font-size: 12px;
    margin-top: -5px;
}

.nav-link {
    color: #fff !important;
    margin-left: 18px;
    font-weight: 500;
}

    .nav-link:hover {
        color: #d4af37 !important;
    }

.navbar-toggler {
    background: #fff;
}

/*=========================
Hero
=========================*/

.hero {
    position: relative;
    min-height: 100vh;
    background: url('../images/hero.jpg') center center/cover no-repeat;
    display: flex;
    align-items: center;
}

.overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(4,14,40,.72);
    top: 0;
    left: 0;
}

.hero .container {
    position: relative;
    z-index: 2;
}

.hero-content {
    color: #fff;
}

.badge-box {
    display: inline-block;
    background: rgba(255,255,255,.12);
    color: #fff;
    padding: 12px 22px;
    border-radius: 40px;
    margin-bottom: 25px;
    backdrop-filter: blur(10px);
}

    .badge-box i {
        color: #d4af37;
        margin-right: 10px;
    }

.hero h1 {
    color: #fff;
    font-size: 65px;
    line-height: 1.2;
    margin-bottom: 25px;
}

    .hero h1 span {
        color: #d4af37;
    }

.hero p {
    color: #ddd;
    font-size: 18px;
    max-width: 650px;
}

.hero-buttons {
    margin-top: 35px;
}

    .hero-buttons .btn {
        margin-right: 15px;
    }

.hero-highlights {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.highlight {
    display: flex;
    align-items: center;
    background: rgba(255,255,255,.08);
    padding: 15px 20px;
    border-radius: 15px;
    backdrop-filter: blur(10px);
}

    .highlight i {
        width: 55px;
        height: 55px;
        background: #d4af37;
        color: #fff;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 50%;
        margin-right: 15px;
        font-size: 20px;
    }

    .highlight h5 {
        color: #fff;
        margin-bottom: 3px;
    }

    .highlight p {
        color: #ddd;
        font-size: 14px;
        margin: 0;
    }

/*=========================
Hero Card
=========================*/

.hero-card {
    background: #fff;
    padding: 40px;
    border-radius: 25px;
    box-shadow: 0 20px 60px rgba(0,0,0,.15);
}

.hero-card-top {
    width: 80px;
    height: 80px;
    background: #d4af37;
    color: #fff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: auto;
    font-size: 30px;
}

.hero-card h3 {
    margin-top: 25px;
    text-align: center;
}

.hero-card h6 {
    text-align: center;
    color: #777;
}

.hero-card p {
    text-align: center;
}

.hero-list {
    margin-top: 25px;
}

    .hero-list div {
        margin-bottom: 12px;
        font-weight: 500;
    }

    .hero-list i {
        color: #d4af37;
        margin-right: 10px;
    }

/*=========================
Responsive
=========================*/

@media(max-width:991px) {

    .hero {
        text-align: center;
    }

        .hero h1 {
            font-size: 42px;
        }

    .hero-buttons .btn {
        display: block;
        width: 100%;
        margin-bottom: 15px;
    }

    .hero-highlights {
        justify-content: center;
    }

    .hero-card {
        margin-top: 40px;
    }
}

@media(max-width:576px) {

    .section-title {
        font-size: 30px;
    }

    .hero h1 {
        font-size: 34px;
    }

    .hero p {
        font-size: 16px;
    }

    .hero-card {
        padding: 25px;
    }
}
/*==========================================
ABOUT SECTION
==========================================*/

#about {
    background: #f8f9fc;
}

.about-image img {
    border-radius: 20px;
    box-shadow: 0 20px 45px rgba(0,0,0,.12);
}

.about-box {
    background: #fff;
    padding: 30px;
    border-radius: 18px;
    text-align: center;
    margin-bottom: 20px;
    transition: .35s;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
}

    .about-box:hover {
        transform: translateY(-8px);
    }

    .about-box i {
        width: 70px;
        height: 70px;
        background: #d4af37;
        color: #fff;
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
        margin: auto;
        font-size: 28px;
    }

    .about-box h5 {
        margin-top: 20px;
    }

    .about-box p {
        margin: 10px 0 0;
    }


/*==========================================
COUNTER
==========================================*/

.counter-section {
    background: #081a43;
    color: #fff;
    padding: 70px 0;
}

.counter-box {
    padding: 20px;
}

    .counter-box h2 {
        font-size: 52px;
        color: #d4af37;
        margin-bottom: 8px;
        font-weight: 700;
    }

    .counter-box p {
        color: #fff;
        margin: 0;
        letter-spacing: .5px;
    }


/*==========================================
PRACTICE AREA
==========================================*/

.practice-area {
    background: #ffffff;
}

.service-card {
    background: #fff;
    padding: 40px 30px;
    border-radius: 20px;
    text-align: center;
    transition: .35s;
    border: 1px solid #eee;
    height: 100%;
    box-shadow: 0 15px 35px rgba(0,0,0,.06);
}

    .service-card:hover {
        transform: translateY(-10px);
        border-color: #d4af37;
        box-shadow: 0 25px 50px rgba(0,0,0,.12);
    }

    .service-card i {
        width: 85px;
        height: 85px;
        border-radius: 50%;
        background: #081a43;
        color: #fff;
        display: flex;
        justify-content: center;
        align-items: center;
        margin: auto;
        font-size: 32px;
        transition: .35s;
    }

    .service-card:hover i {
        background: #d4af37;
    }

    .service-card h4 {
        margin: 28px 0 18px;
        font-size: 24px;
    }

    .service-card p {
        color: #666;
        margin: 0;
    }


/*==========================================
WHY CHOOSE US
==========================================*/

.why-us {
    background: #f8f9fc;
}

.why-card {
    background: #fff;
    padding: 35px 25px;
    text-align: center;
    border-radius: 18px;
    transition: .35s;
    box-shadow: 0 10px 25px rgba(0,0,0,.08);
    height: 100%;
}

    .why-card:hover {
        transform: translateY(-10px);
    }

    .why-card i {
        width: 75px;
        height: 75px;
        background: #d4af37;
        color: #fff;
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
        margin: auto;
        font-size: 30px;
    }

    .why-card h5 {
        margin-top: 22px;
        font-size: 22px;
    }

    .why-card p {
        margin-top: 12px;
    }


/*==========================================
ATTORNEY SECTION
==========================================*/

.attorney-section {
    background: #ffffff;
}

    .attorney-section img {
        border-radius: 20px;
        box-shadow: 0 25px 60px rgba(0,0,0,.15);
    }

    .attorney-section ul {
        margin-top: 20px;
        padding-left: 0;
    }

    .attorney-section li {
        list-style: none;
        margin-bottom: 12px;
        font-weight: 500;
        color: #444;
    }


/*==========================================
CTA SECTION
==========================================*/

.cta-section {
    background: linear-gradient(rgba(8,26,67,.90), rgba(8,26,67,.90)), url("../images/cta.jpg") center/cover;
    padding: 90px 0;
    color: #fff;
    text-align: center;
}

    .cta-section h2 {
        color: #fff;
        font-size: 46px;
    }

    .cta-section p {
        color: #ddd;
        max-width: 700px;
        margin: auto;
        font-size: 18px;
    }


/*==========================================
RESPONSIVE
==========================================*/

@media(max-width:991px) {

    .counter-box {
        margin-bottom: 30px;
    }

    .service-card {
        margin-bottom: 25px;
    }

    .why-card {
        margin-bottom: 25px;
    }

    .cta-section h2 {
        font-size: 34px;
    }
}

@media(max-width:576px) {

    .about-box {
        padding: 25px;
    }

    .service-card {
        padding: 30px 20px;
    }

    .counter-box h2 {
        font-size: 38px;
    }

    .cta-section {
        padding: 70px 20px;
    }

        .cta-section h2 {
            font-size: 28px;
        }
}

/*==========================================
TESTIMONIAL SECTION
==========================================*/

.testimonial-card {
    background: #fff;
    padding: 35px;
    border-radius: 20px;
    text-align: center;
    box-shadow: 0 15px 35px rgba(0,0,0,.08);
    transition: .35s;
    height: 100%;
    font-size: 18px;
    color: #d4af37;
}

    .testimonial-card:hover {
        transform: translateY(-10px);
        box-shadow: 0 25px 50px rgba(0,0,0,.15);
    }

    .testimonial-card p {
        margin: 20px 0;
        color: #555;
        font-style: italic;
    }

    .testimonial-card h5 {
        color: #081a43;
        margin: 0;
    }

/*==========================================
CONTACT
==========================================*/

#contact {
    background: #ffffff;
}

    #contact .form-control {
        border-radius: 12px;
        padding: 15px;
        border: 1px solid #ddd;
        box-shadow: none;
    }

        #contact .form-control:focus {
            border-color: #d4af37;
            box-shadow: 0 0 0 0.2rem rgba(212,175,55,.2);
        }

    #contact textarea {
        resize: none;
    }

    #contact strong {
        color: #081a43;
    }

/*==========================================
FOOTER
==========================================*/

.footer {
    background: #081a43;
    color: #ddd;
    padding: 70px 0 20px;
}

    .footer h3,
    .footer h4 {
        color: #fff;
        margin-bottom: 20px;
    }

    .footer p {
        color: #ccc;
    }

.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

    .footer-links li {
        margin-bottom: 12px;
    }

    .footer-links a {
        color: #ccc;
        transition: .3s;
    }

        .footer-links a:hover {
            color: #d4af37;
            padding-left: 6px;
        }

.footer hr {
    border-color: rgba(255,255,255,.15);
    margin: 40px 0 20px;
}

.footer .small {
    color: #aaa;
    font-size: 14px;
    line-height: 1.7;
}

/*==========================================
SOCIAL ICONS
==========================================*/

.social-icons {
    display: flex;
    gap: 12px;
    margin-top: 20px;
}

    .social-icons a {
        width: 45px;
        height: 45px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 50%;
        background: #d4af37;
        color: #fff;
        transition: .3s;
    }

        .social-icons a:hover {
            background: #fff;
            color: #081a43;
            transform: translateY(-5px);
        }

/*==========================================
SCROLLBAR
==========================================*/

::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: #f2f2f2;
}

::-webkit-scrollbar-thumb {
    background: #d4af37;
    border-radius: 20px;
}

/*==========================================
ANIMATIONS
==========================================*/

.service-card,
.about-box,
.why-card,
.hero-card,
.testimonial-card {
    transition: all .35s ease;
}

.hero-content {
    animation: fadeUp 1s ease;
}

.hero-card {
    animation: fadeLeft 1.2s ease;
}

@keyframes fadeUp {

    from {
        opacity: 0;
        transform: translateY(50px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeLeft {

    from {
        opacity: 0;
        transform: translateX(60px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/*==========================================
UTILITY
==========================================*/

.shadow-box {
    box-shadow: 0 20px 40px rgba(0,0,0,.10);
}

.rounded-xl {
    border-radius: 25px;
}

/*==========================================
RESPONSIVE
==========================================*/

@media(max-width:991px) {

    .footer {
        text-align: center;
    }

    .social-icons {
        justify-content: center;
    }
}

@media(max-width:767px) {

    section {
        padding: 70px 0;
    }

    .section-title {
        font-size: 30px;
    }

    .hero-highlights {
        flex-direction: column;
    }

    .highlight {
        width: 100%;
    }

    .testimonial-card {
        margin-bottom: 20px;
    }

    .footer h3,
    .footer h4 {
        margin-top: 25px;
    }
}

@media(max-width:576px) {

    body {
        font-size: 15px;
    }

    .btn-gold,
    .consultation-btn {
        width: 100%;
        text-align: center;
    }

    .hero-card {
        padding: 25px;
    }
}


