/*
    Theme Name: Company
    Theme URL: https://bootstrapmade.com/company-free-html-bootstrap-template/
    Author: BootstrapMade
    Author URL: https://bootstrapmade.com
*/

/* ==== Google font ==== */
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,300,700,600);
@import url('font-awesome.css');
/* ==== overwrite bootstrap standard ==== */
@import url('animate.css');



body {
	font-family: Verdana, Geneva, sans-serif;
	font-size:14px;
	font-weight:300;
	line-height:1.6em;
	color:#fff;
	background-color:#fff;
	overflow-x:hidden;
}

hi,h2,h3,h4,h5,h6 {
	color:#333;
	line-height:1.1em;
}

p {
	color:#333;
	font-size:13px;
}
a {
    text-decoration:none;
    transition: all 0.1s ease-in-out;
    -moz-transition: all 0.1s ease-in-out;
    -webkit-transition: all 0.1s ease-in-out;
    -o-transition: all 0.1s ease-in-out;
    outline: none;
	/*color:#333;*/
	color: darkgray;
}
a:hover {
	text-decoration: none;
	color:#eee;
	}

.btn-primary {
  padding: 8px 20px;
    background: #5ea1d1;
    color: #fff;
  border-radius: 16px;
  border:none;
  margin-top: 10px;
}

.text-center h2 {
	margin-bottom:30px;
}

.text-center p {
	margin-bottom:50px;
	color:#333;
}

.btn-default {
  color: #ffffff;
  background-color: #fff;
  border-color: #fff;
  text-transform:uppercase;
  font-size:18px;
  border-radius:30px;
  margin-left:-10px;
}

#breadcrumb {
	background-color: #2e3d8a;
	/*margin-top: -20px;*/
	margin-top: -100px;
}

.breadcrumb {
  list-style: none;
  background-color: #2e3d8a;
  border-radius: 0px;
  padding:3px 10px;
}

.breadcrumb li {
   text-transform:uppercase;
   margin-top:125px;
   font-weight:600;
}

/*===========================
  Menu and Navigation
============================ */
.navigation  {
	background-color: #0c0b64;
	padding:0;
}

.navbar-brand h1 {
	margin-top:9px;
	padding-top:5px;
	float: left;
	font-size: 25px;
	color:#333;
	text-transform:uppercase;
	font-weight:900;
}
.navbar-brand h1 span {
	color: #0f1c37;
}

.menu {
	font-size:12px;
	float:right;
	text-transform:uppercase;
	font-weight:700;
}

.menu ul.nav-tabs li {
	color:#000;
}

.nav-tabs {
	border-bottom: 0;
}
.nav-tabs > li {
	float: left;
	margin-bottom: 0;
}
.nav-tabs > li > a {
	border-radius:0;
	color: #ffffff;
	padding:30px 1vw;
}

.nav-tabs > li > a:hover {
	color: #0f1c37;
	border-color: #fff #fff #fff;
	border-radius:0;
	background-color:#fff;
	transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
}
.nav-tabs > li > a.active {
	color: #ffffff;
	border-radius:0;
	transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
}
.recuadros-1x4,
.recuadros-1x4 h1,
.recuadros-1x4 h2,
.recuadros-1x4 h3,
.recuadros-1x4 h4,
.recuadros-1x4 h5,
.recuadros-1x4 p,
.recuadros-1x4 a:not(.btn) {
    color: #000 !important;
    overflow: auto;
}

@media (max-width: 768px) {
	.navbar-brand {
		padding-top: 6px;
	}
	.navbar-brand h1 {
		margin-top: 0;
	}

	.nav-tabs > li {
		float: none;
		display: ruby;
	}

	.menu {
		left: 0;
		right: 0;
		background: #0b0b3e;
		height: auto;
		width: 100%;
	}

	.nav-tabs > li > a {
		padding:15px 15px;
		border-bottom: 1px solid #f3f3f3;
	}

	.nav-tabs > li > a:hover {
		border-color: #f3f3f3;
	}
}

/*===========================
  slider
============================ */
#main-slider {
	margin-top:40px;
}

#main-slider {
  position: relative;
}

.no-margin {
  margin: 0;
  padding: 0;
}

#main-slider .carousel .carousel-content {
  margin-top: 150px;
}

#main-slider .carousel .slide-margin{
  margin-top: 40px;
}

#main-slider .carousel h2 {
  /*color: #fff;*/
  color: #333;
  text-transform:uppercase;
  font-size:50px;
  font-weight:800;
}

#main-slider .carousel h2 span {
  color: #0f1c37;
}

#main-slider .carousel h2 span spani {
  color: #000;
}

#main-slider .carousel p {
  /*color: #ddd;*/
  color: #333;
  font-size:25px;
}

#main-slider .carousel .btn-slide {
  padding: 8px 20px;
  background: #0f1c37;
  color: #fff;
  border-radius: 4px;
  margin-top: 25px;
  display: inline-block;
}

#main-slider .carousel .slider-img{
  text-align: right;
  position: absolute;
}


#main-slider .carousel .item {
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  left: 0 !important;
  opacity: 0;
  top: 0;
  position: absolute;
  width: 100%;
  display: block !important;
  height: 730px;
  -webkit-transition: opacity ease-in-out 500ms;
  -moz-transition: opacity ease-in-out 500ms;
  -o-transition: opacity ease-in-out 500ms;
  transition: opacity ease-in-out 500ms;
}

