a,
a:hover,
a:focus,
a:link {
   text-decoration: none !important;
   color: inherit;
}

body {
   background-color: #F9FAFC !important;
   height: 100%;
   grid-template: unset;
}

.vector_art {
   position: fixed;
   height: 48vh;
   bottom: 0px;
   margin: 0px 20px;
}

.align_input_code {
   width: 300px;
   max-width: 100%;
}

.form-control {
   display: block;
   width: 100%;
   min-width: 0px;
   height: 50px;
   padding: .375rem .75rem;
   margin-right: 0.5rem;
   background-color: #fff;
   background-clip: padding-box;
   border: 1px solid #ced4da;
   border-radius: .25rem;
   color: #495057;
   text-align: center;
   font-weight: 400;
   font-size: 1.25rem;
   line-height: 1.5;
   transition: border-color .15s ease-in-out, color .15s ease-in-out;
}

.form-control:last-child {
   margin-right: 0;
}

.form-control:not(:placeholder-shown),
.form-control:focus {
   border: 1px solid var(--color_main);
   color: var(--color_main);
}

.image_logo {
   width: 160px;
   margin-left: calc(50% - 80px);
}

/* BOX COM OS CAMPOS --------------------------------------------------------- */
.box_informations {
   position: relative;
   width: 370px;
   height: 306px;
   margin: 30px auto;
   background-color: #FFFFFF;
   border-radius: 3px;
   padding: 35px 40px;
   box-shadow: 1px 3px 8px 1px rgba(0, 0, 0, 0.13);
   overflow: hidden;
   margin-bottom: 30px;
   transition: height 0.3s ease;
   max-width: calc(100% - 30px);
}

.box_informations p {
   width: 85%;
   margin: 10px auto;
   color: #aaaaaa;
   text-align: center;
}

/* FILTRO PARA AS LINHAS DE CARREGAMENTO --------------------------------------------------------- */
.filter_loading {
   background-color: #fefefe;
   position: absolute;
   width: 100%;
   height: 100%;
   top: 0px;
   left: 0px;
   z-index: 1;
   opacity: 0;
   pointer-events: none;
   transition: all 0.3s ease;
}

/* LINHAS DE CARREGAMENTO --------------------------------------------------------- */
.father_line_loading {
   position: absolute;
   top: 0px;
   left: 0px;
   height: 3px;
   width: 100%;
   background-color: transparent;
   pointer-events: none;
   overflow: hidden;
   opacity: 0;
   --animation-prop-one: line_loading 3s linear infinite;
   --animation-prop-two: line_loading_fast 3s linear infinite;
   z-index: 2;
}

/* LINHA DE CARREGAMENTO LENTA --------------------------------------------------------- */
.line_loading {
   position: absolute;
   height: 100%;
   background-color: var(--color_main);
   animation: var(--animation-prop-one);
}

@keyframes line_loading {
   0% {
      width: 15%;
      left: -15%;
   }

   10% {
      width: 40%;
   }

   20% {
      left: 30%;
   }

   30% {
      width: 80%;
   }

   50% {
      width: 40%;
      left: 90%;
   }

   100% {
      width: 100%;
      left: 200%;
   }
}

/* LINHA DE CARREGAMENTO RÁPIDA --------------------------------------------------------- */
.line_loading_fast {
   position: absolute;
   height: 100%;
   background-color: var(--color_main);
   animation: var(--animation-prop-two);
   animation-delay: calc(3s / 2);
}

@keyframes line_loading_fast {
   0% {
      width: 10%;
      left: -10%;
   }

   25% {
      width: 70%;
      left: 25%;
   }

   50% {
      width: 40%;
      left: 100%;
   }

   100% {
      width: 0%;
      left: 100%;
   }
}

/* ELEMENTOS PARA JUNTAR FORMS --------------------------------------------------------- */
.father_phases {
   position: relative;
   width: calc(300% + 120px);
   display: flex;
   transition: all 0.6s ease;
}

.phase_form {
   position: relative;
   width: 100%;
   margin: 0px 30px;
   height: max-content;
   display: inline-block;
}

