.titulo-h1 {
	font-size: var(--font-h1-font-size);
	text-decoration: var(--font-h1-text-decoration);
	font-family: var(--font-h1-font-family);
	font-weight: var(--font-h1-font-weight);
	font-style: var(--font-h1-font-style);
	font-stretch: var(--font-h1-font-stretch);
	letter-spacing: var(--font-h1-letter-spacing);
	line-height: var(--font-h1-line-height);
	text-indent: var(--font-h1-paragraph-indent);
}

.titulo-h2 {
	font-size: var(--font-h2-font-size);
	text-decoration: var(--font-h2-text-decoration);
	font-family: var(--font-h2-font-family);
	font-weight: var(--font-h2-font-weight);
	font-style: var(--font-h2-font-style);
	font-stretch: var(--font-h2-font-stretch);
	letter-spacing: var(--font-h2-letter-spacing);
	line-height: var(--font-h2-line-height);
	text-indent: var(--font-h2-paragraph-indent);
}

.titulo-h3 {
	font-size: var(--font-h3-font-size);
	text-decoration: var(--font-h3-text-decoration);
	font-family: var(--font-h3-font-family);
	font-weight: var(--font-h3-font-weight);
	font-style: var(--font-h3-font-style);
	font-stretch: var(--font-h3-font-stretch);
	letter-spacing: var(--font-h3-letter-spacing);
	line-height: var(--font-h3-line-height);
	text-indent: var(--font-h3-paragraph-indent);
}

.titulo-h4 {
	font-size: var(--font-h4-font-size);
	text-decoration: var(--font-h4-text-decoration);
	font-family: var(--font-h4-font-family);
	font-weight: var(--font-h4-font-weight);
	font-style: var(--font-h4-font-style);
	font-stretch: var(--font-h4-font-stretch);
	letter-spacing: var(--font-h4-letter-spacing);
	line-height: var(--font-h4-line-height);
	text-indent: var(--font-h4-paragraph-indent);
}

.titulo-h5 {
	font-size: var(--font-h5-font-size);
	text-decoration: var(--font-h5-text-decoration);
	font-family: var(--font-h5-font-family);
	font-weight: var(--font-h5-font-weight);
	font-style: var(--font-h5-font-style);
	font-stretch: var(--font-h5-font-stretch);
	letter-spacing: var(--font-h5-letter-spacing);
	line-height: var(--font-h5-line-height);
	text-indent: var(--font-h5-paragraph-indent);
}

.titulo-h6 {
	font-size: var(--font-h6-font-size);
	text-decoration: var(--font-h6-text-decoration);
	font-family: var(--font-h6-font-family);
	font-weight: var(--font-h6-font-weight);
	font-style: var(--font-h6-font-style);
	font-stretch: var(--font-h6-font-stretch);
	letter-spacing: var(--font-h6-letter-spacing);
	line-height: var(--font-h6-line-height);
	text-indent: var(--font-h6-paragraph-indent);
}

.texto-body {
	font-size: var(--font-body-font-size);
	text-decoration: var(--font-body-text-decoration);
	font-family: var(--font-body-font-family);
	font-weight: var(--font-body-font-weight);
	font-style: var(--font-body-font-style);
	font-stretch: var(--font-body-font-stretch);
	letter-spacing: var(--font-body-letter-spacing);
	line-height: var(--font-body-line-height);
	text-indent: var(--font-body-paragraph-indent);
}

.texto-small {
	font-size: var(--font-small-font-size);
	text-decoration: var(--font-small-text-decoration);
	font-family: var(--font-small-font-family);
	font-weight: var(--font-small-font-weight);
	font-style: var(--font-small-font-style);
	font-stretch: var(--font-small-font-stretch);
	letter-spacing: var(--font-small-letter-spacing);
	line-height: var(--font-small-line-height);
	text-indent: var(--font-small-paragraph-indent);
}

.texto-legend {
	font-size: var(--font-legend-font-size);
	text-decoration: var(--font-legend-text-decoration);
	font-family: var(--font-legend-font-family);
	font-weight: var(--font-legend-font-weight);
	font-style: var(--font-legend-font-style);
	font-stretch: var(--font-legend-font-stretch);
	letter-spacing: var(--font-legend-letter-spacing);
	line-height: var(--font-legend-line-height);
	text-indent: var(--font-legend-paragraph-indent);
}

