:root {
  --greyish-brown: #464646;
  --deep-lilac: #8a80ab;
  --darkish-purple: #6a2283;
  --purpley: #7d60dc;
  --pastel-red: #dc6060;
  --wisteria: #9685cb;
}

.nav-logo {
  background-size: 28px 28px;
  height: 45px
}

.header-logo {
  background-size: 28px 28px;
  width: 50px
}

.footer-logo {
  background-size: 100px 100px;
  height: 100px
}

.menu,
.menu-hider {
  display: none;
  opacity: 0
}

* {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
  outline: none;
  font-size-adjust: none;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  -ms-text-size-adjust: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-font-smoothing: subpixel-antialiased !important;
  -webkit-transform: translate3d(1, 1, 1);
  transform: translate3d(1, 1, 1);
  text-rendering: auto;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: grayscale
}

*:focus {
  outline: none
}

*,
*:after,
*:before {
  box-sizing: border-box;
  padding: 0;
  margin: 0
}

* {
  font-family: roboto, sans-serif
}

body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  font-size: 13px;
  line-height: 23px;
  font-weight: 400;
  background-color: #fff
}
/*
::-webkit-scrollbar {
  display: none
}
*/
::-webkit-scrollbar {
  -webkit-appearance: none;
  width: 5px;
}

::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background-color: rgba(0,0,0,.27);
  -webkit-box-shadow: 0 0 1px rgba(255,255,255,.5);
}

::selection {
  background-color: #ccc;
  color: #000
}

div,
a,
p,
img,
blockquote,
form,
fieldset,
textarea,
input,
label,
iframe,
code,
pre {
  display: block;
  position: relative
}

textarea,
input {
  outline: none
}

input[type=submit] {
  appearance: none;
  -webkit-appearance: none
}

input {
  border-radius: 0 !important;
  -webkit-border-radius: 0 !important;
  display: inline-block
}

textarea {
  -webkit-appearance: none !important;
  border-radius: 0 !important;
  -webkit-border-radius: 0 !important
}

label a {
  display: inline-block
}

.no-click {
  pointer-events: none !important
}

.no-transition {
  transition: all 0ms ease !important
}

a {
  color: #2980b9
}

p>a {
  display: inline;
  text-decoration: none
}

p>a:hover {
  text-decoration: underline
}

p>span {
  display: inline
}

p strong {
  font-size: 13px;
  font-weight: 500
}

span>a {
  display: inline
}

a>span {
  display: inline
}

a {
  text-decoration: none
}

a:hover {
  text-decoration: none
}

strong a,
em a {
  display: inline
}

h1>a,
h2>a,
h3>a,
h4>a,
h5>a,
h6>a {
  display: inline
}

table {
  bborder-collapse: separate;
  border-spacing: 0;
  width: 100%;
  clear: both;
  margin-bottom: 27px
}

th {
  vertical-align: middle;
  font-weight: 700
}

tr {
  line-height: 18px
}

td {
  text-align: center;
  padding: 9px 0;
  line-height: 18px;
  vertical-align: middle
}

.table tr.even td {
  background: #efefef
}

th {
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  color: #1f1f1f;
  line-height: 45px;
  background-color: #f6f6f6
}

td {
  color: #666;
  background-color: #fdfdfd
}

table {
  background-color: #f6f6f6;
  font-size: 12px
}

ul,
ol {
  color: #666;
  font-size: 13px;
  margin-left: 20px
}

ul {
  margin-bottom: 30px
}

ul ul {
  margin-bottom: 5px
}

ol ol {
  margin-bottom: 5px
}

ol {
  margin-bottom: 30px
}

li {
  line-height: 24px;
  margin-bottom: 5px
}

ol>li:last-child,
ul>li:last-child {
  margin-bottom: 0
}

sub,
sup {
  font-size: 50%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}

sup {
  top: -15px
}

sub {
  bottom: 0
}

i {
  min-width: 12px
}

.disabled {
  display: none !important
}

.stop-scroll {
  overflow: hidden !important
}

.no-click {
  pointer-events: none
}

.no-border {
  border: none !important
}

.responsive-image {
  display: block;
  width: 100%
}

.round-image {
  border-radius: 100%
}

p {
  line-height: 26px;
  margin-bottom: 30px;
  font-size: 13px;
  color: #6c6c6c
}

p strong {
  color: #1f1f1f
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-bottom: 5px;
  letter-spacing: -.9px;
  font-weight: 500;
  font-family: hind, sans-serif
}

h1 *,
h2 *,
h3 *,
h4 *,
h5 *,
h6 * {
  font-family: hind, sans-serif
}

h1 {
  font-size: 24px;
  line-height: 30px
}

h2 {
  font-size: 21px;
  line-height: 25px
}

h3 {
  font-size: 20px;
  line-height: 24px
}

h4 {
  font-size: 18px;
  line-height: 23px
}

h5 {
  font-size: 17px;
  line-height: 22px
}

.under-heading {
  margin-top: -8px
}

.heading-icon {
  float: right
}

.color-skin {
  color: #000
}

.color-black {
  color: #000 !important
}

.color-white {
  color: #fff !important
}

.color-theme {
  color: #1f1f1f !important
}

.color-wisteria {
  color: var(--wisteria) !important;
}

.color-deep-lilac {
  color: var(--deep-lilac) !important;
}

.bg-theme {
  background-color: #fff
}

.bg-black {
  background-color: #000 !important
}

.bg-white {
  background-color: #fff !important
}

