:root {
  --tm-linea: #212529;
  --tm-txt-primario: #000;
  --tm-txt-secundario: #6c757d;
  --tm-color-enlace: #ffc800;
  --tm-color-enlace-sobre: #cca000;
  
  --tm-zebra-par: #f8f9fa;
  --tm-zebra-impar: #fff;
  
  --tm-navbar-fondo: #212529;
  --tm-navbar-txt-descatado: #ffc800;
  --tm-navbar-txt-normal: #fff;

  --tm-header-txt: #fff;
  --tm-header-color-enlace: #ffc800;
  --tm-header-color-enlace-sobre: #cca000;

  --tm-icon-color-bg: #ffc800;
  --tm-icon-color: #fff;
  
  --tm-item-txt: #fff;
  --tm-item-fondo: #ffc800;
  --tm-item-borde: #e9ecef;
  
  --tm-galeria-icon: #fff;
  --tm-galeria-icon-fondo: #ffc800;
  --tm-galeria-fondo-caption: #fff;

  --tm-contacto-cabecera-txt: #fff;  
  --tm-contacto-txt: #ced4da;
  --tm-contacto-borde: #ffc800;
  --tm-contacto-fondo: #212529;
  --tm-contacto-color: #ffffff;
  --tm-contacto-color-enlace: #ffc800;
  --tm-contacto-color-enlace-sobre: #cca000;
  
  --tm-font-1: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --tm-font-2:"Roboto Slab", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  
  --img-header:url("../assets/img/header-bg.jpg");
  --img-contact:url("../assets/img/map-image.png");
  
  --tm-nosotros-borde: #e9ecef;
  
  
  --bs-body-color: var(--tm-txt-primario);
  
  --bs-link-color: #ffc800;
  --bs-link-hover-color: #cca000;

  --fa-inverse: #fff;
}


/*!
* Basic Template Bootstrap - Multi
* Copyright 2024 Coingal Sistemas de Información SLU
* Licensed under MIT (https://github.com/StartBootstrap/startbootstrap-agency/blob/master/LICENSE)
*
* BASADO EN 
*
* Start Bootstrap - Agency v7.0.12 (https://startbootstrap.com/theme/agency)
* Copyright 2013-2023 Start Bootstrap
* Licensed under MIT (https://github.com/StartBootstrap/startbootstrap-agency/blob/master/LICENSE)
*/



html {
  scroll-padding-top: 4.5rem;
}

body {
  position: relative;
}

p {
  line-height: 1.75;
}

a { color: var(--tm-color-enlace);  text-decoration: none; }
a:hover { color: var(--tm-color-enlace-sobre); }

section:nth-child(even) {
  background-color: var(--tm-zebra-par);
}

section:nth-child(odd) {
  background-color: var(--tm-zebra-impar);
}

.text-muted {
    color: var(--tm-txt-secundario) !important;
}
.text-muted strong{
    color: var(--bs-body-color);
}

.page-section {
  padding: 6rem 0;
}
.page-section h2.section-heading, 
.page-section .section-heading.h2 {
  font-size: 2.5rem;
  margin-top: 0;
  margin-bottom: 1rem;
}
.page-section h3.section-subheading, 
.page-section .section-subheading.h3 {
  font-size: 1rem;
  font-weight: 400;
  font-style: italic;
  font-family: var(--tm-font-2);
  margin-bottom: 4rem;
}

@media (min-width: 768px) {
  section { padding: 9rem 0; }
}
.btn-xl { padding: 1.25rem 2.5rem;  font-family: var(--tm-font-1);  font-size: 1.125rem;  font-weight: 700; }
.btn-social {  height: 2.5rem;  width: 2.5rem;  display: inline-flex;  align-items: center;  justify-content: center;  padding: 0;  border-radius: 100%; }

#mainNav { padding-top: 1rem; padding-bottom: 1rem; background-color: var(--tm-navbar-fondo) }
#mainNav .navbar-toggler { padding: 0.75rem; font-size: 0.75rem; font-family: var(--tm-font-1); text-transform: uppercase; font-weight: 700; }
#mainNav .navbar-brand { color: var(--tm-navbar-txt-descatado); font-family: var(--tm-font-1); font-weight: 700; letter-spacing: 0.0625em; text-transform: uppercase; }
#mainNav .navbar-brand img { height: 1.5rem; }
#mainNav .navbar-nav .nav-item .nav-link { font-family: var(--tm-font-1); font-size: 0.95rem; color: var(--tm-navbar-txt-normal);  letter-spacing: 0.0625em; }
#mainNav .navbar-nav .nav-item .nav-link.active, 
#mainNav .navbar-nav .nav-item .nav-link:hover { color: var(--tm-navbar-txt-descatado); }

