:root {
    --dark-grey: #666666;
    --grey: #ececec;
    --light-grey: #efefef;
    --green: #99C1B9;
}

@keyframes easeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

html {
    font-family: 'Lato', sans-serif;
    font-size: 100%;
    color: var(--dark-grey);
    height:100%;
}

h1,
h2,
h3 {
    font-family: 'Oswald', sans-serif;
    font-weight:500;
    text-align: center;
}

h1 {
    font-size: clamp(1.953rem, 3.5vw, 2.441rem);
    max-width: 40rem;
    margin: 0 auto;
}

h2 {
    font-size: clamp(1.563rem, 3.5vw, 1.953rem);
}

h3 {
    font-size: clamp(1.25rem, 3.5vw, 1.563rem);
}

ul {
    list-style: none;
    padding-left: 0;
}

a {
    font-family: 'Oswald', sans-serif;
    text-align: center;
    text-decoration: none;
    color: var(--dark-grey);
}

img {
    margin: 0 auto;
}

.container {
    margin: 0 auto;
    padding: 0 1.563rem;
}

/* HEADER AND NAV */

header {
    padding: 1.563rem;
    border-bottom: 1px solid var(--grey);
}

.logo svg {
    height: 3.052rem;
    fill: var(--green);
}

.menu-btn svg {
    height: 1.953rem;
    fill: var(--dark-grey);
}

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

nav {
    /* height: 100vh; */
    position: absolute;
    z-index: 10;
    left: 0;
    right: 0;
    top: 103px;
    transform: scale(1, 0);
    transform-origin: top;
    transition: 500ms ease;
    background-color: rgba(222, 222, 222);
}

.nav-links a {
    font-size: 1.563rem;
    display: block;
    margin: 0.8rem 1rem;
    padding: 0.64rem 0;
    text-align: center;
    text-transform: uppercase;
    opacity: 0;
}

.nav-links a:hover,
.nav-links a:active {
    background-color: var(--green);
    border-radius: 5px;
    color: white;
}

.showNav a {
    opacity: 1;
}

.showNav {
    transform: scale(1, 1);
}


/* INDEX - HERO SECTION */

.intro {
    padding: 4.768rem 0;
    border-bottom: 1px solid var(--grey);
    animation: easeIn 1s ease-in-out forwards;
    animation-delay: 0.5s;
    opacity: 0;
}

.about-me,
.my-work {
    padding: 3.815rem 0;
}

.intro span,
.about-me span,
.my-work span {
    color: var(--green);
}

.intro a {
    display: block;
    margin: 1.563rem auto;
    padding: 0.512rem;
    font-size: 1.25rem;
    width: 10rem;
    border: 1px solid var(--dark-grey);
}

.intro a:hover,
.intro a:active {
    background-color: var(--green);
    border-color: var(--green);
    color: white;
}

.about-me>div:first-of-type,
.my-work>div:first-of-type {
    background-color: var(--light-grey);
    padding: 2.441rem 0;
}

/* INDEX - ABOUT ME */

.about-me img {
    max-width: 10rem;
    border-radius: 100%;
    display: block;
    margin: 1rem auto;
}

.about-me h2,
.my-work h2 {
    margin-bottom: 0.64rem;
}

/* INDEX - SKILL BAR */

.skill-bar {
    margin-top: 1rem;
}

.skill-bar>p {
    font-size: 0.8rem;
    text-transform: uppercase;
}

.skill-bar>div {
    display: flex;
}

.bar-filled {
    display: block;
    height: 1rem;
    background-color: var(--green);
}

.bar-empty {
    display: block;
    height: 1rem;
    border: 1px solid var(--grey);
}

.html-css>span:first-of-type {
    width: 85%;
}

.html-css>span:last-of-type {
    width: 15%;
}

.javascript>span:first-of-type {
    width: 75%;
}

.javascript>span:last-of-type {
    width: 25%;
}

.adobe>span:first-of-type {
    width: 85%;
}

.adobe>span:last-of-type {
    width: 15%;
}

/* INDEX - MY WORK */

.my-work h3 {
    margin: 1rem 0;
    font-weight: 400;
}

.my-work div span {
    color: var(--green);
}

.work-btns{
    text-align: center;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}

.work-btn{
    margin:0.8rem 1rem;
    padding:0.5rem 1rem;
    background-color: var(--green);
    color:white;
    border:1px solid var(--green);
    width:10rem;
}

.work-btn:hover,
.work-btn:active{
    background:none;
    color:var(--green);
    border:1px solid var(--green);
}

[data-tab-content]{
    display:none;
}

.active[data-tab-content]{
    display:block;
}

.work-thumbnail {
    margin: 1.953rem 0;
}

.work-thumbnail>div img:hover,
.work-thumbnail>div img:active {
    border: 2px solid var(--green);
    opacity: 0.7;
}

.thumb {
    max-width: 20rem;
}

.page-top {
    display: block;
    margin: 1.563rem auto 0 auto;
}

.page-top:hover,
.page-top:active {
    color: var(--green);
}

