/*
Theme Name:
Author: yaminncco

Colors:
	Body 		  : #868F9B
	Headers 	: #10161A
	Primary 	: #6195FF
	Dark      : #FCFCFF
	Grey 		  : #F4F4F4 #FAFAFA #EEE

Fonts: Montserrat Varela Round

Table OF Contents
------------------------------------
1 > General
2 > Logo
3 > Navigation
4 > Header
5 > About
6 > Portfolio
7 > Services
8 >  Why choose us
9 >  Numbers
10 > Pricing
11 > Testimonial
12 > Team
13 > Blog
14 > Blog post
15 > Blog sidebar
16 > Contact
17 > Footer
18 > Responsive
19 > Owl theme
20 > Back to top
21 > Preloader
22 > Sticky Bar

------------------------------------*/



/*------------------------------------*\
	General
\*------------------------------------*/


/* -- typography -- */

body {
    font-family: 'Varela Round', sans-serif;
    font-size: 18px;
    line-height: 1.6;
    overflow-x: hidden;
    color: #868F9B;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    margin-top: 0px;
    margin-bottom: 20px;
    color: #10161A;
}

h1 {
    font-size: 54px;
}

h2 {
    font-size: 36px;
}

h3 {
    font-size: 21px;
}

h4 {
    font-size: 18px;
}

h5 {
    font-size: 16px;
}

a {
    color: rgba(134, 143, 155, 1);
    text-decoration: none;
    -webkit-transition: 0.2s opacity;
    transition: 0.2s opacity;
}

a .correo{
    color: #2eab71;
}

a:hover, a:focus {
    text-decoration: none;
    outline: none;
    opacity: 0.8;
    color: rgba(134, 143, 155, 1);
}

.center-title{
    text-align: center;
}

.main-color {
    color: #2eab71;
}

.white-text {
    color: #FFF;
}

::-moz-selection {
    background-color: #2eab71;
    color: #FFF;
}

::selection {
    background-color: #2eab71;
    color: #FFF;
}

ul, ol {
    margin: 0;
    padding: 0;
    list-style: none
}

.over-pic{
    background-color: #FFF;
    border-radius: 5px;
    transition: 0.5s;
  	cursor: pointer;
}

.over-pic:hover{
    background-color: #2eab71; 
  	cursor: pointer;
}

/* -- section  -- */

.contenedor-modal{
    width: 100%;
    height: 100vh;
    float: left;
    position: fixed;
    top: -100vh;
    left: 0;
    background-color: rgba(0, 0, 0, .4);
    z-index: 1000;
    transition: top ease .4s;
}

.contenedor-modal.muestra-modal{
    top: 0;
    transition: top ease .4s;
}

.contenedor-info-modal{
    width: 400px;
    height: 440px;
    float: left;
    background-color: #2e6444;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

.contenedor-btn-modal{
    width: 100%;
    height: 40px;
    float: left;
    background-color: transparent;
    padding-top: 10px;
    padding-right: 20px;
}

.contenedor-btn-modal h1{
    width: auto;
    height: auto;
    background-color: transparent;
    float: left;
    font-size: 16px;
    color: #FFF;
    padding-left: 20px;
    padding-top: 5px;
    letter-spacing: -1px;
}

.contenedor-btn-modal button{
    width: 20px;
    height: 20px;
    float: right;
    background-color: transparent;
    appearance: none;
    border: none;
    outline: none;
}

.contenedor-btn-modal button img{
    width: 20px;
    height: 20px;
    float: left;
    background-color: transparent;
}

.contenedor-imgs-modal{
    width: 100%;
    height: 400px;
    float: left;
    background-color: transparent;
}

.contenedor-imgs-modal a{
    width: 400px;
    height: 400px;
    float: left;
    background-color: transparent;
    position: relative;
}

.contenedor-imgs-modal a img{
    width: 400px;
    height: 400px;
    float: left;
    background-color: transparent;
}


.section {
    position: relative;
    padding-left: 20px;
    padding-right: 20px;
}

.md-padding {
    padding-top: 120px;
    padding-bottom: 120px;
}

.sm-padding {
    padding-top: 60px;
    padding-bottom: 60px;
}

.btn-whats-app{
    width: 60px;
    height: 60px;
    float: left;
    background-color: transparent;
    position: fixed;
    right: 20px;
    bottom: 130px;
    z-index: 10;
}

.btn-whatsapp-2{
    bottom: 90px;
}

.btn-whats-app a{
    width: 65px;
    height: 65px;
    float: left;
    background-color: #2EAB71;
    border-radius: 50%;
    position: relative;
}

.btn-whats-app a img{
    width: 35px;
    height: 35px;
    float: left;
    background-color: transparent;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

video{
    width: 100%;
    height: auto;
    background-color: transparent;
    float: left;
}


/* --  background section  -- */

.bg-grey {
    background-color: #FAFAFA;
    border-top: 1px solid #EEE;
    border-bottom: 1px solid #EEE;
}

.bg-dark {
    background-color: #1C1D21;
}


/* --  background image section  -- */

.bg-img {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-image: url('../img/background1.jpg');
}

.bg-img .overlay {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    opacity: .2;
    background: #1C1D21;
}

@media only screen and (max-width: 1380px) {
    
    .bg-img {
        background-image: url('../img/background2.jpg');
    }
}




@media only screen and (max-width: 680px) {
    
    .bg-img {
        background-attachment: unset;
        background-image: url('../img/background3.jpg');
    }
}


/* --  section header  -- */

.section-header {
    position: relative;
    margin-bottom: 60px;
}

.section-header .title {
    text-transform: capitalize;
}

.title:after {
    content:"";
  	display:block;
  	height:4px;
  	width:40px;
  	background-color: #2eab71;
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
}

.text-center .title:after {
    margin: 20px auto 0px;
}

.p-center{
    text-align: center;
}

/* --  Input  -- */

input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="date"], input[type="url"], input[type="tel"], textarea {
    height: 40px;
    width: 100%;
    border: none;
	background: #F4F4F4;
    border-bottom: 2px solid #EEE;
    color: #354052;
    padding: 0px 10px;
    opacity: 1;
    -webkit-transition: 0.2s border-color, 0.2s opacity;
    transition: 0.2s border-color, 0.2s opacity;
}

textarea {
    padding: 10px 10px;
    min-height: 80px;
    resize: vertical;
}

input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus, input[type="number"]:focus, input[type="date"]:focus, input[type="url"]:focus, input[type="tel"]:focus, textarea:focus {
    border-color: #2eab71;
    opacity: 1;
}

/* --  Buttons  -- */

.main-btn, .white-btn, .outline-btn {
    display: inline-block;
    padding: 10px 35px;
    margin: 3px;
    border: 2px solid transparent;
    border-radius: 3px;
    -webkit-transition: 0.2s opacity;
    transition: 0.2s opacity;
    outline: none;
}

.main-btn {
    background: #2eab71;
    color: #FFF;
}

.white-btn {
    background: #FFF;
    color: #10161A !important;
}

.outline-btn {
    background: transparent;
    color: #2eab71 !important;
    border-color: #2eab71;
}

.main-btn:hover, .white-btn:hover, .outline-btn:hover {
    opacity: 0.8;
}


@media only screen and (max-width: 450px) {
    
    .contenedor-info-modal{
        width: 350px;
        height: 390px;
    }
    
    .contenedor-imgs-modal{
        height: 350px;
    }
    
    .contenedor-imgs-modal a{
        width: 350px;
        height: 350px;
    }
    
    .contenedor-imgs-modal a img{
        width: 350px;
        height: 350px;
    }
}


/*------------------------------------*\
	Logo
\*------------------------------------*/

.navbar-brand {
    padding: 0;
    padding-left: -80px;
    padding-top: -10px; 
}

.navbar-brand .logo, .navbar-brand .logo-alt {
    max-height: 50px;
    display: block;
}

#nav:not(.nav-transparent):not(.fixed-nav) .navbar-brand .logo-alt {
	display: none;
}

#nav.nav-transparent:not(.fixed-nav) .navbar-brand .logo {
	display: none;
}

#nav.fixed-nav .navbar-brand .logo-alt {
    display: none;
}

@media only screen and (max-width: 767px) {
    #nav.nav-transparent .navbar-brand .logo-alt {
        display: none !important;
    }
    #nav.nav-transparent .navbar-brand .logo {
        display: block !important;
    }
}


/*------------------------------------*\
	Navigation
\*------------------------------------*/

#nav {
    padding: 10px 0px;
    background: #FFF;
    -webkit-transition: 0.2s padding;
    transition: 0.2s padding;
    z-index: 999;
}

#nav.navbar {
    border: none;
    border-radius: 0;
    margin-bottom: 0px;
}
#nav.fixed-nav {
    position: fixed;
    left: 0;
    right: 0;
    padding: 10px 0px;
    background-color: #2eab71;
    border-bottom: none;
}


#nav.nav-transparent {
    background: transparent;
}


/* -- default nav -- */

