:root {

  --c-oscuro: #04080C;
  --c-oscuro-rgb: 4, 8, 12;
  --c-azul: #0E2338;
  --c-azul-rgb: 14, 35, 56;
  --c-gris: #AFAEB2;
  --c-gris-rgb: 175, 174, 178;
  --c-gris-2: #7C95AE;
  --c-gris-2-rgb: 124, 149, 174;
  --c-blanco: #fff;
  --c-blanco-rgb: 255, 255, 255;

  --filtro-blanco: brightness(0) invert(1);

  --card-img: 200px;
  --card-img-mini:150px;
  --card-img-ver: 350px;
  --img-back-full: 30rem;

  --img-blog-full: 20rem;
  --img-blog-thumb: 10rem;

  --blur-cta:20px;

  --gradient-azul: linear-gradient(90deg, rgba(var(--c-azul-rgb), 1) 0%, rgba(var(--c-oscuro-rgb), 1) 100%);
  --gradient-azul-2: linear-gradient(180deg, rgba(var(--c-azul-rgb), 1) 0%, rgba(var(--c-oscuro-rgb), 1) 100%);

  --svg-whats: url('data:image/svg+xml,%3Csvg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"%3E%3Cpath d="M20,9.74c0,5.38-4.4,9.74-9.82,9.74-1.72,0-3.34-.44-4.75-1.21l-5.44,1.73,1.77-5.23c-.89-1.47-1.41-3.19-1.41-5.03,0-5.38,4.39-9.74,9.82-9.74,5.42,0,9.82,4.36,9.82,9.74ZM10.18,1.55C5.63,1.55,1.93,5.23,1.93,9.74c0,1.79,.58,3.45,1.57,4.8l-1.03,3.04,3.17-1.01c1.3,.86,2.86,1.35,4.54,1.35,4.55,0,8.26-3.67,8.26-8.19,0-4.51-3.7-8.19-8.26-8.19Zm4.96,10.43c-.06-.1-.22-.16-.46-.28-.24-.12-1.42-.7-1.64-.78-.22-.08-.38-.12-.54,.12-.16,.24-.62,.78-.76,.94-.14,.16-.28,.18-.52,.06-.24-.12-1.02-.37-1.94-1.18-.72-.63-1.2-1.41-1.34-1.65-.14-.24-.01-.37,.11-.49,.11-.11,.24-.28,.36-.42,.12-.14,.16-.24,.24-.4,.08-.16,.04-.3-.02-.42-.06-.12-.54-1.29-.74-1.77-.2-.48-.4-.4-.54-.4s-.3-.02-.46-.02-.42,.06-.64,.3c-.22,.24-.84,.82-.84,1.99s.86,2.31,.98,2.47c.12,.16,1.67,2.65,4.11,3.61,2.45,.96,2.45,.64,2.89,.6,.44-.04,1.42-.58,1.62-1.13,.2-.56,.2-1.04,.14-1.14Z"/%3E%3C/svg%3E');

  --svg-instagram: url('data:image/svg+xml,%3Csvg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 17 17"%3E%3Cpath class="cls-1" d="M4.64,1.55c-1.71,0-3.09,1.38-3.09,3.09v7.73c0,1.71,1.38,3.09,3.09,3.09h7.73c1.71,0,3.09-1.38,3.09-3.09V4.64c0-1.71-1.38-3.09-3.09-3.09H4.64ZM0,4.64C0,2.08,2.08,0,4.64,0h7.73c2.56,0,4.64,2.08,4.64,4.64v7.73c0,2.56-2.08,4.64-4.64,4.64H4.64c-2.56,0-4.64-2.08-4.64-4.64V4.64Zm11.98-.39c0-.43,.35-.77,.77-.77h0c.43,0,.77,.35,.77,.77s-.35,.77-.77,.77h0c-.43,0-.77-.35-.77-.77Zm-3.1,1.92c-.48-.07-.97,.01-1.41,.24-.43,.22-.78,.58-1,1.02-.22,.44-.3,.93-.22,1.41,.08,.48,.3,.93,.65,1.27,.34,.34,.79,.57,1.27,.65,.48,.08,.97,0,1.41-.22,.44-.22,.79-.57,1.02-1,.22-.43,.31-.93,.24-1.41-.07-.49-.3-.95-.65-1.3-.35-.35-.81-.58-1.3-.65Zm-2.12-1.14c.72-.37,1.54-.51,2.35-.39,.82,.12,1.58,.5,2.17,1.09,.59,.59,.97,1.35,1.09,2.17,.12,.8-.02,1.62-.39,2.35-.37,.72-.97,1.31-1.69,1.67-.73,.37-1.55,.49-2.35,.36-.8-.13-1.54-.51-2.12-1.08-.57-.57-.95-1.32-1.08-2.12-.13-.8,0-1.62,.36-2.35,.37-.73,.95-1.32,1.67-1.69Z"/%3E%3C/svg%3E');

  --svg-x: url("data:image/svg+xml,%3Csvg viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M25 24.9962H24.7314C22.5201 24.9962 20.3088 24.9942 18.0971 25C17.9497 25 17.8634 24.952 17.7766 24.8306C15.7301 21.9732 13.6796 19.1191 11.6308 16.2636C11.4274 15.98 11.4293 15.9772 11.2323 16.2516C9.18307 19.1076 7.13387 21.9631 5.08742 24.821C4.99697 24.9477 4.90055 25.001 4.74581 24.9995C3.93495 24.9914 3.12362 24.9966 2.31276 24.9962C2.25261 24.9962 2.19292 24.9894 2.09007 24.9832C2.28199 24.7107 2.45418 24.4626 2.63049 24.2169C5.03462 20.8691 7.43829 17.5213 9.84747 14.1773C9.95858 14.0233 9.96088 13.9297 9.84747 13.7728C7.66052 10.7378 5.48046 7.6971 3.29856 4.65782C2.22552 3.16409 1.15156 1.67084 0.0780561 0.176629C0.0509661 0.139202 0.029845 0.0969761 0 0.0475529C0.0757604 -0.0205838 0.16254 0.0048475 0.240137 0.0048475C2.45142 0.00340799 4.66271 0.00532734 6.87399 4.91375e-05C7.02046 4.91375e-05 7.10908 0.0470731 7.19586 0.168472C9.10043 2.82868 11.0087 5.48554 12.9169 8.14287C13.0909 8.38567 13.2778 8.61935 13.439 8.87078C13.5354 9.02097 13.5753 8.98114 13.6584 8.86406C14.4721 7.72445 15.2912 6.58916 16.1076 5.45147C17.3684 3.69431 18.6297 1.93763 19.8873 0.178068C19.9773 0.0523513 20.0714 -0.00187021 20.2289 4.91375e-05C21.0168 0.0106055 21.8052 0.0048475 22.5931 0.0048475C22.6758 0.0048475 22.7584 0.0048475 22.8957 0.0048475C22.6363 0.368084 22.4062 0.691013 22.1748 1.01298C19.8171 4.2965 17.4593 7.57954 15.0993 10.8611C15.0125 10.9821 15.0088 11.0584 15.1016 11.1874C17.3983 14.3764 19.689 17.5702 21.9811 20.7635C22.9485 22.1114 23.9155 23.4592 24.8825 24.8071C24.9137 24.8508 24.9398 24.8988 25 24.9957V24.9962ZM3.37845 1.77688C3.43493 1.86805 3.46156 1.91652 3.49324 1.96066C4.94371 3.97741 6.39647 5.99272 7.84556 8.01092C11.4444 13.0242 15.0423 18.0385 18.638 23.0543C18.7238 23.1737 18.8138 23.2284 18.9612 23.227C19.7647 23.2198 20.5682 23.2246 21.3718 23.2222C21.4338 23.2222 21.5091 23.2534 21.5619 23.1723C21.5371 23.132 21.5155 23.0907 21.4884 23.0533C19.0861 19.7069 16.6838 16.361 14.2815 13.0146C11.6726 9.38085 9.06186 5.74849 6.45983 2.10893C6.28857 1.86949 6.12052 1.75625 5.82207 1.76729C5.09615 1.79368 4.36839 1.77592 3.64155 1.77592C3.56716 1.77592 3.49278 1.77592 3.37845 1.77592V1.77688Z' fill='white'/%3E%3C/svg%3E%0A");

  --svg-facebook: url('data:image/svg+xml,%3Csvg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9.44 17"%3E%3Cpath d="M9.44,0h-2.58c-1.14,0-2.23,.45-3.04,1.24-.81,.8-1.26,1.88-1.26,3.01v2.55H0v3.4H2.58v6.8h3.43v-6.8h2.58l.86-3.4h-3.43v-2.55c0-.23,.09-.44,.25-.6,.16-.16,.38-.25,.61-.25h2.58V0Z"/%3E%3C/svg%3E');

  --svg-linkedin: url('data:image/svg+xml,%3Csvg viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath fill-rule="evenodd" clip-rule="evenodd" d="M25 25H20V16.2512C20 13.8512 18.9413 12.5122 17.0425 12.5122C14.9763 12.5122 13.75 13.9075 13.75 16.2512V25H8.75V8.75H13.75V10.5774C13.75 10.5774 15.3187 7.82471 18.8537 7.82471C22.39 7.82471 25 9.98263 25 14.4476V25ZM3.0525 6.15112C1.36625 6.15112 0 4.7737 0 3.07495C0 1.37745 1.36625 0 3.0525 0C4.7375 0 6.10374 1.37745 6.10374 3.07495C6.10499 4.7737 4.7375 6.15112 3.0525 6.15112ZM0 25H6.25V8.75H0V25Z" fill="white"/%3E%3C/svg%3E');

  --svg-menu: url("data:image/svg+xml,%3Csvg viewBox='0 0 5 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='4.72813' height='4.72813' fill='white'/%3E%3Crect y='7.23404' width='4.72813' height='4.72813' fill='white'/%3E%3Crect y='15.2719' width='4.72813' height='4.72813' fill='white'/%3E%3C/svg%3E%0A");

  --svg-close: url("data:image/svg+xml,%3Csvg viewBox='0 0 17 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.4895 0.868286L0.368164 2.9896L6.37854 9.00002L0.368164 15.0104L2.48938 17.1318L8.49988 11.1213L14.5103 17.1317L16.6316 15.0104L10.6212 8.99999L16.6316 2.98962L14.5103 0.868298L8.49988 6.87869L2.4895 0.868286Z' fill='white'/%3E%3C/svg%3E%0A");

  --svg-external: url('data:image/svg+xml,%3Csvg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M18.3345 7.51913C18.6136 7.79815 19.0332 7.88159 19.3978 7.73061C19.7623 7.57961 20 7.22386 20 6.82927V0.97561C20 0.43679 19.5632 0 19.0244 0H13.1707C12.7761 0 12.4204 0.237698 12.2694 0.602263C12.1183 0.96682 12.2019 1.38645 12.4809 1.66547L14.3729 3.5575L7.88853 10.0419C7.50753 10.4229 7.50753 11.0406 7.88853 11.4216L8.57834 12.1114C8.95941 12.4925 9.57707 12.4925 9.95815 12.1114L16.4425 5.62709L18.3345 7.51913Z" fill="black"/%3E%3Cpath d="M2.92683 5.85375C2.92683 5.58434 3.14523 5.36594 3.41463 5.36594H8.35366C8.89249 5.36594 9.32927 4.92914 9.32927 4.39033V3.41472C9.32927 2.8759 8.89249 2.43911 8.35366 2.43911H3.41463C1.52878 2.43911 0 3.96789 0 5.85375V16.5855C0 18.4713 1.52878 20.0001 3.41463 20.0001H14.1463C16.0322 20.0001 17.561 18.4713 17.561 16.5855V11.6465C17.561 11.1076 17.1242 10.6709 16.5854 10.6709H15.6098C15.0709 10.6709 14.6341 11.1076 14.6341 11.6465V16.5855C14.6341 16.8549 14.4157 17.0733 14.1463 17.0733H3.41463C3.14523 17.0733 2.92683 16.8549 2.92683 16.5855V5.85375Z" fill="black"/%3E%3C/svg%3E');

}


