/* GLOBAL VARIABLES */
:root {
  --clr-deco: DarkCyan;
  --clr-style-1: rgb(218, 29, 129);
  --clr-style-2: rgb(57, 174, 186);
  --clr-footer: rgba(34, 47, 71, 100%);

  --clr-body-bg: hsl(0 0% 90%);
  --clr-nav-bg: black;
  --clr-card-bg: hsl(0 0% 100%);
  --clr-text: hsl(0 0% 15%);
  --clr-heading: hsl(0 0% 25%);

  --font-text: "M Plus 1", san-serif; /* Document text*/
  --text-font-1: "M PLUS 1 Code", monospace; /*Not important section*/
  --text-font-2: "Playpen Sans", sans-serif; /* Skinny text*/
  --font-fancy-stye: "Lobster", sans-serif; /* Fancy style*/

  --heading-size: 3rem;
  --sub-heading-size: 1rem;
  --text-size: 1em;
  --text-size-2: 0.1em;
}

section#connect {
  --local-sub-heading: 2rem;
  --local-sub-sub-heading: 1.4rem;
  width: 100% !important;
  height: 100% !important;

  main {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 20px;
    max-width: 97% !important;
    padding-bottom: 50px !important;
    padding-inline: auto;

    & h2 {
      font-family: var(--text-font-1);
      font-size: var(--local-sub-heading);
      font-weight: 900;
      color: var(--clr-heading);
    }
    & h2::first-letter {
      color: var(--clr-deco);
      text-decoration: underline;
    }

    /*** ALL ARTICLE ELEMENTS */
    & article {
      border-radius: 12px;
      margin-bottom: 50px;
      padding-bottom: 70px !important;
      margin-inline: auto;
      width: 100%;
    }

    & article#blog {
      & h1 {
        font-size: 7rem;
        text-wrap: wrap !important;
        text-align: center;

        & i {
          font-size: 7.4rem !important;
          border: 5px solid var(--clr-deco);
          border-radius: 50%;
          padding: 30px;
        }
      }
    }

    section#contacts {
      & p {
        color: var(--clr-text);
        font-size: 1.1rem;

        span {
          color: var(--clr-deco);
        }
      }
      & .contact-row {
        margin-top: 50px;
        display: flex;
        gap: 30px;
        padding: 10px;
        /* width: 100%; */

        & .contact-left {
          flex-basis: 40%;
          min-width: 40%;
          box-shadow: 0 0 3px var(--clr-heading);
          border-radius: 4px;
          padding-left: 10px;
        }
        & .icon-box {
          display: flex;
          gap: 15px;
          align-items: center;
          margin: 20px 0;

          & .icon {
            width: 50px;
            height: 50px;
            border-radius: 50px;
            border: 2px solid var(--clr-deco) !important;
            text-align: center;
            line-height: 47px;
            font-size: 20px;
            color: var(--clr-deco);
            transition: 0.5s;
            cursor: pointer;

            & i {
              width: 50px;
              height: 50px;
              border-radius: 2px solid var(--clr-deco);
              text-align: center;
              font-size: 1.2rem;
              color: var(--clr-deco);
              transition: 0.5s;
            }
          }

          & h4 {
            --sub-heading-size-2: 1.2em;
            font-size: var(--sub-heading-size-2);
            color: var(--clr-heading);
            font-weight: 600;
          }

          & p {
            color: var(--clr-text);
            font-size: 1em;
            font-weight: 500;
          }
        }

        & .contact-right {
          flex-basis: 55%;
          min-width: 55%;
          background-color: var(--bgColor);
          box-shadow: 0 0 20px var(--clr-heading);
          border-radius: 4px;
          padding: 10px;

          & form {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin: 20px 0;
            overflow: hidden;

            & input {
              width: 97%;
            }
          }
        }
      }
    }
    section#contacts .contact-row .contact-left .icon-box:hover .icon {
      background-color: var(--themeColor);
      color: var(--bgColor);
    }
    section#contacts .contact-row .contact-left .icon-box .icon i:hover {
      color: white;
      transition: 0.4s;
    }

    #contacts .contact-row .contact-right form input,
    #contacts .contact-row .contact-right form textarea {
      width: 100%;
      font-size: 1.2rem;
      font-weight: 500;
      color: black;
      padding: 10px 20px;
      border: 2px solid lightgrey;
      border-radius: 2px;
      outline: none;
      resize: none;
      transition: 0.5s;
      margin-inline: aut0;
      font-family: var(--text-font-1);
    }

    #contacts .contact-row .contact-right form input:focus,
    #contacts .contact-row .contact-right form textarea:focus {
      border-color: var(--clr-deco);
    }

    #contacts .contact-row .contact-right form input[type="submit"] {
      background-color: var(--clr-deco);
      color: #fff;
      font-style: var(--text-font-1);
      font-size: 1.2rem;
      letter-spacing: 0.5rem;
      font-weight: 400;
      cursor: pointer;
    }

    & article#mail {
      div {
        margin-bottom: 50px !important;
        display: flex;
        background-color: lightgray !important;
        justify-content: space-between;
        align-items: center;
        padding: 10px;
        margin-left: 10px;
        & i {
          font-size: 3rem;
          padding: 15px;
          display: flex;
          flex-direction: column;
          align-items: center;
          margin-bottom: 10px;
          text-align: center;
          transition: all 0.7s ease-in-out;

          & a {
            display: flex;
            justify-content: center;
            width: 50px;
            height: 50px;
            font-size: 3.4rem;
            text-align: center;
            transition: all 0.7s ease-in-out;
            text-align: center;
            color: rgb(121, 121, 121) !important;
            text-decoration: none !important;
            margin-top: 5px;
          }
        }

        a:hover {
          border: 3px solid var(--clr-deco);
          border-radius: 50%;
          padding: 20px;
          transition: all 0.7s ease-in-out;
        }
      }
    }

    & article#socials {
      width: 100%;
      gap: 10px;

      div {
        gap: 10px;
        height: 100% !important;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: lightgray !important;

        & a {
          margin-inline: auto !important;
          padding: 10px;
        }
        & i {
          font-size: 4.5rem;
          padding: 10px;
          color: rgb(121, 121, 121) !important;
        }
      }
    }
  }
}

