*{
    margin:0;
    padding:0;
    font-family: 'Poppins', sans-serif;
    box-sizing: border-box;
}
body{
    background: #080808;
    color: #ffffff;
}
#header{
    width: 100%;
    height: 100vh;
    background-image: url(images/professional-headshot.png); /* path to my headshot*/
    background-size: 750px auto; /* set width, auto height (maintain aspect ratio) */
    background-position : right bottom;  /* position the image to the right bottom */
    background-repeat: no-repeat; /* do not repeat the image */
    background-attachment: fixed; /* makes the background image fixed when scrolling */
    /*transform: scaleX(-1); /*mirrors the image so that the cut off portion is on the right*/
}

.container{ /*container styles*/
    padding: 30px 10%;
}

nav{ /*nav styles*/
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.logo{ /*logo styles*/
    width: 250px;
}

nav ul li{ /*nav list styles*/
    display: inline-block;
    list-style: none;
    margin: 10px 20px;
}

nav ul li a{ /*nav link styles*/
    text-decoration: none;
    color: #ffffff;
    font-size: 18px;
    font-weight: 500;
    transition: all 0.5s ease;
    position: relative;
}

nav ul li a::after{ /*nav link hover effect*/
    content: '';
    width: 0;  
    height: 2px;
    background: #0071f1;
    position: absolute;
    left: 0;
    bottom: -6px;
    transition: all 0.5s ease;
}

nav ul li a:hover::after{ /*nav link hover effect*/
    width:100%;
}

.header-text p{ /*header text styles*/
    width: 50%;
    margin-top: 20%;
    font-size: 20px;
}

.header-text h1{ /*header main text styles*/
    font-size: 60px;
    margin-top: 40px;
}

.header-text h1 span{ /*header main text highlight styles*/
    color: #0071f1;
}
/* ----------about me section ----------- */
#about{
    width: 100%;
    height: 100vh;
    margin-top: 325px;
    background-color: #2e2e2e;
}
#about .row{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.about-col-1{
    margin-top: 90px;
    flex-basis: 35%;
}
#about .about-col-1 img {
    /*margin-top: 300px;*/ 
    width: 500px;   /* adjust this number as needed */
    height: auto;   /* keeps the correct proportions */
    border-radius: 50px; /* rounds corners */
}
#about .about-col-2{ /* about me text section */
    flex-basis: 60%;
    margin-top: 90px;
}
#about .about-col-2 p{ /* about me paragraph styles */
    margin: 20px 0;
    font-size: 18px;
    line-height: 1.6;
    color: #ffffff;
    width: 115%;
    animation: typing 4s steps(40, end), blink-caret .75s step-end infinite;
}
.sub-title{ /* about me title styles */
    font-size: 40px;
    margin-bottom: 20px;
    color: #ffffff;
}

.about-col-2 p span{ /* about me title highlight styles */
    color: #4E2285;
    font-weight: bold;
    animation: colorchange 8s infinite;
}
@keyframes colorchange { /* "prairie view" text animation */
    0%   {color: #4E2285;}
    25%  {color: #FFC51E;}
    50%   {color: #4E2285;}
    75%   {color: #FFC51E;}
    100%   {color: #4E2285;}
}
.tab-titles{ /* about me tab title styles */
    display: flex;
    margin: 20px 0px 40px;
}
.tab-links{ /* about me tab link styles */
    margin-right: 50px;
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
    position: relative;
}
.tab-links::after{ /* about me tab link effect (not currently working idk why() */
    content: '';
    width: 0;
    height: 2px;
    background: #0071f1;
    position: absolute;
    left: 0;
    bottom: -8px;
    transition: 0.5s;
}

.tab-links.active-link::after{
    width:20%;
}
.tab-contents ul li{ /* about me list styles */
    list-style: none;
    font-size: 18px;
    margin: 10px 0;
}
.tab-contents ul li span{ /* about me list highlight styles */
    color: #529ff7;
    font-size: 14px;
}
.tab-contents{
    display: none;
}
.tab-contents.active-tab{
    display: block;
}

/* ---------- projects ----------- */
#services{
    max-width: 2000px;
    margin: 0 auto;
    padding: 30px 0;
    background-color: #1e1e1e;
}
.services-list{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, fr));
    grid-gap: 30px;
    margin-top: 50px;
}