
@media (min-width: 1400px) and (max-width: 1600px) {

.project-content {
    width: 94%;
}

}

@media (min-width: 1300px) and (max-width: 1399px) {

.top-bar-area::before {
    width: 46%;
}

.header-menu ul li {
    margin-right: 24px;
}

p.about-desc {
    width: 91%;
}

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

.about-list-item ul li i {
    margin-right: 7px;
}

.section-title h1 {
    font-size: 70px;
}

.single-testi-box {
    padding: 4px 31px 110px;
}

.newslatte-contant h4 {
    font-size: 26px;
}

.footer-widget-desc p {
    width: 75%;
}

.about_area .section-title h1 {
    font-size: 42px;
    line-height: 43px;
}

.about_area p.section-desc {
    width: 90%;
}

.about_thumb {
    left: -62px;
}

.fature-signe-iiner {
    padding: 26px 21px 30px;
}

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

.csd-content p {
    text-align: justify;
}

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

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

}

@media (min-width: 1200px) and (max-width: 1299px) {

.header-menu ul li {
    margin-right: 24px;
}

.top-bar-area::before {
    width: 46%;
}

.header-menu ul li {
    margin-right: 24px;
}

p.about-desc {
    width: 91%;
}

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

.about-list-item ul li i {
    margin-right: 7px;
}

.section-title h1 {
    font-size: 70px;
}

.single-testi-box {
    padding: 4px 31px 110px;
}

.newslatte-contant h4 {
    font-size: 26px;
}

.footer-widget-desc p {
    width: 75%;
}

.owl-nav {
    left: -17%;
    top: 16%;
}

.about_area .section-title h1 {
    font-size: 42px;
    line-height: 43px;
}

.about_area p.section-desc {
    width: 90%;
}

.about_thumb {
    left: -62px;
}

.fature-signe-iiner {
    padding: 26px 21px 30px;
}

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

.service-details-box {
    padding: 33px 15px 15px;
}

.csd-content p {
    text-align: justify;
}

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

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

}

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

.header-menu ul li {
    margin-right: 12px;
}

.header-button a {
    padding: 8px 12px;
    margin-left: 5px;
}

.top-bar-area::before {
    width: 50%;
}

.top-bar-info ul li {
    margin-right: 10px;
}

p.about-desc {
    width: 92%;
}

.single-about-thumb-left {
    margin-right: 0;
}

.about-list-item ul li i {
    margin-right: 0;
}

.about-list-item ul li {
    font-size: 13px;
    line-height: 30px;
}

.service-icon {
    bottom: 55%;
}

.service-content {
    padding: 45px 24px 43px;
}

.project-content {
    width: 93%;
    right: -23px;
    padding: 27px 1px 0 30px;
}

.section-title h1 {
    font-size: 56px;
}

.single-process-box {
    padding: 0 0 0;
}

.single-testi-box {
    padding: 4px 31px 110px;
}

.blog-content {
    padding: 23px 16px 32px;
}

.blog-content a {
    font-size: 22px;
    line-height: 28px;
}

.newslatte-contant h4 {
    font-size: 20px;
    line-height: 20px;
}

.footer-widget-desc p {
    width: 91%;
}

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

.footer-widget-menu ul li a {
    font-size: 12px;
}

.accordion li a {
    font-size: 17px;
}

.about_area .section-title h1 {
    font-size: 35px;
    line-height: 34px;
}

.about_area p.section-desc {
    width: 100%;
}

.about_thumb {
    left: -128px;
}

.about-shape2 {
    top: 58%;
    left: 44%;
}

.fature-signe-iiner {
    padding: 26px 21px 30px;
}

.feature-title h3 {
    font-size: 18px;
}

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

.pricing-single-inner {
    padding: 35px 20px 49px;
}

.service-details-box {
    padding: 33px 14px 15px;
}

.service-details-icon {
    margin-right: 13px;
    margin-top: 42px;
}

.service-details-contents {
    width: 95%;
}

.widget-categories-menu ul li {
    padding: 14px 15px;
}

.widget-categories-menu ul li a {
    font-size: 12px;
}

.pdf-button a {
    padding: 15px 11px;
}

.portfolio_nav ul li {
    padding: 7px 15px;
}

.csd-content p {
    text-align: justify;
}

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

.porject-list ul li {
    font-size: 14px;
    margin-bottom: 5px;
}

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

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

.blog-content-text.text-left h2 {
    font-size: 29px;
}

ul.blog-details-list li {
    font-size: 13px;
    margin-bottom: 3px;
}

.widget-items {
    padding: 40px 19px 15px;
}

.section-title.inner h1 {
    font-size: 38px;
    line-height: 41px;
}
.owl-nav {
    left: -24%;
}

}

@media (min-width: 768px) and (max-width: 991px) {


.hero-content h1 {
    font-size: 60px;
    line-height: 70px;
}

.hero-slider .swiper-slide {
    margin-top: 22px;
}

p.hero-desc {
    width: 60%;
}

.section-title h1 {
    font-size: 28px;
}

p.section-text {
    font-size: 14px;
    margin-top: 18px;
}

.section-button {
    margin-top: 16px;
}

.em-bar {
    top: -52px;
}

p.about-desc {
    width: 78%;
    margin: 10px 0 32px;
}

.about-thumb-right {
    left: 0;
}

.service-icon {
    bottom: 49%;
}

.single-service-box {
    margin-bottom: 22px;
}

.service-content {
    padding: 45px 27px 43px;
}

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

.single-process-box {
    padding: 0 18px 0;
    margin-bottom: 35px;
}

.single-team-box {
    margin-bottom: 24px;
}

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

.team-contact-button a {
    margin-top: 16px;
}

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

.blog-content {
    padding: 23px 24px 32px;
    margin-bottom: 20px;
}

.blog-content a {
    font-size: 20px;
    line-height: 26px;
}

.testi-video {
    left: 0;
}

.newslatte-contant {
    margin-left: 0;
}

.newslatte-contant h4 {
    font-size: 25px;
    line-height: 25px;
}

.newslatter-input-box {
    margin-top: 50px;
}

.footer-widget-desc p {
    width: 78%;
}

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

.footer-area {
    background-size: cover;
}

.single-footer-widget-box {
    margin-bottom: 30px;
}

.footer-bottom {
    margin-top: 57px;
}


.about_thumb {
    margin-bottom: 26px;
}

.about_thumb img {
    width: 80%;
}

.about_area p.section-desc {
    width: 85%;
}

.counter-single-item {
    margin-bottom: 20px;
}

.fature-signe-iiner {
    padding: 26px 20px 30px;
}

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

.service-details-box {
    padding: 33px 19px 15px;
}

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

.portfolio_menu ul {
    text-align: left;
    margin-bottom: 43px;
}

.csd-content p {
    text-align: justify;
}

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

.pagination-single-item.right {
    top: 0;
    left: 0px;
}

h3.pagination-title {
    font-size: 15px;
    margin-top: 3px;
}

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

.blog-content-text.text-left h2 {
    font-size: 29px;
}

ul.blog-details-list li {
    font-size: 13px;
    margin-bottom: 3px;
}

.widget-items-search {
    margin-top: 50px;
}

.widget-items {
    padding: 40px 19px 15px;
}

.breadcumb-area {
    padding: 126px 0 138px;
    margin-top: 58px;
}

}

@media only screen and (min-width: 600px) and (max-width: 767px) {


.hero-content h1 {
    font-size: 60px;
    line-height: 60px;
}

p.hero-desc {
    width: 72%;
}

.hero-slider {
    margin-top: 36px;
}

.section-title h1 {
    font-size: 45px;
}

p.section-text {
    font-size: 18px;
    margin-top: 44px;
}

.em-bar {
    top: -117px;
}

.section-button {
    margin-top: 12px;
    text-align: left;
}

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

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

.about-list-item ul li i {
    font-size: 18px;
    margin-right: 5px;
}

.about-list-item ul li {
    font-size: 14px;
}

.about-thumb-right {
    left: 0;
}

.single-service-box {
    margin-bottom: 25px;
}

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

.project-content {
    right: -41px;
}

.single-process-box {
    padding: 0 94px 0;
    margin-bottom: 33px;
}

.single-team-box {
    margin-bottom: 34px;
}

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

.team-contact-button a {
    margin-top: 14px;
}

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

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

.testi-video {
    left: 0;
}

.owl-nav {
    display: none;
}

.accordion li a {
    font-size: 19px;
}

.accordion li p {
    width: 81%;
}

.footer-area {
    background-size: cover;
}

.newslatte-contant {
    margin-left: 0;
}

.newslatte-contant h4 {
    font-size: 15px;
    line-height: 10px;
}

.newslatter-input-box {
    position: relative;
    margin-top: 48px;
}

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

.footer-widget-desc p {
    width: 94%;
}

.single-footer-widget-box {
    margin-bottom: 34px;
}

.footer-list-item {
    text-align: left;
    margin-top: 8px;
}

.footer-bottom {
    margin-top: 44px;
}


.about_thumb {
    margin-bottom: 26px;
}

.about_thumb img {
    width: 80%;
}

.about_area p.section-desc {
    width: 96%;
}

.about-list {
    margin-bottom: 0;
}

.about-btn {
    margin-top: 15px;
}

.about-author {
    top: 5px;
}

.counter-single-item {
    margin-bottom: 20px;
}

.fature-signe-iiner {
    padding: 26px 20px 30px;
}

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

.service-details-box {
    padding: 33px 19px 15px;
}

.service-details-icon {
    float: inherit;
    margin-top: 0;
}

.service-details-contents {
    padding: 21px 12px 25px;
    width: 100%;
    right: 0;
}

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

.portfolio_menu ul {
    text-align: left;
    margin-bottom: 43px;
}

.csd-content p {
    text-align: justify;
}

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

.pagination-bg {
    display: none;
}

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

.blog-details .blog-content {
    padding: 18px 0px 21px 0;
}

.blog-content-text.text-left h2 {
    font-size: 24px;
}

ul.blog-details-list li {
    font-size: 13px;
    margin-bottom: 3px;
}

.widget-items-search {
    margin-top: 50px;
}

.blog-details .widget-items {
    padding: 40px 19px 15px;
}

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

.breadcumb-area {
    padding: 126px 0 138px;
    margin-top: 58px;
}

.section-title.inner h1 {
    font-size: 36px;
    line-height: 40px;
}

 }

