@charset "UTF-8";
* {
  font-family: 'Poppins', sans-serif;
  box-sizing: border-box; }

html {
  position: relative;
  min-height: 100%; }

body {
  margin: 0;
  padding: 0; }

p {
  line-height: 1.5; }

.hidden {
  visibility: hidden; }

.none {
  display: none; }

.red {
  color: #FF5050;
  font-weight: bold; }

.underline-red {
  font-weight: 600;
  border-bottom: 5px solid #FF5050; }

h2:not(.contact-title) {
  overflow: hidden; }
  h2:not(.contact-title):after {
    content: "";
    display: inline-block;
    height: 0.5em;
    vertical-align: sub;
    width: 100%;
    margin-right: -100%;
    margin-left: 10px;
    border-top: 2px solid #FF5050; }

section {
  padding: 1em 3em; }

.alert {
  padding: 20px;
  color: #FFFFFF;
  transition: opacity 0.6s; }

@media screen and (max-width: 991px) {
  .alert {
    width: 100%;
    margin: 15px auto; } }
@media screen and (min-width: 992px) {
  .alert {
    width: 75%;
    margin: 15px auto; } }
.alert-danger {
  background-color: #FF5050; }

.alert-success {
  background-color: #50D890; }

.close-btn {
  margin-left: 15px;
  color: #FFFFFF;
  font-weight: bold;
  float: right;
  font-size: 22px;
  line-height: 20px;
  cursor: pointer;
  transition: 0.3s; }
  .close-btn:hover {
    color: black; }

/******************************************* MENU *******************************************/
nav {
  background-color: #0E0C38;
  overflow-x: hidden; }
  nav li {
    list-style-type: none; }
    nav li a {
      color: #FFFFFF;
      text-decoration: none;
      font-weight: 500; }
  nav .btn-red {
    background-color: #FF5050;
    color: #FFFFFF;
    border: 1px solid #FF5050;
    border-radius: 60px;
    padding: 1em 2em; }
    nav .btn-red:hover {
      background-color: rgba(255, 80, 80, 0.8);
      border: 1px solid rgba(255, 80, 80, 0.8);
      color: #FFFFFF; }

/********************************** VERSION MOBILE DU MENU **********************************/
@media screen and (max-width: 991px) {
  .btn-mobile {
    border: none;
    cursor: pointer;
    background: none;
    margin: 1em; }
    .btn-mobile .bar1, .btn-mobile .bar2, .btn-mobile .bar3 {
      width: 25px;
      height: 3px;
      background-color: #FFFFFF;
      margin: 5px 0;
      transition: 0.4s;
      display: block;
      border-radius: 10px; }

  .change .bar1 {
    transform: rotate(-45deg) translate(-7px, 10px);
    -webkit-transform: rotate(-45deg) translate(-7px, 10px); }

  .change .bar2 {
    opacity: 0; }

  .change .bar3 {
    transform: rotate(45deg) translate(-1px, -4px);
    -webkit-transform: rotate(45deg) translate(-1px, -4px); }

  .menu-links {
    display: none; }
    .menu-links li {
      padding: 1em 0; }

  ul.show {
    display: block; }

  .fa-circle-xmark {
    color: #FFFFFF;
    position: absolute;
    top: 15px;
    right: 15px; } }
/********************************** VERSION DESKTOP DU MENU **********************************/
@media screen and (min-width: 992px) {
  .btn-mobile, .fa-circle-xmark {
    display: none !important; }

  .menu-links {
    display: flex;
    justify-content: flex-end; }
    .menu-links li {
      margin: 1em; } }
.row {
  display: flex;
  flex-wrap: wrap; }

.third {
  margin-bottom: 1em; }

@media screen and (max-width: 991px) {
  .third {
    width: 100%; } }
@media screen and (min-width: 992px) {
  .third {
    width: 33.3333333333%; } }
/********************************** HEADER **********************************/
.header {
  background: linear-gradient(91deg, #0E0C38 0%, #0E0C3800 100%), url("../images/code-symfony.png") 0% 0% no-repeat padding-box; }
  .header h1 {
    font-size: 2em;
    margin: 0; }
  .header:not(.red) {
    color: #FFFFFF; }
  .header ul {
    margin-left: -2.5em; }
    .header ul li {
      list-style-type: none;
      margin: 1em 0; }
      .header ul li::before {
        content: "";
        height: 37px;
        vertical-align: middle;
        width: 38px;
        background-image: url("../images/circle-check-solid.png");
        display: inline-block;
        margin-right: 10px; }

/********************************** À propos **********************************/
.about {
  background-color: #000C50CC;
  color: #FFFFFF; }
  .about a:not(.btn-paper) {
    margin-right: 1em;
    color: #FFFFFF; }
  .about a.btn-paper {
    display: block;
    text-align: center;
    margin: 2em auto;
    text-decoration: none;
    background-color: #FF5050;
    color: #FFFFFF;
    border: 1px solid #FF5050;
    border-radius: 30px;
    padding: 1em 0; }
    .about a.btn-paper:hover {
      background-color: rgba(255, 80, 80, 0.8);
      border: 1px solid rgba(255, 80, 80, 0.8);
      color: #FFFFFF; }

@media screen and (max-width: 991px) {
  a.btn-paper {
    width: 100%; }

  .email {
    word-break: break-all; } }
@media screen and (min-width: 992px) {
  a.btn-paper {
    width: 25%; } }
/********************************** Expériences **********************************/
.projects {
  background-color: #0E0C38;
  color: #FFFFFF; }
  .projects img {
    width: 100%; }
  .projects a {
    text-align: center;
    margin: 2em auto;
    text-decoration: none;
    background-color: #69CD40;
    color: #FFFFFF;
    border: 1px solid #69CD40;
    border-radius: 10px;
    padding: 1em; }
    .projects a:hover {
      background-color: #FFFFFF;
      border-color: #69CD40;
      color: #69CD40; }

/********************************** Expériences **********************************/
.experiences {
  background-color: #000C50CC; }
  .experiences:not(.red) {
    color: #FFFFFF; }
  .experiences .timeline {
    width: 100%;
    margin: auto;
    display: block;
    position: relative; }
    .experiences .timeline ul {
      display: inline-block;
      margin: 20px 0;
      padding: 0; }
      .experiences .timeline ul .timeline-item-first {
        list-style-type: none;
        margin: auto;
        height: 90px;
        border-left: 1px solid #FF5050;
        padding: 1px 0 50px 30px;
        position: relative; }
      .experiences .timeline ul .timeline-item {
        list-style-type: none;
        margin: auto;
        min-height: 50px;
        border-left: 1px solid #FF5050;
        padding: 1px 0 50px 30px;
        position: relative; }
        .experiences .timeline ul .timeline-item::before {
          position: absolute;
          left: -18px;
          top: -5px;
          content: "";
          border: 8px solid #FF5050;
          border-radius: 500%;
          background: #FF5050;
          height: 20px;
          width: 20px; }
  @media screen and (max-width: 991px) {
    .experiences .timeline-item, .experiences .timeline-item-first {
      margin-left: 0 !important; } }
  @media screen and (min-width: 992px) {
    .experiences .timeline-item, .experiences .timeline-item-first {
      margin-left: 200px !important; }
    .experiences .date {
      position: absolute;
      width: 100px;
      left: -40%;
      text-align: right; }
    .experiences .experience {
      margin-top: -20px; } }

/********************************** Compétences **********************************/
.skills {
  background-color: #0E0C38;
  color: #FFFFFF; }

/********************************** Formulaire de contact **********************************/
.contact {
  background-color: #000C50CC;
  color: #FFFFFF; }
  .contact h2.contact-title {
    text-align: center;
    padding-bottom: .5em;
    border-bottom: 1px solid #FF5050; }
  @media screen and (max-width: 991px) {
    .contact h2.contact-title {
      width: 100%;
      margin: auto; }
    .contact form {
      width: 100%;
      margin: 3em auto; }
      .contact form .input-row {
        display: flex;
        flex-direction: column; }
    .contact button[type=submit] {
      width: 100%; } }
  @media screen and (min-width: 992px) {
    .contact h2.contact-title {
      width: 20%;
      margin: auto; }
    .contact form {
      width: 80%;
      margin: 3em auto; }
      .contact form .input-row {
        display: flex;
        justify-content: space-around; }
    .contact button[type=submit] {
      width: 30%; } }
  .contact .input-row {
    margin-bottom: 20px; }
    .contact .input-row .input-group {
      flex-basis: 45%;
      margin-bottom: 10px; }
      .contact .input-row .input-group input {
        width: 100%;
        border-radius: 8px; }
        .contact .input-row .input-group input:focus {
          border-color: #0E0C38; }
    .contact .input-row .textarea-group {
      flex-basis: 95%; }
      .contact .input-row .textarea-group textarea {
        width: 100%;
        border-radius: 8px; }
  .contact input, .contact textarea {
    margin-top: 5px;
    padding: 12px 20px; }
  .contact button[type=submit] {
    background-color: #FF5050;
    color: #FFFFFF;
    border: 1px solid #FF5050;
    border-radius: 30px;
    padding: 15px 8px;
    display: block;
    margin: 1em auto;
    cursor: pointer; }
    .contact button[type=submit]:hover {
      background-color: rgba(255, 80, 80, 0.8);
      border: 1px solid rgba(255, 80, 80, 0.8);
      color: #FFFFFF; }

.btn-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background-color: #FF5050;
  color: #FFFFFF;
  cursor: pointer;
  border: 1px solid #FF5050;
  border-radius: 50%;
  padding: 15px 20px; }
  .btn-top:hover {
    background-color: rgba(255, 80, 80, 0.8); }

footer {
  background-color: #0E0C38;
  color: #FFFFFF;
  text-align: center;
  padding: 2em; }

/*# sourceMappingURL=style.css.map */
