/*
*
* =================================================================
* SKIN 
* =================================================================
*
* Populate this file with the CSS of your custom design. 
* Include this file into the <head> area of your pages, after the style.css and any other css file.
*
*/

@import url('https://fonts.googleapis.com/css?family=Montserrat:500,600,700,800');

/* 

# COLORS
===================================================================

*/

body,
p,
a,
.btn-text,
.input-text,
.input-select,
.input-textarea,
.cnt-box-blog-side .btn-text:not(:hover):after,
.cnt-box-blog-top .btn-text:not(:hover):after,
.icon-list span,
.icon-list span a,
.social-links a i,
a,
.glide__arrow,
.search-bar input[type=submit],
.menu-cnt>ul>li a,
.media-box.media-box-down .caption p {
    color: rgb(64, 77, 96);
}

/* SEO preservation pages */
.loop-seo-page .loop-seo-hero {
    background: linear-gradient(110deg, rgba(244, 250, 252, .96), rgba(232, 243, 247, .9));
    padding: 170px 0 92px;
}

.loop-seo-hero h1 {
    color: #0f2533;
    font-size: clamp(2.35rem, 4.6vw, 4.8rem);
    font-weight: 900;
    line-height: 1.04;
    max-width: 860px;
    margin: 20px 0 22px;
}

.loop-seo-hero p {
    color: #3f5d70;
    font-size: clamp(1.05rem, 1.6vw, 1.28rem);
    line-height: 1.55;
    max-width: 720px;
    margin: 0 0 30px;
}

.loop-seo-content {
    padding: 86px 0;
    background: #fff;
}

.loop-seo-content h2 {
    color: #0f2533;
    font-size: clamp(1.85rem, 3vw, 3rem);
    font-weight: 900;
    line-height: 1.12;
    margin: 0 0 22px;
}

.loop-seo-content p {
    color: #4d6678;
    font-size: 1.02rem;
    line-height: 1.72;
}

.loop-seo-panel,
.loop-seo-card-grid article,
.loop-seo-note {
    background: #f7fbfd;
    border: 1px solid rgba(0, 71, 103, .1);
    border-radius: 8px;
    box-shadow: 0 18px 45px rgba(0, 71, 103, .06);
}

.loop-seo-panel {
    padding: 34px;
}

.loop-seo-panel h3,
.loop-seo-card-grid h3 {
    color: #0f2533;
    font-size: 1.24rem;
    font-weight: 850;
    margin: 0 0 14px;
}

.loop-seo-panel ul {
    margin: 0;
    padding-left: 20px;
    color: #3f5d70;
    line-height: 1.68;
}

.loop-seo-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    margin-top: 46px;
}

.loop-seo-card-grid-wide {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 0;
}

.loop-seo-card-grid article {
    padding: 28px;
}

.loop-seo-card-grid p {
    font-size: .98rem;
    margin: 0;
}

.loop-seo-note {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    margin-top: 42px;
    padding: 26px 30px;
    color: #3f5d70;
}

.loop-seo-note strong {
    color: #0f2533;
    min-width: 160px;
}

@media (max-width: 991.98px) {
    .loop-seo-page .loop-seo-hero {
        padding: 150px 0 70px;
    }

    .loop-seo-card-grid,
    .loop-seo-card-grid-wide {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .loop-seo-page .loop-seo-hero {
        padding: 128px 0 56px;
    }

    .loop-seo-content {
        padding: 64px 0;
    }

    .loop-seo-card-grid,
    .loop-seo-card-grid-wide {
        grid-template-columns: 1fr;
    }

    .loop-seo-panel,
    .loop-seo-card-grid article,
    .loop-seo-note {
        padding: 24px;
    }

    .loop-seo-note {
        display: block;
    }

    .loop-seo-note strong {
        display: block;
        margin-bottom: 8px;
    }
}

/*
*
* =================================================================
* LOOP SISTEMAS LANDING PAGE
* =================================================================
*
*/

.loop-landing {
    background: #f5f8fb;
    color: #263645;
}

.loop-landing h1,
.loop-landing h2,
.loop-landing h3,
.loop-landing h4,
.loop-landing p,
.loop-landing a,
.loop-landing span,
.loop-landing strong {
    letter-spacing: 0;
}

.loop-nav.menu-top-logo {
    background: rgba(255, 255, 255, .94);
    border-bottom: 1px solid rgba(0, 71, 103, .08);
    box-shadow: 0 18px 50px rgba(16, 38, 56, .08);
    backdrop-filter: blur(16px);
}

.loop-nav .menu-brand img {
    max-height: 46px;
    width: auto;
}

.loop-nav .menu-brand {
    overflow: visible !important;
}

.loop-nav .menu-brand>a {
    align-items: center !important;
    display: flex !important;
    height: auto !important;
    overflow: visible !important;
}

.loop-nav .loop-header-logo {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    object-fit: contain !important;
    width: 182px !important;
}

.loop-nav .menu-cnt>ul>li>a {
    font-weight: 700;
    color: #17374a;
}

.loop-nav .menu-cnt>ul>li>a:hover {
    color: #008fb0;
}

.loop-nav .nav-label>a {
    background: #004767 !important;
    border-radius: 6px;
    color: #fff !important;
    padding: 12px 18px !important;
}

.loop-nav .nav-label>a span,
.loop-nav .nav-label>a i {
    color: #fff !important;
}

.loop-nav .menu-right {
    display: none !important;
    margin-left: 18px;
}

.loop-nav .area-cliente-btn a {
    align-items: center;
    background: #0f2533;
    border-radius: 6px;
    color: #fff;
    display: inline-flex;
    gap: 9px;
    min-height: 44px;
    padding: 0 17px;
}

.loop-nav .area-cliente-btn a span,
.loop-nav .area-cliente-btn a i {
    color: #fff;
}

.loop-nav #main-menu>li.nav-client-label>a {
    align-items: center;
    background: #eef6f9;
    border: 1px solid rgba(0, 71, 103, .12);
    border-radius: 6px;
    color: #004767 !important;
    display: inline-flex;
    font-weight: 800;
    gap: 8px;
    line-height: 1.2;
    margin-left: 6px;
    padding: 13px 15px !important;
    white-space: nowrap;
}

.loop-nav #main-menu>li.nav-client-label>a i {
    color: #004767 !important;
    font-size: 14px;
}

.loop-nav #main-menu>li.nav-client-label>a:hover {
    background: #dff0f5;
    color: #006f8d !important;
}

.loop-hero {
    background:
        linear-gradient(120deg, rgba(247, 251, 253, .98) 0%, rgba(247, 251, 253, .96) 42%, rgba(230, 240, 246, .94) 100%),
        url("media/wide-large-1.jpg") center/cover no-repeat;
    min-height: 100vh;
    overflow: hidden;
    padding: 168px 0 112px;
    position: relative;
}

.loop-hero:before {
    background: #004767;
    bottom: 0;
    content: "";
    height: 6px;
    left: 0;
    position: absolute;
    right: 0;
}

.loop-kicker,
.loop-section-label {
    align-items: center;
    color: #007f9c;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    gap: 11px;
    letter-spacing: 0;
    margin-bottom: 22px;
    text-transform: uppercase;
}

.loop-kicker span,
.loop-section-label:before {
    background: #00a7c4;
    content: "";
    display: inline-block;
    flex-shrink: 0;
    height: 2px;
    width: 42px;
}

.loop-kicker {
    display: block;
    padding-left: 53px;
    text-indent: -53px;
}

.loop-kicker span {
    display: inline-block;
    margin-right: 11px;
    vertical-align: middle;
}

.loop-kicker-br {
    display: none;
}

.loop-nowrap {
    white-space: nowrap;
}

@media (min-width: 992px) {
    .loop-kicker {
        align-items: center;
        display: flex;
        font-size: 10px;
        gap: 11px;
        padding-left: 0;
        text-indent: 0;
        white-space: nowrap;
    }

    .loop-kicker span {
        margin-right: 0;
    }

    .loop-kicker-br {
        display: block;
    }
}

.loop-hero h1 {
    color: #0c2637;
    font-size: 62px;
    font-weight: 800;
    line-height: 1.02;
    margin: 0 0 24px;
    max-width: 720px;
    text-transform: none;
}

.loop-lead {
    color: #40566a;
    font-size: 20px;
    line-height: 1.65;
    margin-bottom: 34px;
    max-width: 620px;
}

.loop-hero-actions,
.loop-conversion-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
}

.loop-btn-primary,
.btn.loop-btn-primary {
    background: #004767;
    border: 1px solid #004767;
    border-radius: 6px;
    box-shadow: 0 18px 36px rgba(0, 71, 103, .22);
    color: #fff !important;
    font-weight: 800;
    min-width: 218px;
    padding: 16px 25px;
}

.loop-btn-primary:hover,
.btn.loop-btn-primary:hover {
    background: #006f8d;
    border-color: #006f8d;
    color: #fff !important;
    transform: translateY(-2px);
}

.loop-btn-text {
    color: #004767 !important;
    font-weight: 800;
}

.loop-proof-row {
    border-top: 1px solid rgba(0, 71, 103, .14);
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 42px;
    max-width: 690px;
    padding-top: 26px;
}

.loop-proof-row strong {
    color: #0c2637;
    display: block;
    font-size: 18px;
    line-height: 1.2;
}

.loop-proof-row span {
    color: #607285;
    display: block;
    font-size: 13px;
    line-height: 1.45;
    margin-top: 7px;
}

.loop-product-stage {
    min-height: 560px;
    position: relative;
}

.loop-product-stage img {
    display: block;
    filter: drop-shadow(0 34px 46px rgba(7, 28, 43, .2));
    height: auto !important;
    margin-left: -42px;
    max-width: none;
    position: relative;
    width: 128%;
    z-index: 1;
}

.loop-live-card {
    background: #fff;
    border: 1px solid rgba(0, 71, 103, .1);
    border-radius: 8px;
    box-shadow: 0 22px 56px rgba(12, 38, 55, .16);
    max-width: 260px;
    padding: 18px 20px;
    position: absolute;
    z-index: 2;
}

.loop-live-card strong {
    color: #0c2637;
    display: block;
    font-size: 15px;
    margin-bottom: 5px;
}

.loop-live-card span {
    color: #607285;
    display: block;
    font-size: 12px;
    line-height: 1.45;
}

.loop-live-card-top {
    right: 6%;
    top: 66px;
}

.loop-live-card-bottom {
    bottom: 84px;
    left: 0;
}

.loop-client-strip {
    background: #0f2533;
    padding: 26px 0;
}

.loop-strip-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.loop-strip-grid div {
    border-left: 1px solid rgba(255, 255, 255, .18);
    padding: 5px 0 5px 20px;
}

