@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

:root {
    --primary: #00ADB5;
    --secondary: #393E46;
    --light: #EEEEEE;
    --dark: #222831;

    --default-padding: 10vh 14vw;
    --default-margin: 10vh 14vw;
    --default-mobile-padding: 7% 7vw;
    --default-mobile-margin: 5vh 7vw;

    --logo-circle-size: 8rem;
    --logo-text-size: 2.4rem;
    --logo-mobile-circle-size: 4rem;
    --logo-mobile-text-size: 1.5rem;
}

html,
body {
    font-family: "Poppins", sans-serif;
    font-size: 10px;
    overflow-x: hidden;
    background-color: var(--light);
    scroll-behavior: smooth;
    width: calc(100vw - (100vw - 100%));
}

* {
    margin: 0;
    padding: 0;
    font-family: "Poppins", sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
button,
a,
input {
    font-family: inherit;
    font-weight: 400;
}

h2 {
    font-size: 5rem;
    font-weight: 400;
}

h3 {
    font-size: 4.4rem;
}

h4 {
    font-size: 2.4rem;
}

p {
    font-size: 1.8rem;
}

a {
    text-decoration: none;
}

.anchor {
    background-color: var(--light);
    font-weight: 600;
    font-size: 2rem;
    padding: 1rem;
    text-decoration: none;
    color: var(--dark);
    border-radius: 15px;
    text-align: center;
    /* width: 60vw; */
}


.anchor:active {
    scale: 0.98;
}


/* HIDE DESKTOP ELEMENTS ON MOBILE*/

.higher-index {
    position: relative;
    z-index: 1;
}

.desktop {
    display: none;
}


/* ANIMATIONS */
.reveal {
    position: relative;
    overflow-x: hidden;
    overflow-y: hidden;
}

.reveal-top {
    transform: translateY(-50px);
    opacity: 0.1;
    transition: all 1s ease;
}

.reveal-bottom {
    transform: translateY(50px);
    opacity: 0.1;
    transition: all 1s ease;
}

/* First */
.work-card:nth-child(3n + 1) {
    transform: translateX(250px);
    opacity: 0.1;
    transition: all 0.5s ease;
}

/* Second */
.work-card:nth-child(3n + 2) {
    transform: translateX(250px);
    opacity: 0.1;
    transition: all 0.5s ease;
    transition-delay: 0.1s;
}

/* Third */
.work-card:nth-child(3n + 3) {
    transform: translateX(250px);
    opacity: 0.1;
    transition: all 0.5s ease;
    transition-delay: 0.2s;
}

.reveal-left {
    transform: translateX(-150px);
    opacity: 0.1;
    transition: all 1s ease;
}

.reveal-right {
    transform: translateX(150px);
    opacity: 0.1;
    transition: all 1s ease;
}


.reveal.revealed {
    transform: translateY(0px);
    transform: translateX(0px);
    opacity: 1;
}


/* ****************************** */
/* LANDING PAGE */
/* ****************************** */


/* SKIP LINK */
#skip-link{
    transform: translateY(-100%);
    background-color: #000;
    color: white;
    font-size: 2rem;
    position: absolute;
    left: 0;
    top: 0;
    width: max-content;
}

#skip-link:focus{
    transform: translateY(0);
    transition: transform 1ms ease-in;
}




.landing {
    height: 100vh;
    width: 100vw;
    position: relative;
    display: flex;
    flex-direction: column;
}

.container {
    margin: var(--default-margin);
}

/* ****************************** */
/* NAV BAR (within landing) */
/* ****************************** */

.navbar {
    margin: 0 auto;
    position: fixed;
    z-index: 1;
    top: 0%;
    left: 0;
    right: 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: var(--default-mobile-margin);
    padding-bottom: none;
    transition: 200ms ease;
    /* transition: transform 200ms ease-in-out; */
}


.navbar nav i {
    font-size: var(--logo-mobile-circle-size);
    color: var(--secondary);
}

/* LOGO within NAV */
.logo .circle {
    width: var(--logo-mobile-circle-size);
    height: var(--logo-mobile-circle-size);
    border-radius: 50%;
    background-color: var(--secondary);

    /* For centering text in logo */
    display: flex;
    justify-content: center;
    align-items: center;
}

