/* Theme base styles */

/* Tools
Any animations, or functions used throughout the project.
Note: _macros.css needs to be imported into each stylesheet where macros are used and not included here
*/

/* Generic
This is where reset, normalize & box-sizing styles go.
*/





*, *:before, *:after {
  box-sizing: border-box;
}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * Add the correct box sizing in Firefox.
 */

hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Remove the inheritance of text transform in Edge and Firefox.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers.
 */

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}
/* @import url('http://example.com/example_style.css'); */

/***********************************************/
/* CSS @imports must be at the top of the file */
/* Add them above this section                 */
/***********************************************/

/*****************************************/
/* Start your style declarations here    */
/*****************************************/

 
 





 








/* Colores nuevos */


  
  




/* corporativos */
.azul{background: #2FC8D3 ;}
.rosa{background:#FF007E !important;}
.amarillo{background: #fbc101;}
.blanco, #taco-blanco{background: #ffffff ;}

/* grises */
.gris-claro{background:0 ;} /* Iconos de fondo */
.gris-claro-taco, .formulario{background:#F7F7F7 ;} /* Fondo web, formulario */
.gris-medio{background:0 ;} /* Tipografia general */
.gris-oscuro{background: #585858 ;}

.f-azul-oscuro{
  background: #2E3A4F;
}
/* @import url('http://example.com/example_style.css'); */

/***********************************************/
/* CSS @imports must be at the top of the file */
/* Add them above this section                 */
/***********************************************/

/*****************************************/
/* Start your style declarations here    */
/*****************************************/

@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.8.1/font/bootstrap-icons.css");

@import url('https://fonts.googleapis.com/css?family=Bitter:wght@300;400;700;800&display=swap|Open+Sans:300,400,400i,700,800');
@import url('https://fonts.googleapis.com/css2?family=Amatic+SC:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Amatic+SC:wght@400;700&family=Cinzel&family=EB+Garamond:ital@1&family=Secular+One&display=swap'); 

@import url('https://cdn-uicons.flaticon.com/uicons-solid-straight/css/uicons-solid-straight.css');
@import url('https://cdn-uicons.flaticon.com/uicons-solid-rounded/css/uicons-solid-rounded.css');
@import url('https://cdn-uicons.flaticon.com/uicons-regular-rounded/css/uicons-regular-rounded.css');






/* Objects
Non-cosmetic design patterns including grid and layout classes)
*/



/* CSS variables */

:root {
  --column-gap: 2.13%;
  --column-width-multiplier: 8.333;
}

* {padding:0; margin:0;}
html {font-size:16px;}
body {font-family: 'Open Sans', sans-serif !important; font-size:16px; color:#02112A !important;}
.main{max-width:1400px; margin:0 auto !important;text-align:inherit;padding:150px 25px;float: none !important;}
.main-p{max-width:1200px; margin:0 auto !important;text-align:inherit;padding:50px 25px;float: none !important;}

.main-pq{max-width:1000px; margin:0 auto !important;text-align:inherit;padding:50px 10px;float: none !important;}

.estrecho{
  max-width:1000px; margin:0 auto !important;text-align:inherit;padding:150px 10px;float: none !important;
}

.body-container{padding:0 !important;}

.separador{
  height: 4px;
  margin: 5% 0;
  background: transparent;} 
.centrado{text-align:center;}

body.pag-interior{background:#ffffff !important;padding:0;}




/* Grid */

.grid-2.col-right-auto{
  display:grid;
  grid-template-columns: 1fr auto;
  align-items:center;
}




/* Mobile layout */

.row-fluid {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}


  .row-fluid .span1,
  .row-fluid .span2,
  .row-fluid .span3,
  .row-fluid .span4,
  .row-fluid .span5,
  .row-fluid .span6,
  .row-fluid .span7,
  .row-fluid .span8,
  .row-fluid .span9,
  .row-fluid .span10,
  .row-fluid .span11,
  .row-fluid .span12{
  min-height: 1px;
  width: 100%;
}

/* Desktop layout */

@media (min-width: 768px) {
  .row-fluid {
    flex-wrap: nowrap;
    justify-content: space-between;
  }

  
    .row-fluid .span1 {
      width: calc(var(--column-width-multiplier) * 1% * 1 - var(--column-gap) * (11 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span2 {
      width: calc(var(--column-width-multiplier) * 1% * 2 - var(--column-gap) * (10 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span3 {
      width: calc(var(--column-width-multiplier) * 1% * 3 - var(--column-gap) * (9 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span4 {
      width: calc(var(--column-width-multiplier) * 1% * 4 - var(--column-gap) * (8 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span5 {
      width: calc(var(--column-width-multiplier) * 1% * 5 - var(--column-gap) * (7 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span6 {
      width: calc(var(--column-width-multiplier) * 1% * 6 - var(--column-gap) * (6 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span7 {
      width: calc(var(--column-width-multiplier) * 1% * 7 - var(--column-gap) * (5 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span8 {
      width: calc(var(--column-width-multiplier) * 1% * 8 - var(--column-gap) * (4 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span9 {
      width: calc(var(--column-width-multiplier) * 1% * 9 - var(--column-gap) * (3 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span10 {
      width: calc(var(--column-width-multiplier) * 1% * 10 - var(--column-gap) * (2 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span11 {
      width: calc(var(--column-width-multiplier) * 1% * 11 - var(--column-gap) * (1 * var(--column-width-multiplier) / 100));
    }
  
}
.content-wrapper {
  margin: 0 auto;
  padding: 0 1rem;
}


@media screen and (min-width: 1380px) {
  .content-wrapper {
    padding: 0;
  }
}

.dnd-section > .row-fluid {
  margin: 0 auto;
}

.dnd-section .dnd-column {
  padding: 0 1rem;
}

@media (max-width: 767px) {
  .dnd-section .dnd-column {
    padding: 0;
  }
}
/* @import url('http://example.com/example_style.css'); */

/***********************************************/
/* CSS @imports must be at the top of the file */
/* Add them above this section                 */
/***********************************************/

/*****************************************/
/* Start your style declarations here    */
/*****************************************/



#cabecera{
/*   background: url(https://tiralineas.digital/hubfs/WEB-nueva/textura-cabecera.jpg);
  background-repeat:no-repeat;
  background-size:auto; */
  position:relative; 
  height:500px;  
  overflow:hidden; 
} 
.pag-home #cabecera{

/*   background: #2FC8D3; */
  background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);    
	background-size: 400% 400%; 
	animation: gradient 10s ease infinite; 
/* 	height: 100vh; */ 
}
 @keyframes gradient {
	0% {
		background-position: 0% 50%;
	}
  15%{
    background-position: 0% 50%;
  }
	50% {
		background-position: 100% 50%;
	} 
  100% {
		background-position: 0% 50%;
	}
	85% { 
		background-position: 0% 50%;
	} 
} 



.pag-home #cabecera_home .curva-l-blanco .svg1, #taco-onda .curva-l-blanco .svg1{  
  height: 80vh !important;
   
}
#taco-onda{position:relative;}
#taco-onda .curva-l-blanco .svg1{ 
  z-index:0;
  transform: rotate(360deg);
  margin-top: -50px; 
} 
.pag-home #cabecera_home{padding:20px 0px;}

.pag-home #cabecera_home h1{font-size:80px;margin-bottom:60px;color: #ffffff !important;font-family: 'Open Sans', sans-serif !important;font-weight:bold;}

.pag-home #cabecera_home h2{
  font-size: 32px !important;
  font-weight:400;
  color: #ffffff !important;
  font-family: 'Open Sans', sans-serif
}
.pag-home #cabecera_home h2 strong{font-family: 'Bitter', san-serif; font-weight:900;}

.pag-home #cabecera_home p{
  font-size:26px !important;
  color: #ffffff !important;
  
}
.pag-home #cabecera_home p span{
  font-family: 'Bitter', san-serif; font-weight:900;margin-right:30px;font-size:26px !important;
}
.pag-home #cabecera_home p i{;margin-left:5px; }

#cabecera img.gif{
  position:absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 550px;
   
}
#cabecera .texto{
  position:absolute; top:0;
  color:#ffffff !important;
  z-index: 1;
  max-width: 1400px;
  left: 50%;
  top: 50%;transform: translate(-50%, -50%); 
  padding-left:15px;
}
/* #cabecera img{
  max-width:600px;
} */

.pag-home #cabecera_home img{
  position: relative;
  animation-name: mouseScroll;
  animation-duration: 1.3s;
  animation-iteration-count: infinite; 
} 



/* CABECERA NUEVA 1 COLUMAN SIN IMAGEN */




/* .menu-grande li.con_hijos > a:after, .menu-grande li.idiomas > a:after{
  content: '+';   
} */ 

@keyframes mouseScroll {
  0%   {top:0px;}
  50%  {top:15px;}
  100% {top:0px;}
}

.nivel1 #cabecera{
  height: inherit;
  overflow: inherit;
  margin-bottom: 50px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  
}

/* CABECERA NUEVA 1 COLUMAN SIN IMAGEN */

.nivel1 #cabecera.sin-imagen{ 
  grid-template-columns: 1fr !important; 
  max-width: 1200px; 
}

/*--------------------------------------*/


.nivel1 #cabecera .imagen-principal{ 
  max-width:600px;
  margin: 0 auto !important;
  text-align:center;
  width: 100% !important;
  height:auto;
}
.nivel1 #cabecera img{ 
  position:inherit;
  overflow:inherit;
}

.img-principal{
  position:relative;
} 
.img-principal img{ 
  max-width:inherit !important;
     height: auto;
    object-fit: cover;

}
.img-principal .date{
    position: absolute;
  background: #2FC8D3;
    font-size: 12px;
    color: #fff;
    padding: 7px 10px;
    top: 0;
    margin-bottom: 0 !important;
    padding-bottom: 7px !important;
    right: 0; 
    border-radius: 0 0 0 10px;

}

#f-gris-claro{background: #FBFBFB; }
.taco-blanco, #taco-blanco{
  background: #ffffff; 
}


 
h2, .cab-seccion h2, .loop-relacionados-interior h2{
  font-family: 'Bitter', san-serif;
  font-size:40px !important;
  font-weight:400;
}

.pag-home #cabecera_home .main{ 
/*   position: absolute;
  padding: 0; 
  top: 50%; 
  left: 50%;
  transform: translate(-50%, -50%); */
  padding: 50px;
}



@media all and (max-width: 1300px) {
 
   .pag-home #cabecera_home h2 {
      font-size: 32px !important;
      line-height: 42px !important;
      padding-bottom: 10px !important;
  }
}     
@media all and (max-width: 1200px) {
   .pag-home #cabecera_home h2 {
 
    line-height: 40px !important;
    padding-bottom: 10px !important;
  }
  .pag-home #cabecera_home h2 {
      font-size: 28px !important;
      line-height: 38px !important;
  }
  .pag-home #cabecera_home p {
    font-size: 22px;
  }
  .pag-home #cabecera_home .main{
    padding:0px 20px;
  }
}




/* -------------------------------------------------------------------- */
/* RESPONSIVE */
/* -------------------------------------------------------------------- */


@media all and (max-width: 992px) {


  .pag-home #cabecera_home h1 {
    font-size: 50px !important;
    line-height: 60px !important;
  }
  .pag-home #cabecera_home h2 {
    font-size: 24px !important;
    line-height: 34px !important;
    padding-bottom: 10px !important;
  }
  .pag-home #cabecera_home p {
    font-size: 20px;
  }
  
}  

@media all and (max-width: 767px) {

  #cabecera_home .main{width:100% !important}
  .pag-home #cabecera_home h1 {
    font-size: 40px !important;
    line-height: 50px !important;
    margin-bottom:10px;
  }
  .pag-home #cabecera_home h2 {
    font-size: 21px !important;
    line-height: 31px !important;
  }
   .destacadosHome .d-block {
    text-align: center;
    max-width: 500px;
    margin: 0 auto;
    margin-bottom: 30px;   
  } 

}

@media all and (max-width: 575px) {
  .pag-home #cabecera_home img{
    width:50px !important;
  }
  .pag-home #cabecera_home {
    padding: 0px;
  }

  .pag-home #cabecera_home .main {
      position: relative; 
      padding: 0;
      top:inherit;
      left:inherit;
      transform: inherit;
  }
}

/* Elements
Base HTML elements are styled in this section (<body>, <h1>, <a>, <p>, <button> etc.)
*/

/* The overflow-wrap is meant to prevent long/large words from breaking the mobile responsiveness of a page (e.g. horizontal scrolling). It is preferred to reduce font sizes on mobile to address this, with this CSS specifically helping with extreme scenarios where a reduction in font size is not possible. */

body {
  line-height: 1.4;
  overflow-wrap: break-word;
  font-family: 'Open Sans', sans-serif !important;
  color: #02112A;
}

/* Handles word breaking for a few specific languages which handle breaks in words differently. If your content is not translated into these languages, you can safely remove this.  */

html[lang^="ja"] body,
html[lang^="zh"] body,
html[lang^="ko"] body {
  line-break: strict;
  overflow-wrap: normal;
  word-break: break-all;
}

/* Paragraphs */

p, a, li, span {
  line-height:normal;
  
  font-family: 'Open Sans', sans-serif !important;
}

/* Anchors */

a {
  cursor: pointer;
}

/* Headings */

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 1.4rem;
  color:#02112A;
}
.pag-home #cabecera_home h1{font-size:80px;margin-bottom:30px;color: #2FC8D3;}

/* Lists */

ul,
ol {
  margin: 0 0 1.4rem;
}

ul ul,
ol ul,
ul ol,
ol ol {
  margin: 0;
}

ul.no-list {
  list-style: none;
  margin: 0;
  padding-left: 0; 
}

/* Code blocks */

pre {
  overflow: auto;
}

code {
  vertical-align: bottom;
}

/* Blockquotes */

blockquote {
  border-left: 2px solid;
  margin: 0 0 1.4rem;
  padding-left: 0.7rem;
}

/* Horizontal rules */

hr {
  border: none;
  border-bottom: 1px solid #CCC;
}

/* Image alt text */

img {
  font-size: 0.583rem;
  word-break: normal;
}

p{
  font-size:16px;
  padding-bottom:15px !important;
  margin:0 !important;
  color:#02112A; 
}
a{text-decoration:none !important;}
h1, h2, h3, h4{}
h1 {font-size: 60px !important; font-weight: 900 !important; line-height: 72px !important; font-family: 'Open Sans', sans-serif !important; } 
h2 {font-size:40px !important; text-transform: inherit; font-weight: 700; letter-spacing: 1px; line-height: 50px;text-align:center;}
h3{font-size: 24px !important;font-weight:600 !important;padding: 20px 0;line-height:33px;}
h4{font-size: 22px !important;font-weight:600 !important;padding: 20px 0;line-height:33px;font-family: 'Bitter', san-serif; }

h1.h1-pq{
  font-size:55px !important;
  margin-bottom:20px;
}

.negrita{font-weight:600 !important;}
.centrado{text-align:center;}

.titulo-principal p, p.grande{
  font-size:25px;
  line-height:34px;
}
.titulo-principal p{
  font-size:25px;
  line-height:34px;
  font-family: 'Bitter', san-serif;
}
.titulo-principal p{ width:90%;}

.titulo-left{
  text-align:left !important;
}

.ta-texto p{
  color: #fff;
  font-size: 60px;
  line-height: 72px; 
}
.text-especial h2{
  font-size:40px;
}
.text-especial strong{
  font-family: 'Biter' !important;
  font-weight:700;
}

.text-especial .grande{
  font-size:50px !important;
  font-family: 'Biter' !important;
  font-weight:700;
}
.bitter, .bitter span{
  font-family: 'Bitter', san-serif !important;font-weight:400 !important;
}





@media all and (max-width: 992px) {
  h2, .formulario h2, .loop-proy-pag h2{font-size:28px !important; line-height:39px !important;}
}

@media all and (max-width: 575px) {
   .formulario h2, .loop-proy-pag h2, h2 {
      font-size: 25px!important;
      line-height: 36px!important;
      font-weight: 700;
  }
}
/* button,
.button,
.hs-button {
  cursor: pointer;
  display: inline-block;
  text-align: center;
  transition: all 0.15s linear;
  white-space: normal;
}

button:disabled,
.button:disabled,
.hs-button:disabled {
  background-color: #D0D0D0;
  border-color: #D0D0D0;
  color: #E6E6E6;
} */


/* .boton, a.cta_button.rosa, .boton.gris-claro-taco, .hs-cta-wrapper a { */
.boton, a.cta_button.rosa, .boton.gris-claro-taco, .hs-cta-wrapper a, .boton.rosa, .boton.azul-marino a, .dropdown a.btn, .proyectos-content__texto a.boton{ 
  padding: 6px 25px !important;
  border-radius:50px !important;
  margin:20px 0px !important;
  display:inline-block; 
  font-size:16px!important; 
  width:auto !important;
  transition: 0.2s;
  font-size:16px !important;
  line-height:28px !important; 
}
a.cta_button.rosa{line-height: 24px !important;}
.boton.blanco{font-size:16px;border: 1px solid #e8e8e8;}
/* a.cta_button.rosa,  .hs-cta-wrapper a{padding:inherit !important;} */

.boton a{color:#585858;text-decoration:none;}
.boton.azul-oscuro{
  background: #1B7C84; 
}
.boton.azul-marino a, .dropdown a.btn{ 
  background: #02112A !important; 
}
.boton.btn-gris {
  background: #e8e8e8; 
}

.boton.rosa a, 
.boton.azul a, 
.boton.azul-oscuro a,
.hs-cta-wrapper:hover a,
.boton.azul-marino a, 
.dropdown a.btn,
.proyectos-content__texto a.boton
{
  color: #ffffff !important; 
}

a.hs-button, .hs-button {line-height: 1.8em;}

.boton.blanco:hover a, 
.boton.gris-claro-taco:hover a, 
.btn-gris:hover a{
  color:  #585858  !important;
} 

.boton.blanco:hover, 
.boton.gris-claro-taco:hover, 
.btn-gris:hover{
  background: #EFEFEF !important; 
}

.boton.azul-oscuro:hover{
  background: #2FC8D3 !important;
}
.boton.rosa:hover,
.hs-cta-wrapper:hover a, 
.proyectos-content__texto a.boton:hover{
  background: #fd65b0 !important;
}
.boton.rosa i{
  margin-right: 5px; color: white !important;
}

/* .boton.rosa:hover, .boton.blanco:hover, .boton.gris-claro-taco:hover{background:transparent !important } */ 

/* .boton.rosa:hover {color: #FF007E;} */
.ta-texto .boton.blanco, .boton.azul{border:none !important;display:inline-block !important;} 


/* .hs_cos_wrapper{margin:20px 0px !important;display:inline-block !important;}  */ 
.hs-cta-wrapper > .hs-cta-node > a{margin:20px 0px !important;}
.hs-cta-wrapper > .hs-cta-node > a.cta_button > div{padding-top:5px !important;padding-bottom:5px !important;} 

button, .button, .hs-button, .hs-blog-post-listing__post-button{
    border: 0 !important;
    padding: 0 !important;
    background: transparent !important;;
}
#header .boton, #header a.cta_button.rosa{
  margin:0 !important;
}
#header .idiomas{
    padding-right: 15px;
    padding-left: 0;
}
.proyectos-content__texto a.boton{background: #FF007E}

.cta_button.blanco i, .boton.blanco i{
  color:#585858 !important; margin-right:8px; 
}
.cta_button.blanco:hover i, .boton.blanco:hover i{
  color:#585858 !important;
}

.main-p._loop > div , .main._loop > div{overflow:hidden;}


.btn-gris a{color: #585858;}
.btn-gris:hover {
  background: #EFEFEF;
  color: #585858;
  padding: 5px 20px;
  border-radius:50px;
}


.boton-flecha, .boton-flecha-azul{
  display:flex;
  width:100%;
  justify-content: flex-end;
  text-decoration:none;
  color: #02112A !important;
  gap: 22px;
  align-items: center;
  font-weight: bold;
  transition: 0.2s;
}
.boton-flecha:hover {
  color: #FF007E !important;;
  font-weight: bold;
  text-decoration:none;
  gap: 10px;
}

.boton-flecha i, .boton-flecha-azul i{
  background: #FF007E;
  padding: 3px 5px;
  border-radius: 50px;
  color: #fff;
  font-weight: 700;
  font-size: 14px !important;
  transition:0.3s;
}
.boton-flecha-azul i{ background: #02112A !important;}

.boton-header{margin-left:20px;}
.boton-header .interactive-button > p{font-size: 14px !important;padding: 8px 20px !important;}

/* No button */

.no-button,
.no-button:hover,
.no-button:focus,
.no-button:active {
  background: none;
  border: none;
  border-radius: 0;
  color: initial;
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  margin-bottom: 0;
  padding: 0;
  text-align: left;
  text-decoration: none;
  transition: none;
}
#formulario-contacto .contenido{
  display:grid;
  grid-template-columns: 1fr 1fr; 
  gap:50px;
  align-items:center;
}
#formulario-contacto .texto{
  padding: 0 10% !important;;
}

#formulario-contacto .contenido h4{
  text-align: left; 
  font-size: 48px !important; 
  font-weight: bold !important;
  line-height: 52px !important;
  font-family: 'Open sans';
  margin-bottom: 30px;
}
#formulario-contacto .contenido h5{
 font-size: 32px; 
  line-height: 1.25;
  font-family: 'Open sans';
  margin-bottom:20px;
}
#formulario-contacto .contenido p{
  font-size: 20px;
  line-height: 24px; 
}




.formulario input, .formulario textarea{ 
border:1px solid #f7f7f7;

}


.formulario{
  padding:40px;
  border-radius:50px;
}
.legal-consent-container p, .legal-consent-container label{
  font-size: 10px !important;
    line-height: 18px
}
.formulario .hs_submit{
  text-align:center;
  margin-top:20px;
}
.formulario input[type=submit]{
  border: 1px solid #f7f7f7 !important; 
  border-radius:50px;
  text-transform:capitalize;
  padding: 3px 20px !important; 
  background: #ffffff !important;;
}
.formulario.form-blanco input[type=submit]{
  border: 1px solid #d5d5d5 !important;
} 

.formulario.form-blanco{
  background:#e8e8e8 !important;
}  
.formulario.form-oscuro{
  background:#e8e8e8 !important;
} 
.formulario p.grande{
  font-size: 20px;
  line-height: 32px;
} 

.input input, .input textarea, .input select { 
    width: 100% !important;
    padding: 10px;
     border-radius: 10px; 
    border: none;
    padding: 7px 8px;
    font-size: 14px;
    border: 1px solid #f7f7f7;
  color: #707070 !important;
  margin-bottom:20px;
}
.formulario .input input[type=checkbox]{ 
  width:auto !important;
}
.formulario.form-blanco .input input, .formulario.form-blanco .input textarea, .formulario.form-blanco .input select {
  border: 1px solid #d5d5d5;
} 
.hs_cos_wrapper_form_246059443_title{display:none !important;}

.formulario .form-title{display:none !important;}

.input textarea { width: 100% !important;}
form fieldset{margin:0;max-width:100% !important}
fieldset.form-columns-2 .input {
  margin-right: 0px; 
  margin-left: 0px; 
    width: 96%; 
}
.legal-consent-container{margin:0;}
 
.legal-consent-container .hs-field-desc.checkbox-desc { 
    margin:0 !important; 
}
.legal-consent-container ul.inputs-list{padding:0;}






@media all and (max-width: 768px) {
  .formulario form{margin-top:20px;}
  .formulario form fieldset label{text-transform:inherit !important;} 
  #formulario-contacto .contenido{
    display:grid; 
    grid-template-columns: 1fr !important; 
  }
  #formulario-contacto .contenido{
  display:grid;
  grid-template-columns: 1fr 1fr; 
  }

  #formulario-contacto .contenido h4{
    text-align: left; font-size: 34px; font-weight: bold;
    padding-bottom:0;
  }
  #formulario-contacto .contenido h5{
   font-size: 24px; line-height: 1.25;font-weight: normal;
    padding:0;
  }
  #formulario-contacto .contenido p{
    font-size: 16px;
  }
  #formulario-contacto .contenido .texto img{
    display:none !important;
  }
  
}