html {
  background-color: var(--c-azul);
  font-size: 14px;
}

body {
  background-color: var(--c-blanco);
  color: var(--c-oscuro);
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
}

section {
  padding: 8rem 0;
}

/*
TIPO
*/
:is(h2, h3, h4, h5, h6) {
  text-wrap: balance;
  font-weight: 200;
}
  .contenidos :is(h2, h3, h4, h5, h6){
    text-wrap:initial;
  }

p {
  font-size: 1.13rem;
  line-height: 1.55;
  font-weight: 200;
  text-wrap: pretty;
}
  p.mini{
    font-size: 0.95rem;
  }

  *:has(+ p .btn-if) {
    margin-bottom: 3rem;
  }

  p:has(.btn-if) {
    margin-bottom: 0;
  }
  p:has(+ h3, + h4, + h2, + h5){
    margin-bottom: 3rem;
  }
  .blog-post ul:has(+ h3, + h4, + h2, + h5), 
  .card-body ul:has(+ h3, + h4, + h2, + h5){
    margin-bottom: 3rem;
  }

h1 {
  font-size: 2.6rem;
  line-height: 1.2;
  font-weight: 200;
  position: relative;
}
  h1::before,
  .solo-texto h3::before {
    content: '';
    width: 25px;
    height: 25px;
    background: var(--c-gris);
    position: absolute;
    left: -30px;
    top:-30px;
  }
  .back-azul h1{
    color: var(--c-gris-2);
  }
  .back-azul :is(h1,h3)::before{
    background: var(--c-oscuro);
  }
  .back-oscuro :is(h1,h3)::before{
    background: var(--c-azul);
  }