.loop-strip-grid span {
    color: #8db7c7;
    display: block;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.loop-strip-grid strong {
    color: #fff;
    display: block;
    font-size: 15px;
    line-height: 1.35;
}

.loop-section {
    padding: 56px 0;
}

.loop-section > .container {
    padding-top: 0;
    padding-bottom: 0;
}

.loop-section-heading {
    margin: 0 0 30px;
}

.loop-section-label {
    margin-bottom: 16px;
}

.loop-section-intro {
    margin-top: 16px;
}

.loop-section h2 {
    color: #0c2637;
    font-size: 44px;
    font-weight: 800;
    line-height: 1.12;
    margin: 0 0 24px;
    text-transform: none;
}

.loop-section h3 {
    color: #0c2637;
    font-size: 19px;
    font-weight: 800;
    line-height: 1.25;
    margin-bottom: 12px;
    text-transform: none;
}

.loop-section p,
.loop-section-intro {
    color: #52687b;
    font-size: 17px;
    line-height: 1.72;
}

.loop-problem {
    background: #fff;
}

.loop-problem-heading .loop-section-intro {
    margin-top: 16px;
}

@media (max-width: 991.98px) {
    .loop-problem-heading .loop-section-intro {
        margin-top: 0;
    }
}

.loop-problem-grid {
    display: grid;
    gap: 22px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 54px;
}

.loop-problem-grid article,
.loop-workflow-grid article,
.loop-testimonial-grid article {
    background: #f7fafc;
    border: 1px solid rgba(0, 71, 103, .09);
    border-radius: 8px;
    padding: 31px;
}

.loop-problem-grid i {
    align-items: center;
    background: #e6f3f7;
    border-radius: 8px;
    color: #004767;
    display: inline-flex;
    font-size: 23px;
    height: 52px;
    justify-content: center;
    margin-bottom: 24px;
    width: 52px;
}

.loop-problem-grid p,
.loop-workflow-grid p,
.loop-testimonial-grid p {
    font-size: 15px;
    line-height: 1.65;
    margin: 0;
}

.loop-platform {
    background: #eef5f8;
    overflow: hidden;
}

.loop-platform-row {
    align-items: flex-start !important;
    column-gap: 64px;
    flex-wrap: nowrap;
}

.loop-platform-row>.col-lg-6 {
    flex: 0 0 calc(50% - 32px);
    max-width: calc(50% - 32px);
}

.loop-device-frame {
    background: #fff;
    border: 1px solid rgba(0, 71, 103, .12);
    border-radius: 8px;
    box-shadow: 0 30px 60px rgba(8, 31, 47, .16);
    margin-left: 0;
    margin-top: 18px;
    overflow: hidden;
    padding-top: 18px;
    position: relative;
}

.loop-device-frame:before {
    background: linear-gradient(90deg, #004767 0%, #007f9c 100%);
    content: "";
    height: 18px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.loop-device-frame img {
    display: block;
    filter: none;
    max-width: 100%;
    width: 100%;
}

.loop-dashboard-showcase {
    display: grid;
    gap: 16px;
    margin-top: 12px;
}

.loop-dashboard-main,
.loop-dashboard-thumbs figure {
    background: #fff;
    border: 1px solid rgba(0, 71, 103, .12);
    border-radius: 8px;
    box-shadow: 0 24px 52px rgba(8, 31, 47, .14);
    overflow: hidden;
    position: relative;
}

.loop-dashboard-main:before,
.loop-dashboard-thumbs figure:before {
    background: linear-gradient(90deg, #002b4a 0%, #004767 100%);
    content: "";
    display: block;
    height: 14px;
}

.loop-dashboard-main picture,
.loop-dashboard-main img,
.loop-dashboard-thumbs picture,
.loop-dashboard-thumbs img {
    display: block;
    height: auto;
    width: 100%;
}

.loop-dashboard-main a,
.loop-dashboard-thumbs a {
    color: inherit;
    cursor: zoom-in;
    display: block;
    position: relative;
}

.loop-dashboard-main a:after,
.loop-dashboard-thumbs a:after {
    background: rgba(0, 43, 74, .16);
    content: "";
    inset: 0;
    opacity: 0;
    position: absolute;
    transition: opacity .2s ease;
}

.loop-dashboard-main a>span,
.loop-dashboard-thumbs a>span {
    align-items: center;
    background: rgba(255, 255, 255, .94);
    border: 1px solid rgba(0, 71, 103, .14);
    border-radius: 6px;
    color: #004767;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    gap: 7px;
    opacity: 0;
    padding: 9px 12px;
    position: absolute;
    right: 14px;
    top: 14px;
    transform: translateY(-4px);
    transition: opacity .2s ease, transform .2s ease;
    z-index: 2;
}

.loop-dashboard-main a:hover:after,
.loop-dashboard-thumbs a:hover:after,
.loop-dashboard-main a:hover>span,
.loop-dashboard-thumbs a:hover>span {
    opacity: 1;
}

.loop-dashboard-main a:hover>span,
.loop-dashboard-thumbs a:hover>span {
    transform: translateY(0);
}

.loop-dashboard-main img {
    aspect-ratio: 16 / 8.4;
    object-fit: cover;
    object-position: top left;
}

.loop-dashboard-thumbs {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.loop-dashboard-thumbs figure {
    margin: 0;
}

.loop-dashboard-thumbs img {
    aspect-ratio: 16 / 7.8;
    object-fit: cover;
    object-position: top left;
}

.loop-dashboard-thumbs figcaption {
    background: rgba(255, 255, 255, .94);
    bottom: 0;
    color: #004767;
    font-size: 12px;
    font-weight: 900;
    left: 0;
    padding: 9px 12px;
    position: absolute;
    right: 0;
    text-transform: uppercase;
}

.loop-dashboard-stack {
    display: block;
    height: clamp(330px, 29vw, 400px);
    margin-top: 8px;
    perspective: 1400px;
    position: relative;
}

.loop-dashboard-stack .loop-dashboard-thumbs {
    display: contents;
}

.loop-dashboard-stack .loop-stack-card {
    backface-visibility: hidden;
    cursor: pointer;
    inset: 0 7% 46px 7%;
    position: absolute;
    transform-origin: center center;
    transition: transform .62s cubic-bezier(.22, .74, .26, 1), box-shadow .62s ease, filter .62s ease;
    will-change: transform, opacity;
}

.loop-dashboard-stack .loop-stack-card:before {
    height: 16px;
}

.loop-dashboard-stack .loop-stack-card a {
    height: calc(100% - 16px);
}

.loop-dashboard-stack .loop-stack-card picture,
.loop-dashboard-stack .loop-stack-card img {
    aspect-ratio: auto;
    background: #ffffff;
    height: 100%;
    object-fit: cover;
    object-position: top left;
    width: 100%;
}

.loop-dashboard-stack .loop-stack-card[data-stack-position="0"] {
    box-shadow: 0 32px 70px rgba(8, 31, 47, .2);
    opacity: 1;
    transform: translate3d(0, 0, 90px) rotateY(0) scale(1);
    z-index: 5;
}

.loop-dashboard-stack .loop-stack-card[data-stack-position="1"] {
    filter: saturate(.9);
    opacity: 1;
    transform: translate3d(108px, 20px, -120px) rotateY(-18deg) scale(.86);
    z-index: 4;
}

.loop-dashboard-stack .loop-stack-card[data-stack-position="2"] {
    filter: saturate(.72);
    opacity: .58;
    transform: translate3d(38px, 48px, -280px) rotateY(0) scale(.72);
    z-index: 2;
}

.loop-dashboard-stack .loop-stack-card[data-stack-position="3"] {
    filter: saturate(.9);
    opacity: 1;
    transform: translate3d(-108px, 20px, -120px) rotateY(18deg) scale(.86);
    z-index: 4;
}

.loop-dashboard-stack .loop-stack-card.is-active a {
    cursor: zoom-in;
}

.loop-dashboard-stack .loop-stack-card:not(.is-active) a {
    cursor: pointer;
}

.loop-dashboard-stack .loop-stack-card:not(.is-active) a>span {
    display: none;
}

.loop-dashboard-dots {
    align-items: center;
    bottom: 0;
    display: flex;
    gap: 9px;
    left: 0;
    position: absolute;
    z-index: 8;
}

.loop-dashboard-dots button {
    background: rgba(0, 71, 103, .22);
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    height: 9px;
    padding: 0;
    transition: background .2s ease, width .2s ease;
    width: 9px;
}

.loop-dashboard-dots button.active {
    background: #00a9d6;
    width: 30px;
}

#preloader {
    pointer-events: none !important;
}

.loop-feature-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 46px;
}

.loop-feature-list>div {
    align-items: flex-start;
    background: #fff;
    border: 1px solid rgba(0, 71, 103, .08);
    border-radius: 8px;
    box-shadow: 0 20px 44px rgba(20, 50, 70, .08);
    display: flex;
    gap: 18px;
    min-height: 154px;
    padding: 26px;
}

.loop-feature-list i {
    align-items: center;
    background: #004767;
    border-radius: 8px;
    color: #fff;
    display: inline-flex;
    flex: 0 0 48px;
    font-size: 20px;
    height: 48px;
    justify-content: center;
}

.loop-feature-list h3,
.loop-feature-list p {
    margin: 0;
}

.loop-feature-list p {
    font-size: 14px;
    line-height: 1.6;
    margin-top: 6px;
}

.loop-centered-title {
    margin: 0 auto 52px;
    max-width: 760px;
    text-align: center;
}

.loop-centered-title .loop-section-label {
    justify-content: center;
}

.loop-centered-title p {
    margin: 0 auto;
    max-width: 660px;
}

.loop-workflow {
    background: #fff;
}

.loop-segments {
    background: #f5f8fb;
}

.loop-workflow-grid {
    display: grid;
    gap: 22px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.loop-workflow-grid article {
    background: #fff;
    min-height: 250px;
    position: relative;
}

.loop-workflow-grid article:before {
    background: #004767;
    content: "";
    height: 4px;
    left: 31px;
    position: absolute;
    right: 31px;
    top: 0;
}

.loop-workflow-grid span {
    color: #00a7c4;
    display: block;
    font-size: 13px;
    font-weight: 900;
    margin-bottom: 36px;
}

.loop-segments {
    background: #f5f8fb;
}

.loop-segments-heading .loop-section-intro {
    margin-top: 76px;
}

.loop-segments-heading {
    align-items: flex-start !important;
}

@media (max-width: 991.98px) {
    .loop-platform-row {
        column-gap: 0;
        flex-wrap: wrap;
    }

    .loop-platform-row>.col-lg-6 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .loop-feature-list {
        grid-template-columns: 1fr;
    }

    .loop-segments-heading .loop-section-intro {
        margin-top: 0;
    }
}

.loop-segment-grid {
    display: flex;
    flex-direction: column;
    gap: 22px;
    margin-top: 54px;
}

.loop-segment-row {
    display: flex;
    gap: 22px;
    justify-content: center;
}

.loop-segment-row-3 > article {
    flex: 1 1 0;
    max-width: calc(33.333% - 15px);
}

.loop-segment-row-2 > article {
    flex: 0 0 calc(33.333% - 15px);
}

.loop-segment-grid article {
    align-items: flex-end;
    background-position: center;
    background-size: cover;
    border-radius: 8px;
    display: flex;
    min-height: 380px;
    overflow: hidden;
    position: relative;
}

.loop-segment-grid article:before {
    background: linear-gradient(180deg, rgba(6, 28, 41, .08) 0%, rgba(6, 28, 41, .86) 100%);
    content: "";
    inset: 0;
    position: absolute;
}

.loop-segment-grid article>div {
    padding: 26px;
    position: relative;
    z-index: 1;
}

.loop-segment-grid h3,
.loop-segment-grid p {
    color: #fff;
}

.loop-segment-grid p {
    font-size: 14px;
    line-height: 1.55;
    margin: 0;
}

.loop-results {
    background: #0f2533;
}

.loop-results-panel {
    align-items: center;
    display: grid;
    gap: 64px;
    grid-template-columns: 1.05fr .95fr;
}

.loop-results h2,
.loop-results p {
    color: #fff;
}

.loop-results p {
    color: #c6d8e1;
}

.loop-results-list {
    display: grid;
    gap: 18px;
}

.loop-results-list div {
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 8px;
    padding: 24px;
}

.loop-results-list strong {
    color: #fff;
    display: block;
    font-size: 18px;
    margin-bottom: 8px;
}

.loop-results-list span {
    color: #b9ced9;
    display: block;
    line-height: 1.55;
}

.loop-testimonials {
    background: #fff;
}

.loop-testimonial-grid {
    display: grid;
    gap: 22px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.loop-testimonial-grid article {
    background: #f7fafc;
}

.loop-testimonial-grid img {
    border-radius: 8px;
    height: 70px;
    margin-bottom: 24px;
    object-fit: cover;
    width: 70px;
}

.loop-testimonial-grid p {
    color: #31495a;
    font-size: 17px;
    margin-bottom: 22px;
}

.loop-testimonial-grid strong {
    color: #007f9c;
    display: block;
    font-size: 13px;
    text-transform: uppercase;
}

.loop-conversion {
    background: #eef5f8;
}

.loop-problem,
.loop-platform,
.loop-workflow,
.loop-segments,
.loop-results,
.loop-testimonials,
.loop-faq,
.loop-conversion {
    padding-top: 56px;
    padding-bottom: 56px;
}

.loop-conversion-box {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(0, 71, 103, .09);
    border-radius: 8px;
    box-shadow: 0 30px 70px rgba(20, 50, 70, .12);
    display: grid;
    gap: 48px;
    grid-template-columns: 1fr auto;
    padding: 48px;
}

.loop-conversion-box .loop-section-label {
    font-weight: 800 !important;
    color: #007f9c !important;
    display: inline-flex !important;
}

.loop-conversion-box h2 {
    font-size: 36px;
    margin-bottom: 13px;
}

.loop-conversion-box p {
    margin: 0;
    max-width: 680px;
}

.loop-whatsapp-link {
    align-items: center;
    color: #004767 !important;
    display: inline-flex;
    font-weight: 900;
    gap: 9px;
    white-space: nowrap;
}

.loop-footer {
    background: #071f2d;
    padding-bottom: 48px;
}

.loop-footer-logo {
    filter: brightness(0) invert(1);
    margin-bottom: 22px;
    max-width: 190px;
}

.loop-footer p,
.loop-footer li,
.loop-footer a,
.loop-footer span {
    color: #c4d4dc;
}

.loop-footer h3,
.loop-footer b {
    color: #fff;
}

.loop-footer .footer-bar {
    border-top: 1px solid rgba(255, 255, 255, .12);
}

.loop-modal {
    border-radius: 8px;
    max-height: calc(100vh - 56px);
    max-width: 560px;
    overflow-y: auto;
    padding: 24px 28px;
}

.loop-modal h3 {
    color: #0c2637;
    font-size: 25px;
    font-weight: 800;
    margin-bottom: 8px;
    text-align: center;
    text-transform: none;
}

.loop-modal>p {
    color: #607285;
    margin-bottom: 16px;
    text-align: center;
}

.floating-group {
    margin-bottom: 16px;
    position: relative;
}

.floating-group input,
.floating-group textarea {
    background: #f7fafc;
    border: 1px solid rgba(0, 71, 103, .14);
    border-radius: 6px;
    color: #17374a;
    min-height: 54px;
    padding: 20px 16px 8px;
    width: 100%;
}

.floating-group label {
    color: #6d8292;
    font-size: 13px;
    left: 16px;
    pointer-events: none;
    position: absolute;
    top: 17px;
    transition: all .2s ease;
}

.floating-group input:focus+label,
.floating-group input:not(:placeholder-shown)+label,
.floating-group textarea:focus+label,
.floating-group textarea:not(:placeholder-shown)+label {
    color: #007f9c;
    font-size: 11px;
    top: 6px;
}

@media (max-width: 1199.98px) {
    .loop-hero h1 {
        font-size: 52px;
    }

    .loop-product-stage img {
        margin-left: -20px;
        max-width: none;
        width: 118%;
    }

    .loop-problem-grid,
    .loop-workflow-grid,
    .loop-segment-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .loop-nav .menu-right {
        margin-left: 0;
    }

    .loop-nav .area-cliente-btn a {
        margin: 12px 0;
    }

    .loop-hero {
        min-height: 0;
        padding: 128px 0 80px;
    }

    .loop-hero h1 {
        font-size: 42px;
    }

    .loop-lead {
        font-size: 18px;
    }

    .loop-proof-row,
    .loop-strip-grid,
    .loop-results-panel,
    .loop-conversion-box {
        grid-template-columns: 1fr;
    }

    .loop-product-stage {
        margin-top: 48px;
        min-height: auto;
    }

    .loop-product-stage img,
    .loop-device-frame img {
        margin-left: 0;
        max-width: 100%;
        width: 100%;
    }

    .loop-live-card {
        display: none;
    }

    .loop-device-frame {
        margin: 0 0 42px;
    }

    .loop-section {
        padding: 44px 0;
    }

    .loop-section-heading {
        margin-bottom: 26px;
    }

    .loop-section h2 {
        font-size: 34px;
    }

    .loop-conversion-actions {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 767.98px) {
    .loop-section {
        padding: 36px 0;
    }

    .loop-section-heading {
        margin-bottom: 24px;
    }

    .loop-hero {
        padding: 108px 0 64px;
    }

    .loop-hero h1 {
        font-size: 36px;
    }

    .loop-hero-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .loop-btn-primary,
    .btn.loop-btn-primary {
        text-align: center;
        width: 100%;
    }

    .loop-problem-grid,
    .loop-workflow-grid,
    .loop-testimonial-grid {
        grid-template-columns: 1fr;
    }

    .loop-segment-row {
        flex-direction: column;
    }

    .loop-segment-row-3 > article,
    .loop-segment-row-2 > article {
        flex: 1 1 auto;
        max-width: 100%;
    }

    .loop-segment-grid article {
        min-height: 320px;
    }

    .loop-conversion-box {
        padding: 32px 24px;
    }

    .loop-conversion-box h2 {
        font-size: 30px;
    }
}

body>nav,
footer,
.progress-bar>div,
.progress-bar>div span,
.shop-menu-cnt .shop-menu,
i.scroll-top-btn,
.tab-nav li a:before,
.tab-nav li a:after,
.btn:not(.btn-border):hover,
section .cnt-box.boxed.light .caption,
.img-box-caption span,
.cnt-box-badge .badge,
.cnt-box-blog-side .blog-date,
.menu-fixed.scroll-menu,
.cnt-box-blog-top .blog-date,
.dropdown ul:not(.icon-list) li:hover>a,
.menu-cnt>ul>li:hover>a,
.lan-menu>li:hover>a,
.glide__bullets>button:hover,
.glide__bullets>button.glide__bullet--active,
main>section.section-base.section-color.light,
.section-color.light .input-text,
.section-color.light .input-select,
.section-color.light .input-textarea,
.counter i,
.cnt-box-side-icon.boxed.light>i,
.cnt-box-top-icon.boxed.light>i,
.media-box-half,
.album-box .caption,
.album-box .img-box,
.icon-box i,
.media-box.media-box-reveal .caption,
.media-box-full:before,
.list-nav a.list-archive:hover,
.header-base h2,
.list-tags a,
.img-box:before,
.menu-mini,
.menu-side,
.btn-video:empty:hover,
.tweets_txt {
    background-color: rgb(0, 71, 103);
}

.boxed-area.light,
.media-box-full .caption {
    background-color: rgb(0, 71, 103) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.cnt-call .caption .btn-text,
.section-color .icon-box i,
.counter .value span,
.breadcrumb li a,
.step-item>span,
.cnt-pricing-table .price span,
.cnt-pricing-table .top-area p,
.album-title span,
.text-list-bold li>b:first-child,
.text-list-line li b,
.list-nav a,
.menu-inner-image li a span,
.controls-bottom-right .glide__arrow,
.icon-list-blog a,
.quote,
.table-time th,
.form-box p,
.countdown-vertical [data-time]>div>span,
.countdown-horizontal [data-time]>div>span:last-child,
.media-box.media-box-down .caption h2,
.menu-inner .menu-btn,
.menu-inner>div>span {
    color: rgb(0, 71, 103);
}

.light .dropdown ul li:not(:hover)>a,
.text-color-1 {
    color: rgb(0, 71, 103) !important;
}

.btn:hover,
.input-text:focus,
.input-select:focus,
.input-textarea:focus,
.search-bar input[type=text]:focus,
.glide__bullets>button,
.accordion-list>li,
.table-time td,
.table-time th {
    border-color: rgb(0, 71, 103);
}

.tab-nav li:not(.active):not(:hover) a,
.btn.btn-border:hover,
.btn.btn-border.active {
    color: rgb(0, 71, 103);
    border-color: rgb(0, 71, 103);
}

.tab-nav li.active a,
.tab-nav li:hover a,
.btn:not(.btn-border).active,
.icon-links-button:not(.social-colors):not(.social-colors-hover) a:hover {
    background-color: rgb(0, 71, 103);
    border-color: rgb(0, 71, 103);
}

@media (max-width: 991.98px) {

    nav .menu-cnt>ul>li>a,
    nav .menu-cnt>ul>li.nav-label>a span,
    .menu-cnt .menu-right,
    body nav .lan-menu>li>a,
    .lan-menu li a,
    .lan-menu .dropdown>ul>li>a,
    body .lan-menu>li:hover>a,
    body nav:not(.menu-transparent) .lan-menu>li:hover>a {
        color: rgb(0, 71, 103);
    }

    nav.light .menu-cnt a {
        color: rgb(0, 71, 103) !important;
    }

    .search-box-menu {
        border-color: rgb(0, 71, 103);
    }
}

::placeholder {
    color: rgb(75, 134, 161);
}

.light .shop-menu .shop-cart .cart-item .cart-content,
.btn-video:after,
.menu-cnt>ul>li:hover>a,
.icon-list li>i,
.icon-links:not(.social-colors) a i,
.btn.btn-border,
.title p,
.accordion-list>li>a:before,
nav:not(.menu-transparent) .menu-cnt>ul>li:hover>a,
.cnt-box-info .cnt-info>div>span:last-child,
.btn-text:after,
.menu-cnt>ul>li.nav-label>a,
.cnt-box-top-icon>i,
.cnt-box-side-icon>im.btn-border:hover,
.icon-links a:hover i,
.icon-links-popup:hover>i,
.breadcrumb li:not(:last-child):hover a,
.pagination li:not(.page):hover a,
.search-bar input[type=submit]:hover,
.accordion-list>li:hover>a,
.btn-text:hover,
.menu-inner li:hover>a,
.menu-inner li.active>a,
.menu-inner .dropdown ul>li:hover>a,
.album-title>a:hover,
.glide__arrow:hover,
.mega-menu .icon-list li a:hover,
nav.active .menu-btn,
.menu-transparent .menu-cnt>ul>li:hover>a,
.list-nav a:hover,
.counter .value [data-to],
body>header h2,
.breadcrumb li:last-child a,
.cnt-box-side .extra-field,
.cnt-box-team .caption,
.timeline .badge span,
.cnt-pricing-table .price,
.cnt-pricing-table>ul>li:before,
.media-box .extra-field,
.album-title>a:before,
.accordion-list>li.active>a,
.media-box.media-box-reveal .caption h3,
.cnt-box-top .extra-field,
.list-nav a:first-child:before,
.list-nav a:last-child:before,
.cnt-box-testimonials-bubble .thumb-bar span:last-child,
.cnt-box-side-icon>i,
.countdown-vertical [data-time]>div>span:first-child,
.countdown-horizontal [data-time]>div>span:first-child,
.social-feed a {
    color: var(--loop-gold)
}

footer.light a,
.cnt-box.light .extra-field,
nav.light .menu-cnt>ul>li:hover>a,
.section-home-slider [data-to],
.section-home-slider h2,
.light .title p,
body>header.light h2,
.boxed-area.light .text-list-bold li b,
.text-color-2 {
    color: var(--loop-gold) !important;
}

.cnt-box-blog-side .blog-date span:last-child,
.progress-bar>div>div,
footer .icon-list li:before,
.shop-menu .cart-buttons a:hover,
.cnt-box-blog-top .blog-date span:last-child,
.btn-video:empty,
.dropdown ul:not(.icon-list) li:hover>a,
.cnt-box-info .extra-field,
.menu-cnt>ul>li:hover>a,
.lan-menu>li:hover>a,
.dropdown>ul:before,
.shop-menu-cnt .cart-count,
.light .icon-box i,
.light .counter i,
.section-color.light .btn:not(.btn-border):hover,
.breadcrumb li a:after,
.menu-inner li:before,
.text-list-base li>div,
.text-list-image .content>div,
.text-list-side li>div,
.text-line:before,
.icon-line li:before,
.icon-line span:before,
.icon-circle li:before,
.media-box-reveal .caption h3:before,
.arrows-inner-right .glide__arrow,
.light .breadcrumb li a:after,
.list-tags a:hover {
    background-color: var(--loop-gold)
}

.btn,
.icon-links-grid a:hover,
.icon-links-button a,
.pagination li.page:hover a,
.pagination li.page.active a,
.list-nav a.list-archive {
    background-color: var(--loop-gold);
    border-color: var(--loop-gold);
}

.light .glide__bullets>button.glide__bullet--active,
.section-home-slider .glide__arrow {
    background-color: var(--loop-gold) !important;
    border-color: var(--loop-gold) !important;
}

.shop-menu,
.menu-cnt>ul li ul li:hover+li>a,
nav .menu-right .custom-area,
.input-text,
.input-select,
.input-textarea,
.light .glide__bullets>button,
.light .text-list-line li hr,
.media-box-half .extra-field+p,
.album-box .caption,
.media-box-reveal .caption,
.cnt-box-top .extra-field,
.icon-links-grid a,
.cnt-box-testimonials-bubble>p,
.light .table-border td {
    border-color: var(--loop-gold)
}

.cnt-call,
.comment-list li,
.timeline .panel,
.header-base,
main>section.section-base.section-color,
.section-color .input-text,
.section-color .input-select,
.section-color .input-textarea {
    background-color: rgb(228, 237, 243);
}

.menu-cnt>ul>li>a,
.menu-cnt,
nav .lan-menu>li>a,
i.scroll-top-btn,
.cart-item h5,
.shop-menu p,
.shop-menu .cart-buttons a,
.icon-box i,
.counter i,
.media-box .caption h2,
.media-box .caption p,
footer .text-list-line li b,
.light .text-list-line li b,
.icon-links-grid a:hover i,
.icon-links.icon-links-button a i,
nav .icon-links:not(.social-colors) a i,
.menu-btn {
    color: #FFF;
}

/* ── NAV ACTIVE INDICATOR ── */
#main-menu > li > a.loop-nav-active {
    position: relative;
}

#main-menu > li > a.loop-nav-active::after {
    content: '';
    position: absolute;
    bottom: 2px;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--loop-gold);
    border-radius: 2px;
}

.section-home-slider h2 span,
footer.light ul li>a,
.section-color.light .input-text,
.section-color.light .input-select,
.section-color.light .input-textarea,
.social-colors.icon-links-grid a:hover i {
    color: #FFF !important;
}

@media (max-width: 991.98px) {

    .light .dropdown ul li:hover>a,
    .light .shop-menu .cart-buttons a {
        color: #FFF !important;
    }
}

.menu-cnt>ul>li:hover>a,
.lan-menu>li:hover>a {
    background-color: transparent;
}

.menu-cnt>ul>li>a:first-child {
    background-color: transparent;
}

.cnt-box.boxed .caption,
.cnt-box-side-icon.boxed>i,
.cnt-box-top-icon.boxed>i,
.boxed-area,
.cnt-box-top-icon.boxed,
.cnt-box-testimonials-bubble>p,
.section-color .icon-box i {
    background-color: rgb(255, 255, 255);
}

.light .glide__bullets>button {
    background: none !important;
}

.bg-color,
body main>section.bg-color,
.menu-top-logo>.container:before {
    background-color: rgba(255, 255, 255, 0.25);
}

/*

# CUSTOM 
===================================================================

*/

.btn-video:empty {
    width: 80px;
    height: 80px;
    margin-left: auto;
    margin-right: auto;
    border-radius: 50%;
    transition: all .5s;
    cursor: pointer;
}

.btn-video:empty:before {
    width: 78px;
    height: 78px;
    margin-left: -40px;
    top: 0;
    color: #FFF;
}

.btn-video:empty:after {
    width: 50px;
    height: 80px;
    font-size: 37px;
    line-height: 80px;
    margin-left: -22px;
    color: #FFF;
}

.text-line {
    position: relative;
    z-index: 9;
}

.text-line:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 5px;
    bottom: 4px;
    border-radius: 3px;
    z-index: -1;
}

.table-time th {
    font-weight: 700;
}

.icon-list-blog li {
    padding-left: 30px;
}

.icon-list-blog i {
    font-size: 18px;
}

.icon-list-blog a {
    font-weight: 600;
}

.controls-left {
    margin-bottom: 0;
}

.controls-left .glide__bullets {
    left: -282px;
    bottom: 0;
    justify-content: flex-start;
}

.events-list .caption .extra-field {
    font-weight: 600;
    margin-bottom: 15px;
    text-transform: uppercase;
    position: relative;
    padding-left: 30px;
    line-height: 35px;
}

.events-list .caption .extra-field:before {
    font-family: "Icons";
    content: "\6e";
    text-transform: none;
    position: absolute;
    font-size: 19px;
    line-height: 32px;
    font-weight: 400;
    width: 30px;
    left: 0;
    top: 1px;
    transition: all .5s;
}

.margin-top-35,
.box-sign.margin-top-35 {
    margin-top: 35px;
}

.button-pag-right {
    text-align: right;
    margin-top: -30px;
}

.pagination-top-right {
    position: relative;
}

.pagination-top-right .list-pagination {
    padding: 0;
}

.pagination-top-right .pagination {
    position: absolute;
    top: -100px;
    right: 10px;
}

.pagination-top-right .pagination li:not(.page) {
    display: none;
}

h3+.pagination-top-right .pagination {
    top: -65px;
}

hr.space-25 {
    max-height: 25px;
}

hr.space-45 {
    height: 45px;
}

.slide-image {
    margin-bottom: -30px;
}

.block-image {
    position: absolute;
    max-height: 600px;
    top: -50px;
}

.table-grid.table-border.table-10 tbody tr td {
    padding: 10px;
}

.table-grid.table-border.align-left.table-10 tbody tr td:not(:first-child) {
    padding-left: 30px;
}

.table-logos img {
    width: 140px;
    margin: 0 auto 0 auto;
}

.table-logos p {
    font-weight: 600;
    font-size: 13px;
    line-height: 23px;
}

.table-logos.table-10 img {
    max-width: 125px;
    width: 100%;
    margin: 0 auto;
}

.width-190 {
    min-width: 190px;
}

.width-650 {
    max-width: 650px;
    margin-left: auto;
    margin-right: auto;
}

.text-style-1 {
    font-weight: 600;
    font-size: 18px;
    opacity: .7;
    margin-top: 15px;
}

.gap-40,
.gap-40>div {
    grid-gap: 40px;
}

.gap-18,
.gap-18>div {
    grid-gap: 18px;
}

.tab-top-right {
    position: relative;
}

.tab-top-right .tab-nav {
    position: absolute;
    right: 0;
    top: -95px;
}

.nav-label {
    position: absolute;
    right: -15px;
}

.menu-cnt>ul>li.nav-label>a {
    font-weight: 600;
    font-size: 14px;
    padding-right: 0;
}

.menu-cnt>ul>li.nav-label>a span {
    font-weight: 700;
    padding-right: 5px;
    color: #FFF;
    font-size: 13px;
}

.section-overflow-top {
    overflow: visible;
}

.section-overflow-top>.container {
    padding-top: 0;
}

.section-overflow-top>.container>div:first-child,
.section-overflow-top>.container>table:first-child {
    transform: translateY(-70px);
}

.section-overflow-top>.container>.cnt-box-side>.img-box,
.section-overflow-top>.container>.cnt-box-side>.caption {
    width: 50%;
}

.section-overflow-top>.container>.cnt-box-side>.caption {
    padding: 60px 30px;
}

.section-overflow-top>.container>.cnt-box-side .caption h2 {
    font-size: 28px;
    font-weight: 700;
}

.section-overflow-top .logo-area {
    padding: 30px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
}

.boxed-area {
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
}

.grid-list.boxed-area {
    padding: 0;
    border-radius: 3px;
    box-shadow: none;
    background: none !important;
}

.grid-list.boxed-area>div {
    grid-gap: 15px;
}

.grid-list.boxed-area .grid-item {
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
}

.section-home-slider h1 {
    position: absolute;
    z-index: 2;
    max-width: 400px;
    margin-top: 30px;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.18823529411764706);
    text-transform: uppercase;
    transition: all .6s;
}

.section-home-slider .slider {
    margin-bottom: 45px;
}

main>section.section-base.section-home-slider {
    background-color: rgb(19, 48, 74);
}

.section-home-slider .slider li>.img-box {
    margin: 15px 15px 15px 150px;
    box-shadow: 0 5px 8px 2px rgba(0, 0, 0, 0.16);
}

.section-home-slider .slider li>.img-box:before {
    opacity: 1;
    z-index: 1;
    background: linear-gradient(to right, rgb(30, 48, 57) 0%, rgba(0, 0, 0, 0) 60%);
    border-radius: 0;
}

.section-home-slider .glide__arrow,
.arrows-inner-right .glide__arrow {
    left: 0;
    bottom: -45px;
    top: auto;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    transition: all .5s;
    text-align: center;
}

.section-home-slider .glide__arrow:hover,
.arrows-inner-right .glide__arrow:hover {
    transform: scale(.95);
}

.section-home-slider .glide__arrow--right {
    left: 65px;
}

.section-home-slider .glide__arrow:before,
.arrows-inner-right .glide__arrow:before {
    line-height: 50px;
    width: 50px;
    font-size: 33px;
    margin-left: 1px;
    color: #FFF;
}

.section-home-slider .glide__arrow--left:before {
    margin-left: -1px;
}

.section-home-slider .glide__bullets {
    bottom: -40px;
    padding-right: 10px;
    justify-content: flex-end;
}

.section-home-slider .col-lg-5 {
    padding-top: 10px;
}

.section-home-slider h2 {
    text-transform: uppercase;
    margin-bottom: 0;
    font-weight: 800;
    font-size: 28px;
}

.section-home-slider h2+p {
    margin: 39px 0 18px 0;
}

@media (min-width: 992px) and (max-width: 1200px) {
    .section-home-slider h2+p {
        margin: 23px 0 0px 0;
    }
}

.section-home-slider [data-to] {
    font-size: 25px;
    line-height: 35px;
    font-weight: 700;
    letter-spacing: .5px;
}

.section-home-slider .counter h3 {
    margin: 0;
    font-weight: 500;
    text-transform: none;
    font-size: 16px;
}

.section-home-slider+section {
    overflow: visible;
}

.section-home-slider+section:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 150px;
    top: 0;
    left: 0;
    right: 0;
}

.arrows-inner-right .glide__arrow {
    left: auto;
    right: 93px;
    bottom: 30px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
}

.arrows-inner-right .glide__arrow--right {
    right: 30px;
}

.box-sign {
    margin-top: 60px;
    padding: 36px 15px 0 120px;
    position: relative;
}

.box-sign.no-margin {
    margin-top: 0;
}

.box-sign img {
    position: absolute;
    left: 0;
    top: 0;
}

.box-sign b {
    font-weight: 800;
    font-size: 16px;
}

.box-sign span {
    display: block;
    line-height: 15px;
}

@media (min-width: 994px) and (max-width: 1200px) {
    .section-home-one p {
        font-size: 13px;
    }

    .section-home-one li h1 {
        font-size: 37px;
        line-height: 49px;
    }

    .section-home-one .slide-image {
        margin-top: 85px;
    }
}

/*

# LAYOUT & TYPOGRAPHY
===================================================================

*/

body,
textarea {
    font-family: 'Montserrat', sans-serif;
    line-height: 30px;
    font-size: 14px;
    font-weight: 500;
}

button,
.input-text,
.input-select,
.input-textarea {
    font-family: 'Montserrat', sans-serif;
}

h1,
h2 {
    font-weight: 900;
}

h1 {
    font-size: 45px;
    line-height: 65px;
}

h1+p,
h2+p,
h3+p,
h4+p,
h2+h4,
h1+h4,
h2+ul.icon-list,
h3+ul.icon-list,
p+h3,
p+.btn,
p+h4,
h4+.btn,
h4+.btn-text,
h4+input,
h4+select,
h4+textarea,
p+ul.icon-list,
p+.btn-text,
p+table,
p+pre,
p+img,
p+.row,
p+.img-box,
p+.media-box,
p+.cnt-box,
p+.icon-links,
p+ul.icon-list,
.container>.row+.row,
.container>div+p,
p+.text-list,
.container>div+.btn,
.table+.btn,
.table+.btn-text,
h4+div,
h4+ul,
h4+ul.icon-list,
h4+a,
.slimScrollDiv+.btn,
h3+.grid-list,
h3+.slider,
.text-list+.btn,
.text-list+.btn-text {
    margin-top: 30px;
}

h3+h1 {
    margin-top: 10px;
}

[class*=col-lg-]>h3,
.boxed-area>h3,
.container>h3 {
    text-transform: uppercase;
    font-weight: 900;
    font-size: 21px;
}

.container>h2 {
    line-height: 37px;
}

.widget>h3 {
    font-size: 18px;
}

.row {
    margin-right: -15px;
    margin-left: -15px;
}

.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-10,
.col-11,
.col-12,
.col,
.col-auto,
.col-sm-1,
.col-sm-2,
.col-sm-3,
.col-sm-4,
.col-sm-5,
.col-sm-6,
.col-sm-7,
.col-sm-8,
.col-sm-9,
.col-sm-10,
.col-sm-11,
.col-sm-12,
.col-sm,
.col-sm-auto,
.col-md-1,
.col-md-2,
.col-md-3,
.col-md-4,
.col-md-5,
.col-md-6,
.col-md-7,
.col-md-8,
.col-md-9,
.col-md-10,
.col-md-11,
.col-md-12,
.col-md,
.col-md-auto,
.col-lg-1,
.col-lg-2,
.col-lg-3,
.col-lg-4,
.col-lg-5,
.col-lg-6,
.col-lg-7,
.col-lg-8,
.col-lg-9,
.col-lg-10,
.col-lg-11,
.col-lg-12,
.col-lg,
.col-lg-auto,
.col-xl-1,
.col-xl-2,
.col-xl-3,
.col-xl-4,
.col-xl-5,
.col-xl-6,
.col-xl-7,
.col-xl-8,
.col-xl-9,
.col-xl-10,
.col-xl-11,
.col-xl-12,
.col-xl,
.col-xl-auto {
    padding-right: 15px;
    padding-left: 15px;
}

@media (min-width: 576px) {
    .controls-top-right {
        margin-bottom: 0;
    }

    .controls-top-right .glide__bullets {
        bottom: auto;
        top: -65px;
        right: -5px;
        left: auto;
        justify-content: flex-end;
    }
}

@media (min-width: 767px) {

    .controls-bottom-right .glide__bullets {
        top: auto;
        bottom: -50px;
        right: -5px;
        left: auto;
        justify-content: flex-end;
    }

    .controls-bottom-right .glide__arrow {
        bottom: -60px;
        top: auto;
    }

    .controls-bottom-right .glide__arrow--right {
        right: -10px;
    }

    .controls-bottom-right .glide__arrow--left {
        left: auto;
        right: 15px;
    }

    .controls-bottom-right[data-options*="arrows"] .glide__bullets {
        right: 55px;
    }

    .controls-bottom-right .glide__arrow:hover:before {
        margin: 0;
    }
}

[class*=col-lg]>img {
    border-radius: 3px;
}

.text-xs {
    line-height: 22px;
    opacity: .8;
}

/*

# NAV MENU
===================================================================

*/

.menu-side-collapse .tab-nav li a:before {
    display: none;
}

@media (min-width: 992px) {

    .menu-side .dropdown>ul,
    .menu-side .dropdown .mega-menu,
    .menu-side .dropdown-submenu>ul {
        margin: 0;
    }
}

.mega-menu h5 {
    margin-bottom: 15px;
}

.menu-cnt>ul>li.dropdown .mega-menu a {
    border: none;
}

.menu-side .bottom-area p {
    color: #FFF;
    line-height: 22px;
}

.menu-side .menu-cnt>ul>li.dropdown>a:after {
    opacity: .7;
}

body>nav.menu-subtitle .search-box-menu.active>input {
    top: 90px;
}

body>nav.menu-subtitle>.container {
    min-height: 70px;
}

.menu-subtitle .menu-cnt li a span {
    position: relative;
    text-transform: none;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.65);
    font-weight: 500;
    letter-spacing: .2px;
    bottom: 30px;
}

