@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

:root {
    --background: #1E202D;
    --gray: #434B66;
    --orange: #F06D63;
    --pink: #F0B9C4;
    --lightblue: #6C7594;
    --lightgreen: #99B5B3;
    --washedwhite: #FEECDE;
    --white: #FFFFFF;
    --black: #000000;
    --animation-length: 0.4s;
}

body {
    margin: 0;
    padding: 0;
    background-color: var(--background);
}

header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
}

header #menu-handle {
    position: absolute;
    z-index: 100;
    cursor: pointer;
}

header #menu-handle svg {
    width: 40px;
    height: 40px;
    margin: 20px;
}

header #menu-handle svg rect {
    fill: var(--lightgreen);
}


header nav #external-links .linkedin svg path,
header nav #external-links .fiverr svg path {
    fill: var(--white);
}

header nav #external-links .instagram svg path,
header nav #external-links .github svg path {
    fill: var(--black);
}

header nav {
    position: absolute;
    inset: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.42);
    box-sizing: border-box;
    display: flex;
    align-items: center;
}

header nav #internal-links {
    width: 45%;
    flex-shrink: 0;
    margin-left: 5%;
}

@keyframes slide-in {
    0% {
        transform: translateX(-10px);
        opacity: 0;
    }

    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes pop-in {
    0% {
        transform: scale(0.8);
        opacity: 0;
    }

    90% {
        transform: scale(1.05);
        opacity: 1;
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}

header nav #internal-links a {
    display: block;
    text-decoration: none;
    width: 100%;
    height: 10%;
    background-color: var(--pink);
    padding-bottom: .45%;
    margin-bottom: 5%;
    border-bottom-right-radius: 2px;
    animation: none;
}

header nav:not(.hidden) #internal-links a {
    animation: slide-in .4s ease-in-out 1;
}

header nav #internal-links a span {
    display: block;
    font-family: "Roboto", sans-serif;
    font-size: 2.8vw;
    font-weight: 300;
    width: 99.5%;
    background-color: var(--orange);
    color: var(--background);
    box-sizing: border-box;
    padding-top: 1%;
    padding-left: 2%;
}

header nav #internal-links a:nth-of-type(2n) span {
    background-color: var(--lightgreen);
}

header nav #internal-links a:nth-of-type(2n) {
    background-color: #d9d9d9;
}

header nav #external-links {
    width: 17%;
    flex-shrink: 0;
    margin-left: 16%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    height: min-content;
}

header nav #external-links a {
    display: block;
    text-decoration: none;
    width: 47%;
    aspect-ratio: 1/1;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    margin-bottom: 6%;
    animation: none;
}

header nav:not(.hidden) #external-links a {
    animation: pop-in .3s ease-in 1;
}

header nav a {
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

header nav a:hover {
    transform: scale(1.02);
}

header nav #external-links a.linkedin {
    background-color: var(--lightblue);
}

header nav #external-links a.fiverr {
    background-color: var(--lightgreen);
}

header nav #external-links a.instagram {
    background-color: var(--pink);
}

header nav #external-links a.github {
    background-color: var(--washedwhite);
}

header nav #external-links a svg {
    width: 60%;
    height: 60%;
}


header #menu-handle .hidden,
header nav.hidden {
    display: none;
    animation: ghost .4s reverse 1 backwards;
    opacity: 0;
}

@keyframes ghost {
    0% {
        opacity: 0;
        display: none;
    }

    1% {
        opacity: 0;
        display: flex;
    }

    50% {
        opacity: 1;
    }
}


header #menu-handle :not(.hidden),
header nav:not(.hidden) {
    animation: ghost .4s running 1 forwards;
}

main {
    width: 100%;
    box-sizing: border-box;
}

main #top {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: 90%;
    position: relative;
    margin-top: 5%;
    margin-left: 5%;
}

main #top #main-art {
    width: 45%;
    aspect-ratio: 1/1;
    background-color: var(--lightblue);
    overflow: hidden;
    position: relative;
    font-family: 'Inter', sans-serif;
    flex-shrink: 0;
}

