.b-lazy,
.swiper-lazy {
    opacity:0;
    filter: grayscale(1);
    transition: all 1s ease-out!important;
}

.b-loaded,
.swiper-lazy-loaded {
    opacity:1;
    filter: none;
}
.swiper-lazy-loaded + .loader {
    display: none;
}
@keyframes swiper-preloader-spin {
    100% {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

.loader {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;
}
.loader .spinner {
  font-size: 10px;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  position: relative;
  text-indent: -9999em;
  animation: mulShdSpin 1.1s infinite ease;
  transform: translateZ(0);
}
@keyframes mulShdSpin {
  0%,
  100% {
    box-shadow: 0em -2.6em 0em 0em #ffffff, 1.8em -1.8em 0 0em rgba(255,255,255, 0.2), 2.5em 0em 0 0em rgba(255,255,255, 0.2), 1.75em 1.75em 0 0em rgba(255,255,255, 0.2), 0em 2.5em 0 0em rgba(255,255,255, 0.2), -1.8em 1.8em 0 0em rgba(255,255,255, 0.2), -2.6em 0em 0 0em rgba(255,255,255, 0.5), -1.8em -1.8em 0 0em rgba(255,255,255, 0.7);
  }
  12.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(255,255,255, 0.7), 1.8em -1.8em 0 0em #ffffff, 2.5em 0em 0 0em rgba(255,255,255, 0.2), 1.75em 1.75em 0 0em rgba(255,255,255, 0.2), 0em 2.5em 0 0em rgba(255,255,255, 0.2), -1.8em 1.8em 0 0em rgba(255,255,255, 0.2), -2.6em 0em 0 0em rgba(255,255,255, 0.2), -1.8em -1.8em 0 0em rgba(255,255,255, 0.5);
  }
  25% {
    box-shadow: 0em -2.6em 0em 0em rgba(255,255,255, 0.5), 1.8em -1.8em 0 0em rgba(255,255,255, 0.7), 2.5em 0em 0 0em #ffffff, 1.75em 1.75em 0 0em rgba(255,255,255, 0.2), 0em 2.5em 0 0em rgba(255,255,255, 0.2), -1.8em 1.8em 0 0em rgba(255,255,255, 0.2), -2.6em 0em 0 0em rgba(255,255,255, 0.2), -1.8em -1.8em 0 0em rgba(255,255,255, 0.2);
  }
  37.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(255,255,255, 0.2), 1.8em -1.8em 0 0em rgba(255,255,255, 0.5), 2.5em 0em 0 0em rgba(255,255,255, 0.7), 1.75em 1.75em 0 0em #ffffff, 0em 2.5em 0 0em rgba(255,255,255, 0.2), -1.8em 1.8em 0 0em rgba(255,255,255, 0.2), -2.6em 0em 0 0em rgba(255,255,255, 0.2), -1.8em -1.8em 0 0em rgba(255,255,255, 0.2);
  }
  50% {
    box-shadow: 0em -2.6em 0em 0em rgba(255,255,255, 0.2), 1.8em -1.8em 0 0em rgba(255,255,255, 0.2), 2.5em 0em 0 0em rgba(255,255,255, 0.5), 1.75em 1.75em 0 0em rgba(255,255,255, 0.7), 0em 2.5em 0 0em #ffffff, -1.8em 1.8em 0 0em rgba(255,255,255, 0.2), -2.6em 0em 0 0em rgba(255,255,255, 0.2), -1.8em -1.8em 0 0em rgba(255,255,255, 0.2);
  }
  62.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(255,255,255, 0.2), 1.8em -1.8em 0 0em rgba(255,255,255, 0.2), 2.5em 0em 0 0em rgba(255,255,255, 0.2), 1.75em 1.75em 0 0em rgba(255,255,255, 0.5), 0em 2.5em 0 0em rgba(255,255,255, 0.7), -1.8em 1.8em 0 0em #ffffff, -2.6em 0em 0 0em rgba(255,255,255, 0.2), -1.8em -1.8em 0 0em rgba(255,255,255, 0.2);
  }
  75% {
    box-shadow: 0em -2.6em 0em 0em rgba(255,255,255, 0.2), 1.8em -1.8em 0 0em rgba(255,255,255, 0.2), 2.5em 0em 0 0em rgba(255,255,255, 0.2), 1.75em 1.75em 0 0em rgba(255,255,255, 0.2), 0em 2.5em 0 0em rgba(255,255,255, 0.5), -1.8em 1.8em 0 0em rgba(255,255,255, 0.7), -2.6em 0em 0 0em #ffffff, -1.8em -1.8em 0 0em rgba(255,255,255, 0.2);
  }
  87.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(255,255,255, 0.2), 1.8em -1.8em 0 0em rgba(255,255,255, 0.2), 2.5em 0em 0 0em rgba(255,255,255, 0.2), 1.75em 1.75em 0 0em rgba(255,255,255, 0.2), 0em 2.5em 0 0em rgba(255,255,255, 0.2), -1.8em 1.8em 0 0em rgba(255,255,255, 0.5), -2.6em 0em 0 0em rgba(255,255,255, 0.7), -1.8em -1.8em 0 0em #ffffff;
  }
}
  
  

.b-loaded + .loader {
    opacity: 0;
    z-index: -9999;
}



:root {
    --font-Poppins: "Poppins", sans-serif;
}
body {
    font-family: var(--font-Poppins);    
    background-color: #EFEFEF;
}




/* Header */
header {
    position: sticky;
    top: 0;
    left: 0;

    width: 100%;
    padding: 20px 0;
    background-color: #EFEFEF;

    z-index: 999;

    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}
header.scrolling {
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
}
header._scrolling {
}

header nav.nav-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    height: 100%;
}
header .logo {
    display: block;
    width: auto;
    height: 40px;
    
    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}
header .logo img {
    display: block;
    width: auto;
    height: 100%;    

    -o-object-fit: contain;
    object-fit: contain;

    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}