/* Backgrounds colors */
.bg-azul-primario-base {
	background: var(--color-azul-100);
}

.bg-azul-primario-medio {
	background: var(--color-azul-80);
}

.bg-azul-primario-suave {
	background: var(--color-azul-60);
}

.bg-azul-secundario-base {
	background: var(--color-azul-secundario-100);
}

.bg-azul-secundario-medio {
	background: var(--color-azul-secundario-80);
}

.bg-azul-secundario-suave {
	background: var(--color-azul-secundario-60);
}

.bg-verde-base {
	background: var(--color-verde-100);
}

.bg-verde-medio {
	background: var(--color-verde-80);
}

.bg-verde-suave {
	background: var(--color-verde-60);
}

.bg-naranjas-base {
	background: var(--color-naranjas-100);
}

.bg-naranjas-medio {
	background: var(--color-naranjas-80);
}

.bg-naranjas-suave {
	background: var(--color-naranjas-60);
}

.bg-gris-principal {
	background: var(--color-textos-principal);
}

.bg-gris-secundario {
	background: var(--color-textos-secundario);
}

.bg-blanco {
	background: var(--color-textos-blanco);
}

.bg-elementos {
	background: var(--color-elementos-lineas);
}

/* Text colors */
.texto-azul-primario-base {
	color: var(--color-azul-100);
}

.texto-azul-primario-medio {
	color: var(--color-azul-80);
}

.texto-azul-primario-suave {
	color: var(--color-azul-60);
}

.texto-azul-secundario-base {
	color: var(--color-azul-secundario-100);
}

.texto-azul-secundario-medio {
	color: var(--color-azul-secundario-80);
}

.texto-azul-secundario-suave {
	color: var(--color-azul-secundario-60);
}

.texto-verde-base {
	color: var(--color-verde-100);
}

.texto-verde-medio {
	color: var(--color-verde-80);
}

.texto-verde-suave {
	color: var(--color-verde-60);
}

.texto-naranja-base {
	color: var(--color-naranjas-100);
}

.texto-naranja-medio {
	color: var(--color-naranjas-80);
}

.texto-naranja-suave {
	color: var(--color-naranjas-60);
}

.texto-gris-principal {
	color: var(--color-textos-principal);
}

.texto-gris-secundario {
	color: var(--color-textos-secundario);
}

.texto-blanco, .texto-blanco:hover {
	color: var(--color-textos-blanco);
}

.texto-elementos {
	color: var(--color-elementos-lineas);
}

.boton {
	border-radius: var(--radius-5-radius);
	padding: var(--spacing-10-top);
	box-shadow: var(--effect-sombra-offset-x) var(--effect-sombra-offset-y) var(--effect-sombra-radius)var(--effect-sombra-color);
	position:relative;
	transition: 1s;
	display: inline-block;
}

.boton:hover {
	text-decoration: none;
	opacity: 1;
}

.boton:after {
	content: "";
	border-radius: var(--radius-5-radius);
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
	position: absolute;
	background: #fff;	
	opacity: 0;
	transition: opacity 1s ease;
}

.boton:hover:after {
	opacity: 0.3;
}

a.link:hover {
	opacity: 0.7;
	transition: opacity 0.6s ease;
}

/* radio */

.radio-box {
	border-radius: var(--radii-box-radius);
}

.hr {
	border-top: 1px solid var(--color-azul-60);
	margin: var(--sizes-40) 0px;
}

#header {
	/*overflow: hidden;*/
}

#header.interior {
	position: absolute;
}

.cabecera_interior {
	background-image: url(../assets/images/generic.jpg);
	background-size: cover;
	backgrouns-repeat: no-repeat;
	padding: 180px 0px 40px;
	border-bottom: 8px solid var(--color-azul-secundario-60);
}

.cabecera_interior.proyectos {
	background-image: url(../assets/images/interior.png);
}

.cabecera_interior.nacional {
	background-image: url(../assets/images/nacional_header.png);
}