main #top #main-art .gradient {
    position: absolute;
    top: 75%;
    bottom: 0;
    right: 0;
    left: 0;
    background: linear-gradient(180deg, rgba(153, 181, 179, 0.00) 0%, var(--lightgreen) 100%);
}

main #top #main-art .headlines {
    position: absolute;
    top: 8%;
    width: min-content;
    left: 50%;
    transform: translateX(-50%);
}

main #top #main-art .headlines h1 {
    color: #FFF;
    font-family: Inter;
    font-size: 1.4vw;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: 2.5vw;
    text-align: center;
    margin: 0;
    margin-right: -2.5vw;
    width: min-content;
    position: relative;
}

main #top #main-art .headlines h1::after {
    content: "";
    display: block;
    width: 20%;
    border: 1px solid var(--white);
    position: absolute;
    bottom: -50%;
    left: 50%;
    transform: translateX(-72%);
}

main #top #main-art .headlines .job {
    display: flex;
    position: absolute;
    left: 50%;
    width: 50%;
    justify-content: space-between;
    margin: 0;
    transform: translateX(-57%) translateY(100%);
}

main #top #main-art .headlines .job h2 {
    color: #FFF;
    font-family: Inter;
    font-size: 1.4vw;
    font-style: italic;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.85vw;
    margin-right: -0.85vw;
    width: min-content;
    margin: 0;
}

main #top #main-art .headlines .job .planet {
    width: 10%;
    flex-shrink: 0;
    margin-right: 0.45vw;
}

main #top #main-art .headlines .job svg path {
    fill: none;
    stroke-width: 5px;
    stroke: var(--white);
    stroke-linecap: round;
    stroke-linejoin: round;
}

main #top #main-art .sun {
    width: 50%;
    aspect-ratio: 1/1;
    background: var(--orange);
    border-radius: 50%;
    position: absolute;
    top: 25%;
    left: 50%;
    transform: translateX(-50%);
    border: 2.3vw solid var(--washedwhite);
}

main #top #main-art img {
    position: absolute;
    top: 43%;
    width: 100%;
    height: 68%;
    object-fit: contain;
    object-position: center;
}

main #top #tech {
    position: relative;
    width: 10%;
    flex-shrink: 0;
    margin-left: 1.7%;
    margin-right: 3.4%;
}

main #top #tech .title {
    position: absolute;
    top: 50%;
    right: -75%;
    transform: translateY(-50%) rotate(-90deg);
    display: flex;
    justify-content: space-between;
    width: 330%;
}

main #top #tech .title h2 {
    font-family: "Roboto", sans-serif;
    color: var(--washedwhite);
    font-weight: 600;
    font-size: 1.4vw;
    letter-spacing: 0.33vw;
}

main #top #tech .title svg.star {
    fill: var(--washedwhite);
    width: 4.25%;
}

main #top #tech #tech-list {
    width: 67%;
    flex-shrink: 0;
    right: 0;
    position: absolute;
    top: 0;
    transform: translateY(-50%);
}

main #top #tech #tech-list article {
    display: flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 1/1;
    border-radius: 2px;
    border: 2px solid var(--lightblue);
    margin: 15% 0;
}

main #top #tech #tech-list article img {
    width: 60%;
}

main #top #exp {
    width: 43%;
    flex-shrink: 0;
    border-radius: 2px;
    border: 2px solid var(--lightblue);
    position: relative;
    font-size: 66%;
    min-height: 80vh;
}

main #top #exp::before {
    content: "";
    display: block;
    border: 1px solid var(--lightblue);
    position: absolute;
    width: 8%;
    height: 0;
    top: 7%;
    left: 0;
}

main #top #exp::after {
    content: "";
    display: block;
    border: 1px solid var(--lightblue);
    position: absolute;
    width: 0;
    height: 100%;
    top: 0;
    left: 8%;
}

main #top #exp .title {
    position: absolute;
    top: 75%;
    left: -14%;
    transform: rotate(-90deg);
}

