:root{
    --trans: 0.3s ease;
    --avatar-border: 25px;
    --links-border: 15px;
    --body-border: 20px;
}

*,::before,::after{
    box-sizing: border-box;
}

body.no-anim *{
    animation: unset;
}

body.no-anim {
    transition: unset;
}

body{
    background: var(--bg);
    font-family: aktiv, arial;
    font-weight: 400;
    font-style: normal;
    margin: 0;
    color: var(--t);
    transition: var(--trans);
}

h1,h2,h3,p{
    margin: 0;
}

a{
    text-decoration: none;
}

p{
    line-height: 1.5;
}

h2{
    line-height: 1.5;
    font-size: 1.4rem;
}

::selection{
    background: var(--bg);
    color: var(--fg);
}


::-webkit-scrollbar {
  width: 15px;
  background: rgba(255,255,255,0);
}

/* Track */
::-webkit-scrollbar-track {
  background: rgba(255,255,255,0);
}
 
/* Handle */
::-webkit-scrollbar-thumb {
  background:  var(--gradient);
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: var(--gradient-scroll-hover);
}



/* --- Global Classes --- */
.rtl{
    direction: rtl;
}

.ltr{
    direction: ltr;
}

.rtl .ltr{
    text-align: right;
}

.ltr .ltr{
    text-align: left;
}


.icon-color{
    fill: var(--icons);
}

.sm-icon-color{
    fill: var(--sm-icons);
}



.global-con{
    max-width: 1200px;
    margin: auto;
}

section{
    padding: 20px 60px 0px 60px;
    position: relative;
    z-index: 2;
    overflow: hidden;
}


/* Background */
.bg-con *{
    position: fixed;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

#gradiant-bg{
    background: var(--gradient);
    opacity: var(--gradient-opacity);
    z-index: 1;
    mix-blend-mode: var(--gradient-mode);
}

#image-bg img{
    object-fit: cover;
}


/* NAV */
header{
    position: relative;
    z-index: 3;
}

.nav-con{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#share-btn{
    display: flex;
    align-items: center;
    width: 33px;
    cursor: pointer;
}

#share-btn svg{
    height: 32px;
}

.controls-wrapper{
    display: flex;
    gap: 15px;
    align-items: center;
}

.theme-switch-con{
    cursor: pointer;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.theme-switch-con svg,
.theme-switch-con{
    transition: 0.3s ease;
    opacity: 1;
    transform: scale(1);
    width: 30px;
    height: 30px;
}

.theme-switch-con #moon{
    position: absolute;
    height: 100%;
    top: 0;
    left: 0;
}

.theme-switch-con:hover{
    opacity: 0.8;
}

#theme-switch #moon{
    transform: scale(var(--light));
    opacity: var(--light);
}

#theme-switch #sun{
    transform: scale(var(--dark));
    opacity: var(--dark);
}

#lang-switch{
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 0;
}

#lang-switch a{
  display: block;
  text-decoration: none;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--fg);
  margin-top: 5px;
  letter-spacing: 0.03rem;
}



/* Profile */
main{
    max-width: 380px;
    margin: 0 auto;
    min-height: 1000px;
    min-height: 80svh;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 50px;
    position: relative;
    top: -50px;
}

.main-user-info{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    color: var(--bg);
    width: 100%;
}

.avatar-con{
    position: relative;
    display: flex;
    justify-content: center;
    top: 90px;
    z-index: 3;
}

.avatar-con img{
    width: 180px;
    height: 180px;
    object-fit: cover;
    border-radius: var(--avatar-border);
    pointer-events: none;
    border: 8px solid var(--fg);
}

.famous-badge{
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 7px;
    bottom: -13px;
    margin: 0 auto;
    padding:7px 12px 7px 12px;
    border-radius:7px;
    background: white;
    box-shadow: 0px 7px 20px 3px rgba(31, 42, 62, 0.2);
}

.famous-badge p{
    margin-top: 3px;
    color: #171E2B;
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1;
}

.famous-star-con{
    display: flex;
    align-items: center;
    justify-content: center;
    left: 0;
    top: 9px;
}

.famous-star-con svg{
    width: 18px;
}

#add-to-contact{
    cursor: pointer;
    position: absolute;
    top: 0;
    right: 0;
    margin-top: 15px;
    margin-right: 18px;
}

#add-to-contact svg{
    width: 37px;
    height: 27px;
}

#user-info{
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    background: var(--fg);
    padding: 30px;
    padding-top: 97px;
    border-radius: var(--body-border);
    box-shadow: var(--shadow);
    width: 100%;
}

.user-info-con{
    display: flex;
    flex-direction: column;
    gap: 15px;   
    margin-top: 3px;
    margin-bottom: 8px;
    --icons: var(--bg);
}

.user-info-con *{
    opacity: 0.93;
}

.user-work-wrapper{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}

.user-info-wrapper{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    text-align: start;
}

.user-info-wrapper svg{
    height: 16px;
}

#user-info h1{
    font-size: 1.15rem;
    line-height: 1.7;
    font-weight: 600;
}

