/* ==========================================================
   DHIRAJ BAJRACHARYA PORTFOLIO
   STYLE.CSS
   PART 1
==========================================================*/

/* Google Font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

/* ==========================================================
   VARIABLES
==========================================================*/

:root{

    --background:#08111f;

    --surface:#101827;

    --surface-light:#172334;

    --border:#22324b;

    --primary:#3B82F6;

    --primary-dark:#2563EB;

    --secondary:#14B8A6;

    --purple:#8B5CF6;

    --orange:#F97316;

    --white:#ffffff;

    --text:#E5E7EB;

    --muted:#94A3B8;

    --shadow:0 20px 40px rgba(0,0,0,.35);

    --radius:18px;

    --transition:.35s ease;

    --navbar-bg:rgba(8,17,31,.78);

    --hero-card-bg:linear-gradient(180deg, rgba(23,35,52,.95), rgba(16,24,39,.95));

    --section-bg:rgba(255,255,255,.02);

    --panel-soft:rgba(255,255,255,.03);

    --panel-strong:rgba(255,255,255,.06);

    --glow-1:rgba(59,130,246,.15);

    --glow-2:rgba(20,184,166,.12);

}

/* ==========================================================
   RESET
==========================================================*/

*{

    margin:0;

    padding:0;

    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

    scroll-padding-top:110px;

}

body{

    font-family:'Inter',sans-serif;

    background:var(--background);

    color:var(--text);

    line-height:1.8;

    overflow-x:hidden;

    transition:background-color .35s ease, color .35s ease;

}

/* ==========================================================
   BACKGROUND
==========================================================*/

body::before{

    content:"";

    position:fixed;

    inset:0;

    background:

    radial-gradient(circle at top right,
    rgba(59,130,246,.15),
    transparent 35%),

    radial-gradient(circle at bottom left,
    rgba(20,184,166,.12),
    transparent 35%);

    pointer-events:none;

    z-index:-2;

}

body::after{

    content:"";

    position:fixed;

    inset:0;

    background-image:

    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),

    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);

    background-size:60px 60px;

    opacity:.25;

    pointer-events:none;

    z-index:-1;

}

/* ==========================================================
   TYPOGRAPHY
==========================================================*/

h1{

    font-size:4.5rem;

    line-height:1.05;

    font-weight:800;

    color:white;

}

h2{

    font-size:2.8rem;

    margin-bottom:20px;

    color:white;

}

h3{

    font-size:1.4rem;

    margin-bottom:10px;

    color:white;

}

p{

    color:var(--muted);

    font-size:1.05rem;

}

a{

    text-decoration:none;

}

/* ==========================================================
   LAYOUT
==========================================================*/

.container{

    width:min(1180px,92%);

    margin:auto;

}

.section{

    padding:120px 0;

    scroll-margin-top:110px;

}

.section-header{

    max-width:760px;

    margin-bottom:70px;

}

.section-tag{

    display:inline-block;

    padding:6px 14px;

    border-radius:999px;

    background:rgba(59,130,246,.15);

    color:var(--primary);

    font-size:.85rem;

    letter-spacing:1px;

    margin-bottom:18px;

}

/* ==========================================================
   PROGRESS BAR
==========================================================*/

#progress{

    position:fixed;

    top:0;

    left:0;

    height:3px;

    width:0;

    background:var(--primary);

    z-index:99999;

}

/* ==========================================================
   NAVIGATION
==========================================================*/

.navbar{

    position:fixed;

    top:0;

    width:100%;

    backdrop-filter:blur(18px);

    background:var(--navbar-bg);

    border-bottom:1px solid var(--navbar-border);

    box-shadow:none;

    transition:background .3s ease, box-shadow .3s ease, border-color .3s ease;

    z-index:999;

}

.navbar.scrolled{

    background:var(--navbar-bg-scrolled);

    box-shadow:var(--navbar-shadow);

}

.navbar .container{

    display:flex;

    justify-content:space-between;

    align-items:center;

    height:82px;

}

.logo{

    color:white;

    font-size:1.8rem;

    font-weight:800;

}