.bg-transparent {
  background-color: transparent !important
}

.highlight {
  color: #fff;
  padding: 0 5px
}

.icon-list {
  list-style: none;
  padding-left: 5px
}

.icon-list i {
  position: absolute;
  left: 0;
  margin-top: 6px
}

.border-box {
  border-left-style: solid;
  border-width: 4px !important;
  padding: 5px 0 5px 15px
}

.uppercase {
  text-transform: uppercase
}

.capitalize {
  text-transform: capitalize
}

.clear {
  clear: both
}

.loader-main {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999;
  background-color: #ffffff4d;
  will-change: opacity;
  transition: all 250ms ease
}

.loader-active {
  will-change: opacity;
  transition: all 350ms ease;
  opacity: 1 !important
}

.loader-inactive {
  will-change: opacity;
  transition: all 350ms ease;
  opacity: 0 !important;
  pointer-events: none !important
}

.preload-spinner,
.preload-spinner {
  animation: preload-spin1 1.2s ease infinite;
  clip: rect(0, 40px, 40px, 20px);
  height: 40px;
  width: 40px;
  position: absolute;
  left: 50%;
  margin-left: -20px;
  top: 50%;
  margin-top: -20px
}

.preload-spinner:after {
  animation: preload-spin2 1.2s ease-in-out infinite;
  clip: rect(0, 40px, 40px, 20px);
  content: '';
  border-radius: 50%;
  height: 40px;
  width: 40px;
  position: absolute;
  border-style: solid;
  border-width: 3px;
  border-color: inherit
}

@keyframes preload-spin1 {
  25% {
    transform: rotate(0deg)
  }

  100% {
    transform: rotate(185deg)
  }
}

@keyframes preload-spin2 {
  0% {
    transform: rotate(-175deg)
  }

  100% {
    transform: rotate(175deg)
  }
}

.preload-small:after {
  border-width: 1px
}

.preload-large:after {
  border-width: 8px
}

.divider {
  height: 1px;
  display: block;
  background-color: rgba(0, 0, 0, .05);
  margin-bottom: 30px
}

.divider-margins {
  margin: 0 15px 30px
}

.divider-icon {
  height: 1px;
  display: block;
  background-color: rgba(0, 0, 0, .08);
  margin-bottom: 50px
}

.content-boxed .divider-icon i {
  background-color: #fff
}

.divider-icon i {
  position: absolute;
  width: 50px;
  background-color: #fff;
  text-align: center;
  margin-top: -8px;
  left: 50%;
  transform: translateX(-50%)
}

.divider-small {
  height: 2px;
  width: 80px;
  margin: auto auto 20px
}

.divider-small-left {
  height: 2px;
  width: 80px;
  margin-bottom: 15px !important
}

.shadow-none,
.no-shadow {
  box-shadow: 0 0 0 0 transparent !important
}

.shadow-tiny {
  box-shadow: 0 0 5px 2px rgba(0, 0, 0, .04) !important
}

.shadow-small {
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, .1) !important
}

.shadow-medium {
  box-shadow: 0 2px 14px 0 rgba(0, 0, 0, .08) !important
}

.shadow-large {
  box-shadow: 0 5px 15px 0 rgba(0, 0, 0, .09) !important
}

.shadow-huge {
  box-shadow: 0 5px 30px 0 rgba(0, 0, 0, .11), 0 5px 15px 0 rgba(0, 0, 0, .08) !important
}

.text-shadow {
  text-shadow: 0 1px 0 rgba(0, 0, 0, .4)
}

.text-shadow-large {
  text-shadow: 0 1px 2px rgba(0, 0, 0, .4)
}

@media(max-width:325px) {
  /*.content {
    margin: 0 22px 30px !important
  }*/

  .caption-margins {
    margin: 0 22px 40px !important
  }
}

.under-content-button {
  width: 200px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  margin-top: -23px
}

.content {
  margin: 0 22px 30px
}

.vertical-center {
  position: absolute;
  top: 50%;
  width: 100%;
  transform: translateY(-50%)
}

.horizontal-center {
  display: block;
  margin: 0 auto
}

.content-box {
  padding: 20px;
  margin: 0 0 30px
}

.content-box p {
  margin-bottom: 0
}

.content-above {
  z-index: 3
}

.fade-content {
  z-index: 98;
  margin-top: 0px
}

.fade-content h1 {
  margin-bottom: -2px;
  font-size: 33px;
  font-weight: 800
}

.fade-content p {
  margin: 0 20px 20px
}

.content-title h1 {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: -2px
}

.content-title span {
  display: block;
  text-align: left;
  font-size: 12px;
  margin-bottom: 15px
}

.content-title i {
  position: absolute;
  right: 0;
  top: -1px;
  height: 45px;
  width: 45px;
  line-height: 46px;
  font-size: 15px;
  text-align: center;
  display: block
}

.page-content {
  transition: transform 300ms ease
}

.header,
.menu-active,
.menu {
  transition: transform 300ms ease;
  will-change: transform, opacity
}

.menu-hider {
  transition: opacity 300ms ease;
  will-change: opacity
}

.page-content {
  z-index: 90
}

.page-bg {
  position: fixed;
  top: -100px;
  bottom: -100px;
  left: 0;
  right: 0;
  z-index: 50
}

#page {
  display: block;
  left: 0;
  right: 0;
  overflow: hidden
}

.page-content-black {
  background-color: #000;
  position: fixed;
  top: -100px;
  bottom: -100px;
  left: 0;
  right: 0
}