.cabecera_interior.otri {
	background-image: url(../assets/images/otri_header.png);
}

.badge {
	white-space: initial !important;
}

body, p {
	font-size: var(--font-body-font-size);
	text-decoration: var(--font-body-text-decoration);
	font-family: var(--font-body-font-family);
	font-weight: var(--font-body-font-weight);
	font-style: var(--font-body-font-style);
	font-stretch: var(--font-body-font-stretch);
	letter-spacing: var(--font-body-letter-spacing);
	line-height: var(--font-body-line-height);
	text-indent: var(--font-body-paragraph-indent);
	color: var(--color-textos-principal);
}

body {
	background-color: #f8f9ff;
}

a {
    color: var(--color-azul-secundario-100);	
}

a:hover {
    color: var(--color-azul-secundario-60);
    text-decoration: none;	
}

.page-item.active .page-link {
    background-color: var(--color-azul-secundario-100);
    border-color: var(--color-azul-secundario-100);
}

.list-group-item.active {
    background-color: var(--color-azul-secundario-100);
    border-color: var(--color-azul-secundario-100);
}

footer {
	position: relative;
}

footer.interior {
	border-top: 8px solid var(--color-azul-secundario-60);	
	padding-top: 60px;
}

.separador {
	position: relative;
	height: 145px;
	overflow: hidden;
}

.shape {
  background-size: cover;
  position: absolute;
  left: 0px;
  top: 0px;
  z-index: -1;
  height: 600px;
  width: 100%;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 60%, 0 100%);
  clip-path: polygon(0 0, 100% 0, 100% 60%, 0 100%);  
}

.shape2 {
  background-size: cover;
  position: absolute;
  z-index: -1;
  height: 160px;
  width: 100%;
  -webkit-clip-path: polygon(0 100%, 100% 0%, 100% 100%, 0% 100%);
  clip-path: polygon(0 90%, 100% 0%, 100% 100%, 0% 100%);  
}

table.dataTable>thead .sorting:after, table.dataTable>thead .sorting_asc:after, table.dataTable>thead .sorting_desc:after, table.dataTable>thead .sorting_asc_disabled:after, table.dataTable>thead .sorting_desc_disabled:after ,
table.dataTable>thead .sorting:before, table.dataTable>thead .sorting_asc:before, table.dataTable>thead .sorting_desc:before, table.dataTable>thead .sorting_asc_disabled:before, table.dataTable>thead .sorting_desc_disabled:before
{
	font-family: "Font Awesome 6 Free";
    content: "\f0dc";
    right: 0.5em !important;
}


html{scroll-behavior:smooth}

          #scroll-up {
            position: fixed;
            bottom: 40px;
            right: 40px;
            width: 40px;
            height: 40px;
            opacity: 0.6;
            z-index: 90; 
            color: #607D8B;
            cursor: pointer;
            font-size: 20px;
            padding-top: 10px;
            text-align: center;
            border-radius: 55px;
            background-color: #ccc;
            transition: all 1s ease-out;
            transition: all 1s ease-out;
            i {
              font-size: 25px;
              color: darkseagreen;
            }
          }
          #scroll-up:hover {
          	opacity: 0.8;	
          }

/* Contenidos */
/* WEB  COMPONENTS */

.bloque {
	text-align: center;
	border-radius: var(--radii-box-radius);
	background-repeat:  no-repeat;
	background-size: cover;
	overflow: hidden;
	 display: table;
	 width: 100%;
}

 .bloque a {
    position: relative;
    display: table-cell; 
	color: #fff;
	background-color: rgba(0, 0, 0, 0.2);
	padding: 20px !important;
	transition: 1s ease;
	font-weight: bold;
 }

 .bloque a:hover {
	text-decoration: none;
	background-color: rgba(0,0, 0, 0.6);
 }

 .bloque a img{
    max-height: 90px;
    height: 90px;
    margin-bottom: 20px;
 }
 
 ul.migas  {
    -moz-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);	
}
 
 ul.migas  > li {
    -moz-transform: rotate(-180deg);
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
    display: inline-block;
}

/* Acordeón */

