@font-face {
        font-family: 'Plain';
        src: url('../localfonts/Plain-Regular.woff2') format('woff2'),
            url('../localfonts/Plain-Regular.woff') format('woff');
        font-weight: normal;
        font-style: normal;
    }

    @font-face {
        font-family: 'Plain';
        src: url('../localfonts/Plain-Light.woff2') format('woff2'),
            url('../localfonts/Plain-Light.woff') format('woff');
        font-weight: 300;
        font-style: normal;
    }

    @font-face {
        font-family: 'Plain';
        src: url('../localfonts/Plain-Bold.woff2') format('woff2'),
            url('../localfonts/Plain-Bold.woff') format('woff');
        font-weight: bold;
        font-style: normal;
    }

    :root {
      --primary-color:        #ffd500;
      --white-color:          #ffffff;
      --dark-color:           #010101;
      --menu-bg-color:        #212529;

      --gray-color:           #909090;
      --p-color:              #7d7a7a;

      --base-font-family:     "Plain", -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
      --font-weight-bold:     600;
      --font-weight-normal:   400;
      --font-weight-light:    300;

      --h1-font-size:         56px;
      --h2-font-size:         48px;
      --h3-font-size:         38px;
      --h4-font-size:         34px;
      --h5-font-size:         30px;
      --h6-font-size:         24px;
      --p-font-size:          18px;
      --base-font-size:       16px;
      --button-font-size:     20px;

      --border-radius-large:  100%;
      --border-radius-medium: 40px;
      --border-radius-small:  40px;
    }


    body {
      font-family: var(--base-font-family);
    }


    /*---------------------------------------
       TYPOGRAPHY              
    -----------------------------------------*/

    h1 {
      font-size: var(--h1-font-size);
    }

    h1,
    h3 {
      font-weight: var(--font-weight-light);
    }

    h2 {
      font-size: var(--h2-font-size);
    }

    h3 {
      font-size: var(--h3-font-size);
    }

    h4 {
      font-size: var(--h4-font-size);
    }

    h5 {
      font-size: var(--h5-font-size);
    }

    h6 {
      font-weight: var(--font-weight-bold);
      font-size: var(--h6-font-size);
    }

    p {
      color: var(--p-color);
      font-size: var(--p-font-size);
      font-weight: var(--font-weight-light);
      letter-spacing: 0.3px;
      line-height: 2em;
    }

    .section-padding {
      padding: 6rem 0;
    }

    .custom-icon {
      font-size: 12px;
      position: relative;
      bottom: 3px;
      left: 5px;
      transform: rotate(-25deg);
    }


    /* CUSTOM BUTTON */
    .custom-btn {
      background: var(--dark-color);
      border: none;
      border-radius: var(--border-radius-medium);
      color: var(--white-color);
      letter-spacing: 0.2px;
      padding: 6px 36px 10px 36px;
      font-size: var(--button-font-size);
      white-space: nowrap;
    }

    .custom-btn:hover,
    .custom-btn:focus {
      color: var(--dark-color);
      background: var(--primary-color);
    }


    /*---------------------------------------
       GENERAL               
    -----------------------------------------*/

    * {
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
    }

    *::before,
    *::after {
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
    }

    a {
      color: var(--dark-color);
      text-decoration: none;
      transition: all 0.4s linear;
    }

    a:hover  {
      color: var(--dark-color);
      text-decoration: none;
    }
    body {
      height: 2000px; /* só pra permitir rolagem */
      padding-top: 60px;
    }

    .navbar {
      transition: top 0.3s ease-in-out;
    }

    .navbar-hidden {
      top: -70px; /* esconde a navbar */
    }

    .navbar-shown {
      top: 0;
    }

    .custom-navbar {
      position: fixed;
      width: 100%;
      z-index: 999;
    }

    /*---------------------------------------
       HERO                
    -----------------------------------------*/

    .hero-title,
    .email-link {
      background: var(--dark-color);
      border-radius: var(--border-radius-medium);
      color: var(--white-color);
      display: inline-block;
      margin: 0.5rem 0;
      padding: 0.5rem 2rem 1.5rem 2rem;
    font-size: 2.2em;
    }

    .email-link {
      background: var(--primary-color);
      color: var(--dark-color);
      font-size: var(--h4-font-size);
      padding: 0.5rem 2rem 1rem 2rem;
    }

    .email-link:hover {
      background: var(--dark-color);
      color: var(--white-color);
    }

    /*---------------------------------------
       ABOUT                
    -----------------------------------------*/
    
    .about-third {
      margin: 2.2em -0.8em;
    }

    .about-image {
      border-radius: var(--border-radius-small);
    }

    .profile-list li {
      margin: 0.3rem 0;
    }

    .profile-list strong {
      display: inline-block;
      width: 30%;
      margin-right: 1rem;
    }

    /*---------------------------------------
       CONTACT               
    -----------------------------------------*/
    
    .contact-form .form-control {
      background: transparent;
      border: none;
      border-bottom: 1px solid rgba(142, 140, 140, 0.35);
      box-shadow: none;
      border-radius: 0;
      -webkit-appearance: none;
      outline: none;
      color: var(--dark-color);
      font-weight: var(--font-weight-light);
      padding-left: 0;
      cursor: text;
    }

    .contact-form input {
      height: calc(2.25rem + 10px);
    }

    .contact-form .form-group {
      margin: 0 0 1rem;
      position: relative;
    }

    .contact-form .form-control,
    .webform-label {
      transition: all 0.4s;
      touch-action: manipulation;
    }

    .webform-label {
      cursor: text;
      font-size: 12px;
      font-weight: var(--font-weight-light);
      margin-bottom: 5px;
    }

    .contact-form .form-control:placeholder-shown + .webform-label {
      cursor: text;
      max-width: 66.66%;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      transform-origin: left bottom;
      transform: translate(0, 2.125rem) scale(1.5);
    }

    .contact-form ::-webkit-input-placeholder {
      opacity: 0;
      transition: inherit;
      color: var(--dark-color);
    }

    .contact-form ::-moz-placeholder {
      opacity: 0;
      transition: inherit;
      color: var(--dark-color);
    }

    .contact-form .form-control:focus::-webkit-input-placeholder {
      opacity: 1;
    }

    .contact-form .form-control:focus::-moz-placeholder {
      opacity: 1;
    }

    .contact-form .form-control:not(:placeholder-shown) + .webform-label,
    .contact-form .form-control:focus + .webform-label {
      transform: translate(0, 0) scale(1);
      cursor: pointer;
      color: var(--gray-color);
    }

    .contact-form #submit-button {
      background: var(--primary-color);
      border: none;
      border-radius: var(--border-radius-medium);
      color: var(--dark-color);
      cursor: pointer;
      font-size: var(--p-font-size);
      line-height: 0;
      margin-top: 2.5rem;
      padding: 1.5rem 1.8rem 1.8rem 1.8rem;
      white-space: nowrap;
      max-width: 190px;
    }

    .copyright-text {
      font-size: var(--base-font-size);
    }

    /*******/

    
    /*---------------------------------------
       SOCIAL LINKS              
    -----------------------------------------*/

    .social-links {
      margin: 40px 0;
      padding: 0;
    }

    .social-links li {
      display: inline-block;
      list-style: none;
    }

    .social-links a {
      display: inline-block;
      color: var(--p-color);
      font-size: var(--h6-font-size);
      margin: 5px 20px 5px 0;
    }

    .social-links a:hover {
      color: var(--dark-color);
    }


    #form-message {
        margin-bottom: 15px;
        padding: 10px;
        border-radius: 5px;
        display: none;
    }

    .success {
        background-color: #d4edda;
        color: #155724;
    }

    .error {
        background-color: #f8d7da;
        color: #721c24;
    }

    #loading {
        display: none;
        margin-top: 10px;
        color: #007bff;
        font-weight: bold;
    }

    @media screen and (max-width: 992px) {

      .hero-title {
        font-size: 1.8em;
        padding-bottom: 1rem;
      }

      .email-link {
        font-size: 22px;
        padding: 0.5rem 2rem 0.7rem 2rem;
      }
    }
    

    @media screen and (max-width: 768px) {

      .hero-text {
        position: relative;
        top: 1.5rem;
      }
    }

    @media screen and (max-width: 480px) {

      .hero-title {
        font-size: 26px;
      }

      .email-link {
        font-size: 20px;
        padding: 0.3rem 2rem 0.6rem 2rem;
      }
    }