/* Estilo básico para o site */

html{
    height: 100%;
    overflow-x:hidden;
}

main{
    flex:1;
    overflow-y: auto;
}

body{
    margin: 0; /* Remove margens padrão */
    display: flex;
    flex-direction: column;
    font-family: 'myFont2';
    background-color: #3e61ad;
    color: #fed402;
    min-height: 100vh;
}

::content{height: auto;}
@font-face {
    font-family: 'myFont';
    src: url(font/25381880192.ttf);
}

@font-face {
    font-family: 'myFont2';
    src: url(font/26301410506.ttf);
}

@font-face {
    font-family: 'myFont3';
    src: url(font/30716573843.ttf);
}


/* Estilo geral do carrossel */
#image-carousel {
    width: 100%; /* O carrossel ocupa toda a largura */ /* Limita a largura máxima */
    max-height: 700px;
    position: relative;
    overflow: hidden; /* Esconde as imagens que saem da área visível */
}

.carousel-container {
    position: relative;
    width: 100%;
}

.carousel-track {
    display: flex; /* As imagens ficam lado a lado */
    transition: transform 0.5s ease-in-out; /* Suaviza o movimento */
}


.carousel-track img {
    width: 100%; /* Cada imagem ocupa 100% da área visível */
}

/* Botões de navegação */
/*
.carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    font-size: 20px;
    cursor: pointer;
    z-index: 10;
    display: flex;
    justify-content: center;
    align-items: center;
}

.left-btn {
    left: 10px;
}

.right-btn {
    right: 10px;
}

.carousel-btn:hover {
    background-color: rgba(0, 0, 0, 0.8);
}
    */
.container-header{
    padding-bottom: 60px;
    padding: 15px;
    padding-left: 10px;
    display: flex;
    justify-content:center;
    box-sizing: border-box;
}

.container-header img{
    width: 181px;
}

.container-header-nav {
    flex-grow: 1;
    max-width: 100%;
}

.container-header-nav ul {
    display: flex;
    flex-direction:row;
    justify-content: space-evenly;
    list-style: none;
}

.container-header-nav ul li a {
    color:#fed402;  
    text-decoration: none;
    font-family: 'myFont2';
    font-weight: bold;
    font-size: x-large;
    transition: opacity 0.5s ease;
}

.container-header-nav ul li a:hover {
    opacity: 0.2;
}

.big-container, .container {
    display: flex;             /* Flexbox ativado */
    justify-content: space-around; /* Espaça as seções igualmente */
    align-items: flex-start;   /* Alinha os itens no topo */
    flex-wrap: wrap;           /* Permite que as seções se movam para a linha seguinte em telas pequenas */
    text-align: left;
}

.big-container h3{
    font-family: 'myfont2';
}
.extra{
display: flex;
justify-content: center; /* Centraliza os títulos */
width: 100%;
}

.extra h3 {
    width: 100%; /* Mesmo tamanho das imagens */
    text-align: center; /* Centraliza o texto dentro do espaço definido */
}

.container > div {
    width: 22%;                /* Define uma largura para cada seção */
}

#servicos{
    padding: 120px 0 ;
}

/* Certifique-se de que o conteúdo fora da box seja escondido */
.servico {
    overflow: hidden;      /* Esconde a parte "zoomer" da imagem fora da box */
    position: relative;    /* Garante o alinhamento correto */
}

.servico img {
    width: 100%;           /* A imagem ocupa 100% da box */
    max-height: 100%;

    transition: transform 0.5s ease; /* Animação suave no zoom */
    display: block;        /* Remove espaço extra da imagem */
}

.hover-trigger:nth-of-type(1):hover ~ .big-container .container .servico:nth-of-type(1) img,
.big-container .container .servico:nth-of-type(1):hover img {
    transform: scale(1.2); /* Zoom na imagem 1 */
}


/* Efeito ao passar o mouse (hover) */
.servico img:hover {
    transform: scale(1.2); /* Aumenta a imagem em 20% */
}

