

.top-bar-area {
    background-color: #0a1027;
    padding: 18px 0 20px;
    position: relative;
    z-index: 1;
}

.top-bar-area:before {
    position: absolute;
    content: "";
    width: 42%;
    height: 100%;
    left: -43px;
    top: 0;
    background: var(--color-rojo);
    z-index: -1;
    transform: skew(322deg);
}

.top-bar-info  ul li {
    display: inline-block;
    color: #fff;
    margin-right: 53px;
}

.top-bar-info ul li i {
    display: inline-block;
    color: #fff;
    font-size: 16px;
    margin-right: 9px;
}

.top-bar-social-address {
    text-align: right;
}

.top-bar-social-address ul li {
    display: inline-block;
}

.top-bar-social-address ul li i {
    color: #fff;
    display: inline-block;
    font-size: 14px;
    margin-left: 12px;
    transition:0.5s;
}

.top-bar-social-address ul li i:hover{
    color:var(--color-rojo);
}

.header-area {
    border-bottom: 1px solid #ffffff30;
    z-index: 2;
    position: relative;
}

.header-menu {
    text-align: right;
}

.header-menu ul {
    display: inline-block;
}

.header-menu ul li {
    display: inline-block;
    margin-right: 40px;
}

.header-menu ul li a {
    display: inline-block;
    font-size: 18px;
    font-weight: 400;
    padding: 36px 0;
    transition: 0.5s;
    font-family: "Yantramanav";
    color: #012549;
}

.header-menu ul li a:hover{
    color:var(--color-rojo);
}

.header-menu ul li i {
    font-size: 12px;
    display: inline-block;
    position: relative;
    left: 6px;
    top: -2px;
    color:#012549;
    transition: 0.5s;
}

.header-menu ul li a:hover i{
    color:var(--color-rojo);
}

.header-menu ul li.menu-item-has-children {
    position: relative;
}

.header-menu ul li .sub-menu {
    position: absolute;
    width: 200px;
    display: block;
    text-align: left;
    background: #fff;
    opacity: 0;
    visibility: hidden;
    transition: 0.5s;
    top: 150%;
    z-index: 2;
    box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.3);
    border-top: 5px solid var(--color-rojo);
    border-radius: 3px 3px 0 0;
}

.header-menu ul li:hover .sub-menu{
    opacity: 1;
    top: 100%;
    visibility: visible;
}

.header-menu ul li .sub-menu li a {
    display: block;
    padding: 6px 19px;
    color: #012766;
    width: 200px;
    text-transform: capitalize;
    font-size: 16px;
    font-weight: 500;
}

.header-menu ul li .sub-menu li a:hover {
    background: var(--color-rojo);
    color: #fff;
}

.header-search-button {
    display: inline-block;
}

.header-button {
    display: inline-block;
}

.header-button a {
    display: inline-block;
    background: var(--color-rojo);
    padding: 11px 26px;
    margin-left: 30px;
    border: 2px solid var(--color-rojo);
    position: relative;
    z-index: 1;
    transition: 0.5s;
    font-size: 19px;
    color: #ffffff;
    font-weight: 500;
    border-radius: 5px;
    font-family: "Yantramanav";
}

.header-button a:hover{
    color: var(--color-rojo);
}

.header-button a:before{
    position:absolute;
    content:"";
    width:0;
    height: 100%;
    left: 50%;
    top: 0;
    background:#fff;
    z-index: -1;
    transition: 0.5s;
    border-radius: 5px;
}

.header-button a:hover:before{
    width: 100%;
    left:0;
}

.sticky {
    left: 0;
    margin: auto;
    position: fixed !important;
    top: 0;
    width: 100%;
    -webkit-box-shadow: 0 2px 5px -2px rgba(0, 0, 0, 0.1);
    box-shadow: 0 2px 5px -2px rgba(0, 0, 0, 0.1);
    background: #fff !important;
    transition: .5s !important;
    z-index: 922;
    -webkit-animation: 300ms running fadeInDown;
    animation: 500ms running fadeInUp;
    animation-name: slideInDown;
}
ul.sub-menu li a span {
    background: var(--color-rojo);
    padding: 4px 8px 3px;
    color: #fff;
    opacity: 1;
    
    border-radius: 2px;
    text-transform: uppercase;
    font-size: 13px;
    margin-left: 5px;
    transition: .5s;
}
ul.sub-menu li:hover a span {
    background: rgba(255,255,255, 0.20);
}

.hero-slider {
    width: 100%;
    height: 780px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    z-index: 0;
}

.hero-slider .swiper-slide {
  overflow: hidden;
  color: #fff;
}

.hero-slider .swiper-container {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.slide-inner.slide-bg-image {
    background: url(../images/slider/hero-bg.jpg);
}

.slide-inner.slide-bg-image.two{
    background: url(../images/slider/hero-bg2.jpg);
}

.hero-slider .slide-inner {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  background-size: cover;
  background-position: center;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: left;
}

.hero-slider .swiper-button-prev,
.hero-slider .swiper-button-next {
  background: transparent;
  width: 55px;
  height: 55px;
  line-height: 53px;
  margin-top: -30px;
  text-align: center;
  border: 2px solid var(--color-rojo);
  border-radius: 55px;
  opacity:0;
  visibility:hidden;
  transition:all .3s ease;
}
.hero-slider:hover .swiper-button-prev,
.hero-slider:hover .swiper-button-next {
  transform:translateX(0);
  opacity:1;
  visibility:visible;
}

.hero-slider .swiper-button-prev {
  left: 25px;
  transform:translateX(50px);
}

.hero-slider .swiper-button-prev:before {
  font-family: "Font Awesome 5 Free";
  content: "\f060";
  font-size: 15px;
  color: var(--color-rojo);
  font-style: normal;
  display: inline-block
  vertical-align: middle;
  font-weight: 900;
}

.hero-slider .swiper-button-next {
  right: 25px;
  transform:translateX(-50px);
}

.hero-slider .swiper-button-next:before {
  font-family: "Font Awesome 5 Free";
  content: "\f061";
  font-size: 15px;
  color: var(--color-rojo);
  font-style: normal;
  display: inline-block
  vertical-align: middle;
  font-weight: 900;
}

.hero-content {
    position: relative;
    text-align: center;
}

p.details-des {
    background: #ffff;
    position: absolute;
    bottom: -16px;
    right: 0;
    padding: 50px 56px;
    font-size: 16px;
    color: #565969;
    font-weight: 400;
    font-family: "Archivo";
}

a.tetails-btn {
    position: relative;
    margin-left: 70px;
    margin-right: 48px;
    font-size: 18px;
    color: #0a1027;
    font-weight: 500;
    font-family: "Yantramanav";
    display: inline-block;
}
a.tetails-btn:hover {
    color: var(--color-rojo);
}
a.tetails-btn:after {
    position: absolute;
    left: -37px;
    top: -26px;
    width: 1px;
    height: 73px;
    background-color: var(--color-rojo);
    content: "";
} 

.slide-inner.slide-bg-image.two .hero-content {
    position: relative;
    text-align: left;
}

.hero-content h4 {
    margin-left: 52px;
    font-size: 18px;
    line-height: 40px;
    color: var(--color-rojo);
    font-weight: 700;
    font-family: "Yantramanav";
    position: relative;
    z-index: 1;
    display: inline-block;
}

.hero-content h4:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    right: -146px;
    top: 14px;
    background: url(../images/slider/shape2.png);
    z-index: -1;
    background-repeat: no-repeat;
}

.hero-content h4:after {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    left: -50px;
    top: 14px;
    background: url(../images/slider/shape1.png);
    z-index: -1;
    background-repeat: no-repeat;
}

.hero-content.style-two h4:before {
   display: none;
}
.hero-content h1 {
    font-size: 80px;
    line-height: 90px;
    text-transform: uppercase;
    color: #ffffff;
    font-weight: 700;
    font-family: "Yantramanav";
}

p.hero-desc {
    width: 45%;
    margin: 12px 0 16px;
    font-size: 16px;
    line-height: 24px;
    color: #eeeeef;
    font-weight: 400;
}

a.hero-button {
    display: inline-block;
    background-color: var(--color-rojo);
    color: #fff;
    padding: 16px 42px;
    font-weight: 500;
    margin-top: 25px;
    position: relative;
    z-index: 1;
    border-radius: 5px;
    font-family: "Yantramanav";
    font-size: 19px;
}

.hero-content.styel-one a.hero-button {
    margin-top: 28px;
}

a.hero-button:hover{
  color: var(--color-rojo);
}

a.hero-button:before{
    position: absolute;
    content: "";
    width: 0;
    height: 100%;
    left: 50%;
    top: 0;
    border-radius:5px;
    background:#fff;
    z-index: -1;
    transition: 0.5s;
}

a.hero-button:hover:before{
    width: 100%;
    left: 0;
}

a.hero-button i {
    display: inline-block;
    position: relative;
    color: #fff;
    left: 9px;
    top: 3px;
    transition: 0.5s;
}

a.hero-button:hover i{
     color: var(--color-rojo);
}

.hero-shape {
    position: absolute;
    left: -78px;
    top: -73px;
}

.hero-thumb {
    position: absolute;
    bottom: -20px;
    right: 24%;
}

.about-area {
    background: url(../images/resource/about-bg.jpg);
    background-repeat: no-repeat;
    padding: 109px 0 100px;
}

p.about-desc {
    width: 85%;
    margin: 84px 0 32px;
}

.single-about-box-left {
    border-bottom: 1px solid #22222229;
    padding-bottom: 43px;
}

.single-about-thumb-left {
    float: left;
    margin-right: 30px;
}

.about-list-item ul li {
    font-size: 16px;
    line-height: 38px;
    color: #0a1027;
    font-weight: 500;
    font-family: "Yantramanav";
}

.about-list-item ul li i {
    display: inline-block;
    color: var(--color-rojo);
    font-size: 20px;
    margin-right: 12px;
    position: relative;
    top: 2px;
}

.about-author-one {
    margin-top: 25px;
}

.author-one-thumb {
    float: left;
    margin-right: 60px;
    margin-top: 8px;
}

.about-author-one-content h4 {
    font-size: 18px;
    color: #0a1027;
    font-weight: 400;
}

.about-author-one-content p {
    font-size: 14px;
    line-height: 28px;
    color: #565969;
    font-weight: 400;
}

.about-thumb-right {
    position: relative;
    left: 128px;
    top: 0;
}

.section-title h1 {
    font-size: 80px;
    line-height: 52px;
    text-transform: uppercase;
    color: #0a1027;
    font-weight: 700;
    font-family: "Yantramanav";
}

p.section-text {
    font-size: 24px;
    color: #0a1027;
    font-weight: 500;
    font-family: "Yantramanav";
    margin-top: 90px;
}

.em-bar {
    position: relative;
    background: #D0D0D0;
    width: 100%;
    height: 1px;
    left: 0px;
    top: -81px;
}

.em-bar:before {
    position: absolute;
    content: "";
    background: var(--color-rojo);
    width: 20px;
    height: 2px;
    left: 0;
    top: -1px;
    transition: 1s;
    -webkit-animation-duration: 10s;
    animation-duration: 10s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    animation-duration: 10s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-name: MOV-BG;
}
@-webkit-keyframes MOV-BG{
  from {
        transform: translateX(0);
  }
  to {
     transform: translateX(1300px);
  }
}

.section-button {
    margin-top: 34px;
    text-align: right;
}

.section-button a {
    display: inline-block;
    border: 1px solid #d0c5c552;
    padding: 9px 28px 5px;
    font-size: 16px;
    text-transform: uppercase;
    color: #0a1027;
    font-weight: 700;
    font-family: "Yantramanav";
	z-index:1;
	position:relative;
	transition:0.5s;
}

.section-button a:hover{
	color:#fff;
}

.section-button a:before{
	position:absolute;
	content:"";
	width:0;
	height:100%;
	left:50%;
	top:0;
	background:var(--color-rojo);
	z-index:-1;
	transition:0.5s
}	

.section-button a:hover:before{
	width:100%;
	left:0;
}

.section-button i {
    display: inline-block;
    font-size: 20px;
    transform: rotate(-50deg);
    position: relative;
    left: 13px;
    top: 0;
	transition:0.5s
}

.section-button a:hover i{
	transform: rotate(0deg);
	top:3px;
	color:#fff;
}

.row.section-title-gap {
    margin-top: 53px;
}

.section-title.inner {
    margin-bottom: 28px;
}

.section-title.inner h4 {
    color: var(--color-rojo);
    font-size: 18px;
    margin-bottom: 16px;
    font-weight: 500;
}

.section-title.inner h1 {
    font-size: 46px;
    line-height: 46px;
    color: #0a1027;
    font-weight: 700;
    text-transform: capitalize;
}

 p.section-desc {
    width: 100%;
    margin-top: 28px;
}