@media only screen and (min-width: 480px) and (max-width: 599px) {


.hero-content h1 {
    font-size: 50px;
    line-height: 55px;
}
p.details-des {
    display: none;
}

p.hero-desc {
    width: 88%;
}

.hero-slider {
    margin-top: 36px;
}

.section-title h1 {
    font-size: 38px;
}

p.section-text {
    font-size: 18px;
    margin-top: 44px;
}

.em-bar {
    top: -117px;
}

.section-button {
    margin-top: 12px;
    text-align: left;
}

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

.single-about-thumb-left {
    margin-right: 0;
    float: inherit;
    margin-bottom: 20px;
}

.about-list-item ul li i {
    font-size: 18px;
    margin-right: 5px;
}

.about-list-item ul li {
    font-size: 14px;
}

.about-thumb-right {
    left: 0;
}

.single-service-box {
    margin-bottom: 25px;
}

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

.project-content {
    right: -41px;
}

.single-process-box {
    padding: 0 70px 0;
    margin-bottom: 33px;
}

.single-team-box {
    margin-bottom: 34px;
}

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

.team-contact-button a {
    margin-top: 14px;
}

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

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

.single-testi-box {
    padding: 4px 37px 110px;
}

.testi-video {
    left: 0;
}

.accordion li a {
    font-size: 19px;
}

.accordion li p {
    width: 81%;
}

.footer-area {
    background-size: cover;
}

.newslatte-contant {
    margin-left: 0;
    margin-top: 36px;
}

.newslatte-contant h4 {
    font-size: 22px;
    line-height: 22px;
}

.newslatter-input-box {
    position: relative;
    margin-top: 48px;
}

.newslatter-button button {
    right: 22px;
}

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

.footer-widget-desc p {
    width: 94%;
}

.single-footer-widget-box {
    margin-bottom: 34px;
}

.footer-list-item {
    text-align: left;
    margin-top: 8px;
}

.footer-bottom {
    margin-top: 44px;
}

.accordion li a {
    font-size: 18px;
    width: 100%;
}

.accordion li p {
    width: 100%;
}

.accordion a.active {
    width: 100%;
}


.about_thumb {
    margin-bottom: 26px;
}

.about_thumb img {
    width: 100%;
}

.about_area .section-title h1 {
    font-size: 30px;
    line-height: 26px;
}

.about_area p.section-desc {
    width: 100%;
}

.about-list {
    margin-bottom: 0;
}

.about-btn {
    margin-top: 15px;
}

.about-author {
    top: 5px;
}

.counter-single-item {
    margin-bottom: 20px;
}

.counter-single-item::after {
    right: -89%;
}

.fature-signe-iiner {
    padding: 26px 20px 30px;
}

.fature-signe-iiner::after {
    right: -7px;
}

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

.service-details-box {
    padding: 33px 19px 15px;
}

.service-details-item {
    margin-bottom: 51px;
}

.service-details-contents {
    padding: 21px 12px 25px;
    width: 76%;
    right: 21px;
}

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

.portfolio_menu ul {
    text-align: left;
    margin-bottom: 43px;
}

.portfolio_nav ul li {
    padding: 4px 16px;
}

.csd-content p {
    text-align: justify;
}

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

.pagination-bg {
    display: none;
}

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

.blog-details .blog-content {
    padding: 18px 0px 21px 0;
}

.blog-content-text.text-left h2 {
    font-size: 22px;
}

ul.blog-details-list li {
    font-size: 13px;
    margin-bottom: 3px;
}

.widget-items-search {
    margin-top: 50px;
}

.blog-details .widget-items {
    padding: 40px 19px 15px;
}

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

.blog-social-tags span strong {
    font-size: 16px;
    margin-right: 6px;
}

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

.breadcumb-area {
    padding: 126px 0 138px;
    margin-top: 58px;
    text-align: center;
}

.breadcumb-content h1 {
    margin-bottom: 8px;
    font-size: 40px;
}

.section-title.inner h1 {
    font-size: 36px;
    line-height: 40px;
}

}

@media only screen and (min-width: 320px) and (max-width: 479px) {



.hero-content h1 {
    font-size: 40px;
    line-height: 42px;
}

p.hero-desc {
    width: 97%;
}

.hero-slider {
    margin-top: 36px;
}

.section-title h1 {
    font-size: 24px;
}

p.section-text {
    font-size: 12px;
    margin-top: 30px;
}

.em-bar {
    top: -117px;
}

.section-button {
    margin-top: 12px;
    text-align: left;
}

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

.single-about-thumb-left {
    margin-right: 0;
    float: inherit;
    margin-bottom: 20px;
}

.about-list-item ul li i {
    font-size: 18px;
    margin-right: 5px;
}

.about-list-item ul li {
    font-size: 14px;
}

.about-thumb-right {
    left: 0;
}

.about-thumb-right img {
    width: 100%;
}

.single-service-box {
    margin-bottom: 25px;
}

.service-content {
    padding: 45px 20px 43px;
}

.service-icon {
    bottom: 56%;
}

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

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

.project-content {
    width: 100%;
    right: 0;
}

.single-process-box {
    padding: 0 0 0;
    margin-bottom: 33px;
}

.single-team-box {
    margin-bottom: 34px;
}

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

.team-contact-button a {
    margin-top: 14px;
}

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

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

.blog-content {
    padding: 23px 16px 32px;
}

.blog-content a {
    font-size: 20px;
    line-height: 25px;
}

.single-testi-box {
    padding: 4px 23px 110px;
    margin-right: 0;
}

.testi-video {
    left: 0;
}

.footer-area {
    background-size: cover;
}

.newslatte-contant {
    margin-left: 0;
    margin-top: 35px;
}

.newslatte-contant h4 {
    font-size: 18px;
    line-height: 15px;
}

.newslatter-input-box {
    position: relative;
    margin-top: 48px;
}

.newslatter-button button {
    right: 15px;
    padding: 15px 3px;
}

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

.footer-widget-desc p {
    width: 94%;
}

.single-footer-widget-box {
    margin-bottom: 34px;
}

.footer-list-item {
    text-align: left;
    margin-top: 8px;
}

.footer-bottom {
    margin-top: 44px;
}

.accordion li a {
    font-size: 14px;
    width: 100%;
}

.accordion li p {
    width: 100%;
    text-align: justify;
}

.accordion a.active {
    width: 100%;
}


.section-title.inner h1 {
    font-size: 24px;
    line-height: 25px;
}

.about_thumb {
    margin-bottom: 26px;
}

.about_thumb img {
    width: 100%;
}

.about_area .section-title h1 {
    font-size: 22px;
    line-height: 20px;
}

.about_area p.section-desc {
    width: 100%;
    text-align: inherit;
}

.about-list {
    margin-bottom: 0;
}

.about-btn {
    margin-top: 15px;
    float: inherit;
}

.about-author {
    top: 17px;
}

.counter-single-item {
    margin-bottom: 20px;
}

.counter-single-item::after {
    right: -84%;
}

.fature-signe-iiner {
    padding: 26px 20px 30px;
}

.feature-title h3 {
    font-size: 18px;
}

h3.feature-namber {
    margin-right: 14px;
}

.fature-signe-iiner::after {
    right: 3px;
    bottom: -9px;
}

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

.pricing-single-inner {
    padding: 35px 16px 49px;
}

.service-page-title h1 {
    font-size: 25px;
}

.serivce-details-desc p {
    text-align: justify;
}

.service-details-icon {
    float: inherit;
    margin-top: 0;
}

.service-page-title2 h1 {
    font-size: 28px;
}

.service-details-box {
    padding: 33px 19px 15px;
}

.service-details-item {
    margin-bottom: 51px;
}

.service-details-contents {
    padding: 21px 12px 25px;
    width: 100%;
    right: 0;
}

.service-detials-area .tab_container-titel h4 {
    font-size: 24px;
}

.widget-categories-box {
    padding: 26px 18px 25px;
}

.widget-categories-menu ul li a {
    font-size: 14px;
}

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

.portfolio_menu ul {
    text-align: left;
    margin-bottom: 43px;
}

.portfolio_nav ul li {
    padding: 4px 16px;
}

.portfolio_nav ul li {
    margin-bottom: 20px;
}

.csde-title h2 {
    font-size: 22px;
}

.csd-content p {
    text-align: justify;
}

.porject-list ul li {
    font-size: 14px;
    margin-bottom: 4px;
}

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

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

.pagination-bg {
    display: none;
}

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

.blog-meta span {
    padding-left: 16px;
}

.blog-details .blog-content {
    padding: 18px 0px 21px 0;
}

.blog-content-text.text-left h2 {
    font-size: 22px;
    line-height: 32px;
}

.blog-details-single-items {
    padding: 40px 20px 30px;
}

ul.blog-details-list li {
    font-size: 13px;
    margin-bottom: 3px;
}

.widget-items-search {
    margin-top: 50px;
}

.blog-details .widget-items {
    padding: 40px 19px 15px;
}

.blog-details-social {
    display: block;
}

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

.blog-social-tags {
    margin-bottom: 15px;
}

.single-blog-social-icon {
    justify-content: initial;
}

.blog-details-comment {
    padding: 24px 15px 24px 22px;
}

.blog-details-comment-content h2 {
    margin-top: 12px;
}

.blog-details-comment-thumb {
    float: inherit;
}

.blog-social-tags span strong {
    font-size: 16px;
    margin-right: 6px;
}

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

.contact_from_box {
    padding: 27px 20px 45px;
}

.cda-single-content {
    margin: 0 28px;
    padding: 6px 0 0;
    display: block !important;
}

.cda-content-inner h4 {
    margin-top: 17px;
}

.breadcumb-area {
    padding: 126px 0 138px;
    margin-top: 58px;
    text-align: center;
}

.breadcumb-content h1 {
    margin-bottom: 3px;
    font-size: 30px;
}

.breadcumb-content ul li {
    margin-right: 0;
}
.owl-nav {
    display: none;
}
p.details-des {
    display: none;
}
.hero-content h1 {
    font-size: 31px;
    line-height: 39px;
}

}

@media screen and (min-width:992px) {
    .pl-lg-50 {
        padding-left: 50px;
    }
}

