/*
moon
monospace
Lato ***
Antic Slab
Viga
Pacifico
Myriad Pro
*/

.resp-container, .resp-containerd { display: flex; align-items: center; gap: 60px; max-width: 1200px; margin: 0px auto 80px; padding: 0px; }
.resp-container img, .resp-containerd img { width: 100%; max-width: 450px; height: auto; border-radius: 8px; display: block; }
.resp-containerd { flex-direction: row-reverse; }
.resp-text { flex: 1; font-size: 16px; line-height: 1.5; }


.resp-text h2 { font-family:"Lato", sans-serif; color:#505050; font-size:32px; margin:0px 0px 20px; font-weight: 400; letter-spacing: 0.2px;}
.resp-text p { font-family:"Lato", sans-serif; color:#3D3D3D; font-size:16px; font-weight: 400; margin:0px 0px 0px; line-height:19pt; letter-spacing: 0.2px; }
.resp-text p:nth-of-type(2) { margin-top:12px; font-size:22px; color:#3D3D3D; font-weight: 500; }
.resp-text p b { font-weight:600; color:#3D3D3D; }

.ul-custom { list-style: none; padding: 0; margin: 15px 0px 0px 30px; }
.ul-custom b { font-weight:600; color:#505050; }
.ul-custom li { font-family:"Lato", sans-serif; position: relative; padding-left: 28px; margin-bottom: 7px; font-size: 16px; line-height: 19pt; color: #3D3D3D!important; font-weight: 400; }

/* Caixa azul substituindo o bullet */
.ul-custom li::before {
    content: "";
    width: 12px;
    height: 12px;
    background-color: #2DAAE1;
    border-radius: 3px;
    position: absolute;
    left: 0;
    top: 5px;
}

.fullwidth-bg {
    width: 100%;
    height: 300px;
    padding:35px 70px;

    background-size: cover;        /* ocupa toda a área do div */
    background-repeat: no-repeat;  /* não repete */
    background-position: center;   /* mantém a imagem centrada */
    text-align:center;
    margin-bottom:30px;
}

.fullwidth-bg h3 { font-family:"Lato", sans-serif; color:#548DA1; font-size:40px; margin:30px 0px 20px; font-weight: 300; letter-spacing: 0.2px;}
.fullwidth-bg p:nth-of-type(1) { margin:30px 0px 0px; font-family:"Lato", sans-serif; color:#FFFFFF; font-size:60px; line-height:50pt; letter-spacing: 5px; text-shadow: 2px 2px 6px rgba(0,0,0,0.7); }
.fullwidth-bg p:nth-of-type(2) { margin:20px 0px 0px; font-family:"Lato", sans-serif; color:#FFFFFF; font-size:30px; line-height:30pt; letter-spacing: 5px; text-shadow: 2px 2px 6px rgba(0,0,0,0.7);font-weight:400;  }
.fullwidth-bg .txt { margin:20px 0px 0px; font-family:"Lato", sans-serif; color:#FFFFFF; font-size:19px; line-height:25pt; letter-spacing:1px; text-shadow: 2px 2px 6px rgba(0,0,0,0.7); font-weight:300;  }
.fullwidth-bg .txt b { font-weight:600; font-size:18px; color:#FFFFFF; }

.img_link { transition: filter 0.4s ease; }
.img_link:hover { filter: brightness(0.9) sepia(1) hue-rotate(180deg) saturate(150%); }

.resp-text2 { padding:0px; margin-top:-20px; }
.resp-text2 h2 { font-family:"Lato", sans-serif; color:#5490CC; font-size:34px; margin:0px 0px 30px; font-weight: 300; letter-spacing: 0.2px;}
.resp-text2 p { font-family:"Lato", sans-serif; color:#3D3D3D; font-size:17px; margin:0px 0px 15px; line-height:20pt; letter-spacing: 0.5px; }
.resp-text2 p b { font-weight: 600; }
.resp-text2 p { font-family:"Lato", sans-serif; color:#3D3D3D; font-size:17px; margin:0px 0px 15px; line-height:20pt; letter-spacing: 0.5px; }

.resp-grid {
    display: flex!important;
    flex-direction: row!important;    /* PC: lado a lado */
    gap: 30px;
    width: 100%;
    margin-top:-30px;
}

.resp-item-60 {
    flex: 0 0 60%;   /* largura fixa de 60% */
    max-width: 60%;
    border-radius: 6px;
}

.resp-item-40 {
    flex: 0 0 40%;   /* largura fixa de 40% */
    max-width: 40%;
    border-radius: 6px;
}

.colmd-8 { margin:0px 15px 10px; }

.btn-md2 { background-color: #3075A6; color:#ffffff; font-family:"Lato", sans-serif; font-size:13px; padding:16px 0px; cursor:pointer; border-radius: 6px; text-align:center; width:100%; letter-spacing:0.07em; }
.resp-grid h4 { font-family:"Lato", sans-serif; color:#4CA8CC; font-size:24px; margin:0px 0px 10px; line-height:24pt; letter-spacing: 0.5px; margin:0px; }

/* --- RESPONSIVO: <800px --- */
@media (max-width: 900px) {
    .fullwidth-bg {
        padding:20px 20px;
    }

    .fullwidth-bg p:nth-of-type(1) { font-size:22px; line-height:26pt; }
    .fullwidth-bg p:nth-of-type(2) { margin:20px 0px 0px; color:#FFFFFF; font-size:22px; line-height:24pt; letter-spacing: 0px; }
    .fullwidth-bg .txt { margin:10px 0px 0px; font-size:13.5px; line-height:15pt; text-shadow: 2px 2px 6px rgba(0,0,0,0.7); font-weight:300; letter-spacing: 0px; }
    .fullwidth-bg .txt b { font-weight:600; font-size:14px; color:#FFFFFF; }

    .resp-containerd, .resp-container {
        flex-direction: column;
        margin: 0px auto 40px;
        gap: 30px;
    }

    .resp-container img, .resp-containerd img {
        max-width: 350px;
        margin-bottom: 0px;
        border-radius: 0px;
    }

    .resp-text h2 { font-size:26px; line-height:28pt; margin:0px 20px 20px; font-weight: 300; }
    .resp-text p { font-size:17px; margin:0px 20px 0px; line-height:18pt; color:#525252; }

    .resp-grid { flex-direction: column!important;   }

    .resp-item-60,
    .resp-item-40 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .banner_contactos { margin-bottom:45px; }
    .resp-text2 { text-align:left; }
    .resp-text2 h2 { font-size:26px; line-height:28pt; margin:0px 20px 20px; font-weight: 300; }
    .resp-text2 p { font-size:17px; margin:0px 20px 20px; line-height:18pt; color:#525252; }
}

.resp-item-40 { color:#3D3D3D!important; }
.general-nav ul li a { font-family:"Lato", sans-serif!important; font-size: 17px!important; line-height:17pt!important; margin:-11px 0px 0px!important; font-weight:400!important; }
.general-nav ul li a:selected { font-family:"Lato", sans-serif!important; font-size: 17px!important; line-height:17pt!important; margin:-11px 0px 0px!important; font-weight:400!important; }


