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

html {
  font-size: 62.5%; }

body {
  font-family: var(--font-family);
  color: var(--text);
  font-size: 1.6rem; }

p {
  margin: 1rem 0; }

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 1rem 0 2rem 0; }

h3 {
  color: var(--hint); }

h1,
h2 {
  color: var(--title-color); }

ul {
  list-style: none; }

a {
  color: var(--text);
  text-decoration: none; }

img {
  max-width: 100%; }

header,
img,
aside,
footer,
main {
  border: 0; }

.mb-5 {
  margin-bottom: 5rem !important; }

.mb-2 {
  margin-bottom: 2rem !important; }

.title-small {
  letter-spacing: 0.5rem;
  font-size: 2.5rem; }
  .title-small:before {
    content: "";
    position: absolute;
    width: 50px;
    height: 3px;
    background-color: var(--light); }

.profil {
  filter: grayscale(100%); }

.work {
  color: var(--hint); }

h4 {
  color: var(--h4-color); }

@keyframes bounce {
  0% {
    transform: rotate(-45deg); }
  70% {
    transform: rotate(20deg); }
  80% {
    transform: rotate(-10deg); }
  90% {
    transform: rotate(5deg); }
  100% {
    transform: rotate(0deg); } }

/* Landscape phones and down */
/* Landscape phone to portrait tablet */
/* Portrait tablet to landscape and desktop */
/* Large desktop */
.carousel {
  padding: 0;
  position: relative; }

.carousel__container {
  white-space: nowrap;
  margin: 5rem 0;
  padding-bottom: 1rem; }

.carousel__item {
  background-color: palevioletred;
  width: 15rem;
  height: 20rem;
  border-radius: 2rem;
  overflow: hidden;
  margin-right: 1rem;
  display: inline-block;
  cursor: pointer;
  transition: 450ms all;
  transform-origin: center left; }

.carousel__item:hover ~ .carousel__item {
  transform: translate3d(60px, 0, 0); }

.carousel__container:hover .carousel__item {
  opacity: 0.3; }

.carousel__container:hover .carousel__item:hover {
  transform: scale(1.3);
  opacity: 1; }

.item1 {
  background-image: url(../img/prime-SOMEMARK.png);
  background-size: cover;
  background-position: top center; }

.item2 {
  background-image: url("https://pbs.twimg.com/profile_images/790940197252890625/jGselWVN_400x400.jpg");
  background-size: cover;
  background-position: top center; }

.item3 {
  background-image: url(../img/journal-du-lundi.png);
  background-size: cover;
  background-position: top center; }

.item4 {
  background-image: url(../img/LieuDor.png);
  background-size: cover;
  background-position: top center; }

.item5 {
  background-image: url(../img/cafeFlorette.png);
  background-size: cover;
  background-position: top center; }

.item6 {
  background-image: url(../img/miniGame.png);
  background-size: cover;
  background-position: top center; }

.item7 {
  background-image: url("https://img.aws.la-croix.com/2019/11/24/1201062387/Photo-dillustration-grand-gagnant-vente-encheres-Artcurial-samedi-22-novembre-lauteur-BD-Enki-Bilal_0_1400_933.jpg");
  background-size: cover;
  background-position: top center; }

.skills {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  margin-bottom: 5rem; }
  .skills .liwrap {
    border-radius: 20%;
    width: 10rem;
    height: 10rem;
    background: white;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 2rem; }
  .skills .img-skills {
    width: auto;
    border-radius: 0;
    margin-top: 2rem;
    margin-right: 0; }
  .skills .sass {
    width: 7rem; }
  .skills .text-hint {
    color: var(--hint); }
  @media (max-width: 480px) {
    .skills .skills {
      width: 20%; }
    .skills .img-skills {
      width: 7rem;
      height: 5rem; } }

.grid-container {
  display: grid;
  min-height: 100vh;
  grid: "picture header" auto "aside main" 1fr "footer footer" auto / 350px auto; }
  @media (max-width: 480px) {
    .grid-container {
      grid: "picture" auto "header" auto "aside" auto "presentation" auto "main" auto "footer" auto / auto; } }

