* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: Poppins, Verdana, Geneva, Tahoma, sans-serif;
}

.navigation {
    width: 100%;
    height: 10%;
    padding: 0 30px;
}

.mainNavigation {
    min-height: 70px;
    min-width: 100%;
    align-items: start;
    padding: 0 30px;
    position: fixed;
}



.navbar {
    display: flex;
    gap: 60px;
}

.hamburger {
    display: none;
    cursor: pointer;
    background-attachment: fixed;
    position: fixed;
    margin: 1.2rem 0;
}

.bar {
    display: block;
    width: 25px;
    height: 3px;
    margin: 5px auto;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    background-color: rgb(195, 5, 5);
    border: 1.9px rgb(195, 5, 5) solid;
}


.navbar .nav-item {
    padding: 25px;
    align-content: center;
    list-style-type: none;
    font-size: 17px;
}

.navbar .nav-item a {
    font-weight: bold;
    display: block;
    color: #fff;
    text-decoration: none;
    position: relative;
    transition: 0.6s;
}

.navbar li a:hover {
    transform: translateY(.5rem);
    color: rgb(195, 5, 5);
    text-shadow: 0px 0px 20px #fff;
}

.navbar li a:active {
    color: #fff;
}

.contactBtn {
    width: 7rem;
    height: 2.5em;
    border: none;
    background-color: rgb(195, 5, 5);
    color: #fff;
    font-weight: bold;
    font-size: 17px;
    text-align: center;
    padding-bottom: 1px;
    border-radius: 10px;
    transition: 0.6s;
}

.contactBtn:hover {
    border-radius: 20px;
    cursor: pointer;
    background-color: #fff;
    color: rgb(195, 5, 5);
    box-shadow: 0px 0px 20px #fff;
}

.contactBtn:active {
    background-color: rgb(195, 5, 5);
    color: #fff;

}

body {
    background-color: #18181B;
}

.titleUnderline {
    border: 3px #fff solid;
    width: 15%;
    margin: 1rem auto;
}

/* This is the styling for the about me section. */


#aboutMe h1 {
    text-align: center;
    display: block;
    color: #fff;
    padding: 10rem 0;
}

#aboutMe img {
    display: block;
    float: left;
    width: 20%;
    height: 20%;
    margin: 15px;
    border-radius: 50%;
}

#aboutMe p {
    margin: 0 3% 0 0;
    padding: .5rem 1.5rem;
    max-width: 93%;
    line-height: 1.5rem;
    line-break: auto;
    display: block;
}

#aboutMe .socialMediaLinks {
    display: flex;
    margin: 3em 0;
    justify-content: center;    
}

#aboutMe .socialMediaLinks .socialMediaItem {
    display: inline;
    padding: 0 1em;
    list-style-type: none;
    
}

.socialMediaItem a {
    text-decoration: none;
}

 .socialMediaItem a .fa-brands.fa-instagram.fa-2xl, .fa-brands.fa-tiktok.fa-2xl, .fa-brands.fa-github.fa-2xl, .fa-brands.fa-youtube.fa-2xl, .fa-brands.fa-linkedin.fa-2xl {
    width: 2rem;
    height: 2rem;
    transition: 0.3s ease-in-out;
}

.fa-brands.fa-instagram.fa-2xl:hover, .fa-brands.fa-tiktok.fa-2xl:hover, .fa-brands.fa-github.fa-2xl:hover, .fa-brands.fa-youtube.fa-2xl:hover, .fa-brands.fa-linkedin.fa-2xl:hover {
    font-size: 2.5rem;
    text-shadow: 0px 0px 10px rgb(195, 5, 5);
    cursor: pointer;
}

/* This is the styling for the projects area */
#projects h2 {
    color: #fff;
    display: block;
    text-align: center;
    padding: 3% 0;
}

.projectCardContainer {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10rem;
}


.card {
    flex-grow: 1;
    width: 360px;
    height: 100%;
    margin: 1.5rem 1.5rem;
    background-color: hsla(240, 9%, 20%, 0.411);
    box-shadow: 0 0 20px black;
}

.imageContainer {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.card .imageContainer .cardImg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.6s;
    z-index: 0;
}

.card .imageContainer .cardImg:hover {
    scale: 105%;
}

.cardContent {
    padding: 10px 10px;
    line-height: 1.5;
}

.cardContent h3 {
    color: #fff;
    display: block;
    text-align: center;
    padding: 3% 0;
    font-size: 1.5rem;
}

/* Skills section */

#skills h2 {
    color: #fff;
    display: block;
    text-align: center;
    padding: 3% 0;
}

.skillsContainer {
    display: flex;
    justify-content: center;
}

