/*=========================================================
NISHANT JOSHI
ADVOCATE
Premium Luxury Theme
=========================================================*/

:root{

--primary:#0b0b0b;
--secondary:#c9a86a;
--gold:#d9b97c;
--light:#fafafa;
--white:#ffffff;
--text:#444;
--border:rgba(201,168,106,.25);

--heading:'Cormorant Garamond',serif;
--body:'Inter',sans-serif;

--shadow:0 25px 70px rgba(0,0,0,.08);

}

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{

scroll-behavior:smooth;

}

body{

font-family:var(--body);
background:#fff;
color:var(--text);
line-height:1.8;
overflow-x:hidden;

}

img{

max-width:100%;
display:block;

}

a{

text-decoration:none;

}

section{

padding:110px 0;

}

.container{

max-width:1200px;

}

/*========================================
TYPOGRAPHY
========================================*/

h1,h2,h3,h4,h5{

font-family:var(--heading);
color:#111;

}

h1{

font-size:72px;
font-weight:700;
line-height:1.05;

}

h2{

font-size:48px;
font-weight:700;

}

h3{

font-size:30px;

}

h4{

font-size:26px;

}

p{

font-size:17px;
color:#666;

}

.section-heading span{

letter-spacing:4px;
font-size:13px;
font-weight:600;
color:var(--secondary);

}

.gold-line{

width:80px;
height:3px;
background:var(--secondary);
margin-top:15px;

}


/*==========================================
PREMIUM DISCLAIMER
==========================================*/

#disclaimer{

position:fixed;
inset:0;

display:flex;
justify-content:center;
align-items:center;

background:rgba(0,0,0,.85);

backdrop-filter:blur(8px);

z-index:999999;

padding:20px;

transition:.35s;

}

#disclaimer.hide{

opacity:0;
visibility:hidden;

}

.popup{

width:90%;
max-width:420px;

background:#fff;

padding:24px;

border-radius:16px;

box-shadow:0 20px 60px rgba(0,0,0,.30);

margin:auto;

}

.popup-logo{

width:65px;

display:block;

margin:auto auto 20px;

}

.popup h2{

text-align:center;

margin-bottom:20px;

}

.popup p{

font-size:15px;

line-height:1.7;

color:#555;

text-align:justify;

margin-bottom:25px;

}

.agree-box{

display:flex;

align-items:flex-start;

gap:12px;

font-size:14px;

margin-bottom:25px;

cursor:pointer;

}

.agree-box input{

margin-top:4px;

transform:scale(1.15);

accent-color:#C9A86A;

}

#acceptBtn{

width:100%;

padding:15px;

border:none;

border-radius:50px;

background:#999;

color:#fff;

font-weight:600;

letter-spacing:2px;

cursor:not-allowed;

transition:.35s;

}

#acceptBtn.enabled{

background:#C9A86A;

color:#111;

cursor:pointer;

}

#acceptBtn.enabled:hover{

background:#111;

color:#fff;

}

@keyframes popup{

from{

opacity:0;

transform:translateY(20px) scale(.96);

}

to{

opacity:1;

transform:none;

}

}

from{

opacity:0;
transform:translateY(30px);

}

to{

opacity:1;
transform:translateY(0);

}

}

/*========================================
NAVBAR
========================================*/

.navbar{

padding:20px 0;
transition:.4s;

background:rgba(0,0,0,.75);

backdrop-filter:blur(12px);

}

.navbar-brand{

display:flex;
align-items:center;

color:#fff !important;

font-family:var(--heading);

font-size:28px;

font-weight:700;

}

.navbar-brand img{

width:48px;
margin-right:15px;

}

.nav-link{

color:#fff !important;

margin-left:30px;

font-size:15px;

position:relative;

}

.nav-link:after{

content:'';

position:absolute;

left:0;
bottom:-8px;

width:0;

height:2px;

background:var(--secondary);

transition:.4s;

}

.nav-link:hover:after{

width:100%;

}

/*========================================
HERO
========================================*/

.hero{

background:#0b0b0b;

min-height:100vh;

display:flex;

align-items:center;

position:relative;

overflow:hidden;

}

.hero:before{

content:'';

position:absolute;

width:700px;
height:700px;

background:rgba(201,168,106,.05);

border-radius:50%;

right:-150px;
top:-150px;

}

.line{

width:70px;
height:3px;

background:var(--secondary);

margin-bottom:25px;

}

.hero h5{

letter-spacing:4px;

color:var(--secondary);

font-size:15px;

margin-bottom:20px;

}

.hero h1{

color:#fff;

margin-bottom:10px;

}