h1:has(+ p) {
  margin-bottom: 2rem;
}

h2 {
  font-size: 2.8rem;
  line-height: 1.3;
  letter-spacing: 0.1rem;
}
  h2:has(+ h3) {
    margin-bottom: 1em;
  }
  h2:has(+ p) {
    margin-bottom: calc(1em * .75);
  }

h3 {
  font-size: 2rem;
  letter-spacing: 0.1rem;
  position: relative;
}
  h3:has(+ p) {
    margin-bottom: .5em;
  }
  .solo-texto .text-center h3::before{
    display: none;
  }

h4 {
  font-size: 1.65rem;
  line-height: 1.4;
  letter-spacing: 0.1rem;
}

  h4:has(+ p),
  h4:has(+ ul, + ol) {
    margin-bottom: 1.5rem;
  }

:is(h1, h2, h3, h4) :is(b, strong) {
  background: var(--gradient-azul);
  color: var(--c-blanco);
  padding: 0 .2em;
  font-weight: 200;
}
blockquote{

  background: #f7f7f7;
  border-left: 10px solid var(--c-gris-2);
  padding: 3rem 2rem 3rem 5rem;
  margin: 2rem 0;
  position: relative;
}
blockquote p{
  font-size: 1.5rem;
  font-style: italic;
  margin: 0;
}
blockquote::before{
  content: open-quote;
  color: var(--c-gris);
  font-family:Georgia, 'Times New Roman', Times, serif;
  font-size: 10rem;
  position: absolute;
  left: 1rem;
  top:-2rem;
}