@media only screen and (min-width: 768px) {
    .main-nav li {
        padding: 0px 15px;
    }
    .main-nav li a {
        font-size: 14px;
        -webkit-transition: 0.2s color;
        transition: 0.2s color;
    }
    .main-nav>li>a {
        color: #10161A;
        padding: 15px 0px;
    }
    #nav.nav-transparent:not(.fixed-nav) .main-nav>li>a {
        color: #fff;
    }
    .main-nav>li>a:hover, .main-nav>li>a:focus, .main-nav>li.active>a {
        background: transparent;
        color: #2eab71;
    }
    .main-nav>li>a:after {
        content: "";
        display: block;
        background-color: #2eab71;
        height: 2px;
        width: 0%;
        -webkit-transition: 0.2s width;
        transition: 0.2s width;
    }
    .main-nav>li>a:hover:after, .main-nav>li.active>a:after {
        width: 100%;
    }
    /* dropdown */
    .has-dropdown {
        position: relative;
    }
    .has-dropdown>a:before {
        font-family: 'FontAwesome';
        content: "\f054";
        font-size: 6px;
        margin-left: 6px;
        float: right;
        -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        transform: rotate(90deg);
        -webkit-transition: 0.2s transform;
        transition: 0.2s transform;
    }
    .dropdown {
        position: absolute;
        right: -50%;
        top: 0;
        background-color: #2eab71;
        width: 200px;
        -webkit-box-shadow: 0px 5px 5px -5px rgba(53, 64, 82, 0.2);
        box-shadow: 0px 5px 5px -5px rgba(53, 64, 82, 0.2);
        -webkit-transform: translateY(15px) translateX(50%);
        -ms-transform: translateY(15px) translateX(50%);
        transform: translateY(15px) translateX(50%);
        opacity: 0;
        visibility: hidden;
        -webkit-transition: 0.2s all;
        transition: 0.2s all;
    }
    .main-nav>.has-dropdown>.dropdown {
        top: 100%;
        right: 50%;
    }
    .main-nav>.has-dropdown>.dropdown .dropdown.dropdown-left {
        right: 150%;
    }
    .dropdown li a {
        display: block;
        color: #FFF;
        border-top: 1px solid rgba(250, 250, 250, 0.1);
        padding: 10px 0px;
    }
    .dropdown li:nth-child(1) a {
        border-top: none;
    }
    .has-dropdown:hover>.dropdown {
        opacity: 1;
        visibility: visible;
        -webkit-transform: translateY(0px) translateX(50%);
        -ms-transform: translateY(0px) translateX(50%);
        transform: translateY(0px) translateX(50%);
    }
    .has-dropdown:hover>a:before {
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    .nav-collapse {
        display: none;
        padding-right: 20px;
        padding-top: 10px;
    }
}


/* -- mobile nav -- */

@media only screen and (max-width: 767px) {
    #nav {
        padding: 0px 0px;
    }
    #nav.nav-transparent {
        background: #FFF;
    }
    .main-nav {
        position: fixed;
        right: 0;
        height: calc(100vh - 80px);
        -webkit-box-shadow: 0px 80px 0px 0px #1C1D21;
        box-shadow: 0px 80px 0px 0px #1C1D21;
        max-width: 250px;
        width: 0%;
        -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
        transform: translateX(100%);
        margin: 0;
        overflow-y: auto;
        background: #1C1D21;
        -webkit-transition: 0.2s all;
        transition: 0.2s all;
    }
    #nav.open .main-nav {
        -webkit-transform: translateX(0%);
        -ms-transform: translateX(0%);
        transform: translateX(0%);
        width: 100%;
    }
    .main-nav li {
        border-top: 1px solid rgba(250, 250, 250, 0.1);
    }
    .main-nav li a {
        display: block;
        color: #FFF;
        -webkit-transition: 0.2s all;
        transition: 0.2s all;
    }
    .main-nav>li.active {
        border-left: 6px solid #2eab71;
    }
    .main-nav li a:hover, .main-nav li a:focus {
        background-color: #2eab71;
        color: #FFF;
        opacity: 1;
    }
    .has-dropdown>a:after {
        content: "\f054";
        font-family: 'FontAwesome';
        float: right;
        -webkit-transition: 0.2s -webkit-transform;
        transition: 0.2s -webkit-transform;
        transition: 0.2s transform;
        transition: 0.2s transform, 0.2s -webkit-transform;
    }
    .dropdown {
        opacity: 0;
        visibility: hidden;
        height: 0;
        background: rgba(250, 250, 250, 0.1);
    }
    .dropdown li a {
        padding: 6px 10px;
    }
    .has-dropdown.open-drop>a:after {
        -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        transform: rotate(90deg);
    }
    .has-dropdown.open-drop>.dropdown {
        opacity: 1;
        visibility: visible;
        height: auto;
        -webkit-transition: 0.2s all;
        transition: 0.2s all;
    }
}


/* -- nav btn collapse -- */

.nav-collapse {
    position: relative;
    float: right;
    width: 40px;
    height: 40px;
    margin-top: 5px;
    margin-right: 5px;
    cursor: pointer;
    z-index: 99999;
}

.nav-collapse span {
    display: block;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    width: 25px;
}

.nav-collapse span:before, .nav-collapse span:after {
    content: "";
    display: block;
}

.nav-collapse span, .nav-collapse span:before, .nav-collapse span:after {
    height: 4px;
    background: #10161A;
    -webkit-transition: 0.2s all;
    transition: 0.2s all;
}

.nav-collapse span:before {
    -webkit-transform: translate(0%, 10px);
    -ms-transform: translate(0%, 10px);
    transform: translate(0%, 10px);
}

.nav-collapse span:after {
    -webkit-transform: translate(0%, -14px);
    -ms-transform: translate(0%, -14px);
    transform: translate(0%, -14px);
}

#nav.open .nav-collapse span {
    background: transparent;
}

#nav.open .nav-collapse span:before {
    -webkit-transform: translateY(0px) rotate(-135deg);
    -ms-transform: translateY(0px) rotate(-135deg);
    transform: translateY(0px) rotate(-135deg);
}

#nav.open .nav-collapse span:after {
    -webkit-transform: translateY(-4px) rotate(135deg);
    -ms-transform: translateY(-4px) rotate(135deg);
    transform: translateY(-4px) rotate(135deg);
}


/*------------------------------------*\
	Header
\*------------------------------------*/

header {
    position: relative;
}

#home {
    height: 100vh;
}

#home .home-wrapper {
    position: absolute;
    left: 0px;
    right: 0px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    text-align: center;
}

.home-content{
    box-shadow: #EEE;
}

.home-content h1 {
  text-transform: uppercase;
}
.home-content button {
  margin-top: 20px;
}

.home-banner{
    position: relative;
    width: 60%;
    box-shadow: #EEE;
}

.header-wrapper h2 {
    display: inline-block;
    margin-bottom: 0px;
}

.header-wrapper .breadcrumb {
    float: right;
    background: transparent;
    margin-bottom: 0px;
}

.header-wrapper .breadcrumb .breadcrumb-item.active {
    color: #868F9B;
}

.breadcrumb>li+li:before {
    color: #868F9B;
}


/*------------------------------------*\
	About
\*------------------------------------*/

.about {
    position: relative;
    text-align: center;
    padding: 40px 20px;
    border: 1px solid #EEE;
    margin: 15px 0px;
}

.about i {
    font-size: 36px;
    color: #2eab71;
    margin-bottom: 20px;
}

.about:after {
    content: "";
    background-color: #1C1D21;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 0%;
    z-index: -1;
    -webkit-transition: 0.2s width;
    transition: 0.2s width;
}

.about:hover:after {
    width: 100%;
}

.about h3 {
    -webkit-transition: 0.2s color;
    transition: 0.2s color;
}

.about:hover h3 {
    color: #fff;
}


/*------------------------------------*\
	Portfolio
\*------------------------------------*/

.work {
    position: relative;
    padding: 20px;
}

.work>img {
  width: 100%;
}

.work .overlay {
    background: #1C1D21;
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    opacity: 0;
    -webkit-transition: 0.2s opacity;
    transition: 0.2s opacity;
    -webkit-transition-delay: 0.2s;
    transition-delay: 0.2s;
}

.work:hover .overlay {
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
    opacity: 0.8;
}

.work .work-content {
    position: absolute;
    left: 25px;
    right: 25px;
    top: 50%;
    text-align: center;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.work .work-content h3 {
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%);
    opacity: 0;
    color: #FFF;
    margin-bottom: 10px;
    -webkit-transition: 0.2s all;
    transition: 0.2s all;
    -webkit-transition-delay: 0.1s;
    transition-delay: 0.1s;
}

.work:hover .work-content h3 {
    -webkit-transform: translateY(0%);
    -ms-transform: translateY(0%);
    transform: translateY(0%);
    opacity: 1;
    -webkit-transition-delay: 0.1s;
    transition-delay: 0.1s;
}

.work .work-content span {
    display: block;
    text-transform: uppercase;
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%);
    opacity: 0;
    color: #2eab71;
    margin-bottom: 5px;
    -webkit-transition: 0.2s all;
    transition: 0.2s all;
    -webkit-transition-delay: 0.2s;
    transition-delay: 0.2s;
}