.service-area {
    background: url(../images/resource/service-bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    padding: 107px 0 119px;
    margin-top: -98px;
}

.service-area.upper {
    margin-top: 0;
}

.single-service-box {
    position: relative;
}

.single-service-thumb img {
    width: 100%;
    transition: 1s;
}

.single-service-box:hover .single-service-thumb img{
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
}

.service-icon {
    position: absolute;
    right: 42px;
    bottom: 44%;
    z-index: 2;
}

.service-content {
    background: #fff;
    padding: 45px 43px 43px;
    position: relative;
    z-index: 1;
}

.service-content:before {
    position: absolute;
    content: "";
    width: 84%;
    height: 5px;
    left: 0;
    top: 0;
    background: var(--color-rojo);
    z-index: -1;
}

.service-content a {
    display: inline-block;
    font-size: 22px;
    color: #0a1027;
    font-weight: 700;
    transition: 0.5s;
}

.single-service-box:hover .service-content a{
    color:var(--color-rojo);
}

.service-content p {
    margin: 16px 0 25px;
}

a.service-button {
    display: inline-block;
    font-size: 16px;
    background: var(--color-rojo);
    text-transform: uppercase;
    color: #ffffff;
    font-weight: 500;
    font-family: "Yantramanav";
    padding: 12px 22px 8px;
    border-radius: 2px;
    transition: 0.5s;
    border: 1px solid var(--color-rojo);
}

.single-service-box:hover a.service-button{
    background:#fff;
    color: var(--color-rojo) !important;
}

.project-area {
    background-color: #0a1027;
    padding: 113px 0 156px;
}

.project-area .section-title h1 {
    color: #ffff;
}

.project-area .section-title p {
    color: #ffff;
}

.project-area .section-button a {
    color: #fff;
}

.project-area .container-fulid {
    padding: 0 0 0 295px;
}

.single-project-box {
    margin: 0 0 0 29px;
}

.project-thumb img {
    width: 100%;
}

.project-content {
    background: #0a1027;
    margin-top: -65px;
    z-index: 1;
    position: relative;
    width: 93%;
    right: -36px;
    padding: 27px 7px 0 30px;
}

.project-content a {
    display: inline-block;
    font-size: 22px;
    color: #ffffff;
    font-weight: 500;
    font-family: "Yantramanav";
    transition: 0.5s;
}

.single-project-box:hover .project-content a{
    color:var(--color-rojo);
}

.project-content p {
    font-size: 16px;
    color: #8f9199;
    font-weight: 400;
    margin: 12px 0 21px;
}

a.project-button {
    background: var(--color-rojo);
    color: #fff;
    font-size: 16px;
    padding: 11px 24px;
    text-transform: uppercase;
    border-radius: 2px;
    transition: 0.5s;
}

.single-project-box:hover a.project-button{
    color:var(--color-rojo);
    background:#fff;
}
.owl-nav {
    position: absolute;
    text-align: center;
    left: -9%;
    top: 16%;
}
.owl-prev {
    background: var(--color-rojo);
    margin-top: 48px;
    margin-right: 6px;
    width: 108px;
    height: 36px;
    border-radius: 2px;
    color: #fff;
    line-height: 36px;
    padding-right: 58px;
    position: relative;
    z-index: 1;
}
.owl-prev:before {
    position: absolute;
    content: "NEXT";
    right: 17px;
    top: 0;
}

.owl-next {
    background: var(--color-rojo);
    margin-top: 20px;
    margin-right: 6px;
    width: 108px;
    height: 36px;
    border-radius: 2px;
    color: #fff;
    line-height: 36px;
    padding-left: 53px;
    position: relative;
    z-index: 1;
}
.owl-next:after {
    position: absolute;
    content: "PRVE";
    left: 17px;
    top: 0;
}

.working-process-area {
    background: url(../images/resource/process-bg.jpg);
    background-repeat: no-repeat;
    padding: 118px 0 100px;
    background-size: cover;
}

.single-process-box {
    text-align: center;
    padding: 0 29px 0;
}

.process-content h4 {
    font-size: 24px;
    color: #0a1027;
    font-weight: 500;
    font-family: "Yantramanav";
    margin: 25px 0 14px;
}

.team-area {
    background: url(../images/resource/service-bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    padding: 109px 0 116px;
}

.single-team-box {
    position: relative;
    overflow: hidden;
}

.team-thumb img {
    width: 100%;
}

.team-content {
    background: #F8F9FB;
    position: absolute;
    left: 0;
    width: 100%;
    bottom: -220px;
    padding: 26px 41px 37px;
    transition: 0.5s;
}

.single-team-box:hover .team-content{
    bottom: 0;
} 

.team-content h4 {
    font-size: 24px;
    color: #0a1027;
    font-weight: 700;
    margin: 0;
}

.team-content p {
    font-size: 16px;
    color: #565969;
    font-weight: 400;
    font-family: "Yantramanav";
    margin: 7px 0 23px;
    border-bottom: 1px solid #56596938;
    padding-bottom: 13px;
}

.team-social-icon ul li {
    display: inline-block;
}

.team-social-icon ul li i {
    display: inline-block;
    color: #272727;
    font-size: 13px;
    margin-right: 9px;
    transition: 0.5s;
}

.team-social-icon ul li i:hover{
    color:var(--color-rojo);
}

.team-contact-button {
    text-align: right;
}

.team-contact-button a {
    display: inline-block;
    background: var(--color-rojo);
    color: #fff;
    padding: 15px 33px;
    border-radius: 5px;
    margin-top: 40px;
}

.team-contact-button i {
    display: inline-block;
    color: #fff;
    position: relative;
    left: 6px;
    top: 1px;
}

.counter-area {
    padding: 54px 0 63px;
}

.counter-area .row.upper {
    padding: 0 13px 0 166px;
}

.counter-content h4 {
    font-size: 100px;
    color: #0a1027;
    font-weight: 500;
    font-family: "Yantramanav";
    margin: 0 0 1px;
    display: inline-block;
}

.counter-content span {
    font-size: 100px;
    color: #0a1027;
    font-weight: 500;
    font-family: "Yantramanav";
    margin: 0 0 1px;
    display: inline-block;
}

.counter-content p {
    font-size: 18px;
    color: #0a1027;
    font-weight: 500;
    font-family: "Yantramanav";
    border-top: 1px solid #0a10275c;
    padding-top: 25px;
}

.blog-area {
    background-color: #0a1027;
    padding: 111px 0 121px;
}

.single-blog-box.blog-gid {
    margin-bottom: 23px;
}

.blog-area .section-title h1 {
    color: #fff;
}

.blog-area p.section-text {
    color: #ffff;
}

.blog-area .section-button a {
    color: #fff;
}

.blog-area .section-button i{
    color: #fff;
}

.single-blog-thumb img {
    width: 100%;
}

.blog-content {
    background: #FFFFFF;
    padding: 23px 35px 32px;
    border-radius: 0 0 4px 4px;
}

.meta-blog {
    border-bottom: 1px solid #5659695e;
    padding-bottom: 18px;
    margin-bottom: 14px;
}

.meta-blog span {
    font-size: 16px;
    color: #565969;
    font-weight: 500;
    font-family: "Yantramanav";
    display: inline-block;
    margin-right: 37px;
}

.blog-content a {
    display: inline-block;
    font-size: 24px;
    line-height: 30px;
    color: #0a1027;
    font-weight: 700;
    font-family: "Yantramanav";
	transition:0.5s;
}

.blog-content a:hover{
	color:var(--color-rojo);
}

.blog-content p {
    margin: 11px 0 30px;
}

.blog-button a {
    display: inline-block;
    background: var(--color-rojo);
    font-size: 16px;
    text-transform: uppercase;
    color: #ffffff;
    font-weight: 500;
    font-family: "Yantramanav";
    padding: 9px 33px;
    border-radius: 2px;
	transition:0.5s;
	border:1px solid var(--color-rojo);
}

.blog-button a:hover{
	background:transparent;
	border:1px solid var(--color-rojo);
	color:var(--color-rojo);
}

.testi-area {
    background: url(../images/resource/testi-bg.jpg);
    background-repeat: no-repeat;
    padding: 100px 0 0px;
    background-size: cover;
    background-position: center center;
    position: relative;
}

.single-testi-box {
    background: url(../images/resource/testi-box-bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    padding: 4px 58px 110px;
    position: relative;
    margin-top: 63px;
    margin-right: 24px;
}

.testi-thumb {
    margin-top: -51px;
    margin-bottom: 31px;
}

.testi-content h4 {
    font-size: 22px;
    line-height: 24px;
    color: #0a1027;
    font-weight: 500;
    font-family: "Yantramanav";
}

.testi-content p {
    margin: 23px 0 23px;
}

.testi-author h4 {
    font-size: 22px;
    color: #0a1027;
    font-weight: 500;
    font-family: "Yantramanav";
}

.testi-quote-icon {
    position: absolute;
    right: 11%;
    bottom: 27%;
}

.testi-area .owl-dots {
    position: relative;
    text-align: center;
    left: -2%;
    bottom: 111px;
}

.testi-area .owl-dot {
    display: inline-block;
    background: var(--color-rojo)54;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    margin-top: 48px;
    margin-right: 6px;
}

.testi-area .owl-dot.active {
    display: inline-block;
    background: var(--color-rojo);
    width: 13px;
    height: 13px;
    border-radius: 50%;
    margin-top: 11px;
    margin-right: 6px;
    border: transparent;
}

.testi-video {
    text-align: center;
    position: relative;
    left: 76px;
}

.testi-video-icon i {
    display: inline-block;
    background: #ffff;
    color: var(--color-rojo);
    font-size: 30px;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    text-align: center;
    line-height: 84px;
    position: relative;
    z-index: 1;
}

.testi-video-icon i:after {
    position: absolute;
    content: "";
    width: 105px;
    height: 105px;
    left: -13px;
    top: -13px;
    background:var(--color-rojo);
    opacity: 0.6;
    z-index: -1;
    border-radius: 50%;
    -webkit-animation: ripple 1.6s ease-out infinite;
    -moz-animation: ripple 1.6s ease-out infinite;
}

@keyframes ripple {
  0%, 35% {
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    -ms-transform: scale(0);
    -o-transform: scale(0);
    transform: scale(0);
    opacity: 1; }
  50% {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
    opacity: 0.8; }
  100% {
    opacity: 0;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    }
 }

.testi-video p {
    font-size: 18px;
    line-height: 38px;
    color: #ffffff;
    font-weight: 500;
    font-family: "Yantramanav";
    margin-top: 21px;
}

.brand-area {
    background: url(../images/resource/brand-bg.png);
    background-repeat: no-repeat;
    padding: 167px 0 100px;
    margin-top: -131px;
    position: relative;
}

.single-brand-box {
    text-align: center;
}

.owl-carousel .owl-item img {
    display: inline-block;
    text-align: center !important;
}

.footer-area {
    background: url(../images/resource/footer-bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    padding: 118px 0 26px;
}

.newslatte-contant {
    margin-left: 80px;
}

.newslatte-contant h4 {
    font-size: 30px;
    line-height: 26px;
    color: #ffffff;
    font-weight: 500;
    font-family: "Yantramanav";
    text-transform: uppercase;
}

.newslatter-input-box {
    position: relative;
}

.newslatter-input-box input {
    width: 95%;
    height: 60px;
    border-radius: 5px;
    padding: 0 17px;
    border: transparent;
    outline: 0;
    color: #fff;
    background: #0D132B;
}

.newslatter-button button {
    float: right;
    position: absolute;
    right: 26px;
    top: 0;
    border: transparent;
    background: var(--color-rojo);
    color: #fff;
    padding: 18px 24px;
    border-radius: 0 5px 5px 0;
    text-transform: uppercase;
    font-weight: 500;
}

.row.add-boder {
    border-top: 1px solid #ffffff40;
    padding-top: 106px;
    margin-top: 74px;
}

.single-footer-widget-box.upper {
    margin-left: 107px;
}

.footer-widget-title h4 {
    font-size: 20px;
    font-weight: 400;
    margin-bottom: 57px;
    text-transform: uppercase;
    color: #e0e0e0;
}

.footer-widget-desc p {
    font-size: 16px;
    font-weight: 400;
    color: #8f9199;
    width: 72%;
}

.footer-social-icon ul li {
    display: inline-block;
    margin-top: 20px;
}

.footer-social-icon ul li i {
    display: inline-block;
    color: #fff;
    font-size: 16px;
    margin-right: 4px;
    border: 1px solid #ffffff3b;
    width: 38px;
    height: 38px;
    text-align: center;
    line-height: 38px;
    border-radius: 3px;
    transition: 0.5s;
}

.footer-social-icon ul li i:hover{
    background:var(--color-rojo);
}

.footer-widget-menu ul li a {
    display: inline-block;
    font-size: 16px;
    color: #8f9199;
    font-weight: 400;
    margin-bottom: 12px;
    transition: 0.5s;
}

.footer-widget-menu ul li a:hover{
    color:var(--color-rojo);
}

.footer-widget-contact ul li a {
    display: inline-block;
    font-size: 17px;
    line-height: 24px;
    color: #8f9199;
    font-weight: 400;
    font-family: "Archivo";
    transition: 0.5s;
}

.footer-widget-contact ul li a:hover{
    color:var(--color-rojo);
}

.footer-widget-contact ul li i {
    display: inline-block;
    background: #fff;
    color: var(--color-rojo);
    width: 30px;
    height: 28px;
    text-align: center;
    line-height: 32px;
    margin-bottom: 24px;
    border-radius: 3px;
    margin-right: 9px;
    font-size: 15px;
    position: relative;
    top: 3px;
}

.footer-bottom {
    border-top: 1px solid #ffffff21;
    padding-top: 25px;
    margin-top: 89px;
}

.footer-bottom-content p {
    opacity: 0.502;
    font-size: 16px;
    line-height: 24px;
    color: #8f9199;
    font-weight: 400;
    margin:0;
}

.footer-list-item {
    text-align: right;
}

.footer-list-item ul li {
    display: inline-block;
}

.footer-list-item ul li a {
    display: inline-block;
    opacity: 0.502;
    font-size: 18px;
    line-height: 24px;
    color: #8f9199;
    font-weight: 400;
    font-family: "Archivo";
}

.footer-list-item ul li a:hover{
    color: var(--color-rojo);
    opacity: 1;
}

.breadcumb-area {
    background: url(../images/resource/breadcrumb.jpg);
    position: relative;
    padding: 126px 0 144px;
}

/* peso 500, no 700: el tamano ya coincidia con el diseno (96x50 de tinta en
   "Blog" contra 97x51 del build) pero la densidad de trazo del build era 0,400
   frente a 0,352 del diseno, y un texto mas grueso se lee como mas grande.
   A 56px/500 la densidad da 0,347. */
.breadcumb-content h1 {
    margin-bottom: 10px;
    font-size: 56px;
    color: #ffffff;
    font-weight: 500;
    font-family: "Yantramanav";
}

/* 18px: medido palabra a palabra en la miga del diseno — "INICIO" 44px de
   tinta contra 40 del build, "NOSOTROS" 83 contra 74, "SOMOS" 55 contra 48.
   Ratio constante 1,12 sobre los 16px que traia el theme. */
.breadcumb-content ul li {
    text-transform: uppercase;
    display: inline-block;
    font-size: 18px;
    color: #ffffff;
    font-weight: 400;
    font-family: "Yantramanav";
    margin-right: 6px;
}

.breadcumb-content ul li i {
    color: #fff;
    font-size: 15px;
    margin-right: 10px;
}

/* los enlaces de la miga llevaban su propio font-size y se quedaban en 16px
   mientras el item de pagina actual ya iba a 18: "INICIO" medía 40px de tinta
   contra los 44 del diseno y "NOSOTROS" 74 contra 83. */
.breadcumb-content ul li a {
    text-transform: uppercase;
    padding-right: 20px;
    position: relative;
    z-index: 1;
    font-size: 18px;
    color: #ffffff;
    font-weight: 500;
    font-family: "Yantramanav";
}

.breadcumb-content ul li a:before {
    position: absolute;
    content: "";
    right: 5px;
    top: 5px;
    background: #fff;
    width: 2px;
    height: 12px;
    transition: .5s;
    transform: rotate(17deg);
}

.about_area{
    background: url(../images/resource/abou_bg2.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    padding: 120px 0 112px;
    position: relative;
}

.about_left{
    position: relative;
    margin-left: -70px;
}

.about_thumb{
    position: relative;
}

.about-shape2 {
    position: absolute;
    top: 50%;
    left: 31%;
}

.about-list {
    margin-bottom: 37px;
}

.about-list ul li {
    font-size: 18px;
    color: #171717;
    font-weight: 400;
    font-family: "Yantramanav";
    margin-bottom: 15px;
}

.about-list ul li i {
    font-size: 17px;
    color: #171717;
    margin-right: 10px;
}

.about-btn {
    display: inline-block;
    float: left;
    margin-right: 20px;
    z-index: 1;
    position: relative;
}

.about-btn a {
    display: inline-block;
    background: var(--color-rojo);
    color: #fff;
    padding: 14px 36px;
    border-radius: 5px;
}

.about-btn i {
    display: inline-block;
    font-size: 14px;
    position: relative;
    left: 8px;
    color: #fff;
}

.about-author {
    position: relative;
    top: -11px;
}

.about-author-thumb {
    float: left;
    margin-right: 15px;
}

.author-title h3 {
    font-size: 20px;
    color: #171717;
    font-weight: 500;
    font-family: "Yantramanav";
    margin-bottom: 3px;
}

.author-title p {
    font-size: 14px;
    color: #575f66;
    font-weight: 300;
    font-family: "Archivo";
}

.feature-area {
    padding: 101px 0 91px;
    background: #171717;
}

.feature-area .section-title.two {
    margin-bottom: 58px;
}

.feature-area .section-title h1 {
    color: #fff;
}

.fature-signe-iiner {
    padding: 26px 40px 30px;
    border-bottom: 4px solid var(--color-rojo);
    transition: .5s;
    background: #fff;
    position: relative;
    z-index: 1;
    margin-bottom: 30px;
}

.fature-signe-iiner:hover {
    background: #171717;
    border-bottom: 4px solid transparent;
}

.fature-signe-iiner:before {
    position: absolute;
    content: "";
    left: -3px;
    top: -3px;
    border-top: 3px solid var(--color-rojo);
    border-bottom: 10px solid var(--color-rojo);
    border-left: 3px solid var(--color-rojo);
    border-right: 10px solid var(--color-rojo);
    height: 106%;
    width: 103%;
    z-index: -1;
    opacity: 0;
    transition: .5s;
}

.fature-signe-iiner:after {
    position: absolute;
    content: "'";
    width: 34px;
    height: 34px;
    background: url(../images/resource/download.png);
    right: 1px;
    bottom: -3px;
    opacity: 0;
    transition: .5s;
    z-index: -1;
}

.fature-signe-iiner:hover:after {
    opacity: 1;
}

.fature-signe-iiner:hover:before {
    opacity: 1;
}

.feature-text {
    display: flex;
    align-items: center;
}

h3.feature-namber {
    width: 50px;
    height: 50px;
    background-color: var(--color-rojo);
    line-height: 50px;
    font-size: 20px;
    color: #ffffff;
    font-weight: 700;
    font-family: "Yantramanav";
    text-align: center;
    margin-right: 19px;
}

.feature-title {
    position: relative;
    top: 3px;
}

.feature-title span {
    font-size: 15px;
    color: #575f66;
    font-weight: 300;
    font-family: "Archivo";
    margin-bottom: 5px;
    display: inline-block;
    transition: .5s;
}

.feature-title h3 {
    font-size: 22px;
    color: #171717;
    font-weight: 700;
    font-family: "Yantramanav";
    margin: 0;
    transition: .5s;
}

.feature-desc p {
    margin-top: 22px;
    margin-bottom: 22px;
    transition: .5s;
}

.feature-btn a {
    display: inline-block;
    font-size: 16px;
    color: #171717;
    font-weight: 500;
    font-family: "Yantramanav";
    border-bottom: 1px solid rgba(23,23,23,0.14901960784313725);
}

.feature-btn a i {
    font-size: 13px;
    font-weight: 600;
    margin-left: 12px;
    display: inline-block;
    transform: rotate(-45deg);
}

.fature-signe-iiner:hover .feature-desc p{
    color:  #8e939f;
}

.fature-signe-iiner:hover .feature-title h3 {
    color:  #fff;
}

.fature-signe-iiner:hover .feature-title span  {
    color:  #8e939f;
}

.fature-signe-iiner:hover .feature-btn a  {
    color:  #FF5F15;
    border-bottom: 1px solid #FF5F15;
}

.pricing-area {
    padding: 103px 0 89px;
    background: #F5F6F8;
}

.pricing-area .section-title.inner {
    margin-bottom: 48px;
}

.pricing-single-items {
    background: url(../images/resource/pricing_shape.png);
    margin-bottom: 30px;
    padding: 20px 20px 20px;
    position: relative;
    z-index: 1;
}

.pricing-single-items:before {
    position: absolute;
    content: "";
    height: 100%;
    width: 100%;
    background: rgba(23,23,23,0.8);
    top: 0;
    left: 0;
    z-index: -1;
    transform: scale(0);
    transition: .6s;
}

.pricing-single-items:hover:before {
    transform: scale(1);
}

.pricing-single-items:before {
    position: absolute;
    content: "";
    height: 100%;
    width: 100%;
    background: rgba(23,23,23);
    top: 0;
    left: 0;
    z-index: -1;
    opacity: 0.6;
}

.pricing-single-inner {
    background: #fff;
    border: 1px solid rgba(23,23,23,0.07);
    padding: 35px 40px 49px;
    position: relative;
    z-index: 1;
    overflow: hidden;
    transition: .6s;
}

.pricing-single-inner:before {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    transform: scale(0);
    height: 100%;
    width: 100%;
    background: #171717;
    z-index: -1;
    transition: .5s;
}

.pricing-item-text {
    margin-bottom: 10px;
}

.pricing-title h3 {
    font-size: 22px;
    color: #171717;
    font-weight: 500;
    font-family: "Yantramanav";
    margin-bottom: 30px;
    transition: .5s;
}

.currency {
    font-size: 28px !important;
    font-weight: 700 !important;
    position: relative;
    top: -24px;
    line-height: 68px;
    color: var(--color-rojo);
}

.pricing-item-text span {
    display: inline-block;
    font-size: 70px;
    color: var(--color-rojo);
    font-weight: 700;
    font-family: "Yantramanav";
}

.month {
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #575f66 !important;
    font-style: italic;
    font-family: "Archivo" !important;
    margin-left: -17px;
}

.pricing-feature {
    margin-bottom: 27px;
}

.pricing-feature ul li {
    display: block;
    padding: 4px 0;
    font-size: 16px;
    color: #575f66;
    font-weight: 300;
    font-family: "Archivo";
}

.pricing-feature ul li i {
    margin-right: 5px;
    font-size: 20px;
    position: relative;
    top: 2px;
}

.pricing-btn a {
    display: inline-block;
    background: var(--color-rojo);
    color: #fff;
    padding: 12px 31px;
    font-size: 16px;
    font-weight: 500;
}

.pricing-btn i {
    font-size: 16px;
    display: inline-block;
    position: relative;
    left: 8px;
    top: 0px;
    transform: rotate(317deg);
    transition: 0.5s;
}

.pricing-btn a:hover i{
    transform: rotate(0);
}

.pricing-rcomnded {
    position: absolute;
    top: 18px;
    right: -73px;
    transform: rotate(47deg);
    opacity: 0;
    transition: .5s;
}

.pricing-rcomnded span {
    font-size: 13px;
    color: var(--color-rojo);
    font-weight: 400;
    font-family: "Archivo";
    text-align: center;
    background: #fff;
    padding: 12px 70px;
}

.pricing-single-items:hover .pricing-single-inner:before {
    transform: scale(1);
}

.pricing-single-items:hover .pricing-single-inner {
    border: 1px solid #171717;
}

.pricing-single-items:hover .pricing-title h3 {
    color: #fff;
}

.pricing-single-items:hover .pricing-feature ul li {
    color: #fff;
}

.pricing-single-items:hover .pricing-rcomnded{
    opacity: 1;
    top: 28px;
    right: -66px;
}

.project-area.style-two {
    padding: 100px 0 90px;
}

.project-area.style-two .section-title.inner {
    margin-bottom: 49px;
}

.project-area.style-two .single-project-box {
    margin: 0 0 45px 0;
}

.portfolio_nav {
    margin-top: 16px;
}

.portfolio_menu ul {
    text-align: right;
    list-style: none;
}

.portfolio_nav ul li {
    transition: all 0.5s ease 0s;
    cursor: pointer;
    padding: 7px 22px;
    display: inline-block;
    border: 1px solid rgba(23,23,23,0.1);
    margin-left: 10px;
    font-size: 17px;
    color: #fff;
    font-weight: 400;
    font-family: "Yantramanav";
    position: relative;
    z-index: 1;
    background: var(--color-rojo);
}

.portfolio_nav ul li:hover {
    color: #fff;
    border: 1px solid #fff;
}

.portfolio_nav ul li:after {
    position: absolute;
    content: "";
    height: 100%;
    width: 0%;
    background: #FF7A14;
    left: 0;
    top: 0;
    z-index: -1;
    transition: 0.5s;
    transform: scale(0);
    opacity: 0;
}

.portfolio_nav ul li:hover:after {
    transform: scale(1);
    opacity: 1;
    height: 100%;
    width: 100%;
}

.portfolio_menu ul li a {
    display: block;
    color: #fff;
    text-transform: uppercase;
    position: relative;
    transition: .5s;
}

.portfolio_menu ul li a:before {
    position: absolute;
    content: "";
    left: 0;
    top: 24px;
    height: 2px;
    width: 0%;
    background: #fff;
    transition: .5s;
}

.portfolio_nav ul li:hover,
.portfolio_nav ul li.current_menu_item {
    color: #fff;
    background: var(--color-rojo);
    
}

.service-detials-area {
    padding: 120px 0 84px;
}

.Indastre-service-thumb img {
    width: 835px;
    max-width: 100%;
    height: auto;
}

.service-page-title h1 {
    font-size: 34px;
    color: #171717;
    font-weight: 700;
    font-family: "Yantramanav";
    padding: 22px 0 12px;
    display: inline-block;
}

p.pb_30 {
    margin-bottom: 31px;
    margin-top: 24px;
}

.service-details-box {
    background: #fff;
    padding: 33px 30px 15px;
    margin-bottom: 30px;
    border-left: 3px solid #FF5D13;
    filter: drop-shadow(0px 5px 30px rgba(117,117,117,0.1));
}

.service-details-box:before {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    height: 100%;
    width: 0%;
    background: #FF5D13;
    z-index: -1;
    transition: .5s;
}

.service-details-box:hover:before {
    width: 100%;
}

.service-details-icon {
    float: left;
    margin-right: 25px;
    margin-top: 10px;
    background: #F5F6F8;
    line-height: 70px;
    width: 70px;
    height: 70px;
    text-align: center;
    transition: .5s;
}
.service-details-icon img {
    transition: .5s;
}

.service-details-title h4 {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 12px;
    transition: .5s;
}

.services-detials-desc p {
    transition: .5s;
}

.service-details-box:hover .service-details-icon {
    background: #2F2F2F;
}

.service-details-box:hover  .service-details-icon img {
    filter: brightness(0)invert(1);
}

.service-details-box:hover  .service-details-title h4 {
   color: #fff;
}

.service-details-box:hover  .services-detials-desc p {
    color: #fff;
 }

 

 .service-details-content {
    margin-bottom: 30px;
}

 .service-tab-title h2 {
    font-size: 34px;
    color: #171717;
    font-weight: 700;
    margin: 69px 0 32px;
}

.service-page-title2 h1 {
    font-size: 34px;
    color: #171717;
    font-weight: 700;
    font-family: "Yantramanav";
    margin: 50px 0 18px;
}

.service-details-item {
    position: relative;
    margin-bottom: 30px;
    padding: 0 0 131px;
}

.service-details-thumb {
    position: relative;
    overflow: hidden;
}

.service-details-thumb img {
    transform: scale(1.1);
    transition: .5s;
}

.service-details-item:hover .service-details-thumb img {
    transform: scale(1.2);
}

.service-details-contents {
    background: #fff;
    padding: 21px 30px 25px;
    width: 85%;
    position: absolute;
    left: 1px;
    right: 0;
    margin: auto;
    margin-top: -20px;
    filter: drop-shadow(0px 5px 30px rgba(117,117,117,0.1));
}

.service-details-contents h3 a {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 14px;
    display: inline-block;
    color: #171717;
}

ul.service-details-list li {
    margin-bottom: 3px;
}

ul.service-details-list li i {
    font-size: 20px;
    color: var(--color-rojo);
    position: relative;
    top: 2px;
    margin-right: 8px;
}

.widget-categories-box {
    background: #F5F6F8;
    padding: 26px 40px 25px;
    margin-bottom: 30px;
}

.categories-title h4 {
    font-size: 22px;
    font-weight: 600;
    position: relative;
    margin-bottom: 52px;
    z-index: 1;
}

.categories-title h4:before {
    position: absolute;
    content: "";
    left: 0;
    bottom: -23px;
    height: 2px;
    background: #DEDFE0;
    width: 100%;
}

.categories-title h4:after {
    position: absolute;
    content: "";
    left: 0;
    bottom: -23px;
    height: 2px;
    background: var(--color-rojo);
    width: 15px;
}

.widget-categories-menu ul {
    display: block;
}

.widget-categories-menu ul li {
    display: block;
    list-style: none;
    margin-bottom: 15px;
    background: #fff;
    padding: 16px 20px 16px;
    transition: .5s;
    position: relative;
    z-index: 1;
    font-size: 16px;
    color: #171717;
}

.widget-categories-menu ul li:after {
    position: absolute;
    content: "";
    height: 100%;
    width: 0%;
    background: var(--color-rojo);
    left: 0;
    top: 0;
    z-index: -1;
    transition: 0.5s;
    transform: scale(0);
    opacity: 0;
}

.widget-categories-menu ul li:hover:after {
    transform: scale(1);
    opacity: 1;
    height: 100%;
    width: 100%;
}

.widget-categories-menu ul li a {
    display: block;
    transition: .5s;
    color: inherit;
}

.widget-categories-menu ul li a span {
    display: inline-block;
    float: right;
    font-size: 16px;
    margin-top: 0px;
    color: var(--color-rojo);
    transition: .5s;
    font-weight: 600;
}

.widget-categories-menu ul li:hover a span {
    color: #ffff;
}

.widget-categories-menu ul li:hover a {
    color: #fff;
}

.service-details-icon-box {
    margin-left: 20px;
}

.widget-categories-box.style-down {
    background: #171717;
}

.widget-categories-box.style-down .categories-title h4 {
    color: #fff;
}

.categories-title.style1 h4:before {
    background: #2F2F2F;
}

.pdf-button a {
    display: block;
    background: #2F2F2F;
    padding: 15px 25px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 15px;
    position: relative;
    z-index: 1;
}

.pdf-button a:before{
    position: absolute;
    content: "";
    width: 0;
    height: 100%;
    left: 0;
    top: 0;
    background:var(--color-rojo);
    z-index: -1;
    transition: 0.5s;
}

.pdf-button a:hover:before {
    width:100%;
}

.pdf-button a i {
    float: right;
    font-size: 20px;
    margin-top: 2px;
    color: var(--color-rojo);
    transition: 0.5s;
}

.pdf-button a:hover i{
    color:#fff;
}

.pdf-button a img {
    margin-right: 10px;
    transition: 0.5s;
}

.pdf-button a:hover img{
    filter: brightness(0) invert(1);
}

.service-detials-area .tab_container-titel h4 {
    font-size: 35px;
    font-weight: 500;
    margin-bottom: 32px;
}

.service-detials-area .accordion li p {
    width: 80%;
}

.tab_container {
    overflow: hidden;
    padding: 20px 0 0;
}

h2.accordion-title {
    font-size: 30px;
    padding: 0 0 37px;
}

.accordion li {
    list-style: none;
    padding: 2px 0 15px;
    margin-bottom: 20px;
}

.accordion li a {
    position: relative;
    width: 81%;
    display: block;
    cursor: pointer;
    padding: 0 20px 24px 0px;
    z-index: 1;
    line-height: 19px;
    border: none;
    font-size: 22px;
    color: #0a1027;
    font-weight: 500;
    font-family: "Yantramanav";
    border-bottom: 1px solid #D9DADC;
}

.accordion li p {
    display: none;
    font-size: 17px;
    padding: 15px 0 5px 0px;
    margin: 0;
    width: 86%;
}

.accordion li a i {
    float: right;
    transform: rotate(0deg);
    transition: .5s;
    font-size: 24px;
    position: relative;
    top: -1px;
    color: #0a1027;
}

.accordion a.active:after {
  transform: rotate(0deg);
  -webkit-transition: all 0.2s ease-in-out;
  opacity: 1;
}

a.active i {
    transform: rotate(177deg) !important;
    color: var(--color-rojo) !important;
}

.accordion a.active {
    padding:0 20px 22px 0px;
    width: 82%;
    color: var(--color-rojo);
}

.case-study-details {
    padding: 120px 0 120px;
}

.csde-title h2 {
    font-size: 34px;
    color: #171717;
    font-weight: 700;
    font-family: "Yantramanav";
    margin: 41px 0 15px;
}

p.desc-strong {
    font-size: 17px;
    line-height: 26px;
    color: #171717;
    font-weight: 400;
    font-style: italic;
    font-family: "Archivo";
    margin: 25px 0 47px;
}

.porject-title {
    margin-bottom: 37px;
}

.porject-title.style-2 {
    margin: 55px 0 18px;
}

.porject-title h2 {
    font-size: 34px;
    color: #171717;
    font-weight: 700;
    font-family: "Yantramanav";
}

p.style1 {
    margin-bottom: 35px;
}

.porject-list ul li {
    font-size: 17px;
    color: #575f66;
    font-weight: 400;
    font-family: "Archivo";
    margin-bottom: 15px;
}

.porject-list ul li i {
    color: var(--color-rojo);
    font-size: 20px;
    margin-right: 12px;
}

.case-sidber {
    filter: drop-shadow(0px 5px 30px rgba(117,117,117,0.1));
    background-color: #ffffff;
    position: relative;
    margin-top: -81px;
    margin-bottom: 30px;
}

.csd-title {
    margin-bottom: 30px;
}

.csd-title h3 {
    font-size: 22px;
    color: #ffffff;
    font-weight: 700;
    font-family: "Yantramanav";
    background: var(--color-rojo);
    padding: 23px 40px 23px;
}

.csd-info-sidber-box {
    padding: 0 40px 1px;
}

.sidber-box {
    margin-bottom: 20px;
    border-bottom: 1px solid #F4F5F7;
    padding-bottom: 20px;
}

.sidber-box:last-child {
    border: none;
}

.case-info-icon {
    width: 60px;
    height: 60px;
    border-radius: 30px;
    background-color: #f5f6f8;
    line-height: 60px;
    text-align: center;
    display: inline-block;
    float: left;
    margin-right: 20px;
}

.case-info-icon span i {
    color: var(--color-rojo);
}

.case-info-address {
    display: inline-block;
}

h3.name-title {
    font-size: 18px;
    color: #171717;
    font-weight: 500;
    font-family: "Yantramanav";
    margin-top: 8px;
}

.porject-sidebar-box {
    background: #171717;
    padding: 26px 40px 40px;
}

.porject-share-title h3 {
    font-size: 22px;
    color: #ffffff;
    font-weight: 700;
    font-family: "Yantramanav";
    position: relative;
    z-index: 1;
    margin-bottom: 36px;
}

.porject-share-title h3:before {
    position: absolute;
    content: "";
    left: 0;
    bottom: -23px;
    height: 2px;
    background: #dedfe01a;
    width: 100%;
}

.porject-share-title h3:after {
    position: absolute;
    content: "";
    left: 0;
    bottom: -23px;
    height: 2px;
    background: var(--color-rojo);
    width: 15px;
}

p.share-text {
    color: #8e939f;
    margin-bottom: 14px;
}

.csd-social-icon ul li {
    display: inline-block;
    margin-right: 8px;
}

.csd-social-icon ul li a {
    font-size: 16px;
    color: #ffffff7a;
    font-family: "Font Awesome";
    text-align: center;
    width: 40px;
    height: 40px;
    background-color: rgba(255,255,255,0.10196078431372549);
    display: inline-block;
    line-height: 40px;
}

.csd-social-icon ul li a:hover {
   background: var(--color-rojo);
   color: #fff;
}

.row.upper-pb {
    margin-bottom: 90px;
}

.pagination-bg {
    background: #F5F6F8;
    margin: 0;
    padding: 33px 20px 27px 40px;
}

.pagination-single-item {
    display: inline-block;
}

.pagination-single-item.right {
    display: inline-block;
    float: right;
    position: relative;
    z-index: 1;
}

.pagination-single-item.right:before {
    position: absolute;
    content: "";
    left: -85%;
    top: 4px;
    opacity: 0.102;
    width: 2px;
    height: 50px;
    background-color: rgb(23 23 23 / 49%);
    z-index: -1;
}

.pagination-btn {
    margin-right: 20px;
    float: left;
    position: relative;
    top: 6px;
}

.pagination-btn.right {
    float: right;
    display: inline-block;
    margin-left: 20px;
}

.pagination-btn a {
    display: inline-block;
    width: 50px;
    height: 50px;
    background-color: #ffffff;
    line-height: 50px;
    text-align: center;
    color: var(--color-rojo);
    font-size: 16px;
}

.pagination-content {
    overflow: hidden;
}

.pagination-content.right {
    text-align: right;
    display: inline-block;
}

h3.pagination-title {
    font-size: 22px;
    color: #171717;
    font-weight: 700;
    font-family: "Yantramanav";
    margin-top: 8px;
}

.pagination-content span {
    font-size: 17px;
    color: var(--color-rojo);
    font-weight: 400;
    font-family: "Archivo";
}

.contact-area {
    padding: 120px 0 120px;
}

.contract-form-bg {
    padding: 15px 35px 40px;
    background: #fff;
    border-radius: 3px;
    width: 430px;
    position: relative;
    z-index: 1;
    margin-top: -140px;
    left: 100px;
}

.contact_from_box {
    box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.1);
    background: #fff;
    /* el diseno deja 53px a cada lado: caja x312..1033, primer input x365 */
    padding: 27px 53px 45px;
}

.contact-form-title {
    padding: 0 0 72px;
}

.contact-form-title h4 {
    font-size: 30px;
    line-height: 50px;
    font-weight: 600;
    color: #fff;
}

.contact-form-title p {
    color: #fff;
    font-size: 18px;
    padding: 10px 0 0;
}

.form_box input {
    width: 100%;
    height: 50px;
    padding-left: 25px;
    background: #F2F3F5;
    border-radius: 30px;
    color: #232323;
    border: 1px solid rgba(35, 35, 35, 0.12);
    transition: .5s;
    padding-right: 25px;
}

.form_box textarea {
    width: 100%;
    background: #F2F3F5;
    padding-left: 25px;
    padding-top: 20px;
    height: 135px;
    border: 1px solid rgba(35, 35, 35, 0.12);
    border-radius: 30px;
    color: #232323;
    transition: .5s;
}

.form_box input::placeholder {
    color: #6d6d6d;
}

.form_box input:focus,
.form_box textarea:focus {
    border-color:var(--color-rojo);
    outline: 0;
    box-shadow: 0 0 6px rgba(204, 48, 0, 0.6);
}

.quote_button button {
    padding: 13px 15px;
    background: #10102E;
    display: block;
    color: #fff;
    border-radius: 30px;
    width: 100%;
    font-family: 'Fira Sans';
    cursor: pointer;
    text-align: center;
    transition: 0.5s;
}

.quote_button button i {
    display: inline-block;
    font-size: 18px;
    margin-right: 5px;
    position: relative;
    top: 2px;
    color: var(--color-rojo);
    transition: 0.5s;
}

.quote_button button:hover {
    color: #fff;
    background: var(--color-rojo);
}

.quote_button button:hover i {
    color: #fff;
}

.content-info-area {
    background: #0a1027;
    padding: 21px 0;
}

.cda-single-content {
    /* sin margen lateral: en el diseno el icono (x1106) queda alineado con el
       titulo "Informacion" (x1108). El respiro lo da el padding de la caja. */
    margin: 0;
    padding: 25px 0 17px;
}

.cda-icon i {
    font-size: 35px;
    color: #fff;
    height: 66px;
    width: 66px;
    line-height: 66px;
    text-align: center;
    background: var(--color-rojo-3);
    border-radius: 6px;
    display: inline-block;
    margin-right: 25px;
    margin-top: 10px;
}

.cda-content-inner h4 {
    font-size: 20px;
    font-weight: 500;
    color: #fff;
    margin-bottom: 0;
}

.cda-content-inner p {
    color: rgba(255, 255, 255, 0.74);
    margin: 10px 0;
}

.blog-details {
    background: #fff;
    padding: 120px 0 118px;
}

.blog-details .blog-content {
    transition: .5s;
}

.blog-details .blog-meta {
    border-bottom: 1px solid rgba(23,23,23,0.10196078431372549);
    padding: 22px 0 25px;
}

.blog-details .blog-meta span {
    padding-left: 20px;
    font-size: 16px;
    color: #575f66;
    font-weight: 400;
    font-family: "Yantramanav";
    position: relative;
    z-index: 1;
    padding-right: 25px;
}

.blog-details .blog-meta span:before {
    position: absolute;
    z-index: -1;
    width: 10px;
    height: 10px;
    background-color: #d1d1d1;
    content: "";
    top: 5px;
    left: 0;
}

.blog-details .blog-meta span a {
    color: #575f66;
    transition: .5s;
    display: inline-block;
}

.blog-details .blog-meta span a:hover {
    color: var(--color-rojo);
}

.blog-content-text.text-left h2 {
    font-size: 34px;
    color: #171717;
    font-weight: 700;
    font-family: "Yantramanav";
    margin: 25px 0 14px;
}

p.qouik {
    text-align: justify;
}

p.qouik2 {
    margin: 24px 0 35px;
}

.blog-details-single-items {
    background: #F5F6F8;
    text-align: center;
    padding: 40px 35px 30px;
}

.blog-details-desc p {
    font-size: 18px;
    line-height: 32px;
    color: #171717;
    font-weight: 400;
    font-style: italic;
    font-family: "Archivo";
    text-align: center;
    padding: 20px 0 10px;
}

h3.blog-details-title {
    font-size: 22px;
    color: var(--color-rojo);
    font-weight: 700;
    font-family: "Yantramanav";
    text-align: center;
    margin-bottom: 6px;
}

h2.blog-dtls-title3 {
    font-size: 34px;
    color: #171717;
    font-weight: 700;
    font-family: "Yantramanav";
    margin: 56px 0 18px;
}

p.desc-style1 {
    margin-bottom: 36px;
}

.blog-details-list-item {
    margin-top: 18px;
}

.blog-details-thumb img {
    width: 100%;
}

h3.blog-details-list-title {
    font-size: 24px;
    color: #171717;
    font-weight: 700;
    font-family: "Yantramanav";
    margin-bottom: 17px;
}

ul.blog-details-list li {
    font-size: 16px;
    color: #171717;
    font-weight: 500;
    font-family: "Archivo";
    margin-bottom: 8px;
}

ul.blog-details-list img {
    margin-right: 10px;
}

.blog-details-social {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid rgba(23,23,23,0.1);
    border-bottom: 1px solid rgba(23,23,23,0.1);
    padding: 16px 0 16px;
    margin-top: 60px;
    margin-bottom: 65px;
}

.blog-social-tags span strong {
    font-size: 18px;
    color: #171717;
    font-weight: 500;
    font-family: "Yantramanav";
    margin-right: 20px;
}

.single-blog-social-icon {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.share-text {
    margin-right: 20px;
}

.share-text h4 {
    margin: 0;
    font-size: 18px;
    color: #171717;
    font-weight: 500;
    font-family: "Yantramanav";
}

.single-blog-social-icon ul li {
    display: inline-block;
    margin-right: 5px;
}

.single-blog-social-icon ul li i {
    font-size: 15px;
    height: 34px;
    width: 34px;
    line-height: 34px;
    text-align: center;
    border: 1px solid #ccc;
    display: inline-block;
    color: #686868;
    transition: .5s;
}

.single-blog-social-icon ul li:hover i {
    color: #fff;
    background: var(--color-rojo);
}

.blog-details-contents h3 {
    font-size: 28px;
    color: #171717;
    font-weight: 700;
    font-family: "Yantramanav";
    margin-bottom: 32px;
}

.blog-details-comment {
    margin-bottom: 20px;
    position: relative;
    background: #F5F6F8;
    padding: 33px 40px 24px 30px;
}

.blog-details-comment-thumb {
    float: left;
    margin-right: 25px;
}

.blog-details-comment-content {
    overflow: hidden;
}

.blog-details-comment-content h2 {
    margin-top: 0;
    font-size: 20px;
    color: #171717;
    font-weight: 700;
    font-family: "Yantramanav";
    margin-bottom: 8px;
}

.blog-details-comment-reply span {
    display: inline-block;
    font-size: 16px;
    color: #575f66;
    font-weight: 300;
    font-family: "Archivo";
    position: relative;
    z-index: 1;
}

.blog-details-comment-reply span:before {
    position: absolute;
    content: "";
    right: 8px;
    top: 6px;
    width: 2px;
    height: 15px;
    background-color: rgba(23,23,23,0.14901960784313725);
    z-index: -1;
}

.blog-details-comment-reply a {
    font-size: 14px;
    border-radius: 2px;
    display: inline-block;
    font-size: 16px;
    color: var(--color-rojo);
    font-weight: 500;
    font-family: "Yantramanav";
}

.blog-details-comment-reply a i {
    margin-right: 10px;
}

.blog-details-comment.reply {
    margin-left: 80px;
}

.comment-form {
    margin-top: 56px;
}
.comment-title h3 {
    font-size: 28px;
    color: #171717;
    font-weight: 700;
    font-family: "Yantramanav";
    margin-bottom: 27px;
}

#comment-msg-box {
    width: 100%;
    transition: .5s;
    height: 200px;
    background-color: #ffffff;
    border: 1px solid rgba(23,23,23,0.1);
    padding: 21px 25px;
}

#comment-msg-box::placeholder {
    font-size: 15px;
    color: #575f66;
    font-weight: 300;
    font-family: "Archivo";
}

input.comment-box {
    height: 60px;
    background-color: #ffffff;
    border: 1px solid rgba(23,23,23,0.1);
    width: 100%;
    margin-bottom: 20px;
    padding: 25px;
}

input.comment-box::placeholder {
    font-size: 15px;
    color: #575f66;
    font-weight: 300;
    font-family: "Archivo";
}

.comment-box:focus, #comment-msg-box:focus {
    border-color: var(--color-rojo);
    outline: 0;
    box-shadow: 0 0 6px rgb(204, 48, 0, 0.6);
}

.comment-form .submit-comment {
    background: var(--color-rojo);
    border: 1px solid var(--color-rojo);
    padding: 14px 39px;
    margin-left: 15px;
    transition: .5s;
    font-size: 17px;
    color: #ffffff;
    font-weight: 500;
    font-family: "Yantramanav";
    margin-top: 10px;
}

.comment-form .submit-comment:hover {
    background: #fff;
    color: var(--color-rojo);
}

.widget-items-search {
    position: relative;
    margin-bottom: 30px;
}

.src-input-box:focus {
    border: 1px solid #ccc;
}

input.src-input-box::placeholder {
    font-size: 15px;
    color: #575f66;
    font-weight: 300;
    font-family: "Archivo";
}

.src-icon {
    position: absolute;
    right: 0;
    top: 32px;
    transform: translateY(-50%);
    font-size: 15px;
    border: none;
    background: var(--color-rojo);
    padding: 17px 25px;
    color: #fff;
}

.widget-items {
    background: #F5F6F8;
    border-radius: 3px;
    padding: 40px 40px 15px;
    margin-bottom: 30px;
}

.src-input-box {
    border: 1px solid #cccccc57;
    padding: 17px 30px;
    width: 100%;
}

.widget-title {
    margin-bottom: 28px;
    position: relative;
}

.widget-title h2 {
    margin-top: 0;
}

.widget-archieve-item {
    color: #232323;
}

.widget-archieve-item:hover {
    color: #ff3b00;
}

.widget-items .widget-title h2 {
    display: block;
    position: relative;
    z-index: 1;
    font-size: 22px;
    color: #171717;
    font-weight: 700;
    font-family: "Yantramanav";
}

.widget-title h2::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -20px;
    width: 100%;
    height: 2px;
    background-color: rgba(23,23,23,0.10196078431372549);
}

.widget-title h2::after {
    content: "";
    position: absolute;
    left: 0;
    top: 43px !important;
    width: 15px;
    height: 2px;
    background-color: var(--color-rojo);
    animation-duration: 3s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-name: MOVE-BG;
}

@keyframes MOVE-BG {
    0% {
        left: 0px;
        top: 0px;
    }

    100% {
        left: 320px;
        top: 0px;
    }
}

.hr-3 {
    border-top: 1px solid #e6e6e6;
    padding-top: 15px;
}

.catagory-item {
    margin: 43px 0 7px;
}

.catagory-item ul li {
    border-bottom: 1px solid rgba(23,23,23,0.10196078431372549);
}

.catagory-item ul li:last-child {
    border-bottom: none;
}

.catagory-item ul li a {
    font-size: 18px;
    color: #171717;
    font-weight: 400;
    font-family: "Yantramanav";
    display: inline-block;
    padding: 10px 0;
}

.catagory-item ul li:hover a {
    color: var(--color-rojo);
}

.catagory-item ul li a i {
    color: var(--color-rojo);
    font-size: 15px;
    margin-right: 14px;
}

.widget-recent-post {
    margin-bottom: 23px;
    padding-top: 24px;
}

.rpost-thumb {
    margin-right: 20px;
}

.rpost-title h4 {
    transition: .5s;
    margin: 0;
    font-size: 18px;
    line-height: 24px;
    color: #171717;
    font-weight: 500;
    font-family: "Yantramanav";
}

.rpost-title span {
    font-size: 14px;
    display: inline-block;
}

.rpost-title h4:hover {
    color:var(--color-rojo);
}

.tag-item {
    margin: 50px 0 17px;
}

.tag-item a {
    padding: 8px 20px;
    display: inline-block;
    margin: 2px 3px 8px;
    transition: .5s;
    font-size: 16px;
    line-height: 26px;
    color: #171717;
    font-weight: 500;
    font-family: "Yantramanav";
    background: #fff;
}

.tag-item a:hover {
    color: #fff;
    background: var(--color-rojo);
}

.search-popup{
    position: fixed;
    left: 0;
    top: 0;
    height: 100vh;
    width: 100%;
    z-index: 99999;
    margin-top: -540px;
    transform: translateY(-100%);
    background-color: rgba(0,0,0,0.90);
    -webkit-transition: all 500ms cubic-bezier(0.860, 0.000, 0.070, 1.000);
    -moz-transition: all 500ms cubic-bezier(0.860, 0.000, 0.070, 1.000);
    -o-transition: all 500ms cubic-bezier(0.860, 0.000, 0.070, 1.000);
    transition: all 1500ms cubic-bezier(0.860, 0.000, 0.070, 1.000); 
    -webkit-transition-timing-function: cubic-bezier(0.860, 0.000, 0.070, 1.000);
    -moz-transition-timing-function: cubic-bezier(0.860, 0.000, 0.070, 1.000);
    -o-transition-timing-function: cubic-bezier(0.860, 0.000, 0.070, 1.000);
    transition-timing-function: cubic-bezier(0.860, 0.000, 0.070, 1.000); 
}

.search-popup{
    width: 100%;
}

.search-active .search-popup{
    transform: translateY(0%);
    margin-top: 0;
}

.search-popup .close-search {
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    margin-top: -200px;
    border-radius: 50%;
    text-align: center;
    background-color: var(--color-rojo);
    width: 70px;
    cursor: pointer;
    box-shadow: 0 0 10px rgba(0,0,0,0.05);
    border-bottom: 3px solid #fff;
    border-top: 3px solid #fff;
    border-right: 3px solid #062462;
    border-left: 3px solid #062462;
    -webkit-transition: all 500ms ease;
    height: 70px;
    line-height: 70px;
    text-align: center;
}

.search-active .search-popup .close-search{
    visibility: visible;
    opacity: 1;
    top: 50%;
    -webkit-transition-delay: 1500ms;
    -moz-transition-delay: 1500ms;
    -ms-transition-delay: 1500ms;
    -o-transition-delay: 1500ms;
    transition-delay: 1500ms;
}

.search-popup form{
    position: absolute;
    max-width: 700px;
    top: 50%;
    left: 15px;
    right: 15px;
    margin:-35px auto 0;
    transform: scaleX(0);
    transform-origin: center;
    background-color: #111111;
    -webkit-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;
}

.search-active .search-popup form{
    transform: scaleX(1);
    -webkit-transition-delay: 1200ms;
    -moz-transition-delay: 1200ms;
    -ms-transition-delay: 1200ms;
    -o-transition-delay: 1200ms;
    transition-delay: 1200ms;
}

.search-popup .form-group{
    position:relative;
    margin:0px; 
  
    overflow: hidden;
}
.search-popup .form-group input[type="text"],
.search-popup .form-group input[type="search"]{
    position:relative;
    display:block;
    font-size:18px;
    line-height: 50px;
    color:#000000;
    height:70px;
    width:100%;
    padding: 10px 30px;
    background-color: #ffffff;
    -webkit-transition:all 500ms ease;
    -moz-transition:all 500ms ease;
    -ms-transition:all 500ms ease;
    -o-transition:all 500ms ease;
    transition:all 500ms ease;
    font-weight:500;
    text-transform:capitalize;
}

.search-popup .form-group input[type="submit"], .search-popup .form-group button {
    position: absolute;
    right: 30px;
    top: 0px;
    height: 70px;
    line-height: 70px;
    background: transparent;
    text-align: center;
    font-size: 24px;
    color: var(--color-rojo);
    padding: 0;
    cursor: pointer;
    -webkit-transition: all 500ms ease;
    border: none;
}

.search-popup .form-group input[type="submit"]:hover,
.search-popup .form-group button:hover{
    color: #000000;
}

.search-popup input::placeholder,
.search-popup textarea::placeholder{
    color:#000000;
}

.search-popup .close-search.style-two{
    position: absolute;
    right: 25px;
    left: auto;
    color:#ffffff;
    width:auto;
    height:auto;
    top:25px;
    margin:0px;
    border:none;
    background:none !important;
    box-shadow:none !important;
    -webkit-transition:all 500ms ease;
    -moz-transition:all 500ms ease;
    -ms-transition:all 500ms ease;
    -o-transition:all 500ms ease;
    transition:all 500ms ease;
}

.search-box-btn {
    display: inline-block;
    padding-left: 22px;
}

.search-box-btn i {
    display: inline-block;
    color: #fff;
    line-height: 30px;
    text-align: center;
    font-size: 18px;
    cursor: pointer;
    transition: .5s;
}

.upp.search-box-btn i {
    color: #9E9FA1;
}

.search-box-btn.search-box-outer span i {
    font-size: 20px;
    display: inline-block;
    color: #fff;
    padding-left: 17px;
    position: relative;
    z-index: 1;
}

.upp.search-box-btn.search-box-outer span i {
    color: #9E9FA1;
}

.search-box-btn.search-box-outer span i:after {
    position: absolute;
    content: "0";
    right: -10px;
    top: -4px;
    width: 16px;
    height: 16px;
    line-height: 16px;
    text-align: center;
    background: var(--color-rojo);
    color: #fff;
    border-radius: 50%;
    display: inline-block;
    font-size: 12px;
}

.flaticon-multiply:before {
    content: inherit;
}

button.close-search i {
    font-size: 25px;
    color: #fff;
    display: inline-block;
}

span.flaticon-multiply i {
    display: inline-block;
    color: var(--color-rojo);
}

.header-search-button i {
    font-size: 22px;
    color: #012549;
    margin-right: 13px;
    transition: 0.5s;
}

.header-search-button i:hover{
  color:var(--color-rojo);
}

.header-search-button.search-box-outer {
    padding: 0px 8px 0 0;
    display: inline-block;
}

.header-search-button.search-box-outer a {
    color: #062462;
    display: inline-block;
    position: relative;
    left: 16px;
}

.bounce-animate2 {
    animation-name: float-bob2;
    animation-duration: 3s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
    -moz-animation-name: float-bob2;
    -moz-animation-duration: 3s;
    -moz-animation-iteration-count: infinite;
    -moz-animation-timing-function: linear;
    -ms-animation-name: float-bob2;
    -ms-animation-duration: 3s;
    -ms-animation-iteration-count: infinite;
    -ms-animation-timing-function: linear;
    -o-animation-name: float-bob2;
    -o-animation-duration: 3s;
    -o-animation-iteration-count: infinite;
    -o-animation-timing-function: linear;
}

@keyframes float-bob2 {
    0% {
        -webkit-transform: translateY(-60px);
        transform: translateY(-60px);
    }

    50% {
        -webkit-transform: translateY(-30px);
        transform: translateY(-30px);
    }

    100% {
        -webkit-transform: translateY(-60px);
        transform: translateY(-60px);
    }
}

.prgoress_indicator {
    position: fixed;
    right: 30px;
    bottom: 50px;
    height: 46px;
    width: 46px;
    cursor: pointer;
    display: block;
    border-radius: 50px;
    box-shadow: inset 0 0 0 2px rgba(22, 93, 245, 0.2);
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    
    transform: translateY(15px) !important;
    transition: all 200ms linear !important;
}

.prgoress_indicator.active-progress {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) !important;
}