@media screen and (min-width:1200px) {
    .video-icon {
        left: 75%;
    }
}
@media (max-width: 1700px) {
    :root { --main-container: 1200px; --espaciado: 80px; }
    .top-bar-area > .container,
    .header-area > .container { padding-left: 12px; padding-right: 12px; }
    .top-bar-social-address { padding-right: 0; }
    .top-bar-info ul li,
    .top-bar-info ul li a { font-size: 15px; }
    .top-bar-info ul li { margin-right: 16px; }
    .header-logo img { height: 54px; }
    .header-menu ul li { margin-right: 30px; }
    .header-menu ul li a { font-size: 17px; }
    .header-button a { margin-left: 40px; font-size: 15px; padding: 0 17px; height: 46px; }
    .header-button a img { width: 18px; height: 18px; }
    h4.widget-title { font-size: 25.5px; margin-top: 12px; margin-bottom: 43.5px; }
    ul.footer-menu li a { font-size: 19px; }
    .footer-contact-values a { font-size: 19px; }
    .footer-contact-info { max-width: 100%; padding: 53px 30px 35px; }
    .footer-logo { padding: 0 0 52px; }
    .footer-widget-contact { padding-top: 35px; padding-left: 5px; }
    .footer-widget-social-icon { padding-top: 32px; }
    .footer-logo img { width: 100%; max-width: 250px; }
    .footer-bottom-content-copy { font-size: 19.5px; }
    .backtotop { right: 0; }
}

@media (max-width: 1450px) {
    :root { --main-container: 1150px; --espaciado: 70px; }
    .top-bar-info ul li,
    .top-bar-info ul li a { font-size: 14px; }
    .header-logo img { height: 48px; }
    .header-menu ul li { margin-right: 22px; }
    .header-menu ul li a { font-size: 16px; }
    .header-menu ul li .sub-menu li a { font-size: 16px; }
    .header-button a { margin-left: 24px; font-size: 14px; padding: 0 14px; height: 44px; }
    h4.widget-title { font-size: 23px; margin-top: 10.5px; margin-bottom: 38px; }
    ul.footer-menu li { padding: 0 0 13px; }
    ul.footer-menu li a { font-size: 18px; }
    .footer-contact-values a { font-size: 18px; }
    .footer-logo { padding: 0 0 46px; }
    .footer-widget-contact { padding-top: 29px; padding-left: 4px; }
    .footer-widget-social-icon { padding-top: 28px; }
    .footer-contact-row { margin-bottom: 28px; }
    .footer-didget-icon { flex: 0 0 24px; margin-right: 18px; }
    .footer-didget-icon img { width: 24px; }
    .footer-logo img { width: 100%; max-width: 220px; }
    .footer-bottom-content-copy { font-size: 16px; }
}

@media (max-width: 1200px) {
    :root { --main-container: 970px; --espaciado: 60px; }
    .top-bar-area { height: auto; padding: 12px 0; }
    .top-bar-info ul { flex-wrap: wrap; white-space: normal; }
    .top-bar-area:before { width: calc(56% + 120px); }
    .footer-section { padding: 70px 0 0; }
    .footer-contact-info { margin-top: 0; height: auto; }
    .footer-section .footer-bg { --bs-gutter-y: 30px; }
    h4.widget-title { font-size: 22px; margin-top: 9px; margin-bottom: 32.5px; }
    ul.footer-menu li a { font-size: 17px; }
    .footer-logo { padding: 0 0 39px; }
    .footer-widget-contact { padding-top: 25px; padding-left: 4px; }
    .footer-widget-social-icon { padding-top: 24px; }
    .footer-logo img { width: 100%; max-width: 200px; }
}

@media (max-width: 991px) {
    :root { --main-container: 720px; --espaciado: 50px; }
    .row { --bs-gutter-y: 30px; }
    .top-bar-area:before { display: none; }
    .top-bar-area { background: var(--color-rojo); padding: 9px 0; }
    .top-bar-area .row,
    .header-area .row { --bs-gutter-y: 0; }
    .top-bar-info ul { justify-content: center; row-gap: 3px; }
    .top-bar-info ul li { margin-right: 14px; }
    .top-bar-info ul li:last-child { margin-right: 0; }
    .top-bar-info ul li a { white-space: nowrap; }
    .top-bar-social-address,
    .top-bar-social-address ul { justify-content: center; text-align: center; }
    .top-bar-social-address { margin-top: 6px; padding-right: 0; }
    .header-area { padding: 12px 0; }
    .header-logo img { height: 46px; }
    .footer-contact-info { max-width: 379px; }
    h4.widget-title { margin-top: 7.5px; }
    .footer-logo { padding: 0 0 33px; }
    .footer-widget-contact { padding-top: 21px; padding-left: 3px; }
    .footer-widget-social-icon { padding-top: 20px; }
    .backtotop { position: static; transform: none; display: inline-flex; align-items: center; justify-content: center; margin: 0 auto 26px; }
    .footer-bottom-content-copy { padding: 26px 0 14px; }
    #whatsappflotante { bottom: 2rem; left: 2rem; }
    #whatsappflotante img { width: 58px; }
}

@media (max-width: 767px) {
    :root { --main-container: 100%; --espaciado: 40px; }
    .top-bar-info ul li,
    .top-bar-info ul li a { font-size: 13px; }
    .top-bar-info ul li { margin-right: 10px; flex-wrap: wrap; justify-content: center; }
    .top-bar-info ul li img { width: 15px; height: 15px; margin-right: 7px; }
    .top-bar-sep { margin: 0 5px; }
    .header-area { padding: 10px 0; }
    .header-logo img { height: 40px; }
    .header-area a.meanmenu-reveal { width: 26px; padding: 10px 0; }
    .footer-section { padding: 50px 0 0; }
    .footer-contact-info { padding: 38px 24px 26px; }
    .footer-logo { padding: 0 0 26px; }
    .footer-logo img { width: 100%; max-width: 175px; }
    h4.widget-title { font-size: 21px; margin-top: 6px; margin-bottom: 29px; }
    ul.footer-menu li a { font-size: 16px; }
    ul.footer-menu li { padding: 0 0 10px; }
    .footer-contact-values a { font-size: 17px; }
    .footer-widget-contact { padding-top: 17px; padding-left: 2px; }
    .footer-widget-social-icon { padding-top: 16px; }
    .footer-didget-icon { flex: 0 0 20px; margin-right: 14px; }
    .footer-didget-icon img { width: 20px; }
    .footer-bottom-content-copy { font-size: 16px; }
    #whatsappflotante img { width: 50px; }
}

@media (max-width: 575px) {
    .top-bar-info ul li { flex: 0 0 100%; margin-right: 0; }
    .top-bar-social-address { margin-top: 4px; }
}

@media (max-width: 1700px) {
    .mensaje-banner-img { height: 680px; }
    .mensaje-banner-isotipo { width: 165px; margin-bottom: 9px; }
    .mensaje-banner-titulo { font-size: 40px; }
    .mensaje-banner-titulo::after { width: 160px; margin-top: 26px; }
    .mensaje-banner-content .container { padding-bottom: 85px; }
}

@media (max-width: 1450px) {
    .mensaje-banner-img { height: 580px; }
    .mensaje-banner-isotipo { width: 145px; margin-bottom: 8px; }
    .mensaje-banner-titulo { font-size: 34px; }
    .mensaje-banner-titulo::after { width: 140px; margin-top: 22px; }
    .mensaje-banner-content .container { padding-bottom: 70px; }
}

@media (max-width: 1200px) {
    .mensaje-banner-img { height: 480px; }
    .mensaje-banner-isotipo { width: 125px; margin-bottom: 8px; }
    .mensaje-banner-titulo { font-size: 28px; }
    .mensaje-banner-titulo::after { width: 120px; margin-top: 18px; }
    .mensaje-banner-content .container { padding-bottom: 55px; }
}

@media (max-width: 991px) {
    .mensaje-banner-img { height: 400px; }
    .mensaje-banner-isotipo { width: 105px; margin-bottom: 6px; }
    .mensaje-banner-titulo { font-size: 24px; }
    .mensaje-banner-titulo::after { width: 100px; margin-top: 16px; }
    .mensaje-banner-content .container { padding-bottom: 45px; }
}

@media (max-width: 767px) {
    .mensaje-banner-img { height: 320px; }
    .mensaje-banner-isotipo { width: 90px; margin-bottom: 6px; }
    .mensaje-banner-titulo { font-size: 20px; }
    .mensaje-banner-titulo::after { width: 80px; margin-top: 14px; }
    .mensaje-banner-content .container { padding-bottom: 35px; }
}

@media (max-width: 1700px) {
    .error-banner-img { height: 680px; }
    .error-banner-titulo { font-size: 40px; }
    .error-banner-content .container { padding-bottom: 50px; }
    .error-banner-boton { margin-top: 30px; }
}

@media (max-width: 1450px) {
    .error-banner-img { height: 580px; }
    .error-banner-titulo { font-size: 34px; }
    .error-banner-content .container { padding-bottom: 40px; }
    .error-banner-boton { margin-top: 26px; }
}

@media (max-width: 1200px) {
    .error-banner-img { height: 480px; }
    .error-banner-titulo { font-size: 28px; }
    .error-banner-content .container { padding-bottom: 30px; }
    .error-banner-boton { margin-top: 22px; }
}

@media (max-width: 991px) {
    .error-banner-img { height: 400px; }
    .error-banner-titulo { font-size: 24px; }
    .error-banner-content .container { padding-bottom: 24px; }
    .error-banner-boton { margin-top: 18px; }
}

@media (max-width: 767px) {
    .error-banner-img { height: 320px; }
    .error-banner-titulo { font-size: 20px; }
    .error-banner-content .container { padding-bottom: 18px; }
    .error-banner-boton { margin-top: 14px; }
    .error-banner-boton a { padding: 9px 20px; font-size: 16px; }
}

@media (max-width: 1700px) {
    .breadcumb-area { height: 220px; }
    .breadcumb-content h1 { font-size: 48px; }
    .contact_title h3 { font-size: 35px; }
    .content-info-title h3 { font-size: 33px; }
}

@media (max-width: 1450px) {
    .breadcumb-area { height: 200px; }
    .breadcumb-content h1 { font-size: 42px; }
    .contact_title h3 { font-size: 33px; }
    .content-info-title h3 { font-size: 31px; }
    .content-info-area { padding: 40px 32px 34px; }
    .contact_from_box { padding: 27px 32px 40px; }
}