#main-slider .carousel .item:first-child {
  top: auto;
  position: relative;
}

#main-slider .carousel .item.active {
  opacity: 1;
  -webkit-transition: opacity ease-in-out 500ms;
  -moz-transition: opacity ease-in-out 500ms;
  -o-transition: opacity ease-in-out 500ms;
  transition: opacity ease-in-out 500ms;
  z-index: 1;
}

.about-carousel .carousel-inner .item {
    display: flex; /* que se alineen horizontalmente */
}
.about-carousel .col-sm-4 {
    float: none;
}

.carousel-control.left,
.carousel-control.right {
    background-image: none !important;
    background-color: transparent !important;
    filter: none !important;
    color: #0a0a0a !important;
    max-width: 10%;

}

#aboutCarousel2 {
    position: relative;
    padding: 0 60px; /* Espacio para las flechas */
}

#aboutCarousel2 .carousel-control.left {
    margin-left: 10%;
}

#aboutCarousel2 .carousel-control.right {
    margin-right: 10%;
}

/* Para el carousel del footer también */
#aboutCarousel3 {
    position: relative;
    padding: 0 60px; /* Espacio para las flechas */
}

#aboutCarousel3 .carousel-control.left {
    margin-left: 12%;
}

#aboutCarousel3 .carousel-control.right {
    margin-right: 12%;
}

/* En pantallas pequeñas, reducir el espacio */
@media (max-width: 768px) {
    #aboutCarousel2,
    #aboutCarousel3 {
        padding: 0 40px;
    }

    #aboutCarousel2 .carousel-control.left,
    #aboutCarousel3 .carousel-control.left {
        left: -35px;
    }

    #aboutCarousel2 .carousel-control.right,
    #aboutCarousel3 .carousel-control.right {
        right: -35px;
    }
}

@media (max-width: 425px) {
    #aboutCarousel3 .carousel-inner{
        width: 100% !important;
    }

}

#main-slider .active .animation.animated-item-1 {
  -webkit-animation: fadeInUp 300ms linear 300ms both;
  -moz-animation: fadeInUp 300ms linear 300ms both;
  -o-animation: fadeInUp 300ms linear 300ms both;
  -ms-animation: fadeInUp 300ms linear 300ms both;
  animation: fadeInUp 300ms linear 300ms both;
}

#main-slider .active .animation.animated-item-2 {
  -webkit-animation: fadeInUp 300ms linear 600ms both;
  -moz-animation: fadeInUp 300ms linear 600ms both;
  -o-animation: fadeInUp 300ms linear 600ms both;
  -ms-animation: fadeInUp 300ms linear 600ms both;
  animation: fadeInUp 300ms linear 600ms both;
}

#main-slider .active .animation.animated-item-3 {
  -webkit-animation: fadeInUp 300ms linear 900ms both;
  -moz-animation: fadeInUp 300ms linear 900ms both;
  -o-animation: fadeInUp 300ms linear 900ms both;
  -ms-animation: fadeInUp 300ms linear 900ms both;
  animation: fadeInUp 300ms linear 900ms both;
}

#main-slider .active .animation.animated-item-4 {
  -webkit-animation: fadeInUp 300ms linear 1200ms both;
  -moz-animation: fadeInUp 300ms linear 1200ms both;
  -o-animation: fadeInUp 300ms linear 1200ms both;
  -ms-animation: fadeInUp 300ms linear 1200ms both;
  animation: fadeInUp 300ms linear 1200ms both;
}

@media (max-width: 768px) {
	#main-slider .carousel .carousel-content {
	  margin-top: 40px;
		text-align: center;
	}

	#main-slider .carousel .slide-margin{
	  margin-top: 40px;
	}

	#main-slider .carousel p {
	  /*color: #fff;*/
	  color: #333;
	  font-size:18px;
		line-height: 24px;
	}

}

.feature {
	padding:50px;
}

.text-center i {
	font-size:40px;
	margin-top:70px;
	margin-bottom:30px;
	color:#fff;
	padding:50px;
	background:#0f1c37;
	border-radius:50%;
}

.text-center h2 {
	margin-top:20px;
	margin-bottom:20px;
	text-transform:uppercase;
	font-size:18px;
	color: #0f1c37;
}

.hi-icon-effect i.fa:hover {
	background:#fff;
	color: #0f1c37;
	-webkit-transition: color 300ms, background-color 300ms;
  -moz-transition: color 300ms, background-color 300ms;
  -o-transition:  color 300ms, background-color 300ms;
  transition:  color 300ms, background-color 300ms;
}

#partner {
  background: url(../images/partners/partner_bg.png) 50% 50% no-repeat;
  background-size: cover;
}

#partner {
  color: #fff;
  text-align: center;
  padding:100px;
}

#partner h2 {
  color: #fff;
  font-size:30px;
  font-weight:600;
}

#partner p {
  color: #fff;
  font-size:20px;

}

.partners ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.partners ul li{
  display: inline-block;
  float: left;
  width: 20%;
}

.partners ul li a img {
	margin-top:50px;
}