.work:hover .work-content span {
    -webkit-transform: translateY(0%);
    -ms-transform: translateY(0%);
    transform: translateY(0%);
    opacity: 1;
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
}

.work .work-link {
    text-align: center;
    margin-top: 20px;
    opacity: 0;
    -webkit-transition: 0.2s opacity;
    transition: 0.2s opacity;
}

.work .work-link a {
    display: inline-block;
    width: 50px;
    height: 50px;
    background-color: #6195FF;
    color: #FFF;
    line-height: 50px;
    text-align: center;
}

.work:hover .work-link {
    -webkit-transition-delay: 0.2s;
    transition-delay: 0.2s;
    opacity: 1;
}


/*------------------------------------*\
	Services
\*------------------------------------*/

.service {
    position: relative;
    padding: 40px 20px 40px 70px;
    margin: 15px 0px;
    border: 1px solid #EEE;
}

.service i {
    position: absolute;
    left: 20px;
    text-align: center;
    font-size: 32px;
    color: #6195FF;
    border-radius: 50%;
}

.service:after {
    content: "";
    background-color: #1C1D21;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 0%;
    z-index: -1;
    -webkit-transition: 0.2s width;
    transition: 0.2s width;
}

.service:hover:after {
    width: 100%;
}

.service h3 {
  -webkit-transition: 0.2s color;
  transition: 0.2s color;
}

.service:hover h3 {
    color: #fff;
}

/*------------------------------------*\
	Why choose us
\*------------------------------------*/

.feature {
    margin: 15px 0px;
}
.feature i {
    float: left;
    padding: 5px;
    border-radius: 50%;
    color: #6195FF;
    border: 1px solid #6195FF;
    margin-right: 5px;
}

/*------------------------------------*\
	Numbers
\*------------------------------------*/

.number {
    text-align: center;
    margin: 15px 0px;
}

.number i {
    color: #6195FF;
    font-size: 36px;
    margin-bottom: 20px;
}

.number h3 {
    font-size: 36px;
    margin-bottom: 10px;
}


/*------------------------------------*\
	Pricing
\*------------------------------------*/

.pricing {
    position: relative;
    text-align: center;
    border: 1px solid #EEE;
    background-color: #FFF;
    z-index: 11;
    margin: 15px 0px;
}

.pricing::after {
    content: "";
    background-color: #1C1D21;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 0%;
    z-index: -1;
    -webkit-transition: 0.2s height;
    transition: 0.2s height;
}

.pricing:hover:after {
    height: 100%;
}

.pricing .price-head {
    position: relative;
    margin-bottom: 20px;
}

.pricing .price-title {
    display: block;
    padding: 40px 0px 20px;
    text-transform: uppercase;
    -webkit-transition: 0.2s color;
    transition: 0.2s color;
}

.pricing:hover .price-title {
    color: #6195FF;
}

.pricing .price {
    position: relative;
    width: 140px;
    height: 140px;
    line-height: 140px;
    text-align: center;
    margin: auto;
    border-radius: 50%;
    border: 2px solid #6195FF;
}

.pricing .price h3 {
  font-size: 42px;
  margin: 0px;
  -webkit-transition: 0.2s color;
  transition: 0.2s color;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  top: 50%;
  position: absolute;
  left: 0;
  right: 0;
}

.pricing:hover .price h3 {
    color: #fff;
}

.pricing .duration {
    display: block;
    font-size: 14px;
    text-transform: uppercase;
    color: #10161A;
    -webkit-transition: 0.2s color;
    transition: 0.2s color;
}

.pricing:hover .duration {
    color: #fff;
}

.pricing .price-btn {
    padding-top: 20px;
    padding-bottom: 40px;
}

/*------------------------------------*\
	Testimonial
\*------------------------------------*/

.testimonial {
    margin: 15px 0px;
}

.testimonial-meta {
    position: relative;
    padding-left: 90px;
    height: 70px;
    margin-bottom: 20px;
    padding-top: 10px;
}

.testimonial img {
    position: absolute;
    left: 0;
    top: 0;
    width: 70px !important;
    height: 70px !important;
    border-radius: 50%;
}

.testimonial h3 {
    margin-bottom: 5px;
}

.testimonial span {
    font-size: 14px;
    color: #6195FF;
    text-transform: uppercase;
}


/*------------------------------------*\
	Team
\*------------------------------------*/

.team {
    position: relative;
    background-color: #F4F4F4;
    padding: 40px 20px;
    margin: 15px 0px;
}

.team::after {
    content: "";
    background-color: #1C1D21;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 0%;
    z-index: 1;
    -webkit-transition: 0.2s height;
    transition: 0.2s height;
}

.team:hover:after {
    height: 100%;
}

.team-img {
    position: relative;
    margin-bottom: 20px;
    z-index: 11;
}

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

.team .overlay {
    background: #1C1D21;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
    opacity: 0;
    -webkit-transition: 0.2s opacity;
    transition: 0.2s opacity;
}

.team:hover .overlay {
    opacity: 0.8;
}

.team .team-content {
    text-align: center;
    position: relative;
    z-index: 11;
}

.team .team-content h3 {
    margin-bottom: 10px;
    -webkit-transition: 0.2s color;
    transition: 0.2s color;
}

.team .team-content span {
    font-size: 14px;
    text-transform: uppercase;
    -webkit-transition: 0.2s color;
    transition: 0.2s color;
}

.team:hover .team-content h3 {
    color: #FFF;
}

.team:hover .team-content span {
    color: #6195FF;
}

.team .team-social {
    position: absolute;
    top: 0;
    right: 0;
    opacity: 0;
    -webkit-transition: 0.2s opacity;
    transition: 0.2s opacity;
}

.team .team-social a {
    display: block;
    line-height: 50px;
    width: 50px;
    text-align: center;
    background-color: #6195FF;
    color: #FFF;
}

.team:hover .team-social {
    opacity: 1;
}


/*------------------------------------*\
	Blog
\*------------------------------------*/

.blog {
    background-color: #FFF;
    margin: 15px 0px;
}

.blog .blog-content {
    padding: 20px 20px 40px;
}

.blog .blog-meta {
    margin-bottom: 20px;
}

.blog .blog-meta li {
    display: inline-block;
    font-size: 14px;
    color: #10161A;
    margin-right: 10px;
}

.blog .blog-meta li i {
    color: #6195FF;
    margin-right: 5px;
}

/*------------------------------------*\
	Blog post
\*------------------------------------*/

#main .blog .blog-content {
  padding: 20px 0px 0px;
}

#main .blog {
  margin-top: 0px;
}

/* -- blog tags -- */

.blog-tags {
    margin: 40px 0px;
}

.blog-tags h5 {
    margin-bottom: 0;
    display: inline-block;
}

.blog-tags a {
    display: inline-block;
    padding: 6px 13px;
    font-size: 14px;
    margin: 2px 0px;
    background: #F4F4F4;
    color: #10161A;
}

.blog-tags a:hover {
  color: #FFF;
  background-color: #6195FF;
}

.blog-tags a i {
    margin-right: 3px;
    color: #6195FF;
}

.blog-tags a:hover i {
  color: #FFF;
}


/* -- blog author -- */

.blog-author {
    margin: 40px 0px;
}

.blog-author .media .media-left {
    padding-right: 20px;
}

.blog-author .media {
    padding: 20px;
    border: 1px solid #EEE;
}

.blog-author .media .media-heading {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #EEE;
}

.blog-author .media .media-heading h3 {
    display: inline-block;
    margin: 0;
    text-transform: uppercase;
}

.blog-author .media .media-heading .author-social {
  float: right;
}

.blog-author .author-social a {
    display: inline-block;
    width: 24px;
    height: 24px;
    text-align: center;
    line-height: 24px;
    border-radius: 3px;
    margin-left: 5px;
    color: #FFF;
    background-color: #6195FF;
}

/* -- blog comments -- */

.blog-comments {
    margin: 40px 0px;
}

.blog-comments .media {
    padding: 20px;
    background-color: #FFF;
    border-top: 1px solid #EEE;
    border-bottom: 0px;
    border-right: 1px solid #EEE;
    border-left: 1px solid #EEE;
    margin-top: 0px;
}

.blog-comments .media:first-child {
    border-bottom: 0px;
}

.blog-comments .media:last-child {
    border-bottom: 1px solid #EEE;
}

.blog-comments .media .media-left {
  padding-right: 20px;
}

.blog-comments .media .media-body .media-heading {
    text-transform: uppercase;
    margin-bottom:10px;
}

.blog-comments .media .media-body .media-heading .time {
    font-size: 12px;
    margin-left: 20px;
    font-weight: 400;
    color: #868F9B;
}

.blog-comments .media .media-body .media-heading .reply {
    float: right;
    margin: 0;
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 400;
}

.blog-comments .media.author {
    background-color: #F4F4F4;
    border-color: #6195FF;
    border-bottom: 1px solid #6195FF;
}
.blog-comments .media.author>.media-body>.media-heading {
    color: #6195FF;
}

.blog-comments .media.author + .media {
    border-top: 0px;
}

/* blog reply form */

