@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,500;1,500&family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100..900;1,100..900&display=swap');

body {
    background-color: #ddd9d9; 

    margin: 0;
}

html, body {
    max-width: 100%;
    overflow-x: hidden
}

hr {
    border-top: 0.01em solid #dadada6e;

    margin: auto;
    margin-bottom: 7.5em;
    margin-top: 7.5em;
}

/* Navigation */

.overlay {
    background-color: #000000e0;

    height: 100%;
    width: 0;

    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    
    overflow: hidden;
    transition: 1s;
}

.overlay-content {
    font-family: 'Raleway';

    position: relative;
    text-align: center;

    top: 25%;
    width: 100%;
    margin-top: 1.8rem;
}

.overlay a {
    font-size: 1.8rem;
    color: #818181;

    padding: 1rem;

    text-decoration: none;
    display: block;
    transition: 0.3s;
}

.overlay a:hover, .overlay a:focus {
    color: #b7afcd;
}

.overlay .closebtn {
    font-size: 3.7rem;

    position: absolute;

    top: 1.2rem;
    right: 2.8rem;
}

.navIcon {
    color: #3a3a3a;
    background-color: #dbdbdba9;

    font-size: 1.8rem;

    padding: 1em;

    cursor: pointer;
    position: fixed;
}

@media screen and (max-height: 28rem) {
    .overlay a {font-size: 1.3rem}
    .overlay .closebtn {
        font-size: 2.5rem;

        top: 0.9rem;
        right: 2.2rem;
    }
}

/* Title Section */

.title {
    text-align: center;

    overflow: hidden;
}

.title h1 {
    color: #444444;

    font-family: 'Lato';
    font-weight: 400;
    font-size: 6.25rem;

    margin: 0;
    padding-top: 2em;
}

.title h2 {
    color: #5c5c5c;

    font-family: 'Jost';
    font-weight: 300;
    font-size: 1.8rem;

    margin-bottom: auto;
}

.title h3 {
    color: #7c7c7c;

    font-family: 'Jost';
    font-weight: 300;
    font-size: 1.4rem;

    padding-bottom: 4em;
    margin-top: auto;
}

.animate {
    animation-duration: 0.75s;
    animation-delay: 0.5s;
    animation-name: animate-fade;
    animation-timing-function: cubic-bezier(0.26, 0.53, 0.74, 1.48);
    animation-fill-mode: backwards;
}

.animate.title {
    animation-name: animate-glow;
    animation-timing-function: ease;
}

@keyframes animate-glow {
    0% {
        opacity: 0;
        filter: brightness(3) saturate(3);
        transform: scale(0.8, 0.8);
    }
    100% {
        opacity: 1;
        filter: brightness(1) saturate(1);
        transform: scale(1, 1);
    }
}

.delay-1 {
    animation-delay: 0.6s;
}

.delay-2 {
    animation-delay: 0.8s;
}

.delay-3 {
    animation-delay: 1s;
}

/* Socials */
.github {
    width: 3.5em;

    padding: 0.5em;
}

.linkedin {
    width: 3.5em;

    padding: 0.5em;
}

/* Skill Section */

.skill-section {
    padding: 0 2em 0 2em;
    height: 100%;
}


.skill-section h1 {
    color: #272727;

    font-family: 'Lato';
    font-weight: 400;
    font-size: 3em;

    letter-spacing: 0.2em;
    text-align: center;

    margin: auto;
    margin-bottom: 1em;
}

.skill-section p {
    color: #000000;

    font-family: 'Jost';
    font-weight: 300;
    font-size: 1.3rem;

    text-align: justify;
    align-items: center;
}

/* Languages Area */

.lang-sec {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;
    gap: 0 0;

    align-items: center;
    justify-content: center;
}



.lang-sec #html {
    grid-column-start: 1;
    grid-row-start: 1;
    background: #d1cfcf;

    padding: 1.5em;
    padding-left: 4em;
    padding-right: 4em;
    border-radius: 0.3em;

    height: 12em;
    max-width: 5em;

    justify-self: center;
}

.lang-sec #css {
    grid-column-start: 2;
    grid-row-start: 1;
    background: #d1cfcf;

    padding: 1.5em;
    padding-left: 4em;
    padding-right: 4em;
    border-radius: 0.3em;

    height: 12em;
    max-width: 5em;

    justify-self: center;
}

.lang-sec #html:hover, #css:hover {
    box-shadow: 0.2em 0.2em 0.2em #474747;
}

.lang-sec img {
    width: 10vw;
}

.lang-sec h3 {
    color: #2b2b2b;

    font-family: 'Jost';
    font-weight: 400;
    font-size: 1.4rem;

    margin-bottom: auto;

    text-align: center;
}

.lang-sec p {
    color: #3a3a3a;

    font-family: 'Jost';
    font-weight: 300;
    font-size: 1rem;

    margin-top: auto;

    text-align: center;
}

/* Portfolio Section */

.portfolio h2 {
    color: #272727;

    font-family: 'Lato';
    font-weight: 400;
    font-size: 3em;

    letter-spacing: 0.2em;
    text-align: center;
    
    margin: auto;
    margin-left: 0.5em;
    margin-bottom: 1em;
}

.ptfl-info {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    gap: 0 0;
}