.phase_form#first_form {
   margin-left: 0px;
}

.phase_form#third_form {
   margin-right: 0px;
}

/* ESTILOS DO BOTÃO COM SETAS PARA VOLTAR --------------------------------------------------------- */
.join_options_title {
   display: flex;
   align-items: center;
   justify-content: space-between;
}

.arrow {
   position: relative;
   width: 30px;
   height: 30px;
   bottom: 0px;
   color: #959595;
   cursor: pointer;
   transition: color ease 0.35s;
}

.arrow:nth-child(3) {
   transform: rotate(180deg);
   opacity: 0;
   pointer-events: none;
}

.arrow:hover {
   color: var(--color_main);
}

#first_form .arrow {
   opacity: 0;
   pointer-events: none;
}

.join_options_title h5 {
   text-align: center;
   color: #5E6C84;
   letter-spacing: -0.01em;
}

input[data-valid_type="pass_confirm"] {
   padding-right: 45px;
}

.toggle_view {
   position: absolute;
   height: 25px;
   width: 25px;
   right: 10px;
   bottom: 46px;
   cursor: pointer;
   z-index: 1;
}

.toggle_view svg {
   position: absolute;
   transition: all 0.3s ease;
   transition-delay: 0.1s;
   opacity: 0.6;
}

input {
   padding-right: 40px;
}

input[type='password']~.toggle_view .protect {
   opacity: 0;
}

input[type='text']~.toggle_view .see {
   opacity: 0;
}


/* ESTILOS DO BOTÃO --------------------------------------------------------- */
.button-default-3 {
   position: relative;
   color: currentColor;
   padding: 2px 1px;
   display: inline-block;
   height: max-content;
   transition: all 0.3s ease;
   letter-spacing: 1px;
}

.button-default-3::before {
   content: "";
   position: absolute;
   width: 10px;
   height: 2px;
   top: calc(50% - 1px);
   right: -14px;
   background-color: currentColor;
   border-top-left-radius: 5px;
   border-bottom-left-radius: 5px;
   transition: all 0.2s ease;
}

.button-default-3:hover::before {
   right: -20px;
}

.button-default-3::after {
   content: "";
   position: absolute;
   width: 6px;
   height: 6px;
   top: calc(50% - 3px);
   right: -14px;
   border-top: 2px solid currentColor;
   border-right: 2px solid currentColor;
   transform: rotateZ(45deg);
   transition: all 0.2s ease;
}

.button-default-3:hover::after {
   right: -20px;
}

#send_email {
   width: max-content;
   margin: 0 auto 20px;
   display: block;
   color: var(--color_main);
   font-weight: 400;
   text-align: center;
   cursor: pointer;
}

#send_email:hover {
   color: var(--color_main_dark);
}

.button-df-6 {
   width: 100%;
   background: var(--color_main);
   color: #fff;
   border-radius: 3px;
   font-weight: bold;
   padding: 10px 20px;
   border: 0px;
   font-size: 17px;
   cursor: pointer;
   transition: all 0.3s ease;
}

.box_informations .button-df-6:hover {
   background-color: var(--color_main_dark);
}

/* OTIMIZAÇÃO PARA MOBILE --------------------------------------------------------- */
@media (max-width:767px) {
   .align_informaions_plan h4 {
      font-size: 20px;
   }

   .align_informaions_plan p b {
      font-size: 24px;
   }
}

@media (max-width: 592px) {
   .align_informaions_plan h4 {
      width: 100%;
      font-size: 20px;
   }

   .align_informaions_plan p b {
      font-size: 22px;
   }
}

@media (max-width: 480px) {
   .align_informaions_plan h4 {
      font-size: 18px;
   }

   .align_informaions_plan p b {
      font-size: 18px;
   }
}

@media (max-width:355px) {
   .align_informaions_plan {
      width: 100%;
   }

   .header_show_plan button {
      margin: 0 auto;
   }

   .align_informaions_plan h4 {
      width: auto;
   }
}