@media (max-width: 1200px) {
    .breadcumb-area { height: 180px; }
    .breadcumb-content h1 { font-size: 36px; }
    .breadcumb-content ul li,
    .breadcumb-content ul li a { font-size: 15px; }
    .contact_title h3 { font-size: 30px; }
    .content-info-title h3 { font-size: 29px; }
    .contact-area .form_box input { height: 56px; }
    .contact-area .form_box textarea { height: 100px; }
    .cda-icon i { width: 50px; height: 50px; line-height: 50px; font-size: 28px; margin-right: 18px; }
}

@media (max-width: 991px) {
    .breadcumb-area { height: 160px; }
    .breadcumb-content h1 { font-size: 30px; }
    .contact_title h3 { font-size: 28px; }
    .content-info-title h3 { font-size: 26px; }
    .content-info-area { margin-top: 30px; }
    .map-section iframe { height: 320px; }
}

@media (max-width: 767px) {
    .breadcumb-area { height: 140px; }
    .breadcumb-content h1 { font-size: 26px; }
    .breadcumb-content ul li,
    .breadcumb-content ul li a { font-size: 13px; }
}

/* escalera de la miga del banner interno sobre la base nueva de 18px */
@media (max-width: 1700px) {
    .breadcumb-content ul li,
    .breadcumb-content ul li a { font-size: 17px; }
}

@media (max-width: 1450px) {
    .breadcumb-content ul li,
    .breadcumb-content ul li a { font-size: 16px; }
}

@media (max-width: 1200px) {
    .breadcumb-content ul li,
    .breadcumb-content ul li a { font-size: 15px; }
}

@media (max-width: 991px) {
    .breadcumb-content ul li,
    .breadcumb-content ul li a { font-size: 14px; }
}

@media (max-width: 767px) {
    .breadcumb-content ul li,
    .breadcumb-content ul li a { font-size: 13px; }
    .contact_title h3 { font-size: 25px; }
    .content-info-title h3 { font-size: 24px; }
    .contact_from_box,
    .content-info-area { padding: 24px 20px 28px; }
    .contact-area .form_box input { height: 50px; padding-left: 20px; }
    .contact-area .form_box textarea { height: 90px; padding-left: 20px; }
    .cda-icon i { width: 44px; height: 44px; line-height: 44px; font-size: 22px; margin-right: 14px; margin-top: 4px; }
    .map-section iframe { height: 260px; }
}

@media (max-width: 1700px) {
    .clientes-title h2 { font-size: 36px; }
    .clientes-title { margin-bottom: 40px; }
    .clientes-item .brand-thumb img { max-width: 255px; }
}

@media (max-width: 1450px) {
    .clientes-title h2 { font-size: 33px; }
    .clientes-title { margin-bottom: 36px; }
    .clientes-item .brand-thumb img { max-width: 250px; }
}

@media (max-width: 1200px) {
    .clientes-title h2 { font-size: 30px; }
    .clientes-title { margin-bottom: 32px; }
    .clientes-item .brand-thumb img { max-width: 220px; }
}

@media (max-width: 991px) {
    .clientes-title h2 { font-size: 27px; }
    .clientes-title { margin-bottom: 28px; }
    .clientes-item .brand-thumb img { max-width: 200px; }
}

@media (max-width: 767px) {
    .clientes-title h2 { font-size: 24px; }
    .clientes-title { margin-bottom: 24px; }
    .clientes-item .brand-thumb img { max-width: 180px; }
}

@media (max-width: 1700px) {
    .breadcumb-area { padding: 0; margin-top: 0; }
}

@media (max-width: 1450px) {
    .breadcumb-area { padding: 0; margin-top: 0; }
}

@media (max-width: 1200px) {
    .breadcumb-area { padding: 0; margin-top: 0; }
}

@media (max-width: 991px) {
    .breadcumb-area { padding: 0; margin-top: 0; }
}

@media (max-width: 767px) {
    .breadcumb-area { padding: 0; margin-top: 0; }
}

@media (max-width: 1199px) {
    .breadcumb-area { margin-top: 0; }
    .header-area .mobile-menu > nav.header-menu { display: none !important; }
    .header-area .mobile-menu-area { background: none; }
    .header-area .mobile-menu.mean-container { overflow: visible; }
    .header-area .mean-bar {
        background: none;
        float: none;
        width: 100%;
        min-height: 0;
        padding: 0;
        position: static;
    }
    .header-area .mean-bar::before,
    .header-area .mean-bar::after { display: none; }
    .header-area a.meanmenu-reveal {
        float: right;
        width: 30px;
        height: 24px;
        padding: 12px 0;
        background: none;
        color: var(--color-navy);
        line-height: 1;
    }
    .header-area a.meanmenu-reveal span {
        background: var(--color-rojo);
        height: 3px;
        margin-top: 5px;
        border-radius: 2px;
    }
    .header-area a.meanmenu-reveal span:first-child { margin-top: 0; }
    .header-area a.meanmenu-reveal:hover span { background: var(--color-rojo-3); }
    .header-area a.meanmenu-reveal.meanclose { color: var(--color-rojo); }
    .header-area a.meanmenu-reveal.meanclose:hover { color: var(--color-rojo-3) !important; }
    .header-area .mean-nav {
        position: absolute;
        left: 0;
        top: 100%;
        float: none;
        width: 100%;
        max-height: 74vh;
        overflow-y: auto;
        background: var(--color-blanco);
        box-shadow: 0 6px 14px -6px rgba(0, 0, 0, 0.25);
        z-index: 930;
    }
    .header-area .mean-nav > ul { max-height: none; overflow: visible; }
}

@media (max-width: 991px) {
    .contact_from_box,
    .content-info-area {
        height: auto;
    }
}

@media (max-width: 1700px) {
    .banner-inicio { height: 720px; }
    .banner-inicio .hero-content { padding-top: 118px; }
    .banner-inicio h1,
    .banner-inicio h2 { font-size: 82px; line-height: 88px; letter-spacing: -2px; }
    .banner-inicio-forma-1 { right: 240px; }
    .banner-inicio-forma-2 { right: 110px; }
    .quienes-home { padding-top: 88px; padding-bottom: 56px; }
    .quienes-home .about-thumb { margin-left: -48px; }
    .quienes-home .about-thumb img { width: 100%; height: auto; }
    .quienes-home .consen-section-title h2 { font-size: 56px; }
    .servicios-home-title h2 { font-size: 62px; }
    .servicios-home:before { height: 500px; }
    .servicios-home:after { top: 500px; height: 25px; background-size: 100% 14px, 100% 25px; }
    .servicios-home .service-contents { padding: 31px 37px 32px; min-height: 295px; }
    .servicios-home .service-contents:before { left: 37px; top: 31px; }
    .servicios-home .service-title { font-size: 28px; line-height: 28px; }
    .servicios-home .service-text .p { font-size: 17px; line-height: 25px; }
    .servicios-home .service-button { padding-top: 11px; }
    .servicios-home .service-button i { width: 49px; height: 37px; font-size: 22px; }
    .inq-row { padding-left: 24px; gap: 70px; }
    .inq-foto { max-width: 40%; }
    .temas-interes-title h4 { font-size: 16px; }
    .temas-interes-title h2 { font-size: 44px; }
    .pg-inicio .temas-interes-title h2 { font-size: 46px; }
}

@media (max-width: 1450px) {
    .banner-inicio { height: 660px; }
    .banner-inicio .hero-content { padding-top: 100px; }
    .banner-inicio h1,
    .banner-inicio h2 { font-size: 70px; line-height: 76px; }
    .banner-inicio-texto { font-size: 20px; line-height: 32px; }
    .banner-inicio a.hero-button { margin-top: 40px; width: 210px; height: 62px; font-size: 20px; }
    .banner-inicio-forma { height: 400px; }
    .banner-inicio-forma-1 { right: 180px; }
    .banner-inicio-forma-2 { right: 60px; }
    .quienes-home .consen-section-title h2 { font-size: 48px; }
    .quienes-home .about-content h4 { font-size: 21px; line-height: 25px; }
    .servicios-home-title h2 { font-size: 54px; }
    .servicios-home:before { height: 460px; }
    .servicios-home:after { top: 460px; height: 23px; background-size: 100% 13px, 100% 23px; }
    .servicios-home .service-contents { padding: 28px 30px 30px; min-height: 290px; }
    .servicios-home .service-contents:before { left: 30px; top: 28px; }
    .servicios-home .service-title { font-size: 25px; line-height: 25px; }
    .servicios-home .service-text .p { font-size: 16px; line-height: 24px; }
    .servicios-home .service-button { padding-top: 10px; }
    .servicios-home .service-button i { width: 46px; height: 35px; font-size: 21px; }
    .proyectos-home .section-title h2 { font-size: 40px; }
    .inq-row { gap: 50px; }
    .inq-col-form { flex: 0 0 440px; max-width: 440px; }
    .inq-form-box { padding: 40px 36px 0; }
    .inq-form-boton { margin-left: -36px; margin-right: -36px; }
    .inq-faq-title h2 { font-size: 38px; }
    .inq-accordion > li > a, .inq-accordion > li > a.active { font-size: 20px; }
    .inq-accordion > li > .p { font-size: 17px; line-height: 28px; }
    .temas-interes-title h2 { font-size: 40px; }
    .pg-inicio .temas-interes-title h2 { font-size: 42px; }
    .temas-interes-card .blog-content .temas-interes-card-titulo { font-size: 24px; line-height: 28px; min-height: 84px; }
    .clientes-title h2 { font-size: 38px; }
}

