@import url('https://fonts.googleapis.com/css2?family=Onest:wght@100..900&display=swap');

* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
}

a {
   text-decoration: none;
}

body {
   font-family: "Onest", system-ui;
   font-optical-sizing: auto;
   font-weight: normal;
   font-style: normal;
   background-color: #f4f4f4;
}

.hidden {
   display: none;
}

/**
 *
 * Grid System
 *
 */

.grid {
   display: grid;
   gap: 2rem;
}

.grid-nogap {
   gap: 0;
}

.grid-cols-1 {
   grid-template-columns: repeat(1, minmax(0, 1fr));
}

.grid-cols-2 {
   grid-template-columns: repeat(2, minmax(0, 2fr));
}

.grid-cols-3 {
   grid-template-columns: repeat(3, minmax(0, 3fr));
}

.grid-cols-4 {
   grid-template-columns: repeat(4, minmax(0, 4fr));
}

.grid-cols-5 {
   grid-template-columns: repeat(5, minmax(0, 5fr));
}

.grid-cols-6 {
   grid-template-columns: repeat(6, minmax(0, 6fr));
}

.grid-cols-7 {
   grid-template-columns: repeat(7, minmax(0, 7fr));
}

.grid-cols-8 {
   grid-template-columns: repeat(8, minmax(0, 8fr));
}

.grid-cols-9 {
   grid-template-columns: repeat(9, minmax(0, 9fr));
}

.grid-cols-10 {
   grid-template-columns: repeat(10, minmax(0, 10fr));
}

.grid-cols-11 {
   grid-template-columns: repeat(11, minmax(0, 11fr));
}

.grid-cols-12 {
   grid-template-columns: repeat(12, minmax(0, 12fr));
}


/**
 *
 * Container
 *
 */





.container {
   width: 76%;
   position: relative;
   margin: 0 auto;
}

@media (min-width: 570px) {
   .container {
      max-width: 560px;
   }

   .sm\:grid-cols-1 {
      grid-template-columns: repeat(1, minmax(0, 1fr));
   }

   .sm\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 2fr));
   }

   .sm\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 3fr));
   }

   .sm\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 4fr));
   }

   .sm\:grid-cols-5 {
      grid-template-columns: repeat(5, minmax(0, 5fr));
   }

   .sm\:grid-cols-6 {
      grid-template-columns: repeat(6, minmax(0, 6fr));
   }

   .sm\:grid-cols-7 {
      grid-template-columns: repeat(7, minmax(0, 7fr));
   }

   .sm\:grid-cols-8 {
      grid-template-columns: repeat(8, minmax(0, 8fr));
   }

   .sm\:grid-cols-9 {
      grid-template-columns: repeat(9, minmax(0, 9fr));
   }

   .sm\:grid-cols-10 {
      grid-template-columns: repeat(10, minmax(0, 10fr));
   }

   .sm\:grid-cols-11 {
      grid-template-columns: repeat(11, minmax(0, 11fr));
   }

   .sm\:grid-cols-12 {
      grid-template-columns: repeat(12, minmax(0, 12fr));
   }
}

@media (min-width: 768px) {
   .container {
      max-width: 740px;
   }

   .md\:grid-cols-1 {
      grid-template-columns: repeat(1, minmax(0, 1fr));
   }

   .md\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 2fr));
   }

   .md\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 3fr));
   }

   .md\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 4fr));
   }

   .md\:grid-cols-5 {
      grid-template-columns: repeat(5, minmax(0, 5fr));
   }

   .md\:grid-cols-6 {
      grid-template-columns: repeat(6, minmax(0, 6fr));
   }

   .md\:grid-cols-7 {
      grid-template-columns: repeat(7, minmax(0, 7fr));
   }

   .md\:grid-cols-8 {
      grid-template-columns: repeat(8, minmax(0, 8fr));
   }

   .md\:grid-cols-9 {
      grid-template-columns: repeat(9, minmax(0, 9fr));
   }

   .md\:grid-cols-10 {
      grid-template-columns: repeat(10, minmax(0, 10fr));
   }

   .md\:grid-cols-11 {
      grid-template-columns: repeat(11, minmax(0, 11fr));
   }

   .md\:grid-cols-12 {
      grid-template-columns: repeat(12, minmax(0, 12fr));
   }
}

