@charset "UTF-8";

/* Root */

:root {
    --background-color: linear-gradient(to right, #000435, #1e0033);
    --text-color: #fff;
    --selection-color: #3d00cc;
}

* {
    margin: 0;
    border: 0;
    padding: 0;
    box-sizing: border-box;
}

*::selection {
    background-color: var(--selection-color);
}

/* HTML Tags */

html, body {
    overflow-x: hidden;
}

body {
    line-height: 1.5;
    font-family: 'Poppins';
    color: var(--text-color);
    background: var(--background-color);
}

b {
    font-weight: 650;
}

h1, h2, h3, h4, h5, h6 {
    margin-bottom: 0.5rem;
    font-weight: 600;
}

h1 {
    font-size: calc(1.2rem + 1.4vw);
}

h2 {
    font-size: calc(1.1rem + 1.2vw);
}

h3 {
    font-size: calc(1rem + 1.0vw);
}

h4 {
    font-size: calc(0.9rem + 0.8vw);
}

h5 {
    font-size: calc(0.8rem + 0.6vw);
}

h6 {
    font-size: calc(0.7rem + 0.4vw);
}

p {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
    font-size: calc(0.8rem + 0.4vw);
}

/* CSS Property Classes */

.px-1 {
    padding-left: 1%;
    padding-right: 1%;
}

.px-2 {
    padding-left: 3%;
    padding-right: 3%;
}

.py-1 {
    padding-top: 0.5%;
    padding-bottom: 0.5%;
}

.py-2 {
    padding-top: 2%;
    padding-bottom: 2%;
}

.maxw-1 {
    max-width: 20rem;
}

.flex {
    display: flex;
}

.items-center {
    align-items: center;
}

.justify-center {
    justify-content: center;
}

.justify-between {
    justify-content: space-between;
}

.text-center {
    text-align: center;
}

/* Custom and Special Classes */

.btn {
    transition: color 0.3s ease;
}

.btn:hover {
    color: #ffffff5b;
}

.profile-img {
    margin-left: 4vw;
    margin-right: 4vw;
    border: calc(0.2rem + 0.5vw) solid var(--text-color);
    width: calc(6rem + 16vw);
    height: calc(6rem + 16vw);
    border-radius: 50%;
}

.fa, .fa-brands {
    margin: 0.2rem;
    color: var(--text-color);
    text-decoration: none;
}

.fa {
    font-size: calc(1.2rem + 1.4vw);
}

.fa-brands {
    font-size: calc(2rem + 1.4vw);
}

/* Media Queries */

@media (max-width: 550px) {
    .flex-wrap-main {
        flex-wrap: wrap;
    }

    .profile-img {
        margin-left: 4vw;
        margin-right: 4vw;
        border: calc(0.2rem + 0.5vw) solid var(--text-color);
        width: calc(8rem + 24vw);
        height: calc(8rem + 24vw);
        border-radius: 50%;
    }
}