@media (max-width: 1200px) {
    .banner-inicio { height: 560px; }
    .banner-inicio .hero-content { padding-top: 72px; }
    .banner-inicio .hero-sub-title { font-size: 17px; margin-bottom: 22px; }
    .banner-inicio h1,
    .banner-inicio h2 { font-size: 56px; line-height: 62px; letter-spacing: -1px; }
    .banner-inicio-texto { max-width: 480px; margin-top: 20px; font-size: 18px; line-height: 28px; }
    .banner-inicio a.hero-button { margin-top: 30px; width: 190px; height: 56px; font-size: 18px; }
    .banner-inicio-forma { height: 320px; width: 84px; border-radius: 42px; bottom: -110px; }
    .banner-inicio-forma-1 { right: 130px; }
    .banner-inicio-forma-2 { right: 40px; }
    .quienes-home { padding-top: 70px; padding-bottom: 48px; }
    .quienes-home .about-thumb { margin-left: 0; margin-bottom: 40px; }
    .quienes-home .consen-section-title h2 { font-size: 40px; }
    .quienes-home .about-item { margin-top: 30px; padding: 22px 0 22px 16px; }
    .servicios-home { padding-top: 66px; padding-bottom: 66px; }
    .servicios-home:before { height: 400px; }
    .servicios-home:after { top: 400px; height: 21px; background-size: 100% 12px, 100% 21px; }
    .servicios-home-title { padding-top: 22px; margin-bottom: 26px; }
    .servicios-home-title h2 { font-size: 42px; }
    .servicios-home .owl-nav, .servicios-home .owl-nav.disabled { margin-top: 38px; }
    .proyectos-home { padding-bottom: 70px; }
    .proyectos-home-head { margin-bottom: 30px; }
    .proyectos-home .section-title h2 { font-size: 34px; }
    .proyectos-home-col { gap: 24px; }
    .inq-section { padding: 70px 0 60px; }
    .inq-foto { display: none; }
    .inq-row { flex-direction: column; align-items: stretch; padding-left: 0; gap: 60px; }
    .inq-col-form { flex: 0 0 auto; max-width: 520px; }
    .inq-col-faq { margin-bottom: 0; }
    .inq-form-punta { display: none; }
    .inq-faq-title h2 { font-size: 34px; }
    .temas-interes-title h2 { font-size: 34px; }
    .pg-inicio .temas-interes-title h2 { font-size: 35px; }
    .temas-interes-card .blog-content { padding: 26px 24px 32px; }
    .temas-interes-card .blog-content .temas-interes-card-titulo { font-size: 21px; line-height: 26px; min-height: 78px; }
    .clientes-area { padding: 50px 0 50px; }
    .clientes-title { margin-bottom: 40px; }
    .clientes-title h2 { font-size: 32px; }
    .modal-md-custom { max-width: 560px; }
}

@media (max-width: 991px) {
    .banner-inicio { height: 480px; }
    .banner-inicio .hero-content { padding-top: 56px; }
    .banner-inicio h1,
    .banner-inicio h2 { font-size: 44px; line-height: 50px; letter-spacing: 0; }
    /* en movil el corte vertical del degradado partia la foto por la mitad y
       el texto se perdia sobre la parte clara: velo completo y uniforme. */
    .banner-inicio .slide-inner.slide-bg-image,
    .banner-inicio .slide-inner.slide-bg-image.two {
        background-image: linear-gradient(rgba(0, 31, 67, .84), rgba(0, 31, 67, .84)), url(../../img/inicio/banner-operarios-obra.jpg);
        background-position: center center, center center;
        background-size: cover, cover;
    }
    .banner-inicio-texto { max-width: 420px; font-size: 17px; line-height: 26px; }
    .banner-inicio-forma { display: none; }
    .quienes-home .consen-section-title h2 { font-size: 34px; }
    .quienes-home .about-thumb { margin-bottom: 32px; }
    .servicios-home:before { height: 340px; }
    .servicios-home:after { top: 340px; height: 19px; background-size: 100% 11px, 100% 19px; }
    .servicios-home-title h2 { font-size: 34px; }
    .proyectos-home-col { margin-bottom: 24px; }
    .proyectos-home .ph-alta img { aspect-ratio: 648 / 500; }
    .inq-section { padding: 60px 0 50px; }
    .inq-row { gap: 46px; }
    .inq-col-form { max-width: 100%; }
    .inq-faq-title h2 { font-size: 30px; }
    .inq-accordion > li > a, .inq-accordion > li > a.active { font-size: 18px; }
    .temas-interes-card { margin-bottom: 24px; }
    .temas-interes-head { margin-bottom: 30px; }
}

@media (max-width: 767px) {
    .banner-inicio { height: 430px; }
    .banner-inicio .hero-content { padding-top: 40px; }
    .banner-inicio .slide-inner.slide-bg-image,
    .banner-inicio .slide-inner.slide-bg-image.two {
        background-image: linear-gradient(rgba(0, 31, 67, .86), rgba(0, 31, 67, .86)), url(../../img/inicio/banner-operarios-obra.jpg);
    }
    .banner-inicio .hero-sub-title { font-size: 14px; padding-left: 48px; margin-bottom: 16px; }
    .banner-inicio .hero-sub-title:before { width: 30px; height: 3px; }
    .banner-inicio h1,
    .banner-inicio h2 { font-size: 34px; line-height: 40px; }
    .banner-inicio-texto { max-width: 100%; font-size: 15px; line-height: 24px; }
    .banner-inicio a.hero-button { margin-top: 22px; width: 168px; height: 48px; font-size: 16px; }
    .quienes-home { padding-top: 48px; padding-bottom: 40px; }
    .quienes-home .consen-section-title h2 { font-size: 28px; }
    .quienes-home .about-content h4 { font-size: 18px; line-height: 22px; }
    .quienes-home .about-icon { flex: 0 0 44px; margin-right: 16px; }
    .quienes-home .about-icon img { width: 44px; }
    .quienes-home .Indastre-btn.abt a { width: 168px; height: 46px; font-size: 15px; }
    .servicios-home { padding-top: 46px; padding-bottom: 46px; }
    .servicios-home:before { height: 260px; }
    .servicios-home:after { top: 260px; height: 17px; background-size: 100% 10px, 100% 17px; }
    .servicios-home-title h2 { font-size: 27px; }
    .servicios-home .service-contents { min-height: 0; padding: 24px 22px 28px; }
    .servicios-home .service-contents:before { left: 22px; top: 24px; }
    .servicios-home .service-button { padding-top: 24px; }
    .servicios-home .service-button i { width: 44px; height: 33px; font-size: 19px; }
    .servicios-home .service-title { font-size: 21px; line-height: 24px; }
    .servicios-home .service-text .p { font-size: 15px; line-height: 22px; }
    .proyectos-home { padding-bottom: 46px; }
    .proyectos-home .section-title h2 { font-size: 26px; }
    .proyectos-home-button { text-align: left; margin-top: 18px; }
    .proyectos-home-button a { width: 150px; height: 48px; font-size: 16px; }
    .proyectos-home-col { gap: 16px; }
    .inq-section { padding: 46px 0 40px; }
    .inq-row { gap: 36px; }
    .inq-form-box { padding: 30px 20px 0; }
    .inq-form-boton { margin-left: -20px; margin-right: -20px; }
    .inq-form-boton .btn { height: 70px; font-size: 18px; }
    .inq-form-titulo { font-size: 24px; }
    .inq-form-campo input { height: 52px; font-size: 16px; }
    .inq-form-campo textarea { height: 110px; font-size: 16px; }
    .inq-faq-title h2 { font-size: 25px; }
    .inq-accordion > li > a, .inq-accordion > li > a.active { font-size: 16px; padding-bottom: 16px; }
    .inq-accordion > li { margin-bottom: 22px; }
    .inq-accordion > li > .p { font-size: 15px; line-height: 24px; }
    .inq-faq-boton { margin-top: 30px; }
    .inq-faq-boton a, .proyectos-home-button a { width: 150px; height: 48px; font-size: 16px; }
    .temas-interes-title h4 { font-size: 13px; margin-bottom: 14px; }
    .temas-interes-title h2 { font-size: 26px; }
    .pg-inicio .temas-interes-title h2 { font-size: 27px; }
    .temas-interes-ver { justify-content: flex-start; margin-top: 16px; }
    .temas-interes-card .blog-content .temas-interes-card-titulo { font-size: 19px; line-height: 24px; min-height: 0; }
    .clientes-area { padding: 40px 0 40px; }
    .clientes-title { margin-bottom: 28px; }
    .clientes-title h2 { font-size: 24px; }
    .modal-md-custom { max-width: calc(100% - 24px); }
    .modal-inicio-texto { padding: 18px 18px 4px; font-size: 15px; line-height: 23px; }
}

@media (max-width: 1200px) {
    .temas-interes-card .blog-shape img { width: 180px; }
    .inq-form-titulo { font-size: 30px; }
}

@media (max-width: 991px) {
    .temas-interes-card .blog-shape img { width: 150px; }
    .inq-form-titulo { font-size: 27px; }
}

@media (max-width: 767px) {
    .temas-interes-card .blog-shape img { width: 130px; }
}

@media (max-width: 575px) {
    .temas-interes-card .blog-shape img { width: 110px; }
}

@media (max-width: 1450px) {
    .inq-form-box { padding: 40px 36px 30px; }
    .inq-form-boton { margin-left: 0; margin-right: 0; }
}

@media (max-width: 767px) {
    .inq-form-box { padding: 30px 20px 24px; }
    .inq-form-boton { margin-left: 0; margin-right: 0; }
    .inq-form-boton .btn { height: 52px; font-size: 17px; }
}

.banner-inicio a.hero-button,
.quienes-home .Indastre-btn.abt a,
.proyectos-home-button a,
.inq-faq-boton a,
.temas-interes-ver a,
.temas-interes-card .blog-content .blog-button {
    white-space: nowrap;
}

@media (max-width: 991px) {
    .banner-inicio { height: 520px; }
    .banner-inicio .hero-content { padding-top: 86px; }
    .banner-inicio a.hero-button { width: auto; padding: 0 26px; }
    .proyectos-home .ph-alta img { aspect-ratio: 648 / 620; }
}

@media (max-width: 767px) {
    .banner-inicio { height: 470px; }
    .banner-inicio .hero-content { padding-top: 66px; }
    .banner-inicio a.hero-button { width: auto; padding: 0 22px; }
    .proyectos-home .ph-alta img { aspect-ratio: 648 / 560; }
}

@media (max-width: 1450px) {
    .blog-grid-card .blog-content .blog-grid-card-titulo { font-size: 24px; line-height: 28px; min-height: 84px; }
}

@media (max-width: 1200px) {
    .blog-grid-area { padding: 90px 0 30px; }
    .blog-grid-card .blog-content { padding: 26px 24px 32px; }
    .blog-grid-card .blog-content .blog-grid-card-titulo { font-size: 21px; line-height: 26px; min-height: 78px; }
    .blog-grid-card .blog-shape img { width: 180px; }
}

@media (max-width: 991px) {
    .blog-grid-area { padding: 70px 0 20px; }
    .blog-grid-card { margin-bottom: 30px; }
    .blog-grid-card .blog-shape img { width: 150px; }
}

