/*///////// Ecosystem ///// Mi Agencia ///// Daniel Sánchez //////////*/

:focus { outline: none; }

/*// remove dotted outline/border in Firefox */
button:focus,
a:focus, a:active,
button::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner,
input[type="button"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner,
select::-moz-focus-inner,
input[type="file"] > input[type="button"]::-moz-focus-inner {
  outline: none !important;
}

select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}


/*////////// General //////////*/

body
{
	position: relative;
    overflow-x: hidden;
    padding-top: 70px;
    font-family: 'Lato', sans-serif;
    
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -moz-font-feature-settings: "liga" on;
}

section, .jumbotron
{
	padding: 80px 0;
	background-color: white;
}

iframe
{
    border: 0;
}

.jumbotron
{
	margin: 0;
}

.jumbotron p {
    margin-bottom: inherit;
    font-size: 16px;
    font-weight: inherit;
}


/*// Buttons //*/

.btn-default, .btn-default:focus
{
    width: 120px;
    height: 45px;
    line-height: 33px;
    font-size: 18px;
    color: white;
    background-color: #619c45;
    border: none;
    text-decoration: none;
    border-radius: 0;
    transition: 300ms;
}

.btn-default:hover
{
    background-color: #6cbe46;
    color: white;
}

.btn-default:active
{
    background-color: #6cbe46;
    color: white;
}


/*// Forms //*/

label
{
    font-weight: 500;
    color: #5d5d5d;
    font-size: 13px;
}

.form-control:focus {
    border-color: #6cbe46;
    outline: 0;
    box-shadow: none
}

input[type="text"], input[type="email"], textarea
{
	min-height: 50px;
    border: none;
    border-left: 1px solid transparent;
    border-radius: 11px;
    font-size: 18px;
	background-color: #f5f5f5;
    box-shadow: none;
    transition: border 300ms;
    
}

textarea.form-control
{
    height: 270px;
	padding: 12px;
    border: none;
    border-left: 1px solid transparent;
    border-radius: 11px;
    box-shadow: none;
    font-size: 18px;
    resize: vertical;
    background-color: #f5f5f5;
}


/*////////// Font //////////*/

h1, h2, h3, h4, h5
{
    font-family: 'Lato', sans-serif;
    color: #619c45;
    letter-spacing: 1px;
}

h2
{
    margin: 0 0 40px 0;
    font-size: 36px;
/*    text-transform: uppercase;*/
    text-align: center;
    letter-spacing: 1px;
}

p
{
    font-size: 15px;
}

a
{
    color: #619c45;
    transition: color 300ms;
}

a:hover, a:active, a:focus
{
    color: #6cbe46;
    text-decoration: none;
}




/*////////// Header //////////*/

.navbar-default
{
    /*background-color: #f1f1f1 !important;*/
    background-color: transparent;
    border: none;
    -webkit-transition: background-color 600ms, box-shadow 600ms;
    -moz-transition: background-color 600ms, box-shadow 600ms;
    transition: background-color 600ms, box-shadow 600ms;
    z-index: 100;
    box-shadow: none;
}

.navbar-default .navbar-nav>li>a, .navbar-default .navbar-nav>li>a:focus
{
    color: #646566;
    transition: color 300ms;
    text-decoration: none;
}

.navbar-default .navbar-nav>li>a:hover, .navbar-default .navbar-nav>li>a:active
{
    color: #6cbe46;
}

.navbar-brand
{
    width: 265px;
    height: 80px;
    padding: 10px;
}

nav img
{
	height: 60px;
    margin-right: 15px;
}

nav ul
{
    list-style-type: none;
    padding: 0 15px;
    margin: 50px 0;
}

nav ul li
{
    margin: 15px 0;
    font-size: 16px;
}


.menuMobile .fa-navicon, .menuMobile .fa-navicon:hover, .menuMobile .fa-navicon:active, .menuMobile .fa-navicon:focus
{
    color: #619c45;
    cursor: pointer;
}