@media (min-width: 992px) {
   .container {
      max-width: 960px;
   }

   .lg\:grid-cols-1 {
      grid-template-columns: repeat(1, minmax(0, 1fr));
   }

   .lg\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 2fr));
   }

   .lg\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 3fr));
   }

   .lg\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 4fr));
   }

   .lg\:grid-cols-5 {
      grid-template-columns: repeat(5, minmax(0, 5fr));
   }

   .lg\:grid-cols-6 {
      grid-template-columns: repeat(6, minmax(0, 6fr));
   }

   .lg\:grid-cols-7 {
      grid-template-columns: repeat(7, minmax(0, 7fr));
   }

   .lg\:grid-cols-8 {
      grid-template-columns: repeat(8, minmax(0, 8fr));
   }

   .lg\:grid-cols-9 {
      grid-template-columns: repeat(9, minmax(0, 9fr));
   }

   .lg\:grid-cols-10 {
      grid-template-columns: repeat(10, minmax(0, 10fr));
   }

   .lg\:grid-cols-11 {
      grid-template-columns: repeat(11, minmax(0, 11fr));
   }

   .lg\:grid-cols-12 {
      grid-template-columns: repeat(12, minmax(0, 12fr));
   }
}

@media (min-width: 1200px) {
   .container {
      max-width: 1140px;
   }

   .xl\:grid-cols-1 {
      grid-template-columns: repeat(1, minmax(0, 1fr));
   }

   .xl\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 2fr));
   }

   .xl\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 3fr));
   }

   .xl\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 4fr));
   }

   .xl\:grid-cols-5 {
      grid-template-columns: repeat(5, minmax(0, 5fr));
   }

   .xl\:grid-cols-6 {
      grid-template-columns: repeat(6, minmax(0, 6fr));
   }

   .xl\:grid-cols-7 {
      grid-template-columns: repeat(7, minmax(0, 7fr));
   }

   .xl\:grid-cols-8 {
      grid-template-columns: repeat(8, minmax(0, 8fr));
   }

   .xl\:grid-cols-9 {
      grid-template-columns: repeat(9, minmax(0, 9fr));
   }

   .xl\:grid-cols-10 {
      grid-template-columns: repeat(10, minmax(0, 10fr));
   }

   .xl\:grid-cols-11 {
      grid-template-columns: repeat(11, minmax(0, 11fr));
   }

   .xl\:grid-cols-12 {
      grid-template-columns: repeat(12, minmax(0, 12fr));
   }
}

@media (min-width: 1440px) {
   .container {
      max-width: 1336px;
   }

   .\2xl\:grid-cols-1 {
      grid-template-columns: repeat(1, minmax(0, 1fr));
   }

   .\2xl\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 2fr));
   }

   .\2xl\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 3fr));
   }

   .\2xl\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 4fr));
   }

   .\2xl\:grid-cols-5 {
      grid-template-columns: repeat(5, minmax(0, 5fr));
   }

   .\2xl\:grid-cols-6 {
      grid-template-columns: repeat(6, minmax(0, 6fr));
   }

   .\2xl\:grid-cols-7 {
      grid-template-columns: repeat(7, minmax(0, 7fr));
   }

   .\2xl\:grid-cols-8 {
      grid-template-columns: repeat(8, minmax(0, 8fr));
   }

   .\2xl\:grid-cols-9 {
      grid-template-columns: repeat(9, minmax(0, 9fr));
   }

   .\2xl\:grid-cols-10 {
      grid-template-columns: repeat(10, minmax(0, 10fr));
   }

   .\2xl\:grid-cols-11 {
      grid-template-columns: repeat(11, minmax(0, 11fr));
   }

   .\2xl\:grid-cols-12 {
      grid-template-columns: repeat(12, minmax(0, 12fr));
   }
}




/**
 *
 * Sections
 *
 */

.section-card {
   padding: 1rem 0;
   position: relative;
}

.section-card-title {
   border-bottom: 1px solid rgba(0, 0, 0, 0.15);
   padding-bottom: 1.5rem;
}

.section-title {
   display: block;
   font-size: 1.4rem;
   font-weight: bold;
   margin-bottom: 3px;
}



/**
 *
 * Topnav
 *
 */

.topnavbar {
   width: 100%;
   height: 80px;
   display: flex;
   align-items: center;
}

.navbar-brand {
   display: flex;
   align-items: center;
   gap: 5px;
}

.navbar-brand .contain-img {
   width: 52px;
   height: 52px;
   border-radius: 50% 50% 50% 0px;
   position: relative;
   display: flex;
   align-items: center;
   justify-content: center;
   aspect-ratio: 1/1;
   border: 1px solid rgba(0, 0, 0, 0.2);
   background-color: #5B3283;
}

.navbar-brand img {
   width: 45%;
   max-width: 45%;
}

.navbar-brand span {
   color: #5B3283;
   font-weight: bold;
   font-size: 1.4rem;
   text-transform: capitalize;
   letter-spacing: -0.5px;
}


.navbar-items {
   flex: 1;
   display: flex;
   align-items: center;
   height: 100%;
   margin-left: 4rem;
   gap: 1rem;
   position: relative;
}