.prgoress_indicator::after {
    position: absolute;
    content: "\f106";
    font-family: "Font Awesome 5 Free";
    text-align: center;
    line-height: 46px;
    font-size: 18px;
    color: var(--color-rojo);
    left: 0;
    top: 0;
    height: 46px;
    width: 46px;
    cursor: pointer;
    display: block;
    font-weight: 900;
    z-index: 1;
    transition: all 200ms linear !important;
}

.prgoress_indicator::before {
  position: absolute;
  content: "\f106";
  font-family: "Font Awesome 5 Free";
  text-align: center;
  line-height: 46px;
  font-size: 18px;
  font-weight: 900;
  opacity: 0;
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  left: 0;
  top: 0;
  height: 46px;
  width: 46px;
  cursor: pointer;
  display: block;
  z-index: 2;
  transition: all 200ms linear !important;
}
.prgoress_indicator:hover ::after {
  color: var(--color-rojo);
}
.prgoress_indicator:hover ::before {
  opacity: 1;
}
.prgoress_indicator svg path {
  fill: none;
}
.prgoress_indicator svg.progress-circle path {
  stroke:var(--color-rojo);
  stroke-width: 4;
  box-sizing: border-box;
  transition: all 200ms linear !important;
}

.loader-wrapper {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    transition: 0.8s 1s ease;
    z-index: 9999;
}