.hero h1 span{

color:var(--secondary);

}

.hero h3{

color:#ddd;

margin-bottom:30px;

font-size:28px;

}

.hero p{

color:#bbb;

font-size:18px;

margin-bottom:30px;

}

.practice-tags{

display:flex;
gap:15px;

flex-wrap:wrap;

margin-bottom:40px;

}

.practice-tags span{

padding:12px 20px;

border:1px solid rgba(255,255,255,.1);

border-radius:40px;

color:#fff;

font-size:14px;

transition:.4s;

}

.practice-tags span:hover{

background:var(--secondary);

color:#000;

}

.hero-buttons{

display:flex;
gap:20px;

margin-bottom:50px;

}

.btn-gold{

padding:15px 38px;

background:var(--secondary);

color:#111;

font-weight:600;

border-radius:40px;

transition:.4s;

}

.btn-gold:hover{

background:#fff;

}

.btn-outline{

padding:15px 38px;

border:1px solid var(--secondary);

color:#fff;

border-radius:40px;

transition:.4s;

}

.btn-outline:hover{

background:var(--secondary);

color:#111;

}

.registration{

display:flex;

gap:60px;

color:#ddd;

font-size:15px;

}

.registration strong{

display:block;

color:#fff;

margin-bottom:10px;

}

.hero-image{

position:relative;

display:flex;

justify-content:center;

}

.gold-frame{

width:470px;

height:620px;

border:2px solid var(--secondary);

border-radius:20px;

display:flex;

align-items:flex-end;

justify-content:center;

padding:20px;

}

.gold-frame img{

max-height:650px;

filter:drop-shadow(0 35px 60px rgba(0,0,0,.45));

}

.scroll-down{

position:absolute;

bottom:40px;

left:50%;

transform:translateX(-50%);

font-size:22px;

color:var(--secondary);

animation:jump 2s infinite;

}

@keyframes jump{

0%{transform:translate(-50%,0);}

50%{transform:translate(-50%,12px);}

100%{transform:translate(-50%,0);}

}
/*=========================================================
ABOUT SECTION
=========================================================*/

.about-section{

background:#ffffff;

}

.about-image{

position:relative;

padding-right:40px;

}

.about-image img{

width:100%;

border-radius:18px;

box-shadow:var(--shadow);

border:10px solid #fff;

}

.experience-box{

position:absolute;

bottom:30px;

right:0;

background:var(--primary);

padding:18px 35px;

border-left:4px solid var(--secondary);

border-radius:10px;

box-shadow:var(--shadow);

}

.experience-box span{

color:#fff;

font-size:18px;

font-family:var(--heading);

letter-spacing:1px;

}

.section-title h2{

margin-top:10px;

margin-bottom:20px;

}

.section-title p{

margin-bottom:25px;

}

.qualification-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:20px;

margin-top:40px;

}

.qualification-item{

background:#fff;

padding:28px;

border-radius:16px;

border:1px solid var(--border);

transition:.35s;

display:flex;

align-items:center;

gap:18px;

}

.qualification-item i{

font-size:34px;

color:var(--secondary);

}

.qualification-item h5{

margin:0;

font-size:22px;

}

.qualification-item small{

color:#777;

font-size:14px;

display:block;

margin-top:4px;

}

.qualification-item:hover{

transform:translateY(-10px);

box-shadow:var(--shadow);

}

/*=========================================================
PRACTICE SECTION
=========================================================*/

.practice-section{

background:#f8f8f8;

}

.practice-card{

background:#fff;

padding:50px 35px;

text-align:center;

border-radius:20px;

border:1px solid transparent;

transition:.4s;

height:100%;

box-shadow:0 15px 40px rgba(0,0,0,.05);

}

.practice-card:hover{

transform:translateY(-12px);

border-color:var(--secondary);

box-shadow:0 30px 70px rgba(0,0,0,.12);

}

.practice-card .icon{

width:90px;

height:90px;

margin:auto;

margin-bottom:25px;

border-radius:50%;

background:#111;

display:flex;

align-items:center;

justify-content:center;

transition:.35s;

}

.practice-card:hover .icon{

background:var(--secondary);

}

.practice-card .icon i{

font-size:36px;

color:#fff;

}

.practice-card:hover .icon i{

color:#111;

}

.practice-card h4{

margin-bottom:18px;

}

.practice-card p{

font-size:15px;

margin:0;

}

/*=========================================================
TIMELINE
=========================================================*/

.timeline-section{

background:#fff;

}

.timeline{

position:relative;

max-width:900px;

margin:auto;

}

