html {
    scroll-behavior: smooth;
}

:root {
    --pink-white: rgb(255, 253, 255);
    --background: rgb(137, 12, 148);
    --footer-back: rgba(109, 1, 109, 0.6); 
    --text: rgb(102, 66, 117);
    --lighter-purp: rgba(163, 27, 163);
    --header: rgb(39, 213, 219);
}

* {
    padding: 0;
    margin: 0;
    box-sizing: 0;
    z-index: 7;
    font-family: 'PT Sans Narrow', sans-serif;
}
body {
    background-color: var(--pink-white);
    width: 100%;
}

/* ---------------------------------- */
/* ----------- Side Panel ----------- */
/* ---------------------------------- */

.panel {
    position: fixed;
    left: 0;
    background-color: var(--background);
    height: 100%;
    width: 18%;
    min-width: 150px;
    z-index: 8;
    display: flex;
    flex-direction: column;
}
#prof-pic {
    width: 80%;
    border-radius: 50%;
    margin: 0 auto;
    margin-top: 15px;
}
#home-link {
    margin: 0 auto;
    display: flex;
    justify-content: center;
}
.panel h1, .panel h2 {
    text-align: center;
    font-family: sans-serif;
    color: var(--pink-white);
}
.panel h1 {
    margin-top: 15px;
    font-family: 'Marck Script', cursive;
    font-size: 40px;
    padding: 0 10px;
}
.panel h2 {
    font-size: 25px;
    padding: 10px 10px 0px 10px;
    margin-bottom: 0;
}

/* ---------------------------------------- */
/* ----------- Panel Navigation ----------- */
/* ---------------------------------------- */

nav {
    margin-left: 40px;
}
.topnav {
    display: flex;
    flex-direction: column;
    margin: 0 auto;
}
.topnav a.icon {
    visibility: hidden;
}
.topnav a {
    color: var(--pink-white);
    text-decoration: none;
    font-size: 20px;
    padding: 10px;
}
.topnav a:hover {
    cursor: pointer;
    background: var(--pink-white);
    color: var(--lighter-purp);
    border-radius: 15px 0 0 15px;
}
.link-icons i:hover {
    cursor: pointer;
    background: var(--pink-white);
    color: var(--lighter-purp);
    border-radius: 15px;
}
.link-icons {
    position: fixed;
    bottom: 0;
    left: 15px;
}
.link-icons i {
    padding: 10px;
    font-size: 25px;
    color: var(--pink-white);
}

/* ----------------------------- */
/* ----------- About ----------- */
/* ----------------------------- */

.about {
    display: flex;
    flex-direction: column;
    position: relative;
    width: 82%;
    float: right;
    overflow: hidden;
    min-width: 550px;
}
.hero {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    position: relative;
    height: 100vh;
}
.hero img {
    min-width: 100%;
    height: 100%;
    position: absolute;
}
.welcome {
    margin: 0 18%;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    color: var(--header);
    text-align: center;
}
.welcome h1 {
    font-size: 250px;
    font-family: 'Marck Script', cursive;
    line-height: 50%;
    overflow: hidden; 
    border-right: .08em solid rgb(39, 213, 219); 
    white-space: nowrap; 
    animation: 
        typing 3.5s steps(40, end),
        blink-caret .75s step-end infinite;
}
@keyframes typing {
    from { width: 0 }
    to { width: 100% }
  }
  @keyframes blink-caret {
    from, to { border-color: transparent }
    50% { border-color: rgb(12, 1, 15); }
  }
.welcome h3 {
    font-family: 'Marck Script', cursive;
    font-size: 65px;
}

/* -------------------------------- */
/* ----------- About Me ----------- */
/* -------------------------------- */

