
/* Show text that Odoo normally reveals with server-specific animation code. */
.o_animate, .o_animated_text { visibility: visible !important; opacity: 1 !important; }

.o_brand_promotion { display: none !important; }

/* Keep footer lists and wrapped address lines compact. */
#bottom #footer {
  line-height: 1.15;
}

#bottom #footer h5 {
  line-height: 1.2;
  margin-bottom: .5rem;
}

#bottom #footer .list-unstyled li {
  line-height: 1.1;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0;
}

#bottom #footer p {
  line-height: 1.15;
  margin-bottom: 0;
}

/* Compact header with contact details next to the logo. */
#top_menu_container .ap-topbar {
  display: flex;
  align-items: center;
  gap: 18px;
  width: 100%;
  min-height: 88px;
  padding: 6px 0;
}

.ap-header-brand { flex: 0 0 auto; }
.ap-header-brand img { display: block; width: 82px; height: auto; }
.ap-header-contact, .ap-header-actions, .ap-header-social {
  display: flex;
  align-items: center;
}
.ap-header-contact { flex: 1 1 auto; flex-wrap: wrap; gap: 6px 12px; }
.ap-header-contact a, .ap-header-whatsapp, .ap-header-actions a {
  color: #1681c6;
  font-size: 21px;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
}
.ap-header-contact a, .ap-header-whatsapp { display: inline-flex; align-items: center; gap: 5px; }
.ap-header-contact a:hover, .ap-header-actions a:hover { text-decoration: underline; }
.ap-header-whatsapp { opacity: 1; }
.ap-header-actions { flex: 0 1 auto; flex-wrap: wrap; gap: 6px 14px; }
.ap-header-actions .ap-mobile-contact { display: none; }
.ap-header-social { flex: 0 0 auto; gap: 13px; margin-left: auto; }
.ap-header-social a { color: #1681c6; font-size: 20px; line-height: 1; }
.ap-header-social a:hover { color: #075985; }
.ap-header-toggle { display: none; }

@media (max-width: 991.98px) {
  #top_menu_container .ap-topbar {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 8px 12px;
    min-height: 0;
    padding: 8px 0;
  }
  .ap-header-brand { grid-column: 1; grid-row: 1; }
  .ap-header-brand img { width: 64px; }
  .ap-header-social { grid-column: 2; grid-row: 1; justify-content: end; gap: 10px; margin-left: 0; }
  .ap-header-social a { font-size: 17px; }
  .ap-header-toggle { display: block; grid-column: 3; grid-row: 1; margin: 0; }
  .ap-header-contact { grid-column: 1 / -1; grid-row: 2; }
  .ap-header-actions { grid-column: 1 / -1; grid-row: 3; }
  .ap-header-actions .ap-mobile-contact { display: inline; }
  .ap-header-contact a, .ap-header-whatsapp, .ap-header-actions a { font-size: 17px; }
}

/* Contacto as a regular menu entry. */
#top_menu .ap-nav-contact{color:#0a4770!important;font-weight:700;background:transparent!important;border:0!important;box-shadow:none!important}
#top_menu .ap-nav-contact:hover,#top_menu .ap-nav-contact:focus{color:#08314f!important;text-decoration:underline}

/* Site-wide compact type and rhythm; the accessibility toolbar can still enlarge text. */
body { font-size: 18px; line-height: 1.42; }
#wrap:not(.ap-volunteer-page):not(.ap-project-page) { line-height: 1.42; }
#wrap:not(.ap-volunteer-page):not(.ap-project-page) p,
#wrap:not(.ap-volunteer-page):not(.ap-project-page) li { line-height: 1.42; }
#wrap:not(.ap-volunteer-page):not(.ap-project-page) p { margin-bottom: .65em; }
#wrap:not(.ap-volunteer-page):not(.ap-project-page) h1 { font-size: clamp(34px, 3.5vw, 48px) !important; line-height: 1.12 !important; }
#wrap:not(.ap-volunteer-page):not(.ap-project-page) h3 { font-size: clamp(23px, 2.2vw, 31px) !important; line-height: 1.2 !important; }
#wrap:not(.ap-volunteer-page):not(.ap-project-page) h4 { font-size: clamp(20px, 1.8vw, 25px) !important; line-height: 1.22 !important; }
#wrap:not(.ap-volunteer-page):not(.ap-project-page) h5,
#wrap:not(.ap-volunteer-page):not(.ap-project-page) h6 { font-size: 17px !important; line-height: 1.3 !important; }
#wrap .s_cover h2.lead span { font-size: 19px !important; }
#wrap .s_cover p { max-width: 1050px; margin-left: auto; margin-right: auto; }
#top_menu .nav-link { font-size: 18px; line-height: 1.3; padding-top: .55em; padding-bottom: .55em; }
#top_menu_container .ap-topbar { min-height: 76px; gap: 12px; }
.ap-header-brand img { width: 72px; }
.ap-header-contact a, .ap-header-whatsapp, .ap-header-actions a { font-size: 17px; line-height: 1.2; }
.ap-header-social { gap: 10px; }
.ap-header-social a { font-size: 16px; }
#wrap .s_numbers .s_number img { max-width: 76px !important; max-height: 76px; object-fit: contain; }
#wrap .s_features img.o_we_custom_image { max-width: 80px; max-height: 80px; object-fit: contain; }
#wrap .s_cover.pt200 { padding-top: 140px !important; }
#wrap .s_cover.pb200 { padding-bottom: 140px !important; }
#wrap section.pt80:not(.ap-home-presence) { padding-top: 52px !important; }
#wrap section.pb80:not(.ap-home-presence) { padding-bottom: 52px !important; }
#wrap .s_quotes_carousel .pt144 { padding-top: 90px !important; }
#wrap .s_quotes_carousel .pb144 { padding-bottom: 90px !important; }
#wrap .s_quotes_carousel .pt184 { padding-top: 110px !important; }
#wrap .s_quotes_carousel .pt168 { padding-top: 100px !important; }
#bottom #footer { font-size: 17px; }
#bottom #footer h5 { font-size: 19px; }
#bottom #footer .fa { font-size: .88em; }
@media (max-width: 991.98px) {
  #top_menu_container .ap-topbar { min-height: 0; }
  .ap-header-brand img { width: 58px; }
  .ap-header-social a { font-size: 15px; }
  .ap-header-contact a, .ap-header-whatsapp, .ap-header-actions a { font-size: 16px; }
}

/* Institutional logos above all footer contact information. */
#bottom .ap-footer-partner-strip { background: #fff; padding: 14px 0 12px; }
#bottom .ap-footer-partner-inner { overflow-x: auto; text-align: center; }
#bottom .ap-footer-partner-inner a { display: inline-block; max-width: 100%; }
#bottom .ap-footer-partner-inner img { display: block; width: 100%; max-width: 1097px; height: auto; }
@media (max-width: 767px) {
  #bottom .ap-footer-partner-inner { text-align: left; }
  #bottom .ap-footer-partner-inner a { max-width: none; }
  #bottom .ap-footer-partner-inner img { width: 760px; max-width: none; }
}