.logo p {
    color: var(--light);
    font-size: var(--logo-mobile-text-size);
}

/* WHEN NAVBAR IS ACTIVE */

.navbar.active {
    background-color: rgba(57, 62, 70, 0.95);
    padding-top: 1rem;
    padding-bottom: 1rem;
    box-shadow: 0 3px 20px rgba(--dark, );
}

.navbar.active .circle {
    background-color: var(--light);
}

.navbar.active .logo p {
    color: var(--secondary);
}

.navbar.active nav i {
    color: var(--light);
}



/* OVERLAY */
.overlay {
    display: none;
    transition: display 1s ease-in;
}

.overlay.active {
    display: block;
    position: fixed;
    top: 0;
    left: 0%;
    width: 100vw;
    height: 100vh;
    margin: auto;
    background-color: rgba(57, 62, 70, 0.9);
    z-index: 2;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.overlay.active a {
    color: var(--light);
    display: block;
    text-decoration: none;
    font-size: 5rem;
}

.overlay.active i {
    color: var(--light);
    font-size: 10rem;
    position: absolute;
    bottom: 1rem;
}

/* SCROLL POINTS */
#about::before {
    height: 5rem;
    content: '';
    display: block;
}

#work-scrollpoint::before {
    height: 5rem;
    content: '';
    display: block;
}

/* landing-text */
.landing-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    height: 70vh;
    color: var(--secondary);
}

.landing-text h3 {
    font-size: 2rem;
    /* vertical-align: bottom; */
    position: relative;
    top: 5px;

}

.landing-text .bold {
    font-weight: 600;
}

/* WAVES */
.spacer {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    aspect-ratio: 3/4;
    width: 100%;
}

.landing-mobile-waves {
    background-image: url("./images/mobile\ -900x675.svg");
    position: absolute;
    bottom: 0%;
    left: 0%;
    transition: all 100ms ease-out;
}



/* Get in touch button within waves */

.landing .anchor {
    /* Center Button */
    position: absolute;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;

    bottom: 15%;
    text-align: center;
    width: 60vw;
}


/* COOL EFFECTS */
/* CSS FROM https://ui-snippets.dev/ */
.landing .pulse a {
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.25);
    animation: pulseDesktop 1.75s infinite cubic-bezier(0.66, 0, 0, 1);
}

@keyframes pulseDesktop {
    to {
        box-shadow: 0 0 0 25px rgba(0, 0, 0, 0.0);
        /* box-shadow: 0 0 0 20px rgba(0, 0, 0, ); */
    }
}


.landing .mobile a {
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.25);
    animation: pulseMobile 1.75s infinite cubic-bezier(0.66, 0, 0, 1);
}

@keyframes pulseMobile {
    to {
        box-shadow: 0 0 0 20px rgba(255, 255, 255, 0);
    }
}




/* SCROLL ANIMATION */
/* MOBILE */
.landing .container {
    /* display: flex; */
    position: relative;
}

.mobile .landing-scroll a {
    padding-top: 80px;
    text-decoration: none;
    color: var(--dark);
    position: absolute;
    top: 40%;
    bottom: 60%;
    right: 0;
    z-index: 1;
}

.mobile .landing-scroll a span {
    position: absolute;
    top: 0;
    left: 50%;
    width: 2.4rem;
    height: 2.4rem;
    margin-left: -1.2rem;
    border-left: 1px solid #000;
    border-bottom: 1px solid #000;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-animation: sdb 2s infinite;
    animation: sdb 2s infinite;
    opacity: 0;
    box-sizing: border-box;
}

.mobile .landing-scroll a span:nth-of-type(1) {
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
}

.mobile .landing-scroll a span:nth-of-type(2) {
    top: 1.6rem;
    -webkit-animation-delay: .15s;
    animation-delay: .15s;
}

.mobile .landing-scroll a span:nth-of-type(3) {
    top: 3.2rem;
    -webkit-animation-delay: .3s;
    animation-delay: .3s;
}