@media all and (max-width: 574px) {
  
  .formulario {
      padding: 20px;
      border-radius: 50px;
  }
}
/* Table */

table {
  border-collapse: collapse;
  margin-bottom: 1.4rem;
  overflow-wrap: break-word;
}

/* Table cells */

td,
th {
  vertical-align: top;
}

/* Table header */

thead th {
  vertical-align: bottom;
}
/* @import url('http://example.com/example_style.css'); */

/***********************************************/
/* CSS @imports must be at the top of the file */
/* Add them above this section                 */
/***********************************************/

/*****************************************/
/* Start your style declarations here    */
/*****************************************/


/* ===================== CURVAS =================== */




.pag-home #cabecera_home .curva-l-blanco .svg1, #taco-onda .curva-l-blanco .svg1, #taco-onda .curva-r-gris .svg1{  
  height: 80vh !important; 
}

.productos-home .curva {
  top:0;
}
.productos-home .curva > div{
  height: 100%;
}
.svg1.svg-gris, .svg1.svg-gris svg{
  height: 100%;
  width: 100% !important;
}

.svg1.svg-gris path{
  fill: #F7F7F7;
  
}
/* .pag-home #cabecera_home {  
  height: 90vh !important; 
}
.pag-home #cabecera_home #onda-azul{  
  object-fit: cover !important;
    height: 100%;
    width: fit-content;
} */