#conatcat-info{
  background: #fff url(../images/contact.png) no-repeat 90% 0;
  padding: 30px 0;
}

.contact-info i{
  width: 60px;
  height: 60px;
  font-size: 40px;
  line-height: 60px;
  color: #fff;
  /*background: #000;*/
  text-align: center;
  border-radius: 6px;
}

.contact-info h2{
  margin-top: 0;
  color: #000;
}

.contact-info{
  color:#000;
}

/* --- about us --- */
.aboutus {
	/*padding:50px;*/
}

.aboutus img {
	border-radius:6px;
}

.aboutus h3 {
	margin-bottom:30px;
	font-weight:800;
}

.aboutus h4 {
	margin-top:30px;
	margin-bottom:30px;
	font-weight:700;
}

.main-section {
    padding: 60px 0;
}

.hero-image {
    width: 100%;
    max-width: 400px;
    height: auto;
    margin: 0 auto 40px auto;
    display: block;
}

.main-content {
    text-align: center;
}

.main-content h3 {
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 30px;
}

.main-content p {
    font-size: 14px;
    line-height: 1.6;
    text-align: justify;
}

.features-grid {
    margin-bottom: 60px;
}

.feature-card {
    margin-left: 12%;
    text-align: justify;
    height: 250px;
    max-width: 70%;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    margin-bottom: 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.feature-card .icon {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    margin: 0 auto 20px auto;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 36px;
}

.feature-card h5 {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 15px;
    min-height: 50px;
    display: flex;
    align-items: center;
    justify-content: left;
}

.feature-card p {
    font-size: 14px;
    line-height: 1.5;
    text-align: justify;
    flex-grow: 1;
    display: flex;
    align-items: center;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .main-content h3 {
        font-size: 24px;
    }

    .main-content p {
        font-size: 16px;
        text-align: center;
    }

    .feature-card {
        height: auto;
        min-height: 200px;
        margin-bottom: 20px;
    }

    .feature-card h5 {
        font-size: 14px;
        min-height: 40px;
    }

    .btn-download {
        font-size: 16px;
        padding: 12px 30px;
    }
}

@media (max-width: 480px) {
    .main-section {
        padding: 40px 0;
    }

    .feature-card {
        padding: 20px 15px;
        min-height: 260px;
    }

    .feature-card .icon {
        width: 60px;
        height: 60px;
        font-size: 28px;
    }

    .btn-download {
        font-size: 14px;
        padding: 10px 25px;
    }
}


.skill h2{
	margin-top:-10px;
	margin-bottom: 25px;
}

.progress-wrap{
  position: relative;
}

.progress .color1,
.progress .color1 .bar-width{
  background: #2d7da4;
}

.progress .color2,
.progress .color2 .bar-width{
  background: #6aa42f;
}

.progress .color3,
.progress .color3 .bar-width{
  background: #ffcc33;
}

.progress .color4,
.progress .color4 .bar-width{
  background: #db3615;
}

.progress,
.progress-bar {
  height: 15px;
  line-height: 15px;
  background: #e6e6e6;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  border-radius: 0;
  overflow: visible;
  text-align: right;
}

.progress{
  position: relative;
}

.progress .bar-width{
  position: absolute;
  width: 40px;
  height: 20px;
  line-height: 20px;
  text-align: center;
  font-size: 12px;
  font-weight: 700;
  top: -30px;
  border-radius: 2px;
  margin-left: -30px;
}

.progress span{
  position: relative;
}

.progress span:before{
  content: " ";
  position: absolute;
  width: auto;
  height: auto;
  border-width: 8px 5px;
  border-style: solid;
  bottom: -15px;
  right: 8px;
}

.progress .color1 span:before{
  border-color: #2d7da4 transparent transparent transparent;
}

.progress .color2 span:before{
  border-color: #6aa42f transparent transparent transparent;
}

.progress .color3 span:before{
  border-color: #ffcc33 transparent transparent transparent;
}

.progress .color4 span:before{
  border-color: #db3615 transparent transparent transparent;
}


.about {
	background:#eee;
	padding:50px;
}

.about h2 {
	margin-bottom:30px;
}

.about img {
	margin-bottom:30px;
	border-radius:6px;
}

@media (max-width: 768px) {
    .about {
        width: 100% !important;
        padding: 0 !important;
    }

    .about img {
        width: 100% !important;
        height: 100% !important;
    }

    .about h2{
        text-align: center;
        font-size: 18px;
    }
}

.our-team {
	padding:50px;
	/*background:#ddd;*/
	background: dimgray;;
}

.our-team h3 {
	margin-bottom:30px;
	font-weight:800;
	color: #fff;
}

.our-team h4 {
	margin-top:20px;
	margin-bottom:20px;
	font-weight:600;
}

.our-team img{
	border-radius:6px;
	margin-top:30px;
}

.lates {
	padding:50px;
}

.lates h2 {
	font-size:20px;
	font-weight:600;
	color:#333;
}

.lates img {
	margin-top:30px;
	border-radius:5px;
}

/* --- footer --- */
.footer {
	/*background:#0f1c37;*/
	background: linear-gradient(180deg, rgb(50, 50, 50), rgb(20, 20, 20));
	padding:15px 22px;
}

ul.social-network {
	list-style:none;
	margin-top:20px;
	padding:10px;
	transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
}

ul.social-network li {
	display:inline;
	margin: 0 18px;
	font-size:25px;
}

ul.social-network li a {
	color:#d0d0d0;
}
.social-network li:hover .fa-twitter {
  color: #00abf0;
}
.social-network li:hover .fa-facebook {
  color: #39579a;
}
.social-network li:hover .fa-google-plus {
  color: #eb8984;
}
.social-network li:hover .fa-pinterest {
  color: #c9171e;
}
.social-network li:hover .fa-linkedin {
  color: #0077b5;
}
.social-network li:hover .fa-youtube-play {
  color: #C84941;
}
.social-network li:hover .fa-dribbble {
  color: #EA4C89 ;
}
.social-network li:hover .fa-pinterest-square {
  color: #EA4B49;
}

.copyright {
	margin-top:30px;
    text-align: right;
}

.copyright a {
	color:#fff;
	font-weight:600;
	font-size:12px;
	text-shadow:none;
}

/* --- services --- */
.services {
	padding:50px;
}

.services h3 {
	margin-bottom:30px;
	font-weight:800;
}

.services img {
	border-radius:6px;
}

.sub-services img {
	border-radius:6px;
}

.services p {
	margin-top:30px;
	font-size:13px;
}

.sub-services {
	padding:50px;
    margin-bottom: 50px;
	background:#ddd;
}

.sub-services p {
	margin-top:30px;
	font-size:13px;
}

.media-body p {
	margin-bottom:30px;
}

.media ul li {
	list-style:none;
}

.media i {
	color:#0f1c37;
	font-size:50px;
}

.media h4 {
	font-size:20px;
	font-weight:600;
	color:#0f1c37;
	    padding-top: 15px;
}

.noticias{
    h4{
        text-align: justify;
        color: #0c0b64;
    }
    p{
        text-align: justify;
        color: #0a0a0a;
    }
    a{
        color: #d7d7e8;
        background: #0c0b64;
        padding: 5px;
        border-radius: 5px;
        text-decoration: none;
    }
    a:hover{
        color: #0c0b64;
        background: #d7d7e8;
    }
}

@media (max-width: 768px) {
    .noticias {
        width: 100% !important;
        padding: 0 !important;
    }
    .lates{
        padding: 0 !important;
    }

    .notas {
        width: 33.333333% !important;
        float: left !important;
        padding: 1px !important;
    }

    .notas h3 {
        font-size: 9px;
        line-height: 1.2;
    }

    .notas p {
        font-size: 8px;
        max-height: 10%;
        /*display: none;  Ocultar texto para ahorrar espacio */
    }

    .notas img {
        height: 80px !important;
    }
}
/* --- portfolio --- */
.slide-banner {
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    width: 500px;
    max-width: 100%;
}

.slide-banner img {
    width: 100%;
    height: auto;
    display: block;
}

.slide-banner-alt {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    width: auto;
    max-width: 90%;
    padding-top: 10px;
}

.slide-banner-responsive {
    position: absolute;
    top: 15px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    max-width: 300px;
    width: 90%;
}

.slide-banner-responsive img {
    width: 100%;
    height: auto;
    max-height: 80px;
}

.caption {
    position: relative;
    padding-top: 100px;
    top: 10px;
}

@media (max-width: 768px) {
    .slide-banner {
        max-width: 320px;
        top: 10px;
    }

}

@media (max-width: 480px) {
    .slide-banner {
        max-width: 300px;
        top: 5px;
        margin-left: 10%;
    }

    .slide-banner img{
        max-height: 80px;
    }
}

@media (max-width: 375px) {
    .slide-banner {
        max-width: 250px;
        top: 5px;
        margin-left: 8%;
    }

    .slide-banner img{
        max-height: 50px;
    }
}

@media (max-width: 768px) {
    .caption {
        padding-top: 80px;
    }
    #main-slider .slide-banner {
        position: relative;
        top: auto;
        left: auto;
        transform: none;
        margin-bottom: 15px;
    }

    #main-slider .carousel .carousel-content {
        margin-top: 0;
    }

    #main-slider .carousel .carousel-content h2{
        font-size: 32px;
    }
}