.timeline:before{

content:'';

position:absolute;

left:35px;

top:0;

width:3px;

height:100%;

background:var(--secondary);

}

.timeline-item{

position:relative;

padding-left:110px;

margin-bottom:55px;

}

.timeline-item:last-child{

margin-bottom:0;

}

.timeline-icon{

position:absolute;

left:0;

top:0;

width:72px;

height:72px;

border-radius:50%;

background:var(--primary);

display:flex;

align-items:center;

justify-content:center;

border:3px solid var(--secondary);

}

.timeline-icon i{

color:#fff;

font-size:28px;

}

.timeline-content{

background:#fff;

padding:30px;

border-radius:16px;

border:1px solid var(--border);

box-shadow:0 15px 40px rgba(0,0,0,.05);

transition:.35s;

}

.timeline-content:hover{

transform:translateX(10px);

box-shadow:var(--shadow);

}

.timeline-content h4{

margin-bottom:12px;

}

.timeline-content p{

margin:0;

line-height:1.8;

}

/*=========================================================
COMMON ANIMATIONS
=========================================================*/

.practice-card,
.timeline-content,
.qualification-item,
.info-card{

transition:all .35s ease;

}

.section-heading{

margin-bottom:60px;

}

.section-heading h2{

margin-top:10px;

margin-bottom:15px;

}
/*=========================================================
BAR ENROLLMENT
=========================================================*/

.registration-section{

background:#f8f8f8;

}

.info-card{

background:#fff;

padding:50px 40px;

border-radius:20px;

text-align:center;

box-shadow:0 20px 60px rgba(0,0,0,.06);

border:1px solid transparent;

height:100%;

transition:.4s;

}

.info-card:hover{

transform:translateY(-10px);

border-color:var(--secondary);

box-shadow:var(--shadow);

}

.info-card i{

font-size:48px;

color:var(--secondary);

margin-bottom:25px;

}

.info-card h4{

margin-bottom:15px;

}

.info-card h3{

font-size:34px;

margin-bottom:15px;

color:#111;

}

.info-card p{

margin:0;

}

/*=========================================================
CONTACT
=========================================================*/

.contact-section{

background:#ffffff;

}

.contact-card{

background:#111;

padding:45px;

border-radius:20px;

height:100%;

box-shadow:var(--shadow);

}

.contact-card h4,
.contact-card h5{

color:#fff;

margin-bottom:15px;

}

.contact-card p{

color:#d8d8d8;

margin-bottom:20px;

}

.contact-card a{

color:var(--secondary);

transition:.3s;

}

.contact-card a:hover{

color:#fff;

}

.contact-card hr{

border-color:rgba(255,255,255,.08);

margin:25px 0;

}

/*=========================
FORM
==========================*/

.contact-form{

background:#fff;

padding:45px;

border-radius:20px;

box-shadow:0 20px 60px rgba(0,0,0,.06);

}

.form-control{

height:60px;

border-radius:12px;

border:1px solid #ddd;

padding-left:20px;

font-size:15px;

box-shadow:none;

}

.form-control:focus{

border-color:var(--secondary);

box-shadow:none;

}

textarea.form-control{

height:auto;

padding-top:15px;

resize:none;

}

.submit-btn{

background:var(--primary);

color:#fff;

border:none;

padding:16px 45px;

border-radius:40px;

font-weight:600;

letter-spacing:1px;

transition:.35s;

}

.submit-btn:hover{

background:var(--secondary);

color:#111;

}

/*=========================================================
DISCLAIMER
=========================================================*/

.website-disclaimer{

background:#111;

color:#bbb;

padding:90px 0;

}

.website-disclaimer h3{

color:#fff;

margin-bottom:25px;

}

.website-disclaimer p{

color:#bfbfbf;

font-size:15px;

line-height:2;

max-width:1100px;

margin:auto;

}

/*=========================================================
FOOTER
=========================================================*/

footer{

background:#070707;

padding:45px 0;

}

footer h3{

color:#fff;

margin-bottom:12px;

}

footer p{

color:#999;

margin:0;

}

footer a{

color:var(--secondary);

}

footer .row{

align-items:center;

}

/*=========================================================
SCROLL BUTTON
=========================================================*/

#scrollTop{

position:fixed;

right:35px;

bottom:35px;

width:55px;

height:55px;

background:var(--secondary);

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

color:#111;

font-size:20px;

text-decoration:none;

opacity:0;

visibility:hidden;

transition:.4s;

z-index:999;

box-shadow:0 15px 35px rgba(0,0,0,.2);

}

#scrollTop.active{