@media (min-width: 992px) {
  #mainNav {
    padding-top: 1.5rem; padding-bottom: 1.5rem; border: none;
    background-color: var(--tm-navbar-fondo); transition: padding-top 0.3s ease-in-out, padding-bottom 0.3s ease-in-out, background-color 0.3s ease-in-out;
  }
  #mainNav .navbar-brand { font-size: 1.5em; transition: font-size 0.3s ease-in-out; }
  #mainNav .navbar-brand img { height: 2rem; transition: height 0.3s ease-in-out; }
  #mainNav.navbar-shrink { padding-top: 1rem; padding-bottom: 1rem; background-color: var(--tm-navbar-fondo) }
  #mainNav.navbar-shrink .navbar-brand { font-size: 1.25em; }
  #mainNav.navbar-shrink .navbar-brand svg,
  #mainNav.navbar-shrink .navbar-brand img { height: 1.5rem; }
  #mainNav .navbar-nav .nav-item { margin-right: 1rem; }
  #mainNav .navbar-nav .nav-item:last-child { margin-right: 0; }
}

@media (min-width: 992px) {
  #mainNav.home { background-color: transparent; }
  #mainNav.home.navbar-shrink { background-color: var(--tm-navbar-fondo) }
}

#content{ padding-top: 4.5rem; }

@media (min-width: 768px) {
	#content{ padding-top: 0rem; }
}
@media (min-width: 992px) {}
@media (min-width: 1200px) {}
header.masthead {
  padding-top: 10.5rem; padding-bottom: 6rem; text-align: center; color: var(--tm-header-txt); background-image: var(--img-header);
  background-repeat: no-repeat; background-attachment: scroll; background-position: center center; background-size: cover; position:relative;
}
header.masthead .effect{
  position:absolute; width: 100%; height: 100%; background: rgba(255, 255, 255, 0.5); backdrop-filter: blur(2px);
  height: 100%; width: 100%; top:0; left:0;
}
header.masthead > .container{ z-index: 10; position: relative; }
header.masthead a { color: var(--tm-header-color-enlace);}
header.masthead a:hover { color: var(--tm-header-color-enlace-sobre); }
header.masthead a.btn { color: var(--bs-btn-color); }
header.masthead .masthead-subheading { font-size: 1.5rem; font-style: italic; line-height: 1.5rem; margin-bottom: 25px; font-family: var(--tm-font-2); }
header.masthead .masthead-heading { font-size: 3.25rem; font-weight: 700; line-height: 3.25rem; margin-bottom: 2rem; font-family: var(--tm-font-1); }

@media (min-width: 768px) {
  header.masthead { padding-top: 17rem; padding-bottom: 12.5rem; }
  header.masthead .masthead-subheading { font-size: 2.25rem; font-style: italic; line-height: 2.25rem; margin-bottom: 2rem; }
  header.masthead .masthead-heading { font-size: 4.5rem; font-weight: 700; line-height: 4.5rem; margin-bottom: 4rem; }
}

/*galeria*/
section.galeria .galeria-item {  max-width: 26rem;  margin-left: auto;  margin-right: auto; }
section.galeria .galeria-item .galeria-link {  position: relative;  display: block;  margin: 0 auto; transition: ease-in-out 0.25s;}
section.galeria .galeria-item .galeria-link .galeria-hover {   
	display: flex;   position: absolute;  width: 100%;  height: 100%; background: transparent;  
	align-items: center;  justify-content: center;  opacity: 0.4;  transition: ease-in-out 0.25s;}
section.galeria .galeria-item .galeria-link:hover .galeria-hover {  opacity: 0.8; background: var(--tm-galeria-icon-fondo); transition: ease-in-out 0.25s; }