.logo span{

    color:var(--primary);

}

.nav-links{

    display:flex;

    gap:40px;

    list-style:none;

}

.nav-links a{

    color:var(--navbar-text-muted);

    transition:var(--transition);

    position:relative;

}

.nav-links a:hover{

    color:var(--navbar-text);

}

.nav-links a::after{

    content:"";

    position:absolute;

    bottom:-6px;

    left:0;

    width:0;

    height:2px;

    background:var(--primary);

    transition:.3s;

}

.nav-links a:hover::after{

    width:100%;

}

#themeToggle{

    background:none;

    border:1px solid var(--navbar-border);

    color:var(--navbar-text);

    width:44px;

    height:44px;

    border-radius:50%;

    cursor:pointer;

    transition:.3s;

}

#themeToggle:hover{

    background:var(--primary);

}

/* ==========================================================
   HERO
==========================================================*/

.hero{

    min-height:100vh;

    display:flex;

    align-items:center;

    padding-top:clamp(110px, 12vh, 150px);

}

.hero-grid{

    display:grid;

    grid-template-columns:1.6fr .9fr;

    gap:90px;

    align-items:center;

}

.eyebrow{

    color:var(--secondary);

    text-transform:uppercase;

    letter-spacing:3px;

    font-size:.85rem;

    margin-bottom:25px;

}

.hero-text{

    font-size:1.15rem;

    max-width:700px;

    margin:35px 0;

}

#typing{

    color:var(--primary);

    min-height:55px;

}

/* ==========================================================
   BUTTONS
==========================================================*/

.hero-buttons{

    display:flex;

    gap:18px;

    margin-top:45px;

}

.btn{

    padding:16px 34px;

    border-radius:14px;

    font-weight:600;

    transition:var(--transition);

}

.btn-primary{

    background:var(--primary);

    color:white;

}

.btn-primary:hover{

    background:var(--primary-dark);

    transform:translateY(-4px);

}

.btn-secondary{

    border:1px solid var(--border);

    color:var(--text);

    background:transparent;

}

.btn-secondary:hover{

    background:var(--surface-light);

    transform:translateY(-4px);

}

/* ==========================================================
   PROFILE CARD
==========================================================*/

.profile-card{

    background:var(--hero-card-bg);

    border:1px solid var(--border);

    border-radius:22px;

    padding:28px;

    box-shadow:var(--shadow);

}

.profile-card img{

    width:100%;

    border-radius:18px;

    margin-bottom:25px;

}

.status{

    display:flex;

    align-items:center;

    gap:10px;

    color:var(--muted);

}

.dot{

    width:10px;

    height:10px;

    background:#22c55e;

    border-radius:50%;

}

.profile-card hr{

    margin:24px 0;

    border:none;

    border-top:1px solid var(--border);

}

.mini-info{

    display:grid;

    gap:20px;

}

small{

    color:var(--muted);

    display:block;

}

strong{

    color:var(--text);

}

/* ==========================================================
   STATS
==========================================================*/

.stats{

    padding:40px 0 90px;

}

.stat-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}

.stat-card{

    background:var(--surface);

    border:1px solid var(--border);

    border-radius:20px;

    padding:35px;

    text-align:center;

    transition:.35s;

}

.stat-card:hover{

    transform:translateY(-8px);

    border-color:var(--primary);

}

.stat-card h2{

    font-size:3rem;

    margin-bottom:10px;

    color:var(--primary);

}

.stat-card p{

    font-size:.95rem;

}

/* ==========================================================
   COMPANY LOGOS
==========================================================*/

.companies{

    padding-bottom:100px;

}

.section-subtitle{

    text-align:center;

    margin-bottom:40px;

    color:var(--muted);

    letter-spacing:3px;

}

.company-grid{

    display:grid;

    grid-template-columns:repeat(5,1fr);

    gap:25px;

}

.company{

    background:var(--surface);

    border:1px solid var(--border);

    border-radius:18px;

    padding:30px;

    text-align:center;

    color:var(--muted);

    font-weight:700;

    transition:.3s;

}