main #top #exp .title h2 {
    font-family: "Roboto", sans-serif;
    color: var(--washedwhite);
    font-size: 1.4vw;
    font-weight: 400;
    letter-spacing: .56vw;
}

main #top #exp #experiences {
    position: relative;
    font-family: "Inter", sans-serif;
    color: var(--white);
    width: 92.2%;
    box-sizing: border-box;
    padding: 3% 4%;
    left: 7.8%;
    min-height: 80vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
}

main #top #exp #experiences article {
    background-color: var(--orange);
    font-size: 1vw;
    padding: .3% 1%;
    margin: 2% 0;
}

main #top #exp #experiences article:first-of-type {
    margin-top: 0;
}

main #top #exp #experiences article:last-of-type {
    margin-bottom: 0;
}

main #top #exp #experiences article h3 {
    margin: 0;
    margin-top: 2%;
    font-size: 110%;
}

main #top #exp #experiences article .infos .entreprise {
    font-size: 100%;
    font-style: italic;
    font-weight: 300;
}

main #top #exp #experiences article .infos .date {
    font-size: 80%;
    color: var(--gray)
}

main #top #exp #experiences article p {
    font-size: 75%;
}

main #top #exp #experiences article .infos {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

main #middle {
    width: 75%;
    margin-left: 11.8%;
    margin-top: 2%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

main #middle #lang {
    width: 35%;
}

main #middle #lang .title {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

main #middle #lang .title h2 {
    font-family: "Roboto", sans-serif;
    font-size: 2.1vw;
    font-style: normal;
    font-weight: 400;
    text-align: center;
    color: var(--washedwhite);
}

main #middle #lang .title .flag {
    width: 7%;
    fill: var(--washedwhite);
}

main #middle #lang .title .flag:last-of-type {
    transform: rotate(27deg);
}

main #middle #lang .flags {
    display: flex;
    justify-content: space-around;
}

main #middle #lang .flags img {
    width: 34%;
}

main #middle #diplomes {
    width: 45%;
}

main #middle #diplomes .title {
    width: 50%;
    margin-left: 25%;
    display: flex;
    justify-content: space-evenly;
}

main #middle #diplomes .title h2 {
    color: var(--washedwhite);
    font-family: "Roboto", sans-serif;
    font-size: 2.1vw;
    font-style: normal;
    font-weight: 400;
}

main #middle #diplomes .title .reward {
    width: 10%;
    stroke-width: 6px;
    stroke-miterlimit: 10px;
    fill: none;
    stroke: var(--washedwhite);
}

main #middle #diplomes .diplomes {
    display: flex;
    justify-content: space-between;
}

main #middle #diplomes .diplomes>div {
    flex-shrink: 0;
    flex-grow: 0;
    width: 40%;
    aspect-ratio: 16/9;
    position: relative;
    background-color: var(--washedwhite);
}

main #middle #diplomes .diplomes div .laurels {
    position: absolute;
    left: 50%;
    top: 5%;
    transform: translate(-50%);
    width: 60%;
    fill: var(--lightblue);
}

main #middle #diplomes .diplomes div .star {
    position: absolute;
    right: 0;
    top: 5%;
    transform: translate(-50%);
    width: 8%;
    fill: var(--orange);
}

main #middle #diplomes .diplomes div .text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -60%);
    color: var(--black);
    font-family: Inter;
    font-size: .64vw;
    font-style: normal;
}

main #middle #diplomes .diplomes div .text * {
    margin: 0 auto;
    text-align: center;
    width: max-content;
    font-weight: 600;
}

main #bottom {
    width: 85%;
    margin-left: 7.5%;
    display: flex;
    justify-content: space-between;
    margin-top: 3%;
}

main #bottom #concours {
    width: 40%;
}

main #bottom #concours>.title {
    width: 90%;
    margin-left: 5%;
    display: flex;
    justify-content: space-between;
}

main #bottom #concours>.title .podium {
    width: 12%;
}

main #bottom #concours>.title h2 {
    color: var(--washedwhite);
    font-family: "Roboto", sans-serif;
    font-size: 2vw;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

