/* || Colours */
/* || Text */
.text--highlight {
  font-weight: 900;
  display: block; }

/* || General styles */
.contact-form-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 25px; }

.contact-form {
  width: 80%;
  max-width: 500px;
  margin: 0 10%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; }
  .contact-form label {
    display: block;
    width: 100%;
    margin: 3% 0 1% 0;
    font-family: Roboto, san-serif;
    font-size: 1rem; }
  .contact-form input {
    margin-bottom: 10px;
    background-color: #ffffff; }
  .contact-form input[type='text'],
  .contact-form input[type='email'],
  .contact-form textarea {
    width: 100%;
    border: 2px solid #ccc;
    padding: 8px 5px;
    font-family: Roboto, san-serif; }
    .contact-form input[type='text']:focus,
    .contact-form input[type='email']:focus,
    .contact-form textarea:focus {
      outline: none;
      border-color: #ed8eba; }
  .contact-form textarea {
    resize: none; }
  .contact-form :invalid {
    border-color: red !important;
    background: #faacac; }
  .contact-form .contact-form__button {
    text-align: center;
    width: 50%; }
    .contact-form .contact-form__button button {
      display: flex;
      justify-content: center;
      align-items: center;
      border: none;
      width: 100%;
      height: 50px;
      padding: 4% 10%;
      margin-top: 50px;
      font-family: Roboto, san-serif;
      font-weight: 900;
      font-size: 1rem;
      text-transform: uppercase;
      color: white;
      background: #ed8eba; }
      .contact-form .contact-form__button button:hover {
        cursor: pointer;
        background: #fca5ce;
        text-shadow: none;
        color: white; }
      .contact-form .contact-form__button button:focus {
        outline: none; }

.contact-details-section {
  display: grid;
  grid-template-rows: repeat(4, [row-start] 1fr [row-end]); }

.contact-details:not(:first-child) {
  margin: 50px 0; }

.contact-details {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; }

.contact-details__text {
  text-align: center; }

.contact-details__logo-image {
  width: 75px;
  height: auto; }

.contact-details__social-media {
  text-align: center;
  width: 80%;
  max-width: 530px;
  margin-top: 2%; }
  .contact-details__social-media i {
    color: #424b54;
    margin: 0 8%;
    transition: color 0.2s;
    font-size: 15px; }

/* || Media queries */
@media (min-width: 1024px) {
  /* General */
  .contact-details-section {
    grid-template-rows: 2fr;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 50px; }
    .contact-details-section .contact-details {
      margin: 0; } }

@media (min-width: 1280px) {
  /* General */
  .contact-details-section {
    grid-template-rows: 1fr;
    grid-template-columns: repeat(4, 1fr); } }