.loader {
    position: relative;
    display: block;
    z-index: 201;
    top: 50%;
    left: 50%;
    width: 100px;
    height: 100px;
    margin: -50px 0 0 -50px;
    border-radius: 50%;
    transition: all 1s 1s ease;
    border: 3px solid transparent;
    border-top-color: #9A241C;
    -webkit-animation: spin 1.5s linear infinite;
    -moz-animation: spin 1.5s linear infinite;
    -o-animation: spin 1.5s linear infinite;
    animation: spin 1.5s linear infinite;
}

.loader:before {
    position: absolute;
    content: '';
    top: 6px;
    left: 6px;
    right: 6px;
    bottom: 6px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-left-color: #FF3C00;
    -webkit-animation: spin 2s linear infinite;
    -moz-animation: spin 2s linear infinite;
    -o-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
}

.loader:after {
    position: absolute;
    content: '';
    top: 15px;
    left: 15px;
    right: 15px;
    bottom: 15px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-right-color: #fff;
    -webkit-animation: spin 2.5s linear infinite;
    -moz-animation: spin 2.5s linear infinite;
    -o-animation: spin 2.5s linear infinite;
    animation: spin 2.5s linear infinite;
}

@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@-moz-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

.loader-wrapper .loder-section {
    position: fixed;
    top: 0;
    width: 50%;
    height: 100%;
    background: #111;
    z-index: 2;
}

.loader-wrapper .loder-section.left-section {
    left: 0;
    transition: 1s 1.4s ease;
}

.loader-wrapper .loder-section.right-section {
    right: 0;
    transition: 1s 1.4s ease;
}

.loaded .loder-section.left-section {
    left: -100%;
}

.loaded .loder-section.right-section {
    right: -100%;
}

.loaded .loader-wrapper {
    visibility: hidden;
}

.loaded .loader {
    top: -100%;
    opacity: 0;
}

.footer-section {
    background-size: cover;
    background-position: center;
    position: relative;
}

.footer-contact-info {
    border-radius: 5px 5px 0 0;
}

.footer-logo {
    border-radius: 5px;
}

.footer-didget-icon {
    float: left;
    margin-right: 12px;
}

h4.widget-title {
    font-size: 24px;
    color: var(--color-blanco);
    font-weight: 500;
    margin-bottom: 25px;
    position: relative;
    z-index: 1;
    display: inline-block;
}

h4.widget-title:before {
    position: absolute;
    content: "";
    left: 0;
    bottom: -15px;
    width: 50px;
    height: 3px;
    background: var(--color-rojo);
    transition: .5s;
}

.menu-quick-link-content {
    padding: 10px 0 0;
}

ul.footer-menu li {
    display: block;
    list-style: none;
    padding: 16px 0 0;
}

ul.footer-menu li a {
    font-family: 'Yantramanav';
    color: var(--color-blanco);
    font-size: 17px;
    transition: .5s;
}

ul.footer-menu.style-two li a {
    position: relative;
    z-index: 1;
    padding-left: 15px;
}

ul.footer-menu.style-two li a:before {
    position: absolute;
    content: "";
    left: 0;
    top: 10px;
    width: 5px;
    height: 2px;
    background: var(--color-blanco);
    transition: .5s;
}

.footer-widget-social-icon ul li {
    display: inline-block;
    margin-right: 8px;
    margin-top: 14px;
}

.footer-widget-social-icon ul li a {
    display: inline-block;
    width: 37px;
    height: 37px;
    background: var(--color-rojo);
    line-height: 37px;
    text-align: center;
    font-size: 16px;
    color: var(--color-blanco);
    border-radius: 50%;
    margin-top: 18px;
}

.footer-bottom-section {
    background: var(--color-navy);
    text-align: center;
}

:root {
    --color-rojo: #D30923;
    --color-rojo-2: #B9141B;
    --color-rojo-3: #CD1316;
    --color-rojo-logo: #EF001F;
    --color-negro: #000000;
    --color-navy: #012A4A;
    --color-navy-2: #001F43;
    --color-navy-3: #091734;
    --color-navy-4: #023154;
    --color-blanco: #FFFFFF;
    --color-gris-bg: #F9F9F9;
    --color-borde-logo: #C7C7C7;
    --color-gris-bg-2: #F2F3F5;
    --color-texto: #333333;
    --color-gris-regla: #DCDCDC;
    --main-container: 1344px;
    --espaciado: 100px;
    --color-velo-clientes: #3AAAA7;
}

.container {
    max-width: var(--main-container);
}

.pt { padding-top: var(--espaciado); }
.pb { padding-bottom: var(--espaciado); }
.mt { margin-top: var(--espaciado); }
.mb { margin-bottom: var(--espaciado); }

.p {
    font-size: 18px;
    line-height: 1.3;
    color: var(--color-texto);
    margin: 0;
}

.sec-p .p + .p { margin-top: 18px; }

.top-bar-area {
    background-color: var(--color-navy-3);
    padding: 0;
    height: 64px;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 3;
    overflow: hidden;
}

.top-bar-area:before {
    position: absolute;
    content: "";
    left: -120px;
    top: 0;
    width: calc(48.75% + 120px);
    height: 100%;
    background: var(--color-rojo);
    transform: skewX(-32.6deg);
    transform-origin: top left;
    z-index: -1;
}

.top-bar-info ul {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    white-space: nowrap;
}

.top-bar-info ul li {
    display: flex;
    align-items: center;
    color: var(--color-blanco);
    margin-right: 20px;
    font-family: "Yantramanav";
    font-size: 16px;
}

.top-bar-info ul li img {
    width: 18px;
    height: 18px;
    margin-right: 11px;
}

.top-bar-info ul li a {
    color: var(--color-blanco);
    font-size: 16px;
    transition: 0.5s;
}

.top-bar-info ul li a:hover { color: var(--color-navy-2); }

.top-bar-sep {
    display: inline-block;
    margin: 0 8px;
    color: var(--color-blanco);
}

.top-bar-social-address { text-align: right; padding-right: 16px; }

.top-bar-social-address ul {
    display: inline-flex;
    align-items: center;
}

.top-bar-social-address ul li { display: inline-flex; }

.top-bar-social-address ul li + li { margin-left: 38px; position: relative; }

.top-bar-social-address ul li + li:before {
    position: absolute;
    content: "";
    left: -19px;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 20px;
    background: rgba(255, 255, 255, 0.3);
}

.top-bar-social-address ul li a img {
    width: 20px;
    height: 20px;
    transition: 0.5s;
}

.top-bar-social-address ul li a:hover img { opacity: 0.75; }

.top-bar-area > .container,
.header-area > .container {
    padding-left: 27px;
    padding-right: 15px;
}

.header-area {
    background: var(--color-blanco);
    border-bottom: none;
    padding: 14px 0;
    /* el theme dejaba la cabecera en z-index 2 y .blog-content va tambien en 2:
       al empatar ganaba el ultimo del DOM y la card se pintaba por encima de la
       cabecera fija al hacer scroll. 920 la deja sobre el contenido y por debajo
       de los modales (9999+) y del boton flotante de WhatsApp (99999). */
    z-index: 920;
    position: relative;
}

.header-logo img {
    height: 61px;
    width: auto;
}

.header-menu {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    text-align: right;
    margin-top: 9px;
}

.header-menu ul.nav_scroll { display: flex; align-items: center; }

.header-menu ul li {
    display: inline-block;
    margin-right: 47px;
}

.header-menu ul li a {
    display: inline-block;
    font-size: 18px;
    font-weight: 500;
    padding: 0;
    line-height: 1;
    transition: 0.5s;
    font-family: "Yantramanav";
    color: var(--color-negro);
    white-space: nowrap;
}

.header-menu ul li a:hover,
.header-menu ul li.current a { color: var(--color-rojo-3); }

.header-menu ul li i {
    font-size: 11px;
    left: 7px;
    top: -1px;
    color: var(--color-negro);
}

.header-menu ul li a:hover i,
.header-menu ul li.current a i { color: var(--color-rojo-3); }

/* 268px: en el diseno el panel esta dimensionado justo para que el item mas
   largo ("Politica de Privacidad de Datos", 227px de tinta) entre en una linea
   con 19px de padding a la izquierda y 22 a la derecha. Con 262 envolvia. */
.header-menu ul li .sub-menu {
    width: 268px;
    border-top: 3px solid var(--color-rojo);
    border-radius: 0;
    padding: 6px 0;
}

.header-menu ul li .sub-menu li { display: block; margin-right: 0; }

.header-menu ul li .sub-menu li a {
    width: 268px;
    white-space: normal;
    font-size: 16px;
    font-weight: 400;
    padding: 8px 20px;
    color: var(--color-negro);
}

/* el desplegable cuelga del borde inferior de la CABECERA, no del <li>: el
   padding del li lleva su caja hasta ahi, asi que el top:100% del theme cae
   donde toca y ademas no queda hueco muerto que cierre el menu al cruzarlo. */
.header-menu ul li.menu-item-has-children {
    padding-bottom: 28px;
    margin-bottom: -28px;
}

/* al pasar el raton cambia el COLOR DEL TEXTO, no el fondo */
.header-menu ul li .sub-menu li a:hover {
    background: transparent;
    color: var(--color-rojo);
}

/* el theme mete capitalize y escribia "Politica De Privacidad De Datos"; el
   diseno del footer lo tiene en caja normal, que ademas es la ortografia
   correcta. 18px/500: "PQRSF" mide 51px de tinta en el diseno (44 a 16px/400)
   y la densidad de trazo da 0,413 contra 0,331 del build. */
.header-menu ul li .sub-menu li a {
    text-transform: none;
    font-size: 18px;
    font-weight: 500;
}

.header-button { display: inline-block; }

.header-button a {
    display: inline-flex;
    align-items: center;
    background: var(--color-rojo);
    border: 2px solid var(--color-rojo);
    height: 48px;
    padding: 0 17px;
    margin-left: 91px;
    position: relative;
    z-index: 1;
    overflow: hidden;
    transition: 0.5s;
    font-size: 16px;
    color: var(--color-blanco);
    font-weight: 500;
    border-radius: 4px;
    font-family: "Yantramanav";
    white-space: nowrap;
}

.header-button a img {
    width: 28px;
    height: 28px;
    margin-right: 7px;
}

.header-button a:before {
    background: var(--color-navy-3);
    border-radius: 2px;
}

.header-button a:hover {
    color: var(--color-blanco);
    border-color: var(--color-navy);
}

.footer-section {
    background: url(../../img/bg/footer.jpg);
    background-size: cover;
    background-position: center;
    padding: 96px 0 0;
    position: relative;
}

@media (min-width: 1701px) {
    .footer-contact-values { max-width: 215px; overflow-wrap: normal; }

    .footer-contact-values a[href^="mailto:"] { white-space: nowrap; }

    .footer-section > .container {
        max-width: 1512px;
        padding-left: 92px;
        padding-right: 0;
    }
}

.footer-section .footer-bg > [class*="col-"] { padding-left: 12px; padding-right: 12px; }

@media (min-width: 1701px) {
    .footer-section .footer-bg > div:nth-child(1) { flex: 0 0 30.61%; max-width: 30.61%; }
    .footer-section .footer-bg > div:nth-child(2) { flex: 0 0 15.10%; max-width: 15.10%; }
    .footer-section .footer-bg > div:nth-child(3) { flex: 0 0 19.11%; max-width: 19.11%; }
    .footer-section .footer-bg > div:nth-child(4) { flex: 0 0 17.94%; max-width: 17.94%; }
    .footer-section .footer-bg > div:nth-child(5) { flex: 0 0 17.24%; max-width: 17.24%; padding-right: 0; }
    .footer-section .footer-bg > div:nth-child(3) ul.footer-menu { max-width: 232px; }
}

.footer-contact-info {
    background: var(--color-rojo-2);
    max-width: 379px;
    padding: 69px 38px 28px;
    border-radius: 6px 6px 0 0;
    margin-top: -39px;
    height: calc(100% + 39px);
}

.footer-logo {
    background: transparent;
    padding: 0 0 61px;
    border-radius: 0;
    position: relative;
}

.footer-logo:after {
    position: absolute;
    content: "";
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, 0.45);
}

.footer-logo img { width: 308px; max-width: 100%; height: auto; }

.footer-widget-contact { padding-top: 42px; padding-left: 6px; }

.footer-contact-row {
    display: flex;
    align-items: flex-start;
    margin-bottom: 40px;
}

/* el diseno deja menos aire entre el bloque de telefonos y la direccion
   (52px de tinta a tinta) que entre correo y telefonos (77px de linea a linea) */
.footer-contact-row + .footer-contact-row { margin-bottom: 28px; }

.footer-didget-icon {
    float: none;
    flex: 0 0 29px;
    max-width: 29px;
    margin-right: 27px;
    padding-top: 3px;
}

.footer-didget-icon img { width: 29px; height: auto; }

.footer-contact-values {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    overflow-wrap: anywhere;
}

.footer-contact-values a {
    color: var(--color-blanco);
    font-family: "Yantramanav";
    font-size: 21px;
    line-height: 1.738;
    transition: 0.5s;
}

.footer-contact-values a:hover { color: var(--color-navy); }

h4.widget-title {
    font-size: 29.5px;
    color: var(--color-blanco);
    font-weight: 700;
    margin-top: 15px;
    margin-bottom: 53.5px;
    font-family: "Yantramanav";
}

h4.widget-title:before {
    bottom: -15px;
    width: 45px;
    height: 5px;
    background: var(--color-rojo-3);
}

h4.widget-title:hover:before { width: 45px; }

.menu-quick-link-content { padding: 0; }

ul.footer-menu li { padding: 0 0 15.5px; }

ul.footer-menu li a {
    color: var(--color-blanco);
    font-size: 22px;
    font-weight: 300;
    line-height: 1.682;
    display: inline-block;
}

/* La columna 3 (Servicios) va con interlineado mas compacto: es lo que hace
   el diseno para que quepan sus 9 servicios sin crecer el pie (medido a 1920:
   paso entre items 47.5px frente a 52.5px de las columnas 2/4/5). */