@media (max-width: 480px) {
    .caption {
        padding-top: 65px;
    }
}

@media (max-width: 376px) {
    .caption {
        max-width: 400px;
        top: 5px;
    }
}

#portfolio .center p {
	margin-top:50px;
	margin-bottom:50px;
	font-size:18px;
}

.portfolio-items,
.portfolio-filter {
  list-style: none outside none;
  margin: 0 0 40px 0;
  padding: 0;
}

.portfolio-filter > li {
  display: inline-block;
}

.portfolio-filter > li a {
  background: none repeat scroll 0 0 #5ea1d1;
  font-size: 14px;
  font-weight: 400;
  margin-right: 20px;
  text-transform: uppercase;
  transition: all 0.9s ease 0s;
  -moz-transition: all 0.9s ease 0s;
  -webkit-transition: all 0.9s ease 0s;
  -o-transition: all 0.9s ease 0s;
  border: 1px solid #F2F2F2;
  outline: none;
  border-radius: 15px;
}

.portfolio-filter > li a:hover,
.portfolio-filter > li a.active{
  color:#fff;
  background: #3f79a3;
  border: 1px solid #0f1c37;
  box-shadow: none;
  -webkit-box-shadow: none;
}

.portfolio-items > li {
  float: left;
  padding: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.portfolio-item {
	margin: 0;
	padding:5px;
}

.portfolio-item .recent-work-inner .line-clamp p{
	color: #0c0b64;
    text-align: center;
}

.portfolio-item .recent-work-inner h3{
    text-align: center;
}

.portfolio-item .recent-work-inner h3 a{
	color: #0c0b64;
}

.portfolio-item .recent-work-inner h3 a:hover{
	color: #bdbcc8;
}

.overlay {
	margin-bottom:20px;
}

.overlay a:hover {
	color: #0f1c37;
}

@media (max-width: 1440px) {
    .portfolio-item .recent-work-wrap{
        width: 100% !important;
        height: 100% !important;
    }

    .portfolio-item a img{
        width: 100% !important;
        height: 100% !important;
    }
}

@media (max-width: 768px) {
    .portfolio-items {
        width: 100% !important;
        padding: 0 !important;
    }

    .portfolio-item {
        width: 40% !important;
        float: left !important;
    }

    .portfolio-item .recent-work-wrap{
        width: 100% !important;
        height: 100% !important;
    }

    .portfolio-item a img{
        width: 100% !important;
        height: 100% !important;
    }
    .portfolio-item h3{
        overflow: auto !important;
    }
}

@media (max-width: 480px) {
    .portfolio-item {
        width: 33.333333% !important;
        float: left !important;
        padding: 1px !important;
    }

    .portfolio-item .recent-work-inner h3 {
        font-size: 10px;
        line-height: 1.2;
    }

    .portfolio-item .recent-work-inner p {
        font-size: 8px;
        max-height: 30%;
        /*display: none;  Ocultar texto para ahorrar espacio */
    }

    .portfolio-item img {
        height: 80px !important;
    }

    .portfolio-item .btn {
        font-size: 8px;
        padding: 2px 4px;
    }
}

@media (max-width: 320px) {
    .portfolio-item {
        width: 50% !important;
        padding: 1px !important;
    }

    .portfolio-item .recent-work-inner h3 {
        font-size: 10px;
        line-height: 1.2;
    }

    .portfolio-item .recent-work-inner p {
        font-size: 8px;
        max-height: 10%;

    }

    .portfolio-item img {
        height: 100px !important;
    }

    .portfolio-item .btn {
        font-size: 8px;
        padding: 2px 4px;
    }
}

/* Start: Recommended Isotope styles */
/**** Isotope Filtering ****/
.isotope-item {
  z-index: 2;
}

.isotope-hidden.isotope-item {
  pointer-events: none;
  z-index: 1;
}

/**** Isotope CSS3 transitions ****/
.isotope,
.isotope .isotope-item {
  -webkit-transition-duration: 0.8s;
  -moz-transition-duration: 0.8s;
  -ms-transition-duration: 0.8s;
  -o-transition-duration: 0.8s;
  transition-duration: 0.8s;
}

.isotope {
  -webkit-transition-property: height, width;
  -moz-transition-property: height, width;
  -ms-transition-property: height, width;
  -o-transition-property: height, width;
  transition-property: height, width;
}

.isotope .isotope-item {
  -webkit-transition-property: -webkit-transform, opacity;
  -moz-transition-property: -moz-transform, opacity;
  -ms-transition-property: -ms-transform, opacity;
  -o-transition-property: -o-transform, opacity;
  transition-property: transform, opacity;
}

/**** disabling Isotope CSS3 transitions ****/
.isotope.no-transition,
.isotope.no-transition .isotope-item,
.isotope .isotope-item.no-transition {
  -webkit-transition-duration: 0s;
  -moz-transition-duration: 0s;
  -ms-transition-duration: 0s;
  -o-transition-duration: 0s;
  transition-duration: 0s;
}

/* End: Recommended Isotope styles */
/* disable CSS transitions for containers with infinite scrolling*/
.isotope.infinite-scrolling {
  -webkit-transition: none;
  -moz-transition: none;
  -ms-transition: none;
  -o-transition: none;
  transition: none;
}


/* --- Map --- */
.map{
	position:relative;
	margin-bottom:40px;
}

/* google map */
#google-map{
	position:relative;
	margin-top:10px;
    height: 400px;
    width: 100%;
}