main #bottom #concours>.concours article {
    border-radius: 3px;
    border: 2px solid var(--lightblue);
    box-sizing: border-box;
    padding: 2%;
    margin-bottom: 2%;
}

main #bottom #concours>.concours article .title {
    display: flex;
    align-items: center;
    width: 100%;
}

main #bottom #concours>.concours article .title svg,
main #bottom #concours>.concours article .title img {
    width: 10%;
    margin: 0 2.5%;
}

main #bottom #concours>.concours article .title .text {
    width: 80%;
    margin: 0 2.5%;
}

main #bottom #concours>.concours article .title .text h3 {
    color: var(--washedwhite);
    font-family: "Roboto", sans-serif;
    font-size: 1.4vw;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    margin: 0 0 2% 0;
}

main #bottom #concours>.concours article .title .text .splitter {
    width: 100%;
    height: 5px;
    background-color: var(--washedwhite);
    border-bottom-right-radius: 5px;
}

main #bottom #concours>.concours #toeic .title .planet {
    stroke: var(--orange);
    stroke-width: 9px;
    fill: none;
}

main #bottom #concours>.concours #toeic .score {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 4%;
    padding-top: 1%;
}

main #bottom #concours>.concours #toeic .score .container {
    position: relative;
    transform: translateX(-40%);
}

main #bottom #concours>.concours #toeic .score .container .total {
    color: var(--lightgreen);
    font-family: "Roboto", sans-serif;
    font-size: 3.2vw;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

main #bottom #concours>.concours #toeic .score .container .over {
    position: absolute;
    top: 70%;
    left: 115%;
    color: var(--lightgreen);
    font-family: "Roboto", sans-serif;
    font-size: 2.1vw;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

main #bottom #concours>.concours #toeic .score .container .total::before {
    content: "";
    display: block;
    width: 40%;
    height: 2px;
    background-color: var(--lightgreen);
    position: absolute;
    left: 85%;
    top: 75%;
    transform: rotate(-45deg);
}

main #bottom #concours>.concours #mental-math .title .symbols path {
    fill: var(--orange);
}

main #bottom #concours>.concours #mental-math .title .symbols path:last-of-type {
    fill: var(--pink);
}

main #bottom #concours>.concours #mental-math .score {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

main #bottom #concours>.concours #mental-math .score div {
    display: flex;
    align-items: center;
    width: 40%;
    justify-content: space-between;
    margin: 1% 5%;
}

main #bottom #concours>.concours #mental-math .score .year {
    color: var(--lightgreen);
    font-family: "Roboto", sans-serif;
    font-size: 3.2vw;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

main #bottom #concours>.concours #mental-math .score .reward {
    width: 35%;
}

main #bottom #concours>.concours #kangourou .score {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

main #bottom #concours>.concours #kangourou .score div {
    display: flex;
    align-items: center;
    width: 40%;
    justify-content: space-between;
    margin: 3% 5%;
}

main #bottom #concours>.concours #kangourou .score .year {
    color: var(--lightgreen);
    font-family: "Roboto", sans-serif;
    font-size: 3.2vw;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

main #bottom #concours>.concours #kangourou .score .reward {
    width: 35%;
}

main #bottom #contact {
    width: 55%;
    margin-top: 3%;
}

main #bottom #contact .title {
    width: 28%;
    height: 1.2%;
    border-top-right-radius: 25px;
    border: 2px solid var(--lightblue);
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    padding: 2% 4% 2% 1%;
    border-bottom: none;
}

main #bottom #contact .title h2 {
    color: var(--washedwhite);
    font-family: "Roboto", sans-serif;
    font-size: 1.4vw;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin: 0;
    margin-left: 5%;
}

main #bottom #contact .title .waypoint {
    width: 18%;
    transform: translateY(-15%);
}

main #bottom #contact form {
    display: flex;
    height: 86.5%;
}

main #bottom #contact form .message {
    width: 50%;
    border: 2px solid var(--lightblue);
    border-radius: 3px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    border-right: none;
    padding: 3% 2%;
}