.footer-section .footer-bg > div:nth-child(3) ul.footer-menu li a { line-height: 1.45; }

ul.footer-menu.style-two li a { padding-left: 18px; }

ul.footer-menu.style-two li a:before {
    top: 0.664em;
    left: -4px;
    width: 10px;
    height: 3px;
    background: var(--color-rojo);
}

ul.footer-menu li a:hover { color: var(--color-rojo); }

.footer-section .footer-bg > div:nth-child(3) ul.footer-menu.style-two li a:before { top: 0.548em; }

.footer-widget-social-icon {
    margin-top: 16px;
    padding-top: 40px;
    position: relative;
}

.footer-widget-social-icon:before {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 220px;
    max-width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, 0.45);
}

.footer-widget-social-icon ul li { margin-right: 30px; margin-top: 0;}

.footer-widget-social-icon ul li a {
    width: 55px;
    height: 55px;
    line-height: 44px;
    background: transparent;
    border: 2px solid var(--color-rojo);
    font-size: 28px;
    color: var(--color-blanco);
    margin-top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer-widget-social-icon ul li a:hover {
    background: var(--color-rojo);
    color: var(--color-blanco);
}

.footer-bottom-section {
    background: var(--color-rojo-3);
    text-align: center;
}

.footer-bottom-section .container { position: relative; }

.footer-bottom-content-copy {
    color: var(--color-blanco);
    font-family: "Yantramanav";
    font-size: 23px;
    line-height: 24px;
    padding: 28px 0;
}

.footer-bottom-content-copy a {
    color: var(--color-blanco);
    transition: 0.5s;
}

.footer-bottom-content-copy a:hover { color: var(--color-navy); }

.backtotop {
    position: absolute;
    right: -249px;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    line-height: 44px;
    text-align: center;
    border: 2px solid var(--color-blanco);
    border-radius: 50%;
    color: var(--color-blanco);
    font-size: 16px;
    transition: 0.5s;
}

.backtotop:hover {
    background: var(--color-blanco);
    color: var(--color-rojo);
}

#whatsappflotante {
    position: fixed;
    bottom: 3rem;
    left: 3rem;
    z-index: 99999;
    filter: drop-shadow(-2px 2px 15px rgba(0, 0, 0, 0.7));
}

#whatsappflotante:hover {
    opacity: 0.8;
    filter: drop-shadow(0px 2px 2px #000);
}

.mensaje-banner {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.mensaje-banner-img {
    display: block;
    width: 100%;
    height: 800px;
    object-fit: cover;
    object-position: center;
}

.mensaje-banner::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #000000;
    opacity: 0.7;
}

.mensaje-banner-content {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
}

.mensaje-banner-content .container {
    text-align: center;
    padding-bottom: 100px;
}

.mensaje-banner-isotipo {
    width: 191px;
    height: auto;
    margin: 0 auto 11px;
    display: block;
}

.mensaje-banner-titulo {
    position: relative;
    margin: 0;
    color: #ffffff;
    font-family: "Yantramanav", sans-serif;
    font-weight: 700;
    font-size: 46px;
    line-height: 1.3;
}

.mensaje-banner-titulo span {
    display: block;
    color: var(--color-rojo);
}

.mensaje-banner-titulo::after {
    content: "";
    display: block;
    width: 187px;
    height: 2px;
    background-color: var(--color-rojo);
    margin: 30px auto 0;
}

.error-banner {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.error-banner-img {
    display: block;
    width: 100%;
    height: 800px;
    object-fit: cover;
    object-position: center;
}

.error-banner::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #000000;
    opacity: 0.7;
}

.error-banner-content {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
}

.error-banner-content .container {
    text-align: center;
    padding-bottom: 60px;
}

.error-banner-titulo {
    margin: 0;
    color: #ffffff;
    font-family: "Yantramanav", sans-serif;
    font-weight: 700;
    font-size: 46px;
    line-height: 1.3;
}

.error-banner-boton {
    margin-top: 36px;
}

.error-banner-boton a {
    margin-left: 0;
}

.breadcumb-area {
    padding: 0;
    height: 250px;
    background-size: cover;
    background-position: center;
}

.breadcumb-area::after {
    content: "";
    position: absolute;
    inset: 0;
    background: #000;
}

.breadcumb-area .container {
    position: relative;
    z-index: 1;
}

.breadcumb-contactenos {
    background-image: url(../../img/bg/contactenos.jpg);
}

.breadcumb-contactenos::after {
    opacity: .54;
}

.contact-area {
    padding: 0;
}

.contact_from_box {
    height: 100%;
}

.content-info-area {
    background: var(--color-navy-4);
    height: 100%;
}

.content-info-title {
    padding: 0 0 40px;
}

.content-info-title h3 {
    color: var(--color-blanco);
}

.contact_title h3 {
    color: var(--color-navy);
}

/* C48 - tinta del diseno 26px de alto y 355px de ancho para "Formulario de
   contacto" en Yantramanav 700 => 38px, no los 30px que traia el theme. */
.contact_title h3,
.content-info-title h3 {
    font-size: 38px;
    line-height: 46px;
}

/* el diseno reparte la fila 56.4% / 43.6% (caja blanca x312..1033, caja azul
   x1058..1612) y no usa gutter negativo: la fila va a ras del contenedor. */
@media (min-width: 1200px) {
    .contact-area > .container > .row {
        margin-left: 0;
        margin-right: 0;
    }

    .contact-area > .container > .row > .col-lg-6:first-child {
        flex: 0 0 56.4%;
        max-width: 56.4%;
    }

    .contact-area > .container > .row > .col-lg-6:last-child {
        flex: 0 0 43.6%;
        max-width: 43.6%;
    }
}

.contacto-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 25px;
}

.contacto-check input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    min-width: 18px;
    margin-top: 3px;
    border: 2px solid var(--color-navy);
    border-radius: 3px;
    background: var(--color-blanco);
    cursor: pointer;
    position: relative;
}

.contacto-check input[type="checkbox"]:checked {
    background: var(--color-rojo);
    border-color: var(--color-rojo);
}

.contacto-check input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 1px;
    width: 5px;
    height: 9px;
    border: solid var(--color-blanco);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.contacto-check label {
    font-size: 17px;
    color: #6d6d6d;
    font-family: "Yantramanav";
}

.contacto-check label a {
    color: var(--color-navy);
    text-decoration: underline;
}

.contacto-check label a:hover {
    color: var(--color-rojo);
}

.map-section iframe {
    display: block;
    height: 414px;
}

.contact_from_box {
    border-radius: 15px;
}

.content-info-area {
    /* 48px laterales: el diseno alinea titulo (x1108) e iconos (x1106) sobre
       el mismo eje, a 48px del borde de la caja azul (x1058). */
    padding: 15px 48px 99px;
    border-radius: 15px;
}

.quote_button button {
    background: var(--color-rojo);
}

.quote_button button i {
    color: var(--color-blanco);
}

.quote_button button:hover {
    background: var(--color-rojo-2);
}

.quote_button button:hover i {
    color: var(--color-blanco);
}

.content-info-area .p {
    color: rgba(255, 255, 255, .74);
    font-size: 16px;
}

.content-info-area .p a {
    color: rgba(255, 255, 255, .74);
}

.content-info-area .p a:hover {
    color: var(--color-blanco);
}

.contact-area {
    padding-top: var(--espaciado);
    padding-bottom: var(--espaciado);
}

.breadcumb-proyectos {
    background-image: url(../../img/bg/proyectos.jpg);
}

.breadcumb-proyectos::after {
    opacity: .6;
}

.proy-galeria-area {
    background-color: var(--color-blanco);
}

.proy-item {
    position: relative;
    overflow: hidden;
    border-radius: 6px;
    margin-bottom: 48px;
}

.proy-thumb {
    display: block;
    line-height: 0;
    position: relative;
    overflow: hidden;
}

.proy-thumb img {
    width: 100%;
    aspect-ratio: 411 / 350;
    height: auto;
    object-fit: cover;
    transition: .5s;
}

.proyectos-home .case-study-thumb .venobox {
    display: block;
    line-height: 0;
    height: 100%;
}

.proy-thumb::after,
.proyectos-home .case-study-thumb .venobox::after {
    content: "\f00e";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    color: var(--color-blanco);
    background: rgba(1, 42, 74, .0);
    opacity: 0;
    transition: .5s;
}

.proy-thumb:hover::after,
.proyectos-home .case-study-thumb .venobox:hover::after {
    opacity: 1;
    background: rgba(1, 42, 74, .55);
}

.proy-thumb:hover img,
.proyectos-home .case-study-thumb .venobox:hover img {
    transform: scale(1.08);
}

.contact-area .form_box input {
    height: 64px;
    border-radius: 32px;
}

.contact-area .form_box textarea {
    height: 114px;
    border-radius: 20px;
    padding-top: 18px;
}

.banner-inicio {
    height: 812px;
}

/* el segundo slide comparte la foto aprobada: en los insumos solo vino una
   foto de banner. Cuando llegue la segunda basta con cambiar esta url. */
.banner-inicio .slide-inner.slide-bg-image.two {
    background-color: var(--color-navy-2);
    background-image: linear-gradient(90deg, var(--color-navy-2) 0%, var(--color-navy-2) 48%, transparent 60%),
        url(../../img/inicio/banner-operarios-obra.jpg);
    background-repeat: no-repeat, no-repeat;
    background-position: center center, right center;
    background-size: cover, auto 100%;
}

/* flechas del carrusel: circulo de 56px con borde de 2px en el rojo del logo,
   centro en y560 del diseno (x30..85 a la izquierda, x1844..1900 a la derecha) */
.banner-inicio .swiper-button-prev,
.banner-inicio .swiper-button-next {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-top: -28px;
    border: 2px solid var(--color-rojo-logo);
    border-radius: 50%;
    background-image: none;
    background-color: transparent;
    color: var(--color-rojo-logo);
    font-size: 18px;
    line-height: 1;
    transition: .3s;
    z-index: 5;
    /* el theme las deja en opacity:0 con translateX(50px) y solo las saca al
       hacer hover sobre el hero; en el diseno se ven siempre. */
    opacity: 1;
    visibility: visible;
    transform: none;
}

/* el theme pinta la flecha con un ::before en "Font Awesome 5 Free", que no
   esta instalado (aqui va FA6): la flecha la pone el <i class="bi"> del markup */
/* el glifo va en CSS y no en el markup: asi no depende de que nadie reescriba
   includes/banner.php. El theme lo pintaba con "Font Awesome 5 Free", que en
   este proyecto no esta instalado (va FA6); aqui se usa bootstrap-icons, la
   misma familia que el boton del hero. */
.banner-inicio .swiper-button-prev::before,
.banner-inicio .swiper-button-next::before {
    font-family: "bootstrap-icons";
    font-weight: normal;
    font-style: normal;
    font-size: inherit;
    line-height: 1;
    color: inherit;
    display: block;
}

.banner-inicio .swiper-button-prev::before {
    content: "\f12f";
}

.banner-inicio .swiper-button-next::before {
    content: "\f138";
}

.banner-inicio .swiper-button-prev {
    left: 30px;
    right: auto;
}

.banner-inicio .swiper-button-next {
    right: 20px;
    left: auto;
}

.banner-inicio .swiper-button-prev:hover,
.banner-inicio .swiper-button-next:hover {
    background-color: var(--color-rojo-logo);
    color: var(--color-blanco);
}

.banner-inicio .slide-inner.slide-bg-image {
    background-color: var(--color-navy-2);
    background-image: linear-gradient(90deg, var(--color-navy-2) 0%, var(--color-navy-2) 48%, transparent 60%),
        url(../../img/inicio/banner-operarios-obra.jpg);
    background-repeat: no-repeat, no-repeat;
    background-position: center center, right center;
    background-size: cover, auto 100%;
}

.banner-inicio .hero-content {
    text-align: left;
    width: 100%;
}

.banner-inicio .hero-sub-title {
    display: inline-block;
    position: relative;
    margin: 0 0 40px;
    padding-left: 72px;
    font-family: "Yantramanav";
    font-size: 20px;
    line-height: 1;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    color: var(--color-rojo);
    font-weight: 700;
}

.banner-inicio .hero-sub-title:before {
    position: absolute;
    content: "";
    left: 0;
    top: 50%;
    width: 48px;
    height: 5px;
    margin-top: -2px;
    background: var(--color-rojo);
}

.banner-inicio .hero-sub-title:after {
    display: none;
}

.banner-inicio h1,
.banner-inicio h2 {
    margin: 0;
    font-family: "Yantramanav";
    font-size: 90px;
    line-height: 102px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--color-blanco);
}

.banner-inicio h1 span,
.banner-inicio h2 span {
    display: block;
}

.banner-inicio-texto {
    max-width: 560px;
    margin-top: 44px;
    font-size: 22px;
    line-height: 36px;
    color: var(--color-blanco);
    font-weight: 300 !important;
}

.banner-inicio a.hero-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 46px;
    padding: 0 34px;
    width: 235px;
    height: 70px;
    background: var(--color-rojo);
    font-family: "Yantramanav";
    font-size: 22px;
    font-weight: 500;
    color: var(--color-blanco);
    border-radius: 0;
    border: 0;
}

.banner-inicio a.hero-button:before {
    display: none;
}

.banner-inicio a.hero-button i {
    margin-left: 16px;
    font-size: 20px;
    color: var(--color-blanco);
}

.banner-inicio a.hero-button:hover {
    background: var(--color-navy);
    color: var(--color-blanco);
}

.banner-inicio-forma {
    position: absolute;
    bottom: -150px;
    width: 172px;
    height: 460px;
    border-radius: 90px;
    background: var(--color-rojo);
    opacity: 0.92;
    z-index: 1;
}

.banner-inicio-forma-1 {
    right: 344px;
    transform: rotate(20deg);
}

.banner-inicio-forma-2 {
    right: 172px;
    transform: rotate(20deg);
}

.quienes-home {
    background: var(--color-gris-bg);
    padding-top: 110px;
    padding-bottom: 72px;
    overflow: hidden;
}

.quienes-home .about-thumb {
    margin-left: -60px;
    margin-right: -12px;
}

.quienes-home .about-thumb img {
    width: 100%;
    height: auto;
    display: block;
}

.quienes-home .consen-section-title h2 {
    margin: 0;
    font-family: "Yantramanav";
    font-size: 64px;
    line-height: 1.05;
    font-weight: 700;
    color: var(--color-navy-2);
}

.quienes-home .consen-section-title .p {
    margin-top: 32px;
    font-size: 17px;
    line-height: 26px;
    color: var(--color-texto);
}

.quienes-home .about-item {
    display: flex;
    align-items: center;
    margin-top: 46px;
    padding: 22px 0 22px 19px;
    border-left: 3px solid var(--color-rojo);
}

.quienes-home .about-icon {
    flex: 0 0 57px;
    margin-right: 26px;
}

.quienes-home .about-icon img {
    width: 57px;
    height: auto;
    display: block;
}

.quienes-home .about-content h4 {
    margin: 0;
    font-family: "Yantramanav";
    font-size: 23px;
    line-height: 27px;
    font-weight: 700;
    color: var(--color-navy-2);
}

.quienes-home .about-content h4 span {
    display: block;
}

.quienes-home .about-desc {
    margin-top: 44px;
}

.quienes-home .about-desc .p {
    font-size: 17px;
    line-height: 26px;
    color: var(--color-texto);
}

.quienes-home .about-last-child {
    margin-top: 38px;
}

.quienes-home .Indastre-btn.abt a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 189px;
    height: 52px;
    background: var(--color-rojo);
    font-family: "Yantramanav";
    font-size: 18px;
    font-weight: 500;
    color: var(--color-blanco);
}

.quienes-home .Indastre-btn.abt a i {
    margin-left: 12px;
    font-size: 16px;
}

.quienes-home .Indastre-btn.abt a:hover {
    background: var(--color-navy);
    color: var(--color-blanco);
}

.servicios-home {
    position: relative;
    z-index: 1;
    padding-top: 86px;
    padding-bottom: 68px;
    background: var(--color-blanco);
}

.servicios-home:before {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 100%;
    height: 532px;
    background: url(../../img/bg/nuestros-servicios.jpg) center center / cover no-repeat;
    z-index: -1;
}

.servicios-home:after {
    position: absolute;
    content: "";
    left: 0;
    top: 532px;
    width: 100%;
    height: 27px;
    background-image:
        repeating-linear-gradient(90deg, transparent 0 4px, var(--color-gris-regla) 4px 7px, transparent 7px 12px),
        repeating-linear-gradient(90deg, transparent 0 16px, var(--color-gris-regla) 16px 19px, transparent 19px 36px);
    background-repeat: no-repeat, no-repeat;
    background-size: 100% 15px, 100% 27px;
    z-index: -1;
}

.servicios-home .container {
    position: relative;
    z-index: 2;
}

.servicios-home-title {
    position: relative;
    margin-bottom: 46px;
    padding-top: 26px;
}

.servicios-home-title:before {
    position: absolute;
    content: "";
    left: -14px;
    top: 0;
    width: 32px;
    height: 2px;
    background: var(--color-rojo);
}

.servicios-home-title h2 {
    margin: 0;
    font-family: "Yantramanav";
    font-size: 66px;
    line-height: 1.05;
    font-weight: 700;
    color: var(--color-blanco);
}

.servicios-home .owl-stage {
    display: flex;
}

.servicios-home .owl-item {
    display: flex;
    flex: 0 0 auto;
}

.servicios-home .owl-item .col-lg-12 {
    display: flex;
    width: 100%;
}

.servicios-home .service-single-item {
    display: flex;
    flex-direction: column;
    width: 100%;
    background: transparent;
    color: inherit;
    text-decoration: none;
}

.servicios-home .service-thumb img {
    width: 100%;
    height: auto;
    display: block;
}

.servicios-home .service-contents {
    position: relative;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 300px;
    padding: 33px 43px 34px;
    background: var(--color-gris-bg);
}

.servicios-home .service-contents:before {
    position: absolute;
    content: "";
    left: 43px;
    top: 33px;
    width: 34px;
    height: 3px;
    background: var(--color-rojo);
}

.servicios-home .service-title {
    margin: 22px 0 0;
    font-family: "Yantramanav";
    font-size: 31px;
    line-height: 29px;
    font-weight: 700;
    color: var(--color-negro);
}

.servicios-home .service-title span {
    display: block;
}

.servicios-home .service-text {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

.servicios-home .service-text .p {
    margin-top: 22px;
    font-size: 18px;
    line-height: 27px;
    color: var(--color-texto);
}

.servicios-home .service-button {
    margin-top: auto;
    padding-top: 12px;
}

.servicios-home .service-button i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 39px;
    background: var(--color-blanco);
    color: var(--color-rojo);
    font-size: 23px;
    transition: background .3s ease, color .3s ease;
}

.servicios-home .service-single-item:hover .service-button i,
.servicios-home .service-single-item:focus-visible .service-button i {
    background: var(--color-rojo);
    color: var(--color-blanco);
}

.servicios-home .owl-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 58px;
}

.servicios-home .owl-nav button.owl-prev,
.servicios-home .owl-nav button.owl-next {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    margin: 0 8px;
    background: var(--color-gris-bg);
    color: var(--color-texto);
    font-size: 18px;
}

.servicios-home .owl-nav button.owl-prev:hover,
.servicios-home .owl-nav button.owl-next:hover {
    background: var(--color-rojo);
    color: var(--color-blanco);
}

.servicios-home .owl-nav:before,
.servicios-home .owl-nav:after {
    content: "";
    width: 60px;
    height: 1px;
    background: color-mix(in srgb, var(--color-texto) 30%, transparent);
}

.servicios-home .owl-nav:before {
    margin-right: 22px;
}

.servicios-home .owl-nav:after {
    margin-left: 22px;
}

.proyectos-home {
    padding-bottom: 112px;
    background: var(--color-blanco);
}

.proyectos-home-head {
    margin-bottom: 42px;
}

.proyectos-home .section-title h2 {
    margin: 0;
    font-family: "Yantramanav";
    font-size: 41px;
    line-height: 1.1;
    font-weight: 700;
    color: var(--color-navy-2);
}

.proyectos-home-button {
    text-align: right;
}

.proyectos-home-button a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 176px;
    height: 59px;
    background: var(--color-rojo);
    font-family: "Yantramanav";
    font-size: 20px;
    font-weight: 500;
    color: var(--color-blanco);
}

.proyectos-home-button a i {
    margin-left: 12px;
    font-size: 17px;
}

.proyectos-home-button a:hover {
    background: var(--color-navy);
    color: var(--color-blanco);
}

.proyectos-home-col {
    display: flex;
    flex-direction: column;
    gap: 37px;
}

.proyectos-home-subgrid {
    --bs-gutter-x: 25px;
}

.proyectos-home .case-study-single-box {
    margin: 0;
}

.proyectos-home .case-study-thumb {
    position: relative;
    overflow: hidden;
    height: 100%;
}

.proyectos-home .ph-grande img {
    width: 100%;
    aspect-ratio: 633 / 354;
    object-fit: cover;
    display: block;
}

.proyectos-home .ph-peq img {
    width: 100%;
    aspect-ratio: 305 / 368;
    object-fit: cover;
    display: block;
}

.proyectos-home .ph-alta,
.proyectos-home .ph-alta .case-study-thumb {
    height: 100%;
}

.proyectos-home .ph-alta img {
    width: 100%;
    height: 100%;
    min-height: 400px;
    object-fit: cover;
    display: block;
}