@-webkit-keyframes sdb {
    0% {
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@keyframes sdb {
    0% {
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}



/* ************************************************** */
/* ****************** ABOUT PAGE ********************* */
/* ************************************************** */

#about {
    background-color: var(--secondary);
    color: var(--light);
}

#about .container {
    margin-top: 0;
    margin-bottom: 0;
}

.about-general-info {
    margin-bottom: 2rem;

}

.about-general-info p {
    font-size: 18px;
}

#about #york {
    color: var(--primary);
}

/* skills grid */
.skills {
    padding: 1rem 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(45%, 1fr));
    gap: 2rem;
}

.skill {
    display: flex;
    border: 3px solid var(--primary);
    justify-content: center;
    align-items: center;
    padding: 0.7rem 1rem;
    border-radius: 15px;
    box-sizing: border-box;
}

.skill p {
    font-size: 1vw;
}

.socials {
    width: 100%;
    display: flex;
    justify-content: space-around;
    align-items: center;
}

/* .desktop {
    display: none;
} */

.socials i {
    margin: 2rem 0;
    font-size: 6rem;

}

.socials a {
    text-decoration: none;
    color: var(--light);
    margin-bottom: 2rem;
}

#about .about-general-info .desktop {
    display: none;
}


/* ************************************************** */
/* ****************** WORK PAGE ********************* */
/* ************************************************** */

#work {
    background-color: var(--dark);
    width: 100vw;
    color: var(--light);
    position: relative;
    padding-bottom: 2rem;

    height: calc(100% + 15rem);
}

.black-waves {
    background-image: url("./images/about2workTransitionWaves-Mobile-3-4.svg");
    position: absolute;
    top: 0%;
    left: 0%;
}

#work .container {
    position: relative;
    /* top: 15rem; */
    margin-top: 0;
    margin-bottom: 0;
}

/* Created to have top: 15rem  spacing (allows us to see wave effect)*/
.divider {
    height: 15rem;
}


#work h3 {
    margin-bottom: 1rem;
}

.work-nav {
    list-style: none;

    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;

    border: 3px solid var(--light);
    border-left: none;
    border-right: none;
    padding: 1rem 0rem;
}

.work-nav .work-nav-item {
    font-size: 4vw;
    transition: all 200ms ease;
    padding: 0 0.5rem;
    border-radius: 15px;
}

.work-nav .work-nav-item.active {
    transform: scale(1);
    color: var(--light);
    font-weight: 800;
    background-color: var(--light);
    color: var(--dark);
}


/* CARD STYLING */
.work-card {
    /* width: 90%; */
    height: auto;
    /* aspect-ratio: 1/1; */
    background-color: #3F5768;
    padding: 2rem;
    border-radius: 15px;
    margin-top: 2rem;

    display: grid;
    grid-template-columns: 1fr 1fr;
    /* grid-template-rows: 2fr 1fr 2fr; */
    gap: 10px;

    grid-template-areas: "info picture"
        "mid mid"
        "skills skills";
    box-sizing: border-box;
}


.card-info {
    grid-area: info;
}

.card-picture {
    background-color: #C4C4C4;
    grid-area: picture;
    border-radius: 15px;
    aspect-ratio: 1/1;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 100%;

}

.work-title-link {
    text-decoration: none;
}

.card-info p {
    font-size: 3vw;
    padding-left: 5px;
    width: 100%;
}

.card-info h3 {
    font-size: 3.7vw;
    text-align: center;
    background-color: var(--light);
    color: var(--dark);
    border-radius: 15px;
    width: 100%;
}

.card-middle {
    grid-area: mid;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.card-middle h4 {
    font-size: 4.5vw;
    margin: auto 0;
}

.card-middle a {
    width: auto;
}

.work-links a i {
    font-size: 4.5vw;
}

.card-skills {
    grid-area: skills;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(30%, 45%));
    gap: 10px;
    grid-auto-rows: 1fr;
}

.card-skill {
    border: 1px solid var(--primary);
    border-radius: 15px;
    text-align: center;
    padding: 0.5rem 1rem;
    /* font-size: 2.5vw; */
    display: flex;
    justify-content: center;
    align-items: center;
}

.card-skill p {
    font-size: 3vw;
}


.card-skill.smaller {
    margin: auto 0;
    font-size: 2.5vw;
}