.reply-form {
    margin: 40px 0px;
}

.reply-form form .input, .reply-form form .input , .reply-form form textarea {
	margin-bottom:20px;
}

.reply-form form .input, .reply-form form .input {
    width: calc(50% - 10px);
    display: inline-block;
}

.reply-form form .input:nth-child(2) {
    margin-left: 15px;
}


/*------------------------------------*\
	Blog sidebar
\*------------------------------------*/

#aside .widget {
    margin-bottom: 40px;
}

.widget h3 {
  text-transform: uppercase;
}

/* -- search sidebar -- */

#aside .widget-search {
    position: relative;
}

#aside .widget-search .search-input {
    padding-right: 50px;
}

#aside .widget-search .search-btn {
    position: absolute;
    right: 0px;
	  bottom: 0px;
    width: 40px;
    height: 40px;
    border: none;
    line-height: 40px;
    background-color: transparent;
    color: #6195FF;
}

/* -- category sidebar -- */

.widget-category a {
    display: block;
    font-size: 14px;
    color: #354052;
    border-bottom: 1px solid #EEE;
    padding: 5px;
}

.widget-category a:nth-child(1) {
  border-top: 1px solid #EEE;
}

.widget-category a span {
    float: right;
    color: #6195FF;
}

.widget-category a:hover {
    color: #6195FF;
}

/* -- tags sidebar -- */

.widget-tags a {
  display: inline-block;
  padding: 6px 13px;
  font-size: 14px;
  margin: 2px 0px;
  background: #F4F4F4;
  color: #10161A;
}

.widget-tags a:hover {
  color: #FFF;
  background-color: #2eab71;
}

/* -- posts sidebar -- */

.widget-post {
    min-height: 70px;
    margin-bottom: 25px;
}

.widget-post img {
    display: block;
    float: left;
    margin-right: 10px;
    margin-top: 5px;
}

.widget-post a {
    display: block;
    color: #10161A;
}

.widget-post a:hover {
    color: #2eab71;
}

.widget-post .blog-meta {
    display: inline-block;
}

.widget-post .blog-meta li {
    display: inline-block;
    margin-right: 5px;
    color: #2eab71;
    font-size: 12px;
}

.widget-post li i {
    color: #2eab71;
    margin-right: 5px;
}



/*------------------------------------*\
	Contact
\*------------------------------------*/

.contact {
    margin: 15px 0px;
    text-align: center;
}

.contact i {
    font-size: 36px;
    color: #2eab71;
    margin-bottom: 20px;
}

.contact-form {
    text-align: center;
    margin-top: 40px;
}

.contact-form .input {
    margin-bottom: 20px;
}


.contact-form .input:nth-child(1), .contact-form .input:nth-child(2) {
    width: calc(50% - 10px);
}

.contact-form .input:nth-child(2) {
    margin-left: 15px;
}

/*------------------------------------*\
	Footer
\*------------------------------------*/

#footer {
    position: relative;
}

.footer-logo {
    text-align: center;
    margin-bottom: 40px;
}

.footer-logo>a>img {
    max-height: 80px;
}

.footer-follow {
    text-align: center;
    margin-bottom: 20px;
}

.footer-follow li {
    display: inline-block;
    margin-right: 10px;
    margin-bottom: 13px;
}

.footer-follow li a {
  display: inline-block;
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  border-radius: 3px;
  background-color: #2eab71;
  color:#FFF;
}

.footer-copyright p {
    text-align: center;
    font-size: 14px;
    text-transform: uppercase;
    margin: 0;
}


/*------------------------------------*\
	Responsive
\*------------------------------------*/


@media only screen and (max-width: 991px) {}

@media only screen and (max-width: 767px) {
  .section-header h2.title {
  		font-size:31.5px;
	}

  .main-btn , .default-btn , .outline-btn , .white-btn  {
  		padding: 8px 22px;
  		font-size:14px;
	}

  .home-content h1 {
		font-size:36px;
	}

  .header-wrapper h2 {
      margin-bottom: 20px;
      text-align: center;
      display: block;
  }

  .header-wrapper .breadcrumb {
      float: none;
      text-align: center;
  }
}

@media only screen and (max-width: 480px) {
  #portfolio [class*='col-xs'] {
		  width:100%;
	}

  #numbers [class*='col-xs'] {
		  width:100%;
	}

  .contact-form .input:nth-child(1), .contact-form .input:nth-child(2) {
      width: 100%;
  }
  .contact-form .input:nth-child(2) {
      margin-left: 0px;
  }

  .reply-form form .input, .reply-form form .input {
      width: 100%;
  }
  .reply-form form .input:nth-child(2) {
      margin-left: 0px;
  }



  .blog-author .media .media-left {
      display: block;
      padding-right: 0;
      margin-bottom: 20px;
  }
  .blog-author .media {
      text-align: center;
  }
  .blog-author .media .media-heading .author-social {
      margin-top: 10px;
      float: none;
  }
  .blog-author .media .media-left img {
      margin: auto;
  }

  .blog-comments .media .media {
      margin:0px -15px;
  }
}



/*------------------------------------*\
	Owl theme
\*------------------------------------*/

/* -- dots -- */

.owl-theme .owl-dots .owl-dot span {
    border: none;
    background: #EEE;
    -webkit-transition: 0.2s all;
    transition: 0.2s all;
}

.owl-theme .owl-dots .owl-dot:hover span {
    background: #2eab71;
}
.owl-theme .owl-dots .owl-dot.active span {
	  background: #2eab71;
	  width:20px;
}

/* -- nav -- */

.owl-theme .owl-nav {
    opacity: 0;
    -webkit-transition: 0.2s opacity;
    transition: 0.2s opacity;
}

.owl-theme:hover .owl-nav {
    opacity: 1;
}

.owl-theme .owl-nav [class*='owl-'] {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    background: #2eab71;
    color: #FFF;
  	padding: 0px;
  	width: 50px;
  	height: 50px;
  	border-radius:3px;
  	line-height: 50px;
  	margin: 0;
}

.owl-theme .owl-prev {
    left: 0px;
}

.owl-theme .owl-next {
    right: 0px;
}

.owl-theme .owl-nav [class*='owl-']:hover {
    opacity: 0.8;
    background: #2eab71;
}


/*------------------------------------*\
	Back to top
\*------------------------------------*/

#back-to-top {
  	display:none;
  	position: fixed;
  	bottom: 20px;
  	right: 20px;
  	width: 50px;
  	height: 50px;
  	line-height: 50px;
  	text-align: center;
  	background: #2eab71;
  	border-radius:3px;
  	color: #FFF;
  	z-index: 9999;
    -webkit-transition: 0.2s opacity;
    transition: 0.2s opacity;
  	cursor: pointer;
}

#back-to-top:after {
    content: "\f106";
    font-family: 'FontAwesome';
}

#back-to-top:hover {
    opacity: 0.8;
}

/*------------------------------------*\
	Preloader
\*------------------------------------*/


#preloader {
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    background-color: #FFF;
    z-index: 99999;
}

.preloader {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
}
.preloader span {
    display: inline-block;
    background-color: #2eab71;
    width: 25px;
    height: 25px;
    -webkit-animation: 1s preload ease-in-out infinite;
            animation: preload 1s ease-in-out infinite;
    -webkit-transform: scale(0);
        -ms-transform: scale(0);
            transform: scale(0);
    border-radius:50%;
}

.preloader span:nth-child(1) {
    -webkit-animation-delay: 0s;
            animation-delay: 0s;
}

.preloader span:nth-child(2) {
    -webkit-animation-delay: 0.1s;
            animation-delay: 0.1s;
}

.preloader span:nth-child(3) {
    -webkit-animation-delay: 0.15s;
            animation-delay: 0.15s;
}

.preloader span:nth-child(4) {
    -webkit-animation-delay: 0.2s;
            animation-delay: 0.2s;
}

@-webkit-keyframes preload {
	0% {
	   -webkit-transform:scale(0);
	           transform:scale(0);
	}
  50% {
    -webkit-transform:scale(1);
            transform:scale(1);
  }
  100% {
    -webkit-transform:scale(0);
            transform:scale(0);
  }
}

@keyframes preload {
	0% {
	   -webkit-transform:scale(0);
	           transform:scale(0);
	}
  50% {
    -webkit-transform:scale(1);
            transform:scale(1);
  }
  100% {
    -webkit-transform:scale(0);
            transform:scale(0);
  }
}


/*------------------------------------*\
	Sticky bar
\*------------------------------------*/

div.sticky {    
    position: sticky;
    left: 0;
    bottom: -29px;
    padding: 17px;
    width: 100%;
    font-size: 20px;
    z-index: 1;
}

div.sticky div {
    display: inline-block;    
}

#stick-left{
    text-align: center;
    width: 33%;
}

#stick-left i{
    font-size: 3em; 
}

#stick-center{
    text-align: center;
    width: 33%;
}

#stick-right{
    text-align: center;
    width: 33%;
}

.stick-icon{
    font-size: 48px; 
    color: white;
    bottom: -10px;
    left: -5px;
    position: relative;
}

