/* Global Variables */

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

html {
    font-size: 62.5%;
    --header1: calc(2rem + 1.5vw);
    --header2: calc(1rem + 1.5vw);
    --header3: calc(1rem + 1vw);
    --text: calc(.5rem + 1vw);
    --mini-text: calc(.2rem + 1vw);
    --big: calc(3rem + 2vw);
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body {
    overflow-x: hidden;
}

p,
h3 {
    font-family: "Lato", sans-serif;
    font-weight: 300;
    font-size: var(--header2);
}

img,
iframe {
    width: 100%;
    height: 100%;
}

a,
.menu-text {
    text-decoration: none;
    color: black;
    font-family: "Lato", sans-serif;
    font-weight: 300;
    font-size: var(--text);
}

/* Navbar */

header {
    -webkit-box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
}

nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 90%;
    margin: 0 auto;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    padding: 2.5em 0;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

#logo {
    -webkit-box-flex: 1.3;
    -ms-flex: 1.3;
    flex: 1.3;
    font-family: "Roboto", sans-serif;
    font-size: var(--header2);
}

#logo i {
    cursor: pointer;
}

ul span {
    overflow: hidden;
    display: inline;
    position: relative;
}

ul span:after {
    content: "";
    position: absolute;
    z-index: -1;
    right: 0;
    width: 0;
    bottom: 1px;
    background: #000;
    height: 2px;
    -webkit-transition-property: width;
    -o-transition-property: width;
    transition-property: width;
    -webkit-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    -o-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
}

ul span:hover:after {
    left: 0;
    right: auto;
    width: 100%;
}

.nav-links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    list-style: none;
}

.menu {
    display: none;
}

.menu-text {
    margin-right: 5px;
}