.company:hover{

    color:white;

    border-color:var(--primary);

    transform:translateY(-6px);

}


/* ==========================================================
   ABOUT
==========================================================*/

.about-grid{

    display:grid;

    grid-template-columns:2fr 1fr;

    gap:60px;

    align-items:start;

}

.about-grid p{

    margin-bottom:22px;

}

.highlight-box{

    background:linear-gradient(
        180deg,
        rgba(59,130,246,.12),
        rgba(20,184,166,.08)
    );

    border:1px solid var(--border);

    border-radius:22px;

    padding:35px;

    position:sticky;

    top:120px;

}

.highlight-box h3{

    margin-bottom:20px;

}

.highlight-box ul{

    list-style:none;

}

.highlight-box li{

    padding:14px 0;

    border-bottom:1px solid rgba(255,255,255,.06);

    color:var(--muted);

    transition:.3s;

}

.highlight-box li:last-child{

    border-bottom:none;

}

.highlight-box li:hover{

    color:white;

    padding-left:12px;

}

/* ==========================================================
   PHILOSOPHY
==========================================================*/

.philosophy{

    background:var(--section-bg);

}

.philosophy-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:30px;

}

.philosophy-card{

    background:var(--surface);

    border:1px solid var(--border);

    border-radius:22px;

    padding:40px;

    transition:.35s;

    position:relative;

    overflow:hidden;

}

.philosophy-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:4px;

    height:100%;

    background:var(--primary);

    transform:scaleY(0);

    transform-origin:top;

    transition:.35s;

}

.philosophy-card:hover{

    transform:translateY(-8px);

    border-color:var(--primary);

}

.philosophy-card:hover::before{

    transform:scaleY(1);

}

.icon{

    width:70px;

    height:70px;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:2rem;

    border-radius:20px;

    margin-bottom:25px;

    background:rgba(59,130,246,.12);

}

.philosophy-card p{

    margin-top:15px;

}

/* ==========================================================
   EXPERTISE
==========================================================*/

.expertise-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:35px;

}

.expertise-card{

    background:var(--surface);

    border:1px solid var(--border);

    border-radius:22px;

    padding:40px;

    transition:.35s;

    position:relative;

}

.expertise-card:hover{

    transform:translateY(-8px);

    border-color:var(--secondary);

    box-shadow:var(--shadow);

}

.expertise-card::after{

    content:"";

    position:absolute;

    left:0;

    bottom:0;

    width:100%;

    height:4px;

    background:linear-gradient(
        90deg,
        var(--primary),
        var(--secondary)
    );

    transform:scaleX(0);

    transform-origin:left;

    transition:.35s;

}

.expertise-card:hover::after{

    transform:scaleX(1);

}

.expertise-icon{

    width:80px;

    height:80px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:20px;

    font-size:2.3rem;

    margin-bottom:25px;

    background:rgba(59,130,246,.12);

}

.expertise-card h3{

    margin-bottom:18px;

}

.expertise-card p{

    color:var(--muted);

}

/* ==========================================================
   SECTION DECORATION
==========================================================*/

.section{

    position:relative;

}

.section::before{

    content:"";

    position:absolute;

    top:80px;

    right:5%;

    width:220px;

    height:220px;

    border-radius:50%;

    background:radial-gradient(

        rgba(59,130,246,.08),

        transparent 70%

    );

    pointer-events:none;

    z-index:-1;

}

/* ==========================================================
   HOVER EFFECTS
==========================================================*/

.card-hover{

    transition:.35s;

}

.card-hover:hover{

    transform:translateY(-10px);

}

.section-header h2{

    max-width:750px;

}

.section-header p{

    max-width:650px;

}

/* ==========================================================
   FADE-IN SUPPORT
==========================================================*/

.fade-up{

    opacity:0;

    transform:translateY(40px);

    transition:all .8s ease;

}

.fade-up.show{

    opacity:1;

    transform:translateY(0);

}

/* ==========================================================
   EXPERIENCE TIMELINE
==========================================================*/

.experience-section{
    position:relative;
}

