/* Import de la font */
@font-face {
   font-family: 'Montserrat';
   src: url('../font/Montserrat-Regular.ttf');
   font-weight: normal;
   font-style: normal;
}

@font-face {
   font-family: 'Montserrat';
   src: url('../font/Montserrat-Medium.ttf');
   font-weight: 500;
   font-style: normal;
}

@font-face {
   font-family: 'Montserrat';
   src: url('../font/Montserrat-SemiBold.ttf');
   font-weight: 600;
   font-style: normal;
}

@font-face {
   font-family: 'Montserrat';
   src: url('../font/Montserrat-Bold.ttf');
   font-weight: 700;
   font-style: normal;
}

@font-face {
   font-family: 'Montserrat';
   src: url('../font/Montserrat-Light.ttf');
   font-weight: 300;
   font-style: normal;
}

@font-face {
   font-family: 'Montserrat';
   src: url('../font/Montserrat-ExtraBold.ttf');
   font-weight: 800;
   font-style: normal;
}

/* Reset de la page */
* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
   text-decoration: none;
   font-family: 'Montserrat';
   font-weight: 500;
}

/* Variable */
:root {
   --primary-color: #6829e5;
   --text-color: #000;
}

/* Title style */
.contact-content-header {
   display: flex;
   flex-direction: column;
   align-items: center;
   margin-top: 150px;
   padding: 50px;
   padding-top: 70px;
   padding-bottom: 70px;
}

.contact-content-header h1 {
   width: 60%;
   text-align: center;
}

.contact-content-header h1,
.contact-content-header h1 span {
   font-size: 54px;
   font-weight: 700;
   letter-spacing: -3px;
}

.contact-content-header h1 span {
   color: var(--primary-color);
}

/* Formulaire */
.contact-form {
   display: flex;
   justify-content: center;
   height: 100vh;
}

.form-group {
   position: relative;
   margin: 1.5rem 0;
}

.form-group input,
.form-group textarea {
   padding: 0.8rem 0.5rem;
   font-size: 1rem;
   border: 1px solid #ccc;
   border-radius: 4px;
   outline: none;
}

.info label {
   position: absolute;
   top: 50%;
   left: 0.5rem;
   transform:  translateY(-50%);
   background: #fff;
   padding: 0 0.25rem;
   color: #666;
   transition: top 0.2s ease-out, font-size 0.2s ease-out, color 0.2s ease-out;
   pointer-events: none;
}

.message label {
   position: absolute;
   top: 15%;
   left: 0.5rem;
   transform:  translateY(-50%);
   background: #fff;
   padding: 0 0.25rem;
   color: #666;
   transition: top 0.2s ease-out, font-size 0.2s ease-out, color 0.2s ease-out;
   pointer-events: none;
}

.form-group input:focus + label,
.form-group textarea:focus + label {
   top: -5px;
   transform: none;
   font-size: 0.75rem;
   color: var(--primary-color);
}

.form-group input:not(:placeholder-shown) + label,
.form-group textarea:not(:placeholder-shown) + label {
   top: -0.6rem;
   transform: none;
   font-size: 0.75rem;
   color: var(--primary-color);
}

.info input,
.message textarea {
   width: 400px;
}

.message textarea {
   height: 150px;
   top: -0.6rem;
   left: 0.5rem;
   outline: none;
   resize: none;
}

.btn {
   background-color: var(--primary-color);
   border: none;
   color: #fff;
   padding: 10px;
   font-size: 15px;
   border-radius: 5px;
   cursor: pointer;
   width: 100%;
}

@media (max-width: 768px) {
   /* Title style */
   .contact-content-header {
      padding: 5px;
      padding-top: 15px;
      padding-bottom: 15px;
   }
   
   .contact-content-header h1 {
      text-align: center;
   }
   
   .contact-content-header h1,
   .contact-content-header h1 span {
      font-size: 34px;
      font-weight: 700;
      letter-spacing: -2px;
   }

   /* Formulaire */
   .contact-form form {
      padding-left: 10px;
      padding-right: 10px;
   }
   
   .info input,
   .message textarea {
      width: 360px;
   }
}

@media (max-width:360px) {
   .info input,
   .message textarea {
      width: 300px;
   }
}