/*
Theme Name: Grupo ADF v2
Theme URI: http://grupo-adf.com
Version: 1.0
Description: Theme exclusivo para sitio web corporativo del Grupo ADF.
Author: Alberto García
Author URI: http://www.garciadelgado.es
Copyright: (c) 2013 ADF.
*/
.navbar { margin:0; border:none; }
.navbar-site { float: right; font-size:0.8em; margin-right: -15px; }
.navbar-site a { color: #666; }
.navbar-brand { background: url("img/logos/gadf.png") no-repeat scroll left top; height: 100px; margin: 20px 0; width: 100px; }
.corp { clear:right; margin-top: 48px; font-size: 14px; }
.corp a { font-family: 'Oxygen'; text-transform: uppercase; border-radius: 30px; }
.navbar-nav > li > a { padding-bottom: 8px; padding-top: 8px; }
li.home .glyphicon:before { content: ""; }
li.blog .glyphicon:before { content: ""; }
li.contact .glyphicon:before { content: "✉"; }
.jumbotron { margin-bottom: 60px; background: #8C9A93; background: url("img/jmb-top.png") no-repeat top center, radial-gradient(ellipse farthest-side at 10% 0, rgba(102, 105, 104, 0.9), rgba(93, 112, 119, 0.89), rgba(160, 174, 150, 0.9)) repeat scroll 0 0%; }
.jumbotron h2 { font-size: 28px; margin:16px 0; }
.jumbotron h1 { font-size: 42px; margin:16px 0; color: #252E5B; }
.jumbotron p { font-size: 18px; margin:16px 0; color: #fff; text-shadow: 2px 2px 2px rgba(120, 120, 120, 1); }
.jumbotron .btn { opacity: 0.8; display: block; padding: 0; width: 100%; height: 111px; margin-top:10%; white-space: nowrap; overflow: hidden; text-indent: 100%; white-space: nowrap; background: transparent url(img/play.png) no-repeat center center; border:none; }
.jumbotron .btn:hover { opacity: 1; }
.jumbotron .container { height: 100%; }
.jumbotron .col-md-6 { display:table-cell; height: 100%; }
.modal p { color: #666; text-shadow: none; }
.modal-open { overflow: auto; }
.video { height:0px; width:100%; max-width:560px; padding-top:56.25%; position:relative; }
iframe { position:absolute; height:100%; width:100%; top:0px; left:0px; border:0; }
.navbar-toggle { background-color: #2f3640; opacity:0.5; }
.navbar-toggle .icon-bar { background-color: #fff; }
.scrollup { width:36px; height:36px; font-size: 18px; line-height:16px; border-radius: 100%; padding:9px; opacity:0.3; position:fixed; bottom:100px; right:20px; display:none; color: #fff; background: #000; }
.scrollup:hover { opacity:0.6; color: #fff; text-decoration: none; }
/* Empresas del grupo */
.empresas .well {
text-align: center; position: relative;
padding-bottom: 30px;
margin-bottom: 40px;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
border-bottom-width: 8px;
}
.empresas .logo { height: 100px; }
.empresas h2 { font-size: 26px; margin: 10px 20px; min-height: 130px; padding: 20px 0; border-top: 50px dashed #f8f8f8; border-bottom: 1px dashed #e6e6e6; }
.empresas .btn-default {
  background: url("img/link.png") no-repeat center top;
  display: block;
  float: left;
  height: 77px;
  margin: 0 auto 30px;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  width: 100%;
  padding: 0;
  border: none;
}
.adf { border-bottom-color:#1C8655;}
.eec { border-bottom-color:#3C9738;}
.fvz { border-bottom-color:#FEA11E;}
.cife { border-bottom-color:#071321;}
.eaq { border-bottom-color:#F79F21;}
.gadf { border-bottom-color:#0969A3;}
.ppv { margin: 14px 0; }
/* Partners */
.partners { padding: 24px 20px; margin: 60px 0; border-top: 1px solid #e6e6e6; border-bottom: 1px solid #e6e6e6; text-align: center; }
.partners img { margin:10px; }
/* Footer */
footer { color: #999; margin-bottom:100px; }
footer nav { padding-left: 20px; }
footer nav .glyphicon { float: left; }
footer nav ul { float:left; margin-left: 10px; list-style: none; border-left: 1px solid #e6e6e6; padding-left:12px; font-size: 14px; }
/* Scroller */
.scroller { margin-top: 5em; overflow: hidden; }
.scb { margin-bottom: 6em; }
.scb:before, .scb:after, .side:before, .side:after { content: " "; display: table; }
.scb:after, .side:after { clear: both; }
.scb h3 { font-size: 2.5em; margin:0 0 40px; }
.scb li { margin: 1.5em 0; }
.scb small { margin: 0; text-transform: uppercase; font-size: 16px; color: #ccc; }
.side {
 width: 50%;
 float: left;
 margin: 0;
 overflow: hidden;
 min-height: 12em;
 -webkit-transition: -webkit-transform 0.5s, opacity 0.5s;
 -moz-transition: -moz-transform 0.5s, opacity 0.5s;
 transition: transform 0.5s, opacity 0.5s;
}
.side.right { padding-left: 5%; }
.side.left { padding-right: 5%; }
.right img { float: left; }
.left img { float: right; }
.scb-init .side { opacity: 0; }
.scb-init .side.left { -webkit-transform: translateX(-80px); -moz-transform: translateX(-80px); transform: translateX(-80px); }
.scb-init .side.right { -webkit-transform: translateX(80px); -moz-transform: translateX(80px); transform: translateX(80px); }
.scb.scb-animate .left,
.scb.scb-animate .right {
 -webkit-transform: translateX(0px);
 -moz-transform: translateX(0px);
 transform: translateX(0px);
 opacity: 1;
}
.scb.scb-animate .right {
 -webkit-transition-delay: 0.2s;
 -moz-transition-delay: 0.2s;
 transition-delay: 0.2s;
}
.scb ul { list-style: none; text-indent: -26px; }
.scb li:before { margin-right: 10px; color: #999; font-family: 'Glyphicons Halflings'; content: ""; }
.wpcf7 { margin-top: 78px; }
.ajax-loader { margin-left: 10px; }
.wpcf7-not-valid-tip-no-ajax, .wpcf7-response-output { background-color: #F2DEDE; border: 1px solid #EBCCD1; color: #B94A48; border-radius: 4px; padding: 15px; display: inline-block; margin:4px 0; }
.wpcf7-response-output { background-color: #fff; border-color: #fff; color: #C09853; }

.bs-sidebar.affix { position: fixed; top: 50px; }
.bs-sidenav {
  background-color: #F7F5FA;
  border-radius: 5px;
  margin-bottom: 30px;
  margin-top: 30px;
  padding-bottom: 10px;
  padding-top: 10px;
  text-shadow: 0 1px 0 #FFFFFF;
  width: 240px;
}
h1[id], .widgettitle, #comments h3, .blog article h1, .single article h1, .archive article h1 { margin-top: -45px; padding-top: 80px; border-bottom: 1px solid #e6e6e6; padding-bottom: 9px; }
#cookie-alert { position: fixed; border-radius:0; bottom:0; margin:0; width:100%; }
.widget .post-date { color: #999; display: inline; font-size: 75%; line-height: 1; vertical-align: baseline; white-space: nowrap; }
.metadata { display: block; margin-bottom: 36px; }
h1.error { font-size:20em; text-align: center; }
h1 a:hover { text-decoration:none; }
.tw{background:#9AE4E8;}
.fb{background:#3B5998;}
.gg{background:#D34836;}
#comments, #comments ol { margin: 40px 0; }
#comments footer { margin-bottom: 11px; }
.comment-metadata { font-size: 75%; }
.comment { margin: 11px 0; }
/* WordPress Core */
.alignnone { margin: 5px 20px 20px 0; }
.aligncenter, div.aligncenter { display: block; margin: 5px auto 5px auto; }
.alignright { float:right; margin: 5px 0 20px 20px; }
.alignleft { float: left; margin: 5px 20px 20px 0; }
.aligncenter { display: block; margin: 5px auto 5px auto; }
a img.alignright { float: right; margin: 5px 0 20px 20px; }
a img.alignnone { margin: 5px 20px 20px 0; }
a img.alignleft { float: left; margin: 5px 20px 20px 0; }
a img.aligncenter { display: block; margin-left: auto; margin-right: auto }
.wp-caption { background: #fff; border: 1px solid #f0f0f0; max-width: 96%;  padding: 5px 3px 10px; text-align: center; }
.wp-caption.alignnone { margin: 5px 20px 20px 0; }
.wp-caption.alignleft { margin: 5px 20px 20px 0; }
.wp-caption.alignright { margin: 5px 0 20px 20px; }
.wp-caption img { border: 0 none; height: auto; margin: 0; max-width: 98.5%; padding: 0; width: auto; }
.wp-caption p.wp-caption-text { font-size: 11px; line-height: 17px; margin: 0; padding: 0 4px 5px; }
.post-content img { max-width: 100%; height: auto; }
.post-content p, .post-content ul, .post-content ol { margin: 40px 0; }
.post-content h2, .post-content h3, .post-content h4 { margin-top: 40px; }
.post-content blockquote p { margin:0; }
.widget li { margin: 11px 0; }
.glyphicon { color: #c0c0c0; }

/* Media queries */
@media (max-width: 991px) {
.empresas .well { margin-bottom: 60px; }
.empresas h2 { font-size: 36px; margin: 10px 40px; }
footer nav { padding-left: 0; margin-top: 20px; }
footer nav li { float: left; margin-right: 20px; }
.bs-sidebar.affix { position: static; width: auto; top: 0; }
.bs-sidebar { width: 100%; }
}

@media (max-width: 767px) {
.navbar-site { float: none; font-size: 0.8em; margin-right: -15px; }
.jumbotron .col-md-6 { display: block; height: 100%; text-align: center; }
.logo img { max-width: 100%; }
 .cbp-so-side img { max-width: 100%; }
}

@media (max-width: 640px) {
 .cbp-so-side { float: none; width: 100%; }
 .cbp-so-side img { max-width: 100%; }
}

@media (max-width: 360px) {
.jumbotron h1 { font-size: 32px; }
.jumbotron p { font-size: 16px; }
.empresas h2 { font-size: 24px; margin: 10px 40px; }
.jumbotron h2 { font-size: 24px; }
h1 { font-size: 28px; }
.scb h3 { font-size: 22px; }
}

/* --------------------------------------------------------------------------
   Modernizacion visual 2026 - Grupo ADF
   Cambios seguros: solo sobreescrituras CSS, sin modificar estructura WordPress.
   -------------------------------------------------------------------------- */
:root {
  --gadf-navy: #17224d;
  --gadf-blue: #0969a3;
  --gadf-blue-2: #0f83c5;
  --gadf-teal: #1c8655;
  --gadf-ink: #1f2937;
  --gadf-muted: #667085;
  --gadf-soft: #f5f8fb;
  --gadf-line: #e5eaf0;
  --gadf-radius: 18px;
  --gadf-shadow: 0 18px 45px rgba(15, 35, 60, 0.12);
}

html { scroll-behavior: smooth; }
body {
  color: var(--gadf-ink);
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a { color: var(--gadf-blue); transition: color .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
a:hover, a:focus { color: var(--gadf-navy); }
img { max-width: 100%; height: auto; }

.navbar {
  padding: 18px 0 14px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(229,234,240,.85);
  border-radius: 0 0 24px 24px;
  box-shadow: 0 10px 35px rgba(15, 35, 60, .06);
}
.navbar-brand {
  margin: 0;
  width: 118px;
  height: 82px;
  background-size: contain;
  background-position: left center;
}
.navbar-site { margin-right: 0; }
.navbar-site a { color: var(--gadf-muted); font-size: 12px; font-weight: 600; }
.corp { margin-top: 28px; }
.corp a {
  color: var(--gadf-navy);
  font-weight: 700;
  letter-spacing: .02em;
  padding: 10px 15px !important;
  border-radius: 999px;
}
.corp > li > a:hover,
.corp > li > a:focus,
.corp > .active > a,
.corp > .current-menu-item > a {
  color: #fff;
  background: linear-gradient(135deg, var(--gadf-blue), var(--gadf-blue-2));
  box-shadow: 0 10px 24px rgba(9,105,163,.22);
}
.navbar-toggle { margin-top: 24px; background: var(--gadf-navy); opacity: 1; border-radius: 12px; }

.jumbotron {
  position: relative;
  overflow: hidden;
  margin: 28px 0 72px;
  padding: 76px 0;
  color: #fff;
  background:
    radial-gradient(circle at 85% 15%, rgba(66, 160, 219, .45) 0, rgba(66, 160, 219, 0) 36%),
    linear-gradient(135deg, rgba(23,34,77,.96) 0%, rgba(9,105,163,.92) 58%, rgba(28,134,85,.86) 100%),
    url("img/bg.jpg") center/cover no-repeat;
}
.jumbotron:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,0));
  pointer-events: none;
}
.jumbotron .container { position: relative; z-index: 1; }
.jumbotron h1 {
  max-width: 720px;
  color: #fff;
  font-size: clamp(38px, 5vw, 64px);
  line-height: 1.06;
  font-weight: 800;
  letter-spacing: -.045em;
  margin: 0 0 24px;
}
.jumbotron h2 { color: rgba(255,255,255,.88); }
.jumbotron p {
  max-width: 650px;
  margin: 0 0 24px;
  color: rgba(255,255,255,.92);
  font-size: 20px;
  line-height: 1.7;
  text-shadow: none;
}
.jumbotron .btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 132px;
  height: 132px;
  margin: 34px auto 0;
  border-radius: 50%;
  background: rgba(255,255,255,.96) url(img/play.png) no-repeat center center;
  box-shadow: 0 24px 60px rgba(0,0,0,.24), inset 0 0 0 10px rgba(9,105,163,.08);
  opacity: 1;
  transform: translateY(0);
}
.jumbotron .btn:hover,
.jumbotron .btn:focus {
  transform: translateY(-4px) scale(1.03);
  box-shadow: 0 30px 70px rgba(0,0,0,.30), inset 0 0 0 10px rgba(9,105,163,.12);
}
.modal-content { border: 0; border-radius: 20px; overflow: hidden; box-shadow: var(--gadf-shadow); }
.modal-header { background: var(--gadf-soft); border-bottom-color: var(--gadf-line); }

.empresas { margin-bottom: 48px; }
.empresas .well {
  overflow: hidden;
  min-height: 100%;
  padding: 34px 28px 36px;
  background: rgba(255,255,255,.98);
  border: 1px solid var(--gadf-line);
  border-bottom-width: 7px;
  border-radius: var(--gadf-radius);
  box-shadow: 0 12px 34px rgba(15, 35, 60, .08);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.empresas .well:hover { transform: translateY(-6px); box-shadow: var(--gadf-shadow); border-color: rgba(9,105,163,.18); }
.empresas .logo { height: 86px; object-fit: contain; margin-bottom: 10px; }
.empresas h2 {
  min-height: 0;
  margin: 18px 0 18px;
  padding: 22px 0 18px;
  border-top: 1px solid var(--gadf-line);
  border-bottom: 1px solid var(--gadf-line);
  color: var(--gadf-navy);
  font-size: 25px;
  line-height: 1.25;
  font-weight: 800;
  letter-spacing: -.02em;
}
.empresas .btn-default {
  float: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 150px;
  height: auto;
  min-height: 44px;
  margin: 10px auto 0;
  padding: 11px 20px;
  overflow: visible;
  text-indent: 0;
  color: #fff;
  font-weight: 700;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--gadf-blue), var(--gadf-blue-2));
  box-shadow: 0 10px 24px rgba(9,105,163,.20);
}
#.empresas .btn-default:before { content: "Visitar web"; }
.empresas .btn-default:hover,
.empresas .btn-default:focus { color: #fff; background: linear-gradient(135deg, var(--gadf-navy), var(--gadf-blue)); transform: translateY(-2px); }
.ppv { color: var(--gadf-blue); font-weight: 700; }

.partners img,
.partners img:hover,
.partners img:focus {
    filter: none !important;
    opacity: 1 !important;
    transform: none !important;
}

.partners a,
.partners a:hover,
.partners a:focus {
    background: transparent !important;
    color: inherit !important;
    text-decoration: none !important;
}

h1, h2, h3, h4 { color: var(--gadf-navy); font-weight: 800; letter-spacing: -.025em; }
h1[id], .widgettitle, #comments h3, .blog article h1, .single article h1, .archive article h1 { border-bottom-color: var(--gadf-line); }
.post-content p, .post-content ul, .post-content ol { color: #344054; }
.post-content blockquote { border-left: 5px solid var(--gadf-blue); background: var(--gadf-soft); border-radius: 0 14px 14px 0; }
.bs-sidenav { background: var(--gadf-soft); border: 1px solid var(--gadf-line); border-radius: 16px; }

footer { margin-bottom: 72px; color: #6b7280; }
footer .row { padding: 30px 0; border-top: 1px solid var(--gadf-line); }
footer img { max-height: 78px; width: auto; }
footer nav ul { border-left-color: var(--gadf-line); }
.scrollup {
  width: 46px;
  height: 46px;
  right: 22px;
  bottom: 28px;
  padding: 12px 0;
  text-align: center;
  background: var(--gadf-navy);
  border-radius: 50%;
  box-shadow: 0 14px 30px rgba(15, 35, 60, .22);
  opacity: .72;
}
.scrollup:hover { opacity: 1; color: #fff; transform: translateY(-2px); }
#cookie-alert { border: 0; background: rgba(23,34,77,.96); color: rgba(255,255,255,.92); box-shadow: 0 -12px 35px rgba(15, 35, 60, .18); }
#cookie-alert a { color: #fff; font-weight: 700; text-decoration: underline; }
#cookie-alert .close { color: #fff; opacity: .85; text-shadow: none; }

.form-control, input[type="text"], input[type="email"], input[type="tel"], textarea, select { border-color: var(--gadf-line); border-radius: 12px; box-shadow: none; }
.form-control:focus, input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus, textarea:focus, select:focus { border-color: var(--gadf-blue); box-shadow: 0 0 0 4px rgba(9,105,163,.12); outline: none; }
.btn-primary, input[type="submit"], button[type="submit"] { border: 0; border-radius: 999px; background: linear-gradient(135deg, var(--gadf-blue), var(--gadf-blue-2)); box-shadow: 0 12px 28px rgba(9,105,163,.20); font-weight: 700; }
.btn-primary:hover, input[type="submit"]:hover, button[type="submit"]:hover { background: linear-gradient(135deg, var(--gadf-navy), var(--gadf-blue)); }

@media (max-width: 991px) {
  .navbar { border-radius: 0 0 18px 18px; }
  .navbar-brand { height: 74px; }
  .corp { margin-top: 12px; clear: both; }
  .corp a { padding: 10px 12px !important; }
  .jumbotron { padding: 62px 0; margin-top: 18px; }
  .jumbotron h1 { font-size: 44px; }
  .empresas h2 { font-size: 28px; margin-left: 0; margin-right: 0; }
}
@media (max-width: 767px) {
  body { font-size: 15px; }
  .navbar { padding: 10px 0; }
  .navbar-site { margin-right: 0; }
  .navbar-brand { width: 96px; height: 64px; margin-left: 15px; }
  .navbar-collapse { border-top: 1px solid var(--gadf-line); margin-top: 12px; }
  .corp { margin-top: 10px; }
  .corp a { display: block; margin: 5px 0; }
  .jumbotron { padding: 52px 0; margin-bottom: 46px; text-align: center; }
  .jumbotron h1 { font-size: 36px; }
  .jumbotron p { font-size: 17px; margin-left: auto; margin-right: auto; }
  .jumbotron .btn { width: 104px; height: 104px; background-size: 56px auto; }
  .empresas .well { padding: 28px 22px; }
  .partners { margin-top: 44px; }
  .partners img { max-height: 48px; margin: 8px 10px; }
  footer { text-align: center; }
  footer nav ul { float: none; display: inline-block; text-align: left; }
}
@media (max-width: 360px) {
  .jumbotron h1 { font-size: 31px; }
  .empresas h2 { font-size: 23px; }
}