.menu-subtitle .menu-brand {
    padding: 15px 0;
}

@media (min-width: 992px) {

    .menu-classic .menu-cnt>ul>li>a,
    .menu-classic>.container .menu-right,
    .menu-classic>.container .lan-menu li.dropdown>a,
    .shop-menu-cnt>i,
    .menu-big-box .menu-cnt>ul>li>a,
    .lan-menu>li>a,
    .menu-icon .menu-cnt>ul>li>a,
    .menu-icon>.container .menu-right,
    .menu-icon>.container .lan-menu li.dropdown>a {
        height: 65px;
        line-height: 65px;
    }
}

body>nav .menu-brand,
.menu-big-box .menu-right {
    height: 65px;
}

.menu-classic .search-box-menu>i {
    width: 30px;
    font-size: 15px;
}

.menu-classic .shop-menu-cnt>i:before {
    font-size: 16px;
}

.menu-classic.align-right>.container .menu-right {
    margin-left: 10px;
}

nav .search-btn {
    margin: 0;
}

.shop-menu-cnt>i:before {
    font-size: 20px;
}

@keyframes anima-menu-down {
    0% {
        opacity: 0;
        top: -100%;
    }

    100% {
        top: 0;
        opacity: 1;
    }
}

@media (min-width: 992px) {
    .menu-top-logo .menu-cnt>ul {
        margin: 0 -15px;
    }

    .dropdown>ul,
    .dropdown .mega-menu,
    .dropdown-submenu>ul {
        margin: 0 15px;
        box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1);
    }

    .dropdown-submenu>ul {
        margin: 0;
    }
}

@media (max-width: 1200px) and (min-width: 992px) {
    .menu-subtitle .menu-right {
        display: none;
    }
}

.menu-fixed.scroll-menu {
    opacity: 1;
    top: 0;
    transition: opacity .5s, top .5s;
    animation: anima-menu-down 2s;
}

.menu-fixed.scroll-menu.menu-top-logo {
    padding-top: 0;
}

.menu-fixed.scroll-menu.menu-top-logo .menu-brand,
.menu-fixed.scroll-menu.menu-top-logo .menu-right {
    display: none;
}

.menu-cnt>ul>li a {
    font-weight: 600;
}

.menu-cnt>ul>li>a,
.lan-menu a {
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
}

.menu-cnt>ul>li a {
    transition: all .3s;
}

.menu-cnt>ul>li.dropdown>a:after {
    transition: none !important;
    opacity: 1;
}

.dropdown>ul:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 2px;
    width: 100%;
    z-index: 9;
}

.menu-cnt>ul>li.dropdown ul a {
    border-top: 1px solid rgba(9, 59, 86, 0.12);
}

.menu-transparent .menu-cnt>ul>li.dropdown a {
    border-top: none;
}

.shop-menu {
    border-top-style: solid;
    border-top-width: 2px;
}

.shop-menu-cnt .cart-count {
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.35);
}

.cart-item h5 {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .3px;
}

.shop-menu-cnt .cart-total span {
    padding-left: 30px;
    font-weight: 600;
}

.shop-cart {
    padding: 30px 0 15px 0;
}

.shop-menu .cart-buttons {
    padding: 0;
    display: flex;
    justify-content: space-around;
    margin-top: 15px;
}

.shop-menu .cart-buttons a {
    width: 50%;
    text-align: center;
    padding: 15px;
    background: rgba(0, 0, 0, 0.45);
    margin: 0;
}

.shop-menu .cart-buttons a:first-child {
    border-right: 1px solid rgba(255, 255, 255, 0.08);
}

.shop-menu .cart-buttons a:hover {
    opacity: 1;
}

.cart-quantity {
    opacity: .65;
}

nav .custom-area {
    text-align: right;
    font-size: 12px;
    line-height: 21px;
    border-right: 1px solid #fff;
    padding-right: 45px;
}

.menu-right>*:last-child,
.menu-right>.lan-menu:last-child>li>a {
    padding-right: 0;
}

.lan-menu>.dropdown>ul {
    margin: 0;
    min-width: 75px;
}

.menu-mini {
    height: 39px;
    color: rgb(255, 255, 255);
}

.menu-big-box .menu-box {
    background-color: rgb(255, 255, 255);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.16);
}

.menu-fixed.menu-big-box:not(.menu-transparent)+header {
    margin-top: 105px;
    padding-top: 90px;
}

nav.menu-fixed.menu-transparent:not(.scroll-menu) {
    margin-top: 10px;
}

@media (min-width: 992px) {

    .menu-icon-top .menu-cnt>ul>li>a,
    .menu-icon-top>.container .menu-right {
        height: 80px;
        line-height: 45px;
    }

    .menu-icon-top>.container .lan-menu li.dropdown>a {
        height: 80px;
        line-height: 80px;
    }
}

.menu-fixed.menu-icon-top:not(.menu-transparent)+header,
.menu-fixed.menu-icon-top:not(.menu-transparent)+main {
    margin-top: 80px;
}

.menu-icon-top .menu-cnt>ul>li.dropdown a {
    padding-right: 15px;
}

.menu-icon-top .menu-cnt>ul>li.dropdown a:after {
    display: none;
}

/*

# HEADERS
===================================================================

*/
body>.header-base .breadcrumb {
    position: static;
    justify-content: flex-start;
    margin-top: 15px;
}

body>.header-base h1 {
    text-transform: none;
    font-size: 35px;
    max-width: 800px;
}

@media (min-width: 767px) {
    body>.header-base h2 {
        position: absolute;
        right: 30px;
        top: 13px;
        text-transform: none;
        font-weight: 600;
        color: rgb(255, 255, 255);
        padding: 3px 15px;
        border-radius: 3px;
        font-size: 12px;
    }
}


.header-base>.container {
    margin-top: 0 !important;
}

.menu-transparent.menu-fixed+.header-base>.container {
    padding-top: 60px;
}

.menu-transparent.menu-fixed+.header-base h2 {
    top: 70px;
}

body>nav.menu-transparent+header:not(.header-base) {
    padding-top: 80px;
}

.header-base {
    height: auto;
}

body>.header-base {
    padding: 60px 0;
}

body>header.header-base h1 {
    margin-bottom: 0;
}

body>header {
    height: 250px;
}

body>header h1 {
    text-transform: uppercase;
    font-size: 45px;
    line-height: 55px;
    margin-bottom: 10px;
    font-weight: 900;
}

body>header h2 {
    text-transform: uppercase;
    font-weight: 700;
    margin: 0;
    font-size: 14px;
}

body>header ol.breadcrumb,
.header-base .breadcrumb {
    justify-content: flex-end;
    position: absolute;
    right: 30px;
    top: 50%;
    margin: -13px 0 0 0;
}

.breadcrumb li a {
    font-weight: 600;
}

.breadcrumb li a:after {
    width: 2px;
}

.breadcrumb li:last-child a {
    font-weight: 700;
}

/*

# FOOTER
===================================================================

*/
.footer-bar {
    border-color: rgba(255, 255, 255, 0.15);
}

footer .logo {
    margin-bottom: 15px;
    max-width: 250px;
}

footer h3 {
    text-transform: uppercase;
    font-size: 18px;
    font-weight: 900;
}

footer p,
footer .icon-list li {
    opacity: .8;
}

footer .icon-list li {
    margin-bottom: 1px;
}

footer .icon-links-grid a {
    width: 45px;
    height: 34px;
}

footer .icon-links-grid a i {
    font-size: 16px;
}

footer .col-lg-4:last-child {
    background: rgba(0, 0, 0, 0.11);
    padding: 30px;
    border-radius: 3px;
}

/*

# COMPONENTS
===================================================================
*/

.tweets_txt>span {
    opacity: .5;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 10px;
}

.tweets_txt {
    white-space: pre-wrap;
    padding: 15px;
    border-radius: 3px;
    margin-top: 0px;
    color: rgb(255, 255, 255);
    line-height: 23px;
}

.img-box.btn-video {
    background: rgb(0, 0, 0);
}

.col-lg-6>p+.icon-line {
    margin-top: 20px;
}

.col-lg-6>p+.icon-line li {
    margin-bottom: 2px;
}

.quote {
    background: rgba(228, 237, 243, 0.59) !important;
    margin: 30px 0;
}

.list-tags a {
    color: rgb(255, 255, 255);
}

.cnt-box-blog-top.boxed .caption h2 {
    margin-top: 0;
}

.list-nav {
    margin-top: 10px;
    max-height: 37px;
}

.list-nav a {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 14px;
}

.list-nav a.list-archive {
    width: 45px;
    height: 45px;
    min-width: 45px;
    line-height: 45px;
    font-size: 21px;
    border-radius: 50%;
    text-align: center;
    color: rgb(255, 255, 255);
    transform: translateY(-9px);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
    border: none;
}

.media-box.media-box-full .caption h2 {
    font-size: 17px;
}

.media-box.media-box-full .extra-field {
    border-top-style: solid;
    border-top-width: 1px;
    padding-top: 10px;
    text-transform: uppercase;
    font-weight: 700;
}

.media-box-full {
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
}

.media-box-full .caption {
    opacity: 0;
    text-align: left;
}

.media-box-full:hover:before {
    transform: scale(0) rotate(180deg);
    opacity: 0;
}

.media-box-full:hover .caption {
    opacity: 1;
}

.media-box-full:before {
    content: "+";
    position: absolute;
    text-align: center;
    width: 50px;
    height: 50px;
    line-height: 50px;
    z-index: 2;
    font-weight: 400;
    font-size: 41px;
    color: rgb(255, 255, 255);
    border-radius: 50%;
    bottom: 15px;
    left: 15px;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.5);
    transition: all .5s;
}

.cnt-box-top .extra-field {
    padding-top: 15px;
    border-top-style: solid;
    border-top-width: 1px;
    display: block;
}

.media-box-reveal .caption .extra-field {
    position: absolute;
    left: 45px;
    color: rgb(228, 237, 243);
    padding: 0 15px;
    border-right: 1px solid rgba(255, 255, 255, 0.22);
}

.media-box-reveal .caption p {
    margin-top: 30px;
    opacity: .8;
}

.media-box-reveal .caption {
    max-height: 250px;
    bottom: 30px;
    left: 30px;
    width: 500px;
    max-width: calc(100% - 60px);
    display: inline-block;
    background: none;
    border-radius: 3px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
}

.media-box.media-box-reveal .caption h2 {
    margin-bottom: 10px;
    font-weight: 700;
}

.grid-item .media-box-reveal .caption h2 {
    text-transform: none;
    font-weight: 600;
}

/* 
    ----------------------------------
    ALTERAÇÃO
    ----------------------------------
     */

/* alteração de distancia dos titulos dos cards  */
.grid-item .caption h2 {
    font-size: 18.5px !important;
    line-height: 25px !important;
}

.grid-item .caption p {
    line-height: 24px !important;
}

/* Remove o espaço extra somente no card Operação Redonda */
.grid-item.op-redonda .cnt-box {
    padding-bottom: 8px !important;
}

/* remove espaçamento interno e externo */
.grid-item.op-redonda .caption {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

.media-box-reveal .caption h3 {
    font-weight: 600;
    font-size: 14px;
    padding-left: 80px;
    position: relative;
    text-align: right;
    max-width: 250px;
}

.media-box-reveal .caption h3:before {
    content: "";
    position: absolute;
    left: -30px;
    top: 50%;
    width: 45px;
    height: 1px;
}

.media-box-half img {
    opacity: .20;
}

.media-box .caption h2,
.media-box .extra-field {
    font-weight: 600;
}

.media-box-half .extra-field+p {
    border-top-style: solid;
    border-top-width: 1px;
    margin-top: 15px;
    padding-top: 15px;
}

.cnt-pricing-table {
    border: none;
    padding: 30px 15px;
    text-align: left;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
    background-color: #FFF;
}

.cnt-pricing-table .bottom-area {
    padding-bottom: 15px 30px;
}

.cnt-pricing-table .price span {
    font-weight: 700;
}

.cnt-pricing-table .top-area p {
    font-weight: 600;
}

.cnt-pricing-table>ul>li {
    padding-left: 60px;
}

.cnt-pricing-table>ul>li:before {
    content: "+";
    position: absolute;
    left: 30px;
}

.progress-circle h4 {
    text-transform: uppercase;
    font-size: 14px;
}

.progress-circle .counter {
    font-weight: 700;
    color: rgb(10, 70, 103);
}

.timeline .panel {
    border-bottom: 1px solid rgb(205, 216, 224);
    border-right: 1px solid rgb(205, 216, 224);
}

.timeline>div:last-child .panel {
    border-bottom: none;
}

.timeline div.inverted .panel:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border-right: none;
    border-left: 1px solid rgb(205, 216, 224);
    border-radius: 0;
}

.timeline .panel {
    padding: 0 0 30px 0;
    background: none;
}

.timeline .panel p {
    margin-top: 15px;
}

.timeline .panel,
.timeline div.inverted .panel,
.timeline div.inverted .panel:last-child,
.timeline .panel:last-child {
    width: 70%;
    border-radius: 0;
    padding: 30px 30px 30px 0;
}

.timeline div.inverted .panel:last-child {
    padding-left: 30px;
}

.timeline>div .badge {
    width: 30%;
    left: 70%;
    padding-left: 30px;
}

.timeline>div.inverted .badge {
    left: 0;
    right: auto;
    padding-left: 0;
}

.timeline>div:hover,
.timeline>div.inverted:hover {
    transform: none;
}

.timeline>div {
    margin-bottom: 0;
}

.timeline .badge {
    margin-top: -2px;
    background: rgb(255, 255, 255);
}

.timeline .badge span {
    font-weight: 700;
    text-transform: uppercase;
    font-size: 13px;
}

.timeline .badge p {
    font-weight: 700;
    font-size: 25px;
    margin: 30px 0 0 0;
    transition: color .5s;
}

.timeline-title {
    font-size: 20px;
}

.menu-inner>div>span {
    text-transform: uppercase;
    font-weight: 700;
}