.campo-vacio{
    color: #FFF;
    background: #f55f5f;
}

.img-curso{
    padding: 15px;
    -webkit-transition: 0.2s opacity;
    transition: 0.2s opacity;
}

.img-encabezados{
    width: 35%;
    text-align: center;
    margin: 0 auto;
}

.contact-l{
    text-align: center;
}

.contact-button{
    margin: 3% 0;
}

.contact-button a:hover{
    background-color: #1b8654;
    color: #f1f0f0;
    content: '\00bb';
    top: 0;
    right: -20px;
    transition: 0.5s;
}

.contact-l a {
    font-size: 1.3em;
    background-color: #2eab71;
    color: #f1f0f0;
    text-transform: uppercase;
    padding: 1% 18%;
    border-radius: 5px;
    text-align: center;
    letter-spacing: .2em;
}

.contact-mobile{
    display: none;
}

.social-mobile{
    display: none;
}

@media only screen and (max-width: 767px) {
    div.sticky {    
        position: fixed;
        left: 0;
        height: 130px;
        padding: 10px;
        width: 100%;
        font-size: 10px;
        z-index: 1;
    }

    #stick-left{
        text-align: center;
        width: 40%;
        word-wrap: break-word;
        height: 100%;
        margin-top: 20px;
    }

    #stick-center{
        text-align: center;
        width: 39%;
        word-wrap: break-word;

    }

    .stick-icon{
        font-size: 30px; 
        color: white;
        bottom: -10px;
        left: -5px;
        position: relative;
    }

    #stick-right{
        display: none;
    }

    .img-curso{
        padding: 15px;
    }

    .contact-mobile{
        display: inherit;
    }

    .contact-web{
        display: none;
    }

    .social-mobile{
        display: inherit;
    }

}

.tracking-in-expand-fwd {
	-webkit-animation: tracking-in-expand-fwd 0.8s cubic-bezier(0.215, 0.610, 0.355, 1.000) 1s both;
	        animation: tracking-in-expand-fwd 0.8s cubic-bezier(0.215, 0.610, 0.355, 1.000) 1s both;
}

.fade-in-bck {
	-webkit-animation: fade-in-bck 0.6s cubic-bezier(0.390, 0.575, 0.565, 1.000) 1.3s both;
	        animation: fade-in-bck 0.6s cubic-bezier(0.390, 0.575, 0.565, 1.000) 1.3s both;
}

.text-focus-in {
	-webkit-animation: text-focus-in 1s cubic-bezier(0.550, 0.085, 0.680, 0.530) 0.9s both;
	        animation: text-focus-in 1s cubic-bezier(0.550, 0.085, 0.680, 0.530) 0.9s both;
}

.slide-in-left {
	-webkit-animation: slide-in-left 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) 1s both;
	        animation: slide-in-left 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) 1s both;
}

.slide-in-right {
	-webkit-animation: slide-in-right 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) 1s both;
	        animation: slide-in-right 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) 1s both;
}

.slide-in-bottom {
	-webkit-animation: slide-in-bottom 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) 1s both;
	        animation: slide-in-bottom 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) 1s both;
}

/* ----------------------------------------------
 * Generated by Animista on 2020-4-27 19:17:48
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation tracking-in-expand-fwd
 * ----------------------------------------
 */
 @-webkit-keyframes tracking-in-expand-fwd {
    0% {
      letter-spacing: -0.5em;
      -webkit-transform: translateZ(-700px);
              transform: translateZ(-700px);
      opacity: 0;
    }
    40% {
      opacity: 0.6;
    }
    100% {
      -webkit-transform: translateZ(0);
              transform: translateZ(0);
      opacity: 1;
    }
  }
  @keyframes tracking-in-expand-fwd {
    0% {
      letter-spacing: -0.5em;
      -webkit-transform: translateZ(-700px);
              transform: translateZ(-700px);
      opacity: 0;
    }
    40% {
      opacity: 0.6;
    }
    100% {
      -webkit-transform: translateZ(0);
              transform: translateZ(0);
      opacity: 1;
    }
  }

  /* ----------------------------------------------
 * Generated by Animista on 2020-4-27 20:15:41
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation fade-in-bck
 * ----------------------------------------
 */
@-webkit-keyframes fade-in-bck {
    0% {
      -webkit-transform: translateZ(80px);
              transform: translateZ(80px);
      opacity: 0;
    }
    100% {
      -webkit-transform: translateZ(0);
              transform: translateZ(0);
      opacity: 1;
    }
  }
  @keyframes fade-in-bck {
    0% {
      -webkit-transform: translateZ(80px);
              transform: translateZ(80px);
      opacity: 0;
    }
    100% {
      -webkit-transform: translateZ(0);
              transform: translateZ(0);
      opacity: 1;
    }
  }
  
/* ----------------------------------------------
 * Generated by Animista on 2020-4-27 20:20:3
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation text-focus-in
 * ----------------------------------------
 */
 @-webkit-keyframes text-focus-in {
    0% {
      -webkit-filter: blur(12px);
              filter: blur(12px);
      opacity: 0;
    }
    100% {
      -webkit-filter: blur(0px);
              filter: blur(0px);
      opacity: 1;
    }
  }
  @keyframes text-focus-in {
    0% {
      -webkit-filter: blur(12px);
              filter: blur(12px);
      opacity: 0;
    }
    100% {
      -webkit-filter: blur(0px);
              filter: blur(0px);
      opacity: 1;
    }
  }
  
/* ----------------------------------------------
 * Generated by Animista on 2020-4-27 22:47:9
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation slide-in-left
 * ----------------------------------------
 */
 @-webkit-keyframes slide-in-left {
    0% {
      -webkit-transform: translateX(-1000px);
              transform: translateX(-1000px);
      opacity: 0;
    }
    100% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
      opacity: 1;
    }
  }
  @keyframes slide-in-left {
    0% {
      -webkit-transform: translateX(-1000px);
              transform: translateX(-1000px);
      opacity: 0;
    }
    100% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
      opacity: 1;
    }
  }
  

  /* ----------------------------------------------
 * Generated by Animista on 2020-4-27 22:49:21
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation slide-in-right
 * ----------------------------------------
 */
@-webkit-keyframes slide-in-right {
    0% {
      -webkit-transform: translateX(1000px);
              transform: translateX(1000px);
      opacity: 0;
    }
    100% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
      opacity: 1;
    }
  }
  @keyframes slide-in-right {
    0% {
      -webkit-transform: translateX(1000px);
              transform: translateX(1000px);
      opacity: 0;
    }
    100% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
      opacity: 1;
    }
  }
  

  /* ----------------------------------------------
 * Generated by Animista on 2020-4-27 22:49:50
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation slide-in-bottom
 * ----------------------------------------
 */
@-webkit-keyframes slide-in-bottom {
    0% {
      -webkit-transform: translateY(1000px);
              transform: translateY(1000px);
      opacity: 0;
    }
    100% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
      opacity: 1;
    }
  }
  @keyframes slide-in-bottom {
    0% {
      -webkit-transform: translateY(1000px);
              transform: translateY(1000px);
      opacity: 0;
    }
    100% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
      opacity: 1;
    }
  }
  
/* =========================
   HERO
========================= */

.hero {
    position: relative;
    width: 100%;
    overflow: visible;        /* 🔑 permite crecer */
    background:#f5f5f5; /* o el gris que combine con tu imagen */
}

/* =========================
   CARRUSEL
========================= */

.hero-carousel {
    position: relative;
    width: 100%;
    z-index: 1;
}

.hero-carousel,
.hero-carousel .owl-stage,
.hero-carousel .owl-stage-outer,
.hero-carousel .owl-item {
    width: 100%;
}

/* =========================
   IMAGEN FULL WIDTH (SIN RECORTE)
========================= */

.hero-carousel .item {
    width: 100%;
}

.hero-carousel .item img {
    width: 100%;             /* 🔥 llena los lados */
    height: auto;             /* 🔥 no recorta */
    display: block;
}

/* =========================
   CONTENIDO HERO
========================= */

.hero-content {
    position: absolute;
    top: 50%;
    left: 80px;
    transform: translateY(-50%);
    z-index: 5;
    max-width: 520px;
}

/* =========================
   REDES SOCIALES
========================= */

