 /* Css For Inestit */

/************ TABLE OF CONTENTS ***************
1. Fonts
2. Reset
3. Global
4. Main Header/style-one/style-two
5. Main Slider/style-one/style-two
6. Intro Section
7. Welcome Section
9. Cta Section
8. Research Fields
10. Testimonial Section
11. Researches Section
12. Team Section
14. Video
15. Fact Counter
16. News Section
19. Clients Section
20. Main Footer
21. Footer Bottom
22. Research Style Two
23. Innovative Solution
24. Discover Section
25. Testimonial Section
26. Chooseus Section
27. News Style Two
28. Page Title
29. Research Page Section
30. Research Details
31. Professor Page Section
32. Professor Details
33. About Section
34. Error Section
35. Blog Page Section
36. Blog Details
37. Blog Sidebar
38. Contact Section
39. Google Map


**********************************************/



/*** 

====================================================================
  Reset
====================================================================

 ***/
* {
  margin:0px;
  padding:0px;
  border:none;
  outline:none;
}

:root {
  --main-color: #e53622;
}

/*** 

====================================================================
  Global Settings
====================================================================

 ***/


body {
  font-size:18px;
  color:#868686;
  line-height:34px;
  font-weight:400;
  background:#ffffff;
  font-family: 'Rajdhani', sans-serif;
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center top;
  -webkit-font-smoothing: antialiased;
}

  @media (min-width:1200px) {
  .container {
    max-width: 1170px;
    padding: 0px 15px;
  }
}

.large-container{
  max-width: 1500px;
  padding: 0px 15px;
  margin: 0 auto;
}

.container-fluid{
  padding: 0px;
}

.auto-container{
  position:static;
  max-width:1200px;
  padding:0px 15px;
  margin:0 auto;
}

.small-container{
  max-width:680px;
  margin:0 auto;
}

.boxed_wrapper{
  position: relative;
  margin: 0 auto;
  overflow: hidden !important;
  width: 100%;
  min-width: 300px;
}


a{
  text-decoration:none;
  transition:all 500ms ease;
  -moz-transition:all 500ms ease;
  -webkit-transition:all 500ms ease;
  -ms-transition:all 500ms ease;
  -o-transition:all 500ms ease;
}

a:hover{
  text-decoration:none;
  outline:none;
}

input,button,select,textarea{
  font-family: 'Rajdhani', sans-serif;
  font-weight: 400;
  font-size: 16px;
}

ul,li{
  list-style:none;
  padding:0px;
  margin:0px; 
}

input{
  transition: all 500ms ease;
}

button:focus,
input:focus,
textarea:focus{
  outline: none;
  box-shadow: none;
  transition: all 500ms ease;
}

p{
  position: relative;
  font-family: 'Rajdhani', sans-serif;
  color: #868686;
  font-weight: 400;
  margin: 0px;
  transition: all 500ms ease;
}

h1,h2,h3,h4,h5,h6{
  position:relative;
  font-family: 'Rajdhani', sans-serif;
  font-weight: 400;
  color: #1c1c1c;
  margin: 0px;
  transition: all 500ms ease;
}

.preloader{
  position: fixed; 
  left:0px;
  top:0px;
  height:100%;
  width: 100%;
  z-index:999999;
  background-position:center center;
  background-repeat:no-repeat;
  background-image: url(../images/icons/preloader.svg);
}


.centred{
  text-align: center;
}

.pull-left{
  float: left;
}

.pull-right{
  float: right;
}


figure{
  margin: 0px;
}

img {
  display: inline-block;
  max-width: 100%;
  height: auto;
  transition-delay: .1s;
  transition-timing-function: ease-in-out;
  transition-duration: .7s;
  transition-property: all;
}

/** button **/

.theme-btn-one{
  position: relative;
  display: inline-block;
  font-size: 16px;
  line-height: 26px;
  font-family: 'Rajdhani', sans-serif;
  font-weight: 700;
  color: #fff !important;
  text-align: center;
  padding: 22px 50px;
  letter-spacing: 1px;
  text-transform: uppercase;
  z-index: 1;
}

.theme-btn-one:before{
  position: absolute;
  content: '';
  width: 100%;
  height: 0%;
  background: #1b1b1b;
  left: 0px;
  top: 0px;
  z-index: -1;
  transition: all 500ms ease;
}

.theme-btn-one:after{
  position: absolute;
  content: '';
  width: 100%;
  height: 0%;
  background: #1b1b1b;
  left: 0px;
  bottom: 0px;
  z-index: -1;
  transition: all 500ms ease;
}

.theme-btn-one:hover:before,
.theme-btn-one:hover:after{
  height: 50%;
}

.pagination{
  position: relative;
  display: block;
}

.pagination li{
  display: inline-block;
  margin: 0px 3px;
}

.pagination li a{
  position: relative;
  display: inline-block;
  font-size: 18px;
  font-weight: 700;
  height: 75px;
  width: 75px;
  line-height: 75px;
  background: #f6f6f6;
  text-align: center;
  color: #868686;
  z-index: 1;
  transition: all 500ms ease;
}

.pagination li a:hover,
.pagination li a.current{
  color: #fff;
}

.pagination li:first-child a:hover,
.pagination li:last-child a:hover{
  background: #1c1c1c;
}

.sec-pad{
  padding: 110px 0px 120px 0px !important;
}

.mr-0{
  margin: 0px !important;
}

.scroll-top{
  width: 55px;
  height: 55px;
  line-height: 55px;
  position: fixed;
  bottom: 105%;
  right: 30px;
  font-size: 24px;
  z-index: 99;
  color: #ffffff;
  text-align: center;
  cursor: pointer;
  transition: 1s ease;
}

.scroll-top.open {
  bottom: 150px;
}

.scroll-top span{
  color: #fff;
}

.sec-title{
  position: relative;
  display: block;
  margin-bottom: 35px;
}

.sec-title h2{
  position: relative;
  display: block;
  font-size: 50px;
  line-height: 60px;
  padding-left: 37px;
  font-weight: 700;
  margin: 0px;
}

.sec-title h2:before{
  position: absolute;
  content: '';
  width: 28px;
  height: 3px;
  left: 0px;
  top: 28px;
}

.sec-title.light h2{
  color: #fff;
}

.sec-title.centred{
  text-align: center !important;
}

.sec-title.centred h2{
  display: inline-block;
}




/*** 

====================================================================
                        Home-Page-One
====================================================================

***/


/** main-header **/

.main-header{
  position:relative;
  left:0px;
  top:0px;
  z-index:999;
  width:100%;
  transition:all 500ms ease;
  -moz-transition:all 500ms ease;
  -webkit-transition:all 500ms ease;
  -ms-transition:all 500ms ease;
  -o-transition:all 500ms ease;
}

.sticky-header{
  position:fixed;
  opacity:0;
  visibility:hidden;
  left:0px;
  top:0px;
  width:100%;
  z-index:0;
  border-bottom: 1px solid rgba(255,255,255,0.2);
  transition:all 500ms ease;
  -moz-transition:all 500ms ease;
  -webkit-transition:all 500ms ease;
  -ms-transition:all 500ms ease;
  -o-transition:all 500ms ease;
}

.fixed-header .sticky-header{
  z-index:999;
  opacity:1;
  visibility:visible;
  -ms-animation-name: fadeInDown;
  -moz-animation-name: fadeInDown;
  -op-animation-name: fadeInDown;
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
  -ms-animation-duration: 500ms;
  -moz-animation-duration: 500ms;
  -op-animation-duration: 500ms;
  -webkit-animation-duration: 500ms;
  animation-duration: 500ms;
  -ms-animation-timing-function: linear;
  -moz-animation-timing-function: linear;
  -op-animation-timing-function: linear;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -ms-animation-iteration-count: 1;
  -moz-animation-iteration-count: 1;
  -op-animation-iteration-count: 1;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}


/** header-upper **/

.header-upper{
  position: relative;
  background: #fff;
  width: 100%;
}

.main-header .logo-box{
  position: relative;
  float: left;
  padding: 0px 0px;
}

.main-header .logo-box .logo{
  position: relative;
  display: inline-block;
  max-width: 180px;
  width: 100%;
}

.main-header .logo-box .logo img{
  /* width: 100%; */
  max-width: 180px;
}

.header-upper .right-column .info,
.header-upper .right-column .social-links{
  position: relative;
  display: inline-block;
  float: left;
}

.header-upper .right-column .info li{
  position: relative;
  display: inline-block;
  float: left;
  padding-left: 50px;
  padding-right: 40px;
  margin-right: 40px;
}

.header-upper .right-column .info li:last-child{
  margin: 0px !important;
}

.header-upper .right-column .info li i{
  position: absolute;
  left: 0px;
  top: 5px;
  font-size: 30px;
  line-height: 30px;
}

.header-upper .right-column .info li h6{
  position: relative;
  display: block;
  font-size: 16px;
  line-height: 20px;
  font-weight: 600;
  margin-bottom: 2px;
}

.header-upper .right-column .info li h6 a{
  display: inline-block;
  color: #1c1c1c;
}

.header-upper .right-column .info li p{
  font-size: 14px;
  line-height: 20px;
}