section.galeria .galeria-item .galeria-link .galeria-hover .galeria-hover-content {  font-size: 1.25rem;  color: var(--tm-galeria-icon); }
section.galeria .galeria-item .galeria-caption {  padding: 1.5rem;  text-align: center;  background-color: var(--tm-galeria-fondo-caption); }
section.galeria .galeria-item .galeria-caption .galeria-caption-heading {  font-size: 1.5rem;  font-family: var(--tm-font-1);  font-weight: 700;  margin-bottom: 0; }
section.galeria .galeria-item .galeria-caption .galeria-caption-subheading {  font-style: italic;  font-family: var(--tm-font-2); }
section.galeria .galeria-modal .modal-dialog {  margin: 1rem;  max-width: 100vw; }
section.galeria .galeria-modal .modal-content {  padding-top: 6rem;  padding-bottom: 6rem;  text-align: center; }
section.galeria .galeria-modal .modal-content h2 { font-size: 2rem;  line-height: 2rem;}
section.galeria .galeria-modal .modal-content p.item-intro {  font-style: italic;  margin-bottom: 2rem;  font-family: var(--tm-font-2);}
section.galeria .galeria-modal .modal-content p {  margin-bottom: 0.2rem;}
section.galeria .galeria-modal .modal-content ul.list-inline {  margin-bottom: 2rem; }
section.galeria .galeria-modal .modal-content li {  text-align:left; }
section.galeria .galeria-modal .modal-content img {  margin-bottom: 2rem; }
section.galeria .galeria-modal .close-modal {  position: absolute;  top: 1.5rem;  right: 1.5rem;  width: 3rem;  height: 3rem;  cursor: pointer;  background-color: transparent; }
section.galeria .galeria-modal .close-modal:hover {  opacity: 0.3;}

/*timeline*/
section.timeline .items {padding: 0; list-style: none; }

section.timeline .items .image h4 p { line-height: unset; }
section.timeline .items .item  { position: relative;}

section.timeline .items .item:before { position: absolute; top: 0; width: 2px;  content: "";  background-color: var(--tm-item-borde); }
section.timeline .items .item:last-child { margin-bottom: 0; }
section.timeline .items .item:after { display: table;  content: " "; }

section.timeline .items .item:after { clear: both; }
section.timeline .items .item .panel { position: relative; }
section.timeline .items .item .image { position: absolute;  z-index: 100; text-align: center; color: var(--tm-item-txt); 
											border: 7px solid var(--tm-item-borde); border-radius: 100%;  background-color: var(--tm-item-fondo); }
section.timeline .items .item .cierre { position: absolute;  z-index: 100; text-align: center; color: var(--tm-item-txt); 
											border: 7px solid var(--tm-item-borde); border-radius: 100%;  background-color: var(--tm-item-fondo); }
section.timeline .items .item .heading h4 { font-size: 15px; margin-top: 0;  color: inherit;}
section.timeline .items .item .heading h4.subheading {  text-transform: none;}
section.timeline .items .item .body ul,
section.timeline .items .item .body p {  margin-bottom: 0;}

/*medidas*/
section.timeline .items .item { min-height: 100px;  margin-bottom: 50px; }
section.timeline .items .item:before { bottom: -50px; left: 50px;}
section.timeline .items .item.sinlinea:before,
section.timeline .items .item:last-child:before { display:none !important;}
section.timeline .items .item .panel {  padding: 25px 10px 0 110px;   }
section.timeline .items .item .image { left: 0;  width: 100px;   height: 100px;   margin-left: 0; }
section.timeline .items .item .cierre { left: 0;  width: 100px;   height: 100px;   margin-left: 0; }
section.timeline .items .item .cierre h4 { font-size: 15px; line-height: 14px;  margin-top: 12px; }

section.timeline .items.medium:before { left: 60px;}
section.timeline .items.medium .item { min-height: 120px; margin-bottom: 50px;}
section.timeline .items.medium .item:before { bottom: -50px; left: 60px;}
section.timeline .items.medium .item:last-child { margin-bottom: 0;}
section.timeline .items.medium .item:last-child:before { display:none;}
section.timeline .items.medium .item .panel { padding: 25px 10px 0 130px;}
section.timeline .items.medium .item .image { left: 0;  width: 120px;   height: 120px; margin-left: 0; }
section.timeline .items.medium .item .cierre { left: 0;  width: 120px;   height: 120px; margin-left: 0; }
section.timeline .items.medium .item .cierre h4 { font-size: 10px;  line-height: 14px; margin-top: 12px; }

section.timeline .items.big:before { left: 70px;}
section.timeline .items.big .item { min-height: 140px;  margin-bottom: 50px; }
section.timeline .items.big .item:before { bottom: -50px; left: 70px;}
section.timeline .items.big .item:last-child { margin-bottom: 0;}
section.timeline .items.big .item:last-child:before { display:none;}
section.timeline .items.big .item .panel {  padding:  25px 10px 0 150px;}
section.timeline .items.big .item .image { left: 0;  width: 140px; height: 140px; margin-left: 0; }
section.timeline .items.big .item .cierre { left: 0;  width: 140px; height: 140px; margin-left: 0; }
section.timeline .items.big .item .cierre h4 { font-size: 10px;  line-height: 14px; margin-top: 12px; }