.timeline{
    position:relative;
    max-width:900px;
    margin:70px auto 0;
    padding-left:60px;
}

.timeline::before{

    content:"";

    position:absolute;

    left:15px;

    top:0;

    width:3px;

    height:100%;

    background:linear-gradient(
        var(--primary),
        var(--secondary)
    );

}

.timeline-item{

    position:relative;

    margin-bottom:70px;

}

.timeline-dot{

    position:absolute;

    left:-52px;

    top:12px;

    width:18px;

    height:18px;

    border-radius:50%;

    background:var(--primary);

    border:4px solid var(--background);

    box-shadow:0 0 0 4px rgba(59,130,246,.25);

}

.timeline-content{

    background:var(--surface);

    border:1px solid var(--border);

    border-radius:22px;

    padding:35px;

    transition:.35s;

}

.timeline-content:hover{

    transform:translateY(-8px);

    border-color:var(--primary);

    box-shadow:var(--shadow);

}

.timeline-year{

    display:inline-block;

    color:var(--secondary);

    font-weight:600;

    margin-bottom:15px;

}

.timeline-content h3{

    margin-bottom:4px;

}

.timeline-content h4{

    color:var(--muted);

    margin-bottom:20px;

    font-weight:500;

}

.achievement-list{

    display:flex;

    flex-wrap:wrap;

    gap:10px;

    margin-top:25px;

}

.achievement-list span{

    padding:8px 14px;

    border-radius:999px;

    background:rgba(59,130,246,.12);

    color:var(--primary);

    font-size:.85rem;

}



/* ==========================================================
   SKILLS
==========================================================*/

.tech-stack{

    background:var(--section-bg);

}

.skill-category{

    margin-bottom:45px;

}

.skill-category h3{

    margin-bottom:18px;

}

.chips{

    display:flex;

    flex-wrap:wrap;

    gap:14px;

}

.chips span{

    padding:12px 18px;

    border-radius:999px;

    background:var(--surface);

    border:1px solid var(--border);

    transition:.3s;

    cursor:default;

}

.chips span:hover{

    background:var(--primary);

    border-color:var(--primary);

    color:white;

    transform:translateY(-4px);

}



/* ==========================================================
   PROJECTS
==========================================================*/

.projects-section{

    overflow:hidden;

}

.project-card{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;

    margin-bottom:120px;

}

.project-card.reverse{

    direction:rtl;

}

.project-card.reverse>*{

    direction:ltr;

}

.project-image{

    position:relative;

}

.project-image img{

    width:100%;

    border-radius:22px;

    border:1px solid var(--border);

    transition:.4s;

    box-shadow:var(--shadow);

}

.project-card:hover img{

    transform:scale(1.03);

}

.project-content{

    max-width:520px;

}

.project-type{

    display:inline-block;

    margin-bottom:18px;

    padding:7px 16px;

    border-radius:999px;

    background:rgba(20,184,166,.12);

    color:var(--secondary);

    font-size:.8rem;

    letter-spacing:.5px;

}

.project-content h3{

    font-size:2rem;

    margin-bottom:20px;

}

.project-content p{

    margin-bottom:28px;

}

.tech-list{

    display:flex;

    flex-wrap:wrap;

    gap:10px;

    margin-bottom:30px;

}

.tech-list span{

    background:var(--surface);

    border:1px solid var(--border);

    border-radius:999px;

    padding:8px 14px;

    font-size:.85rem;

}

.project-link{

    color:var(--primary);

    font-weight:600;

    transition:.3s;

}

.project-link:hover{

    letter-spacing:.5px;

}



/* ==========================================================
   PROJECT IMAGE EFFECT
==========================================================*/

.project-image::before{

    content:"";

    position:absolute;

    width:120px;

    height:120px;

    background:rgba(59,130,246,.15);

    filter:blur(60px);

    border-radius:50%;

    top:-20px;

    right:-20px;

    z-index:-1;

}



/* ==========================================================
   RESPONSIVE
==========================================================*/

@media(max-width:1100px){

.project-card{

grid-template-columns:1fr;

gap:40px;

}

.project-card.reverse{

direction:ltr;

}

.timeline{

padding-left:35px;

}

}