main #bottom #contact form .message h3,
main #bottom #contact form .prenom h3,
main #bottom #contact form .nom h3,
main #bottom #contact form .email h3 {
    color: var(--washedwhite);
    font-family: "Roboto", sans-serif;
    font-size: 1.4vw;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    width: fit-content;
    margin: 2% 0;
}

main #bottom #contact form .message textarea {
    width: 100%;
    height: 94%;
    resize: none;
    border: none;
    background-color: var(--gray);
    font-family: "Roboto", sans-serif;
    font-size: 1.4vw;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    color: var(--white);
    border-radius: 3px;
    box-sizing: border-box;
    padding: 2% 3%;
}

main #bottom #contact form .right {
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

main #bottom #contact form .right .form-part {
    width: 100%;
    height: 50%;
    border: 2px solid var(--lightblue);
    border-radius: 3px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-left: none;
    padding: 3% 2%;
    box-sizing: border-box;
    padding: 8% 10%;
}

main #bottom #contact form .right .form-part div {
    margin-bottom: 5%;
}

main #bottom #contact form .right .form-part input {
    width: 96%;
    height: 94%;
    border: none;
    background-color: var(--gray);
    font-family: "Roboto", sans-serif;
    font-size: 1vw;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    color: var(--white);
    border-radius: 3px;
    padding: 3%;
    margin-top: 1%;
}

@keyframes hds {
    50% {
        background-color: var(--orange);
    }

    100% {
        background-color: var(--pink);
    }
}

main #bottom #contact form .right .form-part>div:nth-of-type(4) {
    position: absolute;
    overflow: hidden;
    top: -13px;
    transform: scale(0.5);
    right: 2px;
    transform-origin: top right;
    border-radius: 2px;
}

main #bottom #contact form .right .form-part button#send {
    width: 80%;
    margin-left: 10%;
    border-radius: 3px;
    border: none;
    background: var(--orange);
    fill: var(--white);
    cursor: pointer;
    overflow: hidden;
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

@keyframes whoosh {
    0% {
        transform: translateX(0) rotate(0deg);
    }

    20% {
        transform: rotate(50deg);
    }

    100% {
        transform: translateX(750%) rotate(50deg);
    }

}

main #bottom #contact form .right .form-part button#send svg {
    width: 10%;
}

main #bottom #contact form .right .form-part button#send:hover {
    transform: scale(1.1);
}

main #bottom #contact form .right .form-part button#send.loading {
    animation: hds 1s ease-in-out 1 forwards;
}

main #bottom #contact form .right .form-part button#send.loading svg {
    animation: whoosh 1s ease-in 1 forwards;
}

main #bottom #contact form .external-links .linkedin svg path,
main #bottom #contact form .external-links .fiverr svg path {
    fill: var(--white);
}


main #bottom #contact form .external-links .instagram svg path,
main #bottom #contact form .external-links .github svg path {
    fill: var(--black);
}

main #bottom #contact form .external-links {
    width: 100%;
    flex-shrink: 0;
    padding: 4%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    height: 50%;
    border-left: 2px solid var(--lightblue);
    border-top: 2px solid var(--lightblue);
    border-top-left-radius: 3px;
    transform: translate(-2px, -2px);
    box-sizing: border-box;
}

main #bottom #contact form .external-links a {
    display: block;
    text-decoration: none;
    width: 47%;
    aspect-ratio: 1/1;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    margin-bottom: 6%;
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

main #bottom #contact form .external-links a:hover {
    transform: scale(1.05);
}

main #bottom #contact form .external-links a.linkedin {
    background-color: var(--lightblue);
}

main #bottom #contact form .external-links a.fiverr {
    background-color: var(--lightgreen);
}

main #bottom #contact form .external-links a.instagram {
    background-color: var(--pink);
}

main #bottom #contact form .external-links a.github {
    background-color: var(--washedwhite);
}

main #bottom #contact form .external-links a svg {
    width: 60%;
    height: 60%;
}