.header .header-title,
.header-nav .header-title {
  position: absolute;
  height: 60px;
  line-height: 60px;
  font-family: ibm plex sans, sans-serif;
  font-size: 14px;
  color: #000;
  font-weight: 900;
  z-index: 1;
  text-transform: uppercase
}

.header-subtitle {
  font-size: 13px !important;
  text-transform: none !important;
  font-weight: 600 !important;
  transform: translateX(-5px)
}

.header .header-logo, .header-nav .header-logo {
  background-repeat: no-repeat;
  background-position: center center;
  height: 100%;
  position: absolute;
  z-index: 1;
  left: 50%
}

.header, .header-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 60px;
  z-index: 99
}

.header-auto-show {
  opacity: 0;
  pointer-events: none;
  transition: all 300ms ease
}

.header-active {
  opacity: 1;
  pointer-events: all;
  transition: all 300ms ease
}

.header-always-show .header {
  margin-top: 0 !important
}

.header-static {
  position: relative !important
}

.theme-light .header-transparent {
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important
}

.header-clear {
  padding-top: 90px
}

.header-clear-small {
  padding-top: 20px
}

.header-clear-medium {
  padding-top: 70px
}

.header-clear-large {
  padding-top: 85px
}

.header .header-icon {
  position: absolute;
  height: 60px;
  width: 45px;
  text-align: center;
  line-height: 59px;
  font-size: 12px;
  color: #333333;
}

.header2 {
  background-color: #fff;
  border-bottom: solid 1px rgba(0, 0, 0, .03);
  box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.16);
}

.header-transparent-light {
  background-color: transparent;
  box-shadow: none !important
}

.header-transparent-light a {
  color: #fff
}

.header-logo-center .header-icon-1 {
  left: 0
}

.header-logo-center .header-icon-2 {
  left: 45px
}

.header-logo-center .header-icon-3 {
  right: 45px
}

.header-logo-center .header-icon-4 {
  right: 0
}

.header-logo-center .header-title {
  left: 50%;
  margin-left: -53px;
  text-align: center
}

.header-logo-center .header-logo {
  background-position: center center;
  width: 150px !important;
  left: 50%;
  margin-left: -53px;
  text-align: center
}

.header-logo-left .header-icon-1 {
  right: 0
}

.header-logo-left .header-icon-2 {
  right: 45px
}

.header-logo-left .header-icon-3 {
  right: 90px
}

.header-logo-left .header-icon-4 {
  right: 135px
}

.header-logo-left .header-logo {
  left: 0 !important;
  margin-left: 0 !important
}

.header-logo-left .header-title {
  left: 15px !important;
  margin-left: 0 !important
}

.header-logo-right .header-icon-1 {
  left: 0
}

.header-logo-right .header-icon-2 {
  left: 45px
}

.header-logo-right .header-icon-3 {
  left: 90px
}

.header-logo-right .header-icon-4 {
  left: 135px
}

.header-logo-right .header-logo {
  left: auto !important;
  right: 20px !important;
  margin-left: 0 !important
}

.header-logo-right .header-title {
  left: auto !important;
  right: 20px !important;
  margin-left: 0 !important
}

.header-logo-app .header-icon-1 {
  left: 3px
}

.header-logo-app .header-icon-2 {
  right: 2px
}

.header-logo-app .header-icon-3 {
  right: 45px
}

.header-logo-app .header-icon-4 {
  right: 90px
}

.header-logo-app .header-logo {
  left: 0 !important;
  margin-left: 40px !important
}

.header-logo-app .header-title {
  left: 0 !important;
  margin-left: 60px !important
}

.header-logo {
  color: transparent !important
}

.header-logo span {
  color: transparent !important
}

.footer {
  z-index: 99;
  padding: 10px 20px
}

.footer-title h1 {
  text-align: center;
  font-size: 36px;
  font-weight: 800
}

.footer-title p {
  text-align: center;
  margin: -8px 0 0;
  font-size: 9px;
  letter-spacing: 1.1px;
  text-transform: uppercase;
  font-weight: 700;
  opacity: .8
}

.footer-socials {
  padding-top: 25px;
  text-align: center
}

.footer-socials a {
  width: 38px;
  height: 38px;
  line-height: 38px;
  font-size: 13px;
  display: inline-block;
  text-align: center;
  border-radius: 38px;
  margin: 5px 0 15px 5px
}

.footer-copyright {
  font-size: 10px;
  text-align: center;
  padding: 10px 0;
  border-top: solid 1px rgba(0, 0, 0, .05);
  border-bottom: solid 1px rgba(0, 0, 0, .05)
}

.footer-links a {
  float: right;
  font-size: 10px;
  padding-top: 20px;
  line-height: 24px;
  padding-left: 10px
}

.footer-text {
  text-align: center;
  max-width: 320px;
  margin: 0 auto 20px;
  margin-bottom: 20px;
  padding-top: 20px;
  font-size: 12px
}

.footer-menu .one-half.last-column {
  padding-left: 30px
}

.footer-menu {
  max-width: 330px;
  margin: 0 auto;
  padding-bottom: 30px
}

.footer-menu a {
  line-height: 40px;
  font-size: 12px;
  color: #666;
  text-align: left
}

.footer-menu a i {
  width: 25px;
  text-align: center;
  padding-right: 10px
}

.footer-logo h1 {
  display: none
}

.footer-logo p {
  padding-top: 110px;
  text-align: center
}

.footer-logo {
  background-repeat: no-repeat;
  background-position: center center;
  margin-bottom: 50px
}

