/* Global Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --base: rgb(44, 45, 48);
}

body {
    font-family: 'Quicksand', Arial, sans-serif;
    background-color: var(--base);
}

section {
    padding: 60px 0;
    width: 90%;
    margin: 0 auto;
}

.page-break {
    width: 100%;
    background-color: var(--base);
    height: 10px;
}

h4 {
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 3px;
    margin-bottom: 30px;
}

/* Nav */
header {
    background-color: var(--base);
    padding: 20px;
    margin: 15px 0px
}

header nav ul {
    display:flex;
    justify-content: space-between;
    margin: 0 auto;
}

header nav ul li {
    list-style: none;
}

header nav ul li a {
    text-decoration: none;
    font-size: 20px;
    font-weight: bold;
    text-transform: uppercase;
    color: lightgrey;
    letter-spacing: 3px;
    padding: 25px;
    border-left: 1px solid lightgray;
    border-right: 1px solid lightgray;
}

header nav ul li a:hover {
    color: white;
    background-color: rgb(53, 54, 58);
    border-radius: 10px;
}

/* Site Container */
.site-container {
    width: 95%;
    margin: 0 auto;
    background-color: white;
}

/* Hero */
.hero {
    display: flex;
    place-items: center;
    border-bottom: 1px solid lightblue;
    margin: 15px 15px 35px 15px;
    letter-spacing: 3px;
}

.hero h1 {
    font-weight: 200;
    flex: 1 50%;
    text-align: center;
}

.hero span {
    text-shadow: 2px 2px 3px gray;
}

.hero img {
    width: 200px;
    margin: 20px;
    flex: 0 50%;
    border-radius: 5%;
}
/* About */
.about {
    line-height: 1.7;
}

.about-group {
    margin-bottom: 30px;
}

.about-group h2 {
    color: rgb(88, 111, 119);
    border-bottom: 1px solid lightblue;
    display: inline-block;
    margin-bottom: 15px;
}

.skills ul {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
}

.skills ul li {
    padding: 10px 20px;
    margin: 10px;
    background-color: rgb(121, 187, 209);
    border-radius: 10px;
    color: white;
}

.skills ul li:hover {
    background-color: rgb(131, 171, 185);
    cursor: grab;
}

/* Portfolio */
.portfolio {
    margin-bottom: 60px;
}

.portfolio img {
    width: 100%;
    border-radius: 4px;
    transition: .3s;
}

.portfolio .grid-container {
    display: grid;
    grid-gap: 7px;
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: repeat(6, 1fr);
    align-items: center;
}

.portfolio .main-project {
    grid-column: 1 / span 4;
    grid-row: 1 / span 4;
}

.portfolio .project-2 {
    grid-column: 5 / span 2;
    grid-row: 1 / span 2;
}

.portfolio .project-3 {
    grid-column: 5 / span 2;
    grid-row: 3 / span 2;
}

.portfolio .project-4 {
    grid-column: 1 / span 2;
    grid-row: 5 / span 2;
}
.portfolio .project-5 {
    grid-column: 3 / span 2;
    grid-row: 5 / span 2;
}

.portfolio .project-6 {
    grid-column: 5 / span 2;
    grid-row: 5 / span 2;
}

.projects, .main-project {
    position: relative;
}

.projects:hover img, .main-project:hover img {
    filter: blur(2px) brightness(60%);
}

.projects :not(a):not(img), .main-project :not(a):not(img) {
    position: absolute;
    top: 40%;
    z-index: 1;
    color: cornsilk;
    width: 100%;
    text-align: center;
    opacity: 0;
    transition: .3s;
}

.projects:hover :not(a):not(img), .main-project:hover :not(a):not(img) {
    opacity: 1;
}

.portfolio .projects {
    font-size: 12px;
}

.portfolio .projects h3, .portfolio .main-project h3 {
    top: 58%;
}

/* Resume */
.resume embed{
    margin: 0 auto;
    width: 100%;
    height: 600px;
}

/* Contact */
.contact input, .contact textarea {
    display: block;
    font-size: 18px;
    margin: 15px 0;
    padding: 8px;
    width: 100%;
    border: 1px solid lightgray;
    font-family: 'Quicksand', Arial, sans-serif;
    letter-spacing: 1px;
}

.contact input:focus, .contact textarea:focus {
    outline: none;
    border: 1px solid lightskyblue;
}

.contact input::placeholder, .contact textarea::placeholder {
    font-size: 18px;
    letter-spacing: 1px;
    font-family: 'Quicksand', Arial, sans-serif;
}

.contact button {
    border: none;
    background-color: lightskyblue;
    color: white;
    text-align: center;
    padding: 0px 20px;
    font-size: 16px;
    border-radius: 10px;
    letter-spacing: 1px;
}

.contact button:hover {
    background-color: rgb(99, 176, 224);
    cursor: pointer;
}

.submit-container {
    display: flex;
    justify-content: space-between;
}

/* Logos */

ion-icon {
    padding: 3px;
    width: 20px;
    height: 20px;
    margin: 10px;
}

ion-icon:hover {
    filter: brightness(50%);
}

.twitter {
    background-color: #1da1f2;
    color: #f5f8fa;
    border-radius: 10%;

}

.linkedin {
    background-color: #0a66c2;
    color: #ffffff;
    border-radius: 10%;
}

.github {
    background-color: rgba(121, 115, 115, 0.877);
    color: white;
    border-radius: 10%;
}

.discord {
    background-color: #7289da;
    color: white;
    border-radius: 10%;
}

/* For Tablets */
@media screen and (max-width: 768px) {
    .hero img {
        flex: 0 100%;
    }
    .hero h1 {
        flex: 1 100%;
        margin-bottom: 20px;
    }
    .hero {
        flex-wrap: wrap;
    }
    .about {
        text-align: center;
    }
    .skills ul {
        justify-content: center;
    }
}
/* For Phones */
@media screen and (max-width: 675px) {
    header {
        margin: 5px;
        padding: 10px 0 15px 0;
        position: sticky;
        top: 0;
        z-index: 999;
    }
    header nav ul li a {
        font-size: 13px;
        letter-spacing: 0px;
        padding: 10px;
        border: 1px solid lightgray;
        border-radius: 10px;
    }
    header nav ul {
        display:flex;
        justify-content: space-around;
    }
    /* Grid for Mobile */
    .portfolio .grid-container {
        display: grid;
        grid-gap: 7px;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(12, 1fr);
        align-items: center;
    }
    .portfolio .main-project {
        grid-column: 1 / span 3;
        grid-row: 1 / span 2;
    } 
    .portfolio .project-2 {
        grid-column: 1 / span 3;
        grid-row: 3 / span 2;
    }
    .portfolio .project-3 {
        grid-column: 1 / span 3;
        grid-row: 5 / span 2;
    } 
    .portfolio .project-4 {
        grid-column: 1 / span 3;
        grid-row: 7 / span 2;
    }
    .portfolio .project-5 {
        grid-column: 1 / span 3;
        grid-row: 9 / span 2;
    }
    .portfolio .project-6 {
        grid-column: 1 / span 3;
        grid-row: 11 / span 2;
    }
    .projects :not(a):not(img), .main-project :not(a):not(img) {
        opacity: 1;
    }
}