.menuMobile .dropdown-menu {
    position: fixed;
    width: 100%;
    top: 60px;
    left: -1000px;
    display: block;
    z-index: 1000;
    min-width: 160px;
    padding: 5px 0;
    margin: 0;
    font-size: 16px;
    text-align: right;
    list-style: none;
    background-color: #313131;
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
    border: 0;
    border: none;
    border-radius: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    transition: 600ms ease-in-out;
}

.menuMobile .dropdown-menu li a
{
    padding: 10px 20px;
    color: white;
    text-decoration: none;
}


.dropdown-menu>li>a:focus, .dropdown-menu>li>a:hover {
    background-color: #828282;
}

.navbar-header
{
    z-index: 100;
}

.bkgMenuMobile
{
    display: none;
    background-color: rgba(93, 93, 93, 0.25);
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
}

.navbar-default .navbar-nav>.active>a, .navbar-default .navbar-nav>.active>a:focus
{
    color: #619c45;
    background-color: transparent;
}


/*////////// Home //////////*/


.initImg, .carousel .item
{
    width: 100%;
    height: calc(100vh - 210px);
    background-image: url(../img/homeImg.jpg);
    background-size: cover;
    background-position: 50% 65%;
    background-attachment: fixed;
    /* Pos link menu */
    padding-top: 0;
    margin-top: -70px;
}

.carousel .item
{
    margin-top: 0;
}

.carousel-inner>.item:nth-of-type(2)
{
    background-image: url(../img/homeImg2.jpg);
}

.carousel-inner>.item:nth-of-type(3)
{
    background-image: url(../img/homeImg3.jpg);
}

.initDiv
{
    /* position: absolute; */
    width: 100%;
    margin-top: calc(100vh - 350px);
    text-align: center;
}

.initDiv h1
{
	position: relative;
	margin-bottom: 50px;
	font-size: 55px;
    font-weight: 600;
    color: #ffffff;
 	/* padding: 10px 0 16px 0; */
    /* background-color: #3a3a3a; */
    text-shadow: 0px 10px 40px #080808bd;
    letter-spacing: 4px;
    z-index: 1;
}

.initDiv .btn-default
{
	position: relative;
    width: 200px;
    height: 60px;
	border-radius: 18px;
    line-height: 46px;
    font-size: 20px;
    z-index: 10;
}

.carousel
{
    position: relative;
    height: calc(100vh - 211px);
	margin: 0 -15px;
    z-index: 1;
}

.carousel-inner
{
    height: calc(100vh - 210px);
}




/*////////// About us //////////*/

.about
{
    position: relative;
	padding: 40px 0 0 0;
	box-shadow: 0px 10px 60px rgba(0, 0, 0, 0.07);
	overflow: hidden;
}

.aboutUsDiv:first-of-type
{
    padding-top: 40px;
    position: relative;
    z-index: 2;
}

.aboutUsDiv:nth-of-type(2)
{
    position: relative;
}


.aboutUsDiv:first-of-type>div:first-of-type
{
    margin: 40px 0;
}

#aboutUs h2
{
	margin: 0 0 30px 0;
    text-align: left;
}

#aboutUs ul
{
	margin: 30px 0 0 0;
    padding: 0;
	list-style-type: none;
}

#aboutUs ul li
{
    font-size: 15px;
    margin: 5px 0;
}

#gallery ul li
{
    font-size: 13px;
}

#aboutUs ul .fa
{
    padding-right: 20px;
    color: #619c45;
}

.aboutImgR
{
	position: absolute;
    top: 0;
    right: 0;
	width: 50%;
    height: 580px;
	background-image: url(../img/about1.jpg);
    background-size: cover;
}

.aboutImgL
{
    background-image: url(../img/about2.jpg);
    height: 580px;
    background-size: cover;
    margin-left: 0;
}

.aboutUsDiv:nth-of-type(2)>div:nth-of-type(2)
{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(0, -50%);
    margin-left: 45px;
}


.featureWe
{
    width: 100%;
    clear: both;
}

.featureWe>span
{
    font-size: 45px;
    float: left;
    width: 60px;
    margin: 0 20px 80px 0;
    text-align: center;
    color: #6cbe46;
}