.menu-hider {
  position: fixed;
  top: -100px;
  bottom: -100px;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, .45);
  z-index: 99;
  pointer-events: none;
  opacity: 0
}

.menu-hider-active {
  opacity: 1 !important;
  pointer-events: all !important
}

.menu {
  position: fixed;
  background-color: #fff;
  z-index: 100;
  overflow: scroll;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch
}

.menu-box-left {
  left: 0;
  top: 0;
  width: 250px;
  bottom: 0;
  /*box-shadow: 0 15px 25px 1px rgba(0, 0, 0, .1);*/
  transform: translate3d(-100%, 0, 0)
}

.menu-box-right {
  right: 0;
  transform: translateX(100%);
  top: 0;
  bottom: 0;
  box-shadow: 0 15px 25px 1px rgba(0, 0, 0, .1);
  width: 250px
}

.menu-box-top {
  transform: translate3d(0, -115%, 0);
  top: 0;
  left: 0;
  right: 0;
  height: 300px
}

.menu-box-bottom {
  bottom: 0;
  left: 0;
  right: 0;
  height: 300px;
  transform: translate3d(0, 110%, 0)
}

.menu-box-modal {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0, 0);
  opacity: 0;
  pointer-events: none;
  transition: all 300ms ease !important
}

.menu-box-top.menu-box-detached {
  top: 10px;
  left: 10px;
  right: 10px
}

.menu-box-bottom.menu-box-detached {
  bottom: 20px;
  left: 10px;
  right: 10px
}

.menu-box-left.menu-box-detached {
  top: 10px;
  bottom: 10px
}

.menu-box-left.menu-box-detached.menu-active {
  left: 10px
}

.menu-box-right.menu-box-detached {
  bottom: 10px;
  top: 10px
}

.menu-box-right.menu-box-detached.menu-active {
  right: 10px
}

.menu-box-left.menu-active {
  transform: translate3d(0%, 0, 0) !important
}

.menu-box-right.menu-active {
  transform: translate3d(0%, 0, 0) !important
}

.menu-box-top.menu-active {
  transform: translate3d(0%, 0, 0) !important
}

.menu-box-bottom.menu-active {
  transform: translate3d(0%, 0, 0) !important
}

.menu-box-modal.menu-active {
  transition: all 300ms ease !important;
  pointer-events: all !important;
  opacity: 1 !important;
  transform: translate(-50%, -50%) scale(1, 1) !important
}

.menu-hider.menu-active {
  opacity: 1;
  pointer-events: all;
}

.menu-hider.menu-active.menu-active-clear {
  background-color: transparent !important;
}

.menu-box-left[data-menu-effect=menu-reveal],
.menu-box-right[data-menu-effect=menu-reveal] {
  opacity: 0;
  pointer-events: none;
  transform: translate(0px) !important;
  z-index: 96;
}

.menu-active.menu {
  opacity: 1 !important;
  pointer-events: all !important;
}

.sidebar-menu {
  top: 20px;
}

.sidebar-menu a {
  line-height: 58px;
  color: #919ca9;
  margin-left: 5px;
}

.sidebar-menu .active-nav span {
  color: #000 !important;
  font-weight: 600;
}

.sidebar-menu .active-nav i {
  color: #000;
}

.sidebar-menu .active-nav::before {
  font-family: "font awesome 5 free";
  font-weight: 900;
  content: "\f111";
  position: absolute;
  right: 22px;
  line-height: 48px;
  font-size: 6px;
  color: #8cc152;
}

.sidebar-menu .active-nav .fa-angle-right {
  display: none;
}

.sidebar-menu a:last-child {
  border-bottom: none !important
}

.sidebar-menu a i.fa-circle {
  font-size: 6px !important;
}

.sidebar-menu a i:first-child {
  color: #000;
  position: absolute;
  left: 0;
  height: 58px;
  line-height: 56px;
  padding-left: 16px;
  font-size: 13px;
  width: 33px;
  text-align: center;
}

.sidebar-menu a span {
  font-family: Lato;
  display: block;
  padding-left: 35px;
  font-size: 16px;
  font-weight: 500;
  color: #2d2d2d;
}

.sidebar-menu a i:last-child {
  position: absolute;
  top: 0;
  right: -2px;
  line-height: 46px;
  font-size: 8px;
  padding-right: 25px;
}

.sidebar-menu a em {
  position: absolute;
  top: 19px;
  right: 5px;
  line-height: 16px;
  text-align: center;
  display: inline-block;
  font-weight: 500;
  background-color: rgba(0, 0, 0, .2);
  margin-right: 10px;
  padding: 0 8px;
  font-size: 8px;
  border-radius: 24px;
  font-style: normal;
  color: #fff !important;
  z-index: 1;
}

