/*==================================================
    ADVOCATE OFFICE
    STYLE.CSS
    PART 1
===================================================*/

/* Google Fonts */

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Poppins:wght@300;400;500;600;700&display=swap');

/*==========================
RESET
==========================*/

*{
margin:0;
padding:0;
box-sizing:border-box;
scroll-behavior:smooth;
}

html{
overflow-x:hidden;
}

body{

font-family:'Poppins',sans-serif;

background:#0c0c0c;

color:#ffffff;

overflow-x:hidden;

}

/*==========================
VARIABLES
==========================*/

:root{

--gold:#d4af37;

--gold-light:#f4d56a;

--black:#0c0c0c;

--black2:#151515;

--white:#ffffff;

--text:#d8d8d8;

--shadow:0 20px 50px rgba(0,0,0,.35);

--radius:18px;

}

/*==========================
SCROLLBAR
==========================*/

::-webkit-scrollbar{

width:9px;

}

::-webkit-scrollbar-track{

background:#111;

}

::-webkit-scrollbar-thumb{

background:var(--gold);

border-radius:20px;

}

/*==========================
COMMON
==========================*/

section{

padding:110px 8%;

}

img{

width:100%;

display:block;

}

a{

text-decoration:none;

transition:.35s;

}

.section-heading{

text-align:center;

margin-bottom:70px;

}

.section-heading span{

color:var(--gold);

font-size:15px;

text-transform:uppercase;

letter-spacing:2px;

}

.section-heading h2{

font-family:'Cinzel',serif;

font-size:42px;

margin:12px 0;

}

.section-heading p{

color:#bfbfbf;

max-width:700px;

margin:auto;

line-height:1.8;

}

/*==========================
LOADER
==========================*/

#loader{

position:fixed;

width:100%;

height:100vh;

background:#000;

display:flex;

justify-content:center;

align-items:center;

z-index:99999;

}

.loader-content{

text-align:center;

}

.loader-content i{

font-size:55px;

color:var(--gold);

margin-bottom:20px;

}

.loader-content h2{

font-family:'Cinzel',serif;

letter-spacing:4px;

color:white;

}

/*==========================
NAVBAR
==========================*/

header{

position:fixed;

width:100%;

top:0;

left:0;

z-index:999;

background:rgba(0,0,0,.72);

backdrop-filter:blur(18px);

transition:.35s;

}

.navbar{

max-width:1350px;

margin:auto;

padding:18px 30px;

display:flex;

justify-content:space-between;

align-items:center;

}

.logo{

display:flex;

align-items:center;

gap:12px;

font-family:'Cinzel',serif;

font-size:22px;

font-weight:700;

color:white;

}

.logo i{

color:var(--gold);

font-size:28px;

}

.nav-links{

display:flex;

gap:35px;

list-style:none;

}

.nav-links a{

color:white;

font-size:15px;

font-weight:500;

position:relative;

}

.nav-links a::after{

content:"";

position:absolute;

bottom:-7px;

left:0;

width:0;

height:2px;

background:var(--gold);

transition:.35s;

}

.nav-links a:hover::after{

width:100%;

}

