/*
*  theme overwrite 
=================================
=================================
=================================*/
/**! user style **/
/**! ----- font family init ---- **/
h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 400;
    font-family: "SFUI", sans-serif;
}

p {
    font-weight: 400;
    font-family: "SFUI", sans-serif;
}

.blockquote h4 {
    line-height: 3rem;
}

.blockquote h5 {
    line-height: 2.8rem;
}

/**! ----- font Setting (size & line height, spacing etc) ---- **/
.h1-font,
h1 {
    font-size: 2.25rem;
    line-height: 1.35;
}

@media only screen and (min-width: 768px) {

    .h1-font,
    h1 {
        font-size: 3.75rem;
        line-height: 1.16;
    }
}

.h2-font,
h2 {
    font-size: 2.25rem;
    line-height: 1.35;
}

@media only screen and (min-width: 768px) {

    .h2-font,
    h2 {
        font-size: 3rem;
        line-height: 1.2;
    }
}

.h3-font,
h3 {
    font-size: 2.25rem;
    line-height: 1.35;
}

.h4-font,
h4 {
    font-size: 1.5rem;
    line-height: 1.4;
}

.h5-font,
h5 {
    font-size: 1.375rem;
    line-height: 1.5;
}

.h6-font,
h6,
.blockquote {
    font-size: 1.125rem;
    line-height: 1.65;
}

.body-font,
p {
    font-size: 1.15rem;
    line-height: 1.75;
}

/**! ----- Theme Common colors (Also Used as extend in SCSS ) ---- **/
mark,
ins,
.bg-color--primary,
[class*="bg-color--primary-opacity-"]::before,
.btn-bg--primary,
.btn-bg--primary--05::after,
.btn-hover--primary:hover,
.card-hover--bg--primary-shadow.focused,
.card-hover--bg--primary-shadow:hover,
.preloader .blobs .blob-center,
.preloader .blob,
.form--v8:after,
.ico-progress--v2 .ico-progress__stages:after,
.decor,
.carosuel-slider--v1 .slick-dots .slick-active button,
.carosuel-triangle:hover,
.label-bg--light--200::before,
.pagination .page-item.active .page-link,
.sticky .card,
.sticky .article__thumbnail-image::before,
.widget_calendar tbody a,
.post-navigation .meta-nav::before,
.navbar-sticky--moved-up.sticky-bg-color--primary,
.roadmap--v4 .roadmap-item--current .timeline-line:before {
    background: #25dc8c;
}

.color--primary,
.card--v2 .card.focused .card__title,
.card--v2 .card:hover .card__title,
a.list-group-item:hover,
a.list-group-item.active,
a.list-group-item:focus,
.text-hover--primary:hover,
.section--dark .text-hover--primary:hover,
.section--darkblue .text-hover--primary:hover,
.icon-rounded-color--gray i:hover,
.carosuel-arrow,
.carosuel-cursor--dark i:hover,
.dropdown-module__item:focus,
.dropdown-module__item:hover,
.dropdown-module--dark .dropdown-module__item:focus,
.dropdown-module--dark .dropdown-module__item:hover,
.label-bg--primary,
.pagination .page-item:not(.active) .page-link,
.breadcrumb--v1 .breadcrumb,
.breadcrumb--v1 .breadcrumb a,
.blog-details .article-content a,
.blog-details .comment-content a,
.article-author__name:hover,
.article__title h2:hover,
.blog-details .entry-header .entry-author .url:hover,
.blog-details .entry-meta .post-categories a,
.blog-sidebar .widget-title,
.blog-sidebar .widget li a:hover,
.blog-sidebar .widget li a:focus,
.blog-sidebar .widget li a:hover i,
.blog-sidebar .widget li a:focus i,
.blog-sidebar .widget_tag_cloud ul li a:hover,
.blog-sidebar .widget_nav .menu li .current_page_item>a,
.blog-sidebar .widget_nav .menu li .current-menu-item>a,
.widget_calendar tfoot a,
.widget_rss .widget-title .rsswidget,
.post-navigation .meta-nav,
.post-navigation .post-title:hover,
.tags-links a,
.comments-area .comment-reply-link,
.dropdown-item:focus,
.dropdown-item:hover,
.dropdown-item.active,
.dropdown-item:active,
.footer.section--light a:hover {
    color: #25dc8c;
}

.fill--primary rect,
.fill--primary path,
.fill--primary polygon,
.fill--primary circle {
    fill: #25dc8c;
}