.menu-destaque {
  object-fit: contain;
  border-radius: 0 31.5px 31.5px 0;
  box-shadow: 0 10px 13px 0 rgba(137, 86, 154, 0.73);
  background-image: radial-gradient(circle at 5% 0, #9f42bb, var(--darkish-purple));
  margin-left: 0 !important;
}

.menu-destaque span {
  color: #ffffff !important;
}

.offline-message,
.online-message {
  position: fixed;
  transform: translateY(-200%);
  transition: all 350ms ease;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  line-height: 55px;
}

.offline-message-active,
.online-message-active {
  transform: translateY(0%);
}

/* -------------- */

.logo-topo {
  width: 107px;
  top: 18px;
}

.logo-menu {
  width: 160px;
  top: 28px;
  left: 22px;
}

.logo-docu-sign {
  height: 25px;
  float: right;
  margin-top: -20px;
  margin-right: 22px;
}

.ico-menu-close {
  object-fit: contain;
  float: right;
  right: 15px;
  top: 24px;
}

.arrow-menu {
  width: 16px;
  height: 16px;
  object-fit: contain;
  top: 22px;
  left: 24px;
}

.arrow-left {
  width: 8px;
  height: 13px;
  object-fit: contain;
  top: 23px;
  left: 24px;
}

.menu-title {
  width: 85px;
  height: 39px;
  font-family: Lato;
  font-size: 32px;
  font-weight: 800;
  color: #2d2d2d;
  margin-left: 22px;
  margin-top: 70px;
}

.noun-wave {
  width: 54px;
  height: 9px;
  object-fit: contain;
  margin-left: 22px;
  margin-top: 16px;
}

.menu-item {
  width: 220px;
  height: 19px;
  font-family: Lato;
  font-size: 16px;
  font-weight: 500;
  color: #2d2d2d;
}

.menu-line {
  width: 311px;
  height: 1px;
  opacity: 0.15;
  border: solid 1px #979797;
}

.home-line {
  margin-right: 20px !important;
  height: 1px;
  opacity: 0.15;
  border: solid 1px #979797;
}

.cf-img-topo {
  width: 360px;
  height: 297px;
  object-fit: contain;
  background-blend-mode: normal, hard-light;
  background-image: radial-gradient(circle at 15% 13%, #a856c1, var(--darkish-purple)), radial-gradient(circle at 15% 13%, #a856c1, var(--darkish-purple));
}

.cf-texto {
  font-family: Lato;
  font-style: normal;
  font-stretch: normal;
  line-height: normal;
  letter-spacing: normal;
}

.cf-div-destaque {
  width: 316px;
  height: 78px;
  font-size: 32px;
  font-weight: 800;
  color: #ffffff;
  position: absolute;
  top: 60%;
  margin-left: 22px;
}

.cf-title {
  height: 24px;
  font-size: 20px;
  font-weight: bold;
  color: #2d2d2d;
  margin-top: 23px;
}

.texto-16 {
  font-size: 16px;
  color: #2d2d2d;
  font-family: Lato;
}

.texto-18 {
  font-size: 18px;
  color: #2d2d2d;
}

.texto-20 {
  font-size: 20px;
  font-weight: bold;
  color: #2d2d2d;
}

.texto-28 {
  font-size: 28px;
  font-weight: 800;
  text-align: left;
  font-family: Lato;
}

.texto-bold {
  font-weight: bold;
}

.cf-sub-title {
  height: 22px;
  font-size: 18px;
  font-weight: 600;
  color: #7d60dc;
  /*margin-top: 22px;*/
}

.cf-body {
  /* width: 317px; */
  height: 46px;
  font-family: Lato;
  font-size: 16px;
  line-height: 1.44;
  color: #575757;
  margin-top: 11px;
}

.cf-bt-cadastre {
  width: 90%;
  max-width: 298px;
  height: 56px;
  border-radius: 12px;
  box-shadow: 0 10px 13px 0 rgba(137, 86, 154, 0.73);
  background-image: radial-gradient(circle at 5% 0, #9f42bb, #6a2283);
  font-family: Lato;
  font-size: 16px;
  font-weight: bold;
  color: #ffffff;
}

.cf-bt-menu {
  width: 268px !important;
  margin-left: 22px;
  position: absolute;
  bottom: 15px;
}

.cf-wizard {
  margin-top: 24px;
}

.cf-wizard div, .bv-wizard div {
  padding: 0;
}

.cf-wizard-img {
  object-fit: contain;
  margin: 0 auto;
}

.cf-wizard-img-div {
  width: 82px;
  float: left;
}

.cf-wizard-line {
  width: 100%;
  height: 1px;
  border: solid 1px #9685cb;
  position: initial;
  margin-left: 23px;
  margin-top: 26px;
}

.cf-wizard-line-v {
  width: 1px;
  height: 100%;
  opacity: 0.3;
  border-style: solid;
  border-width: 2px;
  border-image-source: linear-gradient(to bottom, var(--darkish-purple), #842e9e);
  border-image-slice: 1;
  position: absolute;
  margin-left: 39px;
  margin-top: 26px;
}

.bt-login {
  width: 80%;
  max-width: 298px;
  height: 56px;
  border-radius: 12px;
  box-shadow: 0 10px 13px 0 rgba(137, 86, 154, 0.73);
  background-image: radial-gradient(circle at 5% 0, #9f42bb, #6a2283);
  font-family: Lato;
  font-size: 16px;
  font-weight: bold;
  color: #ffffff;
}

.termos-title {
  font-family: Lato;
  font-size: 16px;
  font-weight: bold;
  color: #737373;
  margin-top: 17px;
}

.num-circle {
  font-size: 16px;
  font-weight: 800;
  position: absolute;
  top: 9px;
  left: 36px;
  color: #fff;
}

.title {
  font-family: Lato;
  color: #2d2d2d;
  font-weight: 800;
  margin-left: 31px;
}

.title-22 { font-size: 22px; }
.title-24 { font-size: 24px; }
.title-28 { font-size: 28px; }
.title-32 { font-size: 32px; }
.title-36 { font-size: 36px; }

.title-bem-vindo {
  width: 297px;
  height: 35px;
  margin-left: 22px;
}

.hr-bem-vindo {
  margin-right: 12px !important;
  margin-left: 12px !important;
  height: 1px;
  background-color: rgba(216, 216, 216, 0.7);
}

.margin-10 {
  margin-right: 10px !important;
  margin-left: 10px !important;
}

.margin-22 {
  margin-right: 22px !important;
  margin-left: 22px !important;
}

.margin-25 {
  margin-right: 25px !important;
  margin-left: 25px !important;
}

.margin-27 {
  margin-right: 27px !important;
  margin-left: 27px !important;
}

.margin-30 {
  margin-right: 30px !important;
  margin-left: 30px !important;
}

.margin-40 {
  margin-right: 40px !important;
  margin-left: 40px !important;
}

.margin-left-0 { margin-left: 0px !important; }
.margin-left-14 { margin-left: 14px !important; }

.space-7 { margin-top: 7px; }
.space-8 { margin-top: 8px; }
.space-12 { margin-top: 12px; }
.space-16 { margin-top: 16px; }
.space-20 { margin-top: 20px; }
.space-26 { margin-top: 26px; }
.space-30 { margin-top: 30px; }
.space-32 { margin-top: 32px; }
.space-34 { margin-top: 34px; }
.space-37 { margin-top: 37px; }
.space-40 { margin-top: 40px; }
.space-50 { margin-top: 50px; }
.space-71 { margin-top: 71px; }
.space-300 { margin-top: 300px; display: grid; }

.box-texto {
  height: 353px;
  border-radius: 4px;
  border: solid 1px #979797;
  font-family: Lato;
  font-size: 16px;
  /*font-weight: bold;*/
  color: #737373;
  padding: 25px 13px 25px 13px;
  overflow-x: auto;
}

.box-input, .box-input-file, .box-input-only {
  /* width: 312px; */
  height: 68px;
  border-radius: 12px;
  background-color: #edeaf2;
  margin-bottom: 12px;
}

.box-input-only {
  border-radius: 12px !important;
  width: -webkit-fill-available !important;
  height: 68px !important;
}

.box-input-only2 {
  border-radius: 12px !important;
}

.input-cd-tv-zanzar {
  width: 200px !important;
  padding-left: 25px;
  font-size: 40px !important;
}

.box-input-sm {
  width: 148px !important;
  padding-left: 0;
}

.box-input-sel {
  border: solid 2px #9376f0;
}

.box-input-required {
  border: solid 2px red;
  margin-bottom: 18px;
}

.box-input-required span.help-inline {
  color: red;
  padding: 5px;
  line-height: 30px;
}

.help-inline {
  color: red;
  padding: 5px;
  /* text-align: center; */
  width: 100%;
  float: left;
}

.input-label {
  font-family: Lato;
  font-size: 18px;
  font-weight: bold;
  color: #8a80ab;
  padding-left: 14px;
  padding-top: 23px;
}

.input-label-sm {
  font-family: Lato;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 0.9px;
  color: #8a80ab;
  padding-left: 14px;
  padding-top: 8px;
}

.input-label2 {
  font-family: Lato;
  font-size: 18px;
  font-weight: bold;
  color: #8a80ab;
  padding-left: 14px;
  padding-top: 23px;
  position: absolute;
  top: 0;
}

.input-label-sm2 {
  font-family: Lato;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 0.9px;
  color: #8a80ab;
  padding-left: 14px;
  padding-top: 8px;
  position: absolute;
  top: 0;
}

.cadastro .input-label {
  color: #949494 !important;
}

.input {
  background-color: #edeaf2;
  color: #565360;
  margin-left: 14px;
  width: 92%;
  height: 22px;
  font-family: Lato;
  font-size: 16px;
  font-weight: bold;
}

.input::placeholder {
  opacity: 0.43;
}

.input2 {
  background-color: #edeaf2;
  color: #565360;
  width: 92%;
  height: 22px;
  font-family: Lato;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 0px !important;
  padding-left: 15px;
  padding-top: 20px;
}

.input2::placeholder {
  opacity: 0.43;
}

.input2:focus {
  border: solid 2px #9376f0;
}

.input2:focus + label {
  font-family: Lato;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 0.9px;
  color: #8a80ab;
  padding-left: 14px;
  padding-top: 8px;
  position: absolute;
  top: 0;
}

.input-hide {
  height: 0;
}

.has-error {
  border: 1px solid #dd4b39 !important;
  box-shadow: none;
}

.label-purple {
  color: #7d60dc !important;
}

.icon-14 {
  font-size: 14px;
  margin: 5px 15px 0 0;
}

.icon-26 {
  font-size: 26px;
  margin: -5px 15px 0 0;
}

.float-right {
  float: right;
}

.div-body {
  font-family: Lato;
  font-size: 16px;
  line-height: 1.44;
  color: #575757;
  margin-top: 11px;
}

.bv-item {
  padding: 5px !important;
  margin-top: 0px;
  font-family: Lato;
  font-size: 16px;
  line-height: 1.44;
  color: #575757;
}

.bv-item-destaque {
  padding: 5px !important;
  margin-top: 0px;
  font-family: Lato;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.44;
  color: #6c2385;
}

.bv-item-max {
  max-width: 65px;
  max-height: 48px;
}

.div-separator {
  margin-right: 12px !important;
  margin-left: 12px !important;
  height: 2px;
  background-color: rgba(216, 216, 216, 0.7);
  margin-top: 20px;
  margin-bottom: 20px;
}

.div-progress {
  background-color: #9013fe;
  float: left;
  height: 2px;
  width: 0;
}

.div-progress-bullet {
  width: 8px;
  height: 8px;
  border-radius: 6px;
  border: solid 2px #e4e4e4;
  background-color: #ffffff;
  float: right;
  margin-top: -3px;
}

.bg-purple {
  background-color: #9013fe;
  border: solid 2px #9013fe;
}

.div-separator-dt {
  margin-right: 45px !important;
  margin-left: 45px !important;
  height: 4px;
  background-color: rgba(216, 216, 216, 0.7);
  margin-top: 35px;
  margin-bottom: 30px;
  border-radius: 6px;
}

.div-progress-dt {
  height: 4px;
  border-radius: 6px;
}

.div-progress-bullet-dt {
  width: 10px;
  height: 10px;
  border-radius: 6px;
}

.div-progress-bullet-100 {
  width: 10px;
  height: 10px;
  border-radius: 6px;
  border: solid 2px #9013fe;
  background-color: #ffffff;
  position: absolute;
  margin-left: 100%;
}

.center {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 50%;
}

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

.div-center {
  width: 100%;
  text-align: center;
}
.div-div-center {
  display: table;
  margin: 0 auto !important;
}

.text-destaque {
  line-height: 40px;
  margin-left: 0;
}

.bt-aceito {
  width: 298px;
  height: 56px;
  border-radius: 8px;
  background-color: #1f55cf;
  font-family: Lato;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  color: #ffffff;
}

.box-date, .box-hour {
  width: 74px;
  height: 38px;
  border-radius: 8px;
  box-shadow: 0 1px 8px 0 rgba(0, 0, 0, 0.04);
  border: solid 1px #e7e7e7;
  background-color: #ffffff;
  font-family: Lato;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  color: var(--greyish-brown);
  padding-top: 7px;
  padding-left: 10px;
  margin-right: 6px;
}

.box-hour {
  padding-left: unset;
  margin: 10px 0 0 0;
  font-size: 16px !important;
}

.box-ponto-inst {
  height: 74px;
  border-radius: 8px;
  box-shadow: 0 1px 8px 0 rgba(0, 0, 0, 0.04);
  border: solid 1px #e7e7e7;
  background-color: #ffffff;
  font-family: Lato;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  color: var(--greyish-brown);
  padding-top: 7px;
  padding-left: 14px;
  margin-right: 6px;
  margin-bottom: 12px;
}

.box-date-selected {
  box-shadow: 0 2px 12px 0 rgba(106, 34, 131, 0.42);
  border: solid 1px #5a0e74;
  background-color: var(--darkish-purple);
  font-weight: 600;
  color: #ffffff;
}

.box-date-indisponivel {
  background-color: #9c9c9c;
  border: solid 1px #e7e7e7;
  box-shadow: none;
  font-weight: 600;
  opacity: 0.3;
}

.bt-white {
  width: 80%;
  height: 48px;
  border-radius: 8px;
  box-shadow: 0 1px 8px 0 rgba(0, 0, 0, 0.04);
  border: solid 1px #e7e7e7;
  background-color: #ffffff;
  font-family: Lato;
  font-size: 16px;
  font-weight: 500;
  color: var(--greyish-brown);
}

.box-ponto-inst .titulo {
  width: 100%;
  /* height: 23px; */
  font-family: Lato;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.44;
  color: var(--greyish-brown);
  text-align: left;
  margin-bottom: 4px;
  margin-top: 3px;
}

.box-ponto-inst .endereco {
  display: table;
  height: 23px;
  font-family: Lato;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.92;
  color: var(--greyish-brown);
  border-bottom: dashed 1px var(--purpley);
  text-align: left;
  margin-bottom: 6px;
}

.box-ponto-inst .km {
  width: 39px;
  height: 23px;
  font-family: Lato;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.64;
  text-align: right;
  color: var(--greyish-brown);
}

.box-date-selected .titulo, .box-date-selected .endereco, .box-date-selected .km, .box-date-selected .data {
  font-weight: 500 !important;
  color: #ffffff !important;
}

.icon-12 {
  font-size: 12px;
  margin: 0;
  color: #9685cb;
}

.box-ponto-confirm {
  min-height: 125px;
  height: 100%;
  box-shadow: 0 1px 8px 0 rgba(0, 0, 0, 0.12);
}

.box-ponto-inst .data {
  height: 50px;
  font-family: Lato;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.44;
  text-align: right;
  color: var(--greyish-brown);
  border-top: solid 1px #e7e7e7;
  margin-top: 11px;
  margin-left: -14px;
  margin-right: -15px;
  text-align: center;
  padding-top: 13px;
}

.div-gray {
  height: 99px;
  background-color: rgba(150, 133, 203, 0.2);
  font-family: Lato;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.44;
  text-align: center;
  color: #575757;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  transform-style: preserve-3d;
  padding: 0 30px;
}

.vcenter {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}

.hcenter {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

.navigation {
  height: 60px;
  width: 100%;
  bottom: 0px;
  position: fixed;
  background: #ffffff;
  border-top: solid 1px rgba(53, 52, 61, 0.31);
  z-index: 99999;
}

.nav-icon {
  background-repeat: no-repeat;
  background-position: center 8px;
  background-size: 20px 20px;
  padding-top: 17px;
}

.three-icons a {
  height: 100%;
  width: 33.33%;
  text-align: center;
  float: left;
  font-size: 25px;
  color: var(--purpley);
}

.icon-menu {
  width: 48px;
  height: 48px;
  margin-top: -12px;
}

.icon-sel {
  border-radius: 8px;
  background-color: var(--purpley);
  color: #fff;
}

.box-destaque {
  box-shadow: 0 10px 13px 0 rgba(137, 86, 154, 0.73);
  background-image: radial-gradient(circle at 5% 0, #9f42bb, #6a2283);
  font-family: Lato;
  font-size: 16px;
  font-weight: bold;
  color: #ffffff;
  border: none;
}

.box-destaque .titulo, .box-destaque .endereco, .box-destaque .km, .box-destaque .data {
  font-weight: 500 !important;
  color: #ffffff !important;
}

.box-destaque .endereco, .box-date-selected .endereco {
  border-bottom: dashed 1px #fff;
}

.link-text-12 {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.5px;
  margin-top: 5px;
}

/*-------------------*/
.content {
  padding: 15px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}

.error-page {
  width: 50%;
  margin: 100px auto 0 auto;
}

.error-page > .headline {
  float: left;
  font-size: 100px;
  font-weight: 300;
}

.text-yellow {
  color: #f39c12 !important;
}

.text-purple {
  color: var(--darkish-purple);
}

.error-page > .error-content {
  margin-left: 190px;
  display: block;
}

.error-page > .error-content > h3 {
  font-weight: 300;
  font-size: 25px;
}

@media(max-width: 768px) {
  .error-page {
    width: 100%;
  }

  .error-page > .headline {
    float: none;
    text-align: center;
  }

  .error-page > .error-content {
    margin: 60px 10px 0 15px;
    text-align: center;
  }
}

.div-bottom {
  position: fixed;
  bottom: 25px;
}

@media(max-height: 400px) {
  .div-bottom {
    position: relative !important;
  }
}

.header-cf {
  position: absolute !important;
}

.checkbox-nice {
  position: relative;
}

.checkbox-nice input[type=checkbox] {
  visibility: hidden;
}

.checkbox-nice label {
  padding-top: 3px;
  padding-left: 35px;
}

.checkbox-nice.checkbox-inline > label {
  margin-left: 16px;
}

.checkbox-nice label:before {
  cursor: pointer;
  position: absolute;
  width: 24px;
  height: 24px;
  left: 1px;
  top: 1px;
  background: #ffffff;
  content: "";
  border: 2px solid #cecece;
  border-radius: 6px;
  background-clip: padding-box;
  background-color: #edeaf2;
}

.checkbox-nice label:after {
  opacity: 0;
  content: '';
  position: absolute;
  width: 21px;
  height: 12px;
  background: transparent;
  top: 1px;
  left: 7px;
  border: 4px solid #9376f0;
  border-top: none;
  border-right: none;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.checkbox-nice input[type=checkbox]:checked+label:after {
  opacity: 1;
}

.checkbox-nice input[type=checkbox]:checked+label:before {
  border: 2px solid #9376f0;
}

.bt-upload-perfil {
  width: 86%;
  text-align: left;
  padding-top: 0;
  margin-bottom: 0
}

.box-validated {
  border: 1px solid #2cde2c;
  background-color: #e8f5e8;
}

.box-falha {
  border: 1px solid #ff0000;
  background-color: #f7efef;
}

.fileContainer .uploadPictureContainer {
  width: 100% !important;
}

.fileContainer {
  box-shadow: none !important;
  padding: 0 !important;
}

/* .fileContainer input {
  position: relative !important;
} */

.bt-verificacao {
  height: 100%;
  padding-top: 8px;
  padding-left: 24px;
  color: #fff;
  font-weight: 500;
}

.box-bt-verificacao {
  height: 42px;
  font-family: Lato;
  font-size: 16px;
  border-top: solid 2px #e7e7e742;
  margin-top: 16px;
  margin-left: -24px;
  margin-right: -15px;
  text-align: left;
}

.box-verificacao {
  padding-left: 24px;
  padding-top: 15px;
}

.box-verificacao .titulo {
  font-size: 18px !important;
}

.box-historico-title {
  border-bottom: solid 2px #97979726;
  margin-left: 15px !important;
  margin-right: 0 !important;
  padding-bottom: 8px;
}

.box-historico {
  margin-left: 15px !important;
  margin-right: 0 !important;
  padding-bottom: 8px;
}

.back-button {
  background-color: transparent;
}


/*-----------------------------*/
.upload-btn-wrapper {
  width: 100%;
  position: relative;
  overflow: hidden;
  display: inline-block;
}
  
.upload-btn-wrapper button {
  width: 86%;
  text-align: left;
  padding: 0px 0px 0px 14px;
  border-radius: 12px;
  background-color: rgb(237, 234, 242);
  font-size: 18px;
  font-weight: bold;
}

.upload-btn-wrapper input[type=file] {
  font-size: 100px;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
}

.deleteImage {
  position: absolute;
  top: -9px;
  right: -9px;
  color: #fff;
  background: #ff4081;
  border-radius: 50%;
  text-align: center;
  cursor: pointer;
  font-size: 26px;
  font-weight: bold;
  line-height: 30px;
  width: 30px;
  height: 30px;
}

.uploadPicturesWrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
}

.uploadPictureContainer {
  width: 100% !important;
  margin: 5%;
  padding: 10px;
  background: #f7f7f7;
  display: flex;
  align-items: center;
  justify-content: center;
  height: inherit;
  box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.1);
  border: 1px solid #d0dbe4;
  position: relative;
}

.uploadPicture {
  width: '100%';
  height: undefined;
}