header {
  grid-area: header;
  background: linear-gradient(to right, var(--primary), var(--light));
  padding: 10rem 5rem;
  text-align: center;
  color: white;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; }
  @media (max-width: 480px) {
    header {
      padding: 0rem 0rem;
      margin: 0;
      background: linear-gradient(to top, var(--primary), var(--light));
      border: 0; } }
  header h1 {
    font-size: 6rem;
    line-height: 8rem;
    font-weight: 300;
    letter-spacing: 3rem;
    color: var(--title-color); }
    @media (max-width: 480px) {
      header h1 {
        font-size: 2rem;
        line-height: 3rem;
        margin: 0; } }
    header h1 span {
      display: inline-block;
      animation: bounce 2s; }
  header p {
    font-size: 3rem;
    letter-spacing: 0.5rem; }
    @media (max-width: 480px) {
      header p {
        font-size: 1.5rem;
        border: 0; } }

.picture {
  grid-area: picture;
  padding: 6rem;
  background: var(--primary); }
  .picture img {
    border-radius: 50%; }
  @media (max-width: 480px) {
    .picture {
      padding: 0rem;
      display: flex;
      justify-content: center;
      align-content: center;
      background: linear-gradient(to bottom, var(--primary), var(--light));
      border: 0; }
      .picture img {
        max-width: 75%; } }

aside {
  grid-area: aside;
  background: linear-gradient(to bottom, var(--primary), var(--light));
  border-right: 1px solid var(--border);
  padding: 5rem;
  color: var(--text-white); }
  aside .block {
    margin-bottom: 5rem; }
    aside .block h3 {
      margin-bottom: 0;
      font-size: 1.4rem; }
    aside .block p {
      margin: 0 0 2rem 0;
      font-style: italic; }
  aside .icon {
    display: flex;
    align-items: center;
    width: 100%;
    margin-bottom: 0.9em; }
  aside img {
    width: 5rem;
    height: 5rem;
    background: white;
    border-radius: 50%;
    margin-right: 0.5em; }
  aside .title-small {
    display: flex;
    justify-content: center; }
  aside .hobbies {
    display: flex;
    justify-content: center; }
  aside .hobbies img {
    width: 10rem;
    height: 10rem;
    margin-top: 2rem; }
    aside .hobbies img:hover {
      transform: scale(1.5);
      margin-top: 3rem;
      margin-bottom: 2rem; }
  @media (max-width: 480px) {
    aside {
      padding: 0;
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      justify-content: center;
      border: 0; }
      aside h2 {
        font-size: 3rem !important; }
      aside .icon {
        justify-content: center; }
      aside img {
        width: 10rem;
        height: 10rem;
        margin-top: 2rem; }
      aside .text {
        display: none; }
      aside .block {
        padding: 1rem; } }

main {
  grid-area: main;
  padding: 5rem; }
  main h2 {
    margin-bottom: 4rem; }
  main p {
    letter-spacing: 0.1rem;
    line-height: 3rem; }
  main .experience {
    display: flex;
    margin: 6rem 0; }
    main .experience .timeline {
      text-align: center;
      color: var(--title-color);
      padding-right: 2rem;
      border-right: 1px solid var(--border); }
      main .experience .timeline p {
        margin: 0; }
    main .experience .content {
      padding: 0 1rem; }
      main .experience .content h3 {
        margin: 0;
        color: var(--title-color); }
      main .experience .content p {
        margin: 0; }
      main .experience .content .text-hint {
        color: var(--light); }
      main .experience .content ul {
        margin: 2rem 0;
        list-style: circle;
        color: var(--hint);
        padding-left: 4rem; }
  @media (max-width: 480px) {
    main {
      padding: 2rem;
      font-size: 1.4rem;
      border: 0; } }

footer {
  grid-area: footer;
  display: flex;
  flex-direction: column;
  text-align: center;
  justify-content: center;
  align-items: center;
  color: var(--title-color);
  padding-top: 1rem;
  background: linear-gradient(to top, var(--primary), var(--light)); }
  @media (max-width: 480px) {
    footer {
      display: none; } }