@media (max-width: 767px) {
    .blog-grid-area { padding: 50px 0 10px; }
    .blog-grid-card { margin-bottom: 24px; }
    .blog-grid-card .blog-content { padding: 22px 20px 26px; }
    .blog-grid-card .blog-content .blog-grid-card-titulo { font-size: 19px; line-height: 24px; min-height: 48px; }
    .blog-grid-card .blog-shape img { width: 130px; }
}

@media (max-width: 575px) {
    .blog-grid-card .blog-shape img { width: 110px; }
}

/* --- escalera responsive de quienes-somos.
   Base 1920 medida contra disenos/vista-03/completo.png; cada breakpoint baja
   con la misma proporcion con la que el proyecto baja --espaciado
   (100/80/70/60/50/40) o, en las tipografias, con la escalera que ya traia la
   vista (h2 70->62->56->48->42->34 = 1/.886/.80/.686/.60/.486). Los colores y
   la opacidad NO llevan escalera: son los mismos en los 10 anchos. --- */
@media (max-width: 1700px) {
    .qs-title h4 { font-size: 20px; }
    .qs-title h1, .qs-title h2 { font-size: 76px; }
    .qs-title .p { font-size: 18.6px; }
    .qs-list li { font-size: 18.5px; line-height: 25px; }
    .qs-list li i { font-size: 25px; }
    .qs-badge { width: 128px; height: 128px; }
    .qs-badge-num { font-size: 39px; }
    .qs-badge-text { font-size: 14.8px; }
    .qs-valores-title h2 { font-size: 60px; }
    .qs-counter-title h1, .qs-counter-title h2, .qs-counter-title span { font-size: 50px; }
    .qs-counter-content h5 { font-size: 19px; }
    .qs-valores { --qs-card-gap: 24px; }
    .qs-valores .container { max-width: calc(var(--main-container) - 32px); }
    .qs-valores .row { --bs-gutter-x: 18px; }
    .qs-dash { width: 51px; height: 5px; margin-bottom: 15px; }
    .qs-valores-title { margin-bottom: 31px; }
    .qs-valor-card { padding: 34px 30px; border-bottom-width: 5px; }
    .qs-valor-head { margin-bottom: 19px; }
    .qs-valor-num { width: 51px; height: 56px; line-height: 56px; font-size: 31px; margin-right: 20px; }
    .qs-valor-card .p { font-size: 17.6px; }
    .qs-mv { padding: 70px 0 64px; }
    .qs-mv .row.align-items-center > div:first-child { padding-top: 68px; }
    .mv-accordion > li > a,
    .mv-accordion > li > a.active { font-size: 22px; padding: 0 6px 14px 0; }
    .mv-accordion > li > .p { font-size: 17.6px; margin: 10px 0 33px; }
}

@media (max-width: 1450px) {
    .qs-collage img { width: 100%; max-width: 520px; }
    .qs-mv-photo img { width: 100%; max-width: 540px; }
    .qs-title h4 { font-size: 19px; }
    .qs-title h1, .qs-title h2 { font-size: 69px; }
    .qs-title .p { font-size: 18px; }
    .qs-list li { font-size: 18px; line-height: 24px; }
    .qs-list li i { font-size: 24px; }
    .qs-badge { width: 118px; height: 118px; border-width: 6px; padding: 9px; }
    .qs-badge-num { font-size: 36px; }
    .qs-badge-text { font-size: 13.6px; }
    .qs-valores-title h2 { font-size: 53px; }
    .qs-valor-head h3 { font-size: 27px; }
    .qs-counter-title h1, .qs-counter-title h2, .qs-counter-title span { font-size: 45px; }
    .qs-counter-content h5 { font-size: 18px; }
    .qs-marca { width: 233px; right: -36px; bottom: -8px; }
    .qs-valores { --qs-card-gap: 21px; }
    .qs-valores .container { max-width: calc(var(--main-container) - 28px); }
    .qs-valores .row { --bs-gutter-x: 15px; }
    .qs-dash { width: 45px; height: 4px; margin-bottom: 13px; }
    .qs-valores-title { margin-bottom: 27px; }
    .qs-valor-card { padding: 30px 27px; border-bottom-width: 4px; }
    .qs-valor-head { margin-bottom: 17px; }
    .qs-valor-num { width: 46px; height: 50px; line-height: 50px; font-size: 28px; margin-right: 18px; }
    .qs-valor-card .p { font-size: 17px; }
    .qs-mv { padding: 61px 0 57px; }
    .qs-mv .row.align-items-center > div:first-child { padding-top: 60px; }
    .mv-accordion > li > a,
    .mv-accordion > li > a.active { font-size: 20px; padding: 0 5px 13px 0; }
    .mv-accordion > li > .p { font-size: 17px; margin: 9px 0 29px; }
}

@media (max-width: 1200px) {
    .qs-about-left { margin-bottom: 40px; }
    .qs-collage img { width: 100%; max-width: 460px; }
    .qs-mv-photo img { max-width: 100%; }
    .qs-title h4 { font-size: 18px; }
    .qs-title h1, .qs-title h2 { font-size: 59px; }
    .qs-title .p { font-size: 17px; }
    .qs-list li { font-size: 17px; line-height: 23px; }
    .qs-list li i { font-size: 22px; }
    .qs-valores-title h2 { font-size: 47px; }
    .qs-counter-title h1, .qs-counter-title h2, .qs-counter-title span { font-size: 41px; }
    .qs-counter-content h5 { font-size: 17px; }
    .qs-badge { width: 108px; height: 108px; border-width: 5px; padding: 8px; }
    .qs-badge-num { font-size: 33px; }
    .qs-badge-text { font-size: 12.4px; }
    .qs-marca { width: 205px; right: -31px; bottom: -7px; }
    .qs-valores { --qs-card-gap: 18px; }
    .qs-valores .container { max-width: calc(var(--main-container) - 24px); }
    .qs-valores .row { --bs-gutter-x: 13px; }
    .qs-dash { width: 38px; height: 4px; margin-bottom: 11px; }
    .qs-valores-title { margin-bottom: 23px; }
    .qs-valor-card { padding: 26px 23px; border-bottom-width: 4px; }
    .qs-valor-head { margin-bottom: 14px; }
    .qs-valor-num { width: 40px; height: 43px; line-height: 43px; font-size: 24px; margin-right: 15px; }
    .qs-valor-head h3 { font-size: 27px; }
    .qs-valor-card .p { font-size: 16.5px; }
    .qs-mv { padding: 52px 0 49px; }
    .qs-mv .row.align-items-center > div:first-child { padding-top: 51px; }
    .mv-accordion > li > a,
    .mv-accordion > li > a.active { font-size: 20px; padding: 0 4px 11px 0; }
    .mv-accordion > li > .p { font-size: 16.5px; margin: 8px 0 25px; }
}

@media (max-width: 991px) {
    .qs-about { padding-top: 60px; padding-bottom: 60px; background: var(--color-blanco); }
    .qs-about-left { margin-bottom: 40px; }
    .qs-collage { max-width: 420px; margin: 0 auto; }
    .qs-collage img { max-width: 100%; }
    .qs-title h4 { font-size: 17px; }
    .qs-title h1, .qs-title h2 { font-size: 52px; }
    .qs-title .p { font-size: 16.5px; }
    .qs-list li { font-size: 16px; line-height: 22px; }
    .qs-list li i { font-size: 20px; }
    .qs-badge { width: 98px; height: 98px; border-width: 5px; padding: 7px; }
    .qs-badge-num { font-size: 30px; }
    .qs-badge-text { font-size: 11.3px; }
    .qs-counter-title h1, .qs-counter-title h2, .qs-counter-title span { font-size: 37px; }
    .qs-counter-content h5 { font-size: 16px; }
    .qs-valores-title h2 { font-size: 40px; }
    .qs-valor-head h3 { font-size: 25px; }
    .qs-valor-card { padding: 22px 19px; border-bottom-width: 3px; }
    .qs-mv { padding: 44px 0 41px; }
    .qs-mv-photo { margin-top: 40px; justify-content: center; }
    .qs-mv-photo img { width: 100%; max-width: 460px; margin: 0 auto; }
    .qs-marca { width: 164px; right: -25px; bottom: -5px; }
    .qs-valores { --qs-card-gap: 15px; }
    .qs-valores .container { max-width: var(--main-container); }
    .qs-valores .row { --bs-gutter-x: 1.5rem; }
    .qs-dash { width: 32px; height: 3px; margin-bottom: 10px; }
    .qs-valores-title { margin-bottom: 20px; }
    .qs-valor-head { margin-bottom: 12px; }
    .qs-valor-num { width: 35px; height: 38px; line-height: 38px; font-size: 21px; margin-right: 13px; }
    .qs-valor-card .p { font-size: 16px; }
    .qs-mv .row.align-items-center > div:first-child { padding-top: 0; }
    .mv-accordion > li > a,
    .mv-accordion > li > a.active { font-size: 18px; padding: 0 4px 9px 0; }
    .mv-accordion > li > .p { font-size: 16px; margin: 7px 0 21px; }
}

@media (max-width: 767px) {
    .qs-about { padding-top: 50px; padding-bottom: 50px; }
    .qs-collage { max-width: 320px; }
    .qs-badge { width: 84px; height: 84px; border-width: 4px; padding: 6px; }
    .qs-badge-num { font-size: 26px; }
    .qs-badge-text { font-size: 9.7px; }
    .qs-title h4 { font-size: 16px; }
    .qs-title h1, .qs-title h2 { font-size: 42px; }
    .qs-title .p { font-size: 16px; }
    .qs-list li { font-size: 15px; line-height: 21px; }
    .qs-list li i { font-size: 18px; }
    /* al apilarse las dos columnas, entre el item 2 y el 3 se sumaban el
       margin-bottom del <ul> (20px) y el gutter vertical de Bootstrap (30px):
       50px de hueco contra los 10px que hay dentro de cada lista. */
    .qs-lista-fila { --bs-gutter-y: 10px; margin-bottom: 20px; }
    .qs-list { margin-bottom: 0; }
    .qs-list li { margin-bottom: 10px; }
    .qs-list li:last-child { margin-bottom: 0; }
    .qs-counter-title h1, .qs-counter-title h2, .qs-counter-title span { font-size: 32px; }
    .qs-counter-content h5 { font-size: 15px; }
    .qs-valores-title h2 { font-size: 33px; }
    .qs-valor-card { padding: 17px 15px; border-bottom-width: 2px; }
    .qs-valor-head h3 { font-size: 23px; }
    .qs-mv { padding: 35px 0 33px; }
    .qs-mv-photo img { width: 100%; max-width: 480px; }
    .qs-marca { width: 123px; right: -19px; bottom: -4px; }
    .qs-valores { --qs-card-gap: 12px; }
    .qs-dash { width: 26px; height: 2px; margin-bottom: 8px; }
    .qs-valores-title { margin-bottom: 16px; }
    .qs-valor-head { margin-bottom: 10px; }
    .qs-valor-num { width: 28px; height: 31px; line-height: 31px; font-size: 17px; margin-right: 10px; }
    .qs-valor-card .p { font-size: 15px; }
    .mv-accordion > li > a,
    .mv-accordion > li > a.active { font-size: 17px; padding: 0 3px 7px 0; }
    .mv-accordion > li > .p { font-size: 15px; margin: 5px 0 16px; }
}