.btn-border--color--primary,
.btn-hover--primary.btn-border--color--dark:hover,
.btn-hover--primary.btn-border--color--light:hover,
.icon-rounded-color--primary,
.icon-rounded-color--gray i:hover,
.carosuel-arrow {
    border-color: #25dc8c;
}

/*---- Boxed Layout Init----*/
body.boxed-layout .main,
body.boxed-layout .navbar {
    max-width: 1366px;
}

/*! Place your custom styles here (below). 
      This will make it much easier to update the template later - you'll only need to preserve "this file
  ===================================================================================================*/

.bg-topo {
    background-color: #01c390;
}

.title-grey {
    color: #4a4a4a;
}

.bg-header {
    background: #23af70;
}

.bg-topo-video {
    width: 100% !important;
    outline: none !important;
}

.carosuel-slider--v3 .slide .card-body,
.carosuel-slider--v3 .slide .card-footer {
    opacity: 1;
}

/* .section-servicos {
	margin-top: -220px;
	padding-top: 3.25rem !important;
} */

/* .home .carosuel-cursor {
	top: -3.25rem;
} */

.bg-color1 {
    background-color: rgba(37, 220, 140, 0.95);
}

.bg-color2 {
    background-color: rgba(28, 171, 109, 0.95);
}

.bg-color3 {
    background-color: #138151;
}

.bg-color4 {
    background-color: #0a5c38;
}

.svg-shape--top svg g .fill {
    background: #ffffff !important;
}

.footer.section--dark p,
.footer.section--dark a {
    opacity: 1;
}

.img-footer {
    width: 360px;
    margin-bottom: -300px;
}

@media all and (max-width: 1052px) {
    .img-footer {
        width: 230px;
        margin-bottom: -150px;
    }
}

@media all and (max-width: 768px) {
    .img-footer {
        width: 300px;
        margin-bottom: -150px;
    }
}

.btn-bg--cta--3 {
    background: #f7155e;
    color: #fff;
}

.pt-140 {
    padding-top: 140px;
}

.bg-services {
    background-image: url('../img/kapsula/bg-servicos.png');
    background-size: cover;
    background-attachment: fixed;
}

.vertical-align {
    display: grid;
    align-content: center;
}

.citacao-perguntas {
    padding-left: 16px;
    color: #484a53;
    padding-top: 8px;
    padding-bottom: 10px;
    border-left: 5px solid #24dc8e;
}

h2,
h3,
h4 {
    color: #424242;
}

@media only screen and (min-width: 992px) {
    .intro-video--v1 .about-video__pattern {
        top: -2.25rem;
    }
}

.bg-descricao-video {
    opacity: 0.7;
}

.desc-depoimento {
    max-width: 270px;
    line-height: 1.5;
    opacity: 1 !important;
    color: #fff;
}

.relative {
    position: relative;
}

@media all and (min-width: 1199px) {
    .slider-depoimentos .slick-slide {
        min-height: 486px;
    }
}

.carosuel-triangle-v2 {
    position: absolute !important;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    height: 3rem;
    width: 3rem;
    background: white;
    border-radius: 6.25rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 1rem;
    border: 1px solid #ececec;
    color: #D6E0EE;
    bottom: -4.25rem;
}

.carosuel-triangle-v2--prev {
    margin-left: -1.8125rem;
}

.carosuel-triangle-v2--next {
    margin-left: 1.8125rem;
}

.carosuel-triangle-v2--next i {
    margin-top: 0.125rem;
}

.carosuel-triangle-v2:hover {
    border-color: transparent;
    color: #fff;
}

.cta-contato {
    background: #f6165e;
    border: none;
    border-radius: 500px;
    font-weight: bold;
}

.embed-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
    z-index: 9;
}

.embed-container iframe,
.embed-container object,
.embed-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9;
}

#section-topo {
    margin-top: -2px;
}

.message {
    display: block;
    margin-bottom: 20px;
    padding: 15px;
    text-align: center;
    -webkit-border-radius: var(--radius-medium);
    -moz-border-radius: var(--radius-medium);
    border-radius: var(--radius-medium);
    border: 1px solid #cccccc;
    font-weight: var(--weight-bold);
}

.message.success {
    color: var(--color-green);
    border-color: var(--color-green);
}

.message.info {
    color: var(--color-blue);
    border-color: var(--color-blue);
}

.message.warning {
    color: var(--color-yellow);
    border-color: var(--color-yellow);
}

.message.error {
    color: var(--color-red);
    border-color: var(--color-red);
}
.card-height {
    height: 100%;
}