header .navbar-desktop {
    display: flex;
    align-items: center;
    gap: 40px;
    
    margin: 0 0 0 auto;
    padding: 0;
    list-style: none;
}
header .navbar-desktop .nav-link {
    position: relative;
    color: #1C2647;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    
    padding: 5px 20px;
    border-radius: 100px;
    margin: 0;

    z-index: 0;
    overflow: hidden;

    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}
header .navbar-desktop .nav-link:hover {
    color: #fff;
}
header .navbar-desktop .nav-link::before {
    content: '';
    display: block;
    
    position: absolute;
    top: 0;
    left: 0;
    
    width: 100%;
    height: 100%;
    
    opacity: 0;
    background: linear-gradient(90deg, #0748EA 0%, #76C6C3 100%);
    border-radius: 100px;
    
    transform: translateX(-100%);
    z-index: -1;
    
    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}
header .navbar-desktop .nav-link:hover::before {
    opacity: 1;
    transform: translateX(0);
}


header .buttons-desktop {
    display: flex;
    align-items: center;
    gap: 30px;
    
    list-style: none;
    padding: 0;
    margin: 0;
    
    height: 100%;
}
header .buttons-desktop .botao {
    position: relative;
    display: block;
    padding: 10px 40px;
    border-radius: 100px;
    background: #1C2647;
    
    color: #FAFAFA;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    text-decoration: none;

    overflow: hidden;
    z-index: 0;

    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}
header .buttons-desktop .botao:hover {
    background-color: transparent;
}
header .buttons-desktop .botao::before {
    content: '';
    display: block;

    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    opacity: 0;
    background: linear-gradient(90deg, #0748EA 0%, #76C6C3 100%);
    border-radius: 100px;

    transform: translateX(-100%);
    z-index: -1;
    
    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}
header .buttons-desktop .botao:hover::before {
    transform: translateX(0);
    opacity: 1;
}

header .open-menu-mobile,
[data-mobile-status="open"] .open-menu-mobile {
    display: flex;
    align-items: center;

    width: 40px;
    height: 40px;
    margin: auto 0;

    opacity: 0;
    z-index: -1;

    cursor: pointer;

    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}
@media (max-width: 992px) {
    header .open-menu-mobile {
        opacity: 1;
        transform: scale(1);
        z-index: 0;
    }
}



header .open-menu-mobile .icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 20px;
    height: 20px;
    margin: auto;
}
header .open-menu-mobile .icon svg {
    display: block;
    fill: #151515;
    width: 100%;
    height: 100%;
}
.header-mobile {
    position: fixed;
    top: 0;
    right: calc(-100% - 30px);
    
    background-color: rgba(243, 242, 240, 1);
    
    width: 100%;
    /* max-width: calc(100% - 50px); */
    height: 100%;
    z-index: 99999;

    -webkit-transition: all .35s ease-in-out;
    -moz-transition: all .35s ease-in-out;
    -ms-transition: all .35s ease-in-out;
    -o-transition: all .35s ease-in-out;
    transition: all .35s ease-in-out;
}
[data-mobile-status="open"] .header-mobile {
    right: 0;
}
.header-mobile .logo-mobile {
    display: flex;
    justify-content: space-between;
    align-items: center;

    background-color: #fff;

    width: 100%;
    height: auto;
    padding: 10px 30px;
}
.header-mobile .logo-mobile img {
    display: block;
    width: auto;
    height: 40px;
    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}
.header-mobile .close-menu-mobile {
    display: flex;
    justify-content: center;
    align-items: center;

    width: auto;
    height: 50px;

    border-radius: 100px;
    background-color: rgba(255, 255, 255, .1);
}
.header-mobile .close-menu-mobile .icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 15px;
    height: 15px;

    cursor: pointer;
    margin: auto;
}
.header-mobile .close-menu-mobile .icon svg {
    display: block;
    fill: #151515;
    width: 100%;
    height: 100%;
}
.header-mobile .navbar-mobile {
    display: block;

    padding: 0;
    margin: 0;
    list-style: none;
}
.header-mobile .navbar-mobile li.nav-item {
    display: block;
    width: 100%;
    padding: 15px 30px;
    border-bottom: 1px solid #e3e3e3;
}
.header-mobile .navbar-mobile li.nav-item a{
    padding: 0;
    display: block;
    color: #151515;
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
    text-decoration: none;
    
    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}




/* Home > Banner */
#banner .swiperBanner {
    box-shadow: 32px 6px 45.7px 0 rgba(0, 0, 0, 0.25);
}
#banner .swiperBanner .swiper-slide {
    height: auto;    
    min-height: 650px;
    overflow: hidden;
}
#banner .swiperBanner .swiper-pagination {
    position: absolute;
    bottom: 30px;
    left: 0;
    width: 100%;
    text-align: center;
}
#banner .swiperBanner .swiper-pagination-bullet {
    width: 7px;
    height: 7px;
    background-color: #D9D9D9;
    opacity: 1;

    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}
#banner .swiperBanner .swiper-pagination-bullet::before {
    content: '';
    display: block;

    position: absolute;
    top: -3px;
    left: -3px;
    
    width: 13px;
    height: 13px;

    background-color: transparent;
    border: 1px solid #1C2647;
    border-radius: 15px;

    opacity: 0;

    z-index: -1;

    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}
#banner .swiperBanner .swiper-pagination-bullet-active {
    position: relative;
    background-color: #1C2647;
    opacity: 1;

    /* transform: scale(1.1); */

    z-index: 0;
}
#banner .swiperBanner .swiper-pagination-bullet-active::before {
    opacity: 1;
}



#banner .swiperBanner .banner-1 {
    background-color: #EFEFEF;
}
#banner .swiperBanner .banner-1 .container {
    position: relative;
    display: flex;
    align-items: center;

    height: 100%;
}
#banner .swiperBanner .banner-1 .container .content h2 {
    max-width: 453px;

    color: #1C2647;
    font-size: 48px;
    font-style: normal;
    font-weight: 700;
    line-height: 50px; /* 104.167% */
    margin: 0 0 25px 0;
}
#banner .swiperBanner .banner-1 .container .content p {
    color: #1C2647;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    margin: 0 0 50px 0;
}
#banner .swiperBanner .banner-1 .container .content .botao {
    position: relative;
    display: block;
    
    width: fit-content;
    padding: 16px 40px;
    border: 1px solid #1C2647;
    border-radius: 50px;
    
    color: #1C2647;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-align: center;
    text-decoration: none;

    z-index: 0;
    overflow: hidden;

    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}