@media(max-width:768px){

.timeline::before{

left:10px;

}

.timeline-dot{

left:-43px;

}

.timeline{

padding-left:35px;

}

.chips{

gap:10px;

}

.project-content h3{

font-size:1.6rem;

}

}

/* ==========================================================
   CURRENT FOCUS
==========================================================*/

.current-focus{
    background:var(--section-bg);
}

.focus-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:30px;
}

.focus-card{

    background:var(--surface);

    border:1px solid var(--border);

    border-radius:20px;

    padding:35px;

    transition:.35s;

    position:relative;

    overflow:hidden;

}

.focus-card::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        135deg,
        rgba(59,130,246,.08),
        transparent
    );

    opacity:0;

    transition:.35s;

}

.focus-card:hover{

    transform:translateY(-8px);

    border-color:var(--primary);

}

.focus-card:hover::before{

    opacity:1;

}

.focus-card h3{

    margin-bottom:15px;

}

/* ==========================================================
   BLOG
==========================================================*/

.blog-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.blog-card{

    background:var(--surface);

    border:1px solid var(--border);

    border-radius:20px;

    padding:35px;

    transition:.35s;

}

.blog-card:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow);

    border-color:var(--primary);

}

.blog-date{

    display:inline-block;

    padding:6px 14px;

    border-radius:999px;

    background:rgba(20,184,166,.12);

    color:var(--secondary);

    margin-bottom:20px;

    font-size:.85rem;

}

.blog-card h3{

    margin-bottom:15px;

}

.blog-card a{

    display:inline-block;

    margin-top:25px;

    color:var(--primary);

    font-weight:600;

}

/* ==========================================================
   CONTACT
==========================================================*/

.contact-box{

    display:grid;

    grid-template-columns:2fr 1fr;

    gap:70px;

    background:linear-gradient(
        180deg,
        var(--surface) 0%,
        var(--surface-light) 100%
    );

    border:1px solid var(--border);

    border-radius:24px;

    padding:60px;

}

.contact-items{

    margin-top:40px;

    display:grid;

    gap:30px;

}

.contact-items strong{

    display:block;

    margin-bottom:6px;

}

.contact-right{

    display:flex;

    flex-direction:column;

    justify-content:center;

    gap:18px;

}

.contact-right .btn{

    text-align:center;

}

/* ==========================================================
   FOOTER
==========================================================*/

footer{

    border-top:1px solid var(--border);

    padding:80px 0 30px;

}

.footer-grid{

    display:grid;

    grid-template-columns:2fr 1fr 1fr;

    gap:60px;

}

.footer-grid ul{

    list-style:none;

}

.footer-grid li{

    margin-bottom:10px;

}

.footer-grid a{

    color:var(--muted);

    transition:.3s;

}

.footer-grid a:hover{

    color:white;

}

.copyright{

    text-align:center;

    margin-top:60px;

    color:var(--muted);

    font-size:.9rem;

}

/* ==========================================================
   BACK TO TOP BUTTON
==========================================================*/

#backToTop{

    position:fixed;

    right:25px;

    bottom:25px;

    width:52px;

    height:52px;

    border:none;

    border-radius:50%;

    background:var(--primary);

    color:white;

    cursor:pointer;

    box-shadow:var(--shadow);

    opacity:0;

    visibility:hidden;

    transition:.35s;

    z-index:999;

}

#backToTop.show{

    opacity:1;

    visibility:visible;

}

/* ==========================================================
   SCROLL ANIMATION
==========================================================*/

.reveal{

    opacity:0;

    transform:translateY(40px);

    transition:all .8s ease;

}

.reveal.active{

    opacity:1;

    transform:translateY(0);

}

/* ==========================================================
   CUSTOM SCROLLBAR
==========================================================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:var(--background);

}

::-webkit-scrollbar-thumb{

    background:var(--primary);

    border-radius:50px;

}

::-webkit-scrollbar-thumb:hover{

    background:var(--primary-dark);

}

/* ==========================================================
   SELECTION
==========================================================*/