#user-info p{
    font-size: 0.8rem;
}

.des-wrapper{
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 12px;
    margin: 0 auto;
}

#user-info .des-wrapper p{
    font-size: 0.7rem;
}

.des-dvider{
    background: var(--st);
    height: 3px;
    border-radius: 100px;
    opacity: 0.45;
    margin: 0 5px;
}



/* -- Social Media -- */
.sm-wrapper{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    row-gap: 12px;
    flex-wrap: wrap;
    margin-top: 8px;
}

.sm-wrapper a,
.sm-icon{
    width: 22px;
    height: 22px;
}


/* -- Links -- */
.custom-links-wrapper{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    margin-bottom: 20px;
}

.custom-link{
    position: relative;
    display: flex;
    align-items: center;
    background: var(--fg);
    color: var(--t);
    padding: 7px;
    width: 100%;
    border-radius: var(--links-border);
    gap: 12px;
    box-shadow: var(--shadow);
    padding-inline-end: 20px;
    padding-inline-start: 93px;
    min-height: 60px;
}

.custom-link img{
    width: 75px;
    border-radius: var(--links-border);
    object-fit: cover;
    aspect-ratio: 1/1;
    position: absolute;
    right: 0;
    background:var(--fg);
}

.error-custom-link{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 75px;
    height: 75px;
    position: absolute;
    right: 0;
    background: white;
    border-radius: var(--links-border);
}

.ltr .custom-link img,
.ltr .error-custom-link{
    left: 0;
    right: unset;
}

.error-custom-link svg{
    width: 35px;
    height: 35px;
    margin-inline-start: 4px;
    fill: var(--error-img);
}

.custom-link-text{
    display: flex;
    flex-direction: column;
    gap: 3px;
    flex: 1;
}

.custom-link h2{
    font-size: 0.9rem;
    font-weight: 600;
    display: -webkit-box; 
    -webkit-line-clamp: 1; 
    -webkit-box-orient: vertical;
    overflow: hidden; 
    text-overflow: ellipsis; 
    word-break: break-all;
    max-height: 22px;
}

.custom-link p{
    font-size: 0.75rem;
    font-weight: 400;
    letter-spacing: 0.03rem;
    color: var(--st);
    opacity: 0.7;
    display: -webkit-box; 
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden; 
    text-overflow: ellipsis; 
    /* word-break: break-all; */
    max-height: 36px;
}

.ltr .custom-link h2{
    letter-spacing: 0.03rem;
}



/* -- Badge -- */
.badge{
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--fg);
    margin-top: auto;
    margin-bottom: 20px;
}

.badge svg{
    margin-top: 8px;
    height: 45px;
}

.badge div{
    width: 100%;
}

.badge h3{
    font-size: 0.90rem;
    font-weight: 600;
}

.badge p{
    font-size: 0.85rem;
}



@media (max-width:844px){

    section{
        padding: 15px 35px;
    }

    #user-info{
        padding: 25px;
        padding-bottom: 30px;
        padding-top: 97px;
    }

}


@media (max-width:640px){

    section{
        padding: 10px 20px;
    }

    .controls-wrapper{
        gap: 12px;
    }

    #share-btn{
        width: 30px;
    }

    .theme-switch-con svg,
    .theme-switch-con{
    width: 25px;
    height: 25px;
}

}




/* Animation */
.avatar-con{
    transform: scale(0);
    opacity: 0;
    filter: blur(25px);
    animation: avatar-animation 0.8s cubic-bezier(.175,.885,.32,1.275) 0.3s forwards;
}

#user-info h1{
    transform: scale(0);
    opacity: 0;
    animation: user-info-animation 0.6s cubic-bezier(.175,.885,.32,1.275) 0.4s forwards;
}

.main-user-info{
    transform: scale(0);
    opacity: 0;
    animation: user-info-animation 0.7s cubic-bezier(.175,.885,.32,1.275) 0.2s forwards;
}

.sm-icon{
    transform: scale(0);
    opacity: 0;
    animation: user-info-animation 0.5s cubic-bezier(.175,.885,.32,1.275) forwards;
}

.custom-link{
    transform: scale(0);
    opacity: 0;
    animation: user-info-animation 0.8s cubic-bezier(.175,.885,.32,1.275) forwards;
}

@keyframes avatar-animation {
    0% {
        transform: scale(0);
        filter: blur(25px);
        opacity: 0;
    }
    100% {
        transform: scale(1);
        filter: blur(0px);
        opacity: 1;
    }
  }

@keyframes user-info-animation {
    0% {
        transform: scale(0);
        opacity: 0;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
  }








/* - Fonts - */
@font-face {
    font-family: 'aktiv';
    src: url('/ass/font/meduim.woff2') format('truetype');
    font-weight: 400;
    font-display: swap;
  }

@font-face {
    font-family: 'aktiv';
    src: url('/ass/font/semibold.woff2') format('truetype');
    font-weight: 500;
    font-display: swap;
  }

@font-face {
    font-family: 'aktiv';
    src: url('/ass/font/bold.woff2') format('truetype');
    font-weight: 600;
    font-display: swap;
  }