/********** Estilo CSS **********/
:root {
    --primary: #F3525A;
    --secondary: #F6F6F6;
    --light: #FFFFFF;
    --dark: #152440;
    --lighth: #d7eaf9;
    --facility: #1a486c;
}

.text-facility {
    color: #1a486c !important
}

.bg-lighth {
    background-color: #d7eaf9;
}

.video-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

.video-thumbnail {
    position: relative;
    width: 400px;
    height: 225px;
    margin-bottom: 20px;
}

iframe {
    width: 100%;
    height: 100%;
}

.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(26, 73, 108, 0.623);
    /* Fundo azul com transparência */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    opacity: 1;
    transition: opacity 0.3s;
}

.overlay h2,
.overlay p {
    color: #fff;
    margin: 0;
}


.video-thumbnail:hover .overlay {
    opacity: 0;
    /* Oculta a sobreposição ao passar o mouse sobre o vídeo */
    cursor: pointer;
}

/* Estilo para o contêiner do mapa */
#map {
    height: 50vh;
    /* Altura do mapa (50% da altura da viewport) */
    width: 100%;
    /* Largura do mapa */
}

/* Estilos para o modal */
.modalform {
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.4);
}

.modalform-content {
    background-color: #fefefe;
    margin: 10% auto;
    padding: 20px;
    border: 1px solid #888;
    width: 80%;
    max-width: 600px;
    /* Largura máxima do modal */
}

/* Estilos para inputs e botões */
.modalform-content select,
.modalform-content input,
.modalform-content button {
    width: 100%;
    padding: 10px;
    margin: 5px 0;
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.modalform-content select {
    height: 45px;

}

.modalform-content button {
    background-color: #00466e;
    color: white;
    border: none;
    cursor: pointer;
}

/* Estilos adicionais podem ser aplicados conforme necessário */
.servicosicone {
    width: 200px;
    height: 200px;
    font-size: 150px;
}

.servicosiconecolor {
    color: #152440;
}


.whatsapp {
    position: fixed;
    top: 72%;
    right: 1%;
    padding: 5px;
    z-index: 10000000;
}

/* Estilos adicionais podem ser aplicados conforme necessário */


.clientcarrouseutext {
    font-family: 'Bebas Neue', sans-serif;
    font-weight: 800;
    font-size: 40px;
    text-align: center;
    color: #00466e;
    letter-spacing: 2px;
    display: flex;
    height: 100%;
    letter-spacing: 2px;
    color: #00466e;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
}

.clientumalinha {
    position: relative;
    top: 20px;
}

.clientcarrouseutext:hover {
    color: #136696;
}

.logofacility {
    width: 300px;
    height: 100px;
    object-fit: cover;
}

.imagemobterresultados {
    width: 372px;
    height: 279px;
    object-fit: cover;
}

.client-container {
    height: 40vh;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
}

.overlay-loading {
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 99999;
    background: rgba(255, 255, 255, 0.8);
    /* Cor de fundo com opacidade 80% */
    justify-content: center;
    align-items: center;
}

.loading-circle {
    width: 80px;
    height: 80px;
    border: 8px solid #f3f3f3;
    /* Cor de fundo do círculo */
    border-top: 8px solid #1a486c;
    /* Cor do círculo */
    border-radius: 50%;
    animation: spin 1.5s linear infinite;
    /* Animação de rotação */
}

/* Definindo a animação de rotação */
@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.bg-topbar {
    background-color: #1a486c !important;
}

.bg-topbartwo {
    background-color: #78a2cc !important;
}

.bg-topbarthree {
    background-color: #ecf2f4 !important;
}

.bg-topbarfour {
    background-color: #0b304d !important;
}

.bg-topbarfive {
    background-color: #d7eaf9 !important;
}

h1,
h2,
.font-weight-bold {
    font-weight: 700 !important;
}

h3,
h4,
.font-weight-semi-bold {
    font-weight: 600 !important;
}

h5,
h6,
.font-weight-medium {
    font-weight: 500 !important;
}

.pt-6 {
    padding-top: 90px;
}

.pb-6 {
    padding-bottom: 90px;
}

.py-6 {
    padding-top: 90px;
    padding-bottom: 90px;
}

.btn {
    font-family: 'Barlow', sans-serif;
    font-weight: 600;
    transition: .5s;
}

.btn-primary {
    color: #FFFFFF;
}

.btn-square {
    width: 36px;
    height: 36px;
}

.btn-sm-square {
    width: 28px;
    height: 28px;
}

.btn-lg-square {
    width: 46px;
    height: 46px;
}

.btn-square,
.btn-sm-square,
.btn-lg-square {
    padding-left: 0;
    padding-right: 0;
    text-align: center;
}

.back-to-top {
    position: fixed;
    display: none;
    right: 45px;
    bottom: 45px;
    z-index: 99;
}

.mvvfacility {
    color: #d7eaf9;
}

.bg-iconobter {
    background-color: #d7eaf9;
    color: black;
}

.h3-obter {
    color: white;
}

.h3-obtertitulo {
    color: #152440;
}

.card-obter {
    background-color: #fff;
    border: none;
    border-radius: 16px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    transition: transform 0.3s ease;
}

.card-obter:hover {
    transform: translateY(-5px);
}

.card-central {
    background-color: #fff;
    border: none;
    border-radius: 20px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.1);
    overflow: hidden;
}