/* --- blog --- */
#blog {
	margin-top:50px;
}

a.btn-primary:hover {
	background-color:#ddd;
	color:#0f1c37;
}

.btn-responsive {
    padding: 12px 20px;
    font-size: 16px;
    white-space: normal;
    word-wrap: break-word;
    text-align: center;
    line-height: 1.4;
    display: inline-block;
    max-width: 100%;
}

.btn-responsive .btn-text {
    display: inline;
}

/* Para tablets */
@media (max-width: 768px) {
    .btn-responsive {
        font-size: 14px;
        padding: 10px 15px;
        margin: 0 10px;
    }

    .btn-responsive .btn-text {
        display: inline;
        word-break: break-word;
    }
}

/* Para móviles */
@media (max-width: 480px) {
    .btn-responsive {
        font-size: 12px;
        padding: 8px 12px;
        margin: 0 5px;
        width: 90%;
        max-width: 300px;
    }

    .btn-responsive .btn-text {
        display: block;
        margin-top: 5px;
    }

    .btn-responsive .fa {
        display: block;
        margin-bottom: 5px;
        font-size: 16px;
    }
}

/* Para móviles muy pequeños */
@media (max-width: 320px) {
    .btn-responsive {
        font-size: 11px;
        padding: 6px 10px;
        width: 95%;
    }

    .btn-responsive .btn-text {
        font-size: 11px;
        line-height: 1.3;
    }
}