.menu-inner li>a {
    text-transform: uppercase;
    font-size: 13px;
    font-weight: 700;
}

.maso-list .menu-inner li>a {
    font-size: 14px;
}

.menu-inner-vertical li>a {
    border-radius: 0;
    border-bottom: 1px solid rgba(10, 70, 103, 0.25);
}

.menu-inner .dropdown ul>li>a {
    font-size: 13px;
}

.menu-inner-vertical li.dropdown>ul {
    margin: 0;
}

.menu-inner .dropdown ul>li:hover>a {
    background: none;
}

.light.menu-inner-vertical li>a {
    border-bottom: 1px solid rgba(255, 255, 255, 0.25);
}

.menu-inner-vertical li:last-child>a {
    border-bottom: none;
}

.menu-inner-vertical .dropdown>ul:before {
    display: none;
}

.menu-inner:not(.menu-inner-vertical) .dropdown ul {
    margin: -2px 0 0 0;
    border-radius: 0;
    border: none;
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1);
}

.menu-inner:not(.menu-inner-vertical) .dropdown ul ul {
    margin-top: 0;
}

.menu-inner-image.menu-inner li>a {
    text-transform: none;
    font-size: 14px;
    height: 75px;
    overflow: hidden;
    line-height: 25px;
    padding-right: 90px;
    border: none;
}

.menu-inner-image li {
    padding-left: 0;
    border-bottom: 1px solid rgba(10, 70, 103, 0.25);
    margin-bottom: 15px;
    padding-bottom: 15px;
}

.menu-inner-image li:last-child {
    border: none;
    margin-bottom: 0;
}

.menu-inner-image li a span {
    font-weight: 600;
    text-transform: none;
    opacity: .75;
    margin-bottom: 7px;
}

.menu-inner-image li:before {
    left: 0;
    bottom: -1px;
}

.menu-inner-image li:hover:before {
    width: calc(100%);
}

.menu-inner-image li img {
    left: auto;
    right: 0;
    max-height: 65px;
    max-width: 65px;
    height: 65px;
}

.cnt-box-team .caption {
    font-size: 14px;
    font-weight: 600;
    height: 120px;
    border-top: 1px solid rgba(10, 70, 103, 0.25);
}

.cnt-box-team {
    padding-bottom: 120px;
}

.cnt-box-team:hover .caption {
    height: 240px;
}

.cnt-box-team .caption h2 {
    text-transform: uppercase;
    font-size: 15px;
}

.cnt-box-team:not(:hover) .icon-links {
    opacity: 0;
}

.cnt-box-team.cnt-box .caption p {
    font-size: 12px;
    font-weight: 500;
    line-height: 22px;
}

.counter h3,
.countdown h3 {
    margin: 0;
    text-transform: uppercase;
    white-space: nowrap;
    font-size: 14px;
}

.counter .value,
.countdown-vertical [data-time]>div>span:first-child,
.countdown-horizontal [data-time]>div>span:first-child {
    font-weight: 900;
}

.counter.counter-horizontal.counter-icon>i {
    margin-right: 20px;
}

.counter-horizontal.counter-icon {
    height: 50px;
}

.countdown-vertical [data-time]>div>span,
.countdown-horizontal [data-time]>div>span:last-child {
    font-weight: 600;
}

.form-inline textarea,
.form-inline select,
.form-inline input {
    height: 58px;
}

.form-box.form-inline .form-checkbox {
    position: absolute;
    right: 15px;
    top: -55px;
    width: calc(33.333% - 45px);
    font-size: 11px;
    line-height: 19px;
    opacity: .8;
    letter-spacing: .3px;
}

.progress-bar>h4 {
    margin-bottom: 0;
    margin-top: -5px;
    text-transform: uppercase;
    font-size: 14px;
}

.progress-bar>div {
    height: 1px;
    margin-top: 13px;
}

.progress-bar>div>div {
    height: 5px;
    transform: translateY(-2px);
}

.progress-bar>div span {
    font-size: 11px;
    line-height: 25px;
}

.cnt-call {
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
    background: rgb(255, 255, 255);
}

.cnt-call .caption {
    width: calc(70% - 30px);
    text-align: left;
}

.cnt-call .caption .btn,
.cnt-call .caption .btn-text {
    position: absolute;
    right: 60px;
    top: 50%;
    margin-top: -25px;
    width: calc(30% - 60px);
}

.cnt-call .caption .btn-text {
    width: auto;
    margin-top: -11px;
    text-transform: uppercase;
    font-weight: 900;
}

.cnt-call .caption h3 {
    font-weight: 900;
    font-size: 22px;
}

.cnt-call>i {
    display: block;
    text-align: left;
}

.text-list-line li hr {
    margin-top: 19px;
}

.cnt-box-blog-side .icon-list,
.cnt-box-blog-top .icon-list {
    margin-left: -30px;
    padding-left: 27px;
    padding-bottom: 10px;
    margin-top: 15px;
    border-bottom: 1px solid rgba(10, 70, 103, 0.18);
}

.cnt-box .btn-text:after,
.cnt-box .btn-text:after {
    opacity: 1;
    animation: none;
    right: -35px;
}

.cnt-box-blog-side,
.cnt-box-blog-top {
    transition: all .5s;
}

.cnt-box-blog-side:hover,
.cnt-box-blog-top:hover {
    transform: scale(.95);
}

.cnt-box-blog-side .blog-date,
.cnt-box-blog-top .blog-date {
    margin: 15px;
    border-radius: 3px;
    overflow: hidden;
    font-weight: 700;
}

.cnt-box-blog-side .blog-date span:last-child,
.cnt-box-blog-top .blog-date span:last-child {
    font-weight: 600;
    font-size: 11px;
}

.cnt-box-blog-side .icon-list a,
.cnt-box-blog-top .icon-list a {
    font-weight: 600;
    text-transform: uppercase;
    font-size: 12px;
}

.cnt-box-blog-side .blog-date span:first-child,
.cnt-box-blog-top .blog-date span:first-child {
    padding: 10px 0 10px 0;
}

.icon-box {
    transition: transform .5s;
}

.icon-box:hover {
    transform: scale(.95)
}

.icon-box i,
.icon-box-left i,
.icon-box-right i,
.counter i,
.counter-horizontal.counter-icon>i {
    width: 50px;
    height: 50px;
    min-width: 50px;
    line-height: 50px;
    padding: 0;
    border-radius: 3px;
    font-size: 22px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
    text-align: center;
}

.icon-box-top i {
    margin-bottom: 15px;
}

.light .icon-box i,
.light .counter i {
    text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.2);
}

.icon-box-left .caption {
    padding-left: 20px;
}

.icon-box-left {
    align-items: flex-start;
}

.icon-box h3 {
    margin: 2px 0 8px 0;
    font-size: 14px;
    text-transform: uppercase;
    line-height: 16px;
}

.icon-box p {
    line-height: 25px;
    opacity: .8;
}

.icon-links.icon-lg i {
    font-size: 19px;
}

.cnt-box .extra-field {
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 700;
}

.cnt-box-side .extra-field {
    font-size: 14px;
    font-weight: 600;
    border-bottom: 1px solid rgba(10, 70, 103, 0.25);
    padding-bottom: 15px;
    display: block;
    margin-top: -10px;
}

.cnt-box-testimonials .testimonial-info {
    font-weight: 600;
}

.cnt-box-testimonials-bubble>p:after {
    border-right-color: #FFF;
}

.cnt-box-testimonials-bubble>p:before {
    position: absolute;
    bottom: -17px;
    left: 61px;
    content: '';
    display: block;
    background: rgba(0, 0, 0, 0.66);
    transform: rotate(-45deg);
    width: 1px;
    height: 18px;
    filter: blur(2px);
}

.cnt-box-testimonials-bubble .thumb-bar span {
    font-weight: 700;
    line-height: 19px;
}

.cnt-box-testimonials-bubble .thumb-bar span:last-child {
    font-weight: 600;
}

.cnt-box-testimonials>img,
.cnt-box-testimonials-bubble .thumb-bar img {
    max-width: 50px !important;
    max-height: 50px !important;
}

.cnt-box-testimonials-bubble .thumb-bar img {
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
}

@keyframes btn-text-anima {
    0% {
        right: -30px;
        opacity: 0;
    }

    60% {
        right: -40px;
        opacity: 1;
    }

    100% {
        right: -45px;
        opacity: 0;
    }
}

.btn {
    font-weight: 600;
}

.btn:hover {
    box-shadow: 0 12px 24px -10px rgba(21, 59, 93, 0.46);
    transform: scale(.95);
}

button.btn-xs,
button.btn-sm {
    line-height: 30px;
}

.btn-xs {
    font-size: 14px;
}

.btn-text {
    font-weight: 600;
    position: relative;
}

.btn-text:hover:after,
.btn-text.active:after {
    animation: btn-text-anima 1s linear infinite;
}

.btn-text:after {
    font-family: "Icons";
    content: "\67";
    position: absolute;
    font-size: 25px;
    line-height: 30px;
    width: 30px;
    right: -45px;
    top: 1px;
    text-transform: none;
    opacity: 0;
    transition: all .5s;
}

.btn-text.active {
    margin-right: 35px;
}

.cnt-box.boxed,
.cnt-box-testimonials-bubble>p {
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
    transition: all .5s;
}

.cnt-box-testimonials-bubble>p {
    border-left-width: 1px;
    border-left-style: solid;
}

.cnt-box:hover .img-box img,
.cnt-box:hover .img-box:before {
    opacity: 1;
}

.cnt-box .img-box:before {
    z-index: 3;
    background: rgba(0, 0, 0, 0.15);
    transition: all .5s !important;
}

.cnt-box .caption p {
    font-size: 14px;
}

.cnt-box .caption h2 {
    font-weight: 700;
    line-height: 35px;
}

.cnt-box.boxed:hover,
.media-box-full:hover {
    box-shadow: 0 15px 15px rgba(0, 0, 0, 0.15);
    transform: translateY(-5px);
}

.title {
    display: flex;
    flex-direction: column-reverse;
    margin-bottom: 30px;
}

.title p {
    text-transform: uppercase;
    font-weight: 700;
    margin: -2px 0 2px 0;
}

.title h2 {
    font-size: 28px;
    line-height: 40px;
}

.img-box-caption span {
    display: inline-block;
    width: auto;
    margin: 30px;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: .5px;
    font-size: 11px;
    border-radius: 3px;
    right: -100%;
    opacity: 0;
    transition: all .5s;
}

.img-box-caption:hover span {
    right: 0%;
    opacity: 1;
}

.cnt-box-info .cnt-info {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 15px;
}

.cnt-box-info .cnt-info>div {
    display: flex;
    flex-direction: column;
    border-right: 1px solid rgb(196, 201, 202);
}

.cnt-box-info .cnt-info>div:last-child {
    border: none;
}

.cnt-box-info .cnt-info>div>span:first-child {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 12px;
    line-height: 14px;
}

.cnt-box-info .cnt-info>div>span:last-child {
    font-size: 13px;
    font-weight: 600;
    line-height: 13px;
    margin-top: 7px;
}

.cnt-box-info .caption p {
    margin-top: 15px;
}

.cnt-box-info .extra-field {
    position: absolute;
    z-index: 1;
    display: inline-block;
    width: auto;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: .5px;
    font-size: 11px;
    border-radius: 3px;
    color: rgb(255, 255, 255);
    padding: 0 15px;
}

.input-text,
.input-select,
.input-textarea {
    border-top: none;
    border-right: none;
    border-left: none;
    border-bottom-style: solid;
    border-bottom-width: 1px;
    border-radius: 0;
    padding: 15px 0;
}

.input-text-btn .btn {
    margin: 0 0 0 10px;
    border-radius: 3px;
}

.text-list-base li>h3,
.text-list-image .content>h3,
.text-list-side h3 {
    font-size: 16px;
}

.text-list-base li>div,
.text-list-image .content>div,
.text-list-side li>div {
    padding: 0 10px;
    border-radius: 3px;
    font-size: 10px;
    line-height: 25px;
    text-transform: uppercase;
    font-weight: 600;
    height: 25px;
    white-space: nowrap;
    color: rgb(255, 255, 255);
}

.text-list-side li h3 {
    padding-left: 60px;
    text-transform: uppercase;
    font-size: 14px;
    line-height: 22px;
    min-width: 190px;
    border-right: 1px solid rgba(10, 70, 103, 0.19);
}

.text-list-side p {
    margin-right: 0;
    margin-top: -5px;
}

.text-list-side li>div {
    left: 0;
    right: auto;
    top: 5px;
    position: absolute;
}

.text-list-base li {
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(10, 70, 103, 0.19);
}

/*

# CONTAINERS
===================================================================
*/
.collapse-button>a {
    font-weight: 600;
}

.section-full-width>.container>.google-map {
    height: 450px;
}

.section-map-right>.container {
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
}

.album-title>a {
    font-weight: 600;
}

.album-title span {
    font-size: 28px;
    line-height: 40px;
    font-weight: 900;
    text-transform: uppercase;
}

.album-box .caption {
    left: 30px;
    border-left-style: solid;
    border-left-width: 2px;
    padding: 5px 15px;
    min-width: 50%;
    border-radius: 3px;
    transition: all .5s;
}

.album-box:hover .caption {
    border-left-width: 8px;
}

.album-box .img-box:before {
    display: none;
}

.album-box img {
    opacity: .7;
}

.album-box:hover .img-box img {
    opacity: 1;
}

.album-box .caption h3 {
    color: rgb(255, 255, 255);
    font-size: 14px;
    text-transform: uppercase;
}

.step-item>.content>h3 {
    margin-bottom: 15px;
    font-size: 16px;
}

.step-item:before {
    background-color: rgba(19, 48, 74, 0.22);
}

.step-item>span {
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
    border: 1px solid rgb(214, 226, 234);
    font-weight: 700;
}

.pagination li a {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 14px;
}

.pagination li.page a {
    border: 1px solid rgb(230, 230, 230);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
    background-color: #FFF;
}

.glide[data-options*=focusAt] .glide__slide>div {
    transition: all .8s;
}

.glide[data-options*=focusAt] .glide__slide:not(.glide__slide--active)>div {
    transform: scale(.8);
    opacity: .8;
}

.glide[data-options*=focusAt] .glide__slide:not(.glide__slide--active)>div .img-box {
    box-shadow: none;
}

.section-block-full>.container>.row>.col:first-child {
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
    margin: 0 15px;
}

.section-block>.container>.row>.col:first-child:after {
    content: '';
    border: 25px solid rgba(0, 0, 0, 0.12);
    border-top-color: rgba(0, 0, 0, 0);
    border-bottom-color: rgba(0, 0, 0, 0);
    border-right-color: rgba(0, 0, 0, 0);
    right: -50px;
    left: auto;
    top: 50%;
    margin-top: -24px;
    position: absolute;
    z-index: 0;
    filter: blur(1px);
}

.section-block-full.section-block-right>.container>.row>.col:first-child:after {
    right: auto;
    left: -50px;
    transform: rotate(180deg);
}

.section-block-full>.container>.row>.col {
    max-width: calc(50% - 30px);
}

.section-block-right>.container>.row>.col:last-child {
    text-align: left;
    justify-content: flex-start;
}

.section-block-right>.container>.row>.col:last-child>div {
    width: 100%;
}

.col>#chart {
    margin-left: -30px;
    margin-top: -76px;
    max-height: 305px;
}

.table-grid td,
.table-border td,
.table-border th {
    border-color: rgb(188, 206, 216);
}

.table-grid td>h3 {
    font-size: 18px;
    font-weight: 900;
}

.glide__bullets>button {
    border-radius: 15px;
    background: none;
    border-style: solid;
    border-width: 1px;
}

.glide__bullets>button.glide__bullet--active {
    width: 28px;
}

.accordion-list>li>a {
    font-weight: 600;
}

.accordion-list>li:last-child {
    border: none;
}

.accordion-list>li:first-child {
    border-top: none;
}

.accordion-list>li>a:before {
    opacity: 1;
}

.tab-nav li a {
    font-weight: 700;
    font-size: 14px;
    padding: 5px 15px;
    border: none;
    text-transform: uppercase;
    position: relative;
}

.tab-nav li a:before {
    content: "";
    position: absolute;
    width: 30px;
    height: 1px;
    top: 50%;
    left: -30px;
}

.tab-nav li:first-child a:before,
.tab-vertical li a:before {
    display: none;
}

/*

# RESPONSIVE
===================================================================

Large devices (desktops, less than 1200px)
-------------------------------------------------------------------
*/

@media (max-width: 1199.98px) {

    .row-fit-lg>div>.slider,
    .row-fit-lg>div>.slider .glide__track,
    .row-fit-lg>div>.slider .glide__track *,
    .row-fit-lg>div>.img-box {
        height: 100%;
    }

    .row-fit-lg>div>.slider .glide__slides li>*>* {
        height: auto;
    }

    .menu-classic .menu-right {
        display: none;
    }

    .section-block-full>.container>.row>.col:first-child {
        padding: 45px;
    }

    .col-lg-4 .text-list-bold li {
        display: block;
    }

    .col-lg-4 .text-list-bold li p {
        margin-left: 0;
    }

    .col-lg-4 .boxed-area .text-list-line li {
        display: block;
        height: auto;
    }

    .col-lg-4 .boxed-area .text-list-line li p {
        margin-left: 0;
    }

    .col-lg-4 .boxed-area .text-list-line hr {
        display: none;
    }
}

/*
Medium devices (tablets, less than 992px)
-------------------------------------------------------------------
*/

@media (max-width: 991.98px) {

    .arrows-inner-right .media-box-reveal .caption {
        width: 420px;
    }

    .col-lg-4 .text-list-bold li {
        display: flex;
    }

    .col-lg-4 .text-list-bold li p {
        margin-left: 10px;
    }

    .menu-subtitle .menu-cnt .menu-right {
        height: auto;
    }

    .menu-subtitle .menu-cnt li a span {
        color: rgb(63, 79, 88);
        bottom: 27px;
    }

    .form-box.form-inline .form-checkbox {
        position: static;
        margin-top: 0;
        width: 100%;
    }

    .form-box [class*=col-lg-]+[class*=col-lg-] {
        margin-top: 30px !important;
    }

    .block-image {
        top: auto;
    }

    body>.menu-subtitle {
        height: 70px;
    }

    .menu-classic.align-right>.container .menu-right {
        margin-left: 0;
    }

    .menu-classic .menu-right {
        display: block;
    }

    body>nav {
        height: 65px;
    }

    .menu-fixed.menu-top-logo:not(.menu-transparent)+header,
    .menu-fixed.menu-top-logo:not(.menu-transparent)+main {
        margin-top: 65px;
    }

    .dropdown-submenu>a:after,
    .menu-cnt>ul>li.dropdown>a:after {
        right: 30px;
    }

    .nav-label {
        position: static;
        right: -15px;
    }

    .menu-cnt>ul>li.dropdown a,
    .nav-label a,
    .menu-transparent .menu-cnt>ul>li.dropdown a {
        border-top: 1px solid rgba(9, 59, 86, 0.12);
    }

    nav .custom-area {
        text-align: left;
        border-right: none;
        margin: 0 30px;
    }

    .menu-right>* {
        margin: 10px 30px;
    }

    nav .search-btn {
        margin: 0 30px;
    }

    .search-box-menu {
        border-top: none;
        border-left: none;
        border-right: none;
        border-radius: 0;
        line-height: 30px;
    }

    .search-box-menu>input[type=text] {
        line-height: 35px;
        height: 35px;
    }

    nav .dropdown>ul:before {
        display: none;
    }

    .lan-menu>li>a {
        line-height: 65px;
    }

    .lan-menu .dropdown.active {
        display: flex;
    }

    .lan-menu>.dropdown.active>ul {
        display: flex;
    }

    .lan-menu>.dropdown.active>ul li a {
        line-height: 65px;
        height: 65px;
        padding-right: 0;
    }

    .menu-fixed.scroll-menu.menu-top-logo .menu-brand {
        display: block;
    }

    body>nav .menu-brand {
        padding: 15px 0;
    }

    footer h3+p,
    footer h3+p+div,
    footer h3+div,
    footer h3+p+.icon-links,
    footer h3+ul.icon-list {
        margin-top: 15px;
    }

    footer .col-lg-4+.col-lg-4,
    footer [class*=col-]:not([class*=col-sm])+[class*=col-]:not([class*=col-sm]) {
        margin-top: 45px;
    }

    .section-home-slider .counter>div {
        display: flex;
        margin-top: -15px;
    }

    .section-home-slider .counter:first-child {
        margin-top: 30px;
        padding-left: 15px;
        border-left: 1px solid rgba(255, 255, 255, 0.23);
        margin-bottom: 20px;
    }

    .section-home-slider [data-to] {
        font-size: 27px;
        line-height: 45px;
    }

    .section-home-slider .counter h3 {
        font-size: 19px;
        padding-right: 30px;
        line-height: 55px;
    }

    footer .col-lg-4:last-child {
        margin: 0 15px;
        max-width: calc(100% - 30px);
        overflow: hidden;
    }

    nav.menu-fixed.menu-transparent:not(.scroll-menu) {
        margin-top: 0;
    }

    .tab-top-right .tab-nav {
        position: relative;
        top: auto;
    }

    body>header ol.breadcrumb,
    .header-base .breadcrumb {
        justify-content: flex-start;
        position: relative;
        right: auto;
        top: 0;
        margin: 10px 0 0 0;
    }

    .list-nav a {
        text-indent: -9995px;
    }

    .list-nav a:before,
    .list-nav .list-archive {
        text-indent: 0;
    }
}

/*
Small devices (landscape phones, less than 768px)
-------------------------------------------------------------------
*/

