@import url('https://fonts.googleapis.com/css?family=Oswald|Rambla|Staatliches&display=swap');
@import url('https://fonts.googleapis.com/css?family=Poppins:400,600&display=swap');

body{
    margin: 0;
    padding: 0;
}

:root{
    --color-black: #000000;
    --color-white: #ffffff;
    --color-border: #ffffff34;
    --color-blue: #6C63FF;
    --font-staat: 'Staatliches', cursive;
    --font-os:  'Oswald', sans-serif;
    --font-ram: 'Rambla', sans-serif;
}

/* global classes */
.font-staat{
    font: normal 400 18px var(--font-staat);
}
.font-os{
    font: normal 300 18px var(--font-os);
}
.font-ram{
    font: normal bold 18px var(--font-ram);
}

.font-size-40{
    font-size: 40px;
}
.font-size-34{
    font-size: 34px;
}
.font-size-27{
    font-size: 27px;
}
.font-size-20{
    font-size: 20px;
}
.font-size-16{
    font-size: 16px;
}

.bgcolor-black{
    background-color: var(--color-blue);
}

/* #global classes */

#header{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index:1;
    transition: left .5s ease;
}

#header nav{
    height: 100vh;
}
#header .site-title .navbar-brand{
    letter-spacing: 2px;
    color: var(--color-white);
}

#header .nav-link{
    margin: .7rem 1rem;
    border-bottom: 1px solid var(--color-border);
    text-transform: uppercase;
}

#header .nav-link:hover{
    color: var(--color-white) !important;
}

#header .toggle-button{
    background: none;
    color: var(--color-black);
    position: fixed;
    top: 25px;
    right: 20px;
    border: 1px solid var(--color-border);
}

.toggle-left{
    left: 0 !important;
    width: 1000px !important;
}

/* site-main */

.site-banner .banner-area{

    background-size: cover;
    width: 100%;
    height: 100vh;
    position: relative;
}

.site-banner .banner-area .author{
    margin: 0;
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.site-banner .banner-area .author .author-img{
    width: 240px;
    height: 240px;
    border-radius: 50%;
    margin: auto;
    background: url(./assets/avatar-alt.png) no-repeat;
    background-size: 110%;
    background-position: 40% 0;
}

.skill .bars p, .site-content .skill .bars span{
    line-height: 10px;
}

#footer form .row .col input[type="text"],
#footer form .row .col input[type="email"],
#footer form textarea{
    border: none;
    border-radius: 0;
    border-bottom: 1px solid gray;
    padding: 1.5rem 1rem;
}

@media screen and (min-width: 768px){
    .toggle-button{
        display: none;
    }
    #header{
        z-index:0;
    }
}

#typed{
    color: var(--color-blue);
}
/* #site-main */


/*icons*/
.social-icons a{
    display:inline-block;height:3.5rem;
    width:3.5rem;
    background-color: #fff;
    color:#343a40!important;
    border-radius:100%;
    text-align:center;
    font-size:1.5rem;
    line-height:3.5rem;
    margin-right:1rem
  }
  
  .social-icons a:last-child{
    margin-right:0
  }
  
  .social-icons a:hover{
    background-color:var(--color-blue);
    transform: scale(1.2)
  }
  
  .social-icons a:hover i {
    transform: scale(1.3);
  }

  .dev-icons {
    font-size: 5rem;
  }
  
  .dev-icons .list-inline-item :hover {
    color: var(--color-blue);
  }
  /*icons*/



  /*project*/
.frame {
	text-align: center;	
	position: relative;
	cursor: pointer;	
	perspective: 500px; 
}

.frame .details {
	width: 90%;
	height: 90%;	
	padding: 5% 8%;
	position: absolute;
	content: "";
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotateY(90deg);
	transform-origin: 50%;
	background: var(--color-blue);	
	opacity: 0;
    transition: all 0.4s ease-in;
    color: var(--color-white);
    font-family: var(--font-ram);
}

.frame:hover .details {
	transform: translate(-50%, -50%) rotateY(0deg);
	opacity: 1;
}


/*project icons- github and live site*/
.giti, .eye{
    font-size: 3rem;
    color: var(--color-white);
}

.eye :hover{
    color: var(--color-white);
}

.project-card {
    border-radius: 16px;
    box-shadow: 0 4px 16px 0 rgba(44,62,80,0.10);
    border: 1px solid #ececec;
    transition: transform 0.25s cubic-bezier(.4,2,.6,1), box-shadow 0.25s, border-color 0.25s;
    background: #fff;
    cursor: pointer;
}