#banner .swiperBanner .banner-1 .container .content .botao::before {
    content: '';
    display: block;
    
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    
    opacity: 0;
    background-color: #1C2647;
    border-radius: 100px;
    
    transform: translateX(-100%);
    z-index: -1;

    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}
#banner .swiperBanner .banner-1 .container .content .botao:hover {
    color: #fff;
}
#banner .swiperBanner .banner-1 .container .content .botao:hover::before {
    opacity: 1;
    transform: translateX(0);
}
#banner .swiperBanner .banner-1 .container .content .bolinhas {
    /* position: absolute; 
    left: 0;
    bottom: 40px; */
    margin-top: 30px;
}
#banner .swiperBanner .banner-1 .container .content .bolinhas svg {
    display: block; 
    width: auto;
    height: 40px;
}
#banner .swiperBanner .banner-1 .container .images {
    position: relative;
    width: 100%;
}
#banner .swiperBanner .banner-1 .container .images .bolinhas {
    position: absolute;
    right: 0;
    top: 0px;
}
#banner .swiperBanner .banner-1 .container .images .bolinhas svg {
    display: block;
    width: 50px;
    height: auto;
}
#banner .swiperBanner .banner-1 .container .images .image-1 {
    width: fit-content;
    margin-left: auto;
    margin-right: 100px;
}
#banner .swiperBanner .banner-1 .container .images .image-1 img {
    width: auto;
    height: 100%;
}
#banner .swiperBanner .banner-1 .container .images .image-2 {
    position: relative;
    z-index: -1;
}
#banner .swiperBanner .banner-1 .container .images .image-2 img {
    position: absolute;
    right: 0;
    bottom: -50px;

    width: 240px;
    height: auto;
}
@media (max-width: 1400px) {
    #banner .swiperBanner .swiper-slide .container {
        gap: 50px;
    }
    #banner .swiperBanner .banner-1 .container .images .image-1 img {
        max-width: 100%;

        -o-object-fit: contain;
        object-fit: contain;
    }
}




#banner .swiperBanner .banner-2 {
    position: relative;
}
#banner .swiperBanner .banner-2 .background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    
    -o-object-fit: cover;
    object-fit: cover;
}
#banner .swiperBanner .banner-2 .container {
    position: relative;
    display: flex;
    align-items: center;
    
    height: 100%;
}
#banner .swiperBanner .banner-2 .container .content h2 {
    max-width: 604px;

    color: #FFF;
    font-size: 48px;
    font-style: normal;
    font-weight: 700;
    line-height: 50px; /* 104.167% */
    margin: 0 0 30px 0;
}
#banner .swiperBanner .banner-2 .container .content p {
    max-width: 486px;
    
    color: #FFF;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin: 0 0 40px 0;
}
#banner .swiperBanner .banner-2 .container .content .botao {
    position: relative;
    display: block;
    
    width: fit-content;
    padding: 16px 40px;
    background-color: #fff;
    border-radius: 50px;
    
    color: #1C2647;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-align: center;
    text-decoration: none;

    z-index: 0;
    overflow: hidden;

    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}
#banner .swiperBanner .banner-2 .container .content .botao::before {
    content: '';
    display: block;
    
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    
    opacity: 0;
    background-color: #1C2647;
    border-radius: 100px;
    
    transform: translateX(-100%);
    z-index: -1;

    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}
#banner .swiperBanner .banner-2 .container .content .botao:hover {
    color: #fff;
    background-color: transparent;
}
#banner .swiperBanner .banner-2 .container .content .botao:hover::before {
    opacity: 1;
    transform: translateX(0);
}
#banner .swiperBanner .banner-2 .image img {
    position: absolute;
    top: 0;
    bottom: 0;
    right: -100px;

    width: 50%;
    height: calc(100% - 50px);
    margin: auto;

    -o-object-fit: contain;
    object-fit: contain;

    -o-object-position: left center;
    object-position: left center;
}






#banner .swiperBanner .banner-3 {
    position: relative;
}
#banner .swiperBanner .banner-3 .background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    
    -o-object-fit: cover;
    object-fit: cover;
}
#banner .swiperBanner .banner-3 .container {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    
    width: 100%;
    max-width: unset;
    height: 100%;
}
#banner .swiperBanner .banner-3 .container .content h2 {
    color: #FFF;
    font-size: 44.274px;
    font-style: normal;
    font-weight: 700;
    line-height: 62.445px; /* 141.042% */
    letter-spacing: -1.992px;
    text-align: center;
}
#banner .swiperBanner .banner-3 .container .content h3 {
    color: #FFF;
    font-size: 44.274px;
    font-style: italic;
    font-weight: 400;
    line-height: 62.445px;
    letter-spacing: -2.656px;
    text-align: center;
    margin: 0 0 30px 0;
}
#banner .swiperBanner .banner-3 .container .content .botao {
    position: relative;
    display: block;
    
    width: fit-content;
    padding: 16px 40px;
    border: 1px solid #fff;
    border-radius: 50px;
    
    color: #fff;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-align: center;
    text-decoration: none;

    margin: 0 auto;

    z-index: 0;
    overflow: hidden;

    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}
#banner .swiperBanner .banner-3 .container .content .botao::before {
    content: '';
    display: block;
    
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    
    opacity: 0;
    background-color: #fff;
    border-radius: 100px;

    transform: translateX(-100%);
    z-index: -1;

    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}
#banner .swiperBanner .banner-3 .container .content .botao:hover {
    color: #1C2647;
    border-color: transparent;
}
#banner .swiperBanner .banner-3 .container .content .botao:hover::before {
    opacity: 1;
    transform: translateX(0);
}