.work-links {
    width: 50%;
    display: flex;
    justify-content: space-evenly;
}

.work-links a {
    background-color: transparent;

    /* border: 1px solid var(--secondary); */

    color: var(--light);
    vertical-align: middle;
    font-size: 1rem;

    display: flex;
    justify-content: center;
    align-items: center;
}

.word-card-grid {
    display: grid;
    grid-template-columns: repeat(auto, 1fr);

}

/* ************************************************** */
/* ****************** CONTACT PAGE ****************** */
/* ************************************************** */
#contact {
    position: relative;
}


.contact-wave {
    background-image: url("./images/work2contactTransitionWave-Desktop3x2.svg");
    aspect-ratio: 9/1;
}


#contact .container {
    margin-top: 0;
}

/* Spacing so that content does not go under wave */

#contact .contact-links a {
    display: block;
    box-sizing: border-box;
    text-decoration: none;
    color: var(--light);
    background-color: var(--secondary);
    padding: 0.5rem 1rem;
    width: 100%;
    font-family: inherit;
    font-size: 1.6rem;
    border-radius: 15px;
    margin: 2rem 0;
    text-align: left;
}

/* ************************************************** */
/* ****************** Footer  ********************* */
/* ************************************************** */

#footer {
    color: var(--secondary);
    position: sticky;
    padding-bottom: 2rem;
    bottom: 0;
}

#footer .socials {
    margin: 0rem auto;
    margin-bottom: 1rem;
    width: 50%;
    display: flex;
    justify-content: space-evenly;
    align-items: center;

}

#footer .socials {
    margin-bottom: 0;
}

#footer .socials a {
    text-decoration: none;
    color: var(--secondary);
    margin-bottom: 0;
    height: fit-content;
}

#footer .socials a i {
    font-size: 4rem;
}

#footer .copyright {
    text-align: center;
    font-size: 1.5rem;
}

#footer .creator {
    text-align: center;
    font-size: 2.5rem;
}