#taco-onda{position:relative;}
#taco-onda .curva-r-gris .svg1{ 
  z-index:0;

  margin-top: -50px; 
  height:100%;
} 
#cabecera_home {
  min-height: 90vh;
  display: flex;
  flex-direction: column;
  justify-content: center; /* centra verticalmente */
  position:relative;
  background: url("https://2662630.fs1.hubspotusercontent-na1.net/hubfs/2662630/Web%20Tiralineas/fondo-cabecera-azul-marino.svg") no-repeat bottom center;
  background-size: cover;
}
#cabecera_home .curva {
  position: absolute;
  inset: 0;
  z-index: 0;
}

#cabecera_home svg {
  width: 100%;
  height: 100%;
  display: block;
}
#cabecera_home .main {
  position: relative;
  z-index: 1;
  margin: auto 0; /* centra verticalmente */
}


.st0 {
  opacity: .6;
}

.st0, .st1 {
  fill: #02112a;
  isolation: isolate;
}

.st2 {
  opacity: .83;
}

.st1 {
  opacity: .7;
}


#b-curva{
  background: url(https://tiralineas.digital/hubfs/WEB-nueva/fondo-onda-web-tiralineas.svg);
}
.curva{
    position: absolute;
    top: 50px;
    z-index: -1;
  
}
#taco-amarillo-grande .curva, #taco-gris-home .curva{
    position: absolute;
    top: -10px;
    z-index: -1;
}
.img-fondo .curva{
    top: 0px;  
}
.curva-r-blanco{height:100%;}
.curva-r .svg1, 
.curva-l .svg1, 
.curva-r-blanco .svg1, 
.curva-l-blanco .svg1, 
.curva-r-taco .svg1, 
.curva-r-gris .svg1, 
.curva-l-gris .svg1{ 
  height: 550px; overflow: hidden;
}


 
/* .pag-home .curva-r-blanco .svg1, .pag-home .curva-r-blanco{height:650px;} */