#banner .swiperBanner .swiper-slide {
    position: relative;
}
#banner .swiperBanner .swiper-slide::after {
    content: '';
    display: block;
    width: 100%;
    padding-bottom: 35.41666666666667%;
}
#banner .swiperBanner .swiper-slide .container {
    position: absolute!important;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
}
#banner .swiperBanner .banner-4 {
    position: relative;
}

#banner .swiperBanner .banner-4 .background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    
    -o-object-fit: cover;
    object-fit: cover;
}
#banner .swiperBanner .banner-4 .container {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    
    height: 100%;
}
#banner .swiperBanner .banner-4 .container .content {
    width: 100%;
}
#banner .swiperBanner .banner-4 .container .content h2 {
    max-width: 726px;
    
    color: #FFF;
    leading-trim: both;
    text-edge: cap;
    font-size: 42px;
    font-style: normal;
    font-weight: 700;
    line-height: 110%; /* 46.2px */
    letter-spacing: -1.26px;
    margin: 0 0 40px 0;
}
#banner .swiperBanner .banner-4 .container .content p {
    color: #878C91;
    leading-trim: both;
    text-edge: cap;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 180%; /* 28.8px */
    margin: 0 0 50px 0;
}
#banner .swiperBanner .banner-4 .container .content .botao {
    position: relative;
    
    display: flex;
    align-items: center;
    gap: 10px;
    
    width: fit-content;
    padding: 12px 30px;
    background: #fff;
    border-radius: 30px;

    
    
    color: #1C2647;
    leading-trim: both;
    text-edge: cap;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%; /* 19.6px */
    letter-spacing: -0.28px;
    text-decoration: none;
    cursor: pointer;

    margin: 0;
    overflow: hidden;
    z-index: 0;

    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}
#banner .swiperBanner .banner-4 .container .content .botao:hover {
    background-color: transparent;
    color: #fff;
}
#banner .swiperBanner .banner-4 .container .content .botao::before {
    content: '';
    display: block;

    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    opacity: 0;
    background: linear-gradient(90deg, #0748EA 0%, #76C6C3 100%);
    border-radius: 100px;

    transform: translateX(-100%);
    z-index: -1;
    
    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}
#banner .swiperBanner .banner-4 .container .content .botao:hover::before {
    transform: translateX(0);
    opacity: 1;
}
#banner .swiperBanner .banner-4 .container .content .botao svg {
    display: block;
    fill: #1C2647;
    width: 20px;
    height: 20px;

    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}
#banner .swiperBanner .banner-4 .container .content .botao:hover svg {
    transform: translateX(5px);
    fill: #fff;
}
#banner .swiperBanner .banner-4 .container .card-graph {
    position: relative;
    display: flex;

    width: 100%;
    
    padding: 80px 45px 0 45px;
    background: #FFF;
    border-radius: 20px;

    overflow: hidden;


    z-index: 0;
}
#banner .swiperBanner .banner-4 .container .card-graph img {
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;

    -o-object-fit: cover;
    object-fit: cover;

    -o-object-position: top right;
    object-position: top right;

    z-index: -1;
}
#banner .swiperBanner .banner-4 .container .card-graph .text {
    width: 50%;
}
#banner .swiperBanner .banner-4 .container .card-graph .text span {
    position: relative;
    display: block;
    width: fit-content;
    
    color: #FFF;
    leading-trim: both;
    text-edge: cap;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 126%; /* 17.64px */
    letter-spacing: -0.42px;
    
    margin: 0 0 32px 75px;
}
#banner .swiperBanner .banner-4 .container .card-graph .text span::before {
    content: '';
    display: block;

    position: absolute;
    top: 0;
    bottom: 0;
    left: -75px;

    width: 60px;
    height: 1px;

    background-color: #fff;
    margin: auto;
}
#banner .swiperBanner .banner-4 .container .card-graph .text h3 {
    max-width: 250px;
    
    color: #FFF;
    leading-trim: both;
    text-edge: cap;
    font-size: 26px;
    font-style: normal;
    font-weight: 400;
    line-height: 130%; /* 33.8px */
    letter-spacing: -0.52px;
}
#banner .swiperBanner .banner-4 .container .card-graph .graph {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    gap: 10px;
    
    width: 50%;
}
#banner .swiperBanner .banner-4 .container .card-graph .graph .bar-1 {
    content: '';
    display: block;
    width: 70px;
    height: 180px;
    background: #4F76C9;

    -webkit-transition: all .5s ease-in-out;
    -moz-transition: all .5s ease-in-out;
    -ms-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
}
#banner .swiperBanner .banner-4 .container .card-graph .graph .bar-2 {
    content: '';
    display: block;
    width: 70px;
    height: 300px;
    background: #06033E;

    -webkit-transition: all .5s ease-in-out;
    -moz-transition: all .5s ease-in-out;
    -ms-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
}
#banner .swiperBanner .banner-4 .container .card-graph .graph .bar-3 {
    content: '';
    display: block;
    width: 70px;
    height: 415px;
    background: #0748EA;

    -webkit-transition: all .5s ease-in-out;
    -moz-transition: all .5s ease-in-out;
    -ms-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
}

#banner .swiperBanner .swiper-slide:not(.swiper-slide-active)  [data-aos] {
    opacity: 0!important;
}