/*Tablets */
@media only screen and (min-width: 768px) {
    .container {
        margin: var(--default-margin);
    }

    /* HIDE MOBILE ELEMENTS ON DESKTOP*/
    .mobile {
        display: none;
    }

    /* SHOW DESKTOP ELEMENTS */
    .desktop {
        display: block;
    }

    /* GENERAL */
    h2 {
        font-size: 9.6rem;
    }

    h3 {
        font-size: 4.8rem;
    }

    h4 {
        font-size: 3rem;
    }

    p {
        font-size: 2.4rem;
    }

    .container {
        position: relative;
        /* z-index: 1; */
    }

    .anchor {
        font-size: 3rem;
        padding: 1rem;
        width: 60vw;
    }


    /* ******************** */
    /* ******NAVBAR ******  */
    /* ******************** */
    .navbar {
        padding: var(--default-margin);
        /* background-color: var(--light); */
        z-index: 2;
    }

    .navbar .logo:hover .circle {
        background-color: var(--primary);
        cursor: pointer;
        transition: transform 0.25s ease;
        transform: scale(1.1);
    }

    .navbar .logo .circle {
        width: var(--logo-circle-size);
        height: var(--logo-circle-size);
    }

    .navbar .logo p {
        font-size: var(--logo-text-size);
    }

    .navbar.active .desktop a {
        color: var(--light);
        z-index: 2
    }

    .navbar.active .desktop a:hover {
        color: var(--primary);
    }


    nav .desktop {
        list-style: none;
        text-align: right;
        display: flex;
        justify-content: space-between;
    }

    nav .desktop a {
        text-decoration: none;
        color: var(--secondary);
        font-size: var(--logo-text-size);
        padding: 1rem 0;
        transition: transform 0.25s ease;
    }

    nav .desktop a:hover {
        transform: scale(1.02);
        color: var(--primary);
        border-bottom: 1px solid var(--primary);
    }


    /* ******************** */
    /* ******LANDING ****** */
    /* ******************** */

    /* CHANGED WAVE TO DESKTOP VERSION */
    .landing-mobile-waves {
        background-image: url("./images/layered-waves-haikei.svg");
    }

    .spacer {
        aspect-ratio: 4/3;
    }

    /* SCROLL DOWN */
    /* This animation is from: https://codepen.io/nxworld/pen/OyRrGy */
    .landing-mobile-waves .desktop {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;

        position: absolute;
        bottom: 1rem;
        left: 50%;
        right: 50%;
    }

    .landing-mobile-waves .desktop a {
        padding-top: 80px;
        text-decoration: none;
        color: var(--light);
    }

    .landing-mobile-waves .desktop p {
        color: var(--light);
        z-index: 1;
        font-size: 10px;
    }

    .landing-mobile-waves .desktop a span {
        position: absolute;
        top: 0;
        left: 50%;
        width: 2.4rem;
        height: 2.4rem;
        margin-left: -1.2rem;
        border-left: 1px solid #fff;
        border-bottom: 1px solid #fff;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        -webkit-animation: sdb 2s infinite;
        animation: sdb 2s infinite;
        opacity: 0;
        box-sizing: border-box;
    }

    .landing-mobile-waves .desktop a span:nth-of-type(1) {
        -webkit-animation-delay: 0s;
        animation-delay: 0s;
    }

    .landing-mobile-waves .desktop a span:nth-of-type(2) {
        top: 1.6rem;
        -webkit-animation-delay: .15s;
        animation-delay: .15s;
    }

    .landing-mobile-waves .desktop a span:nth-of-type(3) {
        top: 3.2rem;
        -webkit-animation-delay: .3s;
        animation-delay: .3s;
    }

    @-webkit-keyframes sdb {
        0% {
            opacity: 0;
        }

        50% {
            opacity: 1;
        }

        100% {
            opacity: 0;
        }
    }

    @keyframes sdb {
        0% {
            opacity: 0;
        }

        50% {
            opacity: 1;
        }

        100% {
            opacity: 0;
        }
    }

    /* Get in Touch button */
    .landing .anchor {
        bottom: 6%;
        /* Undo Postion absolute for get in touch */
        position: static;
        background-color: var(--secondary);
        color: var(--light);
        display: block;
        width: 100%;
        padding: 1rem 0;
        transition: transform 0.25s ease;
    }

    .landing .anchor:hover {
        /* box-shadow: 3px 3px 20px var(--primary); */
        transform: scale(1.1);
    }

    .landing-text h2 {
        font-size: 6rem;
    }

    /* INCREASE "FULL STACK DEVELOPER" TEXT SIZE */
    .landing-text h3 {
        font-size: 3rem;
        font-weight: 300;
    }

    /* ADDING RIGHT SIDE ICONS TO DESKTOP VERSION */
    .landing .container {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .landing-text {
        width: auto;
    }

    .landing-content .social {
        display: flex;
        justify-content: flex-end;
        /* width: 50vw; */
    }

    .landing-content .social i {
        font-size: 8rem;
        margin: 6rem 5rem;
        color: var(--secondary);
        transition: transform 0.25s ease;
    }

    .landing-content .social i:hover {
        color: var(--primary);
        transform: scale(1.2);
        cursor: pointer;
    }

    .landing-content .social .fa-github {
        margin-right: 0;
    }

    .landing-content .social .fa-linkedin {
        margin-left: 0;
    }

    /* ******************** */
    /* ******* ABOUT ****** */
    /* ******************** */


    #about .container {
        display: flex;
    }

    #about .about-general-info {
        display: flex;
        flex-direction: column;
        width: 50%;
    }

    #about h3 {
        font-size: 5rem;
    }

    #about h4 {
        font-size: 4rem;
    }

    #about p {
        font-size: 2.5rem;
    }

    #about .socials.desktop {
        display: flex;
        justify-content: flex-start;
        align-items: flex-end;
        height: 100%;
        margin-top: auto;
    }

    #about .socials.desktop i {
        font-size: 12rem;
    }

    #about .socials.desktop i:hover {
        color: var(--primary);
        transform: scale(1.2);
    }


    #about .socials.desktop .fa-github {
        margin-right: 10rem;
    }

    .about-skills-info {
        width: 40%;
        height: 100%;
        margin-left: 10%;
    }

    .about-skills-info h4 {
        vertical-align: baseline;
        position: absolute;
        bottom: 1rem;
    }

    .about-skills-info .desktop {
        position: relative;
    }

    .skills {
        padding: 1rem 0;
        display: grid;
        height: 100%;
        grid-template-columns: repeat(auto, minmax(50%, 1fr));
        grid-template-rows: repeat(5, 6rem);
        align-content: stretch;
    }

    .skill {
        /* width: 80%; */
        padding: 0.5rem;
        font-size: 1.5rem;
    }



    /* ******************** */
    /* ***** WORK ********* */
    /* ******************** */

    /* Change waves to desktop version */
    .black-waves {
        background-image: url("./images/about2work-Desktop3x2.svg");
    }

    .word-card-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(45%, 1fr));
        gap: 2rem;
    }

    .divider {
        height: 20rem;
    }


    /* Project Menu bar */
    .work-nav .work-nav-item {
        font-size: 2rem;
    }

    .work-nav .work-nav-item:hover {
        cursor: pointer;
    }


    /* ******************** */
    /* ***** PROJECT CARDS ****** */
    /* ******************** */
    .work-card {
        /* aspect-ratio: 1/1; */
        height: auto;
        gap: 1rem;
        font-size: 0.5vw;
        border-radius: 50px;
        border-radius: 15px;
        border-radius: 15px;
        background: #3F5768;
        /* box-shadow: 2px 2px 8px #394e5e,-2px -2px 8px #456072; */
    }

    /* Card Title */
    .card-info h3 {
        font-size: 1.3rem;
    }

    /* Card Desc */
    .card-info p {
        font-size: 1rem;
    }

    /* Skills used */
    .card-middle h4 {
        font-size: 1.1rem;
    }

    /* Github/Site Icons */
    .work-links a {
        text-decoration: none;
    }

    .work-links a i {
        font-size: 1.3rem;
        transition: transform 0.25s ease;
    }

    .work-links a i:hover {
        color: var(--primary);
        transform: scale(1.2);
    }

    .card-skill p {
        font-size: 1rem;
    }

    /* ******************** */
    /* ***** CONTACT ****** */
    /* ******************** */

    .contact-wave {
        background-image: url("./images/work2contactTransitionWave-Desktop3x2.svg");
    }

    .contact-text p {
        font-size: 2.5rem;
    }

    #contact .contents .contact-links a {
        text-align: center;
        transition: transform 0.25s ease;

    }

    #contact .contents .contact-links a:hover {
        transform: scale(1.1);
    }

    #contact-scrollpoint {
        padding-left: 1rem;
        border-left: 20px solid var(--primary);
        /* border-radius: 15px 0 0 0; */
    }

    .contents {
        padding-left: 1rem;
        border-left: 20px solid var(--primary);
        /* border-radius: 0 0 0 15px; */
    }
    .contact h3{
        padding-left: 1rem;
        border-left: 20px solid var(--primary);
    }

    .contact-links .top-link {
        margin-top: 0;
    }

    /* ******************** */
    /* ****** FOOTER ****** */
    /* ******************** */

    #footer {
        position: static;
        bottom: 15px;
        margin: 10vh 0 0 0;
    }


    .contact-wave {
        /* overflow: hidden; */
        /* height: min-content; */
        aspect-ratio: 9/2;
    }

    #footer .socials a i {
        color: var(--secondary);
        font-size: 4rem;
    }


    #footer .copyright {
        margin-top: 1rem;
        text-align: center;
        font-size: 2.5rem;
    }

    #footer .creator {
        text-align: center;
        font-size: 3.5rem;
    }



    #footer .socials a i:hover {
        transform: scale(1.2);
        transition: transform 0.25s ease;
        color: var(--primary);
    }
}