.about{
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

@media (max-width: 900px){
    .about{
        display: flex;
        justify-content:space-between;
        align-items:center;
        flex-wrap: wrap;
    }
    .about-left{
        flex: 1;
        padding-left: 10px;
        display: flex;
        min-width: 300px;
        flex-direction:column;
    }
    
    .about-left h1{
        font-family: 'myFont2';
        font-size: 25px;
    }
    
    .about-right{
        flex: 1;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .about-right img{
        max-width: 90%;
        height: auto;
        padding-right: 55px;
    }

    .footer1,.footer2,.footer3{
        display: none;
    }

    .footer-mobile{
        display: block;
        text-align: center;
        font-size: 11px;
    }
    
}

.about-left{
    flex: 1;
    padding-left: 10px;
    display: flex;
    flex-direction: column;
    font-size: 20px;
}

.about-left h1{
    font-family: 'myFont2';
    font-size: 40px;
}

.about-left li{
    margin: 10px;
    font-size: 20px;
}

.about-right{
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}
.about-right img{
    max-width: 60%;
    min-width: 150px;
    height: auto;
    padding-left: 60px;
}

.contact{
    padding-left: 5px;
    font-family: 'myFont2';
}

.contact h1{
    font-size: 30px;
}

.contact form {
    display: flex;
    flex-direction: column;
    max-width: 600px;  /* Limita a largura do formulário */
    margin: 0 auto;    /* Centraliza o formulário na página */
    padding: 20px;     /* Adiciona um pouco de espaço dentro do formulário */
    background-color: transparent;  /* Retira o fundo sólido */
    border-radius: 8px;  /* Arredonda os cantos */
}

.contact input, textarea {
    font-family: 'myFont2';
    resize: none;
    width: 100%;        /* Faz com que os campos ocupem toda a largura */
    padding: 12px;      /* Adiciona um pouco de espaçamento dentro das caixas */
    margin: 8px 0;      /* Espaçamento entre os campos */
    border: 2px solid #ddd; /* Borda mais suave */
    border-radius: 5px; /* Bordas arredondadas */
    background-color: transparent; /* Fundo transparente */
    color: #fff;        /* Cor do texto */
    font-size: 16px;     /* Ajusta o tamanho da fonte */
    box-sizing: border-box; /* Garante que o padding não afete o tamanho total */
    transition: all 0.7s ease-in-out; /* Suaviza a transição de efeitos */
}

.contact input:focus, textarea:focus {
    border-color: #fed402; /* Altera a cor da borda ao focar */
    box-shadow: 0 0 10px rgba(255, 215, 2, 0.6); /* Sombra suave */
    outline: none; /* Remove o contorno padrão */
}

.contact input::placeholder, textarea::placeholder {
    color: rgba(255, 255, 255, 0.6); /* Texto de placeholder mais suave */
}

/* Efeito para o botão de envio */
button {
    padding: 12px 20px;
    background-color: #fed402;  /* Cor de fundo do botão */
    border: none;
    border-radius: 8px;
    color: #3e61ad;  /* Cor do texto do botão */
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.contact button:hover {
    color: #3e61ad;
    background-color: #fed402; /* Cor mais clara ao passar o mouse */
    transform: scale(1.05); /* Leve aumento no tamanho do botão */
}

.phone-container {
    display: flex;
    align-items: center;  /* Alinha os itens verticalmente ao centro */
    justify-content: flex-start;
}

select {
    padding: 12px;
    margin: 8px 0;
    border: 2px solid #ddd;
    border-radius: 5px;
    background-color: transparent;
    color: #fff;
    font-size: 16px;
    width: 40%; /* O select ocupa 20% da largura */
    margin-right: 10px; /* Espaço entre o select e o campo de número */
}

select option{
    background-color: #3e61ad;
    border: 2px solid #ddd;
}

textarea {
    padding: 12px;
    margin: 8px 0;
    border: 2px solid #ddd;
    border-radius: 5px;
    background-color: transparent;
    color: #fff;
    font-size: 16px;
    height: 150px;
    transition: all 0.3s ease-in-out;
}

button {
    padding: 12px 24px;
    background-color: #fed402;
    border: none;
    border-radius: 5px;
    color: #3e61ad;
    font-size: 16px;
    cursor: pointer;
    margin-bottom: 50px;
}

button:hover {
    background-color: #3e61ad;
    color: #fed402;
}

/* Estilo do Modal (janela pop-up) */
.modal {
    display: none; /* Inicialmente o modal está oculto */
    position: fixed;
    z-index: 1; /* Fica acima de outros elementos */
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* Fundo semitransparente */
}

/* Conteúdo do Modal */
.modal-content {
    background-color:#3e61ad;
    margin: 15% auto; /* Centraliza vertical e horizontalmente */
    padding: 20px;
    border-radius: 10px;
    width: 80%;
    max-width: 500px;
    text-align: center;
}

/* Estilo do botão de fechar */
.close-btn {
    color: #aaa;
    font-size: 28px;
    font-weight: bold;
    top: 10px;
    right: 25px;
    text-align: center;
    cursor: pointer;
}

.close-btn:hover,
.close-btn:focus {
    color: red;
    text-decoration: none;
    cursor: pointer;
}

/* Estilo básico do menu lateral */
#mobile-navbar {
    position: fixed;
    display: flex;
    flex-direction: column;
    top: 0;
    right: -250px;  /* Inicialmente fora da tela */
    width: 250px;
    height: 100%;
    background-color:#fed402;
    transition: right 0.3s ease-in-out; /* Animação de slide */
    z-index: 5;
    padding-top: 60px; /* Para ajustar o conteúdo abaixo do cabeçalho */
}

/* Nova classe para indicar que o menu está aberto */
#mobile-navbar.open {
    right: 0; /* Se a classe "open" estiver presente, o menu ficará visível */
}

#mobile-navbar ul {
    list-style-type: none;
    padding: 0;
    display: flex;
    flex-direction: column;
}

