/* ==========================================================
   AZURE CLOUD PORTFOLIO
   Author : Sadhurshan Ramesh
========================================================== */

/* Google Font */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

/* ===========================
   RESET
=========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Poppins',sans-serif;
    background:#08111f;
    color:#fff;
    line-height:1.7;
}

/* ===========================
   VARIABLES
=========================== */

:root{

    --primary:#0078D4;
    --primary-light:#2ea3ff;
    --secondary:#00bcf2;

    --dark:#08111f;
    --card:#122033;
    --card2:#18263a;

    --text:#ffffff;
    --muted:#bfc9d4;

    --shadow:0 20px 40px rgba(0,0,0,.35);

    --radius:14px;

}

/* ===========================
   SCROLLBAR
=========================== */

::-webkit-scrollbar{
    width:8px;
}

::-webkit-scrollbar-track{
    background:#08111f;
}

::-webkit-scrollbar-thumb{
    background:var(--primary);
    border-radius:20px;
}

/* ===========================
   CONTAINER
=========================== */

.container{
    width:90%;
    max-width:1200px;
    margin:auto;
}

/* ===========================
   NAVBAR
=========================== */

header{

    position:fixed;

    width:100%;

    top:0;

    z-index:999;

    background:rgba(8,17,31,.95);

    backdrop-filter:blur(12px);

    box-shadow:var(--shadow);

}

.navbar{

    display:flex;

    justify-content:space-between;

    align-items:center;

    height:80px;

}

.logo h2{

    color:var(--primary);

    font-size:30px;

    letter-spacing:2px;

}

.navbar ul{

    display:flex;

    list-style:none;

}

.navbar ul li{

    margin-left:35px;

}

.navbar ul li a{

    color:white;

    text-decoration:none;

    transition:.3s;

    font-weight:500;

}

.navbar ul li a:hover{

    color:var(--primary);

}

/* ===========================
   HERO
=========================== */

.hero{

    height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    text-align:center;

    background:

    linear-gradient(rgba(8,17,31,.80),

    rgba(8,17,31,.95)),

    url("../images/hero.jpg");

    background-size:cover;

    background-position:center;

}

.hero-content h1{

    font-size:28px;

    font-weight:400;

    color:var(--muted);

}

.hero-content h2{

    font-size:70px;

    color:white;

    margin-top:10px;

}

.hero-content h3{

    margin-top:15px;

    color:var(--primary);

    font-size:34px;

    font-weight:600;

}

.hero-content p{

    margin-top:25px;

    color:#c8d0d8;

    font-size:20px;

}

/* ===========================
   BUTTONS
=========================== */

.buttons{

    margin-top:40px;

}

.btn{

    display:inline-block;

    padding:15px 38px;

    background:var(--primary);

    color:white;

    text-decoration:none;

    border-radius:40px;

    margin:10px;

    transition:.3s;

    font-weight:600;

}

.btn:hover{

    background:#1593f0;

    transform:translateY(-4px);

}

.btn-outline{

    display:inline-block;

    padding:15px 38px;

    border:2px solid var(--primary);

    color:white;

    text-decoration:none;

    border-radius:40px;

    margin:10px;

    transition:.3s;

    font-weight:600;

}

.btn-outline:hover{

    background:var(--primary);

}

/* ===========================
   SECTION
=========================== */

section{

    padding:120px 0;

}

section h2{

    text-align:center;

    font-size:42px;

    margin-bottom:50px;

    color:white;

}

/* ===========================
   ABOUT
=========================== */

#about p{

    max-width:900px;

    margin:auto;

    text-align:center;

    color:#cfd8e3;

    font-size:19px;

}

/* ===========================
   CARDS
=========================== */

.cards{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:30px;

}

.card{

    background:var(--card);

    border-radius:var(--radius);

    padding:35px;

    transition:.35s;

    border:1px solid rgba(255,255,255,.05);

    box-shadow:var(--shadow);

}

.card:hover{

    transform:translateY(-12px);

    background:var(--card2);

}

.card h3{

    color:var(--primary);

    margin-bottom:20px;

}

.card ul{

    padding-left:20px;

}

.card li{

    margin-bottom:10px;

}

/* ===========================
   TIMELINE
=========================== */

.timeline{

    max-width:850px;

    margin:auto;

}

.job{

    background:var(--card);

    padding:40px;

    border-left:5px solid var(--primary);

    border-radius:10px;

}