.inq-section {
    position: relative;
    z-index: 1;
    padding: 129px 0 48px;
    background: url(../../img/bg/inquietudes.jpg) center center / cover no-repeat;
    background-color: var(--color-navy);
    overflow: hidden;
}

.inq-foto {
    position: absolute;
    left: 0;
    top: 0;
    width: 785px;
    max-width: 45%;
    z-index: -1;
}

.inq-foto img {
    width: 100%;
    height: auto;
    display: block;
}

.inq-row {
    display: flex;
    align-items: center;
    padding-left: 64px;
    gap: 106px;
}

.inq-col-form {
    flex: 0 0 505px;
    max-width: 505px;
}

.inq-col-faq {
    flex: 1 1 auto;
    min-width: 0;
}

.inq-form-box {
    position: relative;
    padding: 50px 51px 0;
    background: var(--color-rojo);
}

.inq-form-punta {
    position: absolute;
    right: 0;
    top: -81px;
    width: 77px;
    height: 81px;
    background: var(--color-rojo);
    clip-path: polygon(0 0, 100% 100%, 0 100%);
}

.inq-form-circulo {
    position: absolute;
    left: 8px;
    top: -18px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--color-rojo);
    border: 2px solid var(--color-navy-2);
}

.inq-form-titulo {
    margin: 0 0 28px;
    font-family: "Yantramanav";
    font-size: 33px;
    line-height: 1.2;
    font-weight: 700;
    color: var(--color-blanco);
}

.inq-form-campo {
    margin-bottom: 18px;
}

.inq-form-campo input,
.inq-form-campo textarea {
    width: 100%;
    height: 64px;
    padding: 0 20px;
    border: 0;
    border-radius: 0;
    background: var(--color-blanco);
    font-family: "Yantramanav";
    font-size: 18px;
    color: var(--color-texto);
}

.inq-form-campo textarea {
    height: 137px;
    padding: 18px 20px;
    resize: none;
}

.inq-form-campo input::placeholder,
.inq-form-campo textarea::placeholder {
    color: var(--color-texto);
    opacity: 0.75;
}

.inq-form-politica {
    display: flex;
    align-items: flex-start;
    margin: 4px 0 12px;
}

.inq-form-politica .form-check-input {
    flex: 0 0 15px;
    width: 15px;
    height: 15px;
    margin: 3px 10px 0 0;
    border-radius: 0;
    border: 0;
    background-color: var(--color-blanco);
}

.inq-form-politica label {
    font-family: "Yantramanav";
    font-size: 17px;
    line-height: 21px;
    color: var(--color-blanco);
    text-transform: capitalize;
    margin-right: -26px;
}

.inq-form-politica label a {
    color: var(--color-blanco);
    text-decoration: underline;
}

.inq-form-politica label a:hover {
    color: var(--color-navy-3);
}

.inq-form-recaptcha {
    min-height: 50px;
    margin-bottom: 14px;
}

.inq-form-boton {
    margin: 0 -51px;
}

.inq-form-boton .btn {
    display: block;
    width: 100%;
    height: 97px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: var(--color-navy-2);
    font-family: "Yantramanav";
    font-size: 23px;
    font-weight: 500;
    color: var(--color-blanco);
}

.inq-form-boton .btn:hover {
    background: var(--color-navy);
    color: var(--color-blanco);
}

.inq-faq-title h2 {
    margin: 0 0 40px;
    font-family: "Yantramanav";
    font-size: 41px;
    line-height: 1.15;
    font-weight: 700;
    color: var(--color-blanco);
    text-transform: capitalize;
}

.inq-accordion {
    margin: 0;
    padding: 0;
    list-style: none;
}

.inq-accordion > li {
    padding-bottom: 22px;
    border-bottom: 1px solid color-mix(in srgb, var(--color-blanco) 70%, transparent);
    margin-bottom: 26px;
}

.inq-accordion > li:last-child {
    margin-bottom: 0;
}

.inq-accordion > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    font-family: "Yantramanav";
    font-size: 24px;
    line-height: 1.3;
    font-weight: 700;
    color: var(--color-blanco);
    text-transform: capitalize;
}

.inq-accordion > li > a i {
    flex: 0 0 auto;
    font-size: 20px;
    transition: 0.4s;
}

.inq-accordion > li > a.active i {
    transform: rotate(180deg);
}

.inq-accordion > li > .p {
    display: none;
    margin-top: 22px;
    font-size: 19px;
    line-height: 31px;
    color: var(--color-blanco);
}

.inq-faq-boton {
    margin-top: 52px;
}

.inq-faq-boton a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 176px;
    height: 59px;
    background: var(--color-rojo);
    font-family: "Yantramanav";
    font-size: 20px;
    font-weight: 500;
    color: var(--color-blanco);
}

.inq-faq-boton a i {
    margin-left: 12px;
    font-size: 17px;
}

.inq-faq-boton a:hover {
    background: var(--color-navy-2);
    color: var(--color-blanco);
}

.temas-interes {
    background: var(--color-blanco);
}

.temas-interes-head {
    margin-bottom: 49px;
}

.temas-interes-title h4 {
    margin: 0 0 22px;
    font-family: "Yantramanav";
    /* C57 - ancho de tinta del recorte, no altura: "MADERA" mide 63x11 en
       disenos/vista-{04,05,06,13} y 59x10 en el build a 16px. La cadena entera
       da 424px en el diseno y 399px a 16px/700/ls .3; a 17px da 423px. */
    font-size: 17px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    color: var(--color-rojo);
}

.temas-interes-title h2 {
    margin: 0;
    font-family: "Yantramanav";
    font-size: 46px;
    line-height: 1.1;
    font-weight: 700;
    color: var(--color-navy-2);
}

.temas-interes-ver {
    display: flex;
    justify-content: flex-end;
}

.temas-interes-ver a {
    display: inline-flex;
    align-items: center;
    font-family: "Yantramanav";
    font-size: 18px;
    font-weight: 500;
    color: var(--color-navy-2);
}

.temas-interes-ver a i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 39px;
    height: 40px;
    margin-left: 12px;
    border: 1px solid var(--color-rojo);
    /* C57 - la esquina del recorte entra 3/2/1/0 px en las 4 primeras filas:
       eso es un radio de 5px, no una caja recta (el build iba en 0). */
    border-radius: 5px;
    color: var(--color-rojo);
    /* el chevron del recorte mide 9x15 con trazo de 2-3px; a 15px el build
       daba 6x11 con trazo de 1px. A 19px da 9x15 con trazo de 2px. */
    font-size: 19px;
    transition: 0.4s;
}

.temas-interes-ver a:hover {
    color: var(--color-rojo);
}

.temas-interes-ver a:hover i {
    background: var(--color-rojo);
    color: var(--color-blanco);
}

.temas-interes-grid {
    --bs-gutter-x: 19px;
}

/* C65 - la tarjeta ENTERA es el enlace (el <a> envuelve todo y dentro no queda
   ningun otro enlace). Mismo patron que .servicios-home .service-single-item. */
.temas-interes-card {
    display: block;
    margin: 0;
    background: var(--color-gris-bg);
    border-bottom: 5px solid var(--color-rojo);
    color: inherit;
    text-decoration: none;
}

/* zoom de la foto en hover: mismo factor (1.08) y misma transicion (.5s) que
   .proy-thumb img / .proyectos-home .case-study-thumb .venobox img. El
   overflow:hidden va en el contenedor de la foto (el de la card no bastaria:
   la foto ampliada se derramaria sobre .blog-content). */
.temas-interes-card .single-blog-thumb {
    overflow: hidden;
}

.temas-interes-card .single-blog-thumb img {
    width: 100%;
    height: auto;
    display: block;
    transition: .5s;
}

/* (hover: hover) - sin esto, en tactil el :hover se queda PEGADO tras el tap y
   la foto se queda ampliada hasta que tocas fuera (medido a 375 y 767). */
@media (hover: hover) {
    .temas-interes-card:hover .single-blog-thumb img {
        transform: scale(1.08);
    }
}

.temas-interes-card .blog-content {
    padding: 36px 34px 40px;
    background: transparent;
}

.temas-interes-card .meta-blog {
    margin-bottom: 32px;
}

.temas-interes-card .meta-blog span {
    font-family: "Yantramanav";
    font-size: 17px;
    line-height: 1;
    font-weight: 500;
    color: var(--color-rojo);
}

/* el titulo y el boton ya no son <a> (habria enlaces anidados): la transicion
   de .5s que heredaban de `.blog-content a` se declara aqui a mano. */
/* inline-block, no block: es el valor que tenia computado cuando se cerraron
   las 5 vistas (lo imponia `.blog-content a` del theme, que ya no aplica
   porque el titulo dejo de ser <a>). Se conserva para no mover nada. */
.temas-interes-card-titulo {
    display: inline-block;
    font-family: "Yantramanav";
    font-size: 24px;
    line-height: 30px;
    font-weight: 700;
    color: var(--color-navy-2);
    transition: .5s;
}

.temas-interes-card:hover .temas-interes-card-titulo,
.temas-interes-card:focus-visible .temas-interes-card-titulo {
    color: var(--color-rojo);
}

/* line-height: el boton heredaba 30px de `.blog-content a`; al dejar de ser
   <a> hay que declararlo. 30px = 1.58 x los 19px de 1920 (el ancho medido
   contra el diseno); la escalera de responsive.css mantiene esa proporcion. */
.temas-interes-card .blog-button {
    display: inline-flex;
    align-items: center;
    line-height: 30px;
    margin-top: 40px;
    padding: 0;
    background: transparent;
    font-family: "Yantramanav";
    font-size: 17px;
    font-weight: 500;
    color: var(--color-navy-2);
    transition: .5s;
}

.temas-interes-card .blog-button i {
    margin-left: 12px;
    font-size: 15px;
    color: var(--color-rojo);
    transition: .5s;
}

.temas-interes-card:hover .blog-button,
.temas-interes-card:focus-visible .blog-button {
    color: var(--color-rojo);
}
 
.clientes-area {
    position: relative;
    z-index: 1;
    padding: 76px 0 68px;
    background-image: linear-gradient(var(--color-velo-clientes), var(--color-velo-clientes)), url(../../img/bg/nuestros-clientes.jpg);
    background-position: center center, center center;
    background-size: cover, cover;
    background-repeat: no-repeat, no-repeat;
    background-blend-mode: difference, normal;
    background-color: var(--color-rojo-2);
}

.clientes-title {
    text-align: center;
    margin-bottom: 46px;
}

.clientes-title h2 {
    margin: 0;
    font-family: "Yantramanav";
    font-size: 41px;
    line-height: 1.1;
    font-weight: 700;
    color: var(--color-blanco);
}

.clientes-grid {
    margin: 0;
}

.clientes-item {
    margin: 0;
    background: transparent;
}

.clientes-item .brand-thumb {
    padding: 0;
}

.clientes-item .brand-thumb img {
    width: 100%;
    max-width: 295px;
    height: auto;
    display: block;
    margin: 0 auto;
}

.modal-md-custom {
    max-width: 700px;
}

#miModal .modal-content {
    border: 0;
    border-radius: 0;
}

#miModal .modal-header {
    background: var(--color-navy-2);
    border-radius: 0;
    border: 0;
}

#miModal .modal-title {
    font-family: "Yantramanav";
    font-size: 20px;
    font-weight: 700;
    color: var(--color-blanco);
}

#miModal .btn-close {
    filter: brightness(0) invert(1);
    opacity: 0.9;
}

#miModal .modal-body {
    padding: 0;
}

#miModal .modal-body img {
    width: 100%;
    height: auto;
    display: block;
}

.modal-inicio-texto {
    padding: 24px 28px 4px;
    font-size: 17px;
    line-height: 26px;
}

#miModal .modal-footer {
    border: 0;
    padding: 18px 28px 24px;
}

.modal-inicio-boton {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 46px;
    padding: 0 26px;
    background: var(--color-rojo);
    font-family: "Yantramanav";
    font-size: 17px;
    font-weight: 500;
    color: var(--color-blanco);
}

.modal-inicio-boton i {
    margin-left: 10px;
    font-size: 15px;
}

.modal-inicio-boton:hover {
    background: var(--color-navy-2);
    color: var(--color-blanco);
}

.banner-inicio h1,
.banner-inicio h2 {
    font-size: 97px;
    line-height: 103px;
    letter-spacing: -3px;
}

.banner-inicio .hero-sub-title {
    margin-bottom: 32px;
}

.banner-inicio-texto {
    margin-top: 31px;
    font-size: 22px;
    line-height: 35px;
}

.banner-inicio a.hero-button {
    margin-top: 44px;
    font-size: 23px;
}

.quienes-home {
    padding-top: 102px;
    padding-bottom: 64px;
}

.quienes-home .about-thumb {
    margin-left: -72px;
    margin-right: 0;
}

.quienes-home .about-thumb img {
    width: 690px;
    max-width: none;
    height: 661px;
    object-fit: cover;
}

.servicios-home {
    padding-top: 88px;
    padding-bottom: 86px;
}

.servicios-home-title {
    padding-top: 28px;
    margin-bottom: 30px;
}

.servicios-home-title h2 {
    font-size: 72px;
}

.servicios-home .service-list2 .col-lg-12 {
    padding-left: 0;
    padding-right: 0;
}

.servicios-home .owl-nav,
.servicios-home .owl-nav.disabled {
    display: flex;
    position: static;
    text-align: center;
    margin-top: 58px;
}

.servicios-home .owl-nav button.owl-prev,
.servicios-home .owl-nav button.owl-next {
    margin-top: 0;
    margin-bottom: 0;
    padding: 0;
    border-radius: 0;
    line-height: 1;
}

.servicios-home .owl-nav button.owl-prev:before,
.servicios-home .owl-nav button.owl-next:after {
    display: none;
    content: none;
}

.proyectos-home {
    padding-top: 0;
}

.proyectos-home .section-title h2 {
    font-size: 47px;
}

.proyectos-home-head {
    margin-bottom: 43px;
}

.proyectos-home-col {
    gap: 37px;
}

.proyectos-home .ph-grande img {
    aspect-ratio: 1.86;
}

.inq-form-titulo {
    margin-bottom: 18px;
}

.inq-form-politica {
    margin: 14px 0 0;
}

.inq-form-recaptcha {
    margin: 14px 0 0;
    min-height: 49px;
}

.inq-form-boton {
    margin-top: 19px;
}

.inq-faq-title h2 {
    font-size: 45px;
}

.inq-accordion > li > a,
.inq-accordion > li > a.active {
    width: 100%;
    padding: 0 0 22px;
    border-bottom: 0;
    font-size: 23px;
    color: var(--color-blanco);
}

.inq-accordion > li > a i,
.inq-accordion > li > a.active i {
    float: none;
    top: auto;
    font-size: 20px;
    color: var(--color-blanco) !important;
    transform: rotate(0deg) !important;
}

.inq-accordion > li > a.active i {
    transform: rotate(180deg) !important;
}

.temas-interes-head {
    margin-bottom: 41px;
}

.temas-interes-title h2 {
    font-size: 48px;
}

.temas-interes-card {
    position: relative;
    overflow: hidden;
}

.temas-interes-card .meta-blog {
    padding: 0;
    margin-bottom: 32px;
    border: 0;
}

.temas-interes-card .blog-content {
    position: relative;
    z-index: 2;
    padding: 36px 34px 44px;
}

/* 26px: "¿Cuando es el momento" mide 256px en los disenos vista-05 y vista-13
   (264px a 27px, 254px a 26px). Reserva de 3 lineas: en el diseno las tres
   cards cierran en la misma linea roja (y2186 en vista-13). */
.temas-interes-card .blog-content .temas-interes-card-titulo {
    font-size: 26px;
    line-height: 30px;
    min-height: 90px;
    color: var(--color-navy-2);
}

.temas-interes-card:hover .blog-content .temas-interes-card-titulo,
.temas-interes-card:focus-visible .blog-content .temas-interes-card-titulo {
    color: var(--color-rojo);
}

.temas-interes-card .blog-content .blog-button {
    margin-top: 34px;
    font-size: 19px;
    color: var(--color-rojo);
}

.temas-interes-card .blog-content .blog-button i {
    color: var(--color-rojo);
}

.temas-interes-card:hover .blog-content .blog-button,
.temas-interes-card:hover .blog-content .blog-button i,
.temas-interes-card:focus-visible .blog-content .blog-button,
.temas-interes-card:focus-visible .blog-content .blog-button i {
    color: var(--color-navy-2);
}

.temas-interes-card .blog-shape {
    position: absolute;
    right: -50px;
    bottom: 5px;
    z-index: 1;
    line-height: 0;
    pointer-events: none;
}

/* a tamano natural (359x200): el diseno deposita 13235 pixeles de trama en la
   esquina de la tarjeta y a 220px el build solo ponia 5982, asi que la figura
   del edificio se perdia y parecia que no estaba. */
.temas-interes-card .blog-shape img {
    width: 359px;
    height: auto;
    opacity: 0.55;
}

.clientes-area {
    margin-top: 0;
    padding: 65px 0 67px;
}

.clientes-title {
    margin-bottom: 65px;
}

.clientes-title h2 {
    font-size: 44px;
}

.servicios-home {
    margin-top: 0;
}

.servicios-home .owl-carousel .owl-item img {
    display: block;
}

.temas-interes,
.proyectos-home,
.inq-section {
    margin-top: 0;
}

.servicios-home .owl-nav,
.servicios-home .owl-nav.disabled {
    height: 50px;
    margin-top: 53px;
}

.servicios-home {
    padding-bottom: 81px;
}

.proyectos-home-head {
    margin-bottom: 40px;
}

.proyectos-home-col {
    gap: 30px;
}

.inq-form-recaptcha {
    min-height: 22px;
}

.inq-form-boton {
    margin-top: 15px;
}

.inq-form-titulo {
    margin-bottom: 12px;
}

.temas-interes-card .blog-content {
    padding-bottom: 33px;
}

.temas-interes-head {
    margin-bottom: 43px;
}

.servicios-home {
    padding-bottom: 92px;
}

.proyectos-home-col {
    gap: 23px;
}

.inq-form-recaptcha {
    min-height: 26px;
}

.proyectos-home-col {
    gap: 37px;
}

.proyectos-home-subgrid {
    --bs-gutter-y: 0;
}

.proyectos-home .ph-grande img {
    width: 100%;
    height: auto;
    aspect-ratio: 648 / 354;
    object-fit: cover;
}

.proyectos-home .ph-peq img {
    width: 100%;
    height: auto;
    aspect-ratio: 312 / 368;
    object-fit: cover;
}

.proyectos-home .ph-alta,
.proyectos-home .ph-alta .case-study-thumb {
    height: auto;
}

.proyectos-home .ph-alta img {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 648 / 759;
    object-fit: cover;
}

.banner-inicio .slide-inner.slide-bg-image {
    align-items: flex-start;
}

.banner-inicio .hero-content {
    padding-top: 147px;
}

.banner-inicio-texto {
    margin-top: 28px;
}

.banner-inicio a.hero-button {
    margin-top: 40px;
}

.quienes-home .consen-section-title .p {
    margin-top: 19px;
}

.quienes-home .about-item {
    padding: 30px 0 30px 19px;
}

.quienes-home .about-desc {
    margin-top: 39px;
}

.inq-accordion > li {
    padding-bottom: 0;
    margin-bottom: 36px;
    border-bottom: 0;
}

.inq-accordion > li > a,
.inq-accordion > li > a.active {
    gap: 10px;
    padding: 0 0 22px;
    font-size: 22px;
    border-bottom: 1px solid color-mix(in srgb, var(--color-blanco) 70%, transparent);
}

.inq-accordion > li > a i,
.inq-accordion > li > a.active i {
    flex: 0 0 14px;
    width: 14px;
    text-align: center;
    font-size: 18px;
}

.inq-accordion > li > .p {
    margin-top: 21px;
}

.inq-faq-title h2 {
    margin-bottom: 32px;
}

.inq-faq-boton {
    margin-top: 34px;
}

.inq-col-faq {
    margin-bottom: 26px;
}

.breadcumb-quienes-somos {
    background-image: url(../../img/bg/quienes-somos.jpg);
}

.breadcumb-quienes-somos::after {
    opacity: .59;
}

.qs-about-left {
    position: relative;
}

/* la columna de texto queda 6px baja respecto al recorte porque el centrado
   vertical la reparte segun la caja y no segun la tinta. Se compensa con un
   margen negativo (la mitad se absorbe en el centrado) que escala como
   --espaciado (C66). NO se usa position/transform aqui: cualquiera de los dos
   convierte la columna en bloque contenedor y .qs-marca dejaria de anclarse a
   la seccion. */
.qs-about-right {
    margin-top: calc(var(--espaciado) * -0.12);
}

.qs-collage {
    position: relative;
    display: block;
    width: fit-content;
    line-height: 0;
}

.qs-collage img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* medido en disenos/vista-03/completo.png a 1920: circulo navy de 120px de
   diametro (x525-643, y744-863) con anillo blanco de 7px por fuera (blancos a
   y=804 en x518-524 y x645-651) => caja total 134px. Centro en (584, 803.5),
   que sobre la foto (x300-909, y498-1068) cae en 46.6% / 53.6%. */
.qs-badge {
    position: absolute;
    left: 46.6%;
    top: 53.6%;
    transform: translate(-50%, -50%);
    width: 134px;
    height: 134px;
    border: 7px solid var(--color-blanco);
    border-radius: 50%;
    background: var(--color-navy);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 10px;
}

.qs-badge-num {
    font-family: "Yantramanav";
    font-size: 41px;
    font-weight: 700;
    color: var(--color-blanco);
    line-height: 1;
}