main #bottom #contact form .external-links .fiverr,
main #bottom #contact form .external-links .github {
    margin-bottom: 0;
}

footer {
    width: 100%;
    height: 5vh;
    flex-shrink: 0;
}

footer #wave {
    width: 100%;
    height: 100%;
    background-image: linear-gradient(90deg, #1e202d00 25%, #feecde 25%, #feecde 50%, #1e202d 50%, #1e202d 75%, #feecde 75%, #feecde 100%);
    background-size: 30.00px 30.00px;
    background-repeat: repeat;
}

/*
    Vertical phone screens
*/

@media (orientation : portrait) {
    header nav {
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    header nav #internal-links {
        width: 75%;
        margin-left: 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-bottom: 4%;
    }

    header nav #internal-links a {
        width: 46%;
        margin-bottom: 5%;
        display: flex;
        align-items: center;
        justify-content: center;
        height: auto;
        background-color: var(--orange);
        aspect-ratio: 1/1;
        border-bottom: 5px solid var(--pink);
    }

    header nav #internal-links a:nth-of-type(2n) {
        background-color: var(--orange);
    }

    header nav #internal-links a:nth-of-type(2),
    header nav #internal-links a:nth-of-type(3),
    header nav #internal-links a:nth-of-type(6) {
        background-color: var(--lightgreen);
        border-color: #d9d9d9;
    }

    header nav #internal-links a span {
        font-size: 5vw;
        padding-top: 0%;
        padding-left: 0%;
        display: block;
        position: relative;
        text-align: center;
        width: 100%;
        background-color: inherit;
    }

    header nav #internal-links a:nth-of-type(2n) span {
        background-color: inherit;
    }

    header nav #external-links {
        margin-left: 0;
        width: 35%;
    }

    header nav #external-links a {
        border-radius: 10px;
    }

    header #menu-handle svg {
        width: 30px;
        height: 30px;
        margin: 15px;
    }

    main #top {
        flex-direction: column;
    }

    main #top #main-art {
        width: 100%;
        aspect-ratio: 1/1;
        margin-bottom: 5%;
    }

    main #top #main-art .headlines h1 {
        font-size: 3.5vw;
        letter-spacing: 5.5vw;
        margin-bottom: 3%;
    }

    main #top #main-art .headlines .job {
        width: 60%;
    }

    main #top #main-art .headlines .job h2 {
        font-size: 3.4vw;
        letter-spacing: 2.5vw;
    }

    main #top #main-art .headlines .job .planet {
        margin-right: 1.2vw;
    }

    main #top #tech {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        margin-bottom: 5%;
    }

    main #top #tech .title {
        width: 80%;
        margin-left: 10%;
        margin-right: 10%;
        position: static;
        transform: none;
    }

    main #top #tech .title h2 {
        font-size: 3.4vw;
    }

    main #top #tech #tech-list {
        width: 100%;
        right: 0;
        position: static;
        transform: none;
        display: flex;
        align-items: center;
        justify-content: space-around;
    }

    main #top #tech #tech-list article {
        margin: 0;
    }

    main #top #exp {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        margin-bottom: 5%;
        min-height: auto;
    }

    main #top #exp::before,
    main #top #exp::after {
        display: none;
    }

    main #top #exp .title {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        position: relative;
        inset: 0;
        transform: none;
        box-sizing: border-box;
        padding: 2% 4%;
    }

    main #top #exp .title::after {
        content: "";
        display: block;
        border: 1px solid var(--lightblue);
        width: 100%;
        position: absolute;
        bottom: 0;
        left: 0;

    }

    main #top #exp .title h2 {
        font-size: 3.4vw;
        letter-spacing: 1.4vw;
        margin: 0;
    }

    main #top #exp #experiences {
        width: auto;
        position: static;
        min-height: auto;
        padding: 2% 3%;
    }

    main #top #exp #experiences article {
        font-size: 3.5vw;
    }

    main #middle {
        flex-direction: column;
    }

    main #middle #lang {
        width: 80%;
    }

    main #middle #lang .title {
        width: 100%;
    }

    main #middle #lang .title h2 {
        font-size: 4vw;
    }

    main #middle #diplomes {
        width: 80%;
        margin-top: 5%;
    }

    main #middle #diplomes .title {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        margin-bottom: 5%;
    }

    main #middle #diplomes .title h2 {
        font-size: 4vw;
    }

    main #middle #diplomes .diplomes {
        flex-direction: column;
        align-items: center;
    }

    main #middle #diplomes .diplomes>div {
        width: 80%;
        margin-bottom: 5%;
    }

    main #middle #diplomes .diplomes div .text {
        font-size: 2.3vw;
    }

    main #bottom {
        flex-direction: column;
    }

    main #bottom #concours {
        width: 100%;
    }

    main #bottom #concours>.title h2 {
        font-size: 4vw;
    }

    main #bottom #concours>.concours article .title .text h3 {
        font-size: 3.4vw;
    }

    main #bottom #concours>.concours #toeic .score .container .total,
    main #bottom #concours>.concours #mental-math .score .year,
    main #bottom #concours>.concours #kangourou .score .year {
        font-size: 7.2vw;
    }

    main #bottom #concours>.concours #toeic .score .container .over {
        font-size: 4.1vw;
    }

    main #bottom #contact {
        width: 100%;
        margin-bottom: 6%;
    }

    main #bottom #contact .title {
        width: 33%;
        padding: 1% 4% 1% 1%;
    }

    main #bottom #contact .title h2 {
        font-size: 4vw;
    }

    main #bottom #contact .title .waypoint {
        width: 10%;
        transform: translateY(-40%) scale(2);
    }

    main #bottom #contact form,
    main #bottom #contact form .right {
        flex-direction: column-reverse;
        height: auto;
        width: 100%;
    }

    main #bottom #contact form .message {
        width: 100%;
        border-radius: 3px;
        border-top-left-radius: 0;
        border-top-right-radius: 0;
        border: 2px solid var(--lightblue);
        border-top: none;
        padding: 3% 2%;
        margin-bottom: 5%;
        box-sizing: border-box;
    }

    main #bottom #contact form .message h3 {
        font-size: 3.4vw;
        margin-bottom: 1%;
    }

    main #bottom #contact form .message textarea {
        font-size: 3.4vw;
        min-height: 30vh;
    }

    main #bottom #contact form .right .form-part {
        width: 100%;
        height: auto;
        border-radius: 3px;
        border-radius: 0;
        border: 2px solid var(--lightblue);
        border-top: none;
        border-bottom: none;
        padding: 1% 2%;
        box-sizing: border-box;
    }

    main #bottom #contact form .right .form-part div {
        margin-bottom: 2%;
    }

    main #bottom #contact form .right .form-part h3 {
        font-size: 3.4vw;
        margin-bottom: 1%;
    }

    main #bottom #contact form .right .form-part input {
        font-size: 3.4vw;
        padding: 1% 2%;
        margin-top: 1%;
    }

    main #bottom #contact form .right .form-part button#send {
        width: 80%;
        margin-left: 10%;
        margin-top: 3%;
        border-radius: 3px;
        border: none;
        background: var(--orange);
        fill: var(--white);
        cursor: pointer;
        overflow: hidden;
        transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    }

    main #bottom #contact form .right .external-links {
        transform: none;
        border-top-right-radius: 3px;
        border-top-left-radius: 0;
        border-right: 2px solid var(--lightblue);
        flex-wrap: nowrap;
    }

    main #bottom #contact form .right .external-links a {
        width: 20%;
        margin-bottom: 0 !important;
        border-radius: 15px;
    }

    footer {
        height: 3vh;
    }
}