.hero-social {
    position: fixed;          
    left: 25px;
    bottom: 80px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.hero-social a {
    font-size: 24px;
    opacity: 0;
    transform: translateY(20px);
    animation: socialIn 0.8s ease forwards;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    background: rgba(0,0,0,0.25);
    border-radius: 50%;

    transition: transform .3s ease, background .3s ease;
}

/* Animaciones escalonadas */
.hero-social a:nth-child(1){ animation-delay: .2s; }
.hero-social a:nth-child(2){ animation-delay: .4s; }
.hero-social a:nth-child(3){ animation-delay: .6s; }
.hero-social a:nth-child(4){ animation-delay: .8s; }

/* =========================
   COLORES POR RED
========================= */

/* Facebook */
.hero-social a:nth-child(1) {
    color: #1877F2;
}

/* Instagram */
.hero-social a:nth-child(2) {
    color: #E4405F;
}

/* YouTube */
.hero-social a:nth-child(3) {
    color: #FF0000;
}

/* TikTok */
.hero-social a:nth-child(4) {
    color: #ffffff;
    text-shadow: none;
}

/* Hover elegante sin perder color */
.hero-social a:hover {
    transform: scale(1.2);
    background: rgba(0,0,0,0.4);
}
/* =========================
   ANIMACIÓN
========================= */

@keyframes socialIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* =========================
   DOTS CARRUSEL (ESTILO COCA-COLA)
========================= */

.hero-carousel .owl-dots {
    position: absolute;
    bottom: 30px;
    left: 0;
    width: 100%;
    text-align: center;
    z-index: 20;
}

.hero-carousel .owl-dot {
    display: inline-block;
    margin: 0 4px;
}

.hero-carousel .owl-dot span {
    width: 8px;
    height: 8px;
    background: #bbb;
    border-radius: 50%;
    display: block;
    transition: all 0.3s ease;
}

/* DOT ACTIVO (la barrita) */
.hero-carousel .owl-dot.active span {
    width: 28px;
    height: 6px;
    border-radius: 10px;
    background: #666;
}

/* =========================
   ABOUT SECTION QUIENES SOMOS
========================= */

.about-section {
    background: #f4f6f5;
    padding: 100px 0;
}

/* Contenedor principal */
.about-grid {
    display: flex;              /* 🔥 cambiamos grid por flex */
    justify-content: space-between;
    align-items: center;        /* 🔥 centra verticalmente REAL */
    gap: 60px;
}

/* TEXTO */
.about-text {
    flex: 1;
    max-width: 520px;
}

.about-text h2 {
    font-size: 42px;
    font-weight: 800;
    color: #18b663;
    margin: 0;
}

.about-text p {
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.7;
    color: #555;
}

/* PERSONAJE */
.about-character {
    flex: 1;
    display: flex;
    justify-content: center;
}

.character-img {
    max-width: 420px;
    width: 100%;
    height: auto;
}

/* =========================
   ACTIVACIÓN CON SCROLL
========================= */

.about-section.active .about-character {
    animation: characterFade 1.1s ease forwards;
}

.about-section.active .speech-bubble {
    animation: bubblePop 0.6s ease forwards;
    animation-delay: 1.1s;
}

.about-section.active .about-text h2 {
    animation: titleBounce 0.9s ease forwards;
    animation-delay: 0.25s;
}

.about-section.active .about-text p {
    animation: textFadeUp 0.8s ease forwards;
    animation-delay: 0.55s;
}

/* =========================
   ANIMACIONES
========================= */

@keyframes characterFade {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes titleBounce {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }
    60% {
        opacity: 1;
        transform: translateY(-6px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes textFadeUp {
    from {
        opacity: 0;
        transform: translateY(18px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes bubblePop {
    from {
        opacity: 0;
        transform: scale(0.7);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes ballKick {
    0% {
        transform: translate(0,0) rotate(0deg);
    }
    30% {
        transform: translate(-15px,-20px) rotate(20deg);
    }
    60% {
        transform: translate(0,0) rotate(-10deg);
    }
    100% {
        transform: translate(0,0) rotate(0deg);
    }
}


/* NAVBAR VERDE CORPORATIVO */
#nav.nav-transparent {
    background: rgba(15, 124, 78, 0.88); /* #0F7C4E con transparencia */
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: all 0.4s ease;
}

/* TEXTO DEL MENÚ */
#nav .main-nav > li > a {
    color: #ffffff;
    font-weight: 600;
    transition: transform 0.3s ease, color 0.3s ease;
}

/* =========================
   SECCIÓN IDENTIDAD MISION, VISION, VALORES
========================= */

.identity-section {
    padding: 100px 80px;
    background: #f5f7f6;
}

.identity-container {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 80px;
    align-items: center;
}

/* =========================
   TARJETAS (SOLO IMÁGENES)
========================= */

.identity-card {
    background: transparent;      /* ❌ elimina el fondo */
    padding: 0;                   /* ❌ elimina el padding */
    margin-bottom: 30px;
    border-radius: 0;             /* ❌ elimina el borde redondeado */

    display: flex;
    align-items: center;
    justify-content: flex-start;

    opacity: 0;
    transform: translateX(-40px);
    transition: all 0.8s ease;
}

/* Ya no se necesitan colores aquí */
.identity-card.green,
.identity-card.gray {
    background: transparent;
}

/* Imagen = el verdadero recuadro */
.identity-card img {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
}

/* =========================
   PERSONAJE
========================= */

.identity-character {
    opacity: 0;
    transform: translateX(60px);
    transition: all 1s ease;
}

.identity-character img {
    max-width: 100%;
    display: block;
}

/* =========================
   ANIMACIONES
========================= */

.reveal-left.active {
    opacity: 1;
    transform: translateX(0);
}

.reveal-right.active {
    opacity: 1;
    transform: translateX(0);
}

/* Delays */
.delay-1 { transition-delay: 0.3s; }
.delay-2 { transition-delay: 0.6s; }

/* =========================
   CLIENTES Y SECTORES
========================= */

.clients-section {
    padding: 100px 0;
    background: #ffffff;
    overflow: hidden;
}

/* ---------- GRID ---------- */

.clients-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 80px 40px;
    justify-items: center;
}

/* ---------- CARD ---------- */

.sector-card {
    text-align: center;
    opacity: 0;
    transform: translateY(40px);
    position: relative;
}

/* CONTENEDOR */
.sector-img {
    position: relative;
    width: 200px;
    height: 200px;
    margin: 0 auto 18px;
    overflow: visible;

    /* 👇 sombra aplicada aquí */
    filter: drop-shadow(0 25px 30px rgba(0,0,0,0.25));
}

/* CÍRCULO */
.sector-circle {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 160px;
    height: 160px;
    transform: translateX(-50%);
    background: #ffffff;
    border-radius: 40px; /* más orgánico que círculo perfecto */
    box-shadow: 0 18px 35px rgba(0,0,0,0.12);
    z-index: 1;
}

/* PERSONAJE */
.sector-img img {
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    height: 230px;
    width: auto;
    max-width: none;
    z-index: 2;
}

/* TEXTO */
.sector-card span {
    display: inline-block;
    background: #ffffff;
    padding: 8px 18px;
    border-radius: 20px;
    font-weight: 600;
    font-size: 14px;
    color: #0F7C4E;
}

/* ---------- ANIMACIONES ---------- */

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.clients-section.active .sector-card {
    animation: fadeUp 0.8s ease forwards;
}

.clients-section.active .sector-card:nth-child(1) { animation-delay: 0.2s; }
.clients-section.active .sector-card:nth-child(2) { animation-delay: 0.35s; }
.clients-section.active .sector-card:nth-child(3) { animation-delay: 0.5s; }
.clients-section.active .sector-card:nth-child(4) { animation-delay: 0.65s; }
.clients-section.active .sector-card:nth-child(5) { animation-delay: 0.8s; }
.clients-section.active .sector-card:nth-child(6) { animation-delay: 0.95s; }

/* ---------- RESPONSIVE ---------- */

@media (max-width: 768px) {

    .clients-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 70px 30px;
    }

    .sector-img {
        width: 180px;
        height: 180px;
    }

    .sector-img img {
        height: 210px;
    }
}

@media (max-width: 480px) {

    .clients-grid {
        grid-template-columns: 1fr;
        gap: 65px;
    }

    .sector-img {
        width: 190px;
        height: 190px;
    }

    .sector-img img {
        height: 220px;
    }
}

/* =========================
   CLIENTES / LOGOS
========================= */

.clients-section {
    padding: 90px 0;
    background: #f4f6f5;
    overflow: hidden;
}

.clients-section .section-header h2 {
    background: #0f7c4e;
    color: #fff;
    padding: 14px 40px;
    border-radius: 40px;
    display: inline-block;
    font-weight: 700;
    opacity: 0;
    transform: translateY(30px);
}

/* Animación del título (misma que las demás) */
.clients-section.active h2 {
    animation: titleBounce 0.9s ease forwards;
}

/* Logos */
.client-logo {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 120px;
    opacity: 0.35;
    transition: all 0.4s ease;
}

.client-logo img {
    max-height: 80px;
    max-width: 180px;
    filter: grayscale(100%);
    transition: all 0.4s ease;
}

/* Logo central (activo) */
.clients-carousel .owl-item.center .client-logo {
    opacity: 1;
}

.clients-carousel .owl-item.center img {
    filter: grayscale(0%);
    transform: scale(1.05);
}

.clients-logos-section .section-header h2 {
    background: #0f7c4e;
    color: #fff;
    padding: 14px 40px;
    border-radius: 40px;
    display: inline-block;
    font-weight: 700;
    opacity: 0;
    transform: translateY(30px);
}

.clients-logos-section.is-visible .section-header h2 {
    animation: titleBounce 0.9s ease forwards;
}

/* =========================
   COBERTURA NACIONAL
========================= */

.coverage-section {
    padding: 100px 0;
    background: #f4f6f5;
    text-align: center; /* centra título */
}

/* TÍTULO */
.coverage-title {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: #0F7C4E;
    color: #fff;
    padding: 14px 36px;
    border-radius: 40px;
    font-weight: 700;
    font-size: 18px;
    margin-bottom: 60px;
}

/* CONTENIDO PRINCIPAL */
.coverage-content {
    display: flex;
    align-items: center;
    justify-content: center; /* CENTRA MAPA + TEXTO */
    gap: 80px;
    max-width: 1200px;
    margin: 0 auto; /* centra bloque completo */
}

/* MAPA */
.coverage-visual {
    position: relative;
    width: 520px;
}

.coverage-map {
    width: 100%;
    display: block;
}

.coverage-characters {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
}

/* TEXTO */
.coverage-text {
    max-width: 420px;
    text-align: left;
}

/* RESPONSIVE */
@media (max-width: 768px) {
    .coverage-content {
        flex-direction: column;
        text-align: center;
    }

    .coverage-text {
        text-align: center;
    }
}

/* Forzar centrado real respecto a pantalla */

#coverage .container {
    max-width: 1400px; /* más ancho que bootstrap */
}

.coverage-content {
    width: 100%;
    justify-content: center;
}

.coverage-visual {
    margin-left: auto;
}

.coverage-pill {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 14px 26px;
    border-radius: 40px;
    font-weight: 600;
    font-size: 15px;
    margin-bottom: 16px;
}

.coverage-pill.green {
    background: #0F7C4E;
    color: #fff;
}

.coverage-pill.gray {
    background: #6e6e6e;
    color: #fff;
}

/* Ajuste fino visual */

/* Mover mapa un poco a la derecha */
.coverage-visual {
    transform: translateX(60px);
}

/* Pegar el texto más cerca del mapa */
.coverage-content {
    gap: 40px;
}

/* Ajuste fino para meter texto en el Golfo sin encimarse */

.coverage-content {
    justify-content: center;
    gap: 0; /* quitamos espacio automático */
}

/* Movemos el texto hacia el mapa */
.coverage-text {
    margin-left: -30px; /* Ajusta fino aquí */
    margin-top: -190px;
}

.animate-on-scroll {
    opacity: 0;
    transform: translateY(60px);
    transition: all 0.8s ease;
}

.animate-on-scroll.active {
    opacity: 1;
    transform: translateY(0);
}

/* =========================
   CONTACTO – ANIMACIÓN
========================= */

.contact-anim .section-header,
.contact-anim .contact-form-modern,
.contact-anim .contact-character {
    opacity: 0;
    transform: translateY(25px);
}

.contact-anim.active .section-header {
    animation: fadeUp 0.8s ease forwards;
}

.contact-anim.active .contact-form-modern {
    animation: fadeUp 0.8s ease forwards;
    animation-delay: 0.2s;
}

.contact-anim.active .contact-character {
    animation: fadeUp 0.8s ease forwards;
    animation-delay: 0.4s;
}

@keyframes fadeUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* =========================
   CONTACTO – BOTÓN
========================= */

.contact-form-modern .main-btn {
    transition: all 0.3s ease;
}

.contact-form-modern .main-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(15, 124, 78, 0.25);
}

.contact-form-modern .main-btn:active {
    transform: scale(0.97);
}

.form-check {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 15px 0 25px;
}

/* =========================
   CONTACTO – PERSONAJE
========================= */

.contact-character {
    display: flex;
    justify-content: center;
    align-items: center;
}

.contact-character img {
    max-width: 100%;
    height: auto;
    max-height: 520px;
}

@media (max-width: 991px) {
    .contact-character {
        margin-top: 40px;
    }

    .contact-character img {
        max-height: 360px;
    }
}

/* =========================
   CONTACTO – MOBILE
========================= */

@media (max-width: 768px) {

    #contact {
        padding: 70px 20px;
    }

    #contact .row {
        flex-direction: column;
    }

    /* Título */
    #contact .section-header {
        margin-bottom: 30px;
    }

    #contact .section-header h2 {
        font-size: 26px;
        padding: 12px 28px;
    }

    /* Formulario */
    .contact-form-modern {
        padding: 0;
    }

    .contact-form-modern .form-row {
        flex-direction: column;
        gap: 15px;
    }

    .contact-form-modern input,
    .contact-form-modern textarea {
        font-size: 15px;
        padding: 14px 16px;
    }

    .contact-form-modern textarea {
        min-height: 120px;
    }

    /* Botón */
    .contact-form-modern .main-btn {
        width: 100%;
        padding: 14px;
        font-size: 16px;
    }

    /* Personaje */
    .contact-character {
        margin-top: 35px;
        text-align: center;
    }

    .contact-character img {
        max-width: 220px;
        margin: 0 auto;
    }
}