/*
LINKS
*/
a {
  display: inline-block;
  text-decoration: none;
  -webkit-transition: all ease-out .3s;
  -o-transition: all ease-out .3s;
  transition: all ease-out .3s;
  color: unset;
}

a:hover {
  text-decoration: none;

}

.btn-if {
  color: var(--c-oscuro);
  text-decoration: none!important;
  padding: 15px 35px;
  font-size: 1.13rem;
  line-height: 1.55;
  font-weight: 200;
  position: relative;
  border: 1px solid var(--c-oscuro);
  overflow: hidden;
  transition: color 0.3s ease-out;
  z-index: 1;
}

.btn-if:hover {
  color: var(--c-blanco);
}

.btn-if::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--gradient-azul);
  transform: translateY(-100%);
  transition: all .3s ease-out;
  z-index: -1;
}

.btn-if:hover::before {
  transform: translateY(0);
}

.btn-if.btn-light,
.cta-img-blur .btn-if,
:is(.back-oscuro, .back-azul, .back-grad) :is(.btn-if) {
  background: transparent;
  color: var(--c-blanco);
  border: .5px solid var(--c-blanco);
}
:is(.back-oscuro, .back-azul, .back-grad) :is(.btn-if.invert) {
  background: var(--c-blanco);
  color: var(--c-oscuro);
  border: .5px solid var(--c-oscuro);

}
.btn-if.btn-light:hover,
.cta-img-blur .btn-if:hover,
:is(.back-oscuro, .back-azul, .back-grad) :is(.btn-if):hover {
  color: var(--c-oscuro);
}

.btn-if.btn-light::before,
.cta-img-blur .btn-if::before,
:is(.back-oscuro, .back-azul, .back-grad) :is(.btn-if)::before {
  background: var(--c-blanco);
}
  .form-if .btn-if{
    background-color: var(--c-oscuro);
    color: var(--c-blanco);
  }
  .form-if .btn-if:hover{
    background-color: transparent;
    color: var(--c-oscuro);
  }

  .btn-if.mini{
    padding: 10px 20px;
    font-size: .9rem;
    line-height: 1.5;
  }