/* INDIVIDUAL PROJECTS */

.individual-project{
    padding:3.052rem 0;
}

.individual-project>section{
    background-color: var(--light-grey);
    padding:1.953rem 0;
    margin-bottom:1.953rem;
}

.individual-project h1{
    margin-bottom:1.953rem;
}

.individual-project h2{
    margin:1.953rem 0;
}

.individual-project span{
    color:var(--green);
}

.view-demo{
    display:block;
    max-width:50%;
    margin:1rem auto;
    text-align:center;
}

.project-info>p{
    margin:1rem auto;
}

.project-info>p>a:hover,
.project-info>p>a:active{
    color:var(--green);
}

.dev-languages p {
    font-size:0.8rem;
    text-transform: uppercase;
    text-align: center;
    background-color: var(--green);
    color:white;
    max-width:21rem;
    margin:0 auto;
}

.project-images{
    margin:1.953rem auto;
}

.project-images img,
.typography img,
.color-palette img{
    margin:1.563rem auto;
}

.other-projects{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.other-projects a{
    font-size: 1.25rem;
    padding:1rem 0.64rem;
}

.other-projects a:hover,
.other-projects a:active{
    color:var(--green);
}

.first-project{
    justify-content: flex-end;
}


/* FOOTER */

footer {
    padding: 2.441rem 0;
    border-top: 1px solid var(--grey);
}

.social-media {
    display: flex;
    justify-content: center;
}

footer svg {
    fill: var(--green);
    margin: 0 0.64rem;
}

footer svg:hover,
footer svg:active {
    fill: var(--dark-grey);
}

footer p {
    text-align: center;
    margin-top: 1rem;
}

footer span {
    color: var(--green);
}


@media screen and (min-width:780px) {

    .container {
        padding: 0 2.441rem;
    }

    /* INDEX - HOMEPAGE */

    .intro {
        padding: 7.451rem 0;
    }

    .about-me,
    .my-work {
        padding: 4.768rem 0;
    }

    .about-me>div:first-of-type,
    .my-work>div:first-of-type {
        padding: 3.052rem 0;
    }

    .skill-bar {
        max-width: 30rem;
        margin: 1.953rem auto 0 auto;
    }

    .projects {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .work-btns{
        flex-direction:row;
    }

    .work-thumbnail {
        flex: 1 0 45%;
        margin: 1.953rem 1rem;

    }

    .project-info>p{
        max-width: 40rem;
    }

    .project-images img{
        max-width: 40rem;
    }

    .typography>div{
        flex:0 0 100%;
        display:flex;
        align-items: center;
        justify-content: space-evenly;
    }

    .typography img{
        max-width:48%;
    }

    /* FOOTER */

    footer>div {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
}

@media screen and (min-width:1100px) {

    .container {
        max-width: 1000px;
    }

    body {
        display: grid;
        grid-template-columns: 16vw auto;
    }

    header {
        border-bottom: none;
        position: fixed;
        height: 100%;
        width: 16vw;
        grid-column: 1/2;
    }

    main,
    footer {
        grid-column: 2/-1;
        border-left: 1px solid var(--grey);
    }

    /* NAVIGATION */

    .home,
    .nav-links {
        margin: 0 auto;
    }

    .menu-btn {
        display: none;
    }

    .home {
        width: 10rem;
        justify-content: center;
    }

    .logo svg {
        height: 3.815rem;
        margin: 0 auto;
    }

    nav {
        position: static;
        border: none;
        background: none;
        transition: none;
        transform: scale(1, 1);
    }

    .nav-links {
        width: 10rem;
    }

    .nav-links ul {
        margin-top: 3.815rem;
    }

    .nav-links li {
        border-top: 1px solid var(--dark-grey);
    }

    .nav-links li:last-of-type {
        border-bottom: 1px solid var(--dark-grey);
    }

    .nav-links a {
        font-size: 1.25rem;
        padding: 0.512rem 0;
        margin: 0.512rem 1rem;
        opacity: 1;
    }

    /* INDEX - ABOUT ME */

    .about-intro {
        display: flex;
        justify-content: space-evenly;
        align-items: center;
    }

    .about-intro img {
        max-width: 12rem;
        margin: 0;
    }

    .about-intro p {
        flex: 0 0 50%;
    }

    /* INDIVIDUAL PROJECTS */

    .individual-project{
        padding:4.768rem 0;
    }

    .project-images{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
    }

    .project-images img{
        max-width: 46%;
    }

    .typography>div{
        max-width: 50rem;
        margin:0 auto;
    }

    .typography img{
        margin:1.953rem 0;
    }

    .color-palette img{
        max-width: 30rem;
    }
}

@media screen and (min-width:1600px){
    .container{
        max-width:1300px;
    }

    .projects{
        max-width: 1100px;
    }

    .individual-project{
        padding:5.96rem 0;
    }

    .individual-project>section{
        padding:3.815rem 0;
    }
}

@media screen and (min-width:1920px){
    .container{
        max-width: 1500px;
    }

    .project-info>p{
        max-width:50rem;
    }
}