.widget {
  margin-bottom: 60px;
  padding-left: 0;
}

.single_comments {
  margin-bottom: 20px;
}

.single_comments img {
  float: left;
  margin-right: 10px;
  margin-top: 5px;
}

.single_comments p {
  margin-bottom: 0;
}

.widget .entry-meta span {
  display: inline-block;
  margin-right: 10px;
  color:#333;
}

.widget .entry-meta span a:hover {
	color:#0f1c37;
}

.widget h3 {
  color: #000;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.blog_category{
  list-style:none;
  margin:0;
  padding:0;
}

.blog_category li{
  float:none;
  margin-bottom:20px;
}

.blog_category li a {
  background:#f5f5f5;
  border-radius: 4px;
  color: #888;
  display: inline-block;
  padding: 5px 15px;
}

.blog_category li a:hover{
  background:#0f1c37;
  color: #fff;
}

 .badge:before {
  border-color: transparent transparent transparent #0f1c37;
  border-style: solid;
  border-width: 10px;
  bottom: -8px;
  content: "";
  height: 0;
  left: 5px;
  position: absolute;
  z-index: -99999;
}

.badge {
  background-color: #0f1c37;
  border-radius: 5px;
  color: #fff;
  padding: 8px;
  position: relative;
  left: 60px;
  top: -18px;
  font-weight: normal;
}

.blog_archieve {
  list-style: none outside none;
  margin: 0;
  padding: 0;
}

.blog_archieve li {
  padding: 10px 0;
  border-bottom: 1px solid #f5f5f5;
}

ul.blog_archieve li a:hover{
	color:#0f1c37;
}

.blog_archieve li:first-child {
  padding-top: 0;
}

ul.gallery {
  list-style: none;
  padding: 0;
  margin: 0;
}

ul.gallery li {
  display: block;
  width: 60px;
  padding: 0;
  margin: 0 4px 4px 0;
  float: left;
}

ul.faq {
  list-style: none;
  margin: 0;
}

ul.faq li {
  margin-top: 30px;
}

ul.faq li:first-child {
  margin-top: 0;
}

ul.faq li span.number {
  display: block;
  float: left;
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  background: #34495e;
  color: #fff;
  font-size: 24px;
}

ul.faq li > div {
  margin-left: 70px;
}

ul.faq li > div h3 {
  margin-top: 0;
}

.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}

.embed-container iframe,
.embed-container object,
.embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.blog-item {
  border-radius: 0;
  overflow: hidden;
  margin-bottom: 50px;
}

.blog .blog-item .img-blog {
  border-radius: 5px;
  margin-bottom: 45px;
}

.blog .blog-item .blog-content {
  padding-bottom: 25px;
}

.blog .blog-item .blog-content h2 {
  margin-top: 0;
  font-size: 30px;
}

.readmore{
  margin-top: 0;
}

.blog .blog-item .blog-content h4 {
	margin-bottom: 40px;
	font-weight: 600
 }

.blog .blog-item .blog-content p {
	font-size: 13px;
}

.blog .blog-item .entry-meta {
  border-radius: 5px;
  overflow: hidden;
}

.blog .blog-item .entry-meta > span {
  background: #f5f5f5;
  border-top: 1px solid #fff;
  display: block;
  font-size: 12px;
  overflow: hidden;
  padding: 5px;
  text-align: left;
}

#publish_date {
  background: #0f1c37;
  border-bottom: 5px solid #4e4e4e;
  color: #fff;
  padding: 5px 0;
  text-align: center;
}

.blog .blog-item .entry-meta > span {
  color: #ccc;
}

.blog .blog-item .entry-meta > span a {
  font-size: 12px;
  margin-left: 3px;
  font-weight: 300;
  color: #888;
}

ul.pagination > li > a {
  border: 1px solid #F1F1F1;
  margin-right:5px;
  border-radius: 5px;
  font-size: 16px;
  padding: 5px 14px;
  color:#0f1c37;
}

ul.pagination > li > a i{
  margin-left:5px;
  margin-right:5px;
}

ul.pagination > li.active > a,
ul.pagination > li:hover > a {
  background-color: #0f1c37 !important;
  border-color: #0f1c37 !important;
  color: #fff;
}

.search_box {
  background-position: 314px 15px;
  background-repeat: no-repeat;
  border-color: #DEDEDE;
  height: 48px;
  outline: medium none;
  box-shadow: none;
}