.header-upper .right-column{
  position: relative;
  margin-top: 43px;
}

.main-header .social-links li{
  position: relative;
  display: inline-block;
  float: left;
  margin-right: 10px;
}

.main-header .social-links li:last-child{
  margin: 0px !important;
}

.main-header .social-links li a{
  position: relative;
  display: inline-block;
  font-size: 12px;
  width: 41px;
  height: 41px;
  line-height: 41px;
  text-align: center;
  border: 1px solid #dfdfdf;
  color: #868686;
}

.main-header .social-links li a:hover{
  color: #fff;
}

.main-header.style-one .header-lower{
  position: relative;
  width: 100%;
  background: transparent;
}

.main-header.style-one .header-lower .outer-box{
  position: absolute;
  left: 0px;
  top: 0px;
  right: 0px;
  width: 100%;
  background: rgba(27,27,27,0.2);
  padding-left: 40px;
  border-bottom: 1px solid rgba(255,255,255,0.2);
}

.main-header.style-one .support-box{
  position: relative;
  display: inline-block;
  background: #1b1b1b;
  padding: 18px 30px 18px 95px;
}

.main-header .support-box i{
  position: absolute;
  left: 40px;
  top: 19px;
  font-size: 40px;
  line-height: 40px;
}

.main-header.style-one .support-box h6{
  position: relative;
  display: block;
  font-size: 30px;
  line-height: 20px;
  font-weight: 700;
  color: #e53622;
}

.main-header.style-one .support-box h6 a{
  display: inline-block;
  color: #fff;
}


.main-header .support-box p{
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  color: #fff;
}


/** main-menu **/

.main-menu{
  float: left;
}

.main-menu .navbar-collapse{
  padding:0px;
  display:block !important;
}

.main-menu .navigation{
  margin:0px;
}

.main-menu .navigation > li{
  position:inherit;
  float:left;
  z-index:2;
  padding:24px 0px 22px 0px;
  margin: 0px 12px;
  -webkit-transition:all 300ms ease;
  -moz-transition:all 300ms ease;
  -ms-transition:all 300ms ease;
  -o-transition:all 300ms ease;
  transition:all 300ms ease;
}

.main-menu .navigation > li:last-child{
  margin-right:0px !important;
}

.main-menu .navigation > li:first-child{
  margin-left: 0px !important;
}

.main-menu .navigation > li > a{
  position:relative;
  display:block;
  text-align:center;
  font-size:16px;
  line-height:30px;
  font-weight:700;
  opacity:1;
  color:#fff;
  padding-left: 28px;
  z-index:1;
  -webkit-transition:all 500ms ease;
  -moz-transition:all 500ms ease;
  -ms-transition:all 500ms ease;
  -o-transition:all 500ms ease;
  transition:all 500ms ease;
}

.main-menu .navigation > li.current-menu-item > a,
.main-menu .navigation > li.current-menu-parent > a,
.main-menu .navigation > li:hover > a{
  
}

.main-menu .navigation > li > a:before{
  position: absolute;
  content: '';
  width: 0px;
  height: 3px;
  left: 0px;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0;
  transition: all 500ms ease;
}

.main-menu .navigation > li.current-menu-item > a:before,
.main-menu .navigation > li.current-menu-parent > a:before,
.main-menu .navigation > li:hover > a:before{
  width: 18px;
  opacity: 1;
}

.sticky-header .main-menu .navigation > li > a:before{
  background: #fff;
}

.sticky-header .outer-box{
  position: relative;
}

.main-menu .navigation > li > ul,
.main-menu .navigation > li > .megamenu{
  position:absolute;
  left: inherit;
  top:100%;
  width:250px;
  z-index:100;
  display:none;
  opacity: 0;
  visibility: hidden;
  padding: 10px 0px;
  filter: alpha(opacity=0);
  background: #1c1c1c;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -ms-transition: all 0.2s ease-out;
  -webkit-box-shadow: 0px 4px 4px 1px rgba(0,0,0,0.2);
  box-shadow: 0px 4px 4px 1px rgba(0,0,0,0.2);
  -webkit-transform: rotateX(-90deg);
  transform: rotateX(-90deg);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
}

.main-menu .navigation > li > ul.from-right{
  left:auto;
  right:0px;  
}

.main-menu .navigation > li > ul > li{
  position:relative;
  width:100%;
  padding: 0px 30px;
  -webkit-transition: all 0.2s cubic-bezier(0.4,0.28,0.31,1.28) 0s;
  transition: all 0.2s cubic-bezier(0.4,0.28,0.31,1.28) 0s;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(5px);
  transform: translateY(5px);
}