.about-me {
    width: 100%;
    text-align: left;
    margin: 30px 0;
    color: var(--background);
}
.about-me h1, .projects h1, .contact-title, .contact-icons {
    font-size: 50px;
    font-family: 'Marck Script', cursive;
    padding-left: 60px;
    text-decoration: underline;
    padding-left: 10%;
    color: var(--background);
    margin-top: 0;
}
#know {
    text-align: center;
    margin: 30px 25px 15px 25px;
    color: var(--background);
    font-size: 45px;
}
.about-me h3 {
    font-size: 30px;
    color: var(--lighter-purp);
    margin-bottom: 15px;
    padding-top: 15px;
}
.col-sm {
    min-width: 200px;
    padding: 0 40px;
}
.about-cont {
    margin-left: 60px;
    display: flex;
    justify-content: center;
}
li {
    font-size: 20px;
    color: var(--text);
}
#html {
    list-style-image: url(../images/HTML5_logo.png);
}
#css {
    list-style-image: url(../images/CSS3.png);
}
#js {
    list-style-image: url(../images/js-icon.png);
}
#ts {
    list-style-image: url(../images/ts-icon.png);
}
#py {
    list-style-image: url(../images/py-icon.png);
}
#sql {
    list-style-image: url(../images/sql-icon.png);
}

.about-write, .about-left {
    display: flex;
    margin: 0 45px;
}

.about-write img, .about-left img  {
    height: 50vh;
    margin: 0 15px 15px 15px;
    min-height: 200px;
}
.about-write p, .about-left p, .proj-desc, .proj-links h6 {
    font-size: 20px !important;
    color: var(--text);
    margin-top: 30px;
}
.paragraphs strong:hover {
    cursor: pointer;
    color: var(--background);
    text-decoration: underline;
}

/* -------------------------------- */
/* ----------- Projects ----------- */
/* -------------------------------- */

.project-wrap {
    padding-left: 6%;
    padding-top: 10px;
}
.proj-img {
    display: inline-block;
    width: 30vw;
    min-width: 250px;
    padding: 15px;
}
.tama {
    display: flex;
    flex-wrap: wrap;
    padding: 25px;
    display: flex;
    transition: .5s;
    width: 90%;
    overflow: auto;
}
.tama a {
    color: var(--lighter-purp);
}
.tama a:hover {
    opacity: 1;
    transform: scale(1.10);
    cursor: pointer;
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -ms-transition: all .5s ease;
    transition: all .5s ease;
}
.tama button {
    margin-bottom: 20px;
}
.tama h5 {
    margin: auto 0;
    text-align: center;
    font-family: 'Marck Script', cursive;
    color: var(--lighter-purp);
    font-size: 30px;
}
.proj-links {
    display: block;
    padding-top: 30px;
    padding-left: 30px;
}
.colon {
    text-decoration: underline;
}
button {
    color: var(--pink-white);
    background: var(--lighter-purp);
    border-radius: 15px;
    padding: 5px 10px;
    margin-top: 20px; 
    border-color: var(--background);
}
button:hover {
    color: var(--lighter-purp);
    background: var(--pink-white);
}
.proj-desc {
    font-size: 20px;
}

/* ------------------------------ */
/* -------- Contact Form ---------*/
/* ------------------------------ */

.contact-icons {
    text-decoration: none;
    margin-top: 0 !important;
}
.contact-icons i {
    padding: 8px;
    color: var(--lighter-purp);
}
.contact-icons i:hover {
    color: var(--pink-white);
    border-radius: 15px;
    background-color: var(--lighter-purp);
    cursor: pointer;
}
input[type=text], select, textarea {
    width: 100%; 
    padding: 12px; 
    border: 1px solid #d9b3e4; 
    border-radius: 4px; 
    box-sizing: border-box; 
    /* margin-top: 6px; */
    margin-bottom: 16px;
    resize: vertical 
}
label, input, textarea {
    font-size: 20px;
    color: var(--text);
}
input[type=submit] {
    background-color: var(--lighter-purp);
    border: none;
    color: var(--pink-white);
    font-size: 20px;
    padding: 0px 20px;
}
button:hover, button:hover > input[type=submit] {
    background-color: var(--pink-white);
    color: var(--lighter-purp);
    border-color: 2px solid rgba(163, 27, 163);
}
.container {
    background-color: #e2d4e6;
    padding: 20px;
    width: 80%;
    margin-bottom: 30px;
    border-radius: 15px;
}

#about, #projects, #contact {
    height: 100px;
}