#mobile-navbar ul li {
    margin: 10px 0;
}

#mobile-navbar ul li a {
    color: #3e61ad;
    text-decoration: none;
    font-family: 'myFont2';
    font-weight: bold;
    font-size: 20px;
    display: block;
    padding: 10px;
    transition: opacity 0.3s ease;
}

#mobile-navbar ul li a:hover {
    opacity: 0.7;
}

/* Estilo do ícone de menu */
.menu-icon {
    display: none; /* Inicialmente escondido */
    font-size: 30px;
    cursor: pointer;
    color: #fed402;
}

@media (max-width: 900px) {

    .container-header-nav{
        display: flex;
        justify-content: flex-end;
    }

    /* Mostrar o ícone de menu no celular */
    .menu-icon {
        display: block;
    }

    #desktop-navbar{
        display: none;
    }
}

/* Outros estilos da página... */



/* Estilo do rodapé */
footer {
    font-size: 10px;
    font-family: 'myFont2';
    background-color: #fed402;
    color: #3e61ad;
    width: 100%;
    margin-top: auto;
    z-index: 10;
    }

.footer-content{
    display: flex;
    justify-content: space-between;
    margin-left: 6px;
    }

    .footer-mobile{
        display: none;
    }

 .footer1{
    text-align: left;
    width: auto;
    margin-top: 15px;
 }

 .footer2 nav{
    margin-top: 23px ;
 }

.footer2 nav ul{
    display: flex;
    flex-direction:row;
}

 .footer2 nav ul li{
    margin: 10px;
    list-style-type: none;
 }

 .footer2 nav ul li a{
    text-decoration: none;
    color: #3e61ad;
 }

 .footer2 nav ul li a:hover{
    color: white;
 }

 .footer2 nav ul li img{
    height: 15px;
 }

input[type="file"]::file-selector-button {
    background-color: #fed402;
    color: white;
    border: none;
    padding: 8px 12px;
    cursor: pointer;
    border-radius: 5px;
}

input[type="file"]::file-selector-button:hover {
    background-color: #3e61ad;
    transition:0.5s ease;
}