@media (max-width: 767.98px) {

    .section-home-slider .counter>div {
        display: block;
        margin-top: -15px;
    }

    .section-home-slider .counter h3 {
        line-height: 25px;
        padding-top: 5px;
    }

    body>.header-base h2 {
        background: none;
        margin-top: 15px;
    }

    .media-box-reveal {
        min-height: 300px;
    }

    .cnt-box .caption h2 {
        line-height: 30px;
        font-size: 19px;
    }

    .tab-nav li a:before {
        display: none;
    }

    .tab-nav li a {
        text-align: left;
    }

    .section-block-full>.container>.row>.col:first-child {
        padding: 0;
        box-shadow: none;
    }

    .section-block-full.section-block-right>.container>.row>.col:first-child:after {
        display: none;
    }

    .section-block>.container>.row>.col:last-child {
        width: 55%;
        max-width: 100%;
    }

    .block-image {
        bottom: 0;
    }

    .table-border.table-full-sm tbody tr:last-child td:not(:last-child) {
        border-color: rgb(188, 206, 216);
    }

    .table-logos.table-full-sm img {
        margin: 15px auto;
    }

    .pagination-top-right .pagination {
        position: static;
        margin: 30px -5px;
    }

    .section-home-slider .slider li>.img-box {
        margin: 15px 15px 15px 100px;
    }

    .arrows-inner-right .glide__arrow {
        display: none;
    }

    body>header h1,
    body>.header-base h1 {
        font-size: 36px;
        line-height: 50px;
    }

    .section-map-right>.container {
        box-shadow: none;
    }

    .section-map>.container {
        padding-left: 30px;
        padding-right: 30px;
    }

    .pricing-table-big {
        margin-top: 0;
        height: 100%;
    }
}

/*
Extra small devices (portrait phones, less than 576px)
-------------------------------------------------------------------
*/

@media (max-width: 575.98px) {
    .list-nav:not(.align-center-md) a.list-archive {
        margin-right: 45px;
        margin-left: 45px;
    }

    .media-box-reveal .caption {
        width: auto;
        left: 0;
        right: 0;
        bottom: 0;
        max-width: 100%;
        max-height: 100%;
    }

    .media-box.media-box-reveal .caption h2 {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .media-box.media-box-reveal .extra-field {
        display: none;
    }

    .media-box.media-box-reveal h3 {
        padding-left: 25px;
        text-align: left;
    }

    h1 {
        font-size: 33px;
        line-height: 45px;
    }

    body>header h1,
    body>.header-base h1 {
        font-size: 35px;
        line-height: 45px;
    }

    [class*=col-lg-]>h3,
    .boxed-area>h3,
    .container>h3 {
        font-size: 18px;
    }

    .controls-out .glide__bullets {
        justify-content: flex-start;
        bottom: -45px;
    }

    .controls-out {
        margin-bottom: 45px;
    }

    .table-10.table-6-md.table-grid.table-border tbody td:nth-child(2n+1) {
        padding-left: 10px;
    }

    .table-grid.table-border.table-10.table-logos td,
    .table-grid.table-border.table-10.table-logos tbody td:nth-child(2n+1) {
        padding: 20px;
    }

    .cnt-call {
        padding: 30px;
    }

    .cnt-call .caption {
        width: auto;
    }

    .cnt-call .caption .btn,
    .cnt-call .caption .btn-text {
        position: relative;
        margin: 15px 0 0 0;
        right: 0;
        top: auto;
        width: auto;
    }

    .col-lg-4 .text-list-bold li {
        display: block;
    }

    .col-lg-4 .text-list-bold li p {
        margin-left: 0;
    }

    .section-home-slider .slider {
        margin: 0 0 100px 0;
        max-width: 100%;
    }

    .section-home-slider h1 {
        position: relative;
        font-size: 38px;
        line-height: 48px;
        margin: 0;
    }

    .section-home-slider .glide__arrow {
        left: 0;
        bottom: -59px;
    }

    .section-home-slider .glide__arrow--right {
        left: 65px;
    }

    .section-home-slider .slider li>.img-box {
        margin: -77px 0 0 0;
    }

    .section-block-full>.container>.row>.col,
    .section-block-full>.container>.row>.col:first-child {
        max-width: calc(100% - 30px);
    }

    .timeline .panel,
    .timeline div.inverted .panel,
    .timeline div.inverted .panel:last-child,
    .timeline .panel:last-child {
        width: 100%;
        margin-left: 0;
        border: none;
    }

    .timeline>div .badge {
        width: 100%;
        position: static;
        padding: 0;
    }

    .timeline div.inverted .panel:last-child {
        padding-left: 0;
    }

    .text-list-side li {
        display: block;
    }

    .text-list-side p {
        margin: 15px 0 0 0;
    }

    .text-list-side li>div {
        top: -1px;
    }

    .text-list-side li h3 {
        border-right: none;
    }

    .icon-list-horizontal.icon-list li {
        margin-bottom: 10px;
    }

    .cnt-box .icon-list-horizontal.icon-list li.icon-links {
        padding-left: 0;
    }
}

@media (max-width: 425px) {
    .col-lg-4 .text-list-line li {
        display: block;
        height: auto;
    }

    .col-lg-4 .text-list-line li p {
        margin-left: 0;
    }

    .col-lg-4 .text-list-line hr {
        display: none;
    }

    .section-block>.block-media,
    .section-block>.block-media>div,
    .section-block>.container>.row>.col:last-child {
        height: 300px;
    }

    body>header h1,
    body>.header-base h1 {
        font-size: 25px;
        line-height: 35px;
    }

    body,
    textarea,
    .cnt-box .caption p {
        font-size: 13px;
    }

    .text-list {
        font-size: 14px;
    }
}

/* 
    ----------------------------------
    ALTERAÇÃO
    ----------------------------------
     */
/* removendo fundo hover amarelo apenas do home no menu */
.menu-cnt>ul>li.dropdown:first-child ul li:hover>a {
    background-color: rgb(255, 255, 255) !important;
    color: var(--loop-gold) !important;
}

/* Estado normal (não hover) mantém o texto original */
.menu-cnt>ul>li.dropdown:first-child ul li>a {
    background-color: rgb(255, 255, 255) !important;
}

/* Estilo para item sem-dropdown ativo - Desktop */
@media (min-width: 992px) {

    /* Menu item sem-dropdown ativo - texto amarelo */
    .menu-cnt>ul>li.sem-dropdown.active>a,
    .menu-cnt>ul>li.sem-dropdown>a:hover {
        color: var(--loop-gold) !important;
    }

    /* Adiciona indicador visual embaixo do menu ativo */
    .menu-cnt>ul>li.sem-dropdown.active>a::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 15px;
        right: 15px;
        height: 2px;
        background-color: var(--loop-gold);
    }
}

/* Estilo para item sem-dropdown ativo - Mobile */
@media (max-width: 991.98px) {

    /* Menu item sem-dropdown ativo - fundo amarelo com texto escuro */
    .menu-cnt>ul>li.sem-dropdown.active>a {
        color: var(--loop-gold) !important;
    }
}

/* Adiciona borda divisória nos itens sem-dropdown no mobile */
@media (max-width: 991.98px) {

    /* Borda superior para todos os itens sem-dropdown */
    .menu-cnt>ul>li.sem-dropdown>a {
        border-top: 1px solid rgba(9, 59, 86, 0.12);
    }

    /* Remove borda do primeiro item se necessário */
    /* .menu-cnt > ul > li.sem-dropdown:first-child > a {
        border-top: none;
    } */

    /* Garante que o estilo de hover/active funcione com a borda */
    .menu-cnt>ul>li.sem-dropdown.active>a {
        color: var(--loop-gold) !important;
        border-top: 1px solid rgba(9, 59, 86, 0.12);
    }

    /* Mantém a borda no hover */
    .menu-cnt>ul>li.sem-dropdown>a:hover {
        border-top: 1px solid rgba(9, 59, 86, 0.12);
    }
}

/* icone whats verde no mobile  */
@media (max-width: 991px) {
    .menu-top-logo .nav-label a i {
        color: #25D366 !important;
    }
}


/* 
    ----------------------------------
    ABAIXO ALTERAÇÃO PARA TODOS OS MENUS SE NECESSARIO
    ----------------------------------
     */

/* Remove o fundo amarelo de TODOS os itens dos dropdowns */
/* .menu-cnt ul li:hover > a,
.dropdown ul li:hover > a,
.menu-inner .dropdown ul > li:hover > a,
nav:not(.menu-transparent) .menu-cnt > ul > li ul li:hover > a {
    background-color: transparent !important;
    color: var(--loop-gold) !important;
} */

/* Estado normal sem hover */
/* .menu-cnt ul li > a,
.dropdown ul li > a,
.menu-inner .dropdown ul > li > a {
    background-color: transparent !important;
} */

/* 
    ----------------------------------
    ALTERAÇÃO
    ----------------------------------
     */
/* alterando sections */
.section-base .title h2 {
    font-size: 27px !important;
    line-height: 1.2 !important;
    margin-bottom: 10px !important;
}

/* .section-base .col-lg-6 > p {
    margin-top: 10px !important;
    line-height: 1.55 !important;
} */

/* Centraliza horizontalmente APENAS a imagem da section */
.section-overflow-top .row .col-lg-6:first-child {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Ajuste da imagem */
.section-base .row .col-lg-6:first-child img {
    max-height: 450px;
}

/* Centraliza verticalmente APENAS a imagem da section */
/* .section-base .row .col-lg-6:first-child img {
    display: flex;
    align-items: center;
    justify-content: center;
    max-height: 450px;
} */

.col-lg-6 p {
    margin-bottom: 18px;
    line-height: 1.4;
}


/* alterando grids 6 cards  */
.grid-list .grid-box {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

/* Para responsividade — segue seu data-columns */
@media (max-width: 991px) {
    .grid-list .grid-box {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .grid-list .grid-box {
        grid-template-columns: 1fr;
    }
}

/* alterando grid 4 cards */
.grid-4 .grid-box {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

@media (max-width: 991px) {
    .grid-4 .grid-box {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .grid-4 .grid-box {
        grid-template-columns: 1fr;
    }
}

/* Cada item precisa crescer igualmente */
.grid-list .grid-item {
    height: 100%;
}

/* O card interno estica para igualar */
.grid-list .cnt-box {
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* Faz o texto ocupar o tamanho restante */
.grid-list .cnt-box .caption {
    flex-grow: 1;
}

/* 
    ----------------------------------
    ALTERAÇÃO
    ----------------------------------
     */
/* modal solicitar demonstrção */
/* Container */
#modal-demo .floating-group {
    position: relative;
    margin-bottom: 0px;
}

/* Input base */
#modal-demo .floating-group input {
    width: 100%;
    padding: 16px 15px 6px 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 15px;
    min-height: 46px;
    background: #fff;
}

/* Esconde o placeholder visualmente */
#modal-demo .floating-group input::placeholder {
    color: transparent;
}

/* Label dentro do input */
#modal-demo .floating-group label {
    position: absolute;
    top: 7px;
    left: 8px;
    font-size: 12px;
    color: #777;
    pointer-events: none;
    transition: all 0.2s ease;
    background: white;
    padding: 0 4px;
}

/* Quando clica ou quando tem texto */
#modal-demo .floating-group input:focus+label,
#modal-demo .floating-group input:not(:placeholder-shown)+label {
    top: -14px;
    left: 10px;
    font-size: 11px;
    color: var(--loop-gold);
}

/* borda de baixo c foco */
#modal-demo .floating-group input:focus {
    border-bottom: 2.5px solid var(--loop-gold) !important;
    outline: none;
}

#modal-demo .loop-form-step .row {
    row-gap: 10px;
}

@media (min-width: 680px) {
    #modal-demo [data-form-step="2"] .row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #modal-demo [data-form-step="2"] .row > .col-lg-12 {
        max-width: none;
        width: 100%;
    }

    #modal-demo [data-form-step="2"] .row > .col-lg-12:nth-child(1),
    #modal-demo [data-form-step="2"] .row > .col-lg-12:nth-child(6),
    #modal-demo [data-form-step="2"] .row > .col-lg-12:nth-child(7) {
        grid-column: 1 / -1;
    }
}

@media (max-height: 760px) {
    .loop-modal {
        max-height: calc(100vh - 24px);
        padding: 18px 24px;
    }

    .loop-modal h3 {
        font-size: 22px;
        margin-bottom: 4px;
    }

    .loop-modal > p,
    .loop-form-step-note,
    .loop-form-microcopy {
        margin-bottom: 10px;
    }

    .loop-form-progress-copy {
        margin-bottom: 7px;
    }

    #modal-demo .floating-group input,
    .floating-group select {
        min-height: 42px;
    }
}

@media (max-width: 679.98px) {
    .loop-modal {
        max-height: calc(100vh - 18px);
        max-width: calc(100vw - 18px);
        padding: 18px;
    }
}

/* botão enviar solicitar demonstração  */
#modal-demo .btn-submit {
    float: right;
    background: #ffffff !important;
    color: var(--loop-gold) !important;
    border: 2px solid var(--loop-gold) !important;
    font-weight: 400;
    border-radius: 4px;

    /* diminui o espaço interno do botão */
    padding: 8px 16px !important;
    line-height: 1.2 !important;
}

/* Força o botão a ficar visível e APARECER */
#modal-demo.box-lightbox {
    position: relative !important;
}

.mfp-close {
    position: absolute !important;
    top: 4px !important;
    right: 6px !important;
    width: 32px !important;
    height: 32px !important;
    line-height: 32px !important;
    font-size: 28px !important;
    padding: 0 !important;
    color: #333 !important;
    opacity: 1 !important;
    background: transparent !important;
}

.mfp-close-btn-in .mfp-close {
    color: #333 !important;
    opacity: 1 !important;
}

@media (max-width: 480px) {
    .mfp-close {
        top: 6px !important;
        right: 6px !important;
        font-size: 24px !important;
    }
}

/* Esconde o X padrão do Magnific Popup */
.mfp-wrap>.mfp-close {
    display: none !important;
}


/* 
    ----------------------------------
    ALTERAÇÃO
    ----------------------------------
     */
/* alteração formulario fale conosto */
#form-faleconosco .floating-group {
    position: relative;
    margin-bottom: 0px;
}

#form-faleconosco .floating-group input {
    width: 100%;
    padding: 16px 15px 6px 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 15px;
    background: #fff;
}

#form-faleconosco .floating-group input::placeholder {
    color: transparent;
}

#form-faleconosco .floating-group label {
    position: absolute;
    top: 7px;
    left: 8px;
    font-size: 12px;
    color: #777;
    pointer-events: none;
    transition: all 0.2s ease;
    background: white;
    padding: 0 4px;
}

#form-faleconosco .floating-group input:focus+label,
#form-faleconosco .floating-group input:not(:placeholder-shown)+label {
    top: -14px;
    left: 10px;
    font-size: 11px;
    color: var(--loop-gold);
}

#form-faleconosco .floating-group input:focus {
    border-bottom: 2.5px solid var(--loop-gold) !important;
    outline: none;
}

/* Mesmo padrao botão do modal */
#form-faleconosco .btn-submit {
    float: right;
    background: #ffffff !important;
    color: var(--loop-gold) !important;
    border: 2px solid var(--loop-gold) !important;
    font-weight: 400;
    border-radius: 4px;
    padding: 8px 16px !important;
    line-height: 1.2 !important;
}

/* Remove espaçamentos laterais e de baixo do Bootstrap */
#form-faleconosco .col-lg-12 {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-bottom: 2px !important;
}

/* Último elemento não precisa de margem extra */
#form-faleconosco .col-lg-12:last-child {
    margin-bottom: 0 !important;
}

/* Garante alinhamento perfeito à esquerda */
#form-faleconosco {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Mantém os inputs iguais ao modal */
#form-faleconosco .floating-group {
    margin-bottom: 0 !important;
}

/* Correção APENAS para o formulário simples (1 campo por linha) */
@media (max-width: 991px) {

    /* Remove os -20px herdados */
    .form-fale-simples .col-lg-12 {
        margin-bottom: 12px !important;
    }

    /* E-mail → Telefone ficam com espaçamento igual */
    .form-fale-simples .col-lg-12:nth-child(2) {
        margin-bottom: 12px !important;
    }

    /* Telefone */
    .form-fale-simples .col-lg-12:nth-child(3) {
        margin-bottom: 12px !important;
    }

    /* Botão com distância */
    .form-fale-simples .btn-submit {
        margin-top: 20px !important;
    }
}

/* Em telas pequenas, reduz um pouco o espaço interno dos inputs */
@media (max-width: 768px) {
    #form-faleconosco .floating-group input {
        padding: 14px 12px 6px 12px;
    }

    #form-faleconosco .col-lg-12 {
        margin-bottom: 24px !important;
    }

    #form-faleconosco .btn-submit {
        float: right;
        width: auto !important;
        display: inline-block !important;
        margin-top: 4px;
    }
}

/* ajustandio botões dos formulários a direita no mobile */
#form-faleconosco .col-lg-12.botao-wrapper {
    display: flex !important;
    justify-content: flex-end !important;
    padding: 0 !important;
}


/* Empilhar os 3 campos a partir de 1200px */
@media (max-width: 1200px) {
    #form-faleconosco .linha-3campos>div {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    /* Espaçamento suave entre eles */
    #form-faleconosco .linha-3campos>div {
        margin-bottom: 12px !important;
    }
}

/* Linha com 3 campos */
#form-faleconosco .linha-3campos {
    margin-left: -8px;
    margin-right: -8px;
}

#form-faleconosco .linha-3campos>div {
    padding-left: 8px !important;
    padding-right: 8px !important;
    margin-bottom: 4px !important;
}

/* Garante que não fique espaço extra embaixo da linha */
#form-faleconosco .linha-3campos .floating-group {
    margin-bottom: 0 !important;
}

/* Em mobile continua empilhando */
@media (max-width: 991.98px) {
    #form-faleconosco .linha-3campos>div {
        margin-bottom: 1px !important;
    }
}

/* Ajuste geral dos espaçamentos a partir de 991px para baixo */
@media (max-width: 991px) {

    /* Espaçamento padrão entre todos os campos */
    #form-faleconosco .col-lg-12,
    #form-faleconosco .linha-3campos>div {
        margin-bottom: -20px !important;
    }

    /* Remove margens conflitantes de 1px */
    #form-faleconosco .linha-3campos>div {
        margin-bottom: -20px !important;
    }

    /* Faz todos os inputs ficarem visualmente alinhados */
    #form-faleconosco .floating-group input {
        padding: 14px 12px 6px 12px !important;
    }

    /* Garante que o email tenha o mesmo espaço do nome */
    #form-faleconosco .col-lg-12:nth-child(2) {
        margin-bottom: 8px !important;
    }

    /* o botão NÃO cola nos campos */
    #form-faleconosco .btn-submit {
        margin-top: 24px !important;
    }
}

/* Correção EXCLUSIVA para o formulário "Escreva-nos" em tablets e celulares */
/* Reduzir espaço APENAS entre E-mail → Telefone no formulário simples */
@media (max-width: 991px) {
    .form-fale-simples .col-lg-12:nth-child(2) {
        margin-bottom: 6px !important;
    }

    .form-fale-simples .col-lg-12:nth-child(3) {
        margin-top: 0 !important;
        margin-bottom: 12px !important;
    }
}

/* Correção final — impede botão colar no último campo APENAS no celular */
@media (max-width: 768px) {

    /* Para todos os formulários fale-conosco */
    #form-faleconosco .btn-submit {
        margin-top: 22px !important;
    }

    /* Garante que o último campo nunca tenha margem negativa */
    #form-faleconosco .col-lg-12:last-of-type,
    #form-faleconosco .linha-3campos>div:last-child {
        margin-bottom: 12px !important;
    }
}


/*
 ----------------------------
 MENSAGENS SUCESSO / ERRO
---------------------------- */

/* Caixa padrão */
#form-faleconosco .success-box,
#form-faleconosco .error-box {
    width: 100%;
    display: block;
    margin-top: 58px;
    /* distância do botão */
    clear: both;
    /* garante que fique abaixo do botão */
}

/* Estilo do alert */
#form-faleconosco .alert {
    margin: 0;
    padding: 2px 15px;
    border-radius: 4px;
    font-size: 14px;
}

/* Ajustes no mobile */
@media (max-width: 768px) {

    #form-faleconosco .success-box,
    #form-faleconosco .error-box {
        margin-top: 88px;
        /* um pouco mais de espaço no celular */
    }

    #form-faleconosco .alert {
        font-size: 13px;
        padding: 1px 12px;
    }
}


/* 
    ----------------------------------
    ALTERAÇÃO
    ----------------------------------
     */

/* alteração box numero 3 do footer */
@media (min-width: 426px) {

    /* 1) Reduz o espaço no topo do box (antes de "Endereço") */
    .text-list-line {
        margin-top: -10px !important;
        /* sobe o bloco inteiro */
    }

    /* 2) Reduz espaço na parte de baixo do box (após "Horário") */
    .text-list-line li:last-child {
        margin-bottom: -10px !important;
        /* aproxima o fundo */
        padding-bottom: 0 !important;
    }

    /* Mantém seu ajuste original da segunda linha do endereço */
    .text-list-line li:first-child {
        height: 55px !important;
    }

    .text-list-line li:first-child p {
        margin-top: 6px !important;
        line-height: 1.4 !important;
    }
}