.search-form-container {
    max-width: 600px;
    margin: 0 auto;
    background: rgba(255, 255, 255, 0.1);
    padding: 20px;
    border-radius: 10px;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.search-row {
    display: flex;
    gap: 15px;
    align-items: center;
    flex-wrap: wrap;
}

.search-field {
    flex: 1;
    min-width: 150px;
}

.search-select, .search-input {
    height: 45px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    background: rgba(255, 255, 255, 0.9);
    border-radius: 5px;
    color: #333;
    font-size: 14px;
}

.search-select:focus, .search-input:focus {
    border-color: #007bff;
    outline: none;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

@media (max-width: 768px) {
    .search-select {
        -webkit-appearance: none; /* For Chrome, Safari, Opera */
        -moz-appearance: none;    /* For Firefox */
        appearance: none;         /* Standard property */
    }
}


.btn-search {
    height: 45px;
    padding: 0 25px;
    background: linear-gradient(45deg, #007bff, #0056b3);
    border: none;
    border-radius: 5px;
    color: white;
    font-weight: bold;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.btn-search:hover {
    background: linear-gradient(45deg, #0056b3, #004085);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 123, 255, 0.4);
}

/* Responsividad */
@media (max-width: 768px) {
    .search-row {
        flex-direction: column;
    }

    .search-field {
        width: 100%;
        min-width: auto;
    }

    .search-form-container {
        margin: 0 15px;
    }
}

.form-control:focus {
  box-shadow:none;
  outline: 0 none;
}

ul.tag-cloud,
ul.sidebar-gallery {
  list-style: none;
  padding: 0;
  margin: 0;
}

.tag-cloud li{
    display: inline-block;
    margin-bottom: 3px;
}

.tag-cloud li a {
  background: #f5f5f5;
  color: #888;
  border: 0;
  border-radius: 4px;
  padding: 8px 15px;
}

.tag-cloud li a:hover{
  background:#0f1c37;
  color: #fff;
}

.sidebar-gallery li{
  display: inline-block;
  margin: 0 10px 10px 0;
}

.sidebar-gallery li a {
  border-radius: 4px;
  display: inline-block;
}

.main-container-wrapper {
    margin-top: 20px;
}

/* Estilos adicionales para el sidebar */
.main-content-wrapper {
    position: relative;
    width: 100%;
}

.main-content {
    margin-left: 14%;
    margin-right: 12%;
}

.sidebar-derecho-wrapper {
    position: absolute;
    right: 0;
    top: 0;
    width: 220px;
    height: 100%;
    padding-right: 15px;
}

.sidebar-derecho {
    position: sticky;
    top: 90px;
    display: flex;
    flex-direction: column;
    padding: 15px;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
    z-index: 990;
}

.sidebar-item {
    margin-bottom: 15px;
}

/* Ajustes responsivos */
@media (max-width: 1199px) {
    .main-content {
        padding-right: 240px;
    }
}

@media (max-width: 1399px) {
    .sidebar-derecho-wrapper {
        width: 100%;
        position: relative;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 20px;
    }

    .sidebar-derecho {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin: 0;
    }

    .sidebar-item {
        flex: 0 0 auto;
        max-width: 30%;
        text-align: center;
    }

    .sidebar-item img {
        max-width: 100%;
        height: auto;
    }
}

@media (max-width: 991px) {
    .main-content-wrapper {
        flex-direction: column;
    }

    .main-content {
        padding-right: 0;
        margin-bottom: 30px;
    }

    .sidebar-derecho-wrapper {
        position: relative;
        width: 100%;
        height: auto;
        padding-right: 0;
    }

    .sidebar-derecho {
        position: relative;
        top: auto;
        flex-direction: row;
        overflow-x: auto;
        max-height: none;
        padding: 15px;
    }

    .sidebar-item {
        flex: 0 0 200px;
        margin-right: 15px;
        margin-bottom: 0;
    }
}

@media (max-width: 768px) {
    .sidebar-derecho-wrapper {
        width: 100%;
        position: relative;
        display: flex;
        gap: 20px;
    }

    .sidebar-derecho {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .sidebar-item {
        flex: 0 0 auto;
        max-width: 30%;
        text-align: center;
    }

    .sidebar-item img {
        max-width: 100%;
        height: auto;
    }

    .main-content{
        margin-left: 0;
        margin-right: 0;
    }
}

.page-content {
    width: 90%;
    padding: 0;
}

.page-content .container {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
}

.page-content p {
    text-align: center;
}

.page-content .row {
    margin-left: 5%;
}

.page-content strong {
    color: black;
}

#contact-page .container .center a{
    color: #0f1c37;
}


.section-header {
    text-align: center;
    margin-bottom: 30px;
}

.section-header h3 {
    margin-bottom: 15px;
}

.section-header hr {
    width: 60%;
    margin: 0 auto 20px auto;
}

/* --- contact --- */
#contact-page{
  padding-top: 0;
  background:#fff;
  margin-bottom:50px;
}

#contact-page .contact-form
.form-group label {
  color: #4E4E4E;
  font-size: 14px;
  font-weight: 300;
}

.form-group .form-control {
  padding: 7px 12px;
  border-color:#f2f2f2;
  box-shadow: none;
}


.validation {
    color: red;
    display:none;
    margin: 0 0 20px;
    font-weight:400;
    font-size:13px;
}

#sendmessage {
    color: green;
    border:1px solid green;
    display:none;
    text-align:center;
    padding:15px;
    font-weight:600;
    margin-bottom:15px;
}

#errormessage {
    color: red;
    display:none;
    border:1px solid red;
    text-align:center;
    padding:15px;
    font-weight:600;
    margin-bottom:15px;
}

#sendmessage.show, #errormessage.show, .show {
	display:block;
}

#contact-page .contact-wrap {
  margin-top: 20px;
}