.curva-r .svg1 path, 
.curva-l .svg1 path{
  stroke: none; fill: #F7F7F7;
}

.curva-l-blanco .svg1 path, 
.curva-r-blanco .svg1 path, 
.curva-r-taco .svg1 path{
  stroke: none; fill: #ffffff;
}
.curva-l-blanco, .curva-l{
    transform: scaleX(-1);
}
.curva-r-blanco{
    transform: scaleY(-1); 
}


/*------ CURVAS NUEVAS -------*/

.curva-l-gris .svg1 path, .curva-r-gris .svg1 path{
    stroke: none;
    fill: #F7F7F7;
}


/* .pag-home #cabecera_home .curva {
    position: absolute;
    top: 50px;
    z-index: -1;
    min-width: 100%;
    object-fit: cover;
}
 */




@media all and (max-width: 1300px) {
    .curva-lateral-blanco {
    width: 60%;
    position: absolute;
    top: -11px;
    left: -505px;
}

}
@media all and (max-width: 992px) {

  .curva-r-taco .svg1{
  height: 400px; overflow: hidden;
  }
}
@media all and (max-width: 768px) {
      .curva-r-taco .svg1{
    height: 500px; overflow: hidden;
  }

}
.blog .menu-tags{
  display: flex;
  justify-content: space-between;
  align-items:center;
}


/* Dropdown boton azul */

.loop .dropdown{}
.loop .dropdown a.dropdown-toggle {
  margin:0 !important; 
  font-size: 15px !important;
  
}
.loop .dropdown a.dropdown-toggle i{
 margin-left:8px;
}
 
/* .blog .dropdown-menu.show{
  width: max-content;
} */
.loop .menu-tags .tag{
  width:100% !important;
} 
.loop .dropdown-toggle::after{display:none !important;}  
.loop .dropdown-menu ul{
  padding-left:0px !important;
  margin-bottom:0;
}

.loop .dropdown-menu li{
  list-style:none;
  line-height: 22px;

}
.loop .dropdown-menu li a{
  font-size: 14px !important;
  color: #02112A !important;
  padding: 5px 20px !important;
  transition: 0.3s;
  width:100%;
}
.loop .dropdown-menu li a:hover{
  font-size: 14px !important;
  color: #ffffff !important;
  background: #FF007E
} 