.main-menu .navigation > li:hover > ul > li{
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.main-menu .navigation > li > ul > li:nth-child(2n+1) {
  -webkit-transition-delay: 0.1s;
  transition-delay: 0.1s;
}

.main-menu .navigation > li > ul > li:nth-child(2n+2) {
  -webkit-transition-delay: 0.15s;
  transition-delay: 0.15s;
}

.main-menu .navigation > li > ul > li:nth-child(2n+3) {
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}

.main-menu .navigation > li > ul > li:nth-child(2n+4) {
  -webkit-transition-delay: 0.25s;
  transition-delay: 0.25s;
}

.main-menu .navigation > li > ul > li:nth-child(2n+5) {
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.main-menu .navigation > li > ul > li:nth-child(2n+6) {
  -webkit-transition-delay: 0.35s;
  transition-delay: 0.35s;
}

.main-menu .navigation > li > ul > li:nth-child(2n+7) {
  -webkit-transition-delay: 0.4s;
  transition-delay: 0.4s;
}

.main-menu .navigation > li > ul > li:nth-child(2n+8) {
  -webkit-transition-delay: 0.45s;
  transition-delay: 0.45s;
}

.main-menu .navigation > li > ul > li:last-child{
  border-bottom:none; 
}

.main-menu .navigation > li > ul > li > a,
.main-menu .navigation > li > .megamenu li > a{
  position:relative;
  display:block;
  padding:14px 0px;
  line-height:24px;
  font-weight:600;
  font-size:15px;
  text-transform:capitalize;
  color:#fff;
  border-bottom: 1px solid rgba(255,255,255,0.1);
  text-align: left;
  transition:all 500ms ease;
  -moz-transition:all 500ms ease;
  -webkit-transition:all 500ms ease;
  -ms-transition:all 500ms ease;
  -o-transition:all 500ms ease;
}

.main-menu .navigation > li > ul > li:last-child > a,
.main-menu .navigation > li > .megamenu li:last-child > a{
  border-bottom: none;
}

.main-menu .navigation > li > ul > li.dropdown > a:after{
  font-family: 'Font Awesome 5 Pro';
  content: "\f105";
  position:absolute;
  right:20px;
  top:14px;
  display:block;
  line-height:24px;
  font-size:16px;
  font-weight:800;
  text-align:center;
  z-index:5;  
}

.main-menu .navigation > li > ul > li > ul{
  position:absolute;
  right:100%;
  top:0%;
  width:230px;
  z-index:100;
  display:none;
  padding: 10px 0px;
  filter: alpha(opacity=0);
  background: #1c1c1c;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -ms-transition: all 0.2s ease-out;
  -webkit-box-shadow: 0px 4px 4px 1px rgba(0,0,0,0.2);
  box-shadow: 0px 4px 4px 1px rgba(0,0,0,0.2);
  -webkit-transform: rotateX(-90deg);
  transform: rotateX(-90deg);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
}

.main-menu .navigation > li > ul > li > ul.from-right{
  left:auto;
  right:0px;  
}

.main-menu .navigation > li > ul > li > ul > li{
  position:relative;
  width:100%;
  padding: 0px 30px;
}

.main-menu .navigation > li > ul > li > ul > li{
  position:relative;
  width:100%;
  padding: 0px 30px;
  -webkit-transition: all 0.2s cubic-bezier(0.4,0.28,0.31,1.28) 0s;
  transition: all 0.2s cubic-bezier(0.4,0.28,0.31,1.28) 0s;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(5px);
  transform: translateY(5px);
}

.main-menu .navigation > li > ul > li:hover > ul > li{
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.main-menu .navigation > li > ul > li > ul > li:nth-child(2n+1) {
  -webkit-transition-delay: 0.1s;
  transition-delay: 0.1s;
}

.main-menu .navigation > li > ul > li > ul > li:nth-child(2n+2) {
  -webkit-transition-delay: 0.15s;
  transition-delay: 0.15s;
}

.main-menu .navigation > li > ul > li > ul > li:nth-child(2n+3) {
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}

.main-menu .navigation > li > ul > li > ul > li:nth-child(2n+4) {
  -webkit-transition-delay: 0.25s;
  transition-delay: 0.25s;
}

.main-menu .navigation > li > ul > li > ul > li:last-child{
  border-bottom:none; 
}

.main-menu .navigation > li > ul > li > ul > li:last-child{
  border-bottom:none; 
}

.main-menu .navigation > li > ul > li > ul > li > a{
  position:relative;
  display:block;
  padding:14px 0px;
  line-height:24px;
  font-weight:600;
  font-size:16px;
  text-transform:capitalize;
  color:#fff;
  border-bottom: 1px solid rgba(255,255,255,0.1);
  text-align: left;
  transition:all 500ms ease;
  -moz-transition:all 500ms ease;
  -webkit-transition:all 500ms ease;
  -ms-transition:all 500ms ease;
  -o-transition:all 500ms ease;
}

.main-menu .navigation > li > ul > li > ul > li:last-child > a{
  border-bottom: none;
}

.main-menu .navigation > li > ul > li > ul > li.dropdown > a:after{
  font-family: 'Font Awesome 5 Pro';
  content: "\f105";
  position:absolute;
  right:20px;
  top:12px;
  display:block;
  line-height:24px;
  font-size:16px;
  font-weight:900;
  z-index:5;  
}

.main-menu .navigation > li.dropdown:hover > ul,
.main-menu .navigation > li.dropdown:hover > .megamenu{
  visibility:visible;
  opacity:1;
  filter: alpha(opacity=100);
  top: 100%;
  -webkit-transform: rotateX(0);
  transform: rotateX(0);
}

.main-menu .navigation li > ul > li.dropdown:hover > ul{
  visibility:visible;
  opacity:1;
  filter: alpha(opacity=100);
  top: 0%;
  -webkit-transform: rotateX(0);
  transform: rotateX(0); 
}

.main-menu .navigation li.dropdown .dropdown-btn{
  position:absolute;
  right:-32px;
  top:66px;
  width:34px;
  height:30px;
  text-align:center;
  font-size:18px;
  line-height:26px;
  color:#3b3b3b;
  cursor:pointer;
  display: none;
  z-index:5;
  transition: all 500ms ease;
}

.main-menu .navigation li.dropdown ul li.dropdown .dropdown-btn{
  display: none;
}

.menu-area .mobile-nav-toggler {
  position: relative;
  float: right;
  font-size: 40px;
  line-height: 50px;
  cursor: pointer;
  color: #3786ff;
  display: none;
}

.menu-area .mobile-nav-toggler .icon-bar{
  position: relative;
  height: 2px;
  width: 30px;
  display: block;
  margin-bottom: 5px;
  background-color: #fff;
  -webkit-transition: all 300ms ease;
  -moz-transition: all 300ms ease;
  -ms-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}

.main-header.style-two .menu-area .mobile-nav-toggler .icon-bar{
  background: #1c1c1c;
}

.menu-area .mobile-nav-toggler .icon-bar:last-child{
  margin-bottom: 0px;
}

.main-header .sticky-header .logo-box{
  padding: 25px 85px 22px 0px;
}

.main-header .sticky-header .main-menu .navigation > li{
  padding: 23px 0px !important;
}


/** megamenu-style **/

.main-menu .navigation > li.dropdown > .megamenu{
  position: absolute;
  width: 100%;
  padding: 30px 50px;
  left: 0px;
}

.main-menu .navigation li.dropdown .megamenu li h4{
  font-weight: 500;
  padding: 3px 0px;
  color: #fff;
}


/** mobile-menu **/

.nav-outer .mobile-nav-toggler{
  position: relative;
  float: right;
  font-size: 40px;
  line-height: 50px;
  cursor: pointer;
  color:#3786ff;
  display: none;
}

.mobile-menu{
  position: fixed;
  right: 0;
  top: 0;
  width: 300px;
  padding-right:30px;
  max-width:100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  z-index: 999999;
}

.mobile-menu .navbar-collapse{
  display:block !important; 
}

.mobile-menu .nav-logo{
  position:relative;
  padding:50px 25px;
  text-align:left;  
  padding-bottom: 100px;
}

.mobile-menu-visible{
  overflow: hidden;
}

.mobile-menu-visible .mobile-menu{
  opacity: 1;
  visibility: visible;
}

.mobile-menu .menu-backdrop{
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  -webkit-transform: translateX(101%);
  -ms-transform: translateX(101%);
  transform: translateX(101%);
  transition: all 900ms ease;
  -moz-transition: all 900ms ease;
  -webkit-transition: all 900ms ease;
  -ms-transition: all 900ms ease;
  -o-transition: all 900ms ease;
}

.mobile-menu-visible .mobile-menu .menu-backdrop{
  opacity: 0.70;
  visibility: visible;
  -webkit-transition:all 0.7s ease;
  -moz-transition:all 0.7s ease;
  -ms-transition:all 0.7s ease;
  -o-transition:all 0.7s ease;
  transition:all 0.7s ease;
  -webkit-transform: translateX(0%);
  -ms-transform: translateX(0%);
  transform: translateX(0%);
}

.mobile-menu .menu-box{
  position: absolute;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  max-height: 100%;
  overflow-y: auto;
  background: #202020;
  padding: 0px 0px;
  z-index: 5;
  opacity: 0;
  visibility: hidden;
  border-radius: 0px;
  -webkit-transform: translateX(101%);
  -ms-transform: translateX(101%);
  transform: translateX(101%);
}

.mobile-menu-visible .mobile-menu .menu-box{
  opacity: 1;
  visibility: visible;
  -webkit-transition:all 0.7s ease;
  -moz-transition:all 0.7s ease;
  -ms-transition:all 0.7s ease;
  -o-transition:all 0.7s ease;
  transition:all 0.7s ease;
  -webkit-transform: translateX(0%);
  -ms-transform: translateX(0%);
  transform: translateX(0%);
}

.mobile-menu .close-btn{
  position: absolute;
  right: 25px;
  top: 10px;
  line-height: 30px;
  width: 24px;
  text-align: center;
  font-size: 16px;
  color: #ffffff;
  cursor: pointer;
  z-index: 10;
  -webkit-transition:all 0.9s ease;
  -moz-transition:all 0.9s ease;
  -ms-transition:all 0.9s ease;
  -o-transition:all 0.9s ease;
  transition:all 0.9s ease;
}

.mobile-menu-visible .mobile-menu .close-btn{
  -webkit-transform:rotate(360deg);
  -ms-transform:rotate(360deg);
  transform:rotate(360deg);
}

.mobile-menu .close-btn:hover{
  -webkit-transform:rotate(90deg);
  -ms-transform:rotate(90deg);
  transform:rotate(90deg);
}

.mobile-menu .navigation{
  position: relative;
  display: block;
  width: 100%;
  float: none;
}

.mobile-menu .navigation li{
  position: relative;
  display: block;
  border-top: 1px solid rgba(255,255,255,0.10);
}

.mobile-menu .navigation:last-child{
  border-bottom: 1px solid rgba(255,255,255,0.10);
}

.mobile-menu .navigation li > ul > li:first-child{
  border-top: 1px solid rgba(255,255,255,0.10);
}

.mobile-menu .navigation li > a{
  position: relative;
  display: block;
  line-height: 24px;
  padding: 10px 25px;
  font-size: 15px;
  font-weight: 500;
  color: #ffffff;
  text-transform: uppercase;
  -webkit-transition: all 500ms ease;
  -moz-transition: all 500ms ease;
  -ms-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease; 
}

.mobile-menu .navigation li ul li > a{
  font-size: 16px;
  margin-left: 20px;
  text-transform: capitalize;
}

.mobile-menu .navigation li > a:before{
  content:'';
  position:absolute;
  left:0;
  top:0;
  height:0;
  border-left:5px solid #fff;
  -webkit-transition: all 500ms ease;
  -moz-transition: all 500ms ease;
  -ms-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease; 
}

.mobile-menu .navigation li.current-menu-parent > a:before{
  height:100%;
}

.mobile-menu .navigation li.dropdown .dropdown-btn{
  position:absolute;
  right:6px;
  top:6px;
  width:32px;
  height:32px;
  text-align:center;
  font-size:16px;
  line-height:32px;
  color:#ffffff;
  background:rgba(255,255,255,0.10);
  cursor:pointer;
  border-radius:2px;
  -webkit-transition: all 500ms ease;
  -moz-transition: all 500ms ease;
  -ms-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease; 
  z-index:5;
}

.mobile-menu .navigation li.dropdown .dropdown-btn.open{
  background:#fff; 
  color: #3b3b3b;
  -webkit-transform:rotate(90deg);
  -ms-transform:rotate(90deg);
  transform:rotate(90deg);  
}

.mobile-menu .navigation li > ul,
.mobile-menu .navigation li > ul > li > ul,
.mobile-menu .navigation > li.dropdown > .megamenu{
  display: none;
}

.mobile-menu .social-links{
  position:relative;
  padding:0px 25px;
}

.mobile-menu .social-links li{
  position:relative;
  display:inline-block;
  margin:0px 10px 10px;
}

.mobile-menu .social-links li a{
  position:relative;
  line-height:32px;
  font-size:16px;
  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; 
}

div#mCSB_1_container{
  top: 0px !important;
}

.mobile-menu .contact-info {
  position: relative;
  padding: 120px 30px 20px 30px;
}

.mobile-menu .contact-info h4 {
  position: relative;
  font-size: 20px;
  color: #ffffff;
  font-weight: 700;
  margin-bottom: 20px;
}

.mobile-menu .contact-info ul li {
  position: relative;
  display: block;
  font-size: 15px;
  color: rgba(255,255,255,0.80);
  margin-bottom: 3px;
}

.mobile-menu .contact-info ul li a{
  color: rgba(255,255,255,0.80);
}

.mobile-menu .contact-info ul li:last-child{
  margin-bottom: 0px;
}


.owl-dots-none .owl-dots,
.owl-nav-none .owl-nav{
  display: none !important;
}

.bg-color-1{
  background: #f6f6f6;
}

@-webkit-keyframes shine {
  100% {
    left: 125%;
  }
}

@keyframes shine {
  100% {
    left: 125%;
  }
}

.chat-box .inner{
  position: relative;
  display: inline-block;
  padding-left: 150px;
  text-align: left;
  padding-bottom: 7px;
}

.chat-box .inner .image-box{
  position: absolute;
  left: 0px;
  top: -4px;
  width: 67px;
  height: 73px;
}

.chat-box .inner .image-box i{
  position: absolute;
  right: -50px;
  top: 5px;
  height: 62px;
  width: 63px;
  font-size: 30px;
  color: #fff;
  line-height: 62px;
  text-align: center;
  z-index: 1;
}

.chat-box .inner p{
  font-size: 16px;
  line-height: 30px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 4px;
}

.chat-box .inner h3{
  display: block;
  font-size: 24px;
  font-weight: 600;
}

.chat-box .inner h3 a:hover{
  text-decoration: underline;
}

.bg-color-2{
  background: #1c1c1c;
}

.tabs-box .tab{
  position:relative;
  display:none;
  transition: all 900ms ease;
  -moz-transition: all 900ms ease;
  -webkit-transition: all 900ms ease;
  -ms-transition: all 900ms ease;
  -o-transition: all 900ms ease;
}

.tabs-box .tab.active-tab{
  display:block;  
}

.tabs-box .tab{
  transform:scale(0.9,0.9) translateY(0px);
}

.tabs-box .tab.active-tab{
  transform:scale(1) translateY(0px);
}

.rotate-me {
  animation-name: rotateme;
  animation-duration: 30s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  -webkit-animation-name: rotateme;
  -webkit-animation-duration: 30s;
  -webkit-animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  -moz-animation-name: rotateme;
  -moz-animation-duration: 30s;
  -moz-animation-iteration-count: infinite;
  -moz-animation-timing-function: linear;
  -ms-animation-name: rotateme;
  -ms-animation-duration: 30s;
  -ms-animation-iteration-count: infinite;
  -ms-animation-timing-function: linear;
  -o-animation-name: rotateme;
  -o-animation-duration: 30s;
  -o-animation-iteration-count: infinite;
  -o-animation-timing-function: linear;
}

.border-bottom{
  border-bottom: 1px solid #dfdfdf !important;
}

.border-top{
  border-bottom: 1px solid #dfdfdf !important;
}


/** main-footer **/

.main-footer{
  position: relative;
  background: #1c1c1c;
}

.footer-top{
  position: relative;
  padding: 113px 0px 100px 0px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}

.footer-top .logo-widget .footer-logo{
  position: relative;
  margin-bottom: 28px !important; 
}

.footer-top .logo-widget .text{
  position: relative;
  display: block;
  padding-bottom: 31px;
  margin-bottom: 34px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}

.footer-top .logo-widget .text p{
  font-size: 16px;
  line-height: 32px;
  color: #ddd;
  font-weight: 600;
}

.footer-top .logo-widget .info li{
  position: relative;
  display: block;
  font-size: 18px;
  line-height: 26px;
  font-weight: 600;
  color: #fff;
  padding-left: 30px;
  margin-bottom: 8px;
}

.footer-top .logo-widget .info li:last-child{
  margin-bottom: 0px;
}

.footer-top .logo-widget .info li i{
  position: absolute;
  left: 0px;
  top: 6px;
  font-size: 15px;
}

.footer-top .logo-widget .info li a{
  color: #fff;
  display: inline-block;
}

.footer-top .logo-widget{
  position: relative;
  margin-top: -13px;
}

.footer-top  .footer-column .widget-title{
  position: relative;
  display: block;
  margin-bottom: 23px;
}

.footer-top  .footer-column .widget-title h3{
  font-size: 22px;
  line-height: 30px;
  color: #fff;
  font-weight: 700;
}

.footer-top .links-widget .links-list li{
  position: relative;
  display: block;
  margin-bottom: 6px;
}

.footer-top .links-widget .links-list li:last-child{
  margin-bottom: 0px;
}

.footer-top .links-widget .links-list li a{
  position: relative;
  display: inline-block;
  font-size: 16px;
  line-height: 26px;
  color: #ddd;
  font-weight: 600;
  padding-left: 20px;
}

.footer-top .links-widget .links-list li a:hover{
  color: #e53622;
}

.footer-top .links-widget .links-list li a:before{
  position: absolute;
  content: "\f061";
  font-family: 'Font Awesome 5 Pro';
  font-size: 12px;
  color: #ddd;
  font-weight: 700;
  left: 0px;
  top: 0px;
  transition: all 500ms ease;
}

.ml-40{
  margin-left: 40px;
}

.ml-70{
  margin-left: 70px;
}

.footer-top .newsletter-widget{
  position: relative;
  display: block;
  padding: 60px 5px 60px 5px;
  margin-top: -113px;
  overflow: hidden;
  
}



.footer-top .newsletter-widget .icon-box{
  position: absolute;
  top: -45px;
  right: 0px;
  font-size: 200px;
  line-height: 150px;
  color: rgba(28,28,28,0.1);
  transform: rotate(25deg);
}

.footer-top .newsletter-widget .text{
  position: relative;
  margin-bottom: 30px;
}

.footer-top .newsletter-widget .text p{
  font-size: 16px;
  line-height: 32px;
  color: #fff;
  font-weight: 600;
}

.footer-top .newsletter-widget .newsletter-form .form-group{
  position: relative;
  margin: 0px
}

.footer-top .newsletter-widget .newsletter-form .form-group input[type='email']{
  position: relative;
  display: block;
  width: 100%;
  height: 70px;
  background: #fff;
  border: 1px solid #fff;
  font-size: 16px;
  color: #868686;
  font-weight: 600;
  text-align: center;
  padding: 10px 20px;
  margin-bottom: 10px;
  transition: all 500ms ease;
}

.footer-top .newsletter-widget .newsletter-form .form-group input:focus{
  border-color: #1c1c1c;
}

.footer-top .newsletter-widget .newsletter-form .form-group button{
  position: relative;
  display: block;
  width: 100%;
  font-size: 16px;
  line-height: 26px;
  font-family: 'Rajdhani', sans-serif;
  font-weight: 700;
  color: #fff;
  background: #1c1c1c;
  text-align: center;
  padding: 22px 50px;
  letter-spacing: 1px;
  text-transform: uppercase;
  z-index: 1;
  transition: all 500ms ease;
}

.footer-top .newsletter-widget .newsletter-form .form-group button:hover{
  background: #fff;
  color: #1c1c1c;
}

.footer-top .pattern-layer{
  background-image: url("../images/shape-6.png");
  position: absolute;
  left: 0px;
  top: 0px;
  height: 100%;
  width: 512px;
  background-repeat: no-repeat;
}

.footer-bottom{
  position: relative;
  width: 100%;
  background: #1c1c1c;
  padding: 38px 0px;
}

.footer-bottom .copyright p{
  font-size: 18px;
  line-height: 40px;
  color: #fff;
  font-weight: 600;
}

.footer-bottom .copyright p a{
  color: #fff;
  font-weight: 600;
}

.footer-bottom .footer-social li{
  position: relative;
  display: inline-block;
  float: left;
  margin-right: 10px;
}

.footer-bottom .footer-social li:last-child{
  margin: 0px !important;
}

.footer-bottom .footer-social li a{
  position: relative;
  display: inline-block;
  font-size: 12px;
  color: #fff;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  border: 1px solid rgba(255,255,255,0.1);
}

.footer-bottom .footer-social li a:hover{
  color: #fff;
}


/*** 

====================================================================
                        Home-Page-Two
====================================================================

***/


/** header-style-two **/

.main-header.style-two .header-lower .main-menu .navigation > li > a{
  color: #868686;
}

.main-header.style-two .header-lower .logo-box{
  padding: 0px;
  margin-right: 80px;
}

.main-header.style-two .header-lower .logo-box .logo{
  position: relative;
  background: #1c1c1c;
  padding: 31.5px 100px;
  max-width: 100%;
}

.main-header.style-two .main-menu .navigation > li{
  padding: 48px 0px;
}

.main-header.style-two .header-lower .main-menu .navigation > li.current-menu-item > a, 
.main-header.style-two .header-lower .main-menu .navigation > li:hover > a {
  color: #1c1c1c;
}

.main-header.style-two .header-lower{
  padding-right: 100px;
}

.main-header.style-two .menu-right-content .support-box{
  position: relative;
  padding: 18px 30px 18px 55px;
  margin-right: 80px;
}

.main-header.style-two .menu-right-content:before{
  position: absolute;
  content: '';
  background: #dfdfdf;
  width: 1px;
  height: 100%;
  left: 0px;
  top: 0px;
}

.main-header.style-two .support-box i{
  left: 0px;
}

.main-header.style-two .menu-right-content .support-box h6{
  position: relative;
  display: block;
  font-size: 16px;
  line-height: 20px;
  font-weight: 700;
}

.main-header.style-two .menu-right-content .support-box h6 a{
  color: #1c1c1c;
}


.main-header.style-two .menu-right-content .support-box p {
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
}

.main-header.style-two .menu-right-content{
  position: relative;
  padding: 25px 0px;
  padding-left: 80px;
}

.main-header.style-two .menu-right-content .social-links{
  margin-top: 17px;
}

.main-header.style-two .sticky-header .social-links li a{
  border: 1px solid #fff;
  color: #fff;
}

.main-header.style-two .sticky-header .social-links li a:hover{
  background: #1c1c1c;
  border-color: #1c1c1c;
}

.main-header.style-two .sticky-header .social-links{
  padding: 17.5px 0px;
}


@-webkit-keyframes circle {
  0% {
    opacity: 1;
  }
  40% {
    opacity: 1;
  }
  100% {
    width: 200%;
    height: 200%;
    opacity: 0;
  }
}
@keyframes circle {
  0% {
    opacity: 1;
  }
  40% {
    opacity: 1;
  }
  100% {
    width: 200%;
    height: 200%;
    opacity: 0;
  }
}


/** google-map **/

.google-map-section{
  position: relative;
  width: 100%;
}

.google-map-section #gmap_canvas{
  position: relative;
  width: 100%;
  height: 550px;
}
.gmap_canvas {
  line-height: 0;
}

/*** 

====================================================================
                        About-Page
====================================================================

***/

/** page-title **/

.page-title{
  position: relative;
  width: 100%;
  padding: 194px 0px 140px 0px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}

.page-title:before{
  position: absolute;
  content: '';
  background: #000000;
  width: 100%;
  height: 100%;
  left: 0px;
  top: 0px;
  right: 0px;
  opacity: 0.85;
}

.page-title .title{
  position: relative;
  margin-bottom: 4px;
}

.page-title .title h1{
  font-size: 70px;
  line-height: 70px;
  color: #fff;
  font-weight: 700;
}

.page-title .bread-crumb{
  position: relative;
  display: inline-block;
  padding-left: 28px;
}

.page-title .bread-crumb:before{
  position: absolute;
  content: '';
  width: 18px;
  height: 3px;
  left: 0px;
  top: 50%;
  transform: translateY(-50%);
}

.page-title .bread-crumb li{
  position: relative;
  display: inline-block;
  font-size: 16px;
  line-height: 26px;
  color: #999999;
  font-weight: 700;
  padding-right: 16px;
  margin-right: 8px;
  text-transform: uppercase;
}

.page-title .bread-crumb li:last-child{
  padding: 0px !important;
  margin: 0px !important;
}

.page-title .bread-crumb li a{
  color: #999999;
}

.page-title .bread-crumb li:before{
  position: absolute;
  content: '';
  background: #999;
  width: 3px;
  height: 1px;
  top: 11px;
  right: 0px;
}

.page-title .bread-crumb li:last-child:before{
  display: none;
}



/*** 

====================================================================
                        Blog-Page
====================================================================

***/

.default-form .form-group{
  position: relative;
  padding: 0px 5px;
  margin-bottom: 10px;
}

.default-form .form-group input[type='text'],
.default-form .form-group input[type='email'],
.default-form .form-group textarea{
  position: relative;
  display: block;
  width: 100%;
  height: 70px;
  background: #fff;
  padding: 10px 30px;
  font-size: 16px;
  color: #868686;
  font-weight: 600;
  border: 1px solid #fff;
  transition: all 500ms ease;
}

.default-form .form-group:last-child{
  margin-bottom: 0px;
}

.default-form .form-group textarea{
  height: 185px;
  resize: none;
}

/*** 

====================================================================
                        Contact-Page
====================================================================

***/

.contact-section{
  position: relative;
  padding: 120px 0px;
}

.contact-section .image-box{
  position: relative;
  display: block;
  margin-bottom: 115px !important;
}

.contact-section .image-box img{
  width: 100%;
}

.contact-section .info-inner{
  position: relative;
  margin-right: 70px;
}

.contact-section .info-inner .text{
  position: relative;
  margin-bottom: 21px;
}

.contact-section .info-inner .text p{
  font-size: 16px;
  line-height: 32px;
  font-weight: 600;
}

.contact-section .info-inner .info{
  position: relative;
  display: block;
  margin-bottom: 20px;
}

.contact-section .info-inner .info li{
  position: relative;
  display: block;
  font-size: 16px;
  line-height: 26px;
  font-weight: 700;
  color: #1c1c1c;
  padding-left: 28px;
  padding-bottom: 15px;
  border-bottom: 1px solid #dfdfdf;
  margin-bottom: 18px;
}

.contact-section .info-inner .info li:last-child{
  border-bottom: none;
  margin-bottom: 0px;
}

.contact-section .info-inner .info li a{
  display: inline-block;
  color: #1c1c1c;
}

.contact-section .info-inner .info li i{
  position: absolute;
  left: 0px;
  top: 4px;
}

.contact-section .info-inner .social-links li{
  position: relative;
  display: inline-block;
  float: left;
  margin-right: 10px;
}

.contact-section .info-inner .social-links li:last-child{
  margin: 0px !important;
}

.contact-section .info-inner .social-links li a{
  position: relative;
  display: inline-block;
  font-size: 12px;
  color: #868686;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  border: 1px solid #dfdfdf;
}

.contact-section .info-inner .social-links li a:hover{
  color: #fff;
}

.contact-section .form-inner{
  position: relative;
  display: block;
  background: #f6f6f6;
  padding: 60px 60px;
  margin-left: 10px;
}

.mb-40{
  margin-bottom: 40px;
}

.main-footer .footer-top .elementor-section.elementor-section-boxed > .elementor-container{
	margin-left: -15px;
  margin-right: -15px;
  max-width: 1200px;
}
.footer-logo img {
  max-width: 105px!important;
}
.mobile-menu .nav-logo img {
  max-width: 104px;
}

/* ==========================================================================
   CONFIGURACIÓN MENÚ, STICKY Y SUBMENÚ (BLANCO -> ROJO EN HOVER)
   ========================================================================== */

/* 1. ESTADO INICIAL: Texto y Rayita en BLANCO (Header, Sticky y Submenú) */
.main-header .main-menu .navigation > li > a,
.sticky-header .main-menu .navigation > li > a,
.main-header .main-menu .navigation > li > ul > li > a,
.main-header .main-menu .navigation > li > a:before,
.sticky-header .main-menu .navigation > li > a:before {
    color: #ffffff !important;
}

/* Color de fondo de la rayita en blanco */
.main-header .main-menu .navigation > li > a:before,
.sticky-header .main-menu .navigation > li > a:before {
    background-color: #ffffff !important;
}

/* 2. ESTADO HOVER Y CURRENT: Texto y Rayita cambian a Rojo #e53622 */
/* Aplica a items principales y a los enlaces dentro del submenú */
.main-header .main-menu .navigation > li:hover > a,
.main-header .main-menu .navigation > li.current > a,
.sticky-header .main-menu .navigation > li:hover > a,
.sticky-header .main-menu .navigation > li.current > a,
.main-header .main-menu .navigation > li > ul > li:hover > a,
.main-header .main-menu .navigation > li > ul > li.current > a {
    color: #e53622 !important;
}

/* La rayita cambia a rojo en hover y current */
.main-header .main-menu .navigation > li:hover > a:before,
.main-header .main-menu .navigation > li.current > a:before,
.sticky-header .main-menu .navigation > li:hover > a:before,
.sticky-header .main-menu .navigation > li.current > a:before {
    background-color: #e53622 !important;
}

/* 3. AJUSTE DEL SUBMENÚ (Dropdown) */
/* Si el fondo del submenú es oscuro, el texto blanco se verá bien. 
   Si el fondo es blanco, puedes ajustar el color de fondo del cuadro aquí: */
.main-header .main-menu .navigation > li > ul {
    background-color: #023980; /* Fondo azul para que resalte el texto blanco */
    border-top: 3px solid #e53622; /* Línea superior roja para mantener el estilo */
}

/* 4. OTROS CONTENIDOS EN AZUL (Mantenemos tu preferencia) */
:root {
  --main-color: #023980 !important;
}

.sec-title h2:before,
.main-header.style-one .support-box h6,
.theme-btn.btn-style-one,
.service-block-one .inner-box .icon-box i {
  color: #ffffff;
}

/* Color rojo en hover para el teléfono del encabezado */
.main-header.style-one .support-box h6 a:hover {
    color: #e53622 !important; /* El color rojo definido en tu raíz (:root) */
}


/* ==========================================================================
   CAMBIO DE COLOR DEL ICONO DE TELÉFONO A BLANCO
   ========================================================================== */

/* Cambia el color del icono flaticon-phone de forma global */
.flaticon-phone:before,
.flaticon-phone-call:before {
    color: #ffffff !important;
}

/* Específicamente para el icono en la caja de soporte del header */
.main-header.style-one .support-box .icon-box i {
    color: #ffffff !important;
}

/* En caso de que el icono esté dentro de un círculo o caja con fondo */
.main-header.style-one .support-box .icon-box {
    color: #ffffff !important;
    border-color: #ffffff !important; /* Si tiene un borde, también lo pone blanco */
}




/* --------------Estilos para el bloque de contenido----------------- */
    .content_block_2 {
        /* Valor por defecto para Escritorio */
        width: 700px;
        margin: 0 auto; /* Opcional: para centrar el bloque */
        
        transition: width 0.3s ease; /* Suaviza el cambio de tamaño */
    }

    /* Tablet: pantallas menores a 1024px */
    @media (max-width: 1024px) {
        .content_block_2 {
            width: 700px; 
        }
    }

    /* Mobile: pantallas menores a 600px */
    @media (max-width: 600px) {
        .content_block_2 {
	width: 350px; /* Menor a 400px como pediste */
	max-width: 90%; /* Asegura que no desborde en móviles muy angostos */
	
	justify-content: center; /* Centrado horizontal */
	
        }
    }
	
	
/* Estilo general (Escritorio/Tablet) */
.tab-btns.tab-buttons {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
}

/* --- SOLUCIÓN ESPECÍFICA PARA MÓVILES --- */
@media (max-width: 600px) {
    .tab-btns.tab-buttons {
        display: flex !important;
        flex-direction: column !important; /* Los pone uno debajo del otro */
        align-items: center !important;    /* Centrado horizontal perfecto */
        width: 100% !important;
        padding: 0 !important;
        margin: 0 auto !important;
        float: none !important;            /* Anula cualquier float residual */
    }

    .tab-btns.tab-buttons li {
        width: 350px !important;           /* Menor a 400px como pediste */
        max-width: 90% !important;         /* Para móviles muy estrechos */
        float: none !important;            /* Evita que se pegue a la derecha */
        margin: 2px 0 !important;          /* Espacio vertical entre botones */
        text-align: center !important;     /* Centra el texto interno */
        display: block !important;
    }

    /* Quita el comportamiento del clearfix que arruina el móvil */
    .tab-btns.tab-buttons::after, 
    .tab-btns.tab-buttons::before {
        display: none !important;
    }
}

.content_block_2 .content-box .tab-btns li:last-child {
    margin: 3px !important;
}

/* Cambia la línea de los elementos LI solo para la lista con clase 'lista-blanca' */
ul.list-item.lista-blanca li::before {
    background-color: #ffffff !important;
}

/* En caso de que el tema use 'after' en lugar de 'before' */
ul.list-item.lista-blanca li::after {
    background-color: #ffffff !important;
}

/* --- AJUSTE PARA MÓVILES: IMAGEN SOBRE TEXTO --- */
@media (max-width: 767px) {
    /* Buscamos el contenedor que envuelve la imagen y el texto */
    .row.clearfix {
        display: flex !important;
        flex-direction: column-reverse !important; /* Mueve lo que esté abajo (o a la derecha) hacia arriba si es necesario, o viceversa según el orden del HTML */
    }

    /* Si el diseño usa floats, los anulamos para que flex funcione */
    .column {
        width: 100% !important;
        margin-bottom: 20px;
    }
}


@media (max-width: 767px) {
    .row.clearfix {
        display: flex !important;
        flex-direction: column !important; /* Orden normal: primero lo que esté primero en el código */
    }
}

/*----------------------------------------------------------------------------------------------*/

/* --- CONFIGURACIÓN GENERAL (Color y Espacios) --- */
.telefonos-footer li i, 
.telefonos-footer li a {
    color: #ffffff !important;
	font-weight:bold;
}

/* Separar icono del número */
.telefonos-footer li i {
    margin-right: 12px !important;
}

/* Espacio extra solo debajo del último número */
.telefonos-footer li:last-child {
    margin-bottom: 40px !important;
}

/* --- TAMAÑO PARA ORDENADORES Y TABLETS (Pantallas mayores a 768px) --- */
@media (min-width: 768px) {
    .telefonos-footer li i, 
    .telefonos-footer li a {
        font-size: 18px !important; /* Tamaño más chico para PC y Tablet */
		
    }
}

/* --- TAMAÑO PARA MÓVILES (Pantallas menores a 767px) --- */
@media (max-width: 767px) {
    .telefonos-footer li i, 
    .telefonos-footer li a {
        font-size: 25px !important; /* Mantiene el tamaño original/grande en móvil */
		font-weight:bold;
    }
}


/* 1. NIVELACIÓN EN ESCRITORIO: Alinea las 4 columnas al mismo nivel superior */
@media (min-width: 992px) {
    .elementor-container {
        display: flex !important;
        align-items: stretch !important; /* Hace que todas las columnas midan lo mismo */
    }
    .footer-column {
        margin-top: 0 !important;
        padding-top: 20px; /* Ajusta según necesites para nivelar visualmente */
    }
}

/* 2. CENTRADO EN MÓVIL: Solo para la cuarta columna (la del fondo azul) */
@media (max-width: 767px) {
    .column-azul {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        text-align: center !important;
    }
    
    .column-azul .telefonos-footer {
        display: inline-block !important;
        text-align: left; /* Mantiene los iconos alineados con los números pero el bloque centrado */
    }
}

/* 1. Alineación Superior y Distribución de Columnas */
.elementor-1059 .elementor-container {
    display: flex !important;
    flex-wrap: wrap;
    align-items: flex-start !important; /* Alinea todas las columnas al borde superior */
    justify-content: space-between;
}

/* 2. Ajuste de Ancho y Control de Desbordamiento */
.elementor-1059 .footer-column {
    margin-top: 0 !important; /* Elimina desfases superiores */
    padding-top: 0 !important;
    word-wrap: break-word; /* Evita que el texto largo se salga */
    overflow: hidden;
}

/* 3. Nivelación de la Cuarta Columna (Newsletter/Contacto) */
/* Algunos temas añaden margen superior a la última columna por defecto */
.elementor-element-28f19fc5 {
    margin-top: 0 !important;
}

/* 4. Reset de márgenes internos que causan desalineación */
.footer-widget {
    margin-top: 0 !important;
    padding-top: 0 !important;
    margin-left: 0 !important; /* Elimina ml-40 que empuja columnas al medio */
}

/* 5. Ajuste para pantallas grandes (Escritorio) */
@media (min-width: 992px) {
    .elementor-col-25 {
        width: 25% !important;
        max-width: 25%;
    }
}

/* 6. Corrección de los iconos e información de contacto */
.info.clearfix li {
    display: flex;
    align-items: flex-start;
    margin-bottom: 15px;
    line-height: 1.4;
}

.info.clearfix li i {
    margin-right: 10px;
    margin-top: 5px; /* Alinea el icono con la primera línea de texto */
}
/* --- ESCRITORIO (PC) --- */
/* Mantiene tu configuración original */
.footer-top .newsletter-widget {
    position: relative;
    display: block;
    padding: 60px 15px;
    margin-top: -113px; /* Desplazamiento hacia arriba */
    overflow: hidden;
	text-align:center;
}

/* --- TABLETS (Pantallas menores a 991px) --- */
@media (max-width: 991px) {
    .footer-top .newsletter-widget {
        margin-top: -50px; /* Reducimos el margen negativo para que no suba tanto */
        padding: 40px 15px; /* Damos un poco más de aire a los lados */
    }
}

/* --- CELULARES (Pantallas menores a 767px) --- */
@media (max-width: 767px) {
    .footer-top .newsletter-widget {
        margin-top: 0; /* En móviles es mejor eliminar el margen negativo para evitar solapamientos */
        padding: 30px 10px;
        text-align: center; /* Opcional: centrar el contenido para que se vea mejor en celular */
    }
	
ul,li{
  list-style:none;
  padding:0px;
  margin-right: 2%;
  margin-left: 0%;
}	
	
.footer-top .footer-column .widget-title {
    position: relative;
    display: block;
    margin-bottom: 23px;
	margin-right: 2%;
	margin-left: 2%;
}	
	
	
}


/* --- TABLETS (Pantallas menores a 991px) --- */
@media (max-width: 991px) {
    .elementor-element-28f19fc5 .widget-title h3 {
        font-size: 30px !important; /* Ajusta el tamaño a tu gusto */
        margin-bottom: 20px;
		margin-top: 20px;
    }
}

/* --- CELULARES (Pantallas menores a 767px) --- */
@media (max-width: 767px) {
    .elementor-element-28f19fc5 .widget-title h3 {
        font-size: 35px !important; /* Un poco más grande para móviles si lo deseas */
        font-weight: bold;
        line-height: 1.2;
		margin-top: 20px;
    }
}


/* Centrar el contenido de la cuarta columna (Contacto) */
.elementor-element-28f19fc5 .footer-widget.newsletter-widget {
    text-align: center; /* Centra el título y el icono principal */
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Centrar la lista de teléfonos */
.telefonos-footer {
    display: inline-block; /* Permite que el text-align del padre funcione o se comporte como bloque centrado */
    text-align: left;      /* Mantiene los iconos alineados a la izquierda del número, pero el bloque estará centrado */
    list-style: none;
}

.telefonos-footer li {
    display: flex;
    align-items: center;
    justify-content: flex-start; /* Mantiene icono y texto juntos */
    margin-bottom: 10px;
}

/* Si quieres que TODO (incluyendo el icono y el número) esté rigurosamente en el eje central */
.telefonos-footer li {
    justify-content: center; 
}

.telefonos-footer li i {
    margin-right: 10px; /* Espacio entre el icono del teléfono y el número */
}
/* Igualar texto de la Columna 1 con las Columnas 2 y 3 */
.elementor-element-4244db82 .info li,
.elementor-element-4244db82 .info li a,
.elementor-element-4244db82 .info li span {
    font-size: 16px !important; /* Tamaño estándar de las columnas 2 y 3 */
    line-height: 1.6em !important;
    font-family: inherit;
}

/* Ajuste específico para los iconos de la columna 1 */
.elementor-element-4244db82 .info li i {
    font-size: 16px !important;
    width: 20px; /* Alineación constante */
    text-align: center;
}

/* --- RESPONSIVO --- */

/* Tablet */
@media (max-width: 991px) {
    .elementor-element-4244db82 .info li,
    .elementor-element-4244db82 .info li a,
    .elementor-element-4244db82 .info li span {
        font-size: 15px !important;
    }
}

/* Móvil */
@media (max-width: 767px) {
    .elementor-element-4244db82 .info li,
    .elementor-element-4244db82 .info li a,
    .elementor-element-4244db82 .info li span {
        font-size: 14px !important; /* Ajuste para pantallas pequeñas */
    }
}







/* Estilo base */
.email-responsivo {
    display: inline-block;
    white-space: nowrap;
    position: relative;
    z-index: 10; /* Asegura que esté por encima de la otra columna */
    transition: font-size 0.3s ease; /* Suaviza el cambio de tamaño */
}

/* Tablet: 768px hasta 1024px */
@media screen and (min-width: 768px) and (max-width: 1024px) {
    .email-responsivo {
        /* Reducimos el tamaño. Puedes ajustar este valor (12px o 13px) */
        font-size: 13px !important; 
        
        /* Opcional: un ajuste fino de espaciado entre letras para que ocupe menos */
        letter-spacing: -0.5px;
    }
}

/* Móvil: Menos de 767px */
@media screen and (max-width: 767px) {
    .email-responsivo {
        font-size: 14px;
        white-space: normal; /* En móviles muy pequeños, permitimos que baje si es necesario */
        word-break: break-all;
    }
}


/* Estilos exclusivos para la nueva clase */


/* Corrección específica para Tablet y Móvil */
@media (max-width: 991px) {
    .inner-box-nosotros {
        
        display: block !important;
        clear: both !important; /* Fuerza a que no haya elementos flotando a los lados */
        z-index: 10;
       
        margin-bottom: 300px !important; /* Espacio antes de que empiece el siguiente texto */
        background: #ffffff; /* Asegura un fondo sólido si es necesario */
    }

    /* Ajuste para el contenedor de la imagen para que no limite la capa */
    .image_block_5 .image-box {
        margin-bottom: 20px !important;
        height: auto !important;
    }
}


@media (max-width: 991px) {
    .content_block_8 .sec-title {
        margin-top: 20px !important;
        padding-top: 10px;
    }
    
    .content_block_8 .sec-title h2 {
        line-height: 1.3em; /* Mejora la lectura del título de 30 años */
    }
}


/* Asegura que la imagen no sea tapada y se comporte como bloque */
.image_block_5 .image-box figure.image {
    display: block !important;
    position: relative !important;
    margin-bottom: 20px; /* Espacio entre foto y texto */
}

.image_block_5 .image-box img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
}


/* --------------------------------------------------------------------- */


/* --- Estilos Base (Escritorio / General) --- */

.inner-box-nosotros {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    position: relative !important;
}

.inner-box-nosotros .inner {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    padding: 0 20px !important; /* Añadido un pequeño padding lateral para que el texto no toque los bordes en móviles */
    margin-top: 150px;
    margin-bottom: 150px;
    transition: all 0.3s ease; /* Suaviza la transición al cambiar de tamaño */
}

.inner-box-nosotros .icon-box {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 auto 15px !important;
    float: none !important;
		
}

.inner-box-nosotros h3 {
    margin: 0 !important;
    padding: 0 !important;
    display: inline-block !important;
    width: 100% !important;
    font-size: 28px; /* Tamaño base para títulos */
}

/* --- Ajustes para Tablets (Menos de 992px) --- */
@media (max-width: 991px) {
    .inner-box-nosotros .inner {
        margin-top: 80px;
        margin-bottom: 80px;
    }
}

/* --- Ajustes para Móviles (Menos de 768px) --- */
@media (max-width: 767px) {
    .inner-box-nosotros .inner {
        /* Reducimos los márgenes exagerados para que quepa más contenido en la pantalla del móvil */
        margin-top: 40px;
        margin-bottom: 40px;
        padding: 0 15px !important;
    }

    .inner-box-nosotros h3 {
        /* Ajustamos el tamaño de la fuente para que no se rompa en varias líneas de forma extraña */
        font-size: 22px !important;
    }

    .inner-box-nosotros .icon-box {
        /* Opcional: reducir un poco el icono si es muy grande */
        transform: scale(0.9);
        margin-bottom: 10px !important;
    }
}



/* 1. Aumentar el tamaño del ICONO */
.inner-box-nosotros .icon-box i, 
.inner-box-nosotros .icon-box [class^="flaticon-"]::before {
    font-size: 120px !important; /* Ajusta este valor según prefieras (ej. 100px para más grande) */
	display: block;
}

/* 2. Aumentar el tamaño de las LETRAS debajo del icono (Título H3) */
.inner-box-nosotros h3 {
    font-size: 35px !important; /* Tamaño para pantallas grandes */
    margin-top: 20px !important; /* Espacio entre el icono y el texto */
    font-weight: 700 !important;
}

/* 3. Aumentar el tamaño de un párrafo o texto descriptivo si existiera */
.inner-box-nosotros .text, 
.inner-box-nosotros p {
    font-size: 18px !important;
    line-height: 1.6em;
}

/* --- Ajustes Responsivos (Para que no se vea gigante en el celular) --- */
@media (max-width: 767px) {
    .inner-box-nosotros .icon-box i, 
    .inner-box-nosotros .icon-box [class^="flaticon-"]::before {
        font-size: 60px !important; /* Un poco más pequeño en móviles */
    }

    .inner-box-nosotros h3 {
        font-size: 26px !important; /* Tamaño adaptado a celular */
    }
}



/* 1. Eliminar el espacio en el contenedor interno */
.inner-box-nosotros .inner {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* 2. Eliminar márgenes y paddings del contenedor principal en móviles */
@media (max-width: 767px) {
    /* Atacamos la clase de bloque de contenido y la sección general */
    .about-style-three .content_block_8 .content-box,
    .inner-box-nosotros,
    .inner-box {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    /* Tu archivo CSS tiene una clase .sec-pad que añade 120px de padding abajo */
    /* Vamos a reducirlo drásticamente para "acercar" el siguiente bloque */
    .sec-pad {
        padding-top: 40px !important;
        padding-bottom: 20px !important;
    }

    /* Si el icono todavía tiene espacio debajo */
    .inner-box-nosotros .icon-box {
        margin-bottom: 0px !important;
    }

    /* Quitamos el margen inferior del título h3 para pegarlo al borde */
    .inner-box-nosotros h3 {
        margin-bottom: 0 !important;
        padding-bottom: 10px !important;
    }
}


/* --- Estilos para la lista en 2 columnas (Escritorio) --- */
.inner-box .list-item.clearfix {
    display: grid !important;
    grid-template-columns: 1fr 1fr; /* Divide en dos columnas iguales */
    gap: 10px 20px;                 /* Espacio entre filas y columnas */
    list-style: none;               /* Quita puntos si los tuviera */
    padding: 0;
    margin: 0;
}

/* Opcional: Estilo para los ítems de la lista */
.inner-box .list-item li {
    position: relative;
    padding-left: 25px; /* Espacio para un icono o bullet personalizado */
    font-size: 16px;
    line-height: 1.5;
    text-align: left;   /* Alineación a la izquierda para lectura fluida */
}

/* --- AJUSTE PARA MÓVILES (Responsivo) --- */
@media (max-width: 767px) {
    .inner-box .list-item.clearfix {
        /* Cambia a una sola columna en pantallas pequeñas */
        grid-template-columns: 1fr !important; 
        gap: 8px; /* Reduce un poco el espacio entre ítems */
    }
}




/*---------------------------------------------------------------*/


/* --- CORRECCIÓN DE ANCHO COMPLETO PARA 2 COLUMNAS --- */
.servicios-container {
  display: grid;
  grid-template-columns: repeat(1, 1fr); /* 2 columnas por defecto */
  gap: 30px;
  padding: 0;
  list-style: none;
  
  /* CORREGIDO: Eliminamos el width de 540px para que use todo el ancho disponible */
  width: 540px; 
  max-width: 100% !important;
  box-sizing: border-box;
  margin: 0 !important;
}

/* Si quieres que ignore TOTALMENTE los márgenes de la página y vaya de lado a lado:
   Descomenta las siguientes líneas:
*/
/*
.servicios-container {
  width: 100vw !important;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
}
*/

.servicios-container > li {
  width: 100%;
  list-style: none;
  box-sizing: border-box;
}

.servicios-container details {
  width: 100%;
}

/* --- MODIFICADO: Alineación superior para el contenedor del summary --- */
.servicios-container summary {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important; /* CAMBIADO: De 'center' a 'flex-start' */
  width: 100%;
  cursor: pointer;
  list-style: none !important;
  padding-right: 0px;
  padding-left: 10px; 
}

/* --- MODIFICADO: Ajuste del triángulo para la primera línea --- */
.servicios-container summary::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 7px solid #868686;
  transition: transform 0.3s ease;
  margin-left: auto; 
  flex-shrink: 0;
  
  /* NUEVO: Centrado óptico con la primera línea de texto */
  margin-top: 7px; 
}

/* Eliminar flechas por defecto */
.servicios-container summary::-webkit-details-marker {
  display: none !important;
}

.servicios-container summary a {
  color: #868686;
  text-decoration: none;
  font-weight: 500;
  flex-grow: 1;
  padding-right: 10px;
}

/* Icono triangular - Pegado magnéticamente a la derecha */
.servicios-container summary::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 9px solid #868686;
  transition: transform 0.3s ease;
  margin-left: auto; /* Esto garantiza que se pegue al extremo derecho de la columna */
  flex-shrink: 0;
}

.servicios-container details[open] summary::after {
  transform: rotate(180deg);
}

.servicios-content {
  color: #868686;
  padding: 15px 0 15px 25px;
  list-style-type: disc;
}

/* --- CAMBIO AQUÍ: Ajuste para pantallas menores a 1024px --- */
@media (max-width: 1024px) {
  .servicios-container {
    /* Mantiene las 2 columnas pero reduce el espacio entre ellas si el espacio es muy justo */
    gap: 20px; 
	
  }
}

/* --- CAMBIO AQUÍ: El salto a 1 columna ocurre desde los 767px hacia abajo (móviles) --- */
@media (max-width: 767px) {
  .servicios-container {
    grid-template-columns: 1fr; /* 1 columna en móviles */
    gap: 15px;
	width:auto;
  }
}

.list-item.clearfix {
  margin-right: 0 !important;
  padding-right: 0 !important;
}




/*-------------------------------------------------------------------*/

.servicios-container summary {
    display: flex;
    justify-content:间-between; /* Alinea texto a la izquierda y flecha a la derecha */
    align-items: center;
    cursor: pointer;
    padding: 0px 0;
    user-select: none;
}

.servicios-container summary span {
    flex-grow: 1; /* El texto se expande para que el clic funcione en toda la línea */
    color: #868686;
}

/* Evita que se vea el borde azul al hacer clic en algunos navegadores */
.servicios-container summary:focus {
    outline: none;
}



/* Contenedor padre de la galería */
.contenedor-scroll-horizontal {
  display: flex;
  width: 100%;
  overflow-x: auto;
  scroll-snap-type: x mandatory; /* Fuerza el imán horizontal */
  scroll-behavior: smooth;
  
  /* Hace que empiece en la derecha y avance hacia la izquierda */
  direction: rtl; 
  
  /* Opcional: Oculta la barra de scroll por estética */
  scrollbar-width: none; 
}

.contenedor-scroll-horizontal::-webkit-scrollbar {
  display: none; /* Oculta en Chrome y Safari */
}

/* Cada una de las capas (Bloques de 12 fotos) */
.capa-fotos {
  /* Regresa la lectura normal dentro de la capa (de izq a der) */
  direction: ltr; 
  
  min-width: 100%;
  width: 100%;
  scroll-snap-align: start; /* Punto donde frena el scroll */
  box-sizing: border-box;
  padding: 15px;
  
  /* Distribución interna de las 12 fotos */
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4 Columnas */
  grid-template-rows: repeat(3, auto);   /* 3 Filas */
  gap: 12px;                             /* Espacio entre miniaturas */
}

/* Forzar que los enlaces de Lightbox se comporten de forma responsiva */
.capa-fotos a.vlightbox1 {
  display: block;
  width: 100%;
  overflow: hidden;
  border-radius: 6px; /* Bordes ligeramente suavizados */
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

/* Ajuste de las miniaturas */
.capa-fotos a.vlightbox1 img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  transition: transform 0.3s ease;
}

/* Efecto opcional al pasar el mouse */
.capa-fotos a.vlightbox1:hover img {
  transform: scale(1.05);
}


/* Contenedor relativo para posicionar los botones encima */
.galeria-con-navegacion {
  position: relative;
  width: 100%;
}

/* El contenedor del scroll se mantiene igual */
.contenedor-scroll-horizontal {
  display: flex;
  width: 100%;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  direction: rtl; /* Empieza en la derecha */
  scrollbar-width: none; 
}
.contenedor-scroll-horizontal::-webkit-scrollbar {
  display: none;
}

.capa-fotos {
  direction: ltr; 
  min-width: 100%;
  width: 100%;
  scroll-snap-align: start;
  box-sizing: border-box;
  padding: 15px 50px; /* Añadimos espacio a los lados para que las flechas no tapen las fotos */
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(3, auto);
  gap: 12px;
}

/* Estilos de los botones de navegación */
.btn-scroll {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgba(0, 0, 0, 0.6);
  color: white;
  border: none;
  font-size: 24px;
  padding: 15px 10px;
  cursor: pointer;
  z-index: 10;
  border-radius: 4px;
  transition: background-color 0.3s ease;
}

.btn-scroll:hover {
  background-color: rgba(0, 0, 0, 0.9);
}

/* Posición fija a los extremos */
.btn-next { left: 10px; }
.btn-prev { right: 10px; }

/* Forzar estilos de fotos responsivas */
.capa-fotos a.vlightbox1 { display: block; width: 100%; overflow: hidden; border-radius: 6px; }
.capa-fotos a.vlightbox1 img { width: 100%; height: auto; display: block; object-fit: cover; }




/* ====================================================================
   Cambio de Color de WhatsApp usando la clase .pull-right
====================================================================== */



/* Cambia el ícono únicamente cuando el cursor toca el enlace del ícono */
a.icono-whatsapp-rojo:hover i:before,
a.icono-whatsapp-rojo:hover i.fi {
    color: #e53622 !important;
}

/* Estilos para el comportamiento interactivo de los mapas - PANTALLA COMPLETA EN EXTREMOS */
.contenedor-mapa-interactivo {
    display: none; /* Por defecto todos escondidos */
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    animation: fadeIn 0.5s ease-in-out;
}

.contenedor-mapa-interactivo.active {
    display: block; /* Solo se muestra el que tiene la clase active */
}

/* Forzar que las envolturas nativas de los mapas ocupen el 100% real sin límites */
.contenedor-mapa-interactivo .mapouter,
.contenedor-mapa-interactivo .gmap_canvas {
    width: 100% !important;
    max-width: 100% !important; /* Eliminado el límite de 1200px para ir hasta el borde */
    margin: 0 !important;
    padding: 0 !important;
    position: relative;
}

.contenedor-mapa-interactivo iframe {
    width: 100% !important;
    display: block;
    margin: 0 !important;
}

/* Animación fluida al cambiar de mapa */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(5px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Corrección para que el enlace VER MAPA vuelva a la izquierda */
.btn-ver-mapa {
    display: block;          /* Se convierte en un bloque completo ocupando su propio renglón */
    clear: both;             /* Rompe cualquier 'float' o empuje hacia la derecha de los elementos superiores */
    text-align: left;        /* Fuerza la alineación estricta hacia la izquierda */
    width: max-content;    /* Hace que el enlace solo mida lo que mide su texto */
    margin-top: 8px;        /* Espacio prudente debajo del texto de la dirección */
    margin-left: 0 !important; /* Asegura que empiece pegado al borde izquierdo del bloque */
    
    /* Tus estilos visuales se mantienen */
    color: #ff6900; 
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    text-decoration: none;
    transition: all 0.3s ease;
}

.btn-ver-mapa:hover {
    color: #cf2e2e; 
    text-decoration: underline;
}

.btn-ver-mapa.activo-link {
    color: #cf2e2e;
    font-weight: bold;
}



/* ====================================================================
   Corrección de espacio en Teléfonos del Footer para Móviles
   ==================================================================== */
@media only screen and (max-width: 767px) {
    ul.telefonos-footer {
        display: flex !important;
        flex-direction: column !important; /* Coloca un número debajo de otro si no caben juntos */
        align-items: center !important;    /* Los centra perfectamente en la pantalla */
        justify-content: center !important;
        gap: 10px !important;              /* Espacio pequeño y controlado entre cada número */
        padding: 0 !important;             /* Elimina el espacio residual lateral izquierdo */
        margin: 0 auto !important;         /* Centra el bloque eliminando márgenes raros */
        width: 100% !important;
    }

    ul.telefonos-footer li {
        display: inline-flex !important;
        align-items: center !important;    /* Sincroniza la altura del icono del teléfono con el texto */
        gap: 8px !important;               /* Separa el icono del número de teléfono */
        float: none !important;            /* Elimina el comportamiento antiguo que los empuja mal */
        margin: 0 !important;              /* Elimina los márgenes heredados */
        padding: 0 !important;
    }
}