/* ------------------------------------- */
/* ----------- Media Queries ----------- */
/* ------------------------------------- */

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

    /* Panel */
    .panel {
        flex-direction: row;
        position: fixed;
        height: 100px;
        width: 100%;
        overflow: visible;
    }
    .panel h1, .panel h2 {
        display: none;
    }
    #prof-pic {
        width: 100px;
        margin: 0 auto;
        margin-left: 15px;
        margin-right: 0;
        padding: 5px;
    }
    #home-link {
        margin-left: 0;
        margin-right: 0;
    }

    /* Panel Navigation */
    nav, nav a {
        position: relative;
    }
    nav {
        margin-top: 30px;
    }
    .topnav a {
        display: none;
    }
    .topnav .icon {
        float: left;
        display: block;
    }
    .topnav a.icon {
        visibility: visible;
    }
    .topnav .icon:hover {
        background-color: var(--background);
        color: var(--pink-white);
    }
  
    .topnav.responsive {
        background-color: var(--pink-white);
        width: 150px;
        display: flex;
        flex-direction: column;
        position: relative;
        padding-left: 0;
        border: 2px solid rgb(137, 12, 148);
        border-radius: 20px;
    }
    .topnav.responsive .icon {
        color: var(--background);
        padding-bottom: 15px;
    }
    .topnav.responsive a {
        color: var(--background);
        display: block;
    }
    .topnav.responsive a:hover {
        background-color: var(--background);
        color: var(--pink-white);
        border-radius: 0;
    }
    #resume-link:hover {
        border-radius: 0 0 15px 15px;
    }
    .topnav.responsive .icon:hover {
        background-color: var(--pink-white);
        color: var(--background);
        border-radius: 20px;
    }
    .link-icons {
        position: fixed;
        bottom: 10px;
    }

    /* About */
    .about {
        width: 100%;
        margin: 0;
    }
    .hero h1 {
        font-size: 160px;
    }
    .about-me h1, .projects h1 {
        font-size: 45px;
    }
    .col-sm {
        min-width: 128px;
        padding: 0 26px;
    }
    #know {
        font-size: 32px;
    }
    .about-me h3 {
        font-size: 26px;
    }
    li {
        font-size: 20px;
    }

    .about-write {
        flex-direction: column;
        align-items: center;
    }
    .about-left {
        flex-direction: column-reverse;
        align-items: center;
    }
    .about-write img {
        min-height: 200px;
    }

    /* Projects */
    .project-wrap {
        padding-left: 0;
    }
}


@media screen and (max-width: 550px) {
    .hero h1 {
        font-size: 120px;
    }
    .hero h3 {
        font-size: 48px;
    }
    .about-me, .paragraphs, .about-left p, .projects, .contact-form {
        padding-left: 40px;
    }
    .tama {
        flex-direction: column;
    }
    .tama h5 {
        text-align: left;
        padding-left: 15px;
    }
    .proj-links {
        padding-top: 0px !important;
    }
}

@media screen and (max-width: 500px) {
    .welcome h1 {
        font-size: 80px;
    }
    .welcome h3 {
        font-size: 40px;
    }
    .about {
        /* width: 30vw; */
        padding-left: 12%;
    }
    .link-icons {
        display: none;
    }
}
@media screen and (max-width: 420px) {
    .about {
        padding-left: 20%;
    }
    .about-write img, .about-left img {
        margin-left: 16%
    }
}
@media screen and (max-width: 375px) {
    .about {
        padding-left: 38%;
    }
    .about-write img, .about-left img {
        margin-left: 26%
    }
    
}
@media screen and (max-width: 360px) {
    .about {
        padding-left: 40%;
    }
    .about-write img, .about-left img {
        margin-left: 16%
    }
}

@media screen and (max-width: 350px) {
    .about {
        padding-left: 55%;
    }
    .about-write img, .about-left img {
        margin-left: 26%
    }
}
@media screen and (max-width: 280px) {
    .about {
        padding-left: 78%;
        /* padding-right: 22%; */
    }
    h5 {
        padding-right: 50%;
    }
    .about-write img, .about-left img {
        margin-left: 26%;
        height: 30vh;
    }
    .proj-links {
        padding-left: 0;
    }
    .welcome h1, .welcome h3 {
        padding-left: 15%;
    }
    
}

/* ------------------------------ */
/* ----------- Footer ----------- */
/* ------------------------------ */

footer {
    display: flex;
    width: 100%;
    background-color: var(--footer-back);
    font-size: 18px;
    margin-top: 100px;
    padding-top: 15px;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 7;
    align-items: flex-end;
}
.copyright {
    width: 100%;
    text-align: right;
    padding: 15px;
    padding-right: 75px;
    color: rgb(233, 212, 233);
}