.skillsContainer .skillsSection li{
    display: inline;
    list-style-type: none;
}

.fa-brands.fa-python.fa-2xl, .fa-brands.fa-html5.fa-2xl, .fa-brands.fa-css3-alt.fa-2xl,
.fa-brands.fa-js.fa-2xl, .fa-solid.fa-database.fa-2xl {
    width: 2rem;
    height: 2rem;
    transition: 0.6s;
    margin: 0 1rem;
}

.fa-brands.fa-python.fa-2xl:hover, .fa-brands.fa-html5.fa-2xl:hover, .fa-brands.fa-css3-alt.fa-2xl:hover,
.fa-brands.fa-js.fa-2xl:hover, .fa-solid.fa-database.fa-2xl:hover {
    font-size: 2.5rem;
    text-shadow: 0px 0px 10px rgb(195, 5, 5);
    cursor: pointer;
}

/* Contact section */

#contact h2 {
    color: #fff;
    display: block;
    text-align: center;
    padding: 3% 0;
    margin: 12rem 0 0 0;
}

.contactContainer {
    display: flex;
    justify-content: center;
}

.leaveMessageForm {
    padding: 1rem 0;
}

#name, #email {
    display: block;
    margin: auto;
    width: 15rem;
    height: 2.5rem;
    padding: 10px;
    transition: 0.6s;
    border: 1px #fff solid;
    border-radius: 5px;
    background-color: #18181B;
}


#name:hover, #email:hover {
    width: 17rem;
    height: 3rem;
    box-shadow: 0px 0px 20px #fff;
    border-radius: 10px;
    background-color: rgba(255, 255, 255, 0.6);
}

#name:focus, #email:focus {
    background-color: rgba(255, 255, 255, 0.6);
}

#name:not(:focus), #email:not(:focus) {
    color: #fff;
}

.leaveMessageForm label {
    color: #fff;
    font-size: 1.5rem;
    display: flex;
    justify-content: center;
    margin: 1.5rem 0
}

#messageContent {
    resize: none;
    display: block;
    width: 20rem;
    height: 10rem;
    padding: 10px;
    transition: 0.6s;
    border: 1px #fff solid;
    border-radius: 5px;
    background-color: #18181B;
    
}

#messageContent:hover {
    width: 22rem;
    height: 12rem;
    box-shadow: 0px 0px 20px #fff;
    border-radius: 10px;
    background-color: rgba(255, 255, 255, 0.6);
}

#messageContent:focus {
    background-color: rgba(255, 255, 255, 0.6);
}

#messageContent:not(:focus) {
    color: #fff;
}

#submitBtn {
    display: block;
    width: 7rem;
    height: 2.5em;
    border: none;
    background-color: rgb(195, 5, 5);
    color: #fff;
    font-weight: bold;
    font-size: 17px;
    text-align: center;
    padding-bottom: 1px;
    border-radius: 30px;
    transition: 0.6s;
    margin: 2rem auto;
}

#errorMessage {
    color: red;
    font-weight: bolder;
    margin: 1.5rem 0;
}

#submitBtn:hover {
    border-radius: 20px;
    cursor: pointer;
    background-color: #fff;
    color: rgb(195, 5, 5);
    box-shadow: 0px 0px 20px #fff;
}

/* footer section */
footer {
    width: 100%;
    height: 6rem;
    display: flex;
    justify-content: center;
    margin: 4.5rem 0 0 0 ;
    flex-wrap: wrap;
    padding: .5rem;
}

footer p {
    margin: auto;
}

footer address {
    color: #fff;
    margin: auto;
}

/* used for portfolios responsiveness */

@media screen and (max-width: 1080px) {


    .navbar, .list-item {
        width: 100%;
        justify-content: center;
    }

    .hotspot, .logo {
        display: none;
    }
}


@media screen and (max-width: 690px) {

    .card {
        width: 100%;
    }

    .hamburger {
        display: block;
        min-width: 25px;
        min-height: 25px;
    }
    

    .hamburger.active .bar:nth-child(2) {
        opacity: 0;
    }

    .hamburger.active .bar:nth-child(1) {
        transform: translateY(8px) rotate(45deg);
    }

    .hamburger.active .bar:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg);
    }
    

    .homeContentLeft, .homeContentRight {
        width: 100%;
    }

    .mainNavigation .hotspot .logo {
        display: none;
    }

    .navbar {
        position: fixed;
        left: -100%;
        top: 70px;
        gap: 0;
        flex-direction: column;
        background-color: #18181B;
        width: 100%;
        text-align: center;
        transition: 0.3s;
    }

    .nav-item {
        margin: 16px 0;
    }

    .navbar.active {
        left: 0;
    }

}
p {
    color: #fff;
}