.card-central-bg {
    position: relative;
    background-size: cover;
    background-position: center;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    min-height: 100%;
    color: #000;
}

.card-central-bg::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(255, 255, 255, 0.75); /* fundo branco com opacidade */
    z-index: 1;
}

.card-central-bg .content {
    position: relative;
    z-index: 2;
    padding: 2rem;
    text-align: center;
}

.textocardprincipal {
    text-align: center;
    font-weight: 600;
    font-size: 18px;
    margin: 50px 0px;
    color: #0a385d;
}

.video-card {
    background-color: #1a486c; /* Cor de fundo azul */
    color: #FFFFFF; /* Texto branco */
    border-radius: 15px; /* Arredondamento moderno */
    overflow: hidden; /* Garante que o conteúdo não 'vaze' do arredondamento */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: 250px; /* Altura fixa para padronizar */
    cursor: pointer;
    position: relative; /* Para posicionar o ícone de play */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Sutil sombra */
    transition: transform 0.3s ease-in-out; /* Transição suave no hover */
}

.video-card:hover {
    transform: translateY(-5px); /* Leve levantamento no hover */
}

.video-card h4 {
    margin-top: 20px; /* Espaçamento do topo */
    padding: 0 15px; /* Padding horizontal para o texto */
    font-size: 1.25rem; /* Tamanho da fonte do título */
    line-height: 1.4; /* Espaçamento entre linhas */
    display: -webkit-box;
    color: white;
    -webkit-line-clamp: 3; /* Limita o título a 3 linhas */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.video-card .play-icon {
    font-size: 48px;
    color: rgba(255, 255, 255, 0.8); /* Cor mais suave para o ícone */
    margin-top: 15px;
}

/* Estilo para o iframe quando o vídeo for carregado */
.video-card iframe {
    border-radius: 15px; /* Mantém o arredondamento no iframe */
}

.tamanhoimagem {
    width: 100%;
}

.top-shape::before {
    position: absolute;
    content: "";
    width: 35px;
    height: 100%;
    top: 0;
    left: -17px;
    background: #78a2cc;
    transform: skew(40deg);
}

.navbar-light .navbar-nav .nav-link {
    font-family: 'Barlow', sans-serif;
    padding: 35px 15px;
    font-size: 18px;
    text-transform: uppercase;
    color: var(--light);
    outline: none;
    transition: .5s;
}

.sticky-top.navbar-light .navbar-nav .nav-link {
    padding: 20px 15px;
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link.active {
    color: var(--lighth);
}

@media (max-width: 991.98px) {
    .navbar-light .navbar-nav .nav-link {
        padding: 10px 0;
    }
}

@media (max-width: 576px) {
    .carousel-caption h5 {
        font-size: 14px;
        font-weight: 500 !important;
    }

    .carousel-caption h1 {
        font-size: 30px;
        font-weight: 600 !important;
    }

    .carousel-item img {
        max-height: 100vh;
    }

    .display-1 {
        font-size: calc(0.9rem + 2.0vw);
        line-height: 1.5;
    }
}

.max-img {
    max-width: 100%;
    height: auto;
}
.carousel-caption {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(21, 36, 64, .7);
    z-index: 1;
}



.carousel-control-prev,
.carousel-control-next {
    width: 10%;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    width: 3rem;
    height: 3rem;
}

.service-item {
    position: relative;
    overflow: hidden;
    height: 400px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: .3s;
}

.service-item::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 50px;
    bottom: -50px;
    left: 0;
    background: var(--light);
    border-radius: 100% 100% 0 0;
    box-shadow: 0px -10px 5px #EEEEEE;
    transition: .5s;
}

.service-item:hover::after {
    bottom: -25px;
}

.service-item p {
    transition: .3s;
}

.service-item:hover p {
    margin-bottom: 25px !important;
}

.flip-card {
    background-color: transparent;
    perspective: 1000px;
    height: 300px;
}

.flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.6s;
    transform-style: preserve-3d;
}