#contact-page .contact-wrap label {
  color: black;
}

#contact-page .contact-wrap .form-group {
  padding: 10px;
  border: 1px solid #f2f2f2;
  border-radius: 5px;

}

.center h2{
  font-size: 36px;
  margin-top: 0;
  margin-bottom: 20px;
  text-align:center;
}
.center p{
   text-align:center;
}

.btn-lg:hover {
	color:#0f1c37;
	background:#ddd;
}

a.scrollup{
    /*color:#fff;*/
    color: darkgray;
	height:40px;
	width:40px;
	font-size:12px;
	line-height:30px;
	text-align:center;
	text-decoration:none;
	position:fixed;
	bottom:30px;
	left:40px;
	opacity:0.5;
	border-radius:50%;
	z-index:999;
}
a.scrollup:hover{
	opacity:1;
	background-color:#ddd;
	color:#0f1c37;
}
 
.mt-5{
  margin-top: 5%;
}

.mt-20{
  margin-top: 20px;
}

.c-img{
  width:100%; 
  margin:10px 5px;
}

.logo-container {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.logo-image {
    flex: 0 0 250px;
    margin-right: 20px;
}

.logo-text {
    flex: 1;
    min-width: 200px;
}
.promo-image {
    margin-top: 30px; /* Le da un espacio superior para que no se pegue con el QR */
}


/* --- Media Query para Celulares (pantallas de 768px o menos) --- */
@media (max-width: 768px) {
    .logo-container {
        flex-direction: column; /* Apila los elementos verticalmente */
        text-align: center; /* Centra el texto en móviles */
    }

    .logo-image {
        margin-right: 0; /* Elimina el margen derecho */
        margin-bottom: 15px; /* Añade un espacio debajo de la imagen */
    }

    .f-descripcion p {
        text-align: center; /* Centra el párrafo de descripción */
    }
}


#myCarousel3 .center {
    position: relative; /* Contenedor de referencia para posicionamiento absoluto */
    width: 100%;
    height: 20px; /* Ajusta la altura si es necesario */
    display: block;
}

#myCarousel3 .center .left {
    position: absolute;
    left: 0; /* Alinea a la izquierda */
}

#myCarousel3 .center .right {
    position: absolute;
    right: 0; /* Alinea a la derecha */
}

.f-titulo{
  width:100%; 
  line-height: 1.3em;
  margin:5px; 
  font-size:2.5em; 
  font-weight:600;
  color:black
}

.f-descripcion{
  width:100%; 
  text-align: justify;
  margin-top:15px; 
  font-weight:500
}

.f-descripcion p {
  font-size: 1.1em;
}

.f-tservicio {
  width:100%;  
  margin: 25px 0 0 0; 
  color:black; 
  justify-content:center; 
  font-size:1.5em; 
  font-weight:600
}

.f-cdetalle{
  width:100%;  
  margin:5px;
  color: #000;
}

.f-serviciodetalle{
  display: flex;
  width: 100%;
  font-size:1em; 
  font-weight:600; 
  margin:15px 0px 10px 5px; 
  color:black;
}

.f-serviciodetalle .p{
  font-size:1em; 
  font-weight:600; 
  margin:15px 0px 0px 15px; 
  color:black;
}

.f-cdetalle{
  width:100%;  
  margin:0px 15px;
}

.f-tdetalle{
  width:100%; 
  margin:3px 0px 0px 15px; 
  color:black; 
  font-size:1em; 
  font-weight:400;
}

.bg-rs{
  background-color: #EFECE9;
  padding-top: 10px;
  padding-bottom: 20px; 
}

.f-trs{
  font-size:1em; 
  font-weight:600; 
  margin:15px 0px 0px 0px; 
  color:black;
}

.f-cdrs{
  width:100%;  
  margin:0px 5px;
}

.f-ctext{
  width:100%; 
  margin:0px 0px 0px 15px; 
  color:black; 
  font-size:1em; 
  font-weight:400;
}

.promocion{
  width:100%;  
  margin: 5% 0px;
  display: flex;
  text-align: left;
  line-height: 1.5em;
  font-size:1.8em;
  font-weight:600;  
  color:black;
}













/* PRESENTACION */

.banner_v2{
  padding-top: 30px;
}

.row2{
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

.justify-content-md-center{
  justify-content: center !important;
}

.img-responsive2{
  border-radius: 3rem;
  height: 16rem;
  width: 16rem;
}

.mt-3{
  width: 90%;
  margin-top: 2rem !important;
}

.mb-2{
  margin-bottom:2rem;
}

.text-center2{
  text-align: center !important;
}

.shadow{
  box-shadow: 5px 5px 3px grey;
}

.btn2{
  display: inline-block;
    margin-bottom: 0;
    font-weight: 400;
    text-align: center;
    vertical-align: middle;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    cursor: pointer;
    background-image: none;
    border: 1px solid transparent;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    border-radius: 4px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.col-social{
  width: 33%;
}