/* Components
Specific pieces of UI that are stylized. Typically used for global partial styling
*/


/* Menu and simple menu */

.hs-menu-wrapper ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding-left: 0;
}

/* Horizontal menu */

.hs-menu-wrapper.hs-menu-flow-horizontal .hs-menu-children-wrapper {
  flex-direction: column;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.hs-menu-flow-horizontal ul {
    flex-direction: column;
  }
}

/* Vertical menu */

.hs-menu-wrapper.hs-menu-flow-vertical ul {
  flex-direction: column;
}

/* Flyouts */

.hs-menu-wrapper.hs-menu-flow-vertical.flyouts ul {
  display: inline-flex;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.hs-menu-flow-vertical ul {
    display: flex;
  }
}

.hs-menu-wrapper.flyouts .hs-item-has-children {
  position: relative;
}

.hs-menu-wrapper.flyouts .hs-menu-children-wrapper {
  left: -9999px;
  opacity: 0;
  position: absolute;
}

.hs-menu-wrapper.flyouts .hs-menu-children-wrapper a {
  display: block;
  white-space: nowrap;
}

.hs-menu-wrapper.hs-menu-flow-horizontal.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
  left: 0;
  opacity: 1;
  top: 100%;
}

.hs-menu-wrapper.hs-menu-flow-vertical.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
  left: 100%;
  opacity: 1;
  top: 0;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.flyouts .hs-menu-children-wrapper,
  .hs-menu-wrapper.hs-menu-flow-horizontal.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper,
  .hs-menu-wrapper.hs-menu-flow-vertical.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
    left: 0;
    opacity: 1;
    position: relative;
    top: auto;
  }
}

/* CTA, logo, and rich text images */

.hs_cos_wrapper_type_cta img,
.hs_cos_wrapper_type_logo img,
.hs_cos_wrapper_type_rich_text img {
  height: auto;
  max-width: 100%;
}
d/* ================ HEADER ================ */

.header-container{padding:0px !important;}
#header .main{padding:15px !important;}
#header{background: #ffffff ;}
#header .contenido{
  display:flex; 
  justify-content: space-between;
  align-items:center;
  
}
.logo{text-align:left;}
.logo img{max-width:180px !important;width:100%;margin-top: 0 !important}  


#header .boton, #header a.cta_button.rosa{
  margin:0 !important;
  font-size:14px !important;
}
#header .idiomas{
    padding-right: 15px;
    padding-left: 0;
}
#header .navbar-nav{gap:20px}
 
.menu-responsive{display:none !important;} 
.menu-grande{display:block;}



@media all and (max-width: 992px) {
  .menu-responsive{display:block !important;}
  .menu-grande{display:none;}
  


  #header .logo img{
    width:160px !important;
    margin-left:0!important
  } 
  #header{
    position: fixed;
    width: 100%;
    z-index: 9;
  }

}




/* Menu principal */

/* ======= Menu escritorio =========== */


/* ============ ANIMACION DROPDOWN ============ */

@media (min-width: 768px) {
  .animate {
    animation-duration: 0.3s;
    -webkit-animation-duration: 0.3s;
    animation-fill-mode: both;
    -webkit-animation-fill-mode: both;
  }
}

@keyframes slideIn {
  0% {
    transform: translateY(1rem);
    opacity: 0;
  }

  100% {
    transform: translateY(0rem);
    opacity: 1;
  }

  0% {
    transform: translateY(1rem);
    opacity: 0;
  }
}

@-webkit-keyframes slideIn {
  0% {
    -webkit-transform: transform;
    -webkit-opacity: 0;
  }

  100% {
    -webkit-transform: translateY(0);
    -webkit-opacity: 1;
  }

  0% {
    -webkit-transform: translateY(1rem);
    -webkit-opacity: 0; 
  }
}

.slideIn {
  -webkit-animation-name: slideIn;
  animation-name: slideIn;
}



/* ======= Menu responsive  =========- */

.offcanvas.offcanvas-start{ 
    overflow-y: scroll;
}
.offcanvas li{
  list-style:none;
  Text-align:left;
}
.offcanvas ul{padding:0 !important;}
.offcanvas #textoMenu{
  color: #2FC8D3;
   font-size: 30px;
  font-weight: 700; 
  
}
.secciones.nivel2>a:after{display:none;}
#accordionMenu a{
  margin:5px 0px;
}
.secciones.nivel2{padding:0;}

.offcanvas .nivel3 a{line-height:30px;}

.accordion-button:not(.collapsed) {
    color: #f9fafb !important;
    background-color: #2fc8d3 !important;
    box-shadow: none !important;
}
.accordion-button:not(.collapsed)::after{
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") !important;
}
##accordionMenu a{word-break: break-word;}
.menu-responsive i{
  font-size: 30px;
}
#flush-headingCinco a:after, #flush-headingCuatro a:after, #flush-headingThree a:after{display:none;}  
.menu-responsive-footer{
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
  padding: 0px 5px;
}
#menu .idiomas-responsive{
  display:flex;
}
#menu .idiomas-responsive .language-selected{
  color: #FF007E !important; 
  margin-right:15px;
}  
#menu .idiomas-responsive .hs-skip-lang-url-rewrite a{
 margin-right:15px;
}



@media all and (min-width: 992px) {

/*   .navbar .nav-item .dropdown-menu{ display: none; }

  .navbar .nav-item:hover .dropdown-menu{ display: block; } */
  .navbar .nav-item .dropdown-menu{ margin-top:-10px; }
  .navbar-expand-lg .navbar-collapse{justify-content:flex-end;flex-wrap:wrap;} 


  .menu-responsive{display:none !important;} 
  .menu-grande{display:block;}

}
/* ================ FOOTER ================ */

#footer{
  position: relative;
  overflow: hidden;
  background: #f5f5f5;
  margin-top: -1px !important;
}
#footer .main{
  max-width:1300px; 
  margin: 0 auto;
  padding-bottom:30px;
  padding-top:50px;
}
#footer p a{
  color: #02112A;
  text-decoration: none;
  font-size: 14px !important;
}

#footer .t-azul{text-align:right;}

#footer p{font-size:14px !important;padding-left:15px;padding-bottom:10px !important}
#footer h4{padding-bottom:10px; font-size:16px !important;} 
#footer .trabaja h4, #footer .kit-footer h4{padding:0; margin:0;} 
#footer .legal p, #footer .legal a{
  font-size:13px !important;
  color: #02112A !important;
}
#footer .legal a{
  margin-right:10px !important;
}
#footer .boton.rosa{
  width:auto;margin-top:30px;display: inline-block;font-size:15px !important;
}
#footer .t-azul a{font-size:18px !important; color: #02112A !important;; text-align:right;}

.footer-container-wrapper{margin-top:0;}
.footer-container.container-fluid{padding:0;}
 
#footer .redes{
  display:flex;justify-content:flex-end;align-items:bottom;font-size: 30px;margin-bottom:10px;
}
#footer .redes i{margin:8px;padding:0px 5px;font-size:20px}
#footer .redes a:last-child i{margin-right:0;padding-right:0px;}
 
#footer .logo-footer { 
  text-align:right;
}

#footer .logo-footer img{ 
   width: 200px !important;
}
#footer .tablet-none{display:block;} 
#footer  .tablet-display{display:none;}