@media all and (max-width: 991px) {
    .is-hidden-mobile {
        display: none;
    }

    .text-center-mobile {
        text-align: center;
    }

    .navbar .btn:last-child.cta-contato {
        color: #c8c8ca !important;
        margin: 0 auto !important;
        text-align: left !important;
        width: 100% !important;
        border-radius: 0 !important;
        display: block !important;
        padding-left: 17.5px !important;
        padding-top: 14px !important;
        padding-bottom: 14px !important;
        background: transparent !important;
        border-bottom: 01px solid #2b2b35 !important;
    }
}

@media all and (min-width: 992px) {
    .is-hidden-desktop {
        display: none;
    }
}

@media all and (min-width: 992px) and (max-width: 1199px) {
    .hero--full {
        min-height: 800px;
    }
}

.carosuel-triangle-v2:hover,
.carosuel-triangle-v2:active,
.carosuel-triangle-v2:focus {
    border-color: #ececec;
    color: #D6E0EE;
}

.footer-nav ul {
    color: #fff;
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-nav li a {
    color: #fff;
}

@media all and (max-width: 767px) {
    .text-center-mobile-footer {
        text-align: center !important;
    }
}

.card--v3 .card:hover {
    -webkit-box-shadow: 0 20px 44px 0 rgba(0,0,0,.15), 0 0 0 5px rgba(62, 204, 95, 0.43) !important;
    box-shadow: 0 20px 44px 0 rgba(0,0,0,.15), 0 0 0 5px rgba(62, 204, 95, 0.43) !important;
}


/* =========================== */
/*      TOPO ANIMATE CSS       */
/* =========================== */
.topo-animate {
    background-color: #38d58f;
    width: 100%;
    min-height: calc(100vh - 90px);
    overflow: hidden;
    display: flex;
}

.center-content {
    display: grid;
    align-content: center;
    width: 100%;
}

.bg-predios {
    position: absolute;
    width: 100vw;
    height: 30vh;
    top: 25vh;
    background-image: url(../img/animacao/predios.png);
    background-repeat: repeat-x;
    background-position: 25%;
    background-size: cover;
    animation: movimento-predios linear 10s;
    -webkit-animation: movimento-predios linear 10s;
    -moz-animation: movimento-predios linear 10s;
    -o-animation: movimento-predios linear 10s;

    animation-iteration-count: infinite;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -o-animation-iteration-count: infinite;
}

.bg-chao {
    position: absolute;
    width: 100vw;
    height: 28vh;
    top: 49vh;
    background-image: url(../img/animacao/chao.png);
    background-repeat: repeat-x;
    background-size: cover;
    animation: movimento-chao linear 10s;
    -webkit-animation: movimento-chao linear 10s;
    -moz-animation: movimento-chao linear 10s;
    -o-animation: movimento-chao linear 10s;

    animation-iteration-count: infinite;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -o-animation-iteration-count: infinite;
}

.bg-portal {
    position: absolute;
    width: 82vh;
    height: 82vh;
    right: -100%;
    background-image: url(../img/animacao/portal.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position-x: 100%;
    animation: movimento-portal linear 10s;
    -webkit-animation: movimento-portal linear 10s;
    -moz-animation: movimento-portal linear 10s;
    -o-animation: movimento-portal linear 10s;

    animation-iteration-count: infinite;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -o-animation-iteration-count: infinite;
}

.portal-sobrepor {
    background-image: url(../img/animacao/portal-sobrepor.png) !important;
    z-index: 15;
}

.ator {
    width: 55vh;
    max-width: 420px;
    position: relative;
}

.atores {
    position: relative;
    animation: movimento-ator linear 10s;
    -webkit-animation: movimento-ator linear 10s;
    -moz-animation: movimento-ator linear 10s;
    -o-animation: movimento-ator linear 10s;

    animation-iteration-count: infinite;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -o-animation-iteration-count: infinite;
    z-index: 9;
}

.text-final {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
    padding: 20px;
    position: relative;
    top: 25%;
    z-index: 999;
}

.text-bg {
    position: absolute;
    width: 100%;
    height: calc(100vh - 90px);
    background: #00d38d;
    z-index: 999;
    animation: movimento-letter linear 10s;
    -webkit-animation: movimento-letter linear 10s;
    -moz-animation: movimento-letter linear 10s;
    -o-animation: movimento-letter linear 10s;

    animation-iteration-count: infinite;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -o-animation-iteration-count: infinite;
}

/*AUTH IN*/
.auth_content {
    color: #555555;
}

.auth_content a {
    font-weight: var(--weight-bold);
    color: var(--color-green);
    text-decoration: none;
    transition: var(--hover-duration);
}

.auth_content a:hover {
    color: var(--hover-color-green);
}

.auth_header {
    text-align: center;
    margin-bottom: 50px;
}

.auth_header h1 {
    font-size: 2.4em;
    font-weight: var(--weight-light);
}

.auth_form {
    width: 500px;
    max-width: 100%;
    margin: 0 auto;
}

.auth_form_label{
    display: flex;
}

.auth_form_label label{
    width: calc(50% - 10px);
}

.auth_form_label label:last-of-type{
    margin-left: 20px;
}

.auth_form label {
    display: block;
    margin-top: 30px;
}

.auth_form label div {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    justify-content: space-between;
    font-size: var(--font-small);
    font-weight: var(--weight-bold);
}

.auth_form label input {
    color: #555555;
    display: block;
    width: 100%;
    font-size: var(--font-normal);
    padding: 15px 20px;
    outline: none;
    border: 1px solid #cccccc;
    border-radius: var(--radius-medium);
    -webkit-border-radius: var(--radius-medium);
    -moz-border-radius: var(--radius-medium);
}

.auth_form .check {
    cursor: pointer;
    display: flex;
    align-items: center;
    margin: 20px 0 30px 0;
    font-size: var(--font-small);
    transition: var(--hover-duration);
}

.auth_form .check:hover {
    color: #000000;
}

.auth_form .check input {
    width: auto;
    font-size: var(--font-large);
    margin-right: 10px;
    display: inline-block;
}

.auth_form_btn {
    display: block;
    width: 100%;
    border: none;
    padding: 15px;
    font-size: var(--font-medium);
    color: #ffffff;
    font-weight: var(--weight-black);
    cursor: pointer;
    -webkit-border-radius: var(--radius-medium);
    -moz-border-radius: var(--radius-medium);
    border-radius: var(--radius-medium);
    margin-top: 30px;
}

/* KEY FRAMES */
@keyframes movimento-letter {
    0% {
        opacity: 0;
    }

    25% {
        opacity: 0;
    }

    50% {
        opacity: 0;
    }

    75% {
        opacity: 0;
    }

    80% {
        opacity: 1;
    }

    100% {
        opacity: 1;
    }
}

@keyframes movimento-ator {
    0% {
        left: -10%;
    }

    100% {
        left: 100%;
    }
}

@keyframes movimento-portal {
    0% {
        right: -70%;
        opacity: 1;
    }

    65% {
        opacity: 1;
    }

    80% {
        right: -2%;
        opacity: 1;
    }

    95% {
        right: -2%;
        opacity: 1;
    }

    100% {
        right: -2%;
        opacity: 0;
    }
}

@keyframes movimento-predios {
    0% {
        background-position-x: 25%;
        opacity: 1;
    }

    25% {
        opacity: 1;
    }

    50% {
        opacity: 0.3;
    }

    65% {
        opacity: 0;
    }

    100% {
        background-position-x: 100%;
        opacity: 0;
    }
}

@keyframes movimento-chao {
    0% {
        background-position-x: 0%;
        opacity: 1;
    }

    25% {
        opacity: 1;
    }

    50% {
        opacity: 0.3;
    }

    65% {
        opacity: 0;
    }

    100% {
        background-position-x: 100%;
        opacity: 0;
    }
}

/* KEY - FRAME MOZ */
@-moz-keyframes movimento-letter {
    0% {
        opacity: 0;
    }

    25% {
        opacity: 0;
    }

    50% {
        opacity: 0;
    }

    75% {
        opacity: 0;
    }

    80% {
        opacity: 1;
    }

    100% {
        opacity: 1;
    }
}

@-moz-keyframes movimento-ator {
    0% {
        left: -10%;
    }

    100% {
        left: 100%;
    }
}

@-moz-keyframes movimento-portal {
    0% {
        right: -70%;
        opacity: 1;
    }

    65% {
        opacity: 1;
    }

    80% {
        right: -2%;
        opacity: 1;
    }

    95% {
        right: -2%;
        opacity: 1;
    }

    100% {
        right: -2%;
        opacity: 0;
    }
}

@-moz-keyframes movimento-predios {
    0% {
        background-position-x: 25%;
        opacity: 1;
    }

    25% {
        opacity: 1;
    }

    50% {
        opacity: 0.3;
    }

    65% {
        opacity: 0;
    }

    100% {
        background-position-x: 100%;
        opacity: 0;
    }
}

@-moz-keyframes movimento-chao {
    0% {
        background-position-x: 0%;
        opacity: 1;
    }

    25% {
        opacity: 1;
    }

    50% {
        opacity: 0.3;
    }

    65% {
        opacity: 0;
    }

    100% {
        background-position-x: 100%;
        opacity: 0;
    }
}

/* KEYFRAME WEBKIT */
@-webkit-keyframes movimento-letter {
    0% {
        opacity: 0;
    }

    25% {
        opacity: 0;
    }

    50% {
        opacity: 0;
    }

    75% {
        opacity: 0;
    }

    80% {
        opacity: 1;
    }

    100% {
        opacity: 1;
    }
}

@-webkit-keyframes movimento-ator {
    0% {
        left: -10%;
    }

    100% {
        left: 100%;
    }
}

@-webkit-keyframes movimento-portal {
    0% {
        right: -70%;
        opacity: 1;
    }

    65% {
        opacity: 1;
    }

    80% {
        right: -2%;
        opacity: 1;
    }

    95% {
        right: -2%;
        opacity: 1;
    }

    100% {
        right: -2%;
        opacity: 0;
    }
}

@-webkit-keyframes movimento-predios {
    0% {
        background-position-x: 25%;
        opacity: 1;
    }

    25% {
        opacity: 1;
    }

    50% {
        opacity: 0.3;
    }

    65% {
        opacity: 0;
    }

    100% {
        background-position-x: 100%;
        opacity: 0;
    }
}

@-webkit-keyframes movimento-chao {
    0% {
        background-position-x: 0%;
        opacity: 1;
    }

    25% {
        opacity: 1;
    }

    50% {
        opacity: 0.3;
    }

    65% {
        opacity: 0;
    }

    100% {
        background-position-x: 100%;
        opacity: 0;
    }
}

/* KEYFRAME - O */
@-o-keyframes movimento-letter {
    0% {
        opacity: 0;
    }

    25% {
        opacity: 0;
    }

    50% {
        opacity: 0;
    }

    75% {
        opacity: 0;
    }

    80% {
        opacity: 1;
    }

    100% {
        opacity: 1;
    }
}

@-o-keyframes movimento-ator {
    0% {
        left: -10%;
    }

    100% {
        left: 100%;
    }
}

@-o-keyframes movimento-portal {
    0% {
        right: -70%;
        opacity: 1;
    }

    65% {
        opacity: 1;
    }

    80% {
        right: -2%;
        opacity: 1;
    }

    95% {
        right: -2%;
        opacity: 1;
    }

    100% {
        right: -2%;
        opacity: 0;
    }
}

@-o-keyframes movimento-predios {
    0% {
        background-position-x: 25%;
        opacity: 1;
    }

    25% {
        opacity: 1;
    }

    50% {
        opacity: 0.3;
    }

    65% {
        opacity: 0;
    }

    100% {
        background-position-x: 100%;
        opacity: 0;
    }
}

@-o-keyframes movimento-chao {
    0% {
        background-position-x: 0%;
        opacity: 1;
    }

    25% {
        opacity: 1;
    }

    50% {
        opacity: 0.3;
    }

    65% {
        opacity: 0;
    }

    100% {
        background-position-x: 100%;
        opacity: 0;
    }
}

/* KEYFRAME - MS */
@-ms-keyframes movimento-letter {
    0% {
        opacity: 0;
    }

    25% {
        opacity: 0;
    }

    50% {
        opacity: 0;
    }

    75% {
        opacity: 0;
    }

    80% {
        opacity: 1;
    }

    100% {
        opacity: 1;
    }
}

@-ms-keyframes movimento-ator {
    0% {
        left: -10%;
    }

    100% {
        left: 100%;
    }
}

@-ms-keyframes movimento-portal {
    0% {
        right: -70%;
        opacity: 1;
    }

    65% {
        opacity: 1;
    }

    80% {
        right: -2%;
        opacity: 1;
    }

    95% {
        right: -2%;
        opacity: 1;
    }

    100% {
        right: -2%;
        opacity: 0;
    }
}

@-ms-keyframes movimento-predios {
    0% {
        background-position-x: 25%;
        opacity: 1;
    }

    25% {
        opacity: 1;
    }

    50% {
        opacity: 0.3;
    }

    65% {
        opacity: 0;
    }

    100% {
        background-position-x: 100%;
        opacity: 0;
    }
}

@-ms-keyframes movimento-chao {
    0% {
        background-position-x: 0%;
        opacity: 1;
    }

    25% {
        opacity: 1;
    }

    50% {
        opacity: 0.3;
    }

    65% {
        opacity: 0;
    }

    100% {
        background-position-x: 100%;
        opacity: 0;
    }
}