@media (max-width: 1700px) {
    .breadcumb-title-alt { font-size: 48px; }
}

@media (max-width: 1450px) {
    .breadcumb-title-alt { font-size: 42px; }
}

@media (max-width: 1200px) {
    .breadcumb-title-alt { font-size: 36px; }
}

@media (max-width: 991px) {
    .breadcumb-title-alt { font-size: 30px; }
}

@media (max-width: 767px) {
    .breadcumb-title-alt { font-size: 26px; }
}

@media (max-width: 1700px) {
    .blog-content-text.text-left h1 { font-size: 30px; }
}

@media (max-width: 1450px) {
    .blog-content-text.text-left h1 { font-size: 28px; }
}

@media (max-width: 1200px) {
    .blog-content-text.text-left h1 { font-size: 26px; }
}

@media (max-width: 991px) {
    .blog-content-text.text-left h1 { font-size: 24px; }
}

@media (max-width: 767px) {
    .blog-content-text.text-left h1 { font-size: 22px; }
}

/* --- detalle-blog: fecha de la cabecera (C66) ---
   El cuerpo sigue la MISMA razon por breakpoint que el h1 de esta vista
   (34/30/28/26/24/22 -> .882/.824/.765/.706/.647) aplicada a los 24px que pide
   el diseno: 24/21/20/18/17/16. El `top` del cuadrito gris acompana al cuerpo
   con top = 0.9*font-size - 9.5 (en 16px da los 5px que ya traia el theme).
   El color NO escala: es un color (#575f66) e igual en los 8 anchos.
   margin-top de .widget-items SI escala como --espaciado
   (100/80/70/60/50/40 -> 34/27/24/20/17/14). */
/* padding-top de .blog-details .blog-meta: NO es espaciado nuevo, es el ajuste
   que mantiene la caja en los 73px que media antes en los 8 anchos (la altura
   de la linea cambia con el cuerpo: 27px a 1920, 26 a 1700/1450/767 y menos,
   25 a 1200/991). Asi ningun ancho mueve lo que viene debajo. */
@media (max-width: 1700px) {
    .blog-details .blog-meta span { font-size: 21px; }
    .blog-details .blog-meta span:before { top: 9.5px; }
    .blog-details .blog-meta { padding-top: 22px; }
    .widget-items { margin-top: 27px; }
}

@media (max-width: 1450px) {
    .blog-details .blog-meta span { font-size: 20px; }
    .blog-details .blog-meta span:before { top: 8.5px; }
    .widget-items { margin-top: 24px; }
}

@media (max-width: 1200px) {
    .blog-details .blog-meta span { font-size: 18px; }
    .blog-details .blog-meta span:before { top: 6.5px; }
    .blog-details .blog-meta { padding-top: 23px; }
    .widget-items { margin-top: 20px; }
}

@media (max-width: 991px) {
    .blog-details .blog-meta span { font-size: 17px; }
    .blog-details .blog-meta span:before { top: 6px; }
    .widget-items { margin-top: 17px; }
}

@media (max-width: 767px) {
    .blog-details .blog-meta span { font-size: 16px; }
    .blog-details .blog-meta span:before { top: 5px; }
    .blog-details .blog-meta { padding-top: 22px; }
    .widget-items { margin-top: 14px; }
}

@media (max-width: 1700px) {
    .nc-clientes-grid { grid-template-columns: repeat(3, 1fr); gap: 24px; }
    .nc-cliente-item img { width: 100%; height: auto; }
}

@media (max-width: 1450px) {
    .nc-clientes { padding: 70px 0; }
    .nc-clientes-grid { gap: 20px; }
}

@media (max-width: 1200px) {
    .nc-clientes { padding: 60px 0; }
    .nc-clientes-grid { gap: 16px; }
}

@media (max-width: 991px) {
    .nc-clientes { padding: 50px 0; }
    .nc-clientes-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}

@media (max-width: 767px) {
    .nc-clientes { padding: 40px 0; }
    .nc-clientes-grid { grid-template-columns: 1fr; gap: 20px; }
}

@media (max-width: 1700px) {
    .pqrsf-title h2 { font-size: 53px; }
    .pqe-proyectos-title h2 { font-size: 40px; }
}

@media (max-width: 1450px) {
    .pqrsf-title h2 { font-size: 48px; }
    .pqe-proyectos-title h2 { font-size: 37px; }
}

@media (max-width: 1200px) {
    .pqrsf-title h2 { font-size: 44px; }
    .pqe-proyectos-title h2 { font-size: 34px; }
}

@media (max-width: 991px) {
    .pqrsf-title h2 { font-size: 37px; }
    .pqe-proyectos-title h2 { font-size: 30px; }
}

@media (max-width: 767px) {
    .pqrsf-title h2 { font-size: 31px; }
    .pqe-proyectos-title h2 { font-size: 26px; }
}

/* --- contactenos: escalas de lo medido contra el diseno vista-10 --- */
@media (max-width: 1700px) {
    .cda-content-inner .p,
    .cda-content-inner .p a { font-size: 19px; line-height: 26px; }
    .contacto-form .quote_button .btn { font-size: 21px; padding: 15px 15px 14px; }
}

@media (max-width: 1450px) {
    .cda-content-inner .p,
    .cda-content-inner .p a { font-size: 18px; line-height: 25px; }
    .contacto-form .quote_button .btn { font-size: 20px; padding: 14px 15px 13px; }
    .content-info-area { padding-bottom: 40px; }
    .content-info-area .cda-single-content { padding-bottom: 30px; }
}

@media (max-width: 1200px) {
    .cda-content-inner .p,
    .cda-content-inner .p a { font-size: 17px; line-height: 24px; }
    .contacto-form .quote_button .btn { font-size: 19px; padding: 13px 15px 12px; }
}

@media (max-width: 767px) {
    .cda-content-inner .p,
    .cda-content-inner .p a { font-size: 16px; line-height: 23px; }
    .contacto-form .quote_button .btn { font-size: 18px; padding: 12px 15px 11px; }
    .contacto-form .contacto-check { justify-content: flex-start; text-align: left; }
    .contacto-captcha-space { min-height: 24px; }
}

/* --- pqrsf: escalas de lo medido contra el diseno vista-12 --- */
@media (max-width: 1700px) {
    .pqrsf-title h4 { font-size: 22px; padding-left: 62px; }
    .pqrsf-title h4::before { width: 46px; }
    .pqrsf-form-box .form_box input { height: 72px; }
    .pqrsf-form-box .form_box input,
    .pqrsf-form-box .form_box textarea { font-size: 19px; }
    .pqrsf-form-box .form_box input::placeholder,
    .pqrsf-form-box .form_box textarea::placeholder { font-size: 19px; }
    .pqrsf-upload-label { font-size: 17px; }
    .pqrsf-upload-filename { font-size: 16.5px; }
    .pqrsf-upload-note { font-size: 15px; }
}

@media (max-width: 1450px) {
    .pqrsf-title h4 { font-size: 20px; padding-left: 56px; }
    .pqrsf-title h4::before { width: 42px; }
    .pqrsf-form-box .form_box input { height: 66px; }
    .pqrsf-form-box .form_box textarea { height: 200px; }
    .pqrsf-form-box .form_box input,
    .pqrsf-form-box .form_box textarea { font-size: 18px; }
    .pqrsf-form-box .form_box input::placeholder,
    .pqrsf-form-box .form_box textarea::placeholder { font-size: 18px; }
    .pqrsf-upload-label { font-size: 16px; }
    .pqrsf-upload-filename { font-size: 16px; }
    .pqrsf-upload-note { font-size: 14.5px; }
}

@media (max-width: 1200px) {
    .pqrsf-title h4 { font-size: 18px; padding-left: 50px; }
    .pqrsf-title h4::before { width: 38px; }
    .pqrsf-form-box .form_box input { height: 60px; }
    .pqrsf-form-box .form_box textarea { height: 180px; }
    .pqrsf-submit { margin-top: 20px; }
    .pqrsf-form-box .form_box input,
    .pqrsf-form-box .form_box textarea { font-size: 17px; }
    .pqrsf-form-box .form_box input::placeholder,
    .pqrsf-form-box .form_box textarea::placeholder { font-size: 17px; }
    .pqrsf-upload-label { font-size: 15px; }
    .pqrsf-upload-filename { font-size: 15px; }
    .pqrsf-upload-note { font-size: 14px; }
}

@media (max-width: 991px) {
    /* los col-lg-6 se apilan por debajo de 992: al hacerlo, el gutter vertical
       de Bootstrap (30px) se sumaba al margin-bottom del .form_box y los campos
       quedaban a 52px (PQRSF) y 60px (contactenos) unos de otros, contra los
       22 y 30 que los separan en escritorio. */
    .pqrsf-form-box .row,
    .contact-area .contact_from_box .row { --bs-gutter-y: 0; }
    /* misma suma en la galeria: el .proy-item ya trae 48px de margen y el gutter
       le anadia 30 mas, 78px entre filas contra los 47 del diseno. */
    .proy-galeria-area .row { --bs-gutter-y: 0; }
    .pqrsf-form-box .form_box input,
    .pqrsf-form-box .form_box textarea { font-size: 16px; }
    .pqrsf-form-box .form_box input::placeholder,
    .pqrsf-form-box .form_box textarea::placeholder { font-size: 16px; }
    .pqrsf-upload-label { font-size: 15px; }
    .pqrsf-upload-filename { font-size: 14.5px; }
    .pqrsf-upload-note { font-size: 13.5px; }
}