/* Home > Servicos */
#servicos {
    padding: 100px 0;
}
#servicos h2.section-title {
    color: #1C2647;
    font-size: 48px;
    font-style: normal;
    font-weight: 700;
    line-height: 56.7px; /* 118.125% */
    letter-spacing: -1.44px;
    margin: 0 0 50px 0;
}
#servicos .swiper-slide {
    height: auto;
}
#servicos .card-servico {
    background: #F7F9F4;
    height: 100%;

    overflow: hidden;
}
#servicos .card-servico {
    position: relative;
}
#servicos .card-servico .card-front {
    padding-bottom: calc(30px + 40px + 20px);
    height: 100%;

    -webkit-transition: all .5s ease-in-out;
    -moz-transition: all .5s ease-in-out;
    -ms-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
}
#servicos .card-servico:hover .card-front {
    transform: translateY(-100px);
}
#servicos .card-servico .card-front .render {
    padding: 10px;
    margin: 0 0 20px 0;
}
#servicos .card-servico .card-front .render img {
    width: 100%;
    height: 300px;
    
    -o-object-fit: contain;
    object-fit: contain;
    
    -o-object-position: center center;
    object-position: center center;
}
#servicos .card-servico .card-front h3 {
    max-width: 245px;
    
    color: #1C2647;
    font-size: 26px;
    font-style: normal;
    font-weight: 500;
    line-height: 32.528px; /* 125.106% */
    letter-spacing: -0.39px;
    text-align: center;
    
    margin: 0 auto;
}
#servicos .card-servico .card-front .botao {
    position: absolute;
    left: 35px;
    bottom: 20px;

    width: calc(100% - 70px);

    padding: 11.514px 25.742px 12.474px 24.947px;
    background: #1C2647;
    border-radius: 50px;
    box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.25);

    color: #F7F9F4;
    font-size: 13.433px;
    font-style: normal;
    font-weight: 500;
    line-height: 17.271px; /* 128.571% */
    text-align: center;
}

#servicos .card-servico .card-back {
    position: absolute;
    top: 0;
    left: 0;
    
    width: 100%;
    height: 100%;
    
    padding: 70px 20px;
    padding-bottom: calc(30px + 40px + 20px);
    background-color: #1C2647;    

    transform: translateY(110%);
    
    -webkit-transition: all .35s ease-in-out;
    -moz-transition: all .35s ease-in-out;
    -ms-transition: all .35s ease-in-out;
    -o-transition: all .35s ease-in-out;
    transition: all .35s ease-in-out;
}
#servicos .card-servico:hover .card-back {
    transform: translateY(0%);
}
#servicos .card-servico .card-back h3 {
    color: #FFF;
    font-size: 26px;
    font-style: normal;
    font-weight: 500;
    line-height: 32.528px; /* 125.106% */
    letter-spacing: -0.39px;
    text-align: center;
    margin: 0 0 40px 0;
}
#servicos .card-servico .card-back p {
    color: #FFF;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 25px; /* 156.25% */
    letter-spacing: -0.24px;
    text-align: center;
}
#servicos .card-servico .card-back ul li {
    color: #FFF;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px; /* 100% */
    letter-spacing: -0.24px;
}
#servicos .card-servico .card-back ul li:not(:last-child) {
    margin: 0 0 20px 0;
}
#servicos .card-servico .card-back .botao {
    position: absolute;
    left: 35px;
    bottom: 20px;
    
    width: calc(100% - 70px);
    
    padding: 11.514px 25.742px 12.474px 24.947px;
    background: #4BC386;
    border-radius: 50px;
    
    color: #F7F9F4;
    font-size: 13.433px;
    font-style: normal;
    font-weight: 500;
    line-height: 17.271px; /* 128.571% */
    text-align: center;
    text-decoration: none;

    overflow: hidden;
    z-index: 0;

    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;    
    transition-delay: 0s;
}
#servicos .card-servico .card-back .botao::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #3DA06C;
    border-radius: 50px;


    transform: translateX(-100%);
    z-index: -1;

    -webkit-transition: all .15s ease-in-out;
    -moz-transition: all .15s ease-in-out;
    -ms-transition: all .15s ease-in-out;
    -o-transition: all .15s ease-in-out;
    transition: all .15s ease-in-out;
}
#servicos .card-servico .card-back .botao:hover {
    transition-delay: .1s;
    background-color: transparent;
}
#servicos .card-servico .card-back .botao:hover::before {
    transform: translateX(0%);
}





/* Home > Sobre */
#sobre {
    position: relative;
    padding: 200px 0;
    
    overflow: hidden;
    
    z-index: 0;
}
@keyframes techAnimation {
    0% {
        opacity: 0.1;
    }
    50% {
        opacity: 0.4;
    }
    100% {
        opacity: 0.1;
    }
}

#sobre .tech {
    position: absolute;
    top: 0;
    right: 0;

    width: 50%;
    height: 100%;

    -o-object-fit: contain;
    object-fit: contain;

    -o-object-position: center right;
    object-position: center right;

    opacity: .3;

    animation: techAnimation 4s ease-in-out infinite;
}
@keyframes rotateBackground {
    0% {
        transform: scale(1) rotate(0deg);
    }
    50% {
        transform: scale(10) rotate(360deg);
    }
    100% {
        transform: scale(1) rotate(0deg);
    }
}

#sobre::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    
    background: url('../img/bg-sobre.webp');
    background-size: cover;
    background-position: center;
    z-index: -1;
    
    animation: rotateBackground 30s ease-in-out infinite;
    animation-delay: 3s;
    transform-origin: center center;
}
#sobre::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    
    background: linear-gradient(-90deg, #050D3C 0%, rgba(5, 13, 60, 0) 100%);
    z-index: -1;
}
#sobre h2.section-title {
    max-width: 1120px;

    color: #FFF;
    font-size: 48px;
    font-style: normal;
    font-weight: 700;
    line-height: 67.7px; /* 141.042% */
    letter-spacing: -2.16px;
    margin: 0 0 20px 0;
}
#sobre h2.section-title i {
    display: block;
    color: #FFF;
    font-size: 48px;
    font-style: italic;
    font-weight: 400;
    line-height: 67.7px;
    letter-spacing: -2.88px;
}
#sobre p.section-description {
    max-width: 957px;

    color: #FFF;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 27.52px; /* 172% */
    margin-bottom: 100px;
}
#sobre .cards {
    display: flex;
    gap: 30px;
    
    margin: 100px 0 0 0;
}
#sobre .cards .card-sobre {
    position: relative;
    display: block;
    text-decoration: none;
    cursor: pointer;

    padding: 40px;
    background-color: #fff;
    border-radius: 25px;

    padding-bottom: calc(40px + 45px);
}
#sobre .cards .card-sobre h4 {
    color: #1C2647;
    font-size: 11.591px;
    font-style: normal;
    font-weight: 700;
    line-height: 19.87px; /* 171.429% */
    letter-spacing: 0.695px;
    text-transform: uppercase;
    margin: 0 0 15px 0;
}
#sobre .cards .card-sobre h3 {
    max-width: 480px;
    color: #1C2647;
    font-size: 52.96px;
    font-style: normal;
    font-weight: 800;
    line-height: 44.133px; /* 83.333% */
    text-transform: capitalize;
    margin: 0 0 15px 0;
}
#sobre .cards .card-sobre p {
    max-width: 400px;
    color: #6E6E6E;
    font-size: 14.075px;
    font-style: normal;
    font-weight: 400;
    line-height: 21.526px; /* 152.941% */
    margin: 0 0 30px 0;
}
#sobre .cards .card-sobre .botao {
    position: absolute;
    left: 40px;
    bottom: 40px;
    
    display: flex;
    align-items: center;
    gap: 10px;
    
    width: fit-content;
    padding: 12px 30px;
    background: #1C2647;
    border-radius: 30px;
    
    color: #FFF;
    font-size: 11.591px;
    font-style: normal;
    font-weight: 600;
    line-height: 19.87px; /* 171.429% */
    letter-spacing: 0.695px;
    text-transform: uppercase;
    text-decoration: none;

    overflow: hidden;
    
    margin: 0;

    z-index: 0;
}
#sobre .cards .card-sobre .botao::before {
    content: '';
    display: block;

    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    opacity: 0;
    background: linear-gradient(90deg, #0748EA 0%, #76C6C3 100%);
    border-radius: 100px;

    transform: translateX(-100%);
    z-index: -1;
    
    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}