/*////////// Products //////////*/

.products
{
    padding-left: 30px;
	padding-right: 30px;
}

.products h2>span
{
	display: block;
    margin-top: 10px;
    font-size: 26px;
}

.cardProduct
{
	box-shadow: 0px 10px 40px rgba(0, 0, 0, 0.18);
    padding: 15px;
	min-height: 560px;
}

.cardProduct ul
{
    padding: 10px 0 0 30px;
    list-style-type: none;
    text-align: left;
}

.cardProduct ul li
{
	position: relative;
    padding: 3px 0;
    font-size: 16px;
}

.cardProduct ul li .fa
{
	position: absolute;
    left: -30px;
    color: #619c45;
}


/*////////// Points / Ventajas //////////*/

.points
{
    padding: 40px 0;
    background-color: #619c45;
    color: white;
}

.points.pointsDarkerBkg
{
    background-color: #569239;
}

.points h2, .points h3
{
	color: white;
}

.points h2
{
	padding-top: 40px;
}

.points h3
{
	margin-bottom: 60px;
	border-bottom: 2px solid white;
	padding-bottom: 20px;
	text-align: center;
}
.points h3 .fa { margin-right: 10px; }

.points .col-lg-3 .fa
{
	margin-bottom: 15px;
    font-size: 32px;
}

.points p
{
	margin-bottom: 40px;
    font-size: 18px;
}


/*////////// Gallery / Projects //////////*/

.containerGallery
{
	position: relative;
    background-image: url(../img/bkg2.jpg);
    background-attachment: fixed;
    background-size: 100%;
    background-color: #373240;
    background-position: 50%;
    color: white;
    z-index: 0;
}

.containerGallery a>img
{
	margin: 15px 0;
	opacity: 1;
}

.containerGallery a>div
{
    position: absolute;
	display: flex;
    top: 15px;
    left: 15px;
    width: calc(100% - 30px);
    height: calc(100% - 30px);
    align-items: center;
    background-color: #6cbe46;
    opacity: 0;
    transition: opacity 400ms;
}

.containerGallery a>div>h3
{
    width: 100%;
    text-align: center;
    color: white;
    margin: 0;
    vertical-align: middle;
}

.containerGallery a:hover>div
{
    opacity: 0.2;
}

.containerGallery h2
{
    margin-bottom: 20px;
    color: white;
}

.containerGallery p
{
	margin-bottom: 30px;
    text-align: center;
}

article img
{
    width: 100%;
}



/*////////// Clients //////////*/

#clients
{
    padding: 0 15px;
}

#clients p
{
    margin-bottom: 30px;
}

.clients2
{
    padding: 20px 15px;
    background-color: #f1f1f1;
}

.clients2 .col-lg-2>img:nth-of-type(2)
{
    position: absolute;
    top: 0;
    width: calc(100% - 30px);
    opacity: 0;
    transition: opacity 400ms;
    
}

.clients2 .col-lg-2>img:nth-of-type(2):hover
{
    opacity: 1;
}


/*////////// Contact //////////*/

.contactCont
{
    padding-bottom: 20px;
}

.contactCont h2
{
    margin-top: 0;
}

.contactCont .row address
{
    text-align: right;

}

.contactCont .row address .fa
{
	margin-top: 10px;
	padding: 15px 0;
    color: #619c45;
    font-size: 30px;
    text-align: center;
    line-height: 15px;
}

.contactCont .btn
{
    position: relative;
    margin-top: 15px;
	border-radius: 11px;
}

.contactCont .container-fluid
{
    padding: 0;
}

.contactCont>div iframe
{
    width: 100%;
    border: 0;
}

.formSpinner
{
	display: none;
	margin-top: 10px;
    font-size: 24px;
    color: #313131;
}

.messages
{
	margin-top: 15px;
}



.contactCont>div p>a:hover, .contactCont>div p>a:active
{
    color: #6cbe46;
}

#location
{
    border-right: 1px solid #9c9c9c;
}

address a
{
    text-decoration: none;
}

#location h2
{
    margin: 60px 0 20px 0;
}