/* Correção do box 3 para evitar texto saindo pela direita em telas grandes */
@media (min-width: 992px) {
    footer .col-lg-4:last-child {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    /* reduz o padding dos itens internos para abrir mais espaço */
    .text-list-line li {
        padding-left: 0 !important;
        padding-right: 0 !important;
        overflow-wrap: break-word;
        word-break: break-word;
        /* garante quebra antes de estourar */
    }
}

/* alterando distancia de linha nos textos do box1 footer (paragreafo) */
footer.light .col-lg-4:first-child p {
    line-height: 1.4 !important;
}

/* 
    ----------------------------------
    ALTERAÇÃO
    ----------------------------------
     */

/* alterando distancia entre texto e endereço no informações contatos */
.col-lg-4>div {
    margin-bottom: 24px !important;
}

.col-lg-4>p {
    margin-bottom: 0px !important;
}

/* 
    ----------------------------------
    ALTERAÇÃO
    ----------------------------------
     */

/* alterando formulário trabalhe conosco */
/* Caixa com borda igual aos inputs */
.floating-group.textarea-group {
    border: 1px solid #e5e5e5 !important;
    border-radius: 5px;
    padding: 12px 15px 4px;
    position: relative;
    margin-top: 5px;
}

/* Altura reduzida */
.floating-group.textarea-group textarea {
    width: 100%;
    height: 70px;
    padding: 0;
    border: none;
    background: transparent;
    resize: none;
    font-size: 15px;
    font-family: inherit;
}

/* Foco */
.floating-group.textarea-group textarea:focus {
    outline: none;
}

/* Label */
.floating-group.textarea-group label {
    position: absolute;
    left: 15px;
    top: 12px;
    transition: all 0.2s ease;
    pointer-events: none;
    color: #888;
}

/* Label flutuando com amarelo do tema */
.floating-group.textarea-group textarea:focus+label,
.floating-group.textarea-group textarea:not(:placeholder-shown)+label {
    transform: translateY(-20px);
    font-size: 13px;
    color: #fdbb2d !important;
}

/* Linha final: anexo à esquerda | enviar à direita */
.linha-anexo-enviar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 14px;
}

/* Caixa de anexar currículo */
.anexo-curriculo .icon-box {
    display: flex;
    align-items: center;
    cursor: pointer;
    transition: 0.2s;
}

.anexo-curriculo .icon-box:hover {
    opacity: 0.8;
}

/* Ajuste dos textos */
.anexo-curriculo h3 {
    margin: 0;
    font-size: 16px;
}

.anexo-curriculo p {
    margin: 0;
    font-size: 12px;
    color: #555;
}

/* Em telas pequenas: empilha */
@media (max-width: 767px) {

    /* Linha vira flex */
    .linha-anexo-enviar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px !important;
        /* diminui o espaço */
    }

    /* Caixa do Anexar fica menor e mantém posição */
    .anexo-curriculo {
        flex: 1;
    }

    /* Botão Enviar vai para a direita */
    #form-faleconosco .btn-submit {
        margin-left: auto !important;
        margin-top: 0 !important;
        float: none !important;
        flex-shrink: 0;
    }

    /* Para reduzir ainda mais o espaço interno do Anexar */
    .anexo-curriculo .icon-box {
        padding: 8px 10px !important;
    }

}

/* laterando cards de preços planos 
/* Primeira linha: apenas o card START centralizado */
.pricing-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

/* Forçar o primeiro card (START) a ocupar a linha sozinho */
.pricing-row>div:nth-child(1) {
    flex: 0 0 100%;
    max-width: 100%;
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
}

/* Os outros 3 cards ficam com 33% normalmente */
.pricing-row>div:nth-child(n+2) {
    flex: 0 0 33.333%;
    max-width: 33.333%;
}

/* Remove o ícone (+) que aparece antes do <b> dentro do pricing */
.cnt-pricing-table ul li b::before {
    content: none !important;
}

.cnt-pricing-table ul li b {
    font-size: 16px;
    font-weight: 700;
    display: block;
    margin-top: 8px;
    margin-bottom: 4px;
}

/* Remove o + do <li> que contém um <b> */
.cnt-pricing-table ul li:has(> b)::before {
    content: none !important;
}

@media (max-width: 991px) {
    .pricing-row>[class*="col-"] {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }
}

/* Correção: no celular o START deve se comportar igual aos outros */
@media (max-width: 991px) {
    .pricing-row>div:nth-child(1) {
        display: block !important;
        justify-content: unset !important;
        margin-bottom: 25px !important;
    }
}

/* alterando, inserindo logo nos cards de proços planos */
/* .pricing-logo {
    width: 280px;
    max-width: 100%;
    display: block;
    margin: 0 auto 10px;
    margin-top: -10px;
} */

/* alterando lado direito pra 2 linhas e 3 colunas no funcionalidades na tela planos */
.grid-list[data-columns="2"] .grid-box {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}

/* Desktop (mantém 2 colunas como está agora) */
.grid-list[data-columns="2"] .grid-box {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}

/* CELULAR — 1 item por linha, igual ao template original */
@media (max-width: 991px) {
    .grid-list[data-columns="2"] .grid-box {
        grid-template-columns: 1fr !important;
        gap: 25px !important;
        /* igual ao index-2 */
    }
}

/* alterando Ícone Área do Cliente no mobile com cor original (não branco) */
@media (max-width: 991px) {
    .menu-right .external-link a i {
        color: #093b56 !important;
    }
}

/* alterando inserindo texto area cliente ao lado do icone "botão" */
/* Área do Cliente - ajuste para mesma linha da navbar */
.menu-right {
    display: flex;
    align-items: center;
    gap: 15px;
}

.area-cliente-btn a {
    display: flex;
    align-items: center;
    gap: 5px;
    background: transparent;
    padding: 3px 8px;
    border-radius: 12px;
    color: #fff !important;
    font-weight: 500;
    font-size: 12px;
    text-decoration: none;
    white-space: nowrap;
    transition: 0.2s ease;
}

.area-cliente-btn a i {
    font-size: 14px;
    color: var(--loop-gold);
}

.area-cliente-btn a:hover {
    color: #fff !important;
    background: var(--loop-gold);
    transform: translateY(-1px);
}

/* Mobile - mantém a cor original do template */
@media (max-width: 991px) {
    .menu-right {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .area-cliente-btn a {
        background: transparent !important;
        color: #093b56 !important;
        width: auto;
        display: inline-flex !important; 
    }

    .area-cliente-btn a i {
        color: var(--loop-gold) !important;
    }

    /* Hover apenas no mobile */
    .area-cliente-btn a:hover {
        color: #fff !important;
        background: var(--loop-gold) !important;
    }

    .area-cliente-btn a:hover i {
        color: #fff !important;
    }
}

/* Mobile */
@media (max-width: 991px) {
    .menu-right {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .area-cliente-btn a i {
        color: #093b56 !important;
    }
}


/* alterando Remove o fundo azul do autocomplete do Chrome */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px white inset !important;
    box-shadow: 0 0 0 1000px white inset !important;
    background-color: white !important;
    color: #000 !important;
    -webkit-text-fill-color: #000 !important;
}

/* Keep the official Loop Sistemas logo fully visible in the header. */
.loop-nav .menu-brand,
.loop-nav.scroll-menu .menu-brand,
.loop-nav.menu-fixed.scroll-menu.menu-top-logo .menu-brand {
    align-items: center !important;
    display: flex !important;
    height: 65px !important;
    justify-content: flex-start !important;
    left: auto !important;
    overflow: visible !important;
    padding: 0 !important;
    position: static !important;
    top: auto !important;
    transform: none !important;
}

.loop-nav .menu-brand>a {
    align-items: center !important;
    display: flex !important;
    height: 100% !important;
    overflow: visible !important;
}

.loop-nav .menu-brand img.loop-header-logo {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    object-fit: contain !important;
    width: 118px !important;
}

@media (min-width: 992px) {
    .loop-nav.menu-top-logo>.container {
        max-width: 1280px !important;
        width: 100% !important;
    }

    .loop-nav .menu-brand,
    .loop-nav.scroll-menu .menu-brand,
    .loop-nav.menu-fixed.scroll-menu.menu-top-logo .menu-brand {
        height: 86px !important;
    }

    .loop-nav .menu-brand img.loop-header-logo {
        width: 160px !important;
    }
}

/* Final header-logo override: the template forces menu logos to 35px tall. */
.loop-nav .menu-brand,
.loop-nav.scroll-menu .menu-brand,
.loop-nav.menu-fixed.scroll-menu.menu-top-logo .menu-brand {
    align-items: center !important;
    display: flex !important;
    height: 65px !important;
    justify-content: flex-start !important;
    overflow: visible !important;
    padding: 0 !important;
}

.loop-nav .menu-brand>a {
    align-items: center !important;
    display: flex !important;
    height: 100% !important;
    overflow: visible !important;
}

.loop-nav .menu-brand img.loop-header-logo {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    object-fit: contain !important;
    width: 118px !important;
}

@media (min-width: 992px) {
    .loop-nav .menu-brand,
    .loop-nav.scroll-menu .menu-brand,
    .loop-nav.menu-fixed.scroll-menu.menu-top-logo .menu-brand {
        height: 86px !important;
    }

    .loop-nav .menu-brand img.loop-header-logo {
        width: 160px !important;
    }
}

/* Dashboard gallery lightbox */
.loop-dashboard-lightbox.mfp-bg {
    background: rgba(2, 20, 32, .92);
    opacity: 1;
}

.loop-dashboard-lightbox .mfp-content {
    max-width: min(92vw, 1480px);
}

.loop-dashboard-lightbox .mfp-figure:after {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 30px 90px rgba(0, 0, 0, .38);
}

.loop-dashboard-lightbox img.mfp-img {
    border-radius: 8px;
    max-height: 82vh !important;
    padding: 42px 0 54px;
}

.loop-dashboard-lightbox .mfp-title {
    color: #d9f3fb;
    font-family: "Manrope", sans-serif;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: .01em;
    padding-right: 120px;
}

.loop-dashboard-lightbox .mfp-counter {
    color: rgba(217, 243, 251, .78);
    font-family: "Manrope", sans-serif;
}

.loop-dashboard-lightbox .mfp-arrow:before {
    border: 0;
}

.loop-dashboard-lightbox .mfp-arrow:after {
    border-left-color: #ffffff;
    border-right-color: #ffffff;
}

.loop-dashboard-lightbox .mfp-close {
    color: #ffffff !important;
    font-size: 38px !important;
    opacity: .9 !important;
    right: 4px !important;
    top: 6px !important;
}

body.loop-gallery-open {
    overflow: hidden;
}

.loop-gallery-modal {
    align-items: center;
    background: rgba(2, 20, 32, .94);
    display: flex;
    inset: 0;
    justify-content: center;
    opacity: 0;
    padding: 42px 84px;
    pointer-events: none;
    position: fixed;
    transition: opacity .2s ease;
    z-index: 99999;
}

.loop-gallery-modal.active {
    opacity: 1;
    pointer-events: auto;
}

.loop-gallery-modal figure {
    margin: 0;
    max-width: min(1480px, 92vw);
    width: 100%;
}

.loop-gallery-modal img {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 30px 90px rgba(0, 0, 0, .42);
    display: block;
    max-height: 82vh;
    object-fit: contain;
    width: 100%;
}

.loop-gallery-modal figcaption {
    color: #d9f3fb;
    font-family: "Manrope", sans-serif;
    font-size: 15px;
    font-weight: 800;
    margin-top: 14px;
}

.loop-gallery-close,
.loop-gallery-prev,
.loop-gallery-next {
    align-items: center;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 50%;
    color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    justify-content: center;
    position: absolute;
    transition: background .18s ease, transform .18s ease;
}

.loop-gallery-close:hover,
.loop-gallery-prev:hover,
.loop-gallery-next:hover {
    background: rgba(255, 255, 255, .22);
    transform: translateY(-1px);
}

.loop-gallery-close {
    font-size: 34px;
    height: 48px;
    line-height: 1;
    right: 28px;
    top: 24px;
    width: 48px;
}

.loop-gallery-prev,
.loop-gallery-next {
    font-size: 22px;
    height: 58px;
    top: 50%;
    transform: translateY(-50%);
    width: 58px;
}

.loop-gallery-prev:hover,
.loop-gallery-next:hover {
    transform: translateY(calc(-50% - 1px));
}

.loop-gallery-prev {
    left: 24px;
}

.loop-gallery-next {
    right: 24px;
}

@media (max-width: 767px) {
    .loop-dashboard-stack {
        height: clamp(260px, 72vw, 340px);
    }

    .loop-dashboard-stack .loop-stack-card {
        inset: 0 6% 42px 6%;
    }

    .loop-dashboard-stack .loop-stack-card[data-stack-position="0"] {
        transform: translate3d(0, 0, 80px) rotateY(0) scale(1);
    }

    .loop-dashboard-stack .loop-stack-card[data-stack-position="1"] {
        transform: translate3d(54px, 16px, -110px) rotateY(-17deg) scale(.84);
    }

    .loop-dashboard-stack .loop-stack-card[data-stack-position="2"] {
        opacity: .5;
        transform: translate3d(18px, 38px, -260px) rotateY(0) scale(.68);
    }

    .loop-dashboard-stack .loop-stack-card[data-stack-position="3"] {
        transform: translate3d(-54px, 16px, -110px) rotateY(17deg) scale(.84);
    }

    .loop-dashboard-dots {
        left: 2px;
    }

    .loop-gallery-modal {
        padding: 70px 18px 38px;
    }

    .loop-gallery-modal img {
        max-height: 74vh;
    }

    .loop-gallery-close {
        height: 42px;
        right: 16px;
        top: 16px;
        width: 42px;
    }

    .loop-gallery-prev,
    .loop-gallery-next {
        bottom: 16px;
        height: 44px;
        top: auto;
        transform: none;
        width: 44px;
    }

    .loop-gallery-prev:hover,
    .loop-gallery-next:hover {
        transform: translateY(-1px);
    }

    .loop-gallery-prev {
        left: calc(50% - 54px);
    }

    .loop-gallery-next {
        right: calc(50% - 54px);
    }
}

@media (min-width: 992px) {
    .loop-nav.menu-top-logo {
        height: 86px !important;
        padding: 0 !important;
    }

    .loop-nav.menu-top-logo>.container {
        align-items: center;
        display: flex;
        height: 86px !important;
        justify-content: space-between;
    }

    .loop-nav .menu-brand {
        flex: 0 0 auto;
        height: auto !important;
        padding: 0 !important;
        position: static !important;
        width: auto !important;
    }

    .loop-nav .menu-brand img {
        height: auto !important;
        max-height: none !important;
        min-height: 0 !important;
        width: auto !important;
    }

    .loop-nav .loop-header-logo {
        width: 178px !important;
    }

    .loop-nav .menu-cnt {
        align-items: center;
        display: flex !important;
        flex: 1 1 auto;
        height: auto !important;
        justify-content: flex-end;
        position: static !important;
        width: auto !important;
    }

    .loop-nav #main-menu {
        align-items: center;
        display: flex !important;
        float: none !important;
        height: auto !important;
        justify-content: flex-end;
        margin: 0;
        position: static !important;
        width: auto !important;
    }

    .loop-nav #main-menu>li {
        height: auto !important;
        position: static !important;
    }

    .loop-nav #main-menu>li.nav-label {
        order: 8;
    }

    .loop-nav #main-menu>li.nav-client-label {
        order: 9;
    }

    .loop-nav #main-menu>li>a {
        height: auto !important;
        line-height: 1.2 !important;
        padding: 13px 11px !important;
    }

    .loop-nav #main-menu>li.nav-label>a {
        margin-left: 8px;
        padding: 13px 16px !important;
    }

    .loop-nav .menu-right {
        flex: 0 0 auto;
        height: auto !important;
        margin-left: 14px !important;
        padding: 0 !important;
        position: static !important;
        width: auto !important;
    }
}

.loop-hero {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    min-height: 100vh;
    padding-bottom: 72px;
    padding-top: 132px;
}

.loop-landing main {
    margin-top: 0 !important;
}

.loop-hero>.container {
    max-width: 1280px;
}

@media (min-width: 1200px) {
    .loop-hero h1 {
        font-size: 56px;
        line-height: 1.04;
    }
}

.loop-hero>.container {
    padding-bottom: 0 !important;
    padding-top: 0 !important;
}

@media (max-width: 767.98px) {
    .loop-hero {
        padding-bottom: 52px !important;
        padding-top: 92px !important;
    }

    .loop-hero h1 {
        font-size: 34px;
        line-height: 1.08;
    }

    .loop-lead {
        font-size: 16px;
        line-height: 1.58;
    }

    .loop-proof-row {
        display: none;
    }

    .loop-product-stage {
        margin-top: 30px;
    }
}

.loop-nav.scroll-menu,
.loop-nav.menu-fixed.scroll-menu,
body>nav.loop-nav.scroll-menu {
    background: rgba(255, 255, 255, .96) !important;
    border-bottom: 1px solid rgba(0, 71, 103, .1) !important;
    box-shadow: 0 18px 50px rgba(16, 38, 56, .12) !important;
}

.loop-nav.scroll-menu .menu-brand,
.loop-nav.menu-fixed.scroll-menu.menu-top-logo .menu-brand {
    display: flex !important;
}

.loop-nav.scroll-menu .menu-cnt,
.loop-nav.scroll-menu #main-menu,
.loop-nav.scroll-menu .menu-right {
    background: transparent !important;
}

.loop-nav.scroll-menu #main-menu>li:not(.nav-label)>a,
.loop-nav.scroll-menu .menu-cnt>ul>li:not(.nav-label)>a,
.loop-nav.scroll-menu .menu-right a span {
    color: #17374a !important;
}

.loop-nav.scroll-menu #main-menu>li:not(.nav-label)>a:hover {
    color: #008fb0 !important;
}

.loop-nav.scroll-menu #main-menu>li.nav-label>a {
    background: #004767 !important;
    color: #fff !important;
}

.loop-nav.scroll-menu #main-menu>li.nav-client-label>a {
    background: #eef6f9 !important;
    color: #004767 !important;
}

.loop-nav.scroll-menu #main-menu>li.nav-label>a span,
.loop-nav.scroll-menu #main-menu>li.nav-label>a i {
    color: #fff !important;
}

@media (max-width: 991.98px) {
    .loop-nav.active .menu-cnt,
    .loop-nav.scroll-menu .menu-cnt {
        background: #fff !important;
        box-shadow: 0 26px 42px rgba(16, 38, 56, .12);
        display: flex !important;
        flex-direction: column !important;
        height: auto !important;
        max-height: calc(100vh - 65px);
        overflow-y: auto !important;
        padding-bottom: 18px !important;
    }

    .loop-nav.active #main-menu,
    .loop-nav.scroll-menu.active #main-menu {
        order: 2;
    }

    .loop-nav.scroll-menu #main-menu>li>a {
        color: #17374a !important;
    }

    .loop-nav.scroll-menu #main-menu>li.nav-label>a {
        color: #fff !important;
        margin: 10px 0;
        width: auto;
    }

    .loop-nav #main-menu>li.nav-client-label>a,
    .loop-nav.scroll-menu #main-menu>li.nav-client-label>a {
        align-items: center !important;
        background: #eef6f9 !important;
        border: 1px solid rgba(0, 71, 103, .14);
        color: #004767 !important;
        display: inline-flex !important;
        height: auto !important;
        margin: 10px 30px 6px !important;
        min-height: 46px;
        padding: 12px 16px !important;
        width: auto !important;
    }

    .loop-nav.active .menu-right,
    .loop-nav.scroll-menu.active .menu-right {
        align-items: flex-start !important;
        background: #fff !important;
        display: flex !important;
        flex-direction: column !important;
        height: auto !important;
        margin: 0 !important;
        order: 1;
        padding: 10px 30px 20px !important;
        position: static !important;
        width: 100% !important;
    }

    .loop-nav.active .area-cliente-btn,
    .loop-nav.scroll-menu.active .area-cliente-btn {
        display: block !important;
        height: auto !important;
        margin: 0 !important;
        width: 100% !important;
    }

    .loop-nav.active .area-cliente-btn a,
    .loop-nav.scroll-menu.active .area-cliente-btn a {
        align-items: center !important;
        background: #fff !important;
        border: 1px solid rgba(0, 71, 103, .14);
        border-radius: 6px;
        color: #17374a !important;
        display: inline-flex !important;
        gap: 9px;
        height: auto !important;
        min-height: 46px;
        padding: 12px 16px !important;
        width: auto !important;
    }

    .loop-nav.active .area-cliente-btn a i,
    .loop-nav.scroll-menu.active .area-cliente-btn a i {
        color: #004767 !important;
    }
}

/* Final override: keep the official Loop Sistemas logo fully visible. */
.loop-nav .menu-brand,
.loop-nav.scroll-menu .menu-brand,
.loop-nav.menu-fixed.scroll-menu.menu-top-logo .menu-brand {
    align-items: center !important;
    display: flex !important;
    height: 65px !important;
    justify-content: flex-start !important;
    overflow: visible !important;
    padding: 0 !important;
}

.loop-nav .menu-brand>a {
    align-items: center !important;
    display: flex !important;
    height: 100% !important;
    overflow: visible !important;
}

.loop-nav .menu-brand img.loop-header-logo {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    object-fit: contain !important;
    width: 118px !important;
}

@media (min-width: 992px) {
    .loop-nav .menu-brand,
    .loop-nav.scroll-menu .menu-brand,
    .loop-nav.menu-fixed.scroll-menu.menu-top-logo .menu-brand {
        height: 86px !important;
    }

    .loop-nav .menu-brand img.loop-header-logo {
        width: 160px !important;
    }
}

/* ── SEGMENT BADGES ── */
.loop-segment-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
  margin-bottom: 28px;
}
.loop-segment-badges span {
  background: rgba(0,71,103,0.08);
  border: 1px solid rgba(0,71,103,0.18);
  border-radius: 20px;
  color: #004767;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.03em;
  padding: 5px 13px;
  text-transform: uppercase;
}

/* ── FORM SELECT ── */
.floating-group select {
  width: 100%;
  background: #f7fafc;
  border: 1px solid rgba(0,71,103,.14);
  border-radius: 6px;
  color: #17374a;
  font-size: 14px;
  min-height: 54px;
  padding: 14px 12px 6px;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  font-family: 'Montserrat', sans-serif;
}