/* For Smaller and Longer Phones (iPhone 8Plus and Older*/
@media only screen and (max-height: 736px) {
    .landing-text {
        height: 50vh;
    }
}

/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {
    .landing-content.desktop {
        display: none;
    }

    #contact .mobile {
        display: none;
    }

    .spacer .mobile {
        display: block;
        position: absolute;
        bottom: 20vh;
        left: 0;
        right: 0;
        margin: auto;
        width: 40%;
    }

    .socials.desktop {
        display: none;
    }

    nav .mobile {
        display: block;
    }

    nav .desktop {
        display: none;
    }
}

@media only screen and (min-width: 992px) {

    /* LANDING TEXT */
    .landing-text h2 {
        font-size: 7rem;

    }

    /* INCREASE "FULL STACK DEVELOPER" TEXT SIZE */
    .landing-text h3 {
        font-size: 4rem;
    }

    .landing .landing-social i {
        font-size: 6rem;
    }

    .landing .get-in-touch a {
        font-size: 3rem;
    }


    /* CARD */
    /* Card Title */
    .card-info h3 {
        font-size: 1.6rem;
    }

    /* Card Desc */
    .card-info p {
        font-size: 1.3rem;
    }

    /* Skills used */
    .card-middle h4 {
        font-size: 1.5rem;
    }

    /* Github/Site Icons */
    .work-links a i {
        font-size: 2rem;
    }

    .card-skill p {
        font-size: 1.3rem;
    }

}

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 1100px) {

    /* LANDING WAVE */
    .landing-content.desktop {
        display: block;
    }

    .spacer .mobile {
        display: none;
    }

    /* NAV */
    nav .mobile {
        display: none;
    }

    nav .desktop {
        display: flex;
    }



    /* CONTACT PAGE */
    #contact .contents {
        display: flex;
        justify-content: space-between;
        align-items: center;
        height: min-content;
    }

    #contact .contents .contact-text {
        width: 50%;
    }

    #contact .contents .contact-text p {
        font-weight: 200;
        font-size: 3rem;
    }

    #contact .contents .contact-links {
        width: 50%;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        margin-bottom: auto;
    }

    #contact .contents .contact-links a {
        width: 70%;
        text-align: center;
        font-size: 2rem;
        margin-top: 0;
        margin-bottom: 2rem;
        background-color: var(--secondary);
        color: var(--light);
    }

    #contact .contents .contact-links a {
        padding: 2rem 3rem;
    }

}