.menu-btn {
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.line {
    padding: .1rem 1rem;
    background: black;
    margin: .4rem 0rem;
    display: block;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

/* About Page */

#about {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-bottom: 1px solid black;
}

.about-text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 5%;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.hi {
    font-family: "Yellowtail", cursive;
    font-size: var(--big);
}

.about-img {
    z-index: -1;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

/* Projects Page */

#projects {
    text-align: center;
    padding-top: 3%;
    padding-bottom: 5%;
    border-bottom: 1px solid black;
}

.myWorks-text {
    font-size: var(--header2);
}

.hover-text {
    font-size: var(--text);
    font-family: "Lato", sans-serif;
    font-weight: 300;
}

.work-images {
    margin-top: 5em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.img-card {
    width: 14%;
    position: relative;
    -webkit-box-shadow: -1rem 0 2rem #000;
    box-shadow: -1rem 0 2rem #000;
    -webkit-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
}

.img-card:hover {
    -webkit-transform: translateY(-1rem);
    -ms-transform: translateY(-1rem);
    transform: translateY(-1rem);
}

.img-card:hover~.img-card {
    -webkit-transform: translateX(70px);
    -ms-transform: translateX(70px);
    transform: translateX(70px);
}

.img-card:not(:first-child) {
    margin-left: -70px;
}

/* Contact Page */

#contact {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-bottom: 1px solid black;
    margin-top: 4em;
    padding-bottom: 4em;
}

.contact-form-wrapper {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding: 2em;
    border-right: 1px solid rgb(209, 206, 206);
    margin: auto;
}

.contact-form {
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.top-hand,
.bottom-hand {
    width: 15vw;
    -webkit-transform: rotate(20deg);
    -ms-transform: rotate(20deg);
    transform: rotate(20deg);
}

.bottom-hand {
    float: right;
}

input,
textarea {
    font-family: "Lato", sans-serif;
    font-weight: 300;
    font-size: var(--mini-text);
    padding: 0.2em;
    margin-top: 2.2em;
    border: 1.5px solid black;
    width: 17vw;
}

button {
    font-size: var(--text);
    margin-top: 2.2em;
    background-color: white;
    text-decoration: none;
    padding: 0.5em 3em;
    -webkit-transition: all 0.8s ease-in-out;
    -o-transition: all 0.8s ease-in-out;
    transition: all 0.8s ease-in-out;
    cursor: pointer;
    border: 1px solid black;
}

button:hover,
button:focus {
    color: white;
    background-color: black;
}

/* Social Page */

.socials {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.title-socials {
    font-family: "Roboto", sans-serif;
    font-size: var(--header3);
    font-weight: 700;
    text-align: center;
}

.videoAndText {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 7em 4em;
}

.youtubeVideo {
    width: 18vw;
    height: 10.125vw;
}

.videoDefinition {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.videoDefinition p {
    font-size: var(--mini-text);
    margin-top: -0.25em;
}

/* Footer Section*/

footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 2em 0;
    width: 90%;
    margin: 0 auto;
}

.name {
    font-size: var(--text);
    -webkit-box-flex: 3;
    -ms-flex: 3;
    flex: 3;
}

.social-icons {
    font-size: var(--header2);
    -webkit-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.social-icons img {
    cursor: pointer;
    width: calc(2rem + 1vw);
    height: calc(2rem + 1vw);
}

.social-icons img:hover,
.social-icons img:focus {
    -webkit-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
}

/* Responsive Design */

@media screen and (max-width: 1024px) {

    /* Navbar */

    .menu {
        display: block;
        z-index: 2;
    }

    .body-fixed {
        overflow: hidden;
    }

    .nav-links {
        z-index: 1;
        background: white;
        width: 100vw;
        height: 90vh;
        position: fixed;
        top: 0;
        left: 100vw;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-transition: -webkit-transform 1s ease;
        transition: -webkit-transform 1s ease;
        -o-transition: transform 1s ease;
        transition: transform 1s ease;
        transition: transform 1s ease, -webkit-transform 1s ease;
        -webkit-box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
        box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
    }

    a {
        font-size: var(--header2);
        text-decoration: underline;
    }

    /* Projects Page */

    .img-card:hover~.img-card {
        -webkit-transform: translateX(40px);
        -ms-transform: translateX(40px);
        transform: translateX(40px);
    }

    .img-card:not(:first-child) {
        margin-left: -40px;
    }

    /* Contact Page */

    #contact {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-top: 0;
    }

    .contact-form-wrapper {
        border-bottom: 1px solid black;
        border-right: none;
        width: 100%;
    }

    .top-hand,
    .bottom-hand {
        width: 25vw;
        -webkit-transform: rotate(-10deg);
        -ms-transform: rotate(-10deg);
        transform: rotate(-10deg);
    }

    .contact-form h3 {
        font-size: var(--header1);
    }

    button {
        font-size: var(--header2);
        padding: .5em 3em;
    }

    input,
    textarea {
        font-size: var(--text);
        padding: 0.9em;
        width: 25vw;
    }

    .title-socials {
        font-size: var(--header1);
        margin-top: 1em;
    }

    .videoDefinition p {
        font-size: var(--header2);
    }

    .youtubeVideo {
        width: 30vw;
        height: 16.825vw;
    }

    /* Footer */

    .name {
        font-size: var(--header2);
    }
}

@media screen and (max-width: 768px) {

    /* About Page*/

    .about-text p {
        font-size: var(--header3);
    }

    .hi {
        font-size: var(--header1);
    }

    /* Project Page*/

    .img-card:hover~.img-card {
        -webkit-transform: translateX(30px);
        -ms-transform: translateX(30px);
        transform: translateX(30px);
    }

    .img-card:not(:first-child) {
        margin-left: -30px;
    }

    /* Social Page */

    .videoDefinition h3 {
        font-size: var(--header3);
    }

}

@media screen and (max-width: 580px) {

    /* About Page */

    #about {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

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

    .about-img img {
        width: 60%;
    }

    /* Project Page */

    .myWorks-text {
        font-size: var(--header1);
    }

    .hover-text {
        font-size: var(--header2);
    }

    .work-images-container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: distribute;
        justify-content: space-around;
    }

    .work-images {
        margin-top: 4em;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .img-card {
        width: 35vw;
    }

    .img-card:hover~.img-card {
        -webkit-transform: translateX(0px);
        -ms-transform: translateX(0px);
        transform: translateX(0px);
    }

    .img-card:not(:first-child) {
        margin-left: 0px;
    }

    /* Contact Page */

    input,
    textarea {
        font-size: 12px;
        width: 35vw;
    }

    .title-socials {
        font-size: var(--header2);
    }

    .youtubeVideo {
        width: 60vw;
        height: 33.75vw;
        margin: 0 auto;
    }

    .videoDefinition p {
        font-size: var(--header3);
        width: 60vw;
        margin: 0 auto;
        padding-top: .75em;
    }

    .videoAndText {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }

    .videoAndText-reverse {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
}

@media screen and (max-width: 480px) {

    /* Contact Page*/

    .top-hand,
    .bottom-hand {
        width: 30vw;
    }

    input,
    textarea {
        font-size: 10px;
    }

    .youtubeVideo {
        width: 70vw;
        height: 39.375vw;
    }

    .videoDefinition p {
        width: 70vw;
    }
}