/* "Anos de experiencia" va en DOS lineas en el diseno ("Anos de" 51px de tinta,
   "experiencia" 73px, interlineado 21px = 1.35). */
.qs-badge-text {
    font-family: "Yantramanav";
    font-size: 15.5px;
    font-weight: 500;
    color: var(--color-blanco);
    line-height: 1.35;
}

/* kicker: en el diseno va en MAYUSCULAS (C62) y mide 443px de tinta
   (x1074-1516); Yantramanav 500 uppercase iguala ese ancho a 21px (442px).
   La raya roja mide 60x5 (x999-1058, y591-595) y deja 16px hasta la tinta,
   de ahi el padding-left de 75px. */
.qs-title h4 {
    font-size: 21px;
    color: var(--color-rojo);
    font-weight: 500;
    font-family: "Yantramanav";
    text-transform: uppercase;
    margin-bottom: calc(var(--espaciado) * 0.10);
    padding-left: 75px;
    position: relative;
    z-index: 1;
    display: inline-block;
}

/* el top va en em, no en 50%: por debajo de 400px el kicker pasa a dos lineas
   y un 50% dejaria la raya centrada entre las dos en vez de junto a la primera. */
.qs-title h4:before {
    position: absolute;
    content: "";
    top: 0.36em;
    left: 0;
    width: 60px;
    height: 5px;
    background-color: var(--color-rojo);
    z-index: -1;
}

/* "Quienes somos": 536px de tinta en el diseno (x1001-1536); Yantramanav 700
   los da a 86px (536px). Estaba a 70px = 437px, un 23% corto. */
.qs-title h1,
.qs-title h2 {
    font-size: 86px;
    line-height: 1.15;
    color: var(--color-navy);
    font-weight: 700;
    font-family: "Yantramanav";
    text-transform: none;
    margin-bottom: calc(var(--espaciado) * 0.06);
}

/* parrafo: las tres lineas del diseno miden 621/579/355px de tinta; el build
   daba 581/545/332 (x1.067 => 18px * 1.067 = 19.2px). Interlineado del diseno
   30.5px (lineas en y741/771/802) = 1.6. El 96% reproduce el mismo corte de
   linea que el recorte. */
/* separaciones verticales medidas por la distancia entre tintas del recorte:
   kicker->h1 57px, h1->parrafo 102px, parrafo->lista 75px. */
.qs-title .p {
    width: 96%;
    font-size: 19.2px;
    line-height: 1.6;
    margin-bottom: calc(var(--espaciado) * 0.50);
}

.qs-list {
    margin: 0 0 20px;
    padding: 0;
    list-style: none;
}

/* items de la lista: tinta del diseno 161/204/185/186px; Yantramanav 400 a 19px
   da 162/204/185/192. Las dos filas van de y877 a y930 = 53px de paso; con el
   icono a 26px la caja de linea sale 29 y el margen queda en 24. El check mide
   26x27 en el recorte y deja 16px hasta la tinta. */
.qs-list li {
    font-size: 19px;
    line-height: 26px;
    color: var(--color-negro);
    font-weight: 400;
    font-family: "Yantramanav";
    margin-bottom: calc(var(--espaciado) * 0.24);
}

.qs-list li i {
    font-size: 26px;
    line-height: inherit;
    vertical-align: middle;
    color: var(--color-navy);
    margin-right: calc(var(--espaciado) * 0.14);
    position: relative;
    top: 0;
}

.qs-about {
    position: relative;
    overflow: hidden;
    padding-top: 95px;
    padding-bottom: 95px;
    background: linear-gradient(to right, var(--color-blanco) 50%, var(--color-gris-bg) 50%);
}

/* figura decorativa (C63): el PNG ya trae su alfa horneada (66/255 = 0.259) y el
   diseno la pinta con ESE alfa exacto -- las lineas dan (252,188,197) sobre el
   fondo (251,251,251), que despeja alfa 0.259. El opacity .5 anterior la dejaba
   en 0.129 (C54). Ajuste por correlacion cruzada contra el recorte: 301x242 con
   la esquina superior izquierda en (1665,932) => error medio 1.5/255. */
.qs-marca {
    position: absolute;
    right: -46px;
    bottom: -10px;
    width: 301px;
    height: auto;
    opacity: 1;
    z-index: 0;
    pointer-events: none;
}

/* seccion de metricas del diseno: y1165-1651 (487 de alto), con la caja de la
   primera metrica en y1302-1526 => 137 arriba y 125 abajo (95 + los 30 de
   margen del item). Se escribe contra --espaciado para que escale igual que el
   resto del sitio (C66). */
.qs-counters {
    background: var(--color-gris-bg);
    padding: calc(var(--espaciado) * 1.37) 0 calc(var(--espaciado) * 0.95);
}

/* caja de metrica del diseno: 340x225 con 12px de banda de trama y 27px de
   separacion entre cajas (bordes en x264-605, 633-971, 999-1337, 1366-1703). */
.qs-counter-item {
    background: repeating-linear-gradient(135deg, #eef0f2 0 2px, transparent 2px 10px);
    /* la banda de trama escala como --espaciado (12 -> 4.8) pero con suelo de
       8px: por debajo de eso la trama, que tiene un periodo de 10px, deja de
       leerse como banda y parece un borde punteado. Queda 12/9.6/8/8/8/8. */
    padding: max(8px, calc(var(--espaciado) * 0.12));
    margin-bottom: 30px;
}

.qs-counter-content {
    text-align: center;
    background: var(--color-blanco);
    padding: calc(var(--espaciado) * 0.50) 10px calc(var(--espaciado) * 0.53);
}

.qs-counter-title {
    margin-bottom: 8px;
}

/* cifras: 138px de tinta en "1500+" (x369-506) y 77px en "10+"; Yantramanav 700
   los da a 55px (137 y 80). El build iba a 51px (127 de tinta medidos sobre la
   captura, no los 141 del reporte). Color: la mediana del nucleo de las cuatro
   cifras da (17,19,21)/(16,19,21)/(16,20,22)/(17,21,23) => casi negro, no navy
   (C58). Un color no escala por breakpoint. */
.qs-counter-title h1,
.qs-counter-title h2 {
    display: inline-block;
    font-size: 55px;
    color: #0F1112;
    font-weight: 700;
    font-family: "Yantramanav";
    margin: 0;
}

.qs-counter-title span {
    font-size: 55px;
    color: #0F1112;
    font-weight: 700;
    font-family: "Yantramanav";
}

/* etiqueta: 194/178/198/180px de tinta en el diseno; Archivo 400 a 20px da
   194/181/191/180. El build iba a 16px (155). El color NO es el de las cifras:
   el minimo de luminancia de la tinta del diseno es 105.7 (las cifras bajan a
   16) y el ajuste por masa de tinta de tres etiquetas distintas cae en
   rgb(133-140,140-147,147-155). Un color no escala por breakpoint. */
.qs-counter-content h5 {
    font-size: 20px;
    color: #858C93;
    font-weight: 400;
    font-family: "Archivo";
    margin: 0;
}

.qs-valores {
    background: var(--color-navy-4);
    --qs-card-gap: 30px;
}

.qs-valores.pt { padding-top: calc(var(--espaciado) * 0.95); }
.qs-valores.pb { padding-bottom: calc(var(--espaciado) * 0.94); }

.qs-valores .container {
    max-width: calc(var(--main-container) - 40px);
}

.qs-valores .row {
    --bs-gutter-x: 22px;
}

.qs-valores-title {
    margin-bottom: 39px;
}

.qs-dash {
    display: block;
    width: 64px;
    height: 6px;
    background: var(--color-rojo);
    margin-bottom: 19px;
}

.qs-valores-title h2 {
    font-size: 69px;
    letter-spacing: -0.02em;
    color: var(--color-blanco);
    font-weight: 700;
    font-family: "Yantramanav";
    margin: 0;
}

.qs-valor-card {
    background: var(--color-blanco);
    padding: 43px 38px;
    border-bottom: 6px solid var(--color-rojo);
    margin-bottom: var(--qs-card-gap);
    height: calc(100% - var(--qs-card-gap));
}

.qs-valor-head {
    display: flex;
    align-items: center;
    margin-bottom: 24px;
}

.qs-valor-num {
    width: 58px;
    height: 63px;
    flex: 0 0 auto;
    background-color: var(--color-rojo);
    line-height: 63px;
    font-size: 35px;
    color: var(--color-blanco);
    font-weight: 700;
    font-family: "Yantramanav";
    text-align: center;
    margin-right: 25px;
}

.qs-valor-head h3 {
    font-size: 30px;
    color: var(--color-navy);
    font-weight: 700;
    font-family: "Yantramanav";
    margin: 0;
}

.qs-valor-card .p {
    color: #6f747e;
    line-height: 1.67;
}

.qs-mv {
    padding: 87px 0 82px;
}

.qs-mv-faq {
    padding-right: 0;
}

.mv-accordion {
    margin: 0;
    padding: 0;
    list-style: none;
}

.mv-accordion > li {
    list-style: none;
    padding: 0;
}

.mv-accordion > li > a,
.mv-accordion > li > a.active {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
    padding: 0 7px 18px 0;
    font-family: "Yantramanav";
    font-size: 22px;
    line-height: 1.18;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--color-negro);
    border-bottom: 1px solid var(--color-rojo-3);
    cursor: pointer;
}

.mv-accordion > li > a i {
    flex: 0 0 auto;
    font-size: 19px;
    color: var(--color-rojo-3);
    transition: .4s;
}

.mv-accordion > li > a.active {
    color: var(--color-negro);
}

.mv-accordion > li > a.active i {
    transform: rotate(180deg);
    color: var(--color-rojo-3) !important;
}

.mv-accordion > li > .p {
    display: none;
    width: 86%;
    margin: 13px 0 41px;
    font-size: 18px;
    line-height: 1.7;
    color: var(--color-negro);
}

.mv-accordion > li {
    margin-bottom: 0;
}

.qs-mv .row.align-items-center > div:first-child {
    align-self: flex-start;
    padding-top: 85px;
}

.qs-mv-photo {
    display: flex;
    justify-content: flex-end;
}

.qs-mv-photo img {
    display: block;
    max-width: 100%;
    height: auto;
}

.banner-inicio .hero-content {
    padding-top: 150px;
}

.banner-inicio a.hero-button {
    margin-top: 55px;
}

.inq-faq-title h2 {
    margin-bottom: 9px;
}

.inq-accordion > li {
    margin-bottom: 30px;
}

.inq-accordion > li > .p {
    margin-top: 13px;
}

.inq-faq-boton {
    margin-top: 48px;
}

.inq-col-faq {
    margin-bottom: 14px;
}

.banner-inicio-texto {
    margin-top: 24px;
}

.banner-inicio a.hero-button {
    margin-top: 71px;
}

.temas-interes-card .blog-content {
    padding: 32px 34px 41px;
}

.temas-interes-card .meta-blog {
    margin-bottom: 28px;
}

/* al 100%: el PNG ya trae su propio alfa horneado, y aun asi la esquina queda
   en 5,50 de oscuridad media contra los 6,21 del diseno. Es el maximo sin
   escalar el asset por encima de su tamano natural. */
.temas-interes-card .blog-shape img {
    opacity: 1;
}

.servicios-home .owl-nav .owl-prev,
.servicios-home .owl-nav .owl-next {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    margin: 0 8px;
    padding: 0;
    border-radius: 0;
    line-height: 1;
    background: var(--color-gris-bg);
    color: var(--color-texto);
    font-size: 18px;
}

.servicios-home .owl-nav .owl-prev:hover,
.servicios-home .owl-nav .owl-next:hover {
    background: var(--color-rojo);
    color: var(--color-blanco);
}

.servicios-home .owl-nav .owl-prev:before,
.servicios-home .owl-nav .owl-prev:after,
.servicios-home .owl-nav .owl-next:before,
.servicios-home .owl-nav .owl-next:after {
    display: none;
    content: none;
}

.banner-inicio-forma {
    width: 156px;
    height: 412px;
    border-radius: 78px;
    bottom: -150px;
    opacity: 0.92;
}

.banner-inicio-forma-1 {
    right: 279px;
    transform: rotate(30deg);
}

.banner-inicio-forma-2 {
    right: 107px;
    transform: rotate(30deg);
}

.inq-form-boton .btn {
    background: var(--color-navy-3);
}

.inq-form-boton .btn:hover {
    background: var(--color-navy-2);
}

.inq-form-box {
    padding-bottom: 38px;
}

.inq-form-boton {
    margin: 19px 0 0;
}

.inq-form-boton .btn {
    height: 59px;
}

.inq-row {
    padding-left: 52px;
}

.inq-form-boton {
    margin-top: 15px;
}

.inq-form-box {
    padding-bottom: 42px;
}

.breadcumb-blog {
    background-image: url(../../img/bg/blog.jpg);
}

.breadcumb-blog::after {
    opacity: .6;
}

.blog-grid-area {
    padding: 119px 0 40px;
    background: var(--color-blanco);
}

.blog-grid-row {
    --bs-gutter-x: 19px;
}

/* C65 - la tarjeta ENTERA es el enlace, igual que en .temas-interes-card. */
.blog-grid-card {
    display: block;
    position: relative;
    overflow: hidden;
    margin-bottom: 75px;
    background: var(--color-gris-bg);
    border-bottom: 5px solid var(--color-rojo);
    color: inherit;
    text-decoration: none;
}

.blog-grid-card .single-blog-thumb {
    overflow: hidden;
}

.blog-grid-card .single-blog-thumb img {
    width: 100%;
    height: auto;
    display: block;
    transition: .5s;
}

@media (hover: hover) {
    .blog-grid-card:hover .single-blog-thumb img {
        transform: scale(1.08);
    }
}

.blog-grid-card .blog-content {
    position: relative;
    z-index: 2;
    padding: 32px 34px 41px;
    background: transparent;
    border: 0;
    border-radius: 0;
}

.blog-grid-card .meta-blog {
    padding: 0;
    border: 0;
    margin-bottom: 28px;
}

.blog-grid-card .meta-blog span {
    font-family: "Yantramanav";
    font-size: 17px;
    line-height: 1;
    font-weight: 500;
    color: var(--color-rojo);
}

.blog-grid-card .blog-content .blog-grid-card-titulo {
    display: flex;
    align-items: flex-start;
    /* el diseño reserva 3 lineas de titulo en TODAS las cards: las tres
       cierran en la misma linea roja (C23). 3 x line-height 30px = 90px. */
    min-height: 90px;
    font-family: "Yantramanav";
    font-size: 27px;
    line-height: 30px;
    font-weight: 700;
    color: var(--color-navy-2);
    transition: .5s;
}

.blog-grid-card:hover .blog-content .blog-grid-card-titulo,
.blog-grid-card:focus-visible .blog-content .blog-grid-card-titulo {
    color: var(--color-rojo);
}

.blog-grid-card .blog-button {
    display: inline-flex;
    align-items: center;
    line-height: 30px;
    margin-top: 34px;
    padding: 0;
    background: transparent;
    font-family: "Yantramanav";
    font-size: 19px;
    font-weight: 500;
    color: var(--color-rojo);
    transition: .5s;
}

.blog-grid-card .blog-button i {
    margin-left: 12px;
    font-size: 15px;
    color: var(--color-rojo);
    transition: .5s;
}

.blog-grid-card:hover .blog-button,
.blog-grid-card:focus-visible .blog-button {
    color: var(--color-navy-2);
}

.blog-grid-card:hover .blog-button i,
.blog-grid-card:focus-visible .blog-button i {
    color: var(--color-navy-2);
}

.blog-grid-card .blog-shape {
    position: absolute;
    right: 0;
    bottom: 5px;
    z-index: 1;
    line-height: 0;
    pointer-events: none;
}

.blog-grid-card .blog-shape img {
    width: 220px;
    height: auto;
    opacity: .45;
}

.inq-form-box {
    padding-bottom: 38px;
}

.breadcumb-detalle-servicio {
    background-image: url(../../img/bg/detalle-servicio.jpg);
}

.breadcumb-detalle-servicio::after {
    opacity: .6;
}

.service-page-title h2 {
    font-size: 34px;
    color: #171717;
    font-weight: 700;
    font-family: "Yantramanav";
    padding: 22px 0 12px;
    display: inline-block;
}

/* 37px: el diseno deja 44px entre la ultima linea del parrafo (y1198) y el
   borde del boton (y1242); el build dejaba 13. Los 13px que sobran se quitan
   del padding-bottom de la seccion, que tenia 100 contra los 87 del diseno. */
.ds-botones {
    display: flex;
    flex-wrap: wrap;
    gap: 21px;
    margin-top: 37px;
}

.ds-boton {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 17px 16px;
    border-radius: 6px;
    font-size: 18px;
    font-weight: 400;
    color: var(--color-blanco);
    transition: .3s;
}

.ds-boton i {
    font-size: 18px;
    color: var(--color-blanco);
}

.ds-boton-asesor {
    background: var(--color-rojo);
}

.ds-boton-asesor:hover {
    background: var(--color-navy-3);
    color: var(--color-blanco);
}

.ds-boton-telefono {
    background: var(--color-navy-3);
}

.ds-boton-telefono:hover {
    background: var(--color-rojo);
    color: var(--color-blanco);
}

body.pg-inicio .header-menu .nav-inicio > a,
body.pg-nosotros .header-menu .nav-nosotros > a,
body.pg-servicios .header-menu .nav-servicios > a,
body.pg-proyectos .header-menu .nav-proyectos > a,
body.pg-blog .header-menu .nav-blog > a,
body.pg-contacto .header-menu .nav-contacto > a,
body.pg-inicio .header-menu .nav-inicio > a i,
body.pg-nosotros .header-menu .nav-nosotros > a i,
body.pg-servicios .header-menu .nav-servicios > a i,
body.pg-proyectos .header-menu .nav-proyectos > a i,
body.pg-blog .header-menu .nav-blog > a i,
body.pg-contacto .header-menu .nav-contacto > a i {
    color: var(--color-rojo-3);
}

.service-detials-area {
    padding-top: 74px;
    padding-bottom: 84px;
}

.Indastre-service-details-box .service-details-content {
    margin-bottom: 0;
}

.breadcumb-title-alt {
    margin-bottom: 10px;
    font-size: 56px;
    color: #ffffff;
    font-weight: 700;
    font-family: "Yantramanav";
}

/* 81px: en el diseno vista-09 la seccion roja "Nuestros clientes" arranca en
   y1667 y la ultima linea del articulo esta en y1589; con 132px el hueco era
   de 139px en vez de 78 y la vista se iba +61px (2,17%). */
.blog-details {
    padding-top: 73px;
    padding-bottom: 81px;
}

.blog-thumb {
    margin-bottom: 27px;
}

.blog-thumb img {
    width: 100%;
    height: auto;
    display: block;
}

.blog-content-text.text-left h1 {
    font-size: 34px;
    color: #171717;
    font-weight: 700;
    font-family: "Yantramanav";
    margin: 25px 0 14px;
}

.widget-title h2::after {
    background-color: var(--color-rojo-3);
}

/* --- detalle-blog: "Post Recientes" arranca mas abajo que la foto ---
   En disenos/vista-09/completo.png el borde superior de la caja gris esta en
   y510 y la foto del articulo en y477: la barra lateral baja 33-34px respecto
   de la columna del articulo. El build las tenia empatadas en y476, o sea la
   caja entera 34px mas arriba que el diseno (y con ella el titulo: y520 contra
   y554). El hueco interno caja->titulo ya era correcto (43-44px en los dos),
   asi que lo que falta es el desplazamiento de la caja completa, no padding.
   .widget-items solo existe en detalle-blog.php (blog.php usa .blog-grid-card
   y .meta-blog), asi que el selector no viaja a otra vista. */
.widget-items {
    margin-top: 34px;
}

.blog-details .blog-content {
    background: transparent;
    padding: 0;
    border-radius: 0;
}

.blog-details .p {
    line-height: 1.3;
    /* C58: el diseno vista-09 tiene el cuerpo del articulo en negro puro
       (15.133 px exactos en (0,0,0) en la franja y1182-1600); el theme lo
       dejaba en --color-texto #333. Se acota a .blog-details para no tocar
       el .p global que usan detalle-servicio, por-que-elegirnos y las legales. */
    color: #000;
}

/* --- detalle-blog: fecha de la cabecera del post (C56/C57) ---
   Medido por ancho de tinta contra disenos/vista-09/completo.png:
   la cadena "1 Septiembre, 2026" ocupa 192px de tinta en el diseno y solo
   125px en el build con los 16px/400 que traia el theme. Calibrando la misma
   cadena en Yantramanav a varios cuerpos: 500@24.5 -> 192, 700@24 -> 190.
   Descuenta el sesgo sistematico del PNG del diseno (+0,8% en Yantramanav,
   medido en tres cadenas ya correctas: 135/134, 743/735, 132/131) y gana
   700@24 (predice 191,7 contra 192 medidos); ademas los tres bloques de tinta
   separados por hueco dan 7/117/49 en el diseno y 7/116/48 en 700@24 frente a
   6/118/49 en 500@24.5. Color NO se toca: el diseno da (87,95,102), que es el
   #575f66 que ya estaba. */
.blog-details .blog-meta span {
    font-size: 24px;
    font-weight: 700;
}