@media (max-width: 767px) {
    .pqrsf-title h4 { font-size: 16px; padding-left: 44px; }
    .pqrsf-title h4::before { width: 34px; }
    .pqrsf-form-box .form_box input { height: 54px; }
    .pqrsf-form-box .form_box textarea { height: 150px; }
    .pqrsf-captcha-space { min-height: 36px; margin-top: 16px; }
    .pqrsf-submit { margin-top: 16px; }
    .pqrsf-form-box .form_box input,
    .pqrsf-form-box .form_box textarea { font-size: 15px; }
    .pqrsf-form-box .form_box input::placeholder,
    .pqrsf-form-box .form_box textarea::placeholder { font-size: 15px; }
    .pqrsf-upload-label { font-size: 14px; }
    .pqrsf-upload-filename { font-size: 14px; }
    .pqrsf-upload-note { font-size: 13px; }
}

/* --- el desplegable cuelga del borde inferior de la cabecera: el hueco
   li -> cabecera cambia con el padding del header en cada breakpoint --- */
@media (max-width: 1700px) {
    .header-menu ul li.menu-item-has-children { padding-bottom: 25px; margin-bottom: -25px; }
    .header-menu ul li .sub-menu li a { font-size: 17px; }
}

@media (max-width: 1450px) {
    .header-menu ul li.menu-item-has-children { padding-bottom: 24px; margin-bottom: -24px; }
}

/* --- detalle-blog: la seccion llevaba 73/81 fijos a todos los anchos mientras
   el resto del sitio escala --espaciado de 100 a 40. Misma proporcion. --- */
@media (max-width: 1700px) {
    .blog-details { padding-top: 58px; padding-bottom: 65px; }
}

@media (max-width: 1450px) {
    .blog-details { padding-top: 51px; padding-bottom: 57px; }
}

@media (max-width: 1200px) {
    .blog-details { padding-top: 44px; padding-bottom: 49px; }
}

@media (max-width: 991px) {
    .blog-details { padding-top: 37px; padding-bottom: 41px; }
}

@media (max-width: 767px) {
    .blog-details { padding-top: 29px; padding-bottom: 32px; }
}

/* --- flechas del banner de inicio --- */
@media (max-width: 1450px) {
    .banner-inicio .swiper-button-prev,
    .banner-inicio .swiper-button-next { width: 48px; height: 48px; margin-top: -24px; font-size: 16px; }
    .banner-inicio .swiper-button-prev { left: 20px; }
    .banner-inicio .swiper-button-next { right: 15px; }
}

@media (max-width: 991px) {
    .banner-inicio .swiper-button-prev,
    .banner-inicio .swiper-button-next { width: 42px; height: 42px; margin-top: -21px; font-size: 15px; }
    .banner-inicio .swiper-button-prev { left: 12px; }
    .banner-inicio .swiper-button-next { right: 12px; }
}

/* por debajo de 1451 el contenedor se estrecha hasta que el parrafo del banner
   llega a donde estan las flechas laterales: medido, se solapan en 19 de los
   161 anchos del barrido (770-800, 1000-1080 y 1210-1260). Ahi bajan al pie,
   centradas y en pareja. De 1451 en adelante el contenedor deja margen de
   sobra y se quedan a los lados, como en el diseno. */
@media (max-width: 1450px) {
    .banner-inicio .swiper-button-prev,
    .banner-inicio .swiper-button-next {
        top: auto;
        bottom: 28px;
        margin-top: 0;
    }

    .banner-inicio .swiper-button-prev { left: calc(50% - 52px); right: auto; }
    .banner-inicio .swiper-button-next { left: calc(50% + 4px); right: auto; }
}

@media (max-width: 767px) {
    .banner-inicio .swiper-button-prev,
    .banner-inicio .swiper-button-next {
        width: 36px;
        height: 36px;
        font-size: 13px;
    }

    .banner-inicio .swiper-button-prev { left: calc(50% - 44px); right: auto; }
    .banner-inicio .swiper-button-next { left: calc(50% + 8px); right: auto; }
}

/* el theme daba a .hero-slider un margin-top de 36px en movil para compensar su
   menu fijo, y a .hero-slider .swiper-slide otro de 22px. Aqui la cabecera va en
   flujo: ese margen solo dejaba una franja blanca muerta bajo el logo (14px
   arriba / 50px abajo) y ademas recortaba el banner 22px por abajo. */
@media (max-width: 1199px) {
    .banner-inicio.hero-slider {
        margin-top: 0;
    }

    .banner-inicio.hero-slider .swiper-slide {
        margin-top: 0;
    }
}

/* --- escalas de los botones genericos, medidos contra el diseno a 1920 --- */
@media (max-width: 1700px) {
    .quienes-home .Indastre-btn.abt a { font-size: 17px; }
    .temas-interes-ver a { font-size: 17px; }
    .temas-interes-card .blog-content .blog-button,
    .blog-grid-card .blog-button { font-size: 18px; line-height: 28px; }
    .inq-form-boton .btn { font-size: 22px; }
    .ds-boton { font-size: 17px; padding: 16px 15px; }
    .pqrsf-upload-btn { font-size: 19px; padding: 12px 11px; }
    .pqrsf-form-box .pqrsf-submit .btn { font-size: 22px; padding: 12px 31px; }
}

@media (max-width: 1450px) {
    .quienes-home .Indastre-btn.abt a { font-size: 17px; }
    .temas-interes-ver a { font-size: 17px; }
    .temas-interes-card .blog-content .blog-button,
    .blog-grid-card .blog-button { font-size: 18px; line-height: 28px; }
    .inq-form-boton .btn { font-size: 21px; }
    .ds-boton { font-size: 17px; padding: 15px 14px; }
    .pqrsf-upload-btn { font-size: 18px; padding: 12px 11px; }
    .pqrsf-form-box .pqrsf-submit .btn { font-size: 21px; padding: 12px 29px; }
}

@media (max-width: 1200px) {
    .quienes-home .Indastre-btn.abt a { font-size: 16px; }
    .temas-interes-ver a { font-size: 16px; }
    .temas-interes-card .blog-content .blog-button,
    .blog-grid-card .blog-button { font-size: 17px; line-height: 27px; }
    .inq-form-boton .btn { font-size: 20px; }
    .ds-boton { font-size: 16px; padding: 14px 14px; }
    .pqrsf-upload-btn { font-size: 17px; padding: 11px 11px; }
    .pqrsf-form-box .pqrsf-submit .btn { font-size: 20px; padding: 12px 27px; }
}

@media (max-width: 991px) {
    .quienes-home .Indastre-btn.abt a { font-size: 16px; }
    .temas-interes-ver a { font-size: 16px; }
    .temas-interes-card .blog-content .blog-button,
    .blog-grid-card .blog-button { font-size: 17px; line-height: 27px; }
    .inq-form-boton .btn { font-size: 19px; }
    .ds-boton { font-size: 16px; padding: 14px 14px; }
    .pqrsf-upload-btn { font-size: 16px; padding: 11px 11px; }
    .pqrsf-form-box .pqrsf-submit .btn { font-size: 19px; padding: 12px 25px; }
    .contacto-form .quote_button .btn { font-size: 19px; padding: 13px 15px 12px; }
}

@media (max-width: 767px) {
    .quienes-home .Indastre-btn.abt a { font-size: 15px; }
    .temas-interes-ver a { font-size: 15px; }
    .temas-interes-ver a i { margin-left: 10px; }
    .temas-interes-card .blog-content .blog-button,
    .blog-grid-card .blog-button { font-size: 16px; line-height: 25px; }
    .inq-form-boton .btn { font-size: 17px; }
    .ds-boton { font-size: 15px; padding: 13px 13px; }
    .pqrsf-upload-btn { font-size: 15px; padding: 10px 11px; }
    .pqrsf-form-box .pqrsf-submit .btn { font-size: 18px; padding: 11px 24px; }
    .contacto-form .quote_button .btn { font-size: 18px; padding: 12px 15px 11px; }
}

/* --- detalle-servicio: hueco parrafo->botones y pie de la seccion, a la misma
   proporcion con que el proyecto escala --espaciado (1 / .80 / .70 / .60 / .50 / .40) --- */
@media (max-width: 1700px) {
    .ds-botones { margin-top: 30px; }
    .service-detials-area { padding-bottom: 70px; }
}

@media (max-width: 1450px) {
    .ds-botones { margin-top: 26px; }
    .service-detials-area { padding-bottom: 61px; }
}

@media (max-width: 1200px) {
    .ds-botones { margin-top: 22px; }
    .service-detials-area { padding-bottom: 52px; }
}

@media (max-width: 991px) {
    .ds-botones { margin-top: 19px; }
    .service-detials-area { padding-bottom: 44px; }
}

@media (max-width: 767px) {
    .ds-botones { margin-top: 15px; }
    .service-detials-area { padding-bottom: 35px; }
}


@media (max-width: 1450px) {
    .inq-form-politica label { margin-right: 0; }
}

/* escalera del texto de los campos de contactenos sobre la base nueva de 18px */
@media (max-width: 1700px) {
    .contact-area .form_box input, .contact-area .form_box textarea,
    .contact-area .form_box input::placeholder, .contact-area .form_box textarea::placeholder { font-size: 17px; }
}

@media (max-width: 1450px) {
    .contact-area .form_box input, .contact-area .form_box textarea,
    .contact-area .form_box input::placeholder, .contact-area .form_box textarea::placeholder { font-size: 17px; }
}

@media (max-width: 1200px) {
    .contact-area .form_box input, .contact-area .form_box textarea,
    .contact-area .form_box input::placeholder, .contact-area .form_box textarea::placeholder { font-size: 16px; }
}

@media (max-width: 991px) {
    .contact-area .form_box input, .contact-area .form_box textarea,
    .contact-area .form_box input::placeholder, .contact-area .form_box textarea::placeholder { font-size: 15px; }
}

@media (max-width: 767px) {
    .contact-area .form_box input, .contact-area .form_box textarea,
    .contact-area .form_box input::placeholder, .contact-area .form_box textarea::placeholder { font-size: 14px; }
}