opacity:1;

visibility:visible;

}

#scrollTop:hover{

background:#fff;

transform:translateY(-5px);

}

/*=========================================================
GENERAL
=========================================================*/

::selection{

background:var(--secondary);

color:#111;

}

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-track{

background:#111;

}

::-webkit-scrollbar-thumb{

background:var(--secondary);

border-radius:20px;

}

/*=========================================================
SMALL EFFECTS
=========================================================*/

.hero-image img:hover{

transform:scale(1.02);

transition:.5s;

}

.practice-card:hover h4{

color:var(--secondary);

}

.timeline-content:hover h4{

color:var(--secondary);

}

.info-card:hover h4{

color:var(--secondary);

}

.contact-card i{

color:var(--secondary);

}

.navbar.scrolled{

background:#000;

padding:14px 0;

box-shadow:0 8px 30px rgba(0,0,0,.25);

}
/*=========================================================
RESPONSIVE
=========================================================*/

@media (max-width:1200px){

.hero h1{
font-size:60px;
}

.gold-frame{
width:420px;
height:560px;
}

.registration{
gap:35px;
}

}

@media (max-width:992px){

section{
padding:80px 0;
}

.navbar{
padding:15px 0;
}

.navbar-collapse{
margin-top:20px;
background:#111;
padding:20px;
border-radius:12px;
}

.nav-link{
margin:12px 0;
}

.hero{
text-align:center;
padding-top:120px;
}

.hero-content{
margin-bottom:60px;
}

.line{
margin:0 auto 25px;
}

.practice-tags{
justify-content:center;
}

.hero-buttons{
justify-content:center;
flex-wrap:wrap;
}

.registration{
justify-content:center;
flex-wrap:wrap;
text-align:center;
gap:25px;
}

.gold-frame{
width:360px;
height:500px;
margin:auto;
}

.about-image{
padding-right:0;
margin-bottom:50px;
}

.experience-box{
right:25px;
bottom:20px;
}

.qualification-grid{
grid-template-columns:1fr;
}

.timeline:before{
left:24px;
}

.timeline-item{
padding-left:75px;
}

.timeline-icon{
width:50px;
height:50px;
}

.timeline-icon i{
font-size:18px;
}

.contact-card{
margin-bottom:40px;
}

footer{
text-align:center;
}

footer .text-lg-end{
text-align:center !important;
margin-top:20px;
}

}

@media (max-width:768px){

h1{
font-size:46px;
}

h2{
font-size:36px;
}

h3{
font-size:24px;
}

.hero h3{
font-size:22px;
}

.hero p{
font-size:16px;
}

.gold-frame{
width:300px;
height:430px;
padding:15px;
}

.gold-frame img{
max-height:440px;
}

.popup{
padding:35px;
}

.popup h2{
font-size:32px;
}

.practice-card{
padding:35px 25px;
}

.info-card{
padding:35px 25px;
}

.contact-card{
padding:35px;
}

.contact-form{
padding:35px;
}

.registration{
display:block;
}

.registration div{
margin-bottom:20px;
}

#scrollTop{
width:48px;
height:48px;
right:20px;
bottom:20px;
font-size:16px;
}

}

@media (max-width:576px){

.hero{
padding-top:110px;
}

.hero h1{
font-size:38px;
}

.hero h3{
font-size:18px;
}

.hero p{
font-size:15px;
}

.practice-tags span{
font-size:12px;
padding:10px 14px;
}

.btn-gold,
.btn-outline{
width:100%;
text-align:center;
}

.hero-buttons{
display:grid;
gap:15px;
}

.gold-frame{
width:260px;
height:360px;
}

.popup{
padding:25px;
}

.popup-logo{
width:60px;
}

.popup p{
font-size:14px;
}

.section-heading{
margin-bottom:45px;
}

.timeline-content{
padding:22px;
}

.timeline-item{
margin-bottom:35px;
}

.contact-card,
.contact-form{
padding:25px;
}

}

/*=========================================================
UTILITY
=========================================================*/

.text-gold{
color:var(--secondary);
}

.bg-gold{
background:var(--secondary);
}

.bg-black{
background:#111;
}

.rounded-xl{
border-radius:20px;
}

.shadow-xl{
box-shadow:var(--shadow);
}

.fade-up{

opacity:0;

transform:translateY(40px);

transition:all .8s ease;

}

.fade-up.show{

opacity:1;

transform:none;

}

/*=========================================================
TRANSITIONS
=========================================================*/

a,
button,
img,
.card,
.practice-card,
.info-card,
.timeline-content{

transition:all .35s ease;

}