/* ── LGPD CHECK ── */
.loop-lgpd-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 16px;
  font-size: 13px;
  color: #4a6070;
  line-height: 1.5;
}
.loop-lgpd-check input { margin-top: 3px; flex-shrink: 0; }

/* ── FORM MICROCOPY ── */
.loop-form-microcopy {
  font-size: 12px;
  color: #7c8fa0;
  margin-top: 12px;
  text-align: center;
}

/* ── FAQ ── */
.loop-faq {
  background: #fff;
}
.loop-faq-list {
  max-width: 820px;
  margin-top: 0;
}
.loop-faq-item {
  border-bottom: 1px solid #dde6ed;
  padding: 18px 0;
}
.loop-faq-item summary {
  cursor: pointer;
  font-size: 15px;
  font-weight: 700;
  color: #0f2533;
  list-style: none;
  padding-right: 24px;
  position: relative;
}
.loop-faq-item summary::-webkit-details-marker { display: none; }
.loop-faq-item summary::after {
  content: '+';
  position: absolute;
  right: 0;
  top: 0;
  font-size: 20px;
  font-weight: 300;
  color: #007f9c;
}
.loop-faq-item[open] summary::after { content: '\2212'; }
.loop-faq-item p {
  margin-top: 12px;
  color: #4a6070;
  font-size: 14px;
  line-height: 1.65;
}

/* ── Páginas internas (Política, Termos, Trabalhe Conosco) ── */

.loop-inner-hero {
    padding: 112px 0 38px;
    background: linear-gradient(135deg, #eef8fc 0%, #ffffff 72%);
}
.loop-inner-hero .loop-section-label {
    margin-bottom: 12px;
}
.loop-inner-hero h1 {
    margin: 0;
    max-width: 920px;
    color: #0b2435;
    font-size: 40px;
    line-height: 1.12;
    font-weight: 800;
    text-transform: none;
}
.loop-inner-hero p {
    margin: 14px 0 0;
    max-width: 760px;
    color: #34566b;
    font-size: 17px;
    line-height: 1.65;
}

.loop-inner-page {
    background: #f5f8fb;
}
.loop-inner-content {
    padding: 38px 0 54px;
}
.loop-inner-card {
    max-width: 980px;
    margin: 0 auto;
    background: #ffffff;
    border: 1px solid rgba(0, 122, 160, 0.12);
    border-radius: 22px;
    padding: 40px 48px;
    box-shadow: 0 22px 64px rgba(11, 36, 53, 0.08);
}

/* Tipografia interna do card */
.loop-inner-card h2 {
    margin: 36px 0 16px;
    color: #0b2435;
    font-size: 24px;
    line-height: 1.25;
    font-weight: 800;
    text-transform: none;
}
.loop-inner-card h2:first-child {
    margin-top: 0;
}
.loop-inner-card h3 {
    margin: 30px 0 10px;
    color: #0b2435;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 800;
    text-transform: none;
}
.loop-inner-card h2 + p,
.loop-inner-card h3 + p {
    margin-top: 0;
}
.loop-inner-card p {
    margin: 0 0 14px;
    color: #34566b;
    font-size: 16px;
    line-height: 1.75;
}
.loop-inner-card ul,
.loop-inner-card ol {
    margin: 8px 0 18px;
    padding-left: 22px;
}
.loop-inner-card li {
    margin: 0 0 8px;
    color: #34566b;
    font-size: 16px;
    line-height: 1.7;
}
.loop-inner-card li:last-child {
    margin-bottom: 0;
}
.loop-inner-card a {
    color: #007aa0;
    font-weight: 700;
    text-decoration: none;
}
.loop-inner-card a:hover {
    text-decoration: underline;
}
.loop-inner-card hr {
    margin: 30px 0;
    border: 0;
    border-top: 1px solid rgba(0, 122, 160, 0.12);
}

/* Bloco de identificação da empresa nas páginas legais */
.loop-legal-info {
    margin: 22px 0 28px;
    padding: 18px 20px;
    background: #f5f8fb;
    border: 1px solid rgba(0, 122, 160, 0.12);
    border-radius: 16px;
}
.loop-legal-info strong,
.loop-legal-info span {
    display: block;
}
.loop-legal-info strong {
    margin-bottom: 6px;
    color: #0b2435;
    font-size: 15px;
}
.loop-legal-info span {
    color: #34566b;
    font-size: 15px;
    line-height: 1.6;
}
.loop-legal-info a {
    color: #007aa0;
    font-weight: 700;
}

/* Botão CTA da página Trabalhe Conosco */
.loop-career-card .loop-career-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 18px;
    padding: 13px 28px;
    border-radius: 999px;
    background: #007aa0;
    color: #ffffff !important;
    font-weight: 800;
    text-decoration: none !important;
    box-shadow: 0 14px 34px rgba(0, 122, 160, 0.22);
    transition: transform .2s ease;
}
.loop-career-card .loop-career-cta:hover {
    transform: translateY(-2px);
    color: #ffffff !important;
}

/* ── Rodapé páginas internas ── */
.loop-legal-footer-title {
    color: #ffffff;
    display: block;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.loop-legal-footer {
    background: #071f2d;
    color: #8faabb;
    font-size: 14px;
    padding: 48px 0 32px;
}
.loop-legal-footer .loop-footer-brand img {
    margin-bottom: 16px;
    max-width: 190px;
}
.loop-legal-footer p {
    color: #8faabb;
    font-size: 14px;
    line-height: 1.65;
    margin: 0 0 8px;
}
.loop-legal-footer a {
    color: #8faabb;
    text-decoration: none;
}
.loop-legal-footer a:hover {
    color: #ffffff;
}
.loop-legal-footer-grid {
    display: grid;
    gap: 32px;
    grid-template-columns: 1fr 1fr 1fr;
    margin-bottom: 40px;
}
.loop-legal-footer-copy {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-top: 24px;
    text-align: center;
    color: #5a7587;
    font-size: 13px;
}

/* ── Responsividade páginas internas ── */
@media (max-width: 991.98px) {
    .loop-inner-hero {
        padding: 100px 0 34px;
    }
    .loop-inner-content {
        padding: 32px 0 48px;
    }
    .loop-inner-card {
        padding: 34px 32px;
    }
}
@media (max-width: 767.98px) {
    .loop-inner-hero {
        padding: 92px 0 28px;
    }
    .loop-inner-hero h1 {
        font-size: 30px;
    }
    .loop-inner-hero p {
        font-size: 16px;
    }
    .loop-inner-content {
        padding: 26px 0 40px;
    }
    .loop-inner-card {
        padding: 26px 20px;
        border-radius: 18px;
    }
    .loop-inner-card h2 {
        font-size: 22px;
    }
    .loop-inner-card h3 {
        font-size: 17px;
        margin-top: 26px;
    }
    .loop-inner-card p,
    .loop-inner-card li {
        font-size: 15.5px;
        line-height: 1.7;
    }
    .loop-legal-footer-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}

/* ================================================================
   DOURADO PREMIUM — acabamento sutil, ~3% da percepção visual
   Para reverter: remover este bloco inteiro
   ================================================================ */

:root {
    --loop-gold:      #c9a24d;
    --loop-gold-soft: rgba(201, 162, 77, 0.14);
    --loop-gold-line: rgba(201, 162, 77, 0.26);
    --loop-gold-glow: rgba(201, 162, 77, 0.08);
}

/* Traço dos labels de seção em champagne suave */
.loop-kicker span,
.loop-section-label::before {
    background: linear-gradient(90deg, var(--loop-gold), rgba(201, 162, 77, 0.08));
}

/* Linha fina dourada no topo do card de conversão */
.loop-conversion-box {
    position: relative;
}
.loop-conversion-box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 48px;
    right: 48px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--loop-gold-line), transparent);
}

/* Borda dourada muito suave nos cards de depoimentos */
.loop-testimonial-grid article {
    border-color: var(--loop-gold-soft);
}

/* Borda champagne nas bordas dos cards internos (Política, Termos, Trabalhe Conosco) */
.loop-inner-card {
    border-color: var(--loop-gold-soft);
}

/* Hero real product screenshots carousel */
.loop-hero .row > .col-lg-6:last-child {
    align-self: flex-start;
    padding-top: 22px;
}

.loop-hero-carousel {
    margin-left: auto;
    margin-top: 0;
    max-width: 760px;
    position: relative;
    transform: none;
    width: 100%;
}

.loop-hero-carousel-frame {
    background: #ffffff;
    border: 1px solid rgba(0, 122, 160, .14);
    border-radius: 28px;
    box-shadow: 0 28px 80px rgba(11, 36, 53, .14), 0 0 0 1px rgba(201, 162, 77, .08);
    min-height: 360px;
    overflow: hidden;
    position: relative;
}

.loop-hero-slide {
    inset: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    transform: translateX(18px) scale(.985);
    transition: opacity .45s ease, transform .45s ease;
}

.loop-hero-slide.is-active {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0) scale(1);
}

.loop-hero-slide picture,
.loop-hero-slide img {
    display: block;
    height: 100%;
    min-height: 360px;
    object-fit: cover;
    object-position: top left;
    width: 100%;
}

.loop-hero-slide-caption {
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, .9);
    border: 1px solid rgba(0, 122, 160, .1);
    border-radius: 16px;
    bottom: 18px;
    box-shadow: 0 14px 34px rgba(11, 36, 53, .1);
    left: 18px;
    padding: 12px 14px;
    position: absolute;
    right: 18px;
}

.loop-hero-slide-caption strong {
    color: #0b2435;
    display: block;
    font-size: 15px;
    font-weight: 800;
    margin-bottom: 4px;
}

.loop-hero-slide-caption span {
    color: #34566b;
    display: block;
    font-size: 13px;
    line-height: 1.45;
}

.loop-hero-carousel-controls {
    display: flex;
    gap: 9px;
    justify-content: center;
    margin-top: 18px;
}

.loop-hero-proof-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-left: auto;
    margin-top: 22px;
    max-width: 760px;
}

.loop-hero-proof-card {
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, .78);
    border: 1px solid rgba(0, 122, 160, .12);
    border-radius: 18px;
    box-shadow: 0 18px 44px rgba(11, 36, 53, .08), 0 0 0 1px rgba(201, 162, 77, .05);
    overflow: hidden;
    padding: 24px 20px 18px;
    position: relative;
}

.loop-hero-proof-card::before {
    background: linear-gradient(90deg, var(--loop-gold), transparent);
    content: "";
    height: 2px;
    left: 18px;
    opacity: .75;
    position: absolute;
    top: 10px;
    width: 54px;
}

.loop-hero-proof-card strong {
    color: #0b2435;
    display: block;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.25;
    margin-bottom: 6px;
}

.loop-hero-proof-card span {
    color: #34566b;
    display: block;
    font-size: 13px;
    line-height: 1.45;
}

.loop-hero-carousel-dot {
    background: rgba(11, 36, 53, .2);
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    height: 9px;
    transition: width .25s ease, background .25s ease;
    width: 9px;
}

.loop-hero-carousel-dot.is-active {
    background: var(--loop-gold);
    width: 28px;
}