.accordion.card a {
  border: 0;
  -webkit-box-shadow: 0 0 20px 0 rgba(213, 213, 213, 0.5);
          box-shadow: 0 0 20px 0 rgba(213, 213, 213, 0.5);
  border-radius: 2px;
  padding: 0;
}

.accordion h6 a {
  display: block;
  text-align: left;
  background: var(--color-azul-60);
  color: #fff;
  padding: 20px;
  font-weight: bold;
}

.accordion-heading button:hover, .accordion-heading button:active, .accordion-heading:focus, .accordion:focus, .accordion-heading button:focus {
	text-decoration: none;
}

.accordion-heading button:before {
	font-family: 'FontAwesome';
    content: "\f0d8";   
	margin-right: 10px;
}

.accordion-heading button.collapsed:before {
    content: "\f0dd";
}

.table-borderless > tbody > tr > td,
.table-borderless > tbody > tr > th,
.table-borderless > tfoot > tr > td,
.table-borderless > tfoot > tr > th,
.table-borderless > thead > tr > td,
.table-borderless > thead > tr > th,
.table-borderless >  tr > td  {
    border: none;
}

.accordion h6 a:after {
  content: "\f106";
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  float: right;
}

.accordion h6 a.collapsed {
  background: var(--color-azul-100);
  color: #fff;
}

.accordion h6 a.collapsed:after {
  content: "\f107";
}

.accordion  .card-body a {
	color: #fff ;
}

.accordion  .card-body a:hover {
	opacity: 0.7;
}

.accordion .collapsing {
  background: var(--color-azul-60);
  line-height: 30px;
}

.accordion .collapse {
  border: 0;
}

.accordion .collapse.show {
  background: var(--color-azul-60);
  line-height: 30px;
  color: #222;
}

.accordion  ul {
	list-style: none;
}

.accordion ul li::before {
  content: "\2022";  /* Add content: \2022 is the CSS Code/unicode for a bullet */
  color: #fff; /* Change the color */
  font-weight: bold; /* If you want it to be bold */
  display: inline-block; /* Needed to add space between the bullet and the text */
  width: 1em; /* Also needed for space (tweak if needed) */
  margin-left: -1em; /* Also needed for space (tweak if needed) */
}

canvas {
	max-width: 100%;
}

canvas {
	max-width: 100%;
}

.tintado {
  -webkit-filter:  grayscale(100%) sepia(50%) hue-rotate(180deg) saturate(500%);
  filter: grayscale(100%)  sepia(50%) hue-rotate(180deg) saturate(500%);
}

.giro > * {
	transform: rotate(-5deg);
}

.carousel  img {
	max-width: 100%;
}

.resumen .thumbnail {
	max-width: 120px;
	margin: 10px;
}

.card.resumen td {
	vertical-align: middle;
}

.card-body.noticias p a{
	margin-top: 15px;
	display: block;
}

.card-body.noticias p {
	padding: 0px;
	margin: 0px;
}

.flex-container {
    display: flex;
}

.flex-container div {
	  flex: 1 1 0;
	  width: 0;
	  margin: 10px;
	  text-align: center;
	  height: 120px;
}

.flex-container img{
    max-width: 100%;
    max-height: 100%;
}

.card-img-top {
    width: 100%;
    height: 200px;
    object-fit: cover;
    object-position: center top;
}

.rompelinea {
	height: 1px !important;
	margin-top: 10px !important;
	margin-bottom: 10px !important;
}

.vStiny  p, .tSect{
	font-weight: bold !important;
}

.grid-item { 
	width: calc((100% - 40px)/3);  
	margin-bottom: 20px; 
}

.grid-item-dos {
	width: calc((100% - 20px)/2);  
	margin-bottom: 20px;	
}


@media (max-width: 768px) {
	.grid-item { 
		width: calc((100% - 20px)/2);  
	}	
	
	.grid-item-dos {
		width: calc((100% - 20px));
	}
	
}

@media (max-width: 576px) {
	.grid-item { 
		width: calc((100% - 20px));  
	}
	
	.grid-item-dos {
		width: calc((100% - 20px));
	}	
		
}