@media (max-width: 400px) {

    #contact {
        padding: 60px 15px;
    }

    .contact-character img {
        max-width: 180px;
    }

    .contact-form-modern input,
    .contact-form-modern textarea {
        font-size: 14px;
    }

    .contact-form-modern .main-btn {
        font-size: 15px;
        padding: 13px;
    }
}

.clients-header {
    position: relative;
    z-index: 10;
    margin-bottom: 90px; /* más aire */
}

/* =========================
   HEADER VERDE (CONSISTENTE)
========================= */

.section-header-green {
    background: #0F7C4E;
    padding: 26px 20px;
    text-align: center;
    margin-bottom: 90px;
}

.section-header-green h2 {
    color: #ffffff;
    font-size: 36px;
    font-weight: 800;
    margin: 0;
    text-transform: uppercase;
}

.btn-whats-app {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 999;
}

.whatsapp-gif {
    position: absolute;
    bottom: 90px; /* ajusta si lo quieres más arriba o más pegado */
    left: 50%;
    transform: translateX(-50%);
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.whatsapp-gif img {
    width: 350px;
}

.about-text p {
    text-align: justify;
}

/* =========================
   HERO MOBILE FIX
========================= */

@media (max-width: 768px) {

    /* HERO GENERAL */
    .hero {
        min-height: auto; /* 🔥 ya no forzamos 100vh */
    }

    /* IMAGEN DEL CARRUSEL */
    .hero-carousel .item img {
        width: 100%;
        height: auto;      /* 🔥 mantiene proporción real */
        object-fit: contain; /* 🔥 no recorta */
    }

    /* CONTENIDO */
    .hero-content {
        position: absolute;
        left: 20px;
        right: 20px;
        top: 55%;
        transform: translateY(-50%);
        max-width: 100%;
        text-align: center;
    }

    .hero-content h1 {
        font-size: 26px;
    }

    .hero-content p {
        font-size: 14px;
    }

    /* REDES SOCIALES */
    .hero-social {
        left: 15px;
        bottom: 60px;
        gap: 10px;
    }

    .hero-social a {
        font-size: 20px;
    }

    /* DOTS */
    .hero-carousel .owl-dots {
        bottom: 40px;
    }
}

/* =========================
   ABOUT MOBILE FIX
========================= */

@media (max-width: 768px) {

    .about-grid {
        grid-template-columns: 1fr;
        gap: 40px;
        text-align: center;
    }

    .about-character {
        position: relative;
        right: auto;
        bottom: auto;
        margin-top: 20px;
        text-align: center;
    }

    .character-img {
        max-width: 280px;
        margin: 0 auto;
    }

    .football {
        width: 60px;
        right: 50%;
        transform: translateX(50%);
    }

    .speech-bubble {
        right: 50%;
        transform: translateX(50%) scale(0.8);
    }

    .about-text {
        max-width: 100%;
    }

    .about-text h2 {
        font-size: 28px;
    }

    .about-text p {
        text-align: center;
        font-size: 15px;
    }
}

/* =========================
   IDENTITY MOBILE FIX
========================= */

@media (max-width: 768px) {

    .identity-section {
        padding: 70px 20px;
    }

    .identity-container {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .identity-character {
        text-align: center;
    }

    .identity-character img {
        max-width: 260px;
        margin: 0 auto;
    }
}

/* =========================
   COVERAGE MOBILE FIX
========================= */

@media (max-width: 768px) {

    .coverage-section {
        padding: 70px 20px;
    }

    .coverage-content {
        flex-direction: column;
        gap: 40px;
        align-items: center;
    }

    .coverage-visual {
        width: 100%;
        transform: none;
        margin-left: 0;
    }

    .coverage-text {
        margin: 0;
        margin-top: 0;
        max-width: 100%;
        text-align: center;
    }

    .coverage-pill {
        justify-content: center;
        font-size: 14px;
        padding: 12px 20px;
    }
}

.nav-extra {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
}

.nav-extra img {
    height: 40px; /* ajusta tamaño */
}

.clients-section {
    background: #ffffff;
}

/* =========================
   NAV EXTRA FIX MOBILE
========================= */

@media (max-width: 768px) {

    /* Ajustar tamaño de la imagen */
    .nav-extra img {
        max-height: 30px;
        width: auto;
    }

    /* Posicionarla correctamente */
    .nav-extra {
        position: absolute;
        right: -60px; /* espacio antes del menú hamburguesa */
        top: 50%;
        transform: translateY(-50%);
    }

    /* Asegurar que el nav tenga referencia */
    #nav {
        position: relative;
    }

}

@media (max-width:768px){

.navbar-header{
    margin-left:-10px;
}

}

/* =========================
   AJUSTE LOGOS NAV MOBILE
========================= */

@media (max-width: 768px) {

    /* Logo 982 */
    .navbar-brand .logo,
    .navbar-brand .logo-alt {
        max-height: 15px;   /* más pequeño */
        width: auto;
        object-fit: contain; /* evita recorte */
    }

    /* Logo Seguro Aprendo */
    .nav-extra img {
        max-height: 70px;   /* un poco más grande */
        width: auto;
        object-fit: contain;
    }

}

@media (max-width: 768px) {

    .navbar-brand {
        display: flex;
        align-items: center;
    }

    .navbar-brand .logo,
    .navbar-brand .logo-alt {
        max-height: 42px;
        width: auto;
        position: relative;
        top: 1px; /* 👈 lo baja ligeramente */
    }

}

/* =========================
   NAVBAR MOBILE SPACING
========================= */

@media (max-width:768px){

.navbar-brand{
    margin-left:-15px !important;
}

}

@media (max-width:768px){

.navbar-header{
    padding-left:0 !important;
}

.navbar-brand{
    position: relative;
    left:-130px;
}

}

/* =========================
   HAMBURGUESA BLANCA FULL
========================= */

.nav-collapse span,
.nav-collapse span:before,
.nav-collapse span:after {
    background-color: #ffffff !important;
}

/* ===== NAV AJUSTADO ===== */

#nav .container {
    display: flex;
    align-items: center;
    justify-content: space-between; /* 🔥 separa logo y menú */
}