.subir{
    bottom: 110px;
    right: 30px; 
    position: fixed;
    display:none;

}.subir i {
    background: #e8e8e8;
    color:#585858;
    font-size: 28px; 
    padding: 14px 19px;
    border-radius: 50%;
/*     box-shadow: 0px 0px 16px -5px rgb(0,0,0,0.20); */ 
}
.visible {display: block !important;} 
.linea{
    width: 100%;
    height: 1px;
    background: #02112A;
    margin: 40px 0px;
}
#footer .accordion-button{color: #585858  !important;}

#footer .kit-footer{ 
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 30px;
  align-items: start;
}
#footer .kit-footer__img img{
  max-width:80px !important; height:auto;
}
#footer .kit-footer__cta, #footer .trabaja{
  text-align:left !important; 
}
#footer .kit-footer__cta p, #footer .trabaja p{
  padding-left: 0 !important;
}
#footer .kit-footer__cta a, #footer .trabaja a{
  margin: 0 !important;
} 



@media all and (max-width: 992px) {
  #footer .tablet-none{display:none}
  #footer .tablet-display{display:block;} 
  #footer .logo-footer {
    text-align: center !important;
  }
  
}
/* @import url('http://example.com/example_style.css'); */

/***********************************************/
/* CSS @imports must be at the top of the file */
/* Add them above this section                 */
/***********************************************/

/*****************************************/
/* Start your style declarations here    */
/*****************************************/

/* TACO FINAL SIN IMAGEN */

.img-fondo-col1,
.pag-home .img-fondo-col1{
    text-align: center !important;
    position: relative;
    display: flex !important;
    align-items: center;
    width: 100% !important;
    min-height:600px !important;
    z-index: 0 !important;
}
.pag-home .img-fondo-col1{
  background: #fff;
}
.pag-home .img-fondo-col1 .curva-l-gris{
  transform: scaleX(-1);
}
.img-fondo-col1 .main{
   padding:100px 20px !important;
  max-width:1000px;
}

.img-fondo-col1 > div:nth-child(2){
    display: flex;
    justify-content: center;
    width: 100%;
}
.img-fondo-col1 .boton{
    display: inline-block !important;
    width: auto;
    margin-top: 30px;
    float: none;
    margin-top:50px !important;
}
.img-fondo-col1 .img-fondo-texto h4,
.pag-home .img-fondo-col1 .img-fondo-texto h4{
  font-size:35px; 
  text-transform: inherit; 
  font-weight: 400 !important;  
  line-height: 48px;
  text-align:center !important;
} 
.img-fondo-col1 .img-fondo-texto p{
  font-size:20px !important;
} 
.img-fondo-col1 .curva,
.pag-home .img-fondo-col1 .curva{
  top: 0 !important;
} 
/* @import url('http://example.com/example_style.css'); */

/***********************************************/
/* CSS @imports must be at the top of the file */
/* Add them above this section                 */
/***********************************************/

/*****************************************/
/* Start your style declarations here    */
/*****************************************/




 
/* ----- Banner Home - Fondo lineas blancas ----- */


#banner-lineas p.grande{
  font-size: 40px !important;
  line-height:1.2 !important;
  color: #02112A !important;
}


#taco-fondo.taco-blanco{
  background-image: url(https://tiralineas.digital/hubfs/WEB-nueva/taco-blanco-1.png);
  padding: 3%;
  width: 100%;
  background-size: cover;
}

#taco-fondo.taco-blanco h4 {
  font-size: 40px !important;;
}


#taco-fondo.taco-blanco p {
  font-size: 20px;
}


#taco-fondo.taco-blanco .ta-texto p{
  color: #02112A !important; 
}

/* ----- Banner Pie ----- */

.texto__banner-pie{
  max-width:1000px; margin:0 auto;
}
.texto__banner-pie h4{
    font-size: 35px !important;
    text-transform: inherit;
    font-weight: 400 !important;
    line-height: 48px;
    text-align: center !important;
}
.texto__banner-pie p{
    font-size: 20px !important;
}
.cta__banner-pie{
  display: flex;
    justify-content: center;
  margin-top:30px;
}

/* ----- Banner Azul oscuro ----- */

.f-azul-oscuro .main{
  max-width:1200px; margin: 0 auto !important;
}
.f-azul-oscuro p{
  font-size:50px !important;
  font-family: 'Bitter' !important;;
  color: #ffffff !important;
} 
/*   POST DESTACADO */


.post-blog.post-destacado{
  background: transparent !important; 
  box-shadow: none !important;
  border-radius: 0 !important;
  margin:100px 0;

}
.post-blog.post-destacado{
  display:grid;
  grid-template-columns: 1fr 1fr;
  
}
.post-blog.post-destacado .img-principal{
 border-radius: 20px !important;
  overflow:hidden;
}
.post-blog.post-destacado h2{
  color: #02112A;
  text-align: left !important; 
  margin-bottom:30px;
}

.post-blog.post-destacado .meta-fecha{
      display: inline-flex;
    width: auto;
  color: #FF007E !important;
}
.post-blog.post-destacado .contenido{
  padding: 8%;
  display:grid;
  justify-content: center;
} 


/* Utilities
Helper classes with ability to override anything that comes before it
*/

/* For content that needs to be visually hidden but stay visible for screenreaders */

.show-for-sr {
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  height: 1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

@media (max-width: 767px) {
  .show-for-sr--mobile {
    border: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    height: 1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    white-space: nowrap !important;
    width: 1px !important;
  }
}



/* @import url('http://example.com/example_style.css'); */

/***********************************************/
/* CSS @imports must be at the top of the file */
/* Add them above this section                 */
/***********************************************/

/*****************************************/
/* Start your style declarations here    */
/*****************************************/




/* Servicios */


.servicios h2{
  text-align:left !important;
  font-weight:bold;
  margin-bottom:50px;
}
.servicios_col{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 40px; 
  margin-top:30px;  
}

.servicio{
  background: #ffffff;
  padding: 8%;
  border-radius: 15px;

}
.servicio .contenido{
  margin-bottom:30px;
}

.servicio p{
  font-size:16px !important; 

}
.servicio h3{
  font-size:28px !important;
  padding-bottom: 30px; 
  font-family: 'Open Sans', sans-serif;
  font-weight:700 !important; 
}  


/* Productos */

.pag-home #taco-onda{}

.productos_col{
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 30px;
    margin-top: 30px;
} 

.pag-home .producto{
    background: #ffffff;
    border-radius: 20px;
    text-align: center;
    padding: 25px 15px;
    box-shadow:9px 7px 13px 5px rgb(0 0 0 / 10%);
    transition: 0.3s;
  border:3px solid #ffffff;
}
.pag-home .producto:hover { 
  box-shadow:none;
  border:3px solid #2FC8D3;
/*   background: #EFEFEF; */
}
/* .pag-home .producto:hover p{
  color: #fff;
} */
.pag-home .producto p{
  font-size:18px;color: #02112A; font-weight:bold;margin-bottom:15px;
}
.pag-home .producto img{max-width:130px !important;height:auto;}

.pag-home .logo-hubspot{max-width:270px; margin-bottom:30px;}
.align-content-end .row-fluid{display:flex;align-items:end !important;} 
.align-content-center .row-fluid{display:flex;align-items:center !important;}

#taco-fondo.taco-blanco{
  background-image: url(https://tiralineas.digital/hubfs/WEB-nueva/taco-blanco-1.png);
  padding: 3%;
  width: 100%;
  background-size: cover;
}

#taco-fondo.taco-blanco span {
  font-size: 20px;
}
/* @import url('http://example.com/example_style.css'); */

