@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Urbanist:ital,wght@0,100..900;1,100..900&display=swap');
@import url('./colors.css');
@import url('./typography.css');
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
 body, html {
     font-family: "DM Sans", Arial, Helvetica, sans-serif;
     overflow-x: hidden;
     height: auto;
     color: var(--dark) !important;
     margin: 0 !important;
}
 html:has(body.loading) {
     overflow-y: hidden !important;
}
 body.loading {
     height: 1px;
     overflow-y: hidden !important;
}
div#wpadminbar {
    display: none !important;
}
 .navbar-toggler-icon {
     background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='white' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
 .navbar-toggler {
     transition: all .2s ease-in-out;
}
 .navbar-toggler:hover {
     transform: none !important;
}
 .navbar-toggler:focus {
     box-shadow: 0 0 0 .2rem white;
}
 ::selection {
     color: white;
     background-color: #0d211ebd;
}
 p, h3 {
     margin: 0;
}
 img {
     display: block;
     max-width: 100%;
}
 #preload {
     z-index: 2000;
     position: fixed;
     top: 0;
     bottom: 0;
     width: 100dvw;
     height: 100dvh;
     background: linear-gradient(180deg, #125434, #093025);
     display: flex;
     align-items: center;
     justify-content: center;
     transition: opacity .3s ease-in-out;
}
 .preloader-invisible {
     opacity: 0;
}
 .loader {
     display: block;
     width: 90px;
     height: 90px;
     border-radius: 50%;
     border: 3px solid transparent;
     border-top-color: #ffffff;
     -webkit-animation: spin 1s linear infinite;
     animation: spin 1s linear infinite;
}
 .loader:before {
     content: "";
     position: absolute;
     top: 5px;
     left: 5px;
     right: 5px;
     bottom: 5px;
     border-radius: 50%;
     border: 3px solid transparent;
     border-top-color: #157502;
     -webkit-animation: spin 2s linear infinite;
     animation: spin 2s linear infinite;
}
 .loader:after {
     content: "";
     position: absolute;
     top: 15px;
     left: 15px;
     right: 15px;
     bottom: 15px;
     border-radius: 50%;
     border: 3px solid transparent;
     border-top-color: #020102;
     -webkit-animation: spin 2.5s linear infinite;
     animation: spin 2.5s linear infinite;
}
 @-webkit-keyframes spin {
     0% {
         -webkit-transform: rotate(0deg);
         -ms-transform: rotate(0deg);
         transform: rotate(0deg);
    }
     100% {
         -webkit-transform: rotate(360deg);
         -ms-transform: rotate(360deg);
         transform: rotate(360deg);
    }
}
 @keyframes spin {
     0% {
         -webkit-transform: rotate(0deg);
         -ms-transform: rotate(0deg);
         transform: rotate(0deg);
    }
     100% {
         -webkit-transform: rotate(360deg);
         -ms-transform: rotate(360deg);
         transform: rotate(360deg);
    }
}
 @keyframes animloader {
     0% {
         background-position: 0px 80px;
    }
     100% {
         background-position: 0px 0px;
    }
}
 @keyframes animloader1 {
     0% {
         box-shadow: 4px -10px rgba(255, 255, 255, 0), 6px 0px rgba(255, 255, 255, 0), 8px -15px rgba(255, 255, 255, 0), 12px 0px rgba(255, 255, 255, 0);
    }
     20% {
         box-shadow: 4px -20px rgba(255, 255, 255, 0), 8px -10px rgba(255, 255, 255, 0), 10px -30px rgba(255, 255, 255, 0.5), 15px -5px rgba(255, 255, 255, 0);
    }
     40% {
         box-shadow: 2px -40px rgba(255, 255, 255, 0.5), 8px -30px rgba(255, 255, 255, 0.4), 8px -60px rgba(255, 255, 255, 0.5), 12px -15px rgba(255, 255, 255, 0.5);
    }
     60% {
         box-shadow: 4px -60px rgba(255, 255, 255, 0.5), 6px -50px rgba(255, 255, 255, 0.4), 10px -90px rgba(255, 255, 255, 0.5), 15px -25px rgba(255, 255, 255, 0.5);
    }
     80% {
         box-shadow: 2px -80px rgba(255, 255, 255, 0.5), 4px -70px rgba(255, 255, 255, 0.4), 8px -120px rgba(255, 255, 255, 0), 12px -35px rgba(255, 255, 255, 0.5);
    }
     100% {
         box-shadow: 4px -100px rgba(255, 255, 255, 0), 8px -90px rgba(255, 255, 255, 0), 10px -120px rgba(255, 255, 255, 0), 15px -45px rgba(255, 255, 255, 0);
    }
}
 button {
     border: none;
}
 .container {
     max-width: 1272px !important;
     padding-left: 16px;
     padding-right: 16px;
}
 header {
     position: absolute;
     top: 14px;
     width: 100%;
     z-index: 1000;
}
 header .nav-group {
     gap: 21px;
}
 header .nav-link {
     color: white ;
     font-size: 18px;
}
 header:has(nav.nav-dark) {
     position: static;
}
 nav.nav-dark {
     padding-top: 10px;
     background-color: var(--dark);
}
@media (min-width: 992px) {
    .navbar-expand-lg .navbar-nav {
        gap: 10px;
    }
}
 a:not([data-aos-delay]) {
     transition: all .2s ease-in-out !important;
}
 .button, .pill {
     display: flex;
     gap: 3px;
     justify-content: center;
     align-items: center;
     text-decoration: none;
     max-width: fit-content;
     padding: 9px 12px;
     border-radius: 300px;
     font-size: 18px;
     line-height: 1 !important;
     font-weight: 500;
     transition: all .2s ease-in-out;
}
 .nav-link:hover {
     color: white;
}
 .button-white::after, .internal-link::after, .solution-card a::after, .card-contact a.map-button::after {
     transition: all .1s ease-in-out;
     content: url('../img/icons/right-arrow.svg');
     margin-left: 3px;
}
 .solution-card a, .card-contact a.map-button {
     color: #0D211E;
     text-decoration: none;
     font-weight: 500;
}
 .solution-card a::after {
     margin-left: 6px;
}
 .internal-link::after {
     margin-left: 15px;
}
 .button-dark::after {
     transition: all .1s ease-in-out;
     content: url('../img/icons/right-arrow-white.svg');
     margin-left: 3px;
}
 .button-dark {
     background-color: #0D211E;
     color: white;
     border: none;
}
 .button-white {
     color: #0D211E;
     background-color: white;
}
 .button-secondary {
     color: white;
     font-weight: 500 !important;
     border: 1px solid #8495A6;
     padding: 9px 16px !important;
}
 .button-group {
     display: flex;
     gap: 24px;
}
 .bg-overlay {
     position: relative;
     background: linear-gradient(rgba(15, 31, 46, 0.6), rgba(15, 31, 46, 0.6)), url('../img/overlay.jpg');
}
 #main-hero, #secondary-hero {
     background-size: cover;
     color: white;
     overflow: hidden;
     border-radius: 0 0 16px 16px;
     padding: 180px 0 140px 0;
}
 #secondary-hero {
     padding: 180px 0 58px 0;
}
 #secondary-hero p {
     max-width: 438px;
     margin-bottom: 25px;
}
 .main-info {
     padding-left: 180px;
}
 .main-info p {
     margin-bottom: 36px !important;
}
 .pill.pill-desc {
     font-size: 20px;
     margin-bottom: 35px;
     font-weight: 500;
     padding: 9px 18px !important;
     color: #8495A6;
     position: relative;
     border: 1px solid #D1DBE4;
}
 .pill.pill-desc::after {
     content: '';
     width: calc(100vw - 100%);
     position: absolute;
     height: 1px;
     background-color: #B2BFCC;
     right: 0;
     transform: translateX(100%);
}
 #about-section {
     padding-top: 80px;
}
 #about-section .subtitle {
     max-width: 325px;
     margin-bottom: 16px;
}
 #about-section p {
     margin-bottom: 25px;
}
 #about-section .card {
     box-shadow: 0px 2px 4px 0px rgba(25, 33, 61, 0.08);
     background-color: #EFEFEF;
     border-radius: 16px;
     border: none;
     position: relative;
     padding: 36px 34px;
     overflow: hidden;
}
 #about-section .card q, #about-section .card div {
     position: relative;
     z-index: 1000;
}
 #about-section .card::after, #about-section .card::before, .card-contact::after, .card-contact::before, #units-section .swiper-slide .col-md-5::after, #units-section .swiper-slide .col-md-5::before {
     content: '';
     display: block;
     width: 274px;
     height: 274px;
     position: absolute;
     border-radius: 50%;
     filter: blur(260px);
}
 #about-section .card::before{
     top: -100%;
     left: -80px;
     background-color: #A65ABF;
}
 .card-contact::before {
     background-color: #63DE77;
     left: 0;
     top: -50px;
}
 #about-section .card::after {
     background-color: #63DE77;
     bottom: -130%;
     right: -80px;
}
 .card-contact::after {
     background-color: #A65ABF;
     right: 0;
     bottom: 0;
}
 #about-section q {
     font-size: 20px;
     font-weight: 500 !important;
     max-width: 365px;
}
 .card .signature {
     position: absolute;
     right: 28px;
     bottom: 32px;
}
 #solutions-section {
     padding-top: 114px;
     padding-bottom: 122px;
}
 .solution-card .little-subtitle {
     margin-bottom: 17px;
}
 .titles-row {
     justify-content: space-between;
}
 .titles-row h2 {
     max-width: 550px;
}
 .titles-row p {
     max-width: 430px;
}
 .solution-card {
     width: 352px;
     border-radius: 16px;
     padding: 32px;
     height: 459px;
     background-color: #F8F8F8;
}
 .solutions-grid .solution-card {
     width: 100%;
}
 .solutions-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 24px;
}
#features-section {
    padding-top: 80px;
}
 #features-section .card-features {
     display: flex;
     flex-direction: row;
     gap: 12px;
     padding: 27px 12px;
     background-color: #EFEFEF;
     border-radius: 16px;
     border: none !important;
     align-items: center;
     box-shadow: 0 2px 4px 0 rgba(25, 33, 61, 0.08);
}
 #features-section .card p {
     margin-bottom: 25px;
}
 #features-section .card {
     color: white;
     height: 640px;
     padding: 56px 54px 60px 54px;
     border-radius: 24px;
     background-size: cover;
}
 #features-section .card h2 {
     max-width: 400px;
}
 #features-section .number {
     font-weight: 500 !important;
     font-size: 68px;
     margin-left: auto;
     line-height: 75px !important;
}
 #features-section .description {
     margin-right: auto;
}
 #features-section .number .plus {
     font-size: 40px !important;
     line-height: 50px !important;
     color: #26AB6A;
}
 #blog-section {
     padding-top: 142px;
}
 #blog-section .button-secondary {
     max-width: 175px !important;
     width: 100% !important;
}
 #blog-section .blog-image {
     height: 340px;
     display: block;
     width: 100%;
     overflow: hidden;
     border-radius: 16px;
     background-size: cover;
     background-repeat: no-repeat;
     background-position: center;
     margin-bottom: 24px;
}
 .blog-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
     transition: all .2s ease-in-out;
}
 #blog-section .blog-image:hover {
     transform: none !important;
     opacity: 1 !important;
}
 #blog-section .blog-image:hover img {
     transform: scale(1.1) !important;
     filter: brightness(.7) !important;
}
#blog-section article.blog-post {
    height: 100%;
    padding-bottom: 40px;
}
#blog-section .d-flex.justify-content-between.align-items-center {
    position: absolute;
    bottom: 40px;
    width: 95%;
}
 #blog-section .little-subtitle {
     max-width: 472px;
     margin-bottom: 16px;
}
 .blog-post {
     margin-top: 40px;
}
 #blog-section .body-text {
     max-width: 536px;
}
 #blog-section .blog-subtitle {
     max-width: 472px;
}
 #blog-section .row .pill {
     color: white;
}
 #blog-section .blog-post hr {
     margin-top: 25px;
     margin-bottom: 25px;
     color: #b1b7bd;
}
 #contato {
     padding-top: 157px;
     padding-bottom: 98px;
}
 #contato h2 {
     margin-top: 25px;
}
 #contato h2+p.body-text {
     max-width: 534px;
     margin-bottom: 41px;
}
 #contato form, #contact-session form {
     background-color: #f8f8f8;
     border-radius: 16px;
     box-shadow: 0 2px 4px 0 rgba(25, 33, 61, 0.08);
     display: flex;
     flex-direction: column;
     gap: 24px;
     padding: 62px 57px;
}
 #contact-session form {
     display: block;
}
 #contato form fieldset, #contact-session form fieldset {
     display: flex;
     flex-direction: column;
     gap: 12px;
    margin-bottom: 30px;
}
.wpcf7-spinner {
    width: 24px !important;
}
 #contact-session form fieldset {
     margin-bottom: 24px;
}
 #contato form label, #contact-session form label {
     font-size: 20px;
     font-weight: 500;
     line-height: 1;
     max-width: fit-content;
}
 .input-primary, .textarea-primary {
    width: 100%;
     transition: box-shadow .2s ease-in-out, border .2s ease-in-out;
     border: 1px solid #DDE6ED;
     border-radius: 300px;
     color: #0D211E;
     font-size: 18px;
     line-height: 1 !important;
     padding: 16px 17px;
     font-family: "Urbanist", Arial, Helvetica, sans-serif;
     font-weight: 500;
     background-color: #F8F8F8;
}
 .input-primary:focus, .textarea-primary:focus {
     outline: none;
     border-color: #26AB6A;
     box-shadow: 0 0 0 .2rem rgba(7, 78, 11, 0.25);
}
 .labs-swiper, .labs-swiper .swiper-wrapper {
     max-height: auto;
}
 .labs-swiper .image-col {
     background-size: cover;
     min-height: 200px;
     background-repeat: no-repeat;
     background-position: center;
}
 footer input:focus {
     box-shadow: 0 0 0 .15rem rgba(255, 255, 255, 0.6) !important;
}
 #contato form textarea#message-input, #contact-session form textarea#message-input {
     border-radius: 16px !important;
     max-height: 110px;
}
 #contact-session form span.wpcf7-spinner {
    width: auto;
    margin: 0 auto;
    margin-top: 10px;
}
.wpcf7 form .wpcf7-response-output {
    padding: 20px;
    text-align: center;
    margin: 0;
}
.wpcf7-not-valid-tip {
    font-size: 0.875em;
    margin: 4px 10px 0;
}
.wpcf7 form.invalid .wpcf7-response-output {
    background-color: #ffb900;
}
.wpcf7 form.sent .wpcf7-response-output {
    background-color: #46b450;
    color: #fff;
}
 .input-primary::placeholder, .textarea-primary::placeholder {
     color: #324A61;
     font-weight: 500;
}
 #contato .button-dark, #contact-session .button-dark {
     padding: 10px 30px !important;
}
 #contato .card-button, #contact-session .card-button {
     width: 100%;
     display: flex;
     justify-content: space-between;
     background-color: #F8F8F8;
     border-radius: 16px;
     color: var(--dark);
     text-decoration: none !important;
     padding: 38px 35px 38px 40px;
     box-shadow: 0 2px 4px 0 rgba(25, 33, 61, 0.08);
}
 #contact-session .card-button {
     background-color: transparent;
     box-shadow: none;
     padding: 0;
}
 #contact-session {
     padding-top: 63px;
     padding-bottom: 120px;
}
 #contact-session .button-dark {
     max-width: 100% !important;
     font-family: "Urbanist", Arial, Helvetica, sans-serif;
     font-size: 18px;
     line-height: 1;
     padding: 16px 5px !important;
}
 .card-contact {
     padding: 52px;
     position: relative;
     overflow: hidden;
     border-radius: 16px;
     box-shadow: 0 2px 4px 0 rgba(25, 33, 61, 0.08);
}
 .card-contact h2+p {
     margin-bottom: 33px;
}
 .card-contact hr {
     color: #D1DBE4;
     margin-top: 32px;
     margin-bottom: 32px;
     height: 2px;
     background-color: #D1DBE4;
}
 .card-contact h3 {
     margin-bottom: 4px;
     margin-top: -4px;
}
 #units-section .swiper-slide .col-md-5::before {
     width: 132px;
     left: 30px;
     height: 166px;
     top: -20px;
     filter: blur(175);
     background-color: #26AB6A;
}
 #units-section .swiper-slide .col-md-5::after {
     width: 96px;
     right: 15px;
     filter: blur(343px);
     height: 565px;
     background-color: #A65ABF;
}
 #cta-section {
     background-image: url('../img/cta-img.jpg');
     background-size: 786px 649px;
     background-repeat: no-repeat;
     height: 649px;
     background-position: center;
     margin-bottom: 139px;
}
 #cta-section .container {
     height: 100%;
     display: flex;
     justify-content: center;
     align-items: center;
     flex-direction: column;
     max-width: 786px !important;
     gap: 20px;
}
 #cta-section .container h2 {
     text-align: center;
}
 footer {
     background-color: var(--dark);
     color: white;
     padding: 100px 0;
     border-radius: 24px 24px 0 0;
}
 footer a {
     color: #D1DBE4;
     text-decoration: none;
     font-size: 18px;
     line-height: 22.5px;
}
 .social-buttons {
     gap: 15px;
}
.social-buttons img {
    min-width: max-content;
}
 footer .bottom-row {
     margin-top: 129px;
     align-items: end;
}
 footer nav {
     gap: 17px;
}
 footer form {
     display: flex;
     flex-direction: column;
     gap: 16px;
}
 footer .container-news {
     max-width: 480px;
}
 .container-news p {
     margin-bottom: 32px;
}
 #partners-section {
     padding-bottom: 164px;
}
 #about-page-section {
     padding-top: 86px;
     padding-bottom: 84px;
}
 #about-page-section figure img {
     border-radius: 16px;
}
 .solutions-indicators {
     margin-top: 64px;
}
 .solutions-indicators a {
     width: 182px !important;
     max-width: 100%;
}
#team-section {
    padding-top: 80px;
}
 #team-section h2 {
     max-width: 388px;
     text-align: center;
     margin-bottom: 18px;
}
 #team-section .description {
     max-width: 534px;
     text-align: center;
     margin-bottom: 34px;
}
 #team-section .grid-team {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 24px;
}
.grid-team .card-member {
     padding-bottom: 25px;
     border-bottom: 1px solid var(--blue-gray);
}
 .card-member .card-image {
     height: 460px;
     position: relative;
     background-size: cover;
     background-position: center;
     border-radius: 16px;
     margin-bottom: 24px;
}
 .card-member .role {
     position: absolute;
     font-size: 18px;
     text-align: center;
     top: 20px;
     width: 100%;
     max-width: calc(100% - 40px);
     display: block;
     left: 50%;
     transform: translateX(-50%);
     line-height: 25px;
     padding: 10px 30px;
     text-decoration: underline;
     color: white;
     background-color: var(--green-success);
}
.card-member p {
    font-size: 0.875rem;
    margin-bottom: 8px;
} 
 #partners-section {
     padding-top: 104px;
}
 .grid-partners {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 56px;
}
 #partners-section h2 {
     max-width: 444px;
}
 #partners-section p {
     max-width: 466px;
}
 #solutions-grid-section {
     padding: 100px 0 90px 0;
}
section.nanogem {
    padding-bottom: 80px;
}
 .main-card {
     margin-top: 40px;
     margin-bottom: 49px;
     border-radius: 20px;
     padding: 60px 18px 60px 18px;
}
 .content-wrapper {
     display: flex;
     flex-direction: column;
     align-items: center;
     max-width: 600px;
     color: white;
     font-weight: 400;
     gap: 14px;
}
 .content-wrapper p {
     color: var(--lightgray);
}
 .solution-banner {
     margin-top: 40px;
}
 .blog-content > * {
     margin-bottom: 24px;
}
 .swiper-solutions {
     padding-right: 120px;
     overflow: unset !important;
}
 #solution-section {
     padding: 124px 0 127px 0;
}
 #units-section {
     padding-bottom: 74px;
}
 #units-section .swiper-slide {
     overflow: hidden;
     border-radius: 16px;
     position: absolute;
     top: 0;
     left: 0;
     opacity: 0 !important;
}
 #units-section .swiper-slide-active {
     position: relative;
     opacity: 1 !important;
     z-index: 100;
}
 #units-section .lab-img {
     border-radius: 16px 0 0 16px !important;
}
 #units-section .card-contact {
     border-radius: 0 16px 16px 0 !important;
}
 #units-section h2+p {
     max-width: 534px;
     margin-bottom: 33px;
}
 .info-wrapper {
     margin-bottom: 12px;
}
 .info-wrapper img {
     width: 24px;
     height: 24px;
}
 .swiper-button-next, .swiper-button-prev {
     border-radius: 19px;
     width: 38px;
     margin-top: 0 !important;
     position: static;
     transition: .2s ease-in-out;
     height: 38px;
     border: 1px solid #8495A6;
     box-shadow: 0 1px 3px 0 rgba(25, 33, 61, 0.1);
}
 .swiper-button-next::after, .swiper-button-prev::after {
     content: "";
     border: solid black;
     border-width: 0 2px 2px 0;
     display: inline-block;
     padding: 5px;
}
 #units-section .card-contact {
     padding: 63px 75px 137px 75px !important;
}
 .indicators-wrapper {
     display: flex;
     bottom: 34px;
     left: 67%;
     position: absolute;
     flex-direction: row-reverse;
     justify-content: start;
     gap: 24px;
     margin-top: 30px;
}
 .swiper-button-next::after {
     margin-left: -5px;
     transform: rotate(-45deg);
     -webkit-transform: rotate(-45deg);
}
 .swiper-button-prev::after {
     margin-right: -5px;
     transform: rotate(135deg);
     -webkit-transform: rotate(135deg);
}
 button:hover, a:hover, .swiper-button-next:hover, .swiper-button-prev:hover {
     transform: translateY(-3px);
     opacity: .8;
}
 button:hover::after, a:hover::after {
     transform: translateX(3px);
}
 #blog-section {
     padding-top: 80px !important;
     padding-bottom: 60px !important;
}
 @media screen and (max-width: 1366px) {
     .container {
         max-width: 1140px !important;
    }
     #features-section .card {
         height: 530px;
    }
     .indicators-wrapper {
         bottom: 16px;
    }
     #units-section .card-contact {
         padding: 30px 40px 57px 40px !important;
    }
     #cta-section {
         height: 420px;
         background-size: 500px 420px;
    }
}
 @media screen and (max-width: 992px) {
     #solutions-section .swiper {
         padding-right: 120px;
    }
     #solutions-section .swiper .body-text {
         max-width: 440px;
    }
     header {
         top: 0;
    }
     #solutions-grid-section {
         padding-top: 50px;
    }
     #team-section .grid-team, .solutions-grid {
         grid-template-columns: repeat(2, 1fr);
    }
     #contato {
         padding: 80px 0 54px;
    }
     #blog-section, #solutions-section {
         padding-top: 80px;
    }
     .navbar {
         background-color: #0D211E;
         padding: 16px;
         top: 0 !important;
    }
     .solution-card .card-footer {
         margin-top: 24px !important;
    }
     #features-section .number {
         font-size: 48px;
    }
     #features-section .card-features {
         padding: 16px 0;
    }
     #about-page-section {
         padding-top: 50px;
         padding-bottom: 65px;
    }
     #partners-section {
         padding-top: 50px;
    }
     #solution-section {
         padding: 60px 0 70px 0;
    }
     #units-section .card-contact {
         padding: 42px 50px 72px 50px !important;
    }
     .indicators-wrapper {
         bottom: 30px;
         left: 64%;
    }
     .card-contact {
         padding: 24px;
    }
     #features-section .card {
         height: auto;
         min-height: 100%;
         padding: 32px 24px;
    }
     #features-section .row .col-lg-6:nth-child(2) {
         display: none;
    }
     #features-section .card p {
         max-width: 440px;
    }
     #features-section .card-features {
         margin-bottom: 24px;
    }
     .solution-card, .swiper-solutions {
         padding: 21px;
         height: auto;
    }
    .card-member .role {
        top: auto;
        bottom: 20px;
    }
     #blog-section .pill+.row {
         align-items: start !important;
    }
     #blog-section .button-secondary {
         margin-top: 0 !important;
    }
     .pill {
         font-size: 16px !important;
    }
     .date {
         font-size: 12px;
    }
     #contato form, #contact-session form {
         padding: 30px 24px !important;
    }
     #cta-section .container h2 {
        font-size: 28px !important;
         line-height: 1.2 !important;
    }
     #main-hero .main-title, #main-hero .main-info {
         max-width: 600px !important;
    }
     #main-hero .main-info {
         margin-left: 0 !important;
         padding: 0;
    }
}
 @media screen and (max-width: 767px) {
     #contact-session {
         padding-bottom: 50px;
    }
     #contact-session form {
         margin-bottom: 48px;
    }
     #about-page-section figure img {
         margin-bottom: 24px !important;
    }
     .grid-partners {
         margin-top: 50px;
    }
     footer form {
         gap: 8px;
    }
     .card-member > .d-flex {
         flex-direction: column;
         align-items: start !important;
         gap: 16px;
    }
     footer form > .d-flex {
         flex-direction: column !important;
         align-items: start !important;
         gap: 16px;
         margin-bottom: 34px;
    }
     footer {
         padding-top: 50px;
         padding-bottom: 40px;
    }
     footer .bottom-row {
         margin-top: 80px;
    }
     .about-img {
         max-width: 440px;
         margin-bottom: 40px;
    }
     #about-section .subtitle {
         max-width: 100%;
    }
     .titles-row .body-text {
         max-width: 100%;
    }
     #blog-section .button-secondary {
         margin-left: 0 !important;
         margin-top: 16px !important;
    }
     .footer-brand {
         margin-bottom: 26px;
    }
}
 #contact-session .card-contact h1+p {
     margin-bottom: 30px;
}
/* 1600x720 1380x615 1280x720 1140 */
 @media screen and (max-width: 520px) {
    #blog-section .blog-image {
        height: 150px;
    }
     .about-img {
         max-width: 100%;
         margin-bottom: 24px;
    }
     #partners-section, #blog-section, #solutions-section, #contato, #about-page-section{
         padding-top: 40px;
         padding-bottom: 30px;
    }
     #about-page-section a {
         margin-top: 16px !important;
    }
     .solutions-indicators {
         margin-top: 16px;
    }
     #solutions-section .swiper {
         padding-right: 80px;
    }
     #units-section .card-contact {
         padding: 22px 16px 72px 16px !important;
    }
     #team-section .grid-team, .solutions-grid {
         grid-template-columns: 1fr;
    }
     .card-member .card-image {
         height: 340px;
    }
     .button-group {
         flex-direction: column;
         gap: 12px;
    }
     #contato .card-button, #contact-session .card-button {
         align-items: center;
    }
     #contato .col-md-6 .card-button > .d-flex {
         flex-direction: column !important;
    }
}
 @media screen and (max-width: 400px) {
    div#navbarCollapse {
        padding-top: 15px;
    }
     #cta-section .container {
         gap: 14px;
    }
     #cta-section {
         height: 300px;
         background-size: 380px 300px;
    }
     .navbar-brand {
         max-width: 136px;
    }
     .swiper-solutions {
         padding-left: 0;
    }
     .titles-row {
         margin-bottom: 16px !important;
    }
     #contato form, #contact-session form, #contato .card-button {
         padding: 20px 16px !important;
    }
     #contact-session .card-button {
         padding: 0;
    }
}
 .cookiealert {
     position: fixed;
     bottom: 30px;
     left: 50%;
     width: 50%;
     margin: 0 auto !important;
     z-index: 999;
     opacity: 0;
     visibility: hidden;
     border-radius: 18px;
     transform: translate(-50%, 100%);
     transition: all 500ms ease-out;
     color: #000;
     border: 1px solid #D1DBE4;
     background: #fff;
}
 .cookiealert p {
     font-size: 1rem;
     line-height: 1.2;
     margin-bottom: 0px;
}
 .cookiealert p a {
     color: #00D35C;
}
 .cookiealert .btn.btn-primary {
     font-size: 1rem;
     padding: 10px 20px;
     text-transform: uppercase;
}
 .acceptcookies {
     transition: all .2s ease-in-out;
     margin-top: 15px;
     background-color: var(--dark) !important;
     border: none;
}
 .cookiealert.show {
     opacity: 1;
     visibility: visible;
     transform: translate(-50%, 0%);
     transition-delay: 1000ms;
}
 @media screen and (max-width: 1140px) {
     .cookiealert {
         width: 95%;
    }
     .cookiealert p {
         font-size: 0.875rem;
         line-height: 1.4;
         margin-bottom: 5px;
    }
     .cookiealert .acceptcookies {
         padding: 10px;
         font-size: 0.8rem;
    }
}