.link-if{
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
.link-if:hover{
  text-decoration: underline;
  text-decoration-thickness: 3px;
}


/*
GENERALES
*/
.corte-doagonal {
  clip-path: polygon(0 50px, 50px 0, 100% 0, 100% 100%, 0 100%);
}




/*SVG*/
.icon {
  width: 20px;
  height: 20px;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  display: inline-block;
  vertical-align: -webkit-baseline-middle;
  vertical-align: -moz-middle-with-baseline;
}

.icon-whats {
  -webkit-mask-image: var(--svg-whats);
  mask-image: var(--svg-whats);
}

.icon-instagram {
  -webkit-mask-image: var(--svg-instagram);
  mask-image: var(--svg-instagram);
}

.icon-x {
  -webkit-mask-image: var(--svg-x);
  mask-image: var(--svg-x);
}
.icon-facebook {
  -webkit-mask-image: var(--svg-facebook);
  mask-image: var(--svg-facebook);
}
.icon-linkedin {
  -webkit-mask-image: var(--svg-linkedin);
  mask-image: var(--svg-linkedin);
}

.icon-blanco {
  background-color: var(--c-blanco);
}
a.external::after {
  content: '';
  width: 10px;
  height: 10px;
  background-color: var(--c-gris-2);
  margin-left: 0.3rem;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  display: inline-block;
  vertical-align: middle;
  -webkit-mask-image: var(--svg-external);
  mask-image: var(--svg-external);
}


/*
MENU
*/

nav.navbar {
  background: linear-gradient(90deg, rgba(var(--c-azul-rgb), 0.9) 0%, rgba(var(--c-oscuro-rgb), 0.9) 100%);
  padding: 30px 0;
  backdrop-filter: blur(5.5px);
  transition: all 0.3s ease;
}


.navbar-brand {
  padding: 0;
}

.navbar-brand {
  background: url(../img/ifenerghi-monograma.svg) no-repeat center left;
  background-size: contain;
  filter: var(--filtro-blanco);
}

.navbar-brand img {
  filter: var(--filtro-blanco);
  height: 40px;
  transition: all 0.3s ease;
}

.nav-link {
  color: var(--c-blanco);
  font-size: 1rem;
  letter-spacing: 0.06rem;
  font-weight: 200;
}

.nav-link:focus,
.nav-link:hover,
.navbar-nav .nav-link.active,
.navbar-nav .nav-link.show {
  color: var(--c-gris-2);
}

nav .cont-redes {
  margin-bottom: 0;
  margin-top: 2rem;
}

.cont-redes a {
  margin-right: 1rem;
}

.cont-redes a:focus,
.cont-redes a:hover {
  background-color: var(--c-gris-2);
}

nav.navbar-scrolled {
  padding: 10px 0;
}

nav.navbar-scrolled .navbar-brand img {
  opacity: 0;
  transition: all 0.3s ease;
  height: 20px;
}

.navbar-toggler {
  padding-right: 0;
  border: none;

}

.navbar-toggler-icon {
  background-image: var(--svg-menu);
  background-size: contain;
  transition: background-image 0.3s ease;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
  background-image: var(--svg-close);
}
.dropdown-menu{
  background: var(--c-azul);
  border: none;
  border-radius: 0;
  padding: 0;
}
.dropdown-item{
  color:var(--c-blanco);
  padding: 1rem;
}
.dropdown-item:focus, .dropdown-item:hover, .dropdown-item.active{
  background: var(--c-blanco);
  color: var(--c-oscuro);
}


/*
HEADER
*/

.header {
  background-color: var(--c-blanco);
  overflow: hidden;
  margin-top: 100px;
  padding: 0;
}
.header[class*="back-"] + [class*="back-"]{
  padding-top: 8rem;
}
.header h4:has(+ h1){
  padding-left: 1rem;
}


/*
FOTOS EXTENDIDAS
*/

.foto-full-cont {
  width: 100%;
  height: 300px;
  background-size: cover;
  background-position-x: center;
  position: relative;
}

.foto-full-cont::after {
  content: '';
  background-color: rgba(var(--c-oscuro-rgb), 0.3);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.foto-full-txt {
  padding: 2rem;
}

/*
TEXTO Y FOTO 
*/
.txt-foto-no-padd-bottom {
  padding-bottom: 0;
}

.txt-extra {
  margin-bottom: 6rem;
}

.txt-foto-img-cont {
  position: relative;
  overflow: hidden;
}

.txt-foto-img {
  height: var(--card-img-ver);
  width: 100%;
  object-fit: cover;
  will-change: transform;
}

/*CARDS*/

section:has(+ section.cards-up) {
  padding-bottom: calc(var(--card-img) + 5rem);
}



section.cards-up .cont-cards {
  margin-top: calc(-1 * var(--card-img) - 10.5rem);
}

section.cards-tit-back {
  background: no-repeat bottom center;
  background-size: cover;
  padding-top: var(--img-back-full)!important;
  position: relative;
  z-index: 0;
}

.cards-tit-back::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

  .back-oscuro.cards-tit-back::after {
    background: linear-gradient(180deg, rgba(var(--c-oscuro-rgb), 0) calc(var(--img-back-full)* .4), var(--c-oscuro) calc(var(--img-back-full)* 1));
    color: var(--c-blanco);
  }
  .back-azul.cards-tit-back::after {
    background: linear-gradient(180deg, rgba(var(--c-azul-rgb), 0) calc(var(--img-back-full)* .4), var(--c-azul) calc(var(--img-back-full)* 1));
    color: var(--c-blanco);
  }
  .back-blanco.cards-tit-back::after {
    background: linear-gradient(180deg, rgba(var(--c-blanco-rgb), 0) calc(var(--img-back-full)* .4), var(--c-blanco) calc(var(--img-back-full)* 1));
    color: var(--c-oscuro);
  }


.card-if {
  background-color: var(--c-oscuro);
  overflow: hidden;
  clip-path: polygon(0 30px, 30px 0, 100% 0, 100% 100%, 0 100%);
}
  div:has(> .card-if){
    margin-bottom: 2.5rem;
    margin-top: 2.5rem;
  }
  .card-if.no-diagonal{
    clip-path: none;
  }

.card-if.card-solo {
  background: transparent;
  clip-path: none;
}

.card-if-img-cont {
  background: var(--c-gris-2);
  height: var(--card-img);
  overflow: hidden;
  position: relative;
}

.card-if img {
  width: 100%;
  height: var(--card-img);
  object-fit: cover;
  position: relative;

  filter: grayscale(38%) brightness(115%) hue-rotate(345deg) saturate(131%) contrast(104%);
-webkit-filter: grayscale(38%) brightness(115%) hue-rotate(345deg) saturate(131%) contrast(104%);
-moz-filter: grayscale(38%) brightness(115%) hue-rotate(345deg) saturate(131%) contrast(104%);
}
.card-if-img-cont::after{
  content: '';
  background: linear-gradient(to top, rgba(var(--c-oscuro-rgb), 1) 0%, rgba(var(--c-oscuro-rgb), 0.5) 25%, rgba(var(--c-oscuro-rgb), 0) 50%);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
  .card-if-img-cont:has(a)::after{
    content: none;
  }

.card-if .card-body {
  background: var(--gradient-azul-2);
  color: var(--c-blanco);
  padding: 1.5rem;
}
  .card-if .card-body p{
    font-size: 1rem;
  }
  .card-if .card-body p:last-child{
    margin-bottom: 0;
  }
  .card-if .card-body .card-tit{
    text-wrap: inherit;
  }
  .back-blanco .card-if.card-solo .card-body{
    color: var(--c-oscuro);
  }

  .card-if.card-solo .card-body {
    background: transparent;
    padding: 0 1rem 0 0;
  }
  .card-if .card-body .card-tit a:hover{
    color: var(--c-gris-2);
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }
  .card-if .card-if-img-cont a{
    display: block;
    width: 100%;
    height: 100%;
    transition: all 0.3s ease;
  }
  .card-if .card-if-img-cont a img{
    transition: all 0.3s ease;
  }
  .card-if .card-if-img-cont a:hover img{
    transform: scale(1.05);
    transition: all 0.3s ease;
    opacity: 0.8;
  }
  .card-body ul,
  .blog-post ul{
    list-style: none;
    position: relative;
  }
  .blog-post li,
  .card-body li{
    padding-left: 10px;
    position: relative;
    margin-bottom: .5em;
  }
    .blog-post ul li::before,
    .card-body ul li::before{
      content: '';
      width: 8px;
      height: 8px;
      background: var(--c-gris-2);
      position: absolute;
      left: -15px;
      top: .5em;
    }
  .blog-post ul,
  .card-body ul{
    list-style-position: outside;
  }
    .blog-post ol li::marker,
    .card-body ol li::marker {
      color: var(--c-gris-2);
    }
  .blog-post ol ol,
  .blog-post ol ol ol,
  .card-body ol ol,
  .card-body ol ol ol{
	list-style-type: lower-alpha;
}

.card-if.post .card-body,
.card-if.post,
.card-if.card-mini .card-body,
.card-if.card-mini{
  background:none;
  color: var(--c-oscuro);
}
.card-if.post img,
.post .card-if-img-cont {
  height: var(--img-blog-thumb);
}
.card-if.post .card-body{
  border: 1px solid var(--c-oscuro);
  border-top: none;
}
.card-if.post .card-tit{
  font-size: 1.3rem;
  letter-spacing:0;
}
  .blog-post .card-if.post .card-tit{
    font-size:1.13rem;
  }
.card-if.post .card-tit a{
  text-decoration: none;
}

.card-if.card-mini{
  border: 1px solid var(--c-oscuro);
}
.card-mini .card-if-img-cont{
  height: var(--card-img-mini);
}
.card-if.card-mini img{
  height: var(--card-img-mini);
}
.card-if.card-mini .card-body{
  background-color: var(--c-blanco);
}
.card-if.card-mini .card-tit{
  margin-bottom: 0;
}

  /*
  SERVICIOS
  */

.cont-servicios{
  margin-top: 4rem;
}
/*
BLOG
*/
.header.blog{
  
  margin-bottom: 5rem;
}
.header.blog .txt-foto-img-cont{
  margin-bottom: 5rem;
}
.header.blog img {
  background-color: var(--c-oscuro);
  width: 100%;
  height: var(--img-blog-full);
  object-fit: cover;
}
.post-fecha{
  color: var(--c-gris-2);
}
.blog-post a{
  text-decoration: underline;
}
.blog-post li{
  font-size: 1.13rem;
}
.contenidos img{
  width: calc(100% + 4rem)!important;
  height: auto!important;
  margin-bottom: 2rem;
  margin-left: -2rem;
  margin-right: -2rem;
}
.blog-post p:has(> img){
  margin:2rem 0 1rem;
}
.contenidos{
  margin-bottom: 4rem;
}
.paginacion{
  margin-top: 3rem;
	text-align: center;
}
.paginacion a{
	margin:0 1rem;
}

.cont-videos:has(+ *){
  margin-bottom: 5rem;
}
*:has(+ .cont-videos){
  margin-bottom: 3rem;
}
.comparte{
  margin-bottom: 4rem;
}

/*
MINIS
*/
.mini .container-lg:has(+ .container-lg){
  margin-bottom: 5rem;
}

/*
CTA
*/

.cta-txt {
  padding: 3rem 0;
  background-size: cover;
  background-position: center;
  position: relative;
  text-align: center;
  z-index: 1;
}
  .cta-txt.cta-back{
    color: var(--c-blanco);
    padding: 10rem 0;
  }

.cta-img-blur .cta-txt::after {
  content: '';
  background-color: rgba(var(--c-oscuro-rgb), 0.35);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  backdrop-filter: blur(var(--blur-cta));
  z-index: -1;
}

/*
FORMULARIO
*/
a[name="contacto"] {
	position: absolute;
}
.form-if dt{
	display: none;
}
.form-if .form-control{
	background-color: transparent;
	border:1px solid var(--c-gris-2);
  border-radius: 0;
	outline: none;
	font-size: 1rem;
	padding: 1rem;
	margin-bottom: 1rem;
}
/*
MAPA
*/
.mapa-tit{
  margin-bottom: 2rem;
}
#mapa{
  border: 1px solid var(--c-gris-2);
}
/*
FOOTER
*/

footer {
  background: var(--c-blanco);
  padding: 4rem 0;
}
  .back-blanco + footer {
    border-top: 1px solid var(--c-oscuro);
  }

footer .footer-logo {
  height: 30px;
}

footer .cont-redes {
  margin-bottom: 0;
  margin-top: 3rem;
}

footer .cont-redes a {
  background-color: var(--c-oscuro);
}

.footer-body {
  margin-top: 4rem;
}

.footer-body li,
.footer-body .datos-contacto p {
  font-size: 0.88rem;
  margin-bottom: 0.8rem;
}

footer ul {
  padding: 0;
  list-style: none;
}

.footer-body a:hover {
  color: var(--c-gris-2);
}

.disclaimer {
  background: var(--c-azul);
}

.disclaimer p {
  color: var(--c-gris-2);
  font-size: 0.88rem;
  margin-bottom: 0;
  padding: 1.5rem 0;
}

.disclaimer p a:hover {
  color: var(--c-blanco);
}

/*
Flyer / MODAL
*/
.modal-content{
  background-color: var(--c-blanco);
  border-radius: 0;
}
.modal-header{
  border-bottom: none;
  
}
.modal-body{
  padding: 0;
}
.modal-boton{
  padding: 1rem;
  margin-top: 1rem;
}

/*
COOKIES
*/

#cookieModal{
  color: var(--c-blanco);
  padding: 1.15rem;
  position: fixed;
  bottom:20px;
  right: 20px;
  width: 320px;
  max-width: 90%;
  display: none;
  z-index: 99999;
  transition: transform 0.5s ease-out;
  transform: translateY(100%);
}
#cookieModal.show {
  transform: translateY(0);
}
#cookieModal p{
  font-size: .9rem;
  margin-bottom: 1.5rem;
}
#cookieModal p a{
  text-decoration: underline;
  text-underline-offset: 3px;
}
/*
BACKS
*/
.back-grad,
.back-oscuro,
.back-azul {
  color: var(--c-blanco);
}