#brandsContact img
{
	width: 155px;
    margin: 0 0 0 auto;
}


/*////////// Footer //////////*/

footer p
{
	margin: 40px 0 0 0;
    padding: 18px 0;
    text-align: center;
    font-size: 12px;
    color: #ababab;
    background-color: #313131;
}

footer p>a
{
    color: white;
}


/*////////// Responsive //////////*/


/*///// Home Title /////*/

@media screen and (max-width: 895px)
{
    /*///// Home /////*/
    
    .initDiv h1 {
		min-height: 78px;
		margin-bottom: 30px;
        font-size: 32px;
    }
}


/*///// Mobile - XS /////*/


/*// Ultra Small //*/

@media screen and (max-width: 365px)
{
    .initDiv h1 {
        font-size: 30px !important;
        margin-bottom: 30px;
        min-height: 78px;
    }
    
    .containerGral {
        padding-top: 0;
    }
    
    .containerGallery>.row
    {
/*        width: 100%;*/
        margin-top: 0;
    }
    
    .containerGallery>.row>div>section>article
    {
        padding: 0 15px !important;
    }
}


/*// XS //*/

@media screen and (max-width: 767px)
{
    
    /*///// About us /////*/
    
    .aboutUsDiv:first-of-type>div:first-of-type {
    	margin-top: 60px;
	}
	
	
	.cardProduct { min-height: 0; }
	
	
	.points .col-lg-3 { text-align: left; }
    
    
    /*///// Gallery /////*/
    
    .containerGallery
    {
        top: 0;
        padding-bottom: 0;
        margin-bottom: 0;
        background-size: cover;
    }
    
    .containerGallery a>div
    {
/*        height: 100%;*/
    }
    
    .featherlight .featherlight-image
    {
        width: 100% !important;
    }
}


/*///// SM /////*/

@media screen and (max-width: 991px)
{
	h3
    {
        font-size: 20px;
    }
    
    /*///// Header /////*/
    
    .navbar-brand
    {
        width: 215px;
        height: 60px;
    }
    
    nav img
    {
        height: 40px;
    }
    
    .menuMobile
    {
        position: absolute;
        top: 15px;
        right: 25px;
        font-size: 20px;
        color: white;
    }
    
    
    .featureWe>span {
        margin: 0 20px 95px 0;
    }
    
    .aboutImgL {
        width: 100%;
        height: 211px;
        margin-top: 40px;
        margin-left: 0;
        position: static;
    }
    
    .aboutUsDiv:first-of-type {
        padding-top: 0;
        padding-right: 0;
    }
    
    .aboutImgR {
		position: static;
        width: 100%;
        height: 250px;
        margin-bottom: 0;
    }
    
    .aboutUsDiv:nth-of-type(2)>div:nth-of-type(2) {
        position: static;
        transform: none;
        margin-left: 0;
        padding: 60px 15px 0 15px;
    }
	
    /*///// Contact /////*/
    
    footer>.row>div:nth-of-type(2)
    {
        padding-top: 50px;
        border: 0;
    }
    
    footer h2 {
        margin-top: 40px;
    }
}


@media screen and (max-width: 991px) and (min-width: 768px)
{
    .aboutUsDiv:first-of-type {
        padding-top: 0;
        padding-right: 0;
    }
    
    .aboutUsDiv:first-of-type>div {
        margin-top: -40px;
    }
    
    .aboutImg:first-of-type {
        height: 600px;
    }
    
    .aboutImg:last-of-type {
        top: -778px;
    }
	
	.cardProduct { min-height: 500px; }
}


/*///// MD /////*/

@media screen and (max-width: 1199px) and (min-width: 992px)
{
    .aboutImg:last-of-type
    {
        top: -741px;
    }
	
	.cardProduct { min-height: 580px; }
}

@media screen and (max-width: 1199px)
{
	.cardProduct {
		margin-bottom: 30px;
	}
}


/*///// LG /////*/

@media screen and (max-width: 1440px) and (min-width: 1199px)
{
	.cardProduct { min-height: 510px; }
}