/* La caja de la fecha media 73px de alto con los 16px del theme (22+26+25) y
   con 24px la linea crecia a 27 y se iba a 74, empujando 1px toda la vista
   (la franja roja de clientes pasaba de y1667 a y1668). Se compensa en el
   padding superior, que ademas es la direccion que pide el diseno: alli el pie
   de la foto y la linea inferior de la fecha distan 100px exactos y la tinta
   arranca 50px por debajo de la foto; con 22px daba 101 y 52. No es espaciado
   nuevo: es el mismo bloque de 73px, repartido distinto. */
.blog-details .blog-meta {
    padding-top: 21px;
}

/* el cuadrito gris va anclado al borde superior de la caja del span, que sube
   al crecer el cuerpo; top = 0.9*font-size - 9.5 mantiene el cuadro donde lo
   pone el diseno (y1012-1021, o sea 57..66px por debajo del pie de la foto). */
.blog-details .blog-meta span:before {
    top: 12px;
}

.breadcumb-preguntas-frecuentes {
    background-image: url(../../img/bg/preguntas-frecuentes.jpg);
}

.breadcumb-preguntas-frecuentes::after {
    opacity: .48;
}

.pf-faq-section {
    background: var(--color-blanco);
}

.pf-accordion {
    margin: 0;
    padding: 0;
    list-style: none;
}

.pf-accordion > li {
    list-style: none;
    padding: 0;
    margin-bottom: 38px;
}

.pf-accordion > li:last-child {
    margin-bottom: 0;
}

.pf-accordion > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
    padding: 0 0 15px;
    border-bottom: 1px solid var(--color-rojo);
    font-family: "Yantramanav";
    font-size: 22px;
    line-height: 1.3;
    font-weight: 700;
    color: #171717;
}

.pf-accordion > li:last-child > a {
    border-bottom: none;
    padding-bottom: 0;
}

.pf-accordion > li > a i {
    flex: 0 0 auto;
    font-size: 20px;
    color: var(--color-rojo);
    transform: rotate(0deg);
    transition: .4s;
}

.pf-accordion > li > a.active i {
    transform: rotate(180deg);
}

.pf-accordion > li > a.active {
    color: #171717;
    width: 100%;
    padding: 0 0 15px;
}

.pf-accordion > li > .p {
    display: none;
    margin: 15px 0 0;
    font-size: 17px;
    line-height: 1.6;
    color: #555555;
}

.breadcumb-por-que-elegirnos {
    background-image: url(../../img/bg/por-que-elegirnos.jpg);
}

.breadcumb-por-que-elegirnos::after {
    opacity: .58;
}

.pqe-intro {
    padding-top: 84px;
}

.pqe-texto {
    margin-bottom: 40px;
}

.pqe-foto {
    display: block;
    line-height: 0;
}

.pqe-foto img {
    width: 100%;
    height: auto;
    display: block;
}

.pqe-proyectos-title h1,
.pqe-proyectos-title h2 {
    text-transform: none;
    font-size: 45px;
    line-height: 1.2;
    color: var(--color-negro);
    font-weight: 700;
}

.pqe-proyectos {
    padding-top: 83px;
    padding-bottom: 76px;
}

.pqe-proyectos-title {
    margin-bottom: 50px;
}

.pqe-proyectos-carousel {
    padding: 0 12px;
    box-sizing: border-box;
}

.pqe-proyectos-item {
    padding: 0 12px;
}

.pqe-proyectos-carousel .case-study-thumb {
    display: block;
    line-height: 0;
}

.pqe-proyectos-carousel .case-study-thumb img {
    width: 100%;
    height: auto;
    display: block;
}

.pqe-proyectos-carousel .owl-dots {
    text-align: center;
    margin-top: 70px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.pqe-proyectos-carousel .owl-dot {
    display: inline-block;
    margin: 0 8px;
}

.pqe-proyectos-carousel .owl-dot span {
    display: block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 1.5px solid var(--color-rojo-3);
    background: transparent;
    margin: 0;
}

.pqe-proyectos-carousel .owl-dot.active span {
    position: relative;
    width: 20px;
    height: 20px;
    background: transparent;
}

.pqe-proyectos-carousel .owl-dot.active span::before {
    content: "";
    position: absolute;
    inset: 3px;
    border-radius: 50%;
    background: var(--color-rojo-3);
}

.breadcumb-nuestros-clientes {
    background-image: url(../../img/bg/nuestros-clientes-banner.jpg);
}

.breadcumb-nuestros-clientes::after {
    opacity: .58;
}

.nc-clientes {
    padding: 87px 0 86px;
}

.nc-clientes-grid {
    display: grid;
    grid-template-columns: repeat(3, 411px);
    gap: 38px;
}

.nc-cliente-item {
    line-height: 0;
}

/* el borde va en CSS, no horneado en el JPG (C69): los cinco archivos traian un
   marco gris de 1px quemado dentro, que no escala ni se puede cambiar sin
   reeditarlos. Recortado del archivo (411x200 -> 409x198) y declarado aqui, asi
   que la caja sigue midiendo 411x200 en pantalla. */
.nc-cliente-item img {
    display: block;
    width: 411px;
    height: 200px;
    border: 1px solid var(--color-borde-logo);
}

.breadcumb-legal {
    background-image: url(../../img/bg/contactenos.jpg);
}

.breadcumb-legal::after {
    opacity: .54;
}

.legal-area {
    background: var(--color-blanco);
}

.legal-area .sec-p .p {
    text-align: justify;
}

.legal-area .sec-p .p a {
    color: var(--color-rojo-3);
    transition: 0.5s;
}

.legal-area .sec-p .p a:hover {
    color: var(--color-navy);
}

.breadcumb-pqrsf {
    background-image: url(../../img/bg/pqrsf.jpg);
}

.breadcumb-pqrsf::after {
    opacity: .59;
}

.pqrsf-area {
    background: var(--color-blanco);
    padding: 76px 0 112px;
}

.pqrsf-card-wrap {
    max-width: 1046px;
    margin: 0 auto;
}

.pqrsf-form-box {
    background: var(--color-navy);
    border-top: 10px solid var(--color-rojo);
    border-radius: 0;
    box-shadow: none;
    padding: 68px 57px 28px;
}

.pqrsf-title {
    margin-bottom: 26px;
}

.pqrsf-title h4 {
    display: inline-block;
    position: relative;
    z-index: 1;
    /* 23px: en el diseno vista-12 el bloque "CONSTRUCCION" mide 164px de ancho
       (159px a 23px) y la rayita es de 50px, no de 35. */
    padding-left: 66px;
    margin-bottom: 16px;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: .5px;
    text-transform: uppercase;
    color: var(--color-rojo);
}

.pqrsf-title h4::before {
    content: "";
    position: absolute;
    top: 10px;
    left: 0;
    width: 50px;
    height: 2px;
    background-color: var(--color-rojo);
    z-index: -1;
}

.pqrsf-title h1,
.pqrsf-title h2 {
    margin: 0;
    font-size: 62px;
    line-height: 1.065;
    font-weight: 700;
    text-transform: none;
    color: var(--color-blanco);
    font-family: "Yantramanav";
}

.pqrsf-form-box .form_box input,
.pqrsf-form-box .form_box textarea {
    /* 77px: en el diseno vista-12 el campo blanco mide 73px de alto visible
       (y774..846) mas los 2px de borde a cada lado; el hueco entre campos
       coincide en los dos (27px). */
    height: 77px;
    background: var(--color-blanco);
    border: 2px solid var(--color-navy);
    border-radius: 2px;
    color: var(--color-navy);
    font-size: 20px;
}

.pqrsf-form-box .form_box textarea {
    height: 220px;
    padding-top: 22px;
}

.pqrsf-form-box .form_box.mb-30 {
    margin-bottom: 22px;
}

.pqrsf-form-box .form_box input::placeholder,
.pqrsf-form-box .form_box textarea::placeholder {
    color: #6d7c8f;
    font-size: 20px;
}

.pqrsf-form-box .form_box input:focus,
.pqrsf-form-box .form_box textarea:focus {
    border-color: var(--color-rojo);
}

.pqrsf-extra {
    text-align: center;
    margin-top: 22px;
}

.pqrsf-upload-label {
    display: block;
    margin-bottom: 5px;
    font-size: 18px;
    font-family: "Yantramanav";
    color: var(--color-blanco);
}

.pqrsf-upload-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    flex-wrap: wrap;
}

.pqrsf-upload-input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.pqrsf-upload-btn {
    display: inline-block;
    padding: 13px 11px;
    background: var(--color-rojo-3);
    color: var(--color-blanco);
    font-family: "Yantramanav";
    font-size: 20px;
    font-weight: 500;
    letter-spacing: .5px;
    text-transform: uppercase;
    border-radius: 30px;
    cursor: pointer;
    transition: .5s;
}

.pqrsf-upload-btn:hover {
    background: var(--color-navy);
}

.pqrsf-upload-input:focus + .pqrsf-upload-btn {
    outline: 2px solid var(--color-blanco);
    outline-offset: 2px;
}

.pqrsf-upload-filename {
    font-size: 17.5px;
    font-family: "Yantramanav";
    color: var(--color-blanco);
}

/* el diseno separa 58px "ELEGIR ARCHIVO" (y1265) de "Tipos de archivos"
   (y1323); el theme dejaba 45. */
.pqrsf-upload-note {
    margin-top: 23px;
    font-size: 15.5px;
    color: var(--color-blanco);
    font-family: "Yantramanav";
}

/* 42px del diseno entre "Tipos de archivos" (y1323) y el check (y1365) */
.pqrsf-check {
    justify-content: center;
    margin: 23px 0 0;
}

.pqrsf-check label {
    color: rgba(255, 255, 255, .8);
}

.pqrsf-check label a {
    color: var(--color-blanco);
}

.pqrsf-check label a:hover {
    color: var(--color-rojo-logo);
}

/* el widget del diseno ocupa y1401..1444 (44px) y deja 20px arriba */
.pqrsf-captcha-space {
    min-height: 44px;
    max-width: 302px;
    margin: 20px auto 0;
}

/* el boton cae en y1492 en el diseno, 111px por debajo de la tinta del check */
.pqrsf-submit {
    margin-top: 24px;
}

.pqrsf-submit.quote_button button {
    width: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 40px;
    border-radius: 6px;
}

.contacto-form .quote_button .btn {
    background: var(--color-rojo-3);
}

.contacto-form .quote_button .btn:hover {
    background: var(--color-navy);
    color: var(--color-blanco);
}

.pqrsf-form-box .pqrsf-submit .btn {
    background: var(--color-rojo-logo);
}

.pqrsf-form-box .pqrsf-submit .btn:hover {
    background: var(--color-navy);
    color: var(--color-blanco);
}

/* C56/C57 - los disenos NO coinciden entre si en el h2 de esta seccion:
   "Temas de interes" mide 334px de tinta en vista-04/05/06/13 (= 48px, lo que
   ya habia) y 350px en vista-02 (= 50px). No se promedia: el home lleva su
   valor y las 4 interiores el suyo. La escalera del home va en responsive.css
   con el mismo factor que la de 48px (46/42/35/27). */
.pg-inicio .temas-interes-title h2 { font-size: 50px; }

body:not(.pg-inicio) .temas-interes { background: var(--color-gris-bg-2); }
body:not(.pg-inicio) .temas-interes-card { background: var(--color-blanco); }
body:not(.pg-inicio) .temas-interes-title h4 { margin-bottom: 18px; }
body:not(.pg-inicio) .temas-interes-head { margin-bottom: 34px; }
body:not(.pg-inicio) .temas-interes-card .meta-blog { margin-bottom: 20px; }
body:not(.pg-inicio) .temas-interes-card .blog-button { margin-top: 29px; }
body:not(.pg-inicio) .temas-interes-card .blog-content { padding-bottom: 32px; }

@media (min-width: 1701px) {
    .proy-galeria-area .row {
        display: grid;
        grid-template-columns: repeat(3, 411px);
        justify-content: center;
        column-gap: 38px;
        row-gap: 47px;
        margin: 0;
    }

    .proy-galeria-area .row > [class*="col-"] {
        flex: none;
        width: auto;
        max-width: none;
        padding: 0;
    }

    .proy-galeria-area .proy-item {
        margin-bottom: 0;
    }

    .proy-galeria-area .proy-thumb img {
        width: 411px;
        height: 350px;
    }
}

@media (min-width: 1701px) {
    .pqe-intro .pqe-foto img {
        width: 618px;
        height: 266px;
        margin: 0 auto;
    }

    .pqe-intro {
        padding-bottom: 70px;
    }
}

.pf-faq-section.pb { padding-bottom: calc(var(--espaciado) - 22px); }
.contact-area.pt { padding-top: calc(var(--espaciado) - 9px); }
.contact-area.pb { padding-bottom: calc(var(--espaciado) - 15px); }
.service-detials-area { padding-bottom: 87px; }

@media (min-width: 1701px) {
    .proyectos-home-grid {
        display: grid;
        grid-template-columns: 633px 643px;
        justify-content: center;
        column-gap: 34px;
        margin: 0;
    }

    .proyectos-home-grid > .col-lg-6 {
        flex: none;
        width: auto;
        max-width: none;
        padding: 0;
    }

    .proyectos-home-col {
        row-gap: 0;
    }

    .proyectos-home-subgrid {
        display: grid;
        grid-template-columns: 303px 306px;
        column-gap: 24px;
        margin: 32px 0 0;
    }

    .proyectos-home-subgrid > .col-lg-6 {
        flex: none;
        width: auto;
        max-width: none;
        padding: 0;
    }

    .proyectos-home .ph-grande img {
        width: 633px;
        height: 360px;
        aspect-ratio: auto;
    }

    .proyectos-home .ph-peq img {
        width: 100%;
        height: 368px;
        aspect-ratio: auto;
    }

    .proyectos-home .ph-alta img {
        width: 643px;
        height: 760px;
        min-height: 0;
        aspect-ratio: auto;
    }
}

/* 42px: con los 7px de padding-top de la fila siguiente el h4 cae cada
   151-183px, como en el diseno (y635 / y786 / y969) */
.content-info-area .cda-single-content {
    padding-bottom: 42px;
}

.content-info-area .cda-single-content:last-child {
    padding-bottom: 0;
}


@media (min-width: 1701px) {
    .qs-counters > .container {
        max-width: 1490px;
        padding-left: 28px;
        padding-right: 0;
    }

    .qs-counters .row {
        display: grid;
        grid-template-columns: repeat(4, 340px);
        column-gap: 27px;
        margin: 0;
    }

    .qs-counters .row > [class*="col-"] { width: auto; max-width: none; flex: none; padding: 0; }
    .qs-counters .qs-counter-item { width: 340px; }
    .qs-counters .qs-counter-content { width: auto; }
}



/* C23 - cards del blog a la misma altura en toda la fila, como en el diseño
   (las tres cierran en la misma linea roja). La columna se hace flex y el
   estirado descuenta solo el margin-bottom:75px de la card; NO usar
   height:100% aqui: eso absorbe el margen y crece la card 41-75px. */
.blog-grid-row > [class*="col-"] {
    display: flex;
}

.blog-grid-row > [class*="col-"] > .single-blog-box {
    width: 100%;
}

/* ============ contactenos · ajustes medidos contra el diseno vista-10 ============ */

/* la caja blanca arranca su contenido 13px mas abajo (tinta del h3 en y553).
   Acotado a .contact-area: sin eso pisaba el padding de .pqrsf-form-box, que
   se declara antes en este archivo, y subia 28px toda la vista 12. */
.contact-area .contact_from_box {
    padding-top: 40px;
}

.contact_title {
    padding-bottom: 27px;
}

/* el diseno pega el bloque del check al textarea (y920 -> y931) */
.contacto-form .col-lg-12 > .form_box.mb-30 {
    margin-bottom: 2px;
}

/* check, captcha y boton van centrados en el diseno (fila x490..880, centro
   685 sobre un contenido x365..980) y el texto es negro, no gris/navy. */
.contacto-form .contacto-check {
    justify-content: center;
    align-items: center;
    margin: 0 0 18px;
}

.contacto-form .contacto-check label,
.contacto-form .contacto-check label a {
    color: var(--color-negro);
}

.contacto-form .contacto-check label a:hover {
    color: var(--color-navy);
}

.contacto-captcha-space {
    min-height: 32px;
    margin: 0 0 12px;
}

/* "Enviar": tinta 14px de alto y 53px de ancho en el diseno => 21px, igual que
   el boton del formulario del home. Caja del diseno 57px de alto. */
.contacto-form .quote_button .btn {
    font-family: "Yantramanav";
    font-size: 22px;
    font-weight: 500;
    line-height: 24px;
    padding: 16px 15px 15px;
}

/* "Informacion" mide 172px de ancho en el diseno => 36px, no los 38 del h3 del
   formulario, y su caja arranca el contenido en y555. */
.content-info-title h3 {
    font-size: 36px;
    line-height: 44px;
}

.content-info-area {
    padding-top: 44px;
}

/* pqrsf: mismo "Enviar" de 21px; su caja mide 51px en el diseno vista-12 */
.pqrsf-form-box .pqrsf-submit .btn {
    font-family: "Yantramanav";
    font-size: 23px;
    font-weight: 500;
    line-height: 24px;
    padding: 12px 33px;
}

/* el diseno separa el h3 "Informacion" del primer icono solo 53px (y578 -> y631) */
.content-info-title {
    padding-bottom: 5px;
}

/* los textos de la caja azul son 20px y blancos puros en el diseno: la linea
   "Calle 27 B # 35-40 sur," mide 183px (build 144px a 16px) y el interlineado
   entre sus dos lineas es 27px. */
.cda-content-inner .p,
.cda-content-inner .p a {
    font-size: 20px;
    line-height: 27px;
    color: var(--color-blanco);
}

/* el diseno deja 22px entre la tinta del h4 y la del parrafo (y648 -> y670) y
   30px entre las tres lineas de telefono (y824 / y854 / y884). */
.cda-content-inner h4 {
    margin-bottom: 10px;
}

.cda-content-inner .p {
    margin-bottom: 3px;
}

/* las tres filas de la caja azul se suceden cada 151-183px en el diseno
   (h4 en y635 / y786 / y969); el theme dejaba 42px entre filas y sobraban 28. */
.cda-single-content {
    padding: 7px 0;
}

.content-info-title + .cda-single-content {
    padding-top: 25px;
}

.content-info-area {
    padding-bottom: 92px;
}

/* misma solucion que en blog.php: la columna es flex y el estirado descuenta
   el margin-bottom de la card. Sin height:100%. */
.temas-interes-grid > [class*="col-"] {
    display: flex;
}

.temas-interes-grid > [class*="col-"] > .temas-interes-card {
    width: 100%;
}

/* ============ detalle-servicio · medido contra el diseno vista-06 ============ */

/* el panel del sidebar mide 450px en el diseno (x1164..1613) y 424 en el
   theme: el reparto no es 8/4 exacto. */
@media (min-width: 1200px) {
    .service-detials-area > .container > .row > .col-lg-8 {
        flex: 0 0 64.3%;
        max-width: 64.3%;
    }

    .service-detials-area > .container > .row > .col-lg-4 {
        flex: 0 0 35.7%;
        max-width: 35.7%;
    }
}

/* las filas del sidebar van cada 64,5px en el diseno (y613, 678, 742, 806...)
   y la caja mide 52px; el theme daba 71 y 56 y acumulaba 52px al final. */
.widget-categories-menu ul li {
    margin-bottom: 12px;
    padding: 14px 20px;
}

/* el theme pinta la seleccion de texto en azul celeste (#4fc1f0 en
   theme-default.css:244), que no es del proyecto y canta sobre el panel blanco
   del menu desplegable al hacer clic. Se sobrescribe aqui, no en el fichero del
   theme, porque style.css se carga despues. */
::selection {
    background: transparent;
    color: var(--color-rojo);
    text-shadow: none;
}

::-moz-selection {
    background: transparent;
    color: var(--color-rojo);
    text-shadow: none;
}

/* excepcion medida: sobre las superficies rojas el texto seleccionado en rojo
   desaparece (contraste 1:1). Verificado en el topbar: los pixeles claros del
   telefono pasan de 553 a 0 al seleccionarlo. Ahi la seleccion va en blanco. */
.top-bar-area ::selection,
.clientes-area ::selection,
.btn::selection,
.hero-button::selection,
.header-button a::selection,
.ds-boton::selection {
    background: transparent;
    color: var(--color-blanco);
}

.top-bar-area ::-moz-selection,
.clientes-area ::-moz-selection,
.btn::-moz-selection,
.hero-button::-moz-selection,
.header-button a::-moz-selection,
.ds-boton::-moz-selection {
    background: transparent;
    color: var(--color-blanco);
}

/* el theme pone transition:all en los textos del banner (0,5s en h1 y kicker,
   0,3s en el boton). Al cruzar un breakpoint eso ANIMA el font-size, el
   line-height y el padding, y durante esa media animacion el boton se monta
   sobre el texto y sobre las flechas. Se acota a lo que si debe animarse. */
.banner-inicio h1,
.banner-inicio h2,
.banner-inicio .hero-sub-title,
.banner-inicio .banner-inicio-texto {
    transition: color .3s ease, opacity .3s ease;
}

.banner-inicio a.hero-button {
    transition: background-color .3s ease, color .3s ease, border-color .3s ease;
}

/* el theme trae un ::placeholder{font-size:16px} global en theme-default.css:250
   que gana al font-size del input. El diseno de contactenos pide 18: "Nombre"
   mide 62px de tinta contra 56 del build y "Telefono" 68 contra 61. */
.contact-area .form_box input,
.contact-area .form_box textarea,
.contact-area .form_box input::placeholder,
.contact-area .form_box textarea::placeholder {
    font-size: 18px;
}