.project-card:hover {
    transform: translateY(-8px) scale(1.03);
    box-shadow: 0 8px 32px 0 rgba(44,62,80,0.18);
    border-color: #d1d5db;
    background: #f8f9fa;
}

.project-card img {
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
    height: 200px;
    object-fit: cover;
}

.card-title {
    font-weight: bold;
    font-size: 1.2rem;
}

.card-text {
    font-size: 1rem;
    color: #555;
}

.card-link {
    color: #007bff;
}

.card-link:hover {
    text-decoration: underline;
}

/* Tech badge/tag pill style */
.tech-badge {
    display: inline-block;
    background: #f3f4f6;
    color: #4e54c8;
    font-size: 0.85rem;
    font-weight: 500;
    border-radius: 999px;
    padding: 0.18em 0.9em;
    margin: 0.2em 0.2em 0 0;
    border: 1px solid #e0e7ff;
    letter-spacing: 0.03em;
}

/* --- Modern Typography & Fonts --- */
h1, h2, h3, h4, h5, h6, .font-staat, .font-os {
    font-family: 'Poppins', var(--font-staat), var(--font-os), sans-serif;
    font-weight: 600;
    letter-spacing: 1px;
    line-height: 1.2;
}

section h1, section h5 {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
}

body, p, .font-ram {
    line-height: 1.7;
}

/* --- Buttons & Links --- */
.btn, .btn-dark {
    border-radius: 2rem;
    font-weight: 600;
    font-size: 1.1rem;
    padding: 0.75rem 2rem;
    transition: background 0.2s, color 0.2s, box-shadow 0.2s, transform 0.2s;
    box-shadow: 0 2px 8px 0 rgba(44,62,80,0.08);
}
.btn-dark {
    background: var(--color-blue);
    color: #fff;
    border: none;
}
.btn-dark:hover, .btn:hover {
    background: #4f4fff;
    color: #fff;
    transform: translateY(-2px) scale(1.04);
    box-shadow: 0 4px 16px 0 rgba(44,62,80,0.16);
}

.card-link, a {
    transition: color 0.2s, text-decoration 0.2s;
}
.card-link:hover, a:hover {
    color: var(--color-blue);
    text-decoration: underline;
}

/* --- Fade-in Animation for Sections --- */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translate3d(0, 40px, 0);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

.fade-in-section {
    opacity: 0;
    animation: fadeInUp 0.8s cubic-bezier(.4,2,.6,1) forwards;
}

/* Modern Footer Enhancements */
#footer {
    background: #f8f9fa;
    border-top: 1px solid #ececec;
    padding: 2.5rem 0 1.5rem 0;
    margin-top: 3rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
#footer .row {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    background: none;
    box-shadow: none;
}
#footer .social-icons {
    margin-top: 1rem;
}
#footer .social-icons a {
    margin: 0 0.7rem;
    color: #6C63FF;
    font-size: 2rem;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 2px 8px 0 rgba(44,62,80,0.08);
    transition: color 0.2s, background 0.2s, transform 0.2s;
    padding: 0.5rem;
}
#footer .social-icons a:hover {
    color: #fff;
    background: #6C63FF;
    transform: scale(1.2) rotate(-8deg);
}
#footer .description {
    margin-bottom: 0.5rem;
    font-size: 1.1rem;
    color: #555;
}
#footer h6 {
    font-size: 1rem;
    color: #888;
    margin-bottom: 0;
}

/* --- Responsive Layouts --- */
@media (max-width: 991px) {
    #header {
        position: static;
        width: 100%;
    }
    .col-3, .col-md-9 {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
    }
    .offset-md-3 {
        margin-left: 0 !important;
    }
    .site-banner, .about, .skill, .awards, .work {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
}
@media (max-width: 767px) {
    h1, .font-staat {
        font-size: 2rem !important;
    }
    section h1, section h5 {
        font-size: 1.5rem !important;
    }
    .btn, .btn-dark {
        font-size: 1rem;
        padding: 0.5rem 1.2rem;
    }
    #footer {
        padding: 1rem 0 0.5rem 0;
    }
    #footer .social-icons a {
        font-size: 1.2rem;
    }
}
@media (max-width: 575px) {
    .site-banner, .about, .skill, .awards, .work {
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }
    h1, .font-staat {
        font-size: 1.2rem !important;
    }
    section h1, section h5 {
        font-size: 1.1rem !important;
    }
}