@media only screen and (min-width: 1300px) {
    /* CARD */
    /* Card Title */
    .card-info h3 {
        font-size: 1.9rem;
    }

    /* Card Desc */
    .card-info p {
        font-size: 1.3rem;
    }

    /* Skills used */
    .card-middle h4 {
        font-size: 2rem;
    }

    /* Github/Site Icons */
    .work-links a i {
        font-size: 2.2rem;
    }

    .card-skill p {
        font-size: 1.3rem;
    }
}


/* laptops and desktops*/
@media only screen and (min-width: 1200px) {
    .word-card-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(30%, 1fr));
        gap: 2rem;
    }
}

/* 4k DISPLAYS */
@media only screen and (min-width: 2560px) {

    @media only screen and (min-width: 1300px) {
        /* CARD */
        /* Card Title */
        .card-info h3 {
            font-size: 3rem;
        }

        /* Card Desc */
        .card-info p {
            font-size: 2rem;
        }

        /* Skills used */
        .card-middle h4 {
            font-size: 2.5rem;
        }

        /* Github/Site Icons */
        .work-links a i {
            font-size: 2.5rem;
        }

        .card-skill p {
            font-size: 2rem;
        }
    }

}


/* LAND SCAPE MODE */
@media (max-height: 425px) and (orientation: landscape) {
    .landing-mobile-waves {
        background-image: url("./images/layered-waves-haikei.svg");
    }

    .landing .mobile a {
        position: absolute;
        bottom: 2rem;
    }

    .landing-text h2 {
        font-size: 4rem;
    }

    .landing-text h3 {
        display: none;
    }

    .landing-text {
        display: flex;
        flex-direction: row;
        justify-content: space-around;
        align-items: center;
    }

    .landing-text {
        height: 80vh;
    }
}

@media (max-width:915px) {
    .reveal {
        position: relative;
        /* overflow-x: hidden !important; */
        overflow-y: visible;
    }


    .reveal-top {
        transform: translateX(-50px);
        opacity: 0.1;
        transition: all 1s ease;
    }

    .reveal-bottom {
        transform: translateX(50px);
        opacity: 0.1;
        transition: all 1s ease;
    }

    .work-card {
        transition-delay: 0ms;
    }
}