.back-oscuro {
  background-color: var(--c-oscuro);
}

.back-oscuro+.back-oscuro {
  padding-top: 0;
}

.back-azul {
  background-color: var(--c-azul);
}
.back-azul+.back-azul {
  padding-top: 0;
}

.back-grad {
  background: var(--gradient-azul);
  position: relative;
  z-index: 1;
}
  .back-grad+.back-grad{
    padding-top: 0;
  }

.back-grad::after {
  content: '';
  background: url(../img/if-textura-logo.png) no-repeat center center;
  background-size: cover;
  background-position: center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.75;
  z-index: -1;
}
:is(.back-oscuro, .back-azul, .back-grad) :is(.header h4){
  color: var(--c-gris-2);
}
:is(.back-oscuro, .back-azul, .back-grad) :is(h1 b, h2 b, h3 b, h4 b),
:is(.back-oscuro, .back-azul, .back-grad) :is(h1 strong, h2 strong, h3 strong, h4 strong) {
  background: var(--c-gris-2);
  color: var(--c-oscuro);
}
.back-blanco+.back-blanco{
  padding-top: 0;
}
.back-blanco .card-if.card-mini{
  clip-path: none;
  border: 1px solid var(--c-oscuro);
}

section[class*="back-"]+section.cards-up,
section[class*=" back-"]+section.cards-up {
  padding-top: 8rem;
}


