:root {
    --dark: #00334e;
    --medium: #145374;
    --light: #5588a3;
    --gray: #e8e8e8;
}

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

html {
    font-size: 62.5%;
    font-family: 'Nunito', sans-serif;
    scroll-behavior: smooth;
}

.container {
    display: grid;
    grid-template-rows: 5vh repeat(7, 350px) 7vh;
    grid-template-areas: 
    "header"
    "contact"
    "about"
    "image"
    "carrousel"
    "education"
    "tech"
    "skills"
    "footer";
    background: linear-gradient(to right, rgba(20,83,116,1), rgba(85,136,163,1), #145374); 
}

header {
    min-height: 35px;
    grid-area: header;
    position: sticky;
    top: 0;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    background-color: var(--dark);
    height: 5vh;
    box-shadow: 0px 1px 10px var(--dark);
}

header .nav {
    width: 100vw;
}

header .nav ul {
    height: 100%;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    list-style: none;
}

.nav--element a {
    text-decoration: none;
    color: white;
    font-size: 1.5rem;
    border: solid 1px rgb(240, 248, 255,0.4);
    padding: 5px;
    border-radius: 5px;
}

.nav--element a:hover {
    text-decoration: underline;
}

.contact {
    min-height: 320px;
    grid-area: contact;
    display:grid;
    grid-template-columns: auto;
    background-color: rgba(3, 3, 3, .17);
}

.contact--image-container {
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact--image {
    border-radius: 50%;
    width: 130px;
    height: 130px;
    box-shadow:  10px 10px 12px #002b42, 0px 0px 10px 1px #fff, -10px 10px 12px #003b5a;
}

.icon {
    display: inline-block;
    width: 30px;
    height: 30px;
    margin: 5px 5px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.icon-github {
    background-image: url('https://icongr.am/devicon/github-original.svg?size=30&color=currentColor');
}

.icon-twitter {
    background-image: url('https://icongr.am/devicon/twitter-original.svg?size=30&color=currentColor');
}

.icon-linkedin {
    background-image: url('https://icongr.am/devicon/linkedin-original.svg?size=30&color=currentColor');
}

.icon-html {
    background-image: url('https://icongr.am/devicon/html5-original.svg?size=30&color=currentColor');
}

.icon-css {
    background-image: url('https://icongr.am/devicon/css3-original.svg?size=30&color=currentColor');
}

.icon-js {
    background-image: url('https://icongr.am/devicon/javascript-original.svg?size=30&color=currentColor');
}

.icon-git {
    background-image: url('https://icongr.am/devicon/git-original.svg?size=30&color=currentColor');
}

.icon-laravel {
    background-image: url('https://icongr.am/devicon/laravel-plain.svg?size=30&color=currentColor');
}

.icon-python {
    background-image: url('https://icongr.am/devicon/django-original.svg?size=30&color=currentColor');
}

.icon-microsoft {
    background-image: url('https://icongr.am/devicon/dot-net-original-wordmark.svg?size=30&color=currentColor');
}

.icon-nodejs {
    height: 35px;
    background-image: url('https://icongr.am/devicon/nodejs-original.svg?size=30&color=currentColor');
}

.icon-react {
    background-image: url('https://icongr.am/devicon/react-original.svg?size=30&color=currentColor');
}

.icon-vue {
    background-image: url('https://icongr.am/devicon/vuejs-original.svg?size=30&color=currentColor');
}

.icon-mysql {
    background-image: url('https://icongr.am/devicon/mysql-original-wordmark.svg?size=30&color=currentColor');
}

.contact__data-container {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.contact--name {
    font-size: 2.3rem;
    font-weight: bold;
    color: var(--gray);
}

.contact--jobTitle {
    font-size: 2rem;
    font-weight: 400;
    color: var(--gray);
}

.about {
    min-height: 320px;
    grid-area: about;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    background-color: rgba(69,78,82,0.32);
    color:var(--gray);
}

.about__title {
    display: inline-block;
    font-size: 2rem;
}

.about__text {
    font-size: 1.4rem;
    text-align: center;
    padding: 15px;
}

.image {
    min-height: 320px;
    grid-area: image;
    background-image: url('../assets/img/pc.jpg');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    text-align: center;
}

.carrousel {
    min-height: 320px;
    grid-area: carrousel;
    display: flex;
    align-items: center;
    flex-direction: column;
    background-color: rgba(0,59,90,0.21);
}
.carrousel h2 {
    display: inline-block;
    font-size: 2rem;
    margin: 10px auto;
    color:white;
}

.carrousel__projects {
    width: 70vw;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    overflow-x: scroll;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    padding: 0 30px;
}

.card {
    scroll-snap-align: center;
    width: 190px;
    height: 250px;
    display: flex;
    align-items: center;
    flex-direction: column;
    border-radius: 30px;
    background-color:var(--dark);
    padding-bottom: 5px;
    color: var(--gray);
    margin: 0 20px;
}

.card .card--image {
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
    width: 100%;
    height: 170px;
}

.card .card--title {
    font-size: 1.4rem;
    text-align: center;
    margin: 5px;
}

.card .card--tech {
    margin: 5px 0;
    font-size: 1rem;
    text-align: center;
}

.education {
    grid-area: education;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.education h2 {
    display: inline-block;
    font-size: 2rem;
    margin: 0 auto;
    margin-top: 30px;
    color:white;
}

.education__container {
    display: flex;
    align-items: center;
    flex-direction: column;
    overflow-y: scroll;
    overscroll-behavior-y: contain;
    scroll-snap-type: y proximity;
    height: 75%;
}

.education__card {
    scroll-snap-align: center;
    max-width: 300px;
    height: 150px;
    display: flex;
    align-items: center;
    background-color: rgba(35,62,77,0.59);
    margin: 20px 0;
}

.education__card-image {
    width: 125px;
    height: 125px;
    border-radius: 15px;
    padding: 15px;
}

.education__card-text {
    padding: 5px;
    color: var(--gray);
    font-size: 1.6rem;
}

.tech {
    min-height: 320px;
    grid-area: tech;
    width: 100%;
    display: flex;
    flex-direction: column;
    background-color: rgba(126, 126, 126, 0.49);
}

.tech h2 {
    display: inline-block;
    font-size: 2rem;
    margin: 0 auto;
    margin-top: 20px;
    color:white;
}

.tech__container {
    margin: 20px 12px;
    height: 100%;
}

.tech__container ul {
    list-style: none;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    height: 100%;
}

.tech__element {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    color: var(--gray);
    font-weight: bold;
    width: 120px;
    height: 45px;
}

.skills {
    min-height: 320px;
    grid-area: skills;
    display: flex;
    flex-direction: column;
}

.skills h2 {
    display: inline-block;
    font-size: 2rem;
    margin: 0 auto;
    margin-top: 20px;
    color:white;
}

.skills__container {
    height: 100%;
}

.skills__container ul {
    list-style: none;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    height: 100%;
    align-content: space-around;
}

.skills__element {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    color: var(--gray);
    font-weight: bold;
    width: 100px;
    height: 45px;
    text-align: center;
}

footer {
    height: 50px;
    grid-area: footer;
    background-color: var(--dark);
    position: sticky;
    bottom: 0;
    color: var(--gray);
    font-size: 1.4rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0px -1px 10px var(--dark);
}

footer ul {
    list-style: none;
    display: flex;
    justify-content: center;
}

.footer--link {
    margin: 5px;
}

footer .footer--link a {
    color: var(--gray);
    text-decoration: none;
}

footer .footer--link a:hover {
    text-decoration: underline;
}

footer .made_by {
    text-align: center;
}
/* transform: rotate(180deg);
writing-mode: vertical-lr; */

