/*COVER SECTION*/

main {
    background-image: url('../assets/background/home-bg.jpg');
    background-position: center;
    background-position: center;
    width: 100%;
    height: calc(100vh - 80px);
    background-attachment: fixed;
    background-size: cover;
}

.cover-home {
    width: 100%;
    height: 100%;
    background-color: #00000080;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.developer-name-section {
    width: 600px;
    height: 100px;
    color: #fff;
}

.iam {
    font-size: 30px;
    background-color: #8338EC;
    color: #fff;
    width: 6ch;
    text-align: center;
}

.username-section {
    width: 100%;
    height: 60px;
    overflow: hidden;
}

.username {
    font-size: 40px;
    text-align: center;
    color: #fff;
    text-shadow: 4px 4px 0 #8338EC;
    width: 100%;
    height: 60px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    transition: all 0.5s;
    position: relative;
    left: 0;
}

.username.dgd {
    top: 0;
}

.username.gd {
    top: 0;
}

/*ABOUT ME SECTION*/

.about-me {
    width: 100%;
    height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

@keyframes blow-about-me {
    0% {
        box-shadow: 0 0 40px #2C145C;
    }

    50% {
        box-shadow: 0 0 40px #8338EC;
    }

    100% {
        box-shadow: 0 0 40px #2C145C;
    }
}

.information-about-me {
    width: 600px;
    height: 600px;
    background-color: transparent;
    border: 2px solid #2C145C;
    border-radius: 40px;
    box-shadow: 0 0 40px #2C145C;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
    padding: 20px;
    animation: blow-about-me 4s infinite;
}

.name-developer {
    color: #fff;
    text-shadow: 0 0 40px #8338EC;
    font-size: 30px;
    text-align: center;
}

.logo-gandel {
    width: 200px;
    height: 200px;
    border-radius: 50%;
}

.description {
    color: #fff;
    text-align: justify;
}

/*SKILLS SECTION*/

.skills-section {
    width: 100%;
    height: auto;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.skills {
    width: 80%;
    height: auto;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-around;
    margin: auto;
    gap: 20px;
    flex-wrap: wrap;
}

.programming-language-section {
    width: 300px;
    height: 300px;
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: 80% 20%;
    grid-template-areas:
        "logo"
        "progress"
    ;
    gap: 20px;
}

.logo-programming {
    width: 200px;
    height: 200px;
    grid-area: logo;
    margin: auto;
}

progress {
    grid-area: progress;
    width: 80%;
    margin: auto;
    background-color: #fff;
    border-radius: 40px;
    color: #fff;
}

progress::-webkit-progress-bar {
    border-radius: 40px;
    background-color: #fff;
}

progress::-webkit-progress-value {
    border-radius: 40px;
    background-color: #8338EC;
}

/*PROJECTS SECTION*/

.projects-section {
    width: 100%;
    height: auto;
    margin: 200px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.project-container {
    background-color: #fff;
    width: 400px;
    height: 300px;
    display: grid;
    grid-template-rows: 80% 20%;
    grid-template-areas: 
    "cover-project"
    "title-project"
    ;
    transition: all 0.5s;
}

@keyframes shake {
    0% {
        box-shadow: none;
    }

    25% {
        box-shadow: 20px 20px 0 #8338EC;
    }

    50% {
        box-shadow: none;
    }

    75% {
        box-shadow: -20px -20px 0 #8338EC;
    }

    100% {
        box-shadow: none;
    }
}

.project-container:hover {
    animation: shake 2s infinite;
}

.cover-project {
    grid-area: cover-project;
    width: 100%;
    height: 100%;
    background-image: url(/assets/projects/ubuntu22ui.png);
    background-size: 110%;
    background-position: center;
    background-repeat: no-repeat;
    transition: all 1s;
}

.project-container:hover .cover-project {
    background-size: 130%;
}

.title-project {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #8338EC;
    font-size: 20px;
    transition: all 0.5s;
}

.title-project:hover {
    font-weight:bolder;
}

/*TEMPLATE STORE and CURRICULUM SECTION*/

.store-templates,
.curriculum-section {
    width: 100%;
    height: 300px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.template-store-button,
.cv-button {
    border: 2px solid #fff;
    width: 600px;
    height: 60px;
    text-align: center;
    line-height: 60px;
    font-size: 20px;
    text-decoration: none;
    color: #fff;
    transition: all 0.5s;
}

.template-store-button:hover,
.cv-button:hover {
    background-color: #8338EC;
    border: none;
}

/*CONTACT ME SECTION*/

.contact-me-section {
    width: 100%;
    height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.content-form-contact-me {
    width: 80%;
    height: 800px;
    display: grid;
    grid-template-columns: 30% 70%;
    grid-template-areas:
        "contacts form"
    ;
}

.contacts-section {
    grid-area: contacts;
    background-color: #8338EC;
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
}

.contacts {
    width: 100%;
    height: 150px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.link-contact {
    display: block;
    cursor: pointer;
    width: 100%;
    height: 50px;
    line-height: 50px;
    text-align: left;
    text-decoration: none;
    transition: all 0.5s;
    font-size: 20px;
    color: #fff;
}

.link-contact::after {
    display: block;
    content: '';
    width: 0;
    height: 2px;
    background-color: #fff;
    transition: all 0.5s;
    padding: 0;
}

.link-contact:hover {
    padding-left: 40px;
}

.link-contact:hover.link-contact::after {
    width: 100%;
}

.form-section {
    border: 4px solid #50328d;
    box-shadow: -8px 0 40px #000;
    padding: 20px;
    background-color: transparent;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.subtitle {
    color: #fff;
    font-size: 40px;
}

form {
    width: 600px;
    height: 600px;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: space-around;
}

input,
textarea {
    width: 100%;
    height: 50px;
    padding: 10px;
    font-size: 20px;
    resize: none;
    background-color: transparent;
    border: 2px solid #8338EC;
    border-top: none;
    border-left: none;
    border-right: none;
    color: #fff;
    outline: none;
    caret-color: #5500ff;
}

textarea {
    height: 200px;
}

input[type=submit] {
    background-color: #5500ff;
    cursor: pointer;
}

label {
    width: 100%;
    height: 30px;
    font-size: 20px;
    display: block;
    line-height: 30px;
    overflow: hidden;
}

.label-name {
    color: #8338EC;
    position: relative;
    left: 8px;
    top: 100%;
    transition: all 0.5s;
}

.label-name.show {
    top: 0;
}

.label-name.show .input-element::placeholder {
    color: #010113;
}

/*LANGUAGES SECTION*/

.languages-section {
    width: 100%;
    height: 100px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-around;
}

.languages {
    width: 40px;
    height: 40px;
    text-decoration: none;
    display: block;
    border: 2px solid #fff;
    border-radius: 50%;
    background-color: transparent;
    color: #fff;
    cursor: pointer;
}

.languages:hover {
    border: 2px solid #8338EC;
}

.img-language {
    width: 100%;
    height: 100%;
}

@media (max-width: 1450px) {
    /*CONTACT ME SECTION*/

    .subtitle {
        font-size: 20px;
    }

    .link-contact {
        font-size: 16px;
    }
}

@media (max-width: 1220px) {
    /*CONTACT ME SECTION*/

    .content-form-contact-me {
        width: 80%;
        height: 800px;
        display: grid;
        grid-template-columns: 100%;
        grid-template-rows: 30% 70%;
        grid-template-areas:
            "contacts"
            "form"
        ;
    }

    .contacts {
        width: 100%;
        height: 25px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 20px;
    }

    .link-contact {
        display: block;
        cursor: pointer;
        width: 100%;
        height: 25px;
        line-height: 25px;
        font-size: 16px;
    }

    .link-contact:hover {
        padding-left: 0;
    }

    .link-contact:hover.link-contact::after {
        width: 100%;
    }

    .form-section {
        box-shadow: 0 -8px 20px #000;
    }
}

@media (max-width: 890px) {
    /*CONTACT ME SECTION*/

    .link-contact {
        width: 100%;
        height: 25px;
        line-height: 25px;
        font-size: 14px;
        text-align: center;
    }

    .languages-section {
        width: 100%;
        height: 100px;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 10px;
    }
}

@media (max-width: 795px) {
    /*CONTACT ME SECTION*/

    .contacts {
        width: 100%;
        height: 60px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .link-contact {
        display: block;
        cursor: pointer;
        width: 100%;
        height: 20px;
        line-height: 20px;
        text-align: left;
        text-decoration: none;
        transition: all 0.5s;
        font-size: 16px;
        color: #fff;
    }

    .form-section {
        width: 100%;
        height: 100%;
        box-shadow: -8px 0 20px #000;
        padding: 20px;
    }

    form {
        width: 100%;
        height: 100%;
    }

    input,
    textarea {
        width: 100%;
        height: 30px;
        padding: 10px;
        font-size: 16px;
    }

    input[type=submit] {
        border: none;
        height: 60px;
    }

    textarea {
        height: 100px;
    }

    label {
        font-size: 16px;
    }
}

@media (max-width: 640px) {
    /*COVER SECTION*/

    .developer-name-section {
        width: 100%;
        height: 200px;
        padding: 0 20px;
    }

    .iam {
        font-size: 30px;
        background-color: #8338EC;
        color: #fff;
        width: 6ch;
        text-align: center;
    }

    .username-section {
        width: 100%;
        height: 170px;
        overflow: hidden;
    }

    .username {
        font-size: 30px;
        width: 100%;
        height: 100%;
    }

    .username.dgd {
        top: 0;
    }

    .username.gd {
        top: 0;
    }

    /*ABOUT ME SECTION*/

    .information-about-me {
        width: 100%;
        height: 600px;
        border-radius: 0;
        border-left: 0;
        border-right: 0;
    }

    .name-developer {
        font-size: 20px;
    }

    .logo-gandel {
        width: 100px;
        height: 100px;
    }

    /*TEMPLATE STORE and CURRICULUM SECTION*/

    .store-templates,
    .curriculum-section {
        width: 100%;
        padding: 20px;
    }

    .template-store-button,
    .cv-button {
        border: 2px solid #fff;
        width: 100%;
        height: 60px;
    }

    /*SKILLS SECTION*/

    .skills {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    
    .programming-language-section {
        width: 300px;
        height: 300px;
        display: grid;
        grid-template-columns: 100%;
        grid-template-rows: 80% 20%;
        grid-template-areas:
            "logo"
            "progress"
        ;
        gap: 20px;
    }
    
    .logo-programming {
        width: 200px;
        height: 200px;
        grid-area: logo;
        margin: auto;
    }

}