@media (min-width: 768px) {
  section.timeline .items .item { min-height: 140px; margin-bottom: 50px; }
  section.timeline .items .item:before { bottom: -50px; left: 50%;  }
  section.timeline .items .item .heading h4 { font-size: 18px;}
  section.timeline .items .item .panel { width:50%; float: left; text-align: right; padding: 30px 80px 0 10px; }
  section.timeline .items .item.inverted .panel { padding: 30px 10px 0 80px; float:right; text-align:left; }
  section.timeline .items .item .image { left: 50%; width: 140px; height: 140px; margin-left: -70px; }
  section.timeline .items .item .cierre { left: 50%; width: 140px; height: 140px; margin-left: -70px; }
  section.timeline .items .item .cierre h4 { font-size: 13px; line-height: 18px; margin-top: 16px; }
    
  section.timeline .items.medium:before { left: 50%; }
  section.timeline .items.medium .item { min-height: 180px; }
  section.timeline .items.medium .item:before { bottom: -50px; left: 50%;  }
  section.timeline .items.medium .item .panel { float: left; text-align: right; padding: 30px 110px 0 10px;}
  section.timeline .items.medium .item.inverted .panel { padding:30px 10px 0 110px; float:right; text-align:left; }
  section.timeline .items.medium .item .image { left: 50%; width: 180px; height: 180px; margin-left: -90px; }
  section.timeline .items.medium .item .cierre { left: 50%; width: 180px; height: 180px; margin-left: -90px; }
  section.timeline .items.medium .item .cierre h4 { font-size: 13px; line-height: 18px; margin-top: 16px; }
  
  section.timeline .items.big:before { left: 50%; }
  section.timeline .items.big .item { min-height: 220px; }
  section.timeline .items.big .item:before { bottom: -50px; left: 50%;  }
  section.timeline .items.big .item .panel { float: left; text-align: right; padding: 45px 135px 0 10px;}
  section.timeline .items.big .item.inverted .panel { padding:45px 10px 0 135px; float:right; text-align:left; }
  section.timeline .items.big .item .image { left: 50%; width: 220px; height: 220px; margin-left: -110px; }
  section.timeline .items.big .item .cierre { left: 50%; width: 220px; height: 220px; margin-left: -110px; }
  section.timeline .items.big .item .cierre h4 { font-size: 13px; line-height: 18px; margin-top: 16px; }
}
@media (min-width: 992px) {
  section.timeline .items .item { min-height: 150px; }
  section.timeline .items .item:before { bottom: -50px; }
  section.timeline .items .item .heading h4 { font-size: 20px;}
  section.timeline .items .item .panel { padding: 30px 85px 0 10px; }
  section.timeline .items .item.inverted .panel { padding: 30px 10px 0 85px;}
  section.timeline .items .item .image { width: 150px; height: 150px; margin-left: -75px; }
  section.timeline .items .item .cierre { width: 150px; height: 150px; margin-left: -75px; }
  section.timeline .items .item .cierre h4 { font-size: 18px; line-height: 26px; margin-top: 30px; }

  section.timeline .items.medium .item { min-height: 220px; }
  section.timeline .items.medium .item .panel { padding: 40px 125px 0 10px; }
  section.timeline .items.medium .item.inverted .panel { padding:40px 10px 0 125px;}
  section.timeline .items.medium .item .image { width: 220px; height: 220px; margin-left: -110px; }
  section.timeline .items.medium .item .cierre { width: 220px; height: 220px; margin-left: -110px; }
  section.timeline .items.medium .item .cierre h4 { font-size: 18px; line-height: 26px; margin-top: 30px; }

  section.timeline .items.big .item { min-height: 280px; }
  section.timeline .items.big .item .panel { padding: 60px 155px 0 10px; }
  section.timeline .items.big .item.inverted .panel { padding:60px 10px 0 155px;}
  section.timeline .items.big .item .image { width: 280px; height: 280px; margin-left: -140px; }
  section.timeline .items.big .item .cierre { width: 280px; height: 280px; margin-left: -140px; }
  section.timeline .items.big .item .cierre h4 { font-size: 18px; line-height: 26px; margin-top: 30px; }
}
@media (min-width: 1200px) {
  section.timeline .items .item { min-height: 170px;  }
  section.timeline .items .item:before { bottom: -50px; }
  section.timeline .items .item .panel {  padding: 30px 95px 0 10px; }
  section.timeline .items .item.inverted .panel { padding: 30px 10px 0 95px;}
  section.timeline .items .item .image {  width: 170px; height: 170px; margin-left: -85px; }
  section.timeline .items .item .cierre {  width: 170px; height: 170px; margin-left: -85px; }
  section.timeline .items .item .cierre h4 {  margin-top: 40px; }
  
  section.timeline .items.medium .item { min-height: 240px;  }
  section.timeline .items.medium .item .panel { padding: 45px 140px 0 10px; }
  section.timeline .items.medium .item.inverted .panel { padding:45px 10px 0 140px;}
  section.timeline .items.medium .item .image { width: 240px; height: 240px; margin-left: -120px; }
  section.timeline .items.medium .item .cierre { width: 240px; height: 240px; margin-left: -120px; }
  section.timeline .items.medium .item .cierre h4 { margin-top: 70px; }
  
  section.timeline .items.big .item { min-height: 300px;  }
  section.timeline .items.big .item .panel { padding: 70px 170px 0 10px; }
  section.timeline .items.big .item.inverted .panel { padding:70px 10px 0 170px;}
  section.timeline .items.big .item .image { width: 300px; height: 300px; margin-left: -150px; }
  section.timeline .items.big .item .cierre { width: 300px; height: 300px; margin-left: -150px; }
  section.timeline .items.big .item .cierre h4 { margin-top: 90px; }
}