.job h3{

    color:white;

    font-size:28px;

}

.job h4{

    color:var(--primary);

    margin-top:8px;

}

.job span{

    display:block;

    margin:18px 0;

    color:#b8c2ce;

}

.job ul{

    padding-left:20px;

}

/* ===========================
   CONTACT
=========================== */

#contact{

    text-align:center;

}

#contact p{

    margin:12px 0;

    color:#d6dce4;

}

/* ===========================
   FOOTER
=========================== */

footer{

    padding:40px;

    text-align:center;

    background:#050b15;

    color:#9da8b5;

}

/* ===========================
   RESPONSIVE
=========================== */

@media(max-width:900px){

.hero-content h2{

font-size:48px;

}

.hero-content h3{

font-size:26px;

}

.navbar{

flex-direction:column;

height:auto;

padding:20px;

}

.navbar ul{

margin-top:15px;

flex-wrap:wrap;

justify-content:center;

}

.navbar ul li{

margin:10px;

}

}

@media(max-width:600px){

.hero-content h2{

font-size:38px;

}

.hero-content h3{

font-size:22px;

}

.hero-content p{

font-size:17px;

}

section h2{

font-size:32px;

}

}
/* ==========================
   JavaScript Effects
========================== */

.card,
.job,
.hero-content{

    opacity:0;

    transform:translateY(40px);

    transition:.8s ease;

}

.show{

    opacity:1;

    transform:translateY(0);

}

.active{

    color:#38BDF8 !important;

    font-weight:600;

}
#typing{

color:#38BDF8;

font-size:40px;

font-weight:700;

}

.intro{

font-size:24px;

margin-bottom:15px;

color:#b9c6d6;

}

.hero-text{

margin-top:25px;

max-width:700px;

margin-left:auto;

margin-right:auto;

font-size:20px;

color:#d3d9e2;

}

.hero{

position:relative;

overflow:hidden;

}

#particles-js{

position:absolute;

top:0;

left:0;

width:100%;

height:100%;

z-index:1;

}

.hero-content{

position:relative;

z-index:2;

}

/* =======================================
   SKILLS GRID
=======================================*/

.skills-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

gap:30px;

margin-top:50px;

}

.skill-card{

background:#13243b;

padding:35px;

border-radius:18px;

text-align:center;

transition:.4s;

border:1px solid rgba(255,255,255,.05);

}

.skill-card:hover{

transform:translateY(-12px);

background:#18304e;

box-shadow:0 25px 45px rgba(0,120,212,.25);

}

.skill-card i{

font-size:45px;

color:#0078D4;

margin-bottom:20px;

}

.skill-card h3{

margin-bottom:15px;

font-size:24px;

}

.skill-card p{

color:#c6d0dc;

line-height:1.8;

}

.stats{

padding:80px 0;

background:#0d1d31;

}

.stats .container{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

gap:30px;

}

.stat-box{

text-align:center;

background:#15263d;

padding:40px;

border-radius:15px;

}

.stat-box h2{

font-size:55px;

color:#38BDF8;

}

.stat-box p{

margin-top:10px;

color:#d0dae4;

}

/* ====================================
TIMELINE
==================================== */

.timeline{

position:relative;

margin-top:60px;

}

.timeline::before{

content:"";

position:absolute;

left:20px;

top:0;

width:4px;

height:100%;

background:#0078D4;

}

.timeline-item{

display:flex;

margin-bottom:60px;

position:relative;

}

.timeline-dot{

width:20px;

height:20px;

background:#38BDF8;

border-radius:50%;

margin-right:30px;

margin-top:12px;

z-index:2;

}

.timeline-content{

background:#13243b;

padding:35px;

border-radius:15px;

flex:1;

box-shadow:0 15px 30px rgba(0,0,0,.3);

}

.timeline-content h3{

font-size:28px;

margin-bottom:10px;

}

.timeline-content h4{

color:#38BDF8;

margin-bottom:20px;

}

.timeline-content ul{

padding-left:20px;

}

.timeline-content li{

margin-bottom:12px;

}

.architecture{

width:100%;

border-radius:15px;

margin-top:40px;

box-shadow:0 20px 40px rgba(0,0,0,.35);

}

.gallery{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

gap:25px;

margin-top:40px;

}

.gallery img{

width:100%;

border-radius:12px;

transition:.35s;

cursor:pointer;

}

.gallery img:hover{

transform:scale(1.05);

}