/***********************************************/
/* CSS @imports must be at the top of the file */
/* Add them above this section                 */
/***********************************************/

/*****************************************/
/* Start your style declarations here    */
/*****************************************/




 
/* ----- Banner Home - Fondo lineas blancas ----- */


#banner-lineas p.grande{
  font-size: 40px !important;
  line-height:1.2 !important;
  color: #02112A !important;
}


#taco-fondo.taco-blanco{
  background-image: url(https://tiralineas.digital/hubfs/WEB-nueva/taco-blanco-1.png);
  padding: 3%;
  width: 100%;
  background-size: cover;
}

#taco-fondo.taco-blanco h4 {
  font-size: 40px !important;;
}


#taco-fondo.taco-blanco p {
  font-size: 20px;
}


#taco-fondo.taco-blanco .ta-texto p{
  color: #02112A !important; 
}

/* ----- Banner Pie ----- */

.texto__banner-pie{
  max-width:1000px; margin:0 auto;
}
.texto__banner-pie h4{
    font-size: 35px !important;
    text-transform: inherit;
    font-weight: 400 !important;
    line-height: 48px;
    text-align: center !important;
}
.texto__banner-pie p{
    font-size: 20px !important;
}
.cta__banner-pie{
  display: flex;
    justify-content: center;
  margin-top:30px;
}

/* ----- Banner Azul oscuro ----- */

.f-azul-oscuro .main{
  max-width:1200px; margin: 0 auto !important;
}
.f-azul-oscuro p{
  font-size:50px !important;
  font-family: 'Bitter' !important;;
  color: #ffffff !important;
} 
/*================ BLOG ===================*/


/* Estilos principales BLOG  */

/* .blog-content{
  max-width:inherit !important;
  margin-right: 0 !important;
} */

.blog .main{
  position: relative; 
  padding: 100px 25px;
} 
.blog .curva {
  z-index:0; 
}
.blog .fondo{
  background: #f7f7f7; 
}

.blog .cab-proyecto, .cab-blog{  
  max-width: 1000px; margin: 0 auto;
}
.cab-proyecto h1 span, .cab-blog h1 span{
  color: #2FC8D3 !important;
  font-size: 16px !important;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 2px;
}
.cab-proyecto h2, .cab-blog h2, .productos .cab-productos h2, .main-dic .entradilla h2{
  font-size:32px !important;
  line-height: 1.2rem !important;;
  font-size: 24px !important;
  font-family: 'Bitter', sans-serif !important;  
}




  
/* Loop POST */

/* .loop-post > div:nth-child(2n+1){background: #ffffff ;} */