/* Logo izquierda */
.navbar-brand {
    margin-right: 0;
}

/* Menú centrado real */
.main-nav {
    display: flex;
    justify-content: center;
    flex: 1;              /* 🔥 ocupa espacio central */
    float: none !important;
}

/* Links más grandes */
.main-nav > li > a {
    font-size: 16px;      /* 🔥 más grande */
    font-weight: 600;
    padding: 20px 15px;   /* un poco más de altura */
}

/* Logo Seguro Aprendo - Desktop */
.nav-extra img {
    height: 60px;      /* 🔥 súbelo aquí (65px si quieres más grande) */
    width: auto;
    object-fit: contain;
}

/* ===== FORZAR TAMAÑO LOGO 982 ===== */

#nav .navbar-brand .logo,
#nav .navbar-brand .logo-alt {
    height: 70px !important;   /* 🔥 súbelo aquí */
    max-height: none !important;
    width: auto !important;
}
#nav .navbar-brand{
    margin-left: -95px; /* ajusta aquí */
}


/* 🔥 Ajuste vertical logo 982 */

#nav .navbar-brand {
    display: flex;
    align-items: center;
    height: 100%;
}

#nav .navbar-brand .logo,
#nav .navbar-brand .logo-alt {
    height: 70px !important;
    max-height: none !important;
    margin-top: -6px;  /* 👈 aquí lo subes */
}

/* 🔥 Mover logo Seguro Aprendo a la izquierda */
.nav-extra {
    margin-right: 75px;   /* reduce separación derecha */
}







/* =========================
   NAVBAR ALTURA MOBILE
========================= */

@media (max-width:768px){

#nav{
    padding-top:8px;
    padding-bottom:8px;
}

}

/* =========================
   HERO IMAGE CONTROL
========================= */

/* Desktop muestra imagen grande */
.hero-desktop{
    display:block;
    width:100%;
}

/* Mobile oculta */
.hero-mobile{
    display:none;
    width:100%;
}

/* En celular cambia */
@media (max-width:768px){

    .hero-desktop{
        display:none;
    }

    .hero-mobile{
        display:block;
    }

}


#nav .container{
    display:flex;
    align-items:center;
    justify-content:space-between;
}

#nav .navbar-brand{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    margin-left:0; /* ❌ quita negativos */
    transform:none; /* ❌ elimina translate */
}

.nav-extra{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    margin-right:20px;
}

#nav .navbar-brand{
    margin-left: -45px;
}

.nav-extra{
    margin-right: 80px;
}

/* FONDO DEL DROPDOWN */
.dropdown {
    background: #ffffff !important;
}
.dropdown li a {
    color: #333 !important;
}







/* SECCION STPS */

.stps-section{
background:#f3f3f3;
padding:80px 0;
}

.stps-container{
display:flex;
align-items:center;
}

.personaje img{
max-width:100%;
}

.stps-texto {
    padding-left: 40px; /* mueve TODO el bloque a la derecha */
}

.stps-titulo { 
font-size: 38px; 
font-weight: 700; 
color: #555; 
margin-bottom: 30px; 
line-height: 1.2; 
}

.stps-titulo span{ 
color:#2e8b57; 
}

.stps-titulo-img {
    text-align: center;
    margin-bottom: 30px;
}

.stps-titulo-img img {
    width: 140%;       /* 🔥 crece más que el contenedor */
    max-width: none;   /* 🔥 quita el límite */
    margin-left: -17%;
}

.stps-box{ 
background:#1c7a4c; 
color:white; 
padding:25px 40px; 
border-radius:40px; 
font-size:20px; 
margin-bottom:40px; 
text-align:center; 
}

.stps-circulos img{
max-width:100%;
margin-top:10px;
}

/* ===== ANIMACIONES SERVICIOS ===== */

.animar{
opacity:0;
transition:all 1s ease;
}

/* personaje entra desde izquierda */

.personaje.animar{
transform:translateX(-80px);
}

/* titulo entra desde derecha */

.stps-titulo.animar{
transform:translateX(80px);
}

/* recuadro verde */

.stps-box.animar{
transform:translateX(80px);
}

/* circulos fade */

.stps-circulos.animar{
opacity:0;
}

/* estado final */

.animar.activo{
opacity:1;
transform:translateX(0);
}

/* SECCION CURSOS */

.cursos-section{
background:#f4f4f4;
padding:100px 0;
position:relative;
}

.cursos-titulo{
text-align:center;
margin-bottom:60px;
}

.curso-item{
text-align:center;
}

.curso-imagen{
width:260px;
margin:auto;
margin-bottom:-40px;
position:relative;
z-index:2;
}

.curso-card{
background:#efefef;
padding:60px 30px 30px 30px;
border-radius:25px;
box-shadow:0 8px 20px rgba(0,0,0,0.1);
max-width:320px;
margin:auto;
}

.curso-card p{
font-size:14px;
color:#666;
line-height:1.6;
}

/* FLECHAS */

.cursos-flechas{
position:absolute;
top:50%;
left:0;
width:100%;
display:flex;
justify-content:space-between;
pointer-events:none;
}

.cursos-flechas img{
width:55px;
cursor:pointer;
pointer-events:auto;
}


   /* QUE ES LA DC-3*/
#dc3-section{
background-image:url("../img/dc3-personaje.png");
background-size:cover;
background-position:center right;
background-repeat:no-repeat;

height:600px;
position:relative;
}

.dc3-contenido{
position:absolute;
left:8%;
top:50%;
transform:translateY(-50%);
}

.dc3-texto-img{
max-width:600px;
width:100%;
}


/* Contacto servicios*/
#contacto-info{
background:#f4f4f4;
padding:120px 0;
}

.contacto-contenido{
display:flex;
align-items:center;
}

.contacto-personaje img{
max-width:320px;
}

.contacto-texto{
text-align:center;
}

.contacto-texto-img{
max-width:600px;
margin:auto;
}


/* GESTION AMBIENTAL*/
#gestion-ambiental{
background-image:url("../img/fondo-982.png");
background-size:cover;
background-position:center;
background-repeat:no-repeat;

padding:120px 0;
}

.gestion-contenido{
display:flex;
align-items:center;
}

.gestion-titulo{
font-size:80px;
font-weight:800;
color:#1c7a43;
line-height:1.1;
}

.gestion-personaje img{
max-width:420px;
margin-left:auto;
}

.gestion-titulo{
font-size:80px;
font-weight:800;
line-height:1.1;
}

.titulo-verde-oscuro{
color:#1c7a43;
}

.titulo-verde-claro{
color:#6bbf4a;
}


/* SERVICIO MEDICO Y DE SALUD*/
#servicio-medico{
width:100%;
overflow:hidden;
}

.medico-img{
width:100%;
display:block;
}

/* SERVICIO MEDICO Y DE SALUD*/
#proteccion-industrial{
background-image:url("../img/fondo-grua.png");
background-size:cover;
background-position:right center;
background-repeat:no-repeat;

padding:120px 0;
}

.proteccion-textos img{
margin-bottom:20px;
max-width:100%;
}

/* MEMBRESIA*/

#membresia{
width:100%;
position:relative;
}

.membresia-container{
position:relative;
width:100%;
}

/* IMAGEN BASE */
.membresia-img{
width:100%;
display:block;
}

/* GIF SOBRE LA MANO */
.membresia-gif{
position:absolute;

/* AJUSTE FINO */
top:25%;
right:28%;

width:25%;
}