@media screen and (max-width: 1150px) {
  section#connect {
    box-sizing: border-box;
    width: max-content;

    & main {
      display: grid;
      grid-template-columns: 1fr;
      gap: 90px;
      width: 100%;
      padding: 10px;
      margin-bottom: 70px !important;
    }

    & article {
      padding: 0;
      margin-bottom: 20px;
      width: 95%;
    }

    & article#blog {
      padding: 0;
      & h1 {
        font-size: 3rem;
        text-wrap: wrap !important;

        & i {
          font-size: 5rem !important;
        }
      }
    }

    & article#contact {
      padding: 0 !important;
      margin: 0 !important;

      & .contact-row {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: 20px;
      }

      & .icon-box {
        display: flex;
        gap: 15px;
        align-items: center;
        margin: 30px 0;

        & .icon {
          width: 50px;
          height: 50px;
          text-align: center;
          font-size: 20px;
        }

        div.info {
          margin-left: 10px !important;

          & h4 {
            --sub-heading-size-2: 1.2rem;
            font-size: var(--sub-heading-size-2);
            color: var(--clr-heading);
            font-weight: 600;
          }

          & p {
            color: var(--clr-text);
            font-size: 1rem;
            font-weight: 500;
            text-wrap: 10px;
          }
        }
      }
    }

    & article#mail {
      div {
        margin-bottom: 50px !important;
        & i {
          font-size: 2.4rem;
          padding: 15px;

          & a {
            font-size: 1.4rem !;
          }
        }
      }
    }

    & article#socials {
      width: 100%;
      gap: 10px;

      div {
        gap: 10px;
        height: 100% !important;

        & a {
          margin-inline: auto !important;
          padding: 10px;
        }
        & i {
          font-size: 2.3rem;
          padding: 10px;
        }
      }
    }
  }
}

@media screen and (max-width: 900px) {
  & article {
    margin-bottom: 0px !important;
    padding: 0px !important;
  }

  & article#mail {
    padding: 0;
    margin: 0;
    height: 100% !important;

    div {
      display: flex;
      flex-direction: column;
      height: 100% !important;
      padding: 0;
      gap: 40px !important;

      & i {
        font-size: 2.2rem !important;
        margin: 0 !important;
        padding: 0;
        display: flex !important;
        flex-direction: column;
        justify-content: center;
        text-align: center;

        & a {
          font-size: 1.6rem;
          margin-left: 20px;
          color: var(--clr-deco) !important;
        }
      }
    }
  }

  section#contacts {
    padding: 10px;
  }
  section#contacts .contact-row {
    flex-direction: column;
    gap: 40px;
  }

  & article#socials {
    height: 100% !important;
    width: 95% !important;
    margin-bottom: 60px !important;

    div {
      display: grid !important;
      grid-template-columns: repeat(2, 1fr);
      justify-content: center !important;
      height: 100% !important;
      gap: 10px;
      & a {
        padding: 10px;
      }
      & i {
        font-size: 4rem !important;
        padding: 10px;
      }
    }
  }
}