#sobre .cards .card-sobre:hover .botao::before {
    transform: translateX(0);
    opacity: 1;
}
#sobre .cards .card-sobre .botao svg {
    display: block;
    fill: #fff;
    width: 20px;
    height: 20px;

    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}
#sobre .cards .card-sobre:hover .botao svg {
    transform: translateX(5px);
}




/* Escolher Testsoft */
#escolher-testsoft {
    padding: 125px 0;
}
#escolher-testsoft .bolinhas {
    margin-bottom: 45px;
}
#escolher-testsoft h2.section-title {
    max-width: 470px;
    
    color: #1C2647;
    font-size: 48px;
    font-style: normal;
    font-weight: 700;
    line-height: 50px; /* 104.167% */
    margin: 0 0 25px 0;
}
#escolher-testsoft p.section-description {
    max-width: 470px;

    color: #1C2647;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    margin: 0 0 25px 0;
}
#escolher-testsoft .botao {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    
    width: fit-content;
    padding: 12px 30px;
    background: #1C2647;
    border-radius: 30px;
    
    color: #fff;
    font-size: 13.132px;
    font-style: normal;
    font-weight: 600;
    line-height: 22.511px; /* 171.429% */
    letter-spacing: 0.788px;
    text-transform: uppercase;
    text-decoration: none;

    overflow: hidden;
    
    margin: 0;

    z-index: 0;
}
#escolher-testsoft .botao::before {
    content: '';
    display: block;

    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    opacity: 0;
    background: linear-gradient(90deg, #0748EA 0%, #76C6C3 100%);
    border-radius: 100px;

    transform: translateX(-100%);
    z-index: -1;
    
    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}
#escolher-testsoft .botao:hover::before {
    transform: translateX(0);
    opacity: 1;
}
#escolher-testsoft .botao svg {
    display: block;
    fill: #fff;
    width: 20px;
    height: 20px;

    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}
#escolher-testsoft .botao:hover svg {
    transform: translateX(5px);
}
#escolher-testsoft .swiperEscolher .swiper-slide {
    height: auto;
}
#escolher-testsoft .swiperEscolher .card-escolher {
    display: flex;
    flex-wrap: wrap;

    height: 100%;
    
    padding: 25px;
    background: #1C2647;
}
#escolher-testsoft .swiperEscolher .card-escolher .icon {
    display: block;
    width: 100px;
    height: 100px;

    margin: 0 auto 35px auto;
}
#escolher-testsoft .swiperEscolher .card-escolher .icon svg {
    display: block;
    fill: #fff;
    width: 100%;
    height: 100%;
}
#escolher-testsoft .swiperEscolher .card-escolher .content {
    display: flex;
    flex-wrap: wrap;
    height: calc(100% - 100px - 35px);

    padding: 15px;
    background: rgba(250, 250, 250, 0.93);
}
#escolher-testsoft .swiperEscolher .card-escolher .content h3 {
    color: #1C2647;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    margin: 0 0 15px 0;
}
#escolher-testsoft .swiperEscolher .card-escolher .content p {
    color: #1C2647;
    font-size: 14px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    margin: 0;
}




/* Footer */
footer {
    position: relative;
    padding: 150px 0 0 0;
    overflow: hidden;
    z-index: 0;
}
@keyframes techAnimationFooter {
    0% {
        opacity: 0;
    }
    50% {
        opacity: 0.1;
    }
    100% {
        opacity: 0;
    }
}

footer .tech {
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    -o-object-fit: cover;
    object-fit: cover;

    -o-object-position: center;
    object-position: center;

    opacity: .3;

    animation: techAnimationFooter 4s ease-in-out infinite;
}


@keyframes rotateBackgroundFooter {
    0% {
        transform: scale(1) rotate(0deg);
    }
    50% {
        transform: scale(15) rotate(360deg);
        filter: blur(20px);
    }
    100% {
        transform: scale(1) rotate(0deg);
    }
}
footer::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 200%;
    
    background: url('../img/bg-sobre.webp');
    background-size: cover;
    background-position: center;
    z-index: -1;
    
    animation: rotateBackgroundFooter 50s ease-in-out infinite;
    animation-delay: 3s;
    transform-origin: center center;
}
footer::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    
    background: linear-gradient(90deg, #050D3C 0%, rgba(5, 13, 60, 0) 100%);
    z-index: -1;
}