/*
Ultra wide screen
*/

@media (min-width: 2000px) {
    body{
        background-image: url("./src/img/background.jpg");
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        background-attachment: fixed;
        background-blend-mode: soft-light;
    }

    header nav{
        flex-direction: column;
        justify-content: space-evenly;
        align-items: baseline;
        padding: 2% 5%;
        position: relative;
        flex-wrap: wrap;
    }

    header nav #internal-links{
        width: 30%;
        margin: 0;
    }

    header nav #internal-links a span{
        font-size: 32px;

    }

    header nav #external-links{
        margin: 0;
        justify-content: center;
        width: 20%;
    }

    header nav #external-links a{
        width: 40%;
        margin: 5%;
    }
    
    header #menu-handle svg{
        position: fixed;
        inset: 0;
    }

    main {
        margin: 0 auto;
        max-width: 2000px;
        background-color: var(--background);
    }

    main #top #main-art .headlines h1 {
        font-size: 27px;
        letter-spacing: 55px;
    }

    main #top #main-art .headlines .job h2 {
        font-size: 27px;
        letter-spacing: 20px;
    }

    main #top #tech .title h2 {
        font-size: 27px;
        letter-spacing: 9px;
    }

    main #top #exp .title h2 {
        font-size: 27px;
        margin: 0;
        letter-spacing: 12px;
    }

    main #top #exp,
    main #top #exp #experiences {
        min-height: 75vh;
    }

    main #top #exp #experiences article {
        font-size: 22px;
    }

    main #middle {
        margin-bottom: 1%;
    }

    main #middle #lang .title h2,
    main #middle #diplomes .title h2 {
        font-size: 38px;
    }

    main #middle #diplomes .diplomes div .text {
        font-size: 13px;
    }

    main #bottom #concours>.title h2 {
        font-size: 38px;
    }

    main #bottom #concours>.concours article .title .text h3 {
        font-size: 27px;
    }

    main #bottom #concours>.concours #toeic .score .container .total,
    main #bottom #concours>.concours #mental-math .score .year,
    main #bottom #concours>.concours #kangourou .score .year {
        font-size: 60px;
    }

    main #bottom #concours>.concours #toeic .score .container .over {
        font-size: 34px;
    }

    main #bottom #contact{
        margin-top: 2%;
    }

    main #bottom #contact .title h2,
    main #bottom #contact form .message h3,
    main #bottom #contact form .prenom h3,
    main #bottom #contact form .nom h3,
    main #bottom #contact form .email h3{
        font-size: 38px;
    }

    main #bottom #contact form .message textarea,
    main #bottom #contact form .right .form-part input {
        font-size: 32px;
        font-weight: 300;
    }

    main #bottom #contact .form,
    main #bottom #contact form .right .form-part,
    main #bottom #contact form .external-links{
        height: auto;
    }

    main #bottom #contact form .right .form-part>div:nth-of-type(4) {
        top: -5px;
    }

    main #bottom #contact form .external-links{
        justify-content: center;
    }
    main #bottom #contact form .external-links a{
        width: 35%;
        margin: 0 4%;
        margin-bottom: 6%;
    }
 
    footer {
        max-width: 2000px;
        margin: 0 auto;
        background-color: var(--background);
    }
}


/*
Animations
*/

@keyframes slideInFromLeft {
    0% {
        transform: translateX(-10%);
    }

    100% {
        transform: translateX(0);
    }
}

@keyframes slideInFromRight {
    0% {
        transform: translateX(10%);
    }

    100% {
        transform: translateX(0);
    }
}

main {
    overflow-x: hidden;
}

main>section>section {
    transition: opacity var(--animation-length) ease-in-out;
    opacity: 0;
}


main>section>section.discovered {
    animation: slideInFromLeft var(--animation-length) ease-in-out 1 forwards;
    opacity: 1;
}

main>section>section.discovered:last-of-type {
    animation: slideInFromRight var(--animation-length) ease-in-out 1 forwards;
}

main #top #tech.discovered {
    animation: none;
}

@media screen and (orientation: portrait) {
    main>section>section.discovered {
        animation: slideInFromLeft var(--animation-length) ease-in-out 1 forwards;
        opacity: 1;
    }

    main>section>section.discovered:nth-of-type(2n) {
        animation: slideInFromRight var(--animation-length) ease-in-out 1 forwards;
        opacity: 1;
    }
}