.flip-card:hover .flip-card-inner {
    transform: rotateY(180deg);
}

.flip-card-front,
.flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    border-radius: 20px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px;
}

.flip-card-front {
    background-color: #f8f9fa;
    color: #333;
}

.flip-card-back {
    background-color: #152440;
    color: white;
    transform: rotateY(180deg);
    font-size: 14px;
    line-height: 1.5;
}

.icon-wrap {
    font-size: 40px;
    color: #0d6efd;
    margin-bottom: 20px;
}


.team-item img {
    transform: scale(1.15);
    margin-left: -30px;
    transition: .5s;
}

.team-item:hover img {
    margin-left: 0;
}

.team-item .team-text {
    left: -100%;
    transition: .5s;
}

.team-item .team-text::after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    top: 50%;
    right: -60px;
    margin-top: -30px;
    border: 30px solid;
    border-color: transparent transparent transparent var(--primary);
}

.team-item:hover .team-text {
    left: 0;
}

.testimonial-carousel .owl-nav {
    margin-top: 30px;
    display: flex;
    justify-content: start;
}

.testimonial-carousel .owl-nav .owl-prev,
.testimonial-carousel .owl-nav .owl-next {
    position: relative;
    margin: 0 5px;
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    background: var(--facility);
    font-size: 22px;
    border-radius: 45px;
    transition: .5s;
}

.testimonial-carousel .owl-nav .owl-prev:hover,
.testimonial-carousel .owl-nav .owl-next:hover {
    color: var(--lighth);
}

.testimonial-carousel .owl-item img {
    width: 90px;
    height: 90px;
}

.testimonial-carousel .owl-item a {
    color: #1a486c;
}


.testimonial-carousel2 .owl-nav {
    margin-top: 30px;
    display: flex;
    justify-content: start;
}

.testimonial-carousel2 .owl-nav .owl-prev,
.testimonial-carousel2 .owl-nav .owl-next {
    position: relative;
    margin: 0 5px;
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    background: var(--facility);
    font-size: 22px;
    border-radius: 45px;
    transition: .5s;
}

.testimonial-carousel2 .owl-nav .owl-prev:hover,
.testimonial-carousel2 .owl-nav .owl-next:hover {
    color: var(--lighth);
}

.testimonial-carousel2 .owl-item a {
    color: #1a486c;
}

.blog-item img {
    transition: .5s;
}

.blog-item:hover img {
    transform: scale(1.1);
}