/* Footer > Contato */
footer #contato .container {
    display: flex;
    gap: 70px;
    
    padding: 50px;
    background: #040A2C;
    border-radius: 43px;
    box-shadow: 121px -30px 115px 0 rgba(0, 0, 0, 0.28);
}
footer #contato .container .image {
    position: relative;
    width: 100%;
    height: auto;
}
footer #contato .container .image img {
    position: absolute;
    top: 0;
    left: 0;

    display: block;
    width: 100%;
    height: 100%;
    
    border-radius: 30px 0 0 30px;
    
    -o-object-fit: cover;
    object-fit: cover;
}
footer #contato .container form label {
    display: block;
    color: #E0E2DB;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 19.8px; /* 123.75% */
    margin: 0 0 10px 0;
}
footer #contato .container form input,
footer #contato .container form textarea {
    display: block;
    width: 100%;
    height: auto;
    
    padding: 8px 10px;
    background: #FFF;
    border-radius: 2px;
    border: 1px solid #CBCBCB;
    
    outline: none;
    box-shadow: none;
    
    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}
footer #contato .container form textarea {
    min-height: 110px;
}
footer #contato .container form input:hover,
footer #contato .container form textarea:hover {
    border-color: #0748EA;
    box-shadow: 0 0 0 1px #0748EA;
}
footer #contato .container form input:not([placeholder=""]):focus,
footer #contato .container form input:not([placeholder=""]):not(:placeholder-shown),
footer #contato .container form textarea:not([placeholder=""]):focus,
footer #contato .container form textarea:not([placeholder=""]):not(:placeholder-shown) {
    border-color: #76C6C3;
    box-shadow: 0 0 0 1px #76C6C3;
}
footer #contato .container form .botao {
    position: relative;

    width: 100%;
    padding: 25px 50px;
    background: #092A6F;
    border: none;
    border-radius: 100px;
    outline: none;
    box-shadow: 4px 4px 15px 0 rgba(0, 0, 0, 0.25);
    
    color: #E0E2DB;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 18px; /* 128.571% */
    text-align: center;
    text-decoration: none;

    overflow: hidden;
    margin: 0;

    z-index: 0;
}
footer #contato .container form .botao::before {
    content: '';
    display: block;

    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    opacity: 0;
    background: linear-gradient(90deg, #0748EA 0%, #76C6C3 100%);
    border-radius: 100px;

    transform: translateX(-100%);
    z-index: -1;
    
    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}
footer #contato .container form .botao:hover::before {
    transform: translateX(0);
    opacity: 1;
}




/* Footer > Mapsite */
footer #sitemap {
    margin-top: 80px;
}
footer #sitemap .container {
    position: relative;
    display: flex;
    justify-content: space-between;
    gap: 70px;
    
    padding-bottom: 30px;
}
footer #sitemap .container::after {
    content: '';
    display: block;

    position: absolute;
    bottom: 0;
    left: -50px;

    width: calc(100% + 100px);
    height: 1px;
    background: #0748EA;

}
footer #sitemap .logo img {
    width: auto;
    height: 40px;
}
footer #sitemap .list-links {
    display: flex;
    align-items: center;
    gap: 50px;
    
    margin: 0;
    padding: 0;
    list-style: none;
}
footer #sitemap .list-links li a {
    position: relative;
    display: block;
    padding: 5px 30px;
    border-radius: 100px;

    color: #FFF;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24.96px; /* 156% */
    text-decoration: none;

    overflow: hidden;
    z-index: 0;
}
footer #sitemap .list-links li a::before {
    content: '';
    display: block;
    
    position: absolute;
    top: 0;
    left: 0;
    
    width: 100%;
    height: 100%;
    
    opacity: 0;
    background: linear-gradient(90deg, #0748EA 0%, #76C6C3 100%);
    border-radius: 100px;
    
    transform: translateX(-100%);
    z-index: -1;
    
    -webkit-transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}
footer #sitemap .list-links li a:hover::before {
    opacity: 1;
    transform: translateX(0);
}




/* Footer > Base */
footer #base-footer {
    padding: 45px 0;
}
footer #base-footer .base-list {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0px;
    margin: 0;
    padding: 0;
    list-style: none;
}
footer #base-footer .base-list li {
    width: 33.33333%;
}
footer #base-footer p {
    color: #E0E2DB;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 17px;
    margin: 0;
}
footer #base-footer p.wtek {
    text-align: end;
}
footer #base-footer p.wtek a {
    color: #E0E2DB;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 17px;
    text-decoration: none;    
}
footer #base-footer p.wtek a:hover {
    color: #efb62c;
    text-decoration: underline;
}





/* Responsivo Desktop Mid */
/* @media (max-width: 1400px) {
    .botao {
        padding: 0 20px;
    }
} */