.loop-post h3.titulo{text-transform:inherit;font-size:24px;text-align:left;line-height:33px;font-weight:400;}
.loop-post a:hover h3.titulo{color: #FF007E;}
.post-blog{
  
  padding:15px;
  height:100%;
  display: grid;
  align-items: stretch;
  align-content: space-between;
}

.loop-post-blog a:hover .icono-plus i{
  transform: rotate(180deg);
  color:#FF007E;
}

.loop-relacionados-interior{
  margin-top:50px;padding-top:50px;border-top: 3px solid #FF007E;
}
.realcionados-caja{margin:50px 0;}




.blog-content .cab-cab-blog h1{ 
  font-size: 60px;
  font-weight: 900;
  line-height: 90px;
  color: #2FC8D3;
  text-align:center; 
}
.post-proyecto h3, .blog-content h3{ 
  font-size: 20px !important;
  font-weight: 600 !important; 
  padding: 20px 0 !important;
  line-height: 30px !important;
  text-transform: inherit !important; 
  text-align: left !important;
  color:#585858;
  font-family: 'Open Sans', sans-serif;
}
.post-proyecto h4, .blog-content h4{
  font-size: 18px;
  line-height: 25px;
  font-family: 'Bitter', san-serif;
  padding: 15px 0px;
  text-align: left !important;
  text-transform: inherit !important; 
  font-weight:700 !important;

}
.compartir-post h3{
  text-align:center !important;
  color:#585858;
  font-size: 20px !important;
  text-transform: inherit !important;
  
}
.pillar__content h3{font-family:'bitter';font-weight:900;font-size:20px;}


.blog-content .menu-tags{
  border-bottom:none; 
  border-top:3px solid #2FC8D3;   
  display: flex;
  justify-content: space-between;
  align-items: center; 
}
 
.blog-content .titulo-tags h3.bitter{color: #585858 !important;text-transform:inherit !important;}  



.post-blog{
  padding:0px;
  background:#ffffff; 
  height:100%;
  box-shadow: 9px 7px 13px 5px rgb(0 0 0 / 10%);
  border-radius: 20px 20px;
  overflow:hidden; 
}

.post-blog .contenido h3{
  color: #585858 !important; 
  text-transform: inherit;
  text-align:left; 
}
.post-blog .contenido{padding: 0 20px 20px;} 
.blog-content .post-blog img {
    margin: 0 !important;
    padding: 0px;
} 






/* .productos h2{font-size:34px !important;} */





/* Loop Novedades */

.blog-content{
  margin-bottom:50px;
}

.loop-post-blog{ 
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap:50px;
  margin-top:30px;
}


.post-blog {
    padding: 0px;
    background: #ffffff;
    height: 100%;
    box-shadow: 9px 7px 13px 5px rgb(0 0 0 / 10%);
    border-radius: 20px 20px;
    overflow: hidden;
}



.post-blog{
  display: grid;
  align-items: stretch;
  align-content: space-between;
 
}
.post-blog a{color: #02112A !important; }

.post-blog .img-principal .date{
  background:#fff; 
  color:  #FF007E !important ;
}
.post-blog .contenido h3{
  color: #02112A !important; 
  text-transform: inherit;
  text-align:left; 
  font-size: 18px !important;
}
.post-blog .contenido{padding: 0 20px 20px;} 


.loop-ultimos{}
.loop-ultimos h2{
  font-size: 30px !important;
  font-weight:700 !important;
  margin-bottom: 50px;
}


 
.blog-content .post-blog img {
    margin: 0 !important;
    padding: 0px;
  width:100%;
} 


.img-principal{
  position:relative;
} 
.img-principal img{ 
  max-width:inherit !important;
  height: auto;
  object-fit: cover;
  width:100%;

}
.img-principal .date{
    position: absolute;
    font-size: 12px;
    color: #fff;
    padding: 7px 10px;
    top: 0;
    margin-bottom: 0 !important;
    padding-bottom: 7px !important;
    right: 0; 
    border-radius: 0 0 0 10px;

}



.loop-blog-4{display:block !important;}
.loop-blog-2{display:none}

@media all and (max-width: 574px) {
  .loop-blog-4{display:none !important;}
  .loop-blog-2{display:block;}
}



/* Numbered Pagination */
.blog-pagination {
    display: block;
    text-align: center;
  margin-top:100px;
}
.blog-pagination > div {
    display: inline-block;
}
.blog-pagination-left {
    text-align: right;
}
.blog-pagination-right {
    text-align: left;
}
.blog-pagination a {
    display: inline-block;
    text-align: center;
    border-radius: 4px;
    padding: 5px 10px;
}
.blog-pagination a:hover,
.blog-pagination a:focus {
    background-color: #ffffff;
    text-decoration: none;
}
.blog-pagination a.elipses {
    border: 0;
}
.blog-pagination a.active {
    background-color: #ffffff;
    color: #666;
    pointer-events: none;
    cursor: default;
}
.blog-pagination a.next-link,
.blog-pagination a.prev-link {
    background-color: #ff007e;
    color: #fff;
}
.blog-pagination a.next-link:hover,
.blog-pagination a.prev-link:hover {
    background-color: #fbc101;
    color: #fff;
}
.blog-pagination a {
    color: #ff007e;
}


#hubspot-topic_data{
  display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
.topic-link {
    font-size: 12px;
    background: #FBFBFB;
    padding: 5px 5px;
  border-bottom: 3px solid #FF007E;
    margin: 0px 5px 7px 5px;
    line-height: 21px;
  color: #02112A !important
}






/* Blog comments */ 
/* @import url('http://example.com/example_style.css'); */

/***********************************************/
/* CSS @imports must be at the top of the file */
/* Add them above this section                 */
/***********************************************/

/*****************************************/
/* Start your style declarations here    */
/*****************************************/



.productos .fondo {
  background: #f7f7f7; 
}
.productos .main{
  padding: 100px 25px;
}
.productos h2{text-align:left !important;}


.productos_grid{
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 60px;
    margin-top: 30px;
} 

.productos_grid .producto {
    height:100% !important;
    display: grid;
    gap:20px;
    justify-content: center;
    background: #ffffff;
    border-radius: 20px;
    text-align: center;
    padding: 30px 15px;
    box-shadow: 9px 7px 13px 5px rgb(0 0 0 / 10%);
    transition: 0.3s;
    border: 3px solid #ffffff;
  align-content: center;
    align-items: stretch;

} 
.productos_grid .producto__cta {
  margin: 0 auto !important;

}
.productos_grid .producto h3{
  font-family: 'Bitter', san-serif;
  margin: 0px;
  padding: 0;
      font-size: 20px !important;
    letter-spacing: 1px;
    margin-bottom: 3px;
}
.productos_grid .producto__imagen{
  max-height: 93px;
}
.productos_grid .producto__imagen img{
  height: 100%;
    width: auto;
}

.productos_grid .producto:hover {
    box-shadow: none;
  border: 3px solid #FF007E; 
  border-radius: 20px;
    /* background: #EFEFEF; */
}

@media all and (max-width: 992px) {

    .productos_grid, .loop-post-blog{
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    grid-gap: 60px;
    margin-top: 30px;
} 
.productos_grid h3{
    font-size: 20px;
    margin-top:10px;
    padding-bottom:0;

  }
  .productos_grid p{font-size:15px;}
  .diccionario-post h1 {
    font-size: 35px !important;
    line-height: 50px !important;
    font-weight: 400;
  }
  
}


@media all and (max-width: 574px) {

   .productos_grid, .loop-post-blog{
    display: grid !important;
    grid-template-columns: repeat(1, 1fr) !important;
    grid-gap: 40px;
    margin-top: 10px;
} 
  .productos_grid h3{
    font-size: 18px;
    margin-top:10px; 
    padding-bottom:0;
  }
  .productos_grid p{font-size:14px;}

  .productos_grid > div {
  
    width: 80%;
    margin: 0 auto;
  }

} 
/* @import url('http://example.com/example_style.css'); */

/***********************************************/
/* CSS @imports must be at the top of the file */
/* Add them above this section                 */
/***********************************************/

/*****************************************/
/* Start your style declarations here    */
/*****************************************/

.blog-proyectos{}

.blog-proyectos .cab-proyecto h1 span{
  color: #2FC8D3 !important;
  font-size: 16px !important;
  font-weight: 400;
  text-transform: uppercase;
}

.blog-proyectos .loop-post, .blog-proyectos-single .loop-post{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 50px;
    margin-top: 30px; 
}

.blog-proyectos .loop-post .post h3, .blog-proyectos-single .loop-post h3{
    font-size: 19px !important;
    text-transform: uppercase;
    color: #02112A !important;
    padding: 15px 0 !important;
  margin-bottom:0;
}

.blog-proyectos{}
.blog-proyectos .img-principal{
  height:
}

.blog-proyectos .img-principal, .blog-proyectos-single .img-principal{background: #f7f7f7;padding: 10%;}
.blog-proyectos .img-principal img, .blog-proyectos-single .img-principal img{}
.blog-proyectos .loop-post > div, .blog-proyectos-single{}


.loop-post .contenido{
  display:grid;
  grid-template-columns: 1fr auto;
  gap:10px;
  align-items:center;
}
.loop-post a:hover .contenido .boton-flecha-azul i{ background: #FF007E !important;} 
.single-post .main,
.videos-post .main{
  max-width:1024px !important; 
  margin-right: inherit !important;
  margin: 0 auto !important; 
  position: relative; 
}  


 
.single-post h1,
.videos-post h1{
  font-weight:700;
  text-align:center;
  font-size:50px;
  line-height: 68px;
} 

.single-post .thumbnail img,
.videos-post .thumbnail img{  
  border-radius: 30px !important;
  max-width: 100% !important;

}
.single-post .meta,
.videos-post .meta{  
  border-bottom: 3px solid #2FC8D3;
  text-align:center; 
} 

.single-post .meta-fecha p,
.videos-post .meta-fecha p{ 
  color: #FF007E !important; 
  font-size: 16px;
}

.single-post .meta-categoria p { 
  font-size: 18px;
} 
.single-post .meta-categoria p a{ 
  margin-left:5px;
} 
.single-post .meta-lectura{ 
 font-size: 14px; 
}  
.single-post .loop-relacionados-interior, .diccionario .loop-relacionados-interior{
  padding-bottom:50px;
  border-top: none;
}
.diccionario .loop-relacionados-interior .img-principal img{
  width: 100%; 
}
.single-post #f-gris-claro .container{ 
  margin:0 auto !important; 
  float: none !important;
}

.single-post .entrada a{ 
  color: #FF007E;
}
/* @import url('http://example.com/example_style.css'); */

/***********************************************/
/* CSS @imports must be at the top of the file */
/* Add them above this section                 */
/***********************************************/

/*****************************************/
/* Start your style declarations here    */
/*****************************************/



.blog-proyectos-single, .blog-proyectos-single .fondo { 
  background: #fff !important;;
}

.blog-proyectos-single .curva-l-gris{
/*     transform: scale(-1); */
  top: 72px; 
}

.cabecera-proyecto__contenido{
  display:grid;
  grid-template-columns: 200px 1fr ;
  justify-content:space-around; 
  align-items:center;
  gap: 5%

}
 .blog-proyectos-single .cabecera-proyecto{
  position:relative;
  padding: 100px 25px;

}

.cabecera-proyecto h1{
  font-size: 40px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  padding-bottom:20px;
  margin-bottom: 20px !important;
  border-bottom: 1px solid #E0E0E0;
}
.logo-proyecto{
  height:200px !important;; 
  padding: 20px;
 background: #F7F7F7;
}
.logo-proyecto img{
  width:100%;
  height:auto;
}
.logo-proyecto .thumbnail{
  display: flex;
  align-items: center;
  height: 100%;
}



.banner-img-fondo-proyecto, .banner-img-fondo-proyecto div{
  height: 400px;
  overflow: hidden;
  position:relative;
  background: #02112A;
}

.banner-img-fondo-proyecto img{
   width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
  opacity:0.7;
}

.proyectos-content{
  gap:50px;
}
.proyectos-content__texto a.boton{


}
.proyectos-content__imagen img{
  width:100% !important;height:auto;
}

.meta-fecha span, .meta-categoria span{font-family: 'Bitter', sans-serif !important;font-weight:500 !important;}