.navbar-items .link {
   display: flex;
   width: 52px;
   height: 52px;
   align-items: center;
   justify-content: center;
   border-radius: 50%;
   aspect-ratio: 1/1;
   border: 1.5px solid rgba(0, 0, 0, 0.05);
   color: rgba(0, 0, 0, 0.8);
   background-color: white;
   box-shadow: 0 5px 2px rgba(0, 0, 0, 0.005);
   font-size: 1.2rem;
   transition: 0.25s linear;
}

.navbar-items .link:last-child {
   margin-left: auto;
}

.navbar-items .link.active {
   border-color: #5B3283;
   color: #5B3283 !important;
}

.navbar-items .link:hover:not(.active) {
   border-color: #5B3283;
   border-width: 1px;
   color: #5B3283 !important;
}


@media (max-width: 530px) {
   .navbar-items .link:not(:first-child) {
      display: none;
   }

   .navbar-items .link:first-child {
      margin-left: auto;
   }
}



/**
 *
 * Section Form
 *
 */

 form {
   width: 100%;
   position: relative;
 }

.section-form {
   width: 100%;
   position: relative;
   display: none;
}

.section-form.active {
   display: block;
}

.input-group {
   display: flex;
   width: 100%;
   flex: 1;
   position: relative;
   margin: 1rem 0 0.5rem;
}

.input-group:has(label) {
   flex-direction: column;
}

.input-group label {
   font-size: 0.85rem;
   display: block;
   margin-bottom: 0.25rem;
   font-family: 'Onest';
   cursor: pointer;
}

.input-form {
   --input-py: 0.95rem;
   --input-px: 1rem;
   --input-outline-color: transparent;
   --input-outline-offset: 3px;
   --input-outline-color: rgba(91, 50, 131, 0.2);
   --input-border-color: rgba(0, 0, 0, 0.15);
   --input-corner: 0.15rem;
   outline: none;
   border: 1px solid var(--input-border-color);
   width: 100%;
   padding: var(--input-py) var(--input-px);
   display: block;
   position: relative;
   border-radius: var(--input-corner);
   font-family: 'Onest', sans-serif;
   font-size: 0.95rem;
   transition: outline 0.25s ease-in-out, border-color 0.25s ease-in-out;
}


.input-form:focus,
.input-form:hover {
   border-color: #5B3283;
}

.input-error {
   border-color: red !important;
}

.input-form:focus {
   outline: var(--input-outline-offset) solid var(--input-outline-color);
   outline-offset: var(--input-outline-offset);
}

.btn-form {
   outline: none;
   border: 1px solid transparent;
   background-color: #5B3283;
   padding: 0.95rem 1rem;
   display: block;
   color: white;
   margin-left: auto;
   font-family: 'Onest', sans-serif;
   border-radius: 0.15rem;
   cursor: pointer;
   width: 50%;
   text-align: center;
   transition: outline 0.25s ease-in-out, outline-offset 0.25s ease-in-out, opacity 0.25s ease-in-out;
}

@media (max-width: 840px) {
   .btn-form {
      width: 100%;
   }
}

.btn-form:hover {
   opacity: 0.95;
   outline: 2px solid  rgba(91, 50, 131, 0.2);
   outline-offset: 2px;
}

.btn-form.outline-btn {
   background-color: white;
   color: #000;
   border: 1px solid rgba(0, 0, 0, 0.15);
}

.action-btn {
   display: flex;
   align-items: center;
   gap: 0;
}


.section-form-title {
   font-size: 1.2rem;
   font-family: 'Onest', sans-serif;
   display: block;
}

.section-form-title + * {
   color: rgba(0, 0, 0, 0.65);
   display: block;
   margin-bottom: 1rem;
}


.ml-none {
   margin-left: 0;
} 

.mr-auto {
   margin-right: auto;
}




/**
 *
 * Popup Message
 *
 */

.popup-mensagem {
   position: fixed;
   z-index: 1111;
   width: 100%;
   height: 100%;
   background-color: rgba(0, 0, 0, 0.4);
   display: none;
}

.popup-mensagem.active {
   display: block;
}

.popup-mensagem .contain-text {
   width: 800px;
   display: block;
   background-color: white;
   padding: 1rem;
   margin: -100% auto 0;
   box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
   border-radius: 4px;
}

.popup-mensagem .contain-text.active {
   animation: downIt 0.1s 0.5s ease-in-out;
}

@keyframes downIt {
   to {
      margin-top: 10%;
   }
}

.popup-mensagem .title {
   padding-bottom: 1.5rem;
   border-bottom: 1px solid rgba(0, 0, 0, 0.15);
   display: flex;
   align-items: center;
   justify-content: space-between;
}

.popup-mensagem-close {
   width: 45px;
   height: 45px;
   display: flex;
   align-items: center;
   justify-content: center;
   cursor: pointer;
   font-size: 32px;
}

.popup-mensagem-close * {
   pointer-events: none;
}

.popup-mensagem .mensagem {
   padding: 1rem 0;
}