.call-btn{

padding:12px 22px;

background:linear-gradient(135deg,#d4af37,#f4d56a);

color:black;

font-weight:600;

border-radius:50px;

box-shadow:0 10px 30px rgba(212,175,55,.25);

}

.call-btn:hover{

transform:translateY(-3px);

}

.menu-btn{

display:none;

font-size:24px;

cursor:pointer;

color:white;

}

/*==========================
HERO
==========================*/

.hero{

height:100vh;

display:flex;

align-items:center;

padding:0 8%;

position:relative;

background:
linear-gradient(
90deg,
rgba(0,0,0,.85) 0%,
rgba(0,0,0,.70) 40%,
rgba(0,0,0,.30) 100%
),
url("assets/hero-bg.jpg");

background-size:cover;

background-position:center;

background-repeat:no-repeat;

}
.hero-content{

max-width:700px;

position:relative;

z-index:5;

}
.hero-left h1{

font-family:'Cinzel',serif;

font-size:82px;

line-height:1.1;

margin-bottom:18px;

}

.hero-left h1 span{

display:block;

color:var(--gold);

}

.gold-line{

width:130px;

height:4px;

background:var(--gold);

margin:25px 0;

border-radius:20px;

}

.hero-left h3{

font-size:28px;

font-weight:500;

line-height:1.6;

}

.hero-left h3 span{

color:var(--gold);

padding:0 10px;

}

.hero-left p{

margin-top:18px;

color:#d0d0d0;

font-size:18px;

line-height:1.8;

}

.hero-left p span{

color:var(--gold);

padding:0 10px;

}

.hero-buttons{

margin-top:45px;

display:flex;

gap:18px;

flex-wrap:wrap;

}

.primary-btn{

padding:15px 32px;

background:linear-gradient(135deg,#d4af37,#f4d56a);

color:black;

border-radius:50px;

font-weight:600;

}

.secondary-btn{

padding:15px 32px;

border:2px solid var(--gold);

border-radius:50px;

color:white;

}

.primary-btn:hover,

.secondary-btn:hover{

transform:translateY(-5px);

box-shadow:0 15px 35px rgba(212,175,55,.25);

}

/*==========================
END OF PART 1
==========================*/
/*==================================================
    ADVOCATE SECTION
==================================================*/

.advocates{

background:#111;

}

.advocate-grid{

max-width:1350px;

margin:auto;

display:grid;

grid-template-columns:repeat(auto-fit,minmax(380px,1fr));

gap:40px;

}

.advocate-card{

background:rgba(255,255,255,.04);

backdrop-filter:blur(18px);

border:1px solid rgba(212,175,55,.18);

border-radius:25px;

overflow:hidden;

transition:.4s;

box-shadow:0 15px 45px rgba(0,0,0,.25);

}

.advocate-card:hover{

transform:translateY(-12px);

border-color:var(--gold);

box-shadow:0 25px 70px rgba(212,175,55,.12);

}

.advocate-image{

padding:35px;

display:flex;

justify-content:center;

}

.advocate-image img{

width:220px;

height:220px;

object-fit:cover;

border-radius:50%;

border:5px solid var(--gold);

background:white;

transition:.4s;

}

.advocate-card:hover .advocate-image img{

transform:scale(1.05);

}

.advocate-content{

padding:0 35px 35px;

text-align:center;

}

.advocate-content h3{

font-family:'Cinzel',serif;

font-size:30px;

margin-bottom:8px;

color:white;

}

.advocate-content h5{

font-size:17px;

font-weight:500;

color:var(--gold);

margin-bottom:18px;

}

.advocate-content p{

color:#d3d3d3;

line-height:1.8;

margin-bottom:30px;

}

.advocate-buttons{

display:flex;

justify-content:center;

gap:15px;

flex-wrap:wrap;

}

.advocate-buttons a{

padding:12px 22px;

border-radius:50px;

font-size:15px;

font-weight:500;

color:white;

background:#1f1f1f;

border:1px solid rgba(212,175,55,.15);

transition:.35s;

display:flex;

align-items:center;

gap:8px;

}

.advocate-buttons a:hover{

background:linear-gradient(135deg,#d4af37,#f4d56a);

color:black;

transform:translateY(-4px);

}

/*==================================================
PRACTICE AREA
==================================================*/

.practice{

background:#0d0d0d;

}

.practice-grid{

max-width:1300px;

margin:auto;

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:35px;

}

.practice-card{

background:#181818;

border-radius:22px;

padding:40px 30px;

text-align:center;

transition:.4s;

border:1px solid rgba(212,175,55,.15);

}

.practice-card:hover{

transform:translateY(-10px);

border-color:var(--gold);

box-shadow:0 20px 60px rgba(212,175,55,.12);

}

.practice-card i{

font-size:55px;

color:var(--gold);

margin-bottom:25px;

}

.practice-card h3{

font-family:'Cinzel',serif;

font-size:24px;

margin-bottom:15px;

color:white;

}

.practice-card p{

color:#cfcfcf;

line-height:1.8;

}

/*==================================================
HOVER GOLD EFFECT
==================================================*/

.advocate-card::before,

.practice-card::before{

content:"";

position:absolute;

top:0;

left:-100%;

width:100%;

height:4px;

background:linear-gradient(90deg,

transparent,

var(--gold),

transparent);

transition:.8s;

}

.advocate-card,

.practice-card{

position:relative;

overflow:hidden;

}

.advocate-card:hover::before,

.practice-card:hover::before{

left:100%;

}

/*==================================================
SECTION SPACING
==================================================*/

.advocates,

.practice{

padding-top:120px;

padding-bottom:120px;

}
/*==================================================
    OFFICE SECTION
==================================================*/

.office{

background:#111;

}

.office-container{

max-width:1200px;

margin:auto;

display:grid;

grid-template-columns:repeat(auto-fit,minmax(350px,1fr));

gap:35px;

}

.office-card{

background:rgba(255,255,255,.04);

backdrop-filter:blur(18px);

border:1px solid rgba(212,175,55,.18);

border-radius:24px;

padding:40px;

transition:.35s;

box-shadow:0 15px 40px rgba(0,0,0,.25);

}

.office-card:hover{

transform:translateY(-8px);

border-color:var(--gold);

box-shadow:0 25px 60px rgba(212,175,55,.12);

}

.office-card h3{

font-family:'Cinzel',serif;

font-size:28px;

margin-bottom:25px;

color:white;

display:flex;

align-items:center;

gap:12px;

}

.office-card h3 i{

color:var(--gold);

}

.office-card p{

font-size:17px;

color:#d6d6d6;

line-height:1.9;

margin-bottom:10px;

}

.office-link{

display:inline-block;

margin-top:25px;

padding:14px 28px;

background:linear-gradient(135deg,#d4af37,#f4d56a);

color:#111;

font-weight:600;

border-radius:50px;

transition:.35s;

}

.office-link:hover{

transform:translateY(-4px);

}

/*==================================================
GOOGLE MAP
==================================================*/

.map-section{

background:#0c0c0c;

}

.map-container{

max-width:1300px;

margin:auto;

border-radius:25px;

overflow:hidden;

border:2px solid rgba(212,175,55,.20);

box-shadow:0 20px 60px rgba(0,0,0,.30);

}

.map-container iframe{

width:100%;

height:520px;

border:0;

display:block;

}

/*==================================================
QR SECTION
==================================================*/

.qr-section{

background:#111;

text-align:center;

}

.qr-card{

max-width:420px;

margin:auto;

background:rgba(255,255,255,.04);

padding:45px;

border-radius:25px;

border:1px solid rgba(212,175,55,.18);

box-shadow:0 15px 45px rgba(0,0,0,.25);

transition:.35s;

}

.qr-card:hover{

transform:translateY(-8px);

border-color:var(--gold);

}

.qr-card img{

width:220px;

margin:auto;

border-radius:15px;

background:white;

padding:15px;

}

.qr-card p{

margin-top:25px;

color:#d5d5d5;

font-size:17px;

}

/*==================================================
CONTACT
==================================================*/

.contact{

background:#0c0c0c;

}

.contact-buttons{

max-width:1100px;

margin:auto;

display:grid;

grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

gap:25px;

}

.contact-buttons a{

padding:25px;

background:#181818;

border-radius:18px;

text-align:center;

color:white;

font-size:18px;

font-weight:600;

border:1px solid rgba(212,175,55,.15);

transition:.35s;

display:flex;

align-items:center;

justify-content:center;

gap:12px;

}

.contact-buttons a i{

font-size:22px;

color:var(--gold);

}

.contact-buttons a:hover{

background:linear-gradient(135deg,#d4af37,#f4d56a);

color:#111;

transform:translateY(-8px);

}

.contact-buttons a:hover i{

color:#111;

}

/*==================================================
SECTION DIVIDERS
==================================================*/

.office,

.map-section,

.qr-section,

.contact{

padding-top:120px;

padding-bottom:120px;

}
/*==================================================
    FOOTER
==================================================*/

footer{

background:#050505;

border-top:1px solid rgba(212,175,55,.18);

padding:70px 8% 40px;

}

.footer-content{

max-width:1200px;

margin:auto;

text-align:center;

}

.footer-content h2{

font-family:'Cinzel',serif;

font-size:38px;

color:var(--gold);

margin-bottom:15px;

letter-spacing:2px;

}

.footer-content p{

color:#cfcfcf;

margin:10px 0;

font-size:16px;

line-height:1.8;

}

.footer-content hr{

margin:30px auto;

width:120px;

border:none;

height:2px;

background:linear-gradient(90deg,

transparent,

var(--gold),

transparent);

}

/*==================================================
FLOATING CONTACT
==================================================*/

.floating-contact{

position:fixed;

right:25px;

bottom:25px;

display:flex;

flex-direction:column;

gap:15px;

z-index:999;

}

.floating-contact a{

width:60px;

height:60px;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

font-size:24px;

background:linear-gradient(135deg,#d4af37,#f4d56a);

color:#111;

box-shadow:0 15px 35px rgba(0,0,0,.35);

transition:.35s;

}

.floating-contact a:hover{

transform:translateY(-6px) scale(1.08);

}

/*==================================================
IMAGE HOVER
==================================================*/

.hero-right img{

transition:.5s;

}

.hero-right img:hover{

transform:scale(1.03);

}

.advocate-image{

overflow:hidden;

border-radius:50%;

}

.advocate-image img{

transition:.45s;

}

.advocate-card:hover img{

transform:scale(1.08);

}

/*==================================================
SECTION ANIMATION
==================================================*/

.fade-up{

opacity:0;

transform:translateY(60px);

transition:all .8s ease;

}

.fade-up.show{

opacity:1;

transform:translateY(0);

}

/*==================================================
GOLD SHIMMER
==================================================*/

.hero-left h1{

position:relative;

}

.hero-left h1::after{

content:"";

position:absolute;

top:0;

left:-150%;

width:120%;

height:100%;

background:linear-gradient(

90deg,

transparent,

rgba(255,255,255,.25),

transparent

);

animation:shine 5s infinite;

}

@keyframes shine{

100%{

left:150%;

}

}

/*==================================================
BUTTON RIPPLE
==================================================*/

.primary-btn,

.secondary-btn,

.office-link,

.contact-buttons a,

.call-btn{

position:relative;

overflow:hidden;

}

/*==================================================
MOBILE
==================================================*/

@media(max-width:1100px){

.hero-container{

grid-template-columns:1fr;

text-align:center;

gap:50px;

}

.gold-line{

margin:25px auto;

}

.hero-buttons{

justify-content:center;

}

.hero-right{

order:-1;

}

.hero-right img{

max-width:500px;

}

}

@media(max-width:900px){

.nav-links{

display:none;

}

.menu-btn{

display:block;

}

.hero-left h1{

font-size:54px;

}

.hero-left h3{

font-size:22px;

}

.section-heading h2{

font-size:34px;

}

}

@media(max-width:768px){

section{

padding:80px 6%;

}

.hero{

padding-top:120px;

}

.hero-left h1{

font-size:42px;

}

.hero-left p{

font-size:16px;

}

.hero-buttons{

flex-direction:column;

align-items:center;

}

.hero-buttons a{

width:280px;

justify-content:center;

display:flex;

}

.advocate-grid,

.practice-grid,

.office-container,

.contact-buttons{

grid-template-columns:1fr;

}

.hero-right img{

max-width:100%;

}

.map-container iframe{

height:350px;

}

.floating-contact{

right:18px;

bottom:18px;

}

.floating-contact a{

width:55px;

height:55px;

font-size:22px;

}

}

@media(max-width:500px){

.logo{

font-size:18px;

}

.logo span{

display:none;

}

.hero-left h1{

font-size:34px;

}

.hero-left h3{

font-size:19px;

}

.section-heading h2{

font-size:28px;

}

.footer-content h2{

font-size:28px;

}

.footer-content p{

font-size:14px;

}

}

/*==================================================
SELECTION
==================================================*/

::selection{

background:var(--gold);

color:#111;

}
@media (max-width:900px){

.nav-links{

position:absolute;
top:80px;
left:0;
width:100%;
background:#0c0c0c;
flex-direction:column;
align-items:center;
padding:25px 0;
display:none;
border-top:1px solid rgba(212,175,55,.2);

}

.nav-links.active{

display:flex;

}

.nav-links li{

margin:12px 0;

}

}
/*==================================================
END
==================================================*/