::selection{

    background:var(--primary);

    color:white;

}

/* ==========================================================
   LIGHT THEME
==========================================================*/

body.light{

    --background:#f8fafc;

    --surface:#ffffff;

    --surface-light:#f1f5f9;

    --border:#dbe4ef;

    --text:#0f172a;

    --muted:#475569;

    --shadow:0 20px 40px rgba(15,23,42,.08);

    --navbar-bg:rgba(255,255,255,.92);

    --navbar-bg-scrolled:rgba(255,255,255,.97);

    --navbar-text:#0f172a;

    --navbar-text-muted:#475569;

    --navbar-border:rgba(15,23,42,.08);

    --navbar-shadow:0 10px 30px rgba(15,23,42,.08);

    --hero-card-bg:linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);

    --section-bg:rgba(15,23,42,.03);

    --panel-soft:rgba(15,23,42,.03);

    --panel-strong:rgba(15,23,42,.06);

    --glow-1:rgba(59,130,246,.12);

    --glow-2:rgba(20,184,166,.10);

}

body.light h1,
body.light h2,
body.light h3,
body.light strong,
body.light .logo{

    color:#111827;

}

body.light .navbar{

    background:var(--navbar-bg);

}

body.light .btn-secondary{

    color:var(--text);

}

body.light .nav-links a{

    color:var(--muted);

}

body.light .nav-links a:hover{

    color:var(--text);

}

body.light .company,
body.light .stat-card,
body.light .philosophy-card,
body.light .expertise-card,
body.light .timeline-content,
body.light .focus-card,
body.light .blog-card,
body.light .profile-card,
body.light .contact-box{

    background:var(--surface);

    box-shadow:none;

}

body.light .company:hover,
body.light .philosophy-card:hover,
body.light .expertise-card:hover,
body.light .timeline-content:hover,
body.light .focus-card:hover,
body.light .blog-card:hover{

    border-color:var(--primary);

    color:var(--text);

}

body.light .section-tag,
body.light .project-type,
body.light .blog-date{

    background:rgba(59,130,246,.12);

}

body.light .highlight-box li,
body.light .highlight-box li:hover{

    border-bottom-color:var(--panel-strong);

}

/* ==========================================================
   RESPONSIVE
==========================================================*/

@media(max-width:992px){

.hero-grid,
.about-grid,
.contact-box{

grid-template-columns:1fr;

}

.hero{

padding-top:120px;

}

.profile-card{

max-width:420px;

margin:auto;

}

.blog-grid{

grid-template-columns:1fr 1fr;

}

.focus-grid,
.philosophy-grid,
.expertise-grid{

grid-template-columns:1fr;

}

.stat-grid{

grid-template-columns:repeat(2,1fr);

}

.company-grid{

grid-template-columns:repeat(3,1fr);

}

.footer-grid{

grid-template-columns:1fr;

}

}

@media(max-width:768px){

h1{

font-size:3rem;

}

h2{

font-size:2.2rem;

}

.section{

padding:90px 0;

}

.nav-links{

display:none;

}

.hero-buttons{

flex-direction:column;

}

.blog-grid{

grid-template-columns:1fr;

}

.company-grid{

grid-template-columns:repeat(2,1fr);

}

.stat-grid{

grid-template-columns:1fr;

}

.contact-box{

padding:35px;

}

}

@media(max-width:480px){

.container{

width:94%;

}

.company-grid{

grid-template-columns:1fr;

}

.profile-card{

padding:20px;

}

.btn{

width:100%;

}

}

/* ==========================================================
   UTILITIES
==========================================================*/

.text-center{

text-align:center;

}

.mt-1{margin-top:10px;}
.mt-2{margin-top:20px;}
.mt-3{margin-top:30px;}
.mt-4{margin-top:40px;}
.mt-5{margin-top:50px;}

.mb-1{margin-bottom:10px;}
.mb-2{margin-bottom:20px;}
.mb-3{margin-bottom:30px;}
.mb-4{margin-bottom:40px;}
.mb-5{margin-bottom:50px;}

.hidden{

display:none;

}