/*
Edit
*/
.edit {
  background-color: var(--c-azul);
  color: var(--c-blanco);
  position: fixed;
  width: auto;
  height: 40px;
  left: 0;
  bottom: 50%;
  z-index: 99999;

}

.edit p {

  font-size: .75rem;
  padding: 8px 15px;
  text-align: center;
  text-transform: uppercase;

}

.edit p a {
  color: var(--c-blanco);
  font-family: var(--text-font);
  font-weight: bolder;
}


/*// Medium devices (tablets, 768px and up)*/
@media (min-width: 768px) {
  :root {
    --card-img-ver: 650px;
  }

  .navbar-expand-md .navbar-nav .nav-link {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  nav .cont-redes {
    margin-top: 0;
  }
  .navbar-brand img{
    height: 30px;
  }
  .dropdown-menu[data-bs-popper]{
    top: 68px;
    -webkit-transition: all ease-out .3s;
  -o-transition: all ease-out .3s;
  transition: all ease-out .3s;
  }
  nav.navbar-scrolled .dropdown-menu[data-bs-popper]{
    top: 48px;
    -webkit-transition: all ease-out .3s;
  -o-transition: all ease-out .3s;
  transition: all ease-out .3s;
  }
  .dropdown-item{
    padding: 1rem 2rem;
  }

  .cont-redes a {
    margin-left: .5rem;
    margin-right: 0;
  }

  .foto-full-cont {
    height: calc(100% + 1px);
  }

  footer .cont-redes {
    margin-top: 0;
  }

}


/* Large devices (desktops, 992px and up)*/
@media (min-width: 992px) {
  :root{
    --card-img-mini:200px;
  }
  html {
    font-size: 16px;
  }
  .navbar-brand img{
    height: 40px;
  }
  nav .cont-redes {
    margin-left: 3rem;
  }

  .cont-redes a {
    margin-left: 1rem;
  }

  h1 {
    font-size: 3.5rem;
  }

  .foto-full-txt {
    padding: 8rem .75rem;
  }

  .header p {
    padding-right: 10%;
  }

  /* .cont-cards .col-md-4:nth-last-child(-n+3),
  .cont-cards .col-md-3:nth-last-child(-n+4),
  .cont-cards .col-md-6:nth-last-child(-n+2),
  .cont-servicios .col-md-4:nth-last-child(-n+3){
    margin-bottom: 0;
  } */

  footer {
    padding: 8rem 0 6rem;
  }


}

/*X-Large devices (large desktops, 1200px and up)*/
@media (min-width: 1200px) {

  :root {
    --card-img: 350px;

  }
  .blog-post .contenidos img{
    width: calc(100% + 200px)!important;
    margin-left: -100px;
    margin-right: -100px;
  }



}

@media (min-width: 1400px) {
  
  :root{
    --img-blog-full: 30rem;
  }
  
  .header p {
    padding-right: 20%;
  }
}



/*sm` applies to x-small devices (portrait phones, less than 576px)*/
@media (max-width: 575.98px) {
  #cookieModal.show {
    transform: translate(35px,25px) scale(0.8);
  }
}
/* md applies to small devices (landscape phones, less than 768px)*/
@media (max-width: 767.98px) {


  .navbar-nav {
    padding-top: 3rem;
  }

  footer .cont-redes a {
    margin: 0 0.5rem;
  }

  .txt-foto-txt-cont {
    padding: 3rem 0;
  }
  .header.blog .txt-foto-img-cont {
    margin-bottom: 30px;
    width: calc(100% + 4rem);
    margin-left: -2rem;
  }
  


}


/* `lg` applies to medium devices (tablets, less than 992px)*/
@media (max-width: 991.98px) {

  .container,
  .container-fluid,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl,
  .container-xxl {
    padding-left: 2rem;
    padding-right: 2rem;
  }

}


/* `xl` applies to large devices (desktops, less than 1200px)*/
@media (max-width: 1199.98px) {}