.ptfl-info h3 {
    color: #444139;

    font-family: 'Lato';
    font-weight: 600;
    font-size: 1.5em;

    letter-spacing: 0.05em;
}

.ptfl-info p {
    color: #464646;

    font-family: 'Jost';
    font-weight: 300;
    font-size: 1em;

    text-align: justify;
    max-width: 80vw;
}

.ptfl-info #project-1, #project-2, #project-3, #project-4 {
    background: #d1cfcf;

    padding: 1.5em;
    margin: 2em;
    border-radius: 0.3em;

    justify-self: center;
}

#project-1:hover, #project-2:hover, #project-3:hover, #project-4:hover {
    box-shadow: 0.2em 0.2em 0.2em #474747;
}

.ptfl-info img {
    width: 80vw;
    height: auto;

    border-radius: 0.3em;
}

#prj-smlinf {
    color: #747474;
}

#project-1 a, #project-2 a, #project-3 a, #project-4 a {
    display: block;
    text-decoration: none;
    color: inherit;
}

#project-1 {
    grid-column-start: 1;
    grid-row-start: 1;
}

#project-2 {
    grid-column-start: 2;
    grid-row-start: 1;
}

#project-3 {
    grid-column-start: 1;
    grid-row-start: 2;
}

#project-4 {
    grid-column-start: 2;
    grid-row-start: 2;
}

/* Experience Section */

.experience h2 {
    color: #272727;

    font-family: 'Lato';
    font-weight: 400;
    font-size: 2em;

    letter-spacing: 0.2em;
    text-align: center;
    
    margin: auto;
    margin-left: 1em;
    margin-bottom: 1em;
}

.exp-info {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0 0;
}

.exp-info h3 {
    color: #444139;

    font-family: 'Lato';
    font-weight: 600;
    font-size: 1.5em;

    letter-spacing: 0.05em;
}

.exp-info p {
    color: #464646;

    font-family: 'Jost';
    font-weight: 300;
    font-size: 0.9em;

    text-align: justify;
    width: 70vw;
}

.exp-info #date {
    color: #818181;

    font-family: 'Jost';
    font-weight: 300;
    font-size: 0.9em;

    text-align: right;
}

.exp-info #company {
    color: #818181;

    font-family: 'Jost';
    font-weight: 300;
    font-size: 0.9em;

    text-align: left;
}

.exp-info #panel-1, #panel-2 {
    background: #d1cfcf;

    padding: 2em;
    margin: 2em;
    border-radius: 0.3em;

    justify-self: center;
}

#panel-1:hover, #panel-2:hover {
    box-shadow: 0.2em 0.2em 0.2em #474747;
}

/* Contact Section */

.contact-form {
    padding: 4em 0;
    margin: 0 1em;

    font-family: 'Lato';
    font-weight: 300;
}
 
.form-container {
    background-color: #d1cfcf;

    max-width: 70vw;
    margin: 0 auto;
    padding: 2em;

    border-radius: 1em;
    box-shadow: 0 0 1em #a0a0a0;
}
 
.form-group {
    margin-bottom: 2em;
}
 
.form-container label {
    display: block;
    font-weight: bold;

    margin-bottom: 0.5rem;
    margin-top: 0.5rem;
}
.form-container input, textarea {
    background-color: #e9e9e9;

    width: 65vw;
    padding: 1em;

    border: 1px solid #ccc;
    border-radius: 4px;
    margin-bottom: 1rem;
    resize: vertical;

    font-family: 'Jost';
    font-weight: 300;
    font-size: 0.9em;
}

.form-container #submit-btn {
    background: #b7afcd;
    color: #5f5f5f;

    font-weight: bold;
    font-family: 'Jost';
    font-weight: 400;
    font-size: 1em;

    border: none;
    width: 65vw;

    cursor: pointer;
    text-decoration: none;
    justify-self: center;
    text-align: center;

    display: block;
    margin: auto;
}

.form-container #submit-btn:hover {
    background: #a7a0bb
}

.head {
    text-align: center;
}

.head h3 {
    color: #444139;
    
    font-size: 2.5em;
    font-weight: 400;
    font-family: 'Lato';

    line-height: 2.25rem;
    letter-spacing: 0.1em;
}

.head p {
    color: #777777;

    font-family: 'Jost';
    font-size: 1.2em;
    font-weight: 300;

    letter-spacing: 0.03rem;
}

/* Success Page */

.form-success {
    display: block;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin-top: 10%;

    font-family: 'Jost';
}

.form-success img {
    max-width: 7em;
    margin: 1em;
}

.form-success h1 {
    color: #62e359;

    font-weight: 600;
    font-size: 3em;

    margin: auto;
}

.form-success p {
    font-weight: 400;
    font-size: 1.5em;

    margin: 0.5em;
}

.form-back {
    padding-top: 1em;
}

.form-back #back {
    color: #6320a1;

    text-decoration: none;

    font-weight: 700;
    font-size: 1.5em;
    letter-spacing: 0.1em;
}

/* footer */
footer {
    background-color: #b9b9b96e;

    text-align: center;
    justify-content: center;

    font-family: 'Lato';
    font-weight: 300;
    font-size: 1em;

    padding: 1em;
    margin-top: 8em;
    position: sticky;
}