.loop-hero-slide-mobile img {
    background: linear-gradient(135deg, #eef8fc 0%, #ffffff 70%);
    object-fit: contain;
    object-position: center;
    padding: 20px;
}

@media (min-width: 1200px) {
    .loop-hero-carousel {
        max-width: 760px;
        margin-top: 0;
        transform: translateX(10px);
    }

    .loop-hero-proof-grid {
        max-width: 760px;
        transform: translateX(10px);
    }
}

@media (min-width: 992px) {
    .loop-hero .row > .col-lg-6:last-child {
        padding-top: 52px;
    }

    .loop-hero-proof-grid {
        margin-top: 51px;
    }
}

@media (max-width: 991.98px) {
    .loop-hero .row > .col-lg-6:last-child {
        padding-top: 0;
    }

    .loop-hero-carousel {
        margin: 32px auto 0;
        max-width: 100%;
        transform: none;
    }

    .loop-hero-proof-grid {
        margin: 22px auto 0;
        max-width: 100%;
        transform: none;
    }

    .loop-hero-carousel-frame {
        min-height: 340px;
    }

    .loop-hero-slide img {
        min-height: 340px;
    }
}

@media (max-width: 767.98px) {
    .loop-hero-carousel {
        margin-top: 28px;
        transform: none;
    }

    .loop-hero-proof-grid {
        gap: 12px;
        grid-template-columns: 1fr;
        margin-top: 18px;
    }

    .loop-hero-proof-card {
        border-radius: 16px;
        padding: 24px 18px 16px;
    }

    .loop-hero-carousel-frame {
        border-radius: 20px;
        min-height: 280px;
    }

    .loop-hero-slide img {
        min-height: 280px;
    }

    .loop-hero-slide-caption {
        border-radius: 14px;
        bottom: 14px;
        left: 14px;
        padding: 12px 14px;
        right: 14px;
    }

    .loop-hero-slide-caption strong {
        font-size: 14px;
    }

    .loop-hero-slide-caption span {
        font-size: 12px;
    }

    .loop-hero-slide-mobile img {
        padding: 12px;
    }
}

/* Conversion flow refinements */
.loop-mid-conversion {
    padding: 0 0 56px;
}

.loop-mid-conversion-box {
    align-items: center;
    background: linear-gradient(135deg, rgba(238, 248, 252, .94), rgba(255, 255, 255, .98));
    border: 1px solid rgba(0, 122, 160, .13);
    border-radius: 24px;
    box-shadow: 0 22px 58px rgba(11, 36, 53, .08), 0 0 0 1px rgba(201, 162, 77, .05);
    display: flex;
    gap: 32px;
    justify-content: space-between;
    padding: 30px 34px;
}

.loop-mid-conversion-eyebrow {
    color: #007a9f;
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .06em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.loop-mid-conversion-box h2 {
    color: #0b2435;
    font-size: 26px;
    line-height: 1.2;
    margin: 0;
}

.loop-mid-conversion-box p {
    color: #34566b;
    line-height: 1.65;
    margin: 10px 0 0;
    max-width: 680px;
}

.loop-testimonials-intro {
    color: #34566b;
    font-size: 17px;
    line-height: 1.7;
    margin: -14px 0 30px;
    max-width: 760px;
}

.loop-form-progress {
    margin: 22px 0 26px;
}

.loop-honeypot {
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    overflow: hidden !important;
    position: absolute !important;
    white-space: nowrap !important;
    width: 1px !important;
}

.loop-form-progress-copy {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-bottom: 10px;
}

.loop-form-step-label {
    color: #007a9f;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.loop-form-step-title {
    color: #34566b;
    font-size: 13px;
}

.loop-form-progress-track {
    background: rgba(11, 36, 53, .09);
    border-radius: 999px;
    height: 5px;
    overflow: hidden;
}

.loop-form-progress-track span {
    background: linear-gradient(90deg, #007a9f, #0aa6c8);
    border-radius: inherit;
    display: block;
    height: 100%;
    transition: width .3s ease;
    width: 50%;
}

.loop-form-step[hidden] {
    display: none;
}

.loop-form-step-note {
    color: #617887;
    font-size: 12px;
    line-height: 1.5;
    margin: 12px 0 0;
    text-align: center;
}

.loop-form-navigation {
    align-items: center;
    display: flex;
    gap: 14px;
}

.loop-form-navigation .btn {
    flex: 1;
}

.loop-form-back {
    background: transparent;
    border: 0;
    color: #34566b;
    cursor: pointer;
    font-weight: 700;
    padding: 12px 8px;
}

.loop-form-back:hover,
.loop-form-back:focus-visible {
    color: #007a9f;
}

.loop-form-result-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.loop-form-result-actions .btn,
.loop-form-fallback-whatsapp,
.loop-form-send-another {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.loop-form-send-another {
    background: transparent;
    border: 1px solid rgba(0, 87, 120, .22);
    border-radius: 6px;
    color: #005778;
    cursor: pointer;
    font-size: 13px;
    font-weight: 800;
    min-height: 41px;
    padding: 10px 16px;
}

.loop-form-send-another:hover,
.loop-form-send-another:focus-visible {
    border-color: rgba(0, 122, 160, .45);
    color: #007a9f;
}

.loop-form-fallback-whatsapp {
    color: #005778;
    font-weight: 800;
}

.loop-form-alert-soft {
    background: #fff8e8 !important;
    border: 1px solid rgba(201, 162, 77, .35) !important;
    border-left: 4px solid var(--loop-gold) !important;
    border-radius: 8px !important;
    color: #4a3b1b !important;
    font-size: 15px;
    line-height: 1.55;
    padding: 16px 18px !important;
}

.loop-form-alert-soft strong,
.loop-form-alert-soft span {
    display: block;
}

.loop-form-alert-soft strong {
    color: #17374a;
    margin-bottom: 4px;
}

.loop-form-alert-soft .loop-form-fallback-whatsapp {
    color: #005778;
    font-weight: 800;
}

.loop-btn-primary:focus-visible,
.loop-whatsapp-link:focus-visible,
.loop-mobile-conversion-primary:focus-visible,
.loop-mobile-conversion-whatsapp:focus-visible,
.loop-form-back:focus-visible,
.loop-form-send-another:focus-visible {
    outline: 3px solid rgba(0, 122, 160, .25);
    outline-offset: 3px;
}

.loop-mobile-conversion-bar {
    display: none;
}

.loop-consent-open {
    overflow: hidden;
}

.loop-consent-banner {
    align-items: center;
    background: rgba(7, 24, 36, .58);
    display: grid;
    inset: 0;
    justify-items: center;
    opacity: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 24px 16px;
    position: fixed;
    transform: translateY(8px);
    transition: opacity .2s ease, transform .2s ease;
    z-index: 1400;
}

.loop-consent-banner.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.loop-consent-panel {
    background: rgba(255, 255, 255, .98);
    border: 1px solid rgba(0, 71, 103, .12);
    border-radius: 18px;
    box-sizing: border-box;
    box-shadow: 0 30px 80px rgba(5, 21, 34, .28);
    display: grid;
    gap: 18px;
    max-width: 920px;
    padding: 28px 30px;
    width: calc(100% - 32px);
}

.loop-consent-copy {
    display: grid;
    gap: 8px;
    max-width: 720px;
}

.loop-consent-copy strong {
    color: #0b2435;
    font-size: 22px;
    line-height: 1.2;
}

.loop-consent-copy span {
    color: #34566b;
    font-size: 15px;
    line-height: 1.55;
}

.loop-consent-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
    min-width: 0;
}

.loop-consent-options {
    align-items: stretch;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.loop-consent-options[hidden] {
    display: none;
}

.loop-consent-options label {
    align-items: center;
    background: rgba(0, 71, 103, .05);
    border: 1px solid rgba(0, 71, 103, .1);
    border-radius: 10px;
    color: #17374a;
    display: flex;
    font-size: 13px;
    font-weight: 700;
    gap: 9px;
    min-height: 48px;
    padding: 12px 14px;
}

.loop-consent-options input {
    accent-color: #004767;
}

.loop-consent-actions button {
    background: #ffffff;
    border: 1px solid rgba(0, 71, 103, .16);
    border-radius: 10px;
    box-sizing: border-box;
    color: #004767;
    cursor: pointer;
    font-size: 13px;
    font-weight: 800;
    min-height: 46px;
    padding: 11px 14px;
    white-space: nowrap;
}

.loop-consent-actions button[data-consent="all"] {
    background: #004767;
    border-color: #004767;
    color: #ffffff;
}

.loop-consent-actions button[hidden] {
    display: none;
}

.loop-consent-actions button:focus-visible,
.loop-consent-options input:focus-visible,
.loop-consent-preferences:focus-visible {
    outline: 3px solid rgba(0, 122, 160, .25);
    outline-offset: 3px;
}

.loop-consent-preferences {
    background: rgba(255, 255, 255, .94);
    border: 1px solid rgba(0, 71, 103, .16);
    border-radius: 999px;
    bottom: 16px;
    color: #004767;
    cursor: pointer;
    font-size: 11px;
    font-weight: 800;
    left: 16px;
    padding: 8px 11px;
    position: fixed;
    z-index: 760;
}

@media (max-width: 991.98px) {
    .loop-consent-panel {
        max-width: 760px;
        padding: 26px 24px;
    }

    .loop-consent-options {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .loop-consent-actions {
        justify-content: flex-start;
    }

    .loop-consent-actions button {
        flex: 1 1 calc(50% - 10px);
    }
}

@media (max-width: 767.98px) {
    .loop-mid-conversion {
        padding-bottom: 42px;
    }

    .loop-mid-conversion-box {
        border-radius: 20px;
        display: block;
        padding: 26px 22px;
    }

    .loop-mid-conversion-box h2 {
        font-size: 22px;
    }

    .loop-mid-conversion-box .btn {
        margin-top: 22px;
        width: 100%;
    }

    .loop-form-navigation {
        display: grid;
        grid-template-columns: 1fr;
    }

    .loop-form-navigation .btn {
        order: 1;
        width: 100%;
    }

    .loop-form-back {
        order: 2;
    }

    .loop-mobile-conversion-bar {
        align-items: center;
        backdrop-filter: blur(12px);
        background: rgba(255, 255, 255, .94);
        border: 1px solid rgba(0, 122, 160, .13);
        border-radius: 18px;
        bottom: calc(12px + env(safe-area-inset-bottom));
        box-shadow: 0 18px 54px rgba(11, 36, 53, .18);
        gap: 10px;
        left: 12px;
        padding: 8px;
        position: fixed;
        right: 12px;
        transition: opacity .18s ease, transform .18s ease;
        z-index: 900;
    }

    .loop-mobile-conversion-bar.is-visible {
        display: flex;
    }

    body.loop-footer-visible .loop-mobile-conversion-bar,
    body.loop-consent-open .loop-mobile-conversion-bar,
    body.loop-mobile-menu-open .loop-mobile-conversion-bar {
        opacity: 0;
        pointer-events: none;
        transform: translateY(16px);
    }

    .loop-consent-banner {
        align-items: start;
        padding: 12px;
    }

    .loop-consent-panel {
        border-radius: 16px;
        gap: 14px;
        max-height: calc(100vh - 24px);
        overflow-y: auto;
        padding: 22px 18px;
        width: calc(100% - 24px);
    }

    .loop-consent-copy strong {
        font-size: 19px;
    }

    .loop-consent-copy span {
        font-size: 14px;
    }

    .loop-consent-actions {
        display: grid;
        grid-template-columns: 1fr;
        justify-content: stretch;
    }

    .loop-consent-actions button {
        width: 100%;
        white-space: normal;
    }

    .loop-consent-options {
        grid-template-columns: 1fr;
    }

    .loop-consent-preferences {
        bottom: 18px;
        left: 12px;
    }

    .loop-mobile-conversion-primary {
        align-items: center;
        background: #005778;
        border-radius: 13px;
        color: #ffffff;
        display: flex;
        flex: 1;
        font-size: 13px;
        font-weight: 800;
        justify-content: center;
        min-height: 44px;
        padding: 10px 14px;
        text-decoration: none;
    }

    .loop-mobile-conversion-whatsapp {
        align-items: center;
        background: #ffffff;
        border: 1px solid rgba(18, 140, 75, .18);
        border-radius: 13px;
        color: #128c4b;
        display: flex;
        font-size: 20px;
        height: 44px;
        justify-content: center;
        width: 44px;
    }
}

/* Mobile navigation drawer */
.loop-mobile-menu-overlay {
    display: none;
}

.loop-floating-menu-toggle {
    display: none;
}

.loop-mobile-menu-close,
.loop-mobile-menu-title {
    display: none;
}

@media (max-width: 991.98px) {
    body.loop-mobile-menu-open {
        overflow: hidden;
        touch-action: none;
    }

    body>nav.loop-nav.menu-top-logo {
        align-items: center !important;
        background: rgba(255, 255, 255, .98) !important;
        border-bottom: 1px solid rgba(0, 71, 103, .08) !important;
        box-shadow: 0 12px 34px rgba(16, 38, 56, .1) !important;
        display: flex !important;
        height: 68px !important;
        min-height: 68px !important;
        padding: 0 !important;
        left: 0 !important;
        position: fixed !important;
        right: 0 !important;
        top: 0 !important;
        transform: translateY(0);
        transition: transform .24s ease, box-shadow .24s ease;
        z-index: 1100 !important;
    }

    body>nav.loop-nav.loop-mobile-header-hidden:not(.loop-mobile-menu-is-open) {
        box-shadow: none !important;
        transform: translateY(-110%);
    }

    .loop-nav.menu-top-logo>.container {
        align-items: center !important;
        display: flex !important;
        height: 68px !important;
        justify-content: space-between !important;
        max-width: none !important;
        padding: 0 18px !important;
        width: 100% !important;
    }

    .loop-nav .menu-brand,
    .loop-nav.scroll-menu .menu-brand,
    .loop-nav.menu-fixed.scroll-menu.menu-top-logo .menu-brand {
        display: flex !important;
        flex: 0 0 auto !important;
        height: 68px !important;
        padding: 0 !important;
        position: static !important;
        width: auto !important;
    }

    .loop-nav .menu-brand>a {
        height: 68px !important;
    }

    .loop-nav .menu-brand img.loop-header-logo,
    .loop-nav .loop-header-logo {
        width: 150px !important;
    }

    .loop-nav .menu-btn.loop-mobile-menu-toggle {
        align-items: center !important;
        appearance: none;
        background: #ffffff !important;
        border: 1px solid rgba(0, 71, 103, .16) !important;
        border-radius: 12px !important;
        box-shadow: 0 10px 24px rgba(16, 38, 56, .1);
        cursor: pointer;
        display: inline-flex !important;
        flex-direction: column;
        gap: 5px;
        height: 44px !important;
        justify-content: center;
        margin: 0 !important;
        padding: 0 !important;
        position: relative !important;
        right: auto !important;
        top: auto !important;
        transform: none !important;
        width: 46px !important;
        z-index: 1110 !important;
    }

    .loop-floating-menu-toggle {
        align-items: center;
        appearance: none;
        background: #ffffff;
        border: 1px solid rgba(0, 71, 103, .16);
        border-radius: 16px;
        box-shadow: 0 14px 34px rgba(7, 24, 36, .18);
        cursor: pointer;
        display: none;
        flex-direction: column;
        gap: 5px;
        height: 48px;
        justify-content: center;
        opacity: 0;
        padding: 0;
        pointer-events: none;
        position: fixed;
        right: 12px;
        top: calc(12px + env(safe-area-inset-top));
        transform: translateY(-8px);
        transition: opacity .18s ease, transform .18s ease;
        width: 48px;
        z-index: 1240;
    }

    .loop-floating-menu-toggle span {
        background: #004767;
        border-radius: 999px;
        display: block;
        height: 2px;
        width: 21px;
    }

    body.loop-mobile-scrolled:not(.loop-mobile-menu-open):not(.loop-consent-open) .loop-floating-menu-toggle {
        display: inline-flex;
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
    }

    .loop-nav .menu-btn.loop-mobile-menu-toggle:before,
    .loop-nav .menu-btn.loop-mobile-menu-toggle:after {
        display: none !important;
    }

    .loop-nav .menu-btn.loop-mobile-menu-toggle span {
        background: #004767;
        border-radius: 999px;
        display: block;
        height: 2px;
        transition: transform .18s ease, opacity .18s ease;
        width: 20px;
    }

    .loop-nav.loop-mobile-menu-is-open .menu-btn.loop-mobile-menu-toggle span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }

    .loop-nav.loop-mobile-menu-is-open .menu-btn.loop-mobile-menu-toggle span:nth-child(2) {
        opacity: 0;
    }

    .loop-nav.loop-mobile-menu-is-open .menu-btn.loop-mobile-menu-toggle span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }

    .loop-nav .menu-cnt,
    .loop-nav.active .menu-cnt,
    .loop-nav.scroll-menu .menu-cnt,
    .loop-nav.scroll-menu.active .menu-cnt {
        background: #ffffff !important;
        border: 1px solid rgba(0, 71, 103, .1);
        border-radius: 18px;
        box-shadow: 0 28px 70px rgba(2, 20, 32, .28) !important;
        display: flex !important;
        flex-direction: column !important;
        height: auto !important;
        inset: calc(70px + env(safe-area-inset-top)) 12px auto auto !important;
        max-height: calc(100dvh - 90px - env(safe-area-inset-top)) !important;
        max-width: 320px;
        opacity: 0 !important;
        overflow-y: auto !important;
        padding: 18px !important;
        pointer-events: none;
        position: fixed !important;
        transform: translate(10px, -10px) scale(.96);
        transform-origin: top right;
        transition: opacity .2s ease, transform .2s ease;
        visibility: visible !important;
        width: min(320px, calc(100vw - 24px)) !important;
        z-index: 1300 !important;
    }

    .loop-nav.loop-mobile-menu-is-open .menu-cnt {
        opacity: 1 !important;
        pointer-events: auto;
        transform: translate(0, 0) scale(1);
    }

    .loop-mobile-menu-close {
        align-items: center;
        appearance: none;
        align-self: flex-end;
        background: #eef6f9;
        border: 1px solid rgba(0, 71, 103, .14);
        border-radius: 12px;
        color: #004767;
        cursor: pointer;
        display: inline-flex;
        font-size: 32px;
        height: 44px;
        justify-content: center;
        line-height: 1;
        margin: 0 0 14px;
        padding: 0 0 4px;
        width: 44px;
    }

    .loop-mobile-menu-title {
        color: #0b2435;
        display: block;
        font-size: 13px;
        font-weight: 900;
        margin: -48px 54px 18px 2px;
        text-transform: uppercase;
    }

    .loop-nav #main-menu,
    .loop-nav.active #main-menu,
    .loop-nav.scroll-menu.active #main-menu {
        display: flex !important;
        flex-direction: column !important;
        gap: 9px;
        height: auto !important;
        margin: 0 !important;
        order: 0 !important;
        padding: 0 !important;
        position: static !important;
        width: 100% !important;
    }

    .loop-nav #main-menu>li,
    .loop-nav #main-menu>li.nav-label {
        display: block !important;
        height: auto !important;
        position: static !important;
        width: 100% !important;
    }

    .loop-nav #main-menu>li>a,
    .loop-nav.scroll-menu #main-menu>li>a,
    .loop-nav .menu-cnt>ul>li>a,
    .loop-nav .nav-label>a,
    .menu-cnt>ul>li.nav-label>a {
        align-items: center !important;
        background: #f6fafc !important;
        border: 1px solid rgba(0, 71, 103, .1) !important;
        border-radius: 12px !important;
        color: #17374a !important;
        display: flex !important;
        font-size: 14px !important;
        font-weight: 850 !important;
        height: auto !important;
        justify-content: space-between !important;
        line-height: 1.25 !important;
        margin: 0 !important;
        min-height: 46px !important;
        padding: 12px 14px !important;
        white-space: normal !important;
        width: 100% !important;
    }

    .loop-nav #main-menu>li>a:after {
        color: rgba(0, 71, 103, .44);
        content: "\f054";
        font-family: "Font Awesome 6 Free";
        font-size: 11px;
        font-weight: 900;
    }

    .loop-nav #main-menu>li.nav-label>a,
    .loop-nav.scroll-menu #main-menu>li.nav-label>a {
        background: #004767 !important;
        border-color: #004767 !important;
        color: #ffffff !important;
        justify-content: center !important;
        margin-top: 8px !important;
        min-height: 54px !important;
        text-align: center !important;
    }

    .loop-nav #main-menu>li.nav-label>a:after {
        display: none;
    }

    .loop-nav #main-menu>li.nav-label>a span,
    .loop-nav #main-menu>li.nav-label>a i {
        color: #ffffff !important;
    }

    .loop-mobile-menu-overlay {
        background: rgba(2, 20, 32, .42);
        border: 0;
        cursor: pointer;
        display: block;
        inset: 0;
        opacity: 0;
        padding: 0;
        pointer-events: none;
        position: fixed;
        transition: opacity .22s ease;
        z-index: 1099;
    }

    body.loop-mobile-menu-open .loop-mobile-menu-overlay {
        opacity: 1;
        pointer-events: auto;
    }

    body.loop-mobile-menu-open .loop-floating-menu-toggle,
    body.loop-mobile-menu-open .loop-consent-preferences,
    body.loop-consent-open .loop-floating-menu-toggle,
    body.loop-mobile-menu-open i.scroll-top-btn,
    body.loop-mobile-menu-open .scroll-top-btn,
    body.loop-consent-open i.scroll-top-btn,
    body.loop-consent-open .scroll-top-btn,
    body.loop-mobile-menu-open .loop-mobile-conversion-bar {
        display: none !important;
    }

    body.loop-mobile-menu-open .loop-nav .menu-btn.loop-mobile-menu-toggle {
        display: none !important;
    }

    body.loop-mobile-conversion-visible i.scroll-top-btn,
    body.loop-mobile-conversion-visible .scroll-top-btn {
        bottom: calc(86px + env(safe-area-inset-bottom)) !important;
    }

    body.loop-footer-visible i.scroll-top-btn,
    body.loop-footer-visible .scroll-top-btn {
        opacity: 0 !important;
        pointer-events: none !important;
    }

    /* Corrige indicador deslocado no item ativo do menu mobile.
       O seletor desktop (#main-menu > li > a.loop-nav-active::after, especif. 1,1,2)
       aplica position:absolute + background:gold ao ::after. O seletor mobile
       (.loop-nav #main-menu>li>a:after, mesma especif. 1,1,2) vem depois e
       sobrepõe apenas content:"\f054" (chevron FA). Resultado: chevron FA
       absolutamente posicionado em left:0/bottom:2px transborda o card como
       triângulo dourado deslocado à esquerda.
       Esta regra (especif. 1,2,2, maior que ambas) restaura o ::after como
       item flex normal e substitui o indicador por border-bottom dourado. */
    .loop-nav #main-menu > li > a.loop-nav-active::after {
        background: transparent;
        bottom: auto;
        content: "\f054";
        height: auto;
        left: auto;
        position: static;
        right: auto;
        width: auto;
    }

    .loop-nav #main-menu > li > a.loop-nav-active {
        border-bottom-color: var(--loop-gold) !important;
        border-bottom-width: 2px !important;
    }
}

@media (max-width: 1199.98px) {
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }
}

@media (max-width: 390px) {
    .loop-nav .menu-brand img.loop-header-logo,
    .loop-nav .loop-header-logo {
        width: 136px !important;
    }

    .loop-nav.menu-top-logo>.container {
        padding: 0 14px !important;
    }
}

/* ============================================================
   Movidesk Chat — botão de atendimento e integração de camadas
   ============================================================ */

/* Corrige conflito de z-index: scroll-top-btn (themekit: 999995) aparecia
   acima do painel Movidesk (9999). Rebaixamos para 8000 em todos os estados. */
i.scroll-top-btn,
.scroll-top-btn {
    z-index: 8000 !important;
}

/* Consent banner precisa ficar acima do Movidesk (container: 9999, btn: 21000) */
.loop-consent-banner {
    z-index: 25000 !important;
}

/* Ocultar o launcher nativo do Movidesk quando o controle personalizado está ativo.
   body.loop-chat-custom é adicionado pelo movidesk-chat.js após o widget carregar. */
body.loop-chat-custom .md-chat-widget-btn-container {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Ocultar todo o widget quando menu mobile ou modal de privacidade estiverem abertos */
body.loop-mobile-menu-open #md-app-widget,
body.loop-consent-open #md-app-widget {
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .18s ease !important;
}

/* Restaurar visibilidade ao fechar menu e consentimento */
body:not(.loop-mobile-menu-open):not(.loop-consent-open) #md-app-widget {
    transition: opacity .18s ease !important;
}

/* Barra de conversão, scroll-top e privacidade ficam ocultos quando o chat está aberto */
body.loop-chat-open .loop-mobile-conversion-bar,
body.loop-chat-open i.scroll-top-btn,
body.loop-chat-open .scroll-top-btn,
body.loop-chat-open .loop-consent-preferences {
    opacity: 0 !important;
    pointer-events: none !important;
}

/* ── Botão personalizado de Atendimento ────────────────────── */

#loop-chat-btn {
    align-items: center;
    background: #004767;
    border: none;
    border-radius: 50px;
    bottom: 80px;
    box-shadow: 0 4px 18px rgba(0, 71, 103, .30);
    color: #ffffff;
    cursor: pointer;
    display: flex;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    gap: 8px;
    height: auto;
    justify-content: center;
    line-height: 1.2;
    min-height: 44px;
    min-width: 44px;
    opacity: 0;
    overflow: hidden;
    padding: 10px 18px 10px 14px;
    pointer-events: none;
    position: fixed;
    right: 20px;
    transition: background .18s ease, box-shadow .18s ease,
                opacity .22s ease, transform .22s ease,
                width .22s ease, padding .22s ease,
                border-radius .22s ease, gap .22s ease;
    white-space: nowrap;
    z-index: 1050;
}

/* Ícones: não interceptam eventos de toque (fix scroll em mobile emulation) */
#loop-chat-btn .loop-chat-btn-icon-chat,
#loop-chat-btn .loop-chat-btn-icon-minimize {
    flex-shrink: 0;
    pointer-events: none;
}

/* Ícone de minimizar: oculto por padrão */
#loop-chat-btn .loop-chat-btn-icon-minimize {
    display: none;
}

/* Label: transição de largura e opacidade para sumir sem salto */
#loop-chat-btn .loop-chat-btn-label {
    max-width: 160px;
    overflow: hidden;
    transition: max-width .22s ease, opacity .18s ease;
}

/* Estado compacto (chat aberto): círculo de 44×44 com chevron */
#loop-chat-btn.loop-chat-btn-minimize {
    border-radius: 50%;
    gap: 0;
    padding: 0;
    width: 44px;
}

#loop-chat-btn.loop-chat-btn-minimize .loop-chat-btn-label {
    max-width: 0;
    opacity: 0;
}

#loop-chat-btn.loop-chat-btn-minimize .loop-chat-btn-icon-chat {
    display: none;
}

#loop-chat-btn.loop-chat-btn-minimize .loop-chat-btn-icon-minimize {
    display: block;
}

@media (prefers-reduced-motion: reduce) {
    #loop-chat-btn,
    #loop-chat-btn .loop-chat-btn-label {
        transition: none !important;
    }
}

#loop-chat-btn.loop-chat-btn-visible {
    opacity: 1;
    pointer-events: auto;
}

#loop-chat-btn:hover {
    background: #006f8d;
    box-shadow: 0 6px 24px rgba(0, 71, 103, .38);
    transform: translateY(-1px);
}

#loop-chat-btn:active {
    background: #005778;
    transform: translateY(0);
}

#loop-chat-btn:focus-visible {
    outline: 3px solid rgba(0, 122, 160, .35);
    outline-offset: 3px;
}

#loop-chat-btn svg {
    flex-shrink: 0;
    height: 20px;
    width: 20px;
}

/* Estado de carregamento: texto levemente apagado */
#loop-chat-btn[aria-busy="true"] .loop-chat-btn-label {
    opacity: .75;
}

/* Estado ativo (chat aberto): leve indicação visual */
body.loop-chat-open #loop-chat-btn {
    background: #005778;
    box-shadow: 0 2px 10px rgba(0, 71, 103, .22);
}

/* Ocultar botão quando menu mobile ou modal de privacidade estiverem abertos */
body.loop-mobile-menu-open #loop-chat-btn,
body.loop-consent-open #loop-chat-btn {
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(4px);
}

/* ── Ajustes mobile ─────────────────────────────────────────── */

@media (max-width: 991.98px) {
    #loop-chat-btn {
        bottom: calc(20px + env(safe-area-inset-bottom));
        font-size: 13px;
        padding: 10px 16px 10px 12px;
        right: 12px;
    }

    /* Acima da barra de conversão quando ela estiver visível */
    body.loop-mobile-conversion-visible #loop-chat-btn {
        bottom: calc(86px + env(safe-area-inset-bottom)) !important;
    }

    /* Ocultar quando o rodapé estiver visível */
    body.loop-footer-visible #loop-chat-btn {
        opacity: 0 !important;
        pointer-events: none !important;
    }

    /* Widget Movidesk: reposicionar acima da barra quando chat aberto */
    body.loop-chat-open #md-app-widget {
        bottom: calc(80px + env(safe-area-inset-bottom)) !important;
    }
}

/* ─── Seletor de idioma ─────────────────────────────────────────── */

.loop-lang-switcher {
    position: relative;
    display: flex;
    align-items: center;
    list-style: none;
    /* Extremo direito do cabeçalho, sempre após o CTA "Falar com especialista",
       independentemente da ordem em que o script injeta o <li> no DOM. */
    order: 999;
    margin-left: 10px;
}

.loop-lang-trigger {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    background: transparent;
    border: none;
    border-radius: 6px;
    padding: 0;
    width: 44px;
    height: 44px;
    cursor: pointer;
    color: inherit;
    font-size: 13px;
    line-height: 1.4;
    white-space: nowrap;
    transition: background-color 0.15s;
    font-family: inherit;
}

.loop-lang-trigger:hover {
    background-color: rgba(0, 71, 103, 0.08);
}

.loop-lang-trigger:focus-visible {
    outline: 2px solid #004767;
    outline-offset: 2px;
}

.loop-lang-flag {
    width: 24px;
    height: 16px;
    flex-shrink: 0;
    display: block;
    border-radius: 2px;
    overflow: hidden;
}

/* Estado fechado no desktop mostra somente o ícone da bandeira — o nome do
   idioma e o chevron só aparecem dentro do drawer mobile (ver media query
   abaixo), onde servem como linha de menu explícita. */
.loop-lang-label {
    display: none;
}

.loop-lang-chevron {
    display: none;
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid currentColor;
    flex-shrink: 0;
    transition: transform 0.15s;
}

.loop-lang-open .loop-lang-chevron {
    transform: rotate(180deg);
}

.loop-lang-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    min-width: 210px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 6px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
    list-style: none;
    padding: 4px 0;
    margin: 0;
    z-index: 1100;
}

.loop-lang-open .loop-lang-dropdown {
    display: block;
}

.loop-lang-option {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px 14px;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;
    font-size: 14px;
    color: #404d60;
    min-height: 44px;
    transition: background 0.1s;
    font-family: inherit;
}

.loop-lang-option:hover,
.loop-lang-option:focus-visible {
    background: #f0f6fa;
    outline: none;
}

.loop-lang-option:focus-visible {
    box-shadow: inset 0 0 0 2px #004767;
}

.loop-lang-option--active {
    font-weight: 600;
    color: #004767;
}

/* Mobile: dentro do drawer */
@media (max-width: 991.98px) {
    .loop-lang-switcher {
        width: 100%;
    }

    .loop-lang-trigger {
        min-height: 44px;
        height: auto;
        width: 100%;
        justify-content: flex-start;
        gap: 10px;
        border: none;
        border-top: 1px solid rgba(0, 0, 0, 0.1);
        border-radius: 0;
        padding: 12px 16px;
        font-size: 14px;
    }

    /* No drawer, o item mostra ícone + nome do idioma atual + indicador de
       expansão — diferente do estado ícone-apenas do desktop. */
    .loop-lang-label {
        display: inline;
        margin-right: auto;
    }

    .loop-lang-chevron {
        display: block;
    }

    .loop-lang-dropdown {
        position: static;
        box-shadow: none;
        border: none;
        border-radius: 0;
        padding: 0;
        border-top: 1px solid rgba(0, 0, 0, 0.07);
    }

    .loop-lang-option {
        padding: 12px 24px;
        min-height: 44px;
        border-top: 1px solid rgba(0, 0, 0, 0.05);
    }

    .loop-lang-open .loop-lang-dropdown {
        display: block;
    }
}