/* Responsivo Mobile */
@media (max-width: 992px) {
    header {
        width: 100%;
        left: 0;
        padding: 15px;
    }
    header .container {
        padding: 0;
    }
    header.scrolling {
        padding: 10px 20px;
    }
    header nav.nav-header {
        justify-content: space-between;
        gap: 0;
    }
    header .logo {
        display: block;
        margin: 0;
        height: 40px;
        margin-right: auto;
    }
    header .buttons-desktop .nav-cart span {
        display: none;
    }




    /* Home > Banner */
    #banner .swiperBanner .swiper-slide {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        padding: 30px 0;
        min-height: 100dvh;
    }
    #banner .swiperBanner .swiper-slide::after {
        content: unset;
    }
    #banner .swiperBanner .swiper-slide .container {
        position: initial!important;
        height: fit-content;
        flex-wrap: wrap;
    }
    #banner .swiperBanner .banner-1 .container {
        gap: 100px;    
    }
    #banner .swiperBanner .banner-1 .container .content {
        order: 1;
    }
    #banner .swiperBanner .banner-1 .container .content h2 {
        text-align: center;
    }
    #banner .swiperBanner .banner-1 .container .content p {
        text-align: center;
    }
    #banner .swiperBanner .banner-1 .container .content .bolinhas {
        bottom: 15px;
    }
    #banner .swiperBanner .banner-1 .container .images {
        order: 0;
    }
    #banner .swiperBanner .banner-1 .container .images .image-1 {
        margin: 0 75px 0 0;
    }
    #banner .swiperBanner .banner-1 .container .images .image-1 img {
        width: 100%;
        height: auto;
    }
    #banner .swiperBanner .banner-1 .container .images .image-2 img {
        bottom: -30px;
        width: 200px;
    }
    #banner .swiperBanner .banner-1 .container .content .botao {
        margin: 0 auto;
    }

    #banner .swiperBanner .banner-2 .container {
        order: 1;
        gap: 50px;
    }
    #banner .swiperBanner .banner-2 .content {
        order: 1;
    }
    #banner .swiperBanner .banner-2 .image {
        display: flex;
        order: 0;
    }
    #banner .swiperBanner .banner-2 .image img {
        position: initial;
    }
    #banner .swiperBanner .banner-2 .container .content h2 {
        text-align: center;
    }
    #banner .swiperBanner .banner-2 .container .content p {
        text-align: center;
        font-size: 16px;
    }
    #banner .swiperBanner .banner-2 .container .content .botao {
        margin: 0 auto;
    }

    #banner .swiperBanner .banner-3 .container .content h2,
    #banner .swiperBanner .banner-3 .container .content h3 {
        font-size: 24px;
        line-height: normal;
        text-align: center;
    }

    #banner .swiperBanner .banner-4 .container .content h2 {
        font-size: 32px;
        text-align: center;
        margin: 0 0 20px 0;
    }
    #banner .swiperBanner .banner-4 .container .content p {
        font-size: 14px;
        text-align: center;
        margin: 0 0 20px 0;
    }
    #banner .swiperBanner .banner-4 .container .content .botao {
        margin: 0 auto 30px auto;
    }

    #banner .swiperBanner .banner-4 .container .card-graph {
        flex-wrap: wrap;
        gap: 30px;
        padding: 45px 45px 0 45px;
    }
    #banner .swiperBanner .banner-4 .container .card-graph img {
        width: 200%;
        height: calc(50% - 15px);

        -o-object-position: top;
        object-position: top;
    }
    #banner .swiperBanner .banner-4 .container .card-graph .text,
    #banner .swiperBanner .banner-4 .container .card-graph .graph {
        width: 100%;
    }
    #banner .swiperBanner .banner-4 .container .card-graph .graph {
        justify-content: center;
    }
    #banner .swiperBanner .banner-4 .container .card-graph .text span::after {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        right: -75px;
        width: 60px;
        height: 1px;
        background-color: #fff;
        margin: auto;
    }
    #banner .swiperBanner .banner-4 .container .card-graph .text h3 {
        max-width: 100%;
        text-align: center;
    }
    #banner .swiperBanner .banner-4 .container .card-graph .graph .bar-1 {
        height: 100px;
    }
    #banner .swiperBanner .banner-4 .container .card-graph .graph .bar-2 {
        height: 150px;
    }
    #banner .swiperBanner .banner-4 .container .card-graph .graph .bar-3 {
        height: 200px;
    }




    /* Serviços */
    #servicos h2.section-title {
        max-width: 50%;
        font-size: 24px;
        line-height: normal;
        margin: 0 0 30px 0;
    }




    /* Sobre */
    #sobre {
        padding: 30px 0;
    }
    @keyframes rotateBackground {
        0% {
            transform: scale(1) translateX(0);
        }
        50% {
            transform: scale(1) translateX(-50%);
        }
        100% {
            transform: scale(1) translateX(0);
        }
    }
    #sobre::before {
        width: 200%;
        animation-delay: 0s;
    }
    #sobre .tech {
        z-index: -1;
    }
    #sobre h2.section-title,
    #sobre h2.section-title i {
        display: block;

        font-size: 20px;
        line-height: normal;
        max-width: 100%;
        font-weight: 500;
        letter-spacing: -1px;
    }
    #sobre p.section-description {
        font-size: 14px;
        line-height: normal;
        margin-bottom: 40px;
    }
    #sobre .cards {
        flex-wrap: wrap;
        margin: 40px 0 0 0;
    }
    
    #sobre .cards .card-sobre {
        width: 100%;
    }
    #sobre .cards .card-sobre h3 {
        font-size: 40px;
    }




    /* Escolher */
    #escolher-testsoft {
        padding: 50px 0;
    }
    #escolher-testsoft h2.section-title {
        max-width: 100%;
        font-size: 22px;
        line-height: normal;
        text-align: center;
    }
    #escolher-testsoft p.section-description {
        font-size: 14px;
        text-align: center;
    }
    #escolher-testsoft .botao {
        margin: 0 auto 30px auto;
    }




    /* Footer */
    footer {
        padding: 30px 0 0 0;
    }
    @keyframes rotateBackgroundFooter {
        0% {
            transform: scale(1) translateX(0);
        }
        50% {
            transform: scale(1) translateX(-50%);
        }
        100% {
            transform: scale(1) translateX(0);
        }
    }
    footer::before {
        width: 200%;
        height: 100%;
        animation: rotateBackgroundFooter 20s ease-in-out infinite;
        animation-delay: 0s;
    }

    /* Footer > Contato */
    footer #contato .container {
        flex-wrap: wrap;
        gap: 30px;
        padding: 20px;

        width: calc(100% - var(--bs-gutter-x,.75rem)*2);
        margin-left: var(--bs-gutter-x,.75rem);
        margin-right: var(--bs-gutter-x,.75rem);
    }
    footer #contato .container .image {
        height: 250px;
    }
    footer #contato .container .image img {
        border-radius: 30px;
    }

    /* Footer > Sitemap */
    footer #sitemap .container {
        flex-wrap: wrap;
        justify-content: center;
        gap: 30px;
    }
    footer #sitemap .list-links {
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
    }
    footer #sitemap .list-links li a {
        padding: 5px 10px;
    }


    /* Footer > Basefppter */
    footer #base-footer .base-list {
        flex-wrap: wrap;
        justify-content: center;
        gap: 20px;
    }
    footer #base-footer .base-list li {
        width: 100%;
    }
    footer #base-footer p,
    footer #base-footer p.wtek {
        text-align: center;
    }



    .widget-icon {
        right: 30px!important;
        bottom: 40px!important;
    }
}