/*equipo*/
section.team .items .item { margin-bottom: 3rem; text-align: center;}
section.team .items .item img { width: 10rem; height: 10rem; border: 0.5rem solid var(--tm-nosotros-borde); }
section.team .items.medium .item img { width: 14rem; height: 14rem; }
section.team .items.big .item img { width: 18rem; height: 18rem; }
section.team .items .item h4 { margin-top: 1.5rem; margin-bottom: 0; }


/*Listado*/
section.listado .items .item { padding-bottom: 2rem; padding-top: 2rem; }
section.listado .items .item .img { height: 2.00rem; }
section.listado .items.medium .item .img { height: 2.75rem; }
section.listado .items.big .item .img { height: 3.75rem; }
section.listado .listado-close{ margin-top:4rem; }


/*Services*/
section.services .service .icon-bg { color: var(--tm-icon-color-bg) !important; }
section.services .service .icon { color: var(--tm-icon-color) !important; }


/*donde*/
section.donde #mapWrap{ width: 100%; height: 400px; }
section.donde .donde-item {text-align:center;}
section.donde .donde-item h4 { font-size:1.3em;}
@media (min-width: 992px) {
	section#donde .donde-item {text-align:right;}
}

section.donde h4 {}
/*
.text-muted {
    color: var(--tm-txt-secundario) !important;
}
.text-muted strong{
    color: var(--bs-body-color);
}
*/

/*contacto*/
section.contact {
  background-color: var(--tm-contacto-fondo);
  background-image: var(--img-contact);
  background-repeat: no-repeat;
  background-position: center;
  color: var(--tm-contacto-color);
}
section.contact a { color: var(--tm-contacto-color-enlace);}
section.contact a:hover { color: var(--tm-contacto-color-enlace-sobre); }
section.contact .section-heading {  color: var(--tm-contacto-cabecera-txt); }
section.contact form#contactForm .form-group { margin-bottom: 1.5rem; }
section.contact form#contactForm .form-group input,
section.contact form#contactForm .form-group textarea { padding: 1.25rem; }
section.contact form#contactForm .form-group input.form-control { height: auto; }
section.contact form#contactForm .form-group-textarea {  height: 100%; }
section.contact form#contactForm .form-group-textarea textarea { height: 100%; min-height: 10rem; }
section.contact form#contactForm .form-group-checkbox { margin-top: 20px; }
section.contact form#contactForm p.help-block { margin: 0; }
section.contact form#contactForm .form-control:focus { border-color: var(--tm-contacto-borde);  box-shadow: none; }
section.contact form#contactForm ::-webkit-input-placeholder { font-family: var(--tm-font-1); font-weight: 700; color: var(--tm-contacto-txt); }
section.contact form#contactForm :-moz-placeholder { font-family: var(--tm-font-1); font-weight: 700; color: var(--tm-contacto-txt); }
section.contact form#contactForm ::-moz-placeholder { font-family: var(--tm-font-1); font-weight: 700; color: var(--tm-contacto-txt); }
section.contact form#contactForm :-ms-input-placeholder { font-family: var(--tm-font-1); font-weight: 700; color: var(--tm-contacto-txt); }
section.contact .section-subheading {color:#ffffff;}
section.contact .textolegal{ margin-top:1.5rem; }



.footer { border-top: var(--tm-linea) solid 1px; text-align: center; font-size: 0.9rem; font-family: var(--tm-font-1); }
div#content:has(header.masthead) { margin-top: 0px;}
