@charset "UTF-8";
:root {
    --main-gris: #3B4853;
    --main-verde: #7bed8d;
    --main-rojo: #ff0000;
}

::-webkit-scrollbar {
  width: 6px;
  /* background-color: #F5F5F5; */
}

::-webkit-scrollbar-thumb {
  border-radius: 100px;
  background-color: var(--main-gris);
}

html {
    overflow-x: hidden;
}

html, html a, body {
    -webkit-font-smoothing: antialiased;
}

body {
    position: relative;
    /*font-family: Hind, sans-serif;*/
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif;
}

p {
    font-size: 16px;
    font-weight: 400;
    /*font-family: Hind, sans-serif;*/
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif;
    color: #545454;
    line-height: 1.4;
    margin-bottom: 15px;
}

em,
li,
li a {
    font-size: 16px;
    font-weight: 500;
    /*font-family: Hind, sans-serif;*/
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif;
    color: #515769;
}

a {
    /*font-family: Hind, sans-serif;*/
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif;
    color: #81848f;
    outline: 0;
}

a:focus, a:hover, a:active {
    outline: 0;
    color: #999caa;
    text-decoration: none;
}

.link {
    position: relative;
    font-size: 13px;
    font-weight: 600;
    /*font-family: Hind, sans-serif;*/
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif;
    text-transform: uppercase;
}

.link:after {
    position: absolute;
    top: 8px;
    right: -15px;
    width: 9px;
    height: 2px;
    background: var(--main-gris);
    content: " ";
}

span {
    font-size: 14px;
    font-weight: 400;
    /*font-family: Hind, sans-serif;*/
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif;
    color: #bfc1c7;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
    /*font-family: Hind, sans-serif;*/
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif;
    color: var(--main-gris);
    line-height: 1.4;
    margin: 0 0 15px;
}

h1 > a, h2 > a, h3 > a, h4 > a, h5 > a, h6 > a {
    color: #515769;
}

h1 > a:hover, h2 > a:hover, h3 > a:hover, h4 > a:hover, h5 > a:hover, h6 > a:hover {
    color: #999caa;
    text-decoration: none;
}

h1 > a:focus, h2 > a:focus, h3 > a:focus, h4 > a:focus, h5 > a:focus, h6 > a:focus {
    text-decoration: none;
}

h1 {
    font-size: 40px;
}

h2 {
    font-size: 30px;
}

h3 {
    font-size: 22px;
}

h4 {
    font-size: 22px;
}

::selection {
    color: #fff;
    background: var(--main-gris);
    text-shadow: none;
}

::-webkit-selection {
    color: #fff;
    background: var(--main-gris);
    text-shadow: none;
}

::-moz-selection {
    color: #fff;
    background: var(--main-gris);
    text-shadow: none;
}

:active,
:focus {
    outline: none;
}

/* Section Seperator */
.section-separator {
    border-bottom: 1px solid #edf0f2;
}

/* Content Wrapper Link */
.content-wrapper-link {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: block;
    z-index: 3;
    text-decoration: none;
}

/*------------------------------------------------------------------
  	[Accordion]
------------------------------------------------------------------*/
.accordion .panel-default {
    border: none;
}

.accordion .panel-heading {
    border-radius: 0;
}

.accordion .panel-default > .panel-heading {
    color: #515769;
    background: #fff;
    border: none;
    padding: 0;
}

.accordion .panel-title {
    font-size: 22px;
}

.accordion .panel-title-child {
    display: block;
    padding: 30px;
}

.accordion .panel-group .panel + .panel {
    border-radius: 0;
    margin-top: 10px;
}

.accordion .panel-default > .panel-heading + .panel-collapse > .panel-body {
    font-size: 16px;
    border-top: none;
    padding: 0 30px 30px 30px;
    margin-top: -1px;
}

.accordion [aria-expanded="true"],
.accordion .collapse.in {
    color: #fff;
    background: var(--main-gris);
}

/*------------------------------------------------------------------
  	[Button]
------------------------------------------------------------------*/
.btn-theme {
    position: relative;
    display: inline-block;
    line-height: 1.4;
    text-align: center;
    background-image: none;
    border-style: solid;
    white-space: nowrap;
    vertical-align: middle;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    transition-duration: 300ms;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

.btn-theme:focus, .btn-theme:active:focus, .btn-theme.active:focus, .btn-theme.focus, .btn-theme:active.focus, .btn-theme.active.focus {
    outline: none;
}

.btn-theme:hover {
    transition-duration: 300ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

.btn-theme:hover, .btn-theme:focus, .btn-theme.focus {
    text-decoration: none;
}

.btn-theme:active, .btn-theme.active {
    background-image: none;
    outline: 0;
}

.btn-theme.disabled, .btn-theme[disabled],
fieldset[disabled] .btn-theme {
    cursor: not-allowed;
    box-shadow: none;
    opacity: .65;
    pointer-events: none;
}

.btn-white-bg {
    color: #fff;
    background: #515769;
    border-color: transparent;
    border-width: 0;
}

.btn-white-bg:hover, .btn-white-bg:focus, .btn-white-bg.focus {
    color: #fff;
    background: var(--main-gris);
    border-color: transparent;
}

.btn-white-brd {
  border-width: 2px;

  color: #515769;
  background: #fff;
  border-color: #fff;
  box-shadow: 2px 2px 2px 0px #000000;
}

.btn-white-brd:hover, .btn-white-brd:focus, .btn-white-brd.focus {
  color: #fff;
  background: transparent;
  border-color: #fff;
  text-shadow: 2px 2px 5px #000000;
}


.btn-default-bg {
    color: #515769;
    background: #f3f4f5;
    border-color: transparent;
    border-width: 0;
}

.btn-default-bg:hover, .btn-default-bg:focus, .btn-default-bg.focus {
    color: #fff;
    background: var(--main-gris);
    border-color: transparent;
}

.btn-theme-sm {
    font-size: 13px;
    font-weight: 600;
    padding: 15px 40px;
}

/*------------------------------------------------------------------
  	[Pricing]
------------------------------------------------------------------*/
.pricing {
    /*padding: 70px 45px;*/
    padding: 50px 45px;
    background: #fff;
    margin-top: 48px;
    text-align: center;
}

@media (max-width: 767px) {
    .pricing {
        margin-top: 0;
    }
}

.pricing.pricing-active {
    /*padding: 110px 45px;*/
    padding: 100px 45px;
    margin-top: 10px;
}

@media (max-width: 767px) {
    .pricing.pricing-active {
        margin-top: 0;
    }
}

.pricing .pricing-icon {
    display: block;
    /*font-size: 30px;*/
    font-size: 55px;
    color: #999caa;
    margin-bottom: 30px;
}

.pricing .pricing-list-item {
    position: relative;
    font-size: 13px;
    /*color: #81848f;*/
    padding-left: 20px;
    margin-bottom: 10px;
}

.pricing .pricing-list-item:before {
    position: absolute;
    top: 7px;
    left: 0;
    width: 9px;
    height: 2px;
    background: var(--main-gris);
    content: " ";
    margin-right: 10px;
}

.pricing h2 {
    margin-bottom: 0;
}

.pricing p {
    font-size: 17px;
}

.pricing.pricing-gris {
    background-color: var(--main-gris);
}

.pricing.pricing-gris * {
    color: #FFF;
}

.pricing.pricing-gris .pricing-list-item:before {
    background: #FFF;
}

.pricing.pricing-gris h1 {
    color: var(--main-verde);
    margin-bottom: 20px;
}

.pricing.pricing-verde {
    background-color: var(--main-verde);
}

.pricing.pricing-verde * {
    color: var(--main-gris);
}

.pricing.pricing-verde h1 {
    color: #5e5e5e;
    margin-bottom: 20px;
}

.requisitos {
    display: flex;
}

.requisitos ul {
    margin: 0 auto;
}

/*------------------------------------------------------------------
  	[Service]
------------------------------------------------------------------*/
.service {
    /*background: #fff;*/
    background-color: var(--main-verde);
    padding: 50px;
}

.service .service-element,
.service .service-info {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    transition-duration: 300ms;
    text-align: center;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

.service-info .titulo{
    height: 75px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
}

.service-info .titulo h3{
    margin-bottom: 0;
    line-height: 25px;
    /*line-height: 40px;*/
}

.service-info p {
    color: var(--main-gris);
    height: 150px;
}

.service-info h5 {
    font-size: 16px;
    text-align: center;
}

.service .service-icon {
    display: block;
    font-size: 30px;
    color: var(--main-gris);
    margin-bottom: 15px;
}

.service:hover .service-element {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    -moz-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    transition-duration: 300ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

.service:hover .service-info {
    -webkit-transform: translate3d(0, -30%, 0);
    -moz-transform: translate3d(0, -30%, 0);
    transform: translate3d(0, -30%, 0);
    transition-duration: 300ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

.service-info .desde_euros {
    font-size: 22px;
    font-weight: bold;
    color: inherit;
}

/*------------------------------------------------------------------
    [Requisitos]
 */
ul.lista_requisitos {
    list-style-type: none;
    padding-left: 30px;
}
ul.lista_requisitos li{
    color: #FFF;
    margin-bottom: 10px;
}

ul.lista_requisitos li:before {
    font-family: 'FontAwesome';
    /*content: '\f058'; check circulo */
    content: '\f00c';
    /*content: '\f140'; circulo */
    margin:0 10px 0 -30px;
    font-size: 20px;
    vertical-align: top;
}


/*------------------------------------------------------------------
  	[Work]
------------------------------------------------------------------*/
/* Overlay */
.work {
    position: relative;
    display: block;
}

.work .work-overlay {
    position: relative;
    cursor: pointer;
}

.work .work-overlay:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent;
    content: " ";
    transition-duration: 300ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

.work:hover .work-overlay:before {
    background: rgba(0, 0, 0, 0.5);
    transition-duration: 300ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

/* Popup */
.work .work-popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
    opacity: 0;
    visibility: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow-x: hidden;
    background: rgba(81, 87, 105, 0.4);
    transition-duration: 300ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

.work .work-popup-overlay-show {
    opacity: 1;
    visibility: visible;
    -webkit-backface-visibility: visible;
    backface-visibility: visible;
    transition-duration: 300ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

.work .work-popup-content {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    width: 730px;
    height: auto;
    display: block;
    background: #fff;
    padding: 30px;
    margin: 0 auto;
    -webkit-transform: translate3d(0, -50%, 0);
    -moz-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0);
}

.work .work-popup-content-divider {
    border-right: 1px solid #cdcecf;
}

@media (max-width: 768px) {
    .work .work-popup-content {
        width: 95%;
    }

    .work .work-popup-content-divider {
        border-right: none;
        border-bottom: 1px solid #cdcecf;
    }
}

.work .work-popup-close {
    float: right;
    font-size: 13px;
    font-weight: 700;
    color: #c5c6cb;
    transition-duration: 300ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

.work .work-popup-close:hover {
    color: #aaacb3;
    transition-duration: 300ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

/* Tag */
.work .work-popup-tag {
    margin: 0;
}

.work .work-popup-tag-item {
    padding: 0 2px;
}

.work .work-popup-tag-link {
    font-size: 13px;
}

/*------------------------------------------------------------------
  	[Footer]
------------------------------------------------------------------*/
.footer {
    background-color: var(--main-gris);
}

.footer .enlaces {
    background-color: #FFF;
}

.footer .footer-logo {
    width: 155px;
    height: auto;
}

.footer .footer-list {
    margin-bottom: 0;
}

.footer .footer-list-item {
    color: #777984;
    margin-bottom: 15px;
}

.footer .footer-list-item:last-child {
    margin-bottom: 0;
}

.footer .pie p,
.footer .pie a {
    color: #FFF;
}

/*------------------------------------------------------------------
    [Header]
------------------------------------------------------------------*/
/* Fixed Top */
.navbar-fixed-top .navbar-collapse {
    max-height: 100%;
}

/* Navbar */
.header .navbar {
    margin-bottom: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    transition-duration: 300ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

/* Navbar Toggle */
.header .navbar-toggle {
    width: 25px;
    height: 25px;
    border: none;
    padding: 0;
    margin: 35px 0;
}

.header .navbar-toggle .toggle-icon {
    position: relative;
    width: 21px;
    height: 1px;
    display: inline-block;
    background: #fff;
    transition-duration: 300ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

.header .navbar-toggle .toggle-icon:before, .header .navbar-toggle .toggle-icon:after {
    position: absolute;
    left: 0;
    background: #fff;
    content: " ";
}

.header .navbar-toggle .toggle-icon:before {
    width: 10px;
    height: 1px;
    bottom: 10px;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    transform: rotate(0);
    transition-duration: 300ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

.header .navbar-toggle .toggle-icon:after {
    width: 16px;
    height: 1px;
    top: -5px;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    transform: rotate(0);
    transition-duration: 300ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

.header .navbar-toggle:hover .toggle-icon {
    background: #bcbcbc;
    transition-duration: 300ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

.header .navbar-toggle:hover .toggle-icon:before, .header .navbar-toggle:hover .toggle-icon:after {
    width: 21px;
    height: 1px;
    background: #bcbcbc;
    transition-duration: 300ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

.header .navbar-toggle:hover .toggle-icon.is-clicked {
    background: rgba(81, 87, 105, 0);
}

/* Navbar Logo */
.header .logo {
    /*width: 165px;*/
    width: 200px;
    height: 150px;
    float: left;
    max-height: 95px;
    line-height: 60px;
}

.header .logo-wrap {
    display: inline-block;
    padding: 15px 0;
}

.header .logo-wrap:focus, .header .logo-wrap:hover {
    text-decoration: none;
}

.header .logo-img {
    display: inline-block;
    /*width: 165px;*/
    width: 200px;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    vertical-align: middle;
}

@media (max-width: 991px){
    .header .logo, .header .logo-img{
        width: 92px;
        height: 65px;
    }
}

@media (min-width: 992px) and (max-width: 1201px){
    .header .logo, .header .logo-img{
        width: 180px;
    }
}

.header .logo-img-main {
    display: inline-block;
    transition-duration: 400ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

.header .logo-img-active,
.header .logo-img-movil {
    display: none;
    transition-duration: 400ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

/* Navbar */
.header .navbar-nav {
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
}

/* Nav */
.header .nav-item {
    position: relative;
    display: block;
}

.header .nav-item:last-child .nav-item-child {
    padding-right: 0;
}

.header .nav li.active .nav-item-child {
    color: var(--main-verde);
}

.header .nav-item .nav-item-hover.active:after {
    opacity: 1;
    transition-duration: 400ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

.header .nav-item:hover .nav-item-hover:after {
    opacity: 1;
    transition-duration: 400ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

.header .nav-item-child {
    position: relative;
    display: block;
    font-size: 13px;
    font-weight: 600;
    /*font-family: Hind, sans-serif;*/
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif;
    color: #fff;
    text-transform: uppercase;
    line-height: 55px;
    padding: 20px;
    transition-duration: 300ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
    text-shadow: 2px 2px 5px #000000;
}

.header .nav-item-child:hover, .header .nav-item-child:focus {
    background: transparent;
}

.header .nav-item-hover {
    position: relative;
}

.header .nav-item-hover:after {
    position: absolute;
    top: 45px;
    left: 0;
    width: 9px;
    height: 2px;
    background: var(--main-verde);
    opacity: 0;
    content: " ";
    transition-duration: 400ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

/* Media Queries below 991px */
@media (max-width: 991px) {
    /* Bootstrap collapse of navigation with a maximum width: 991px
      (Change it to any breakpoint you want to be collapsed) */
    .header {
        background: var(--main-gris);
    }

    .header .navbar-toggle {
        display: block;
    }

    .header .navbar-collapse.collapse {
        display: none !important;
    }

    .header .navbar-collapse.collapse.in {
        display: block !important;
    }

    .header .nav-collapse {
        padding-left: 0;
        padding-right: 0;
    }

    .header .navbar-nav {
        margin: 0;
        float: none;
        padding-bottom: 10px;
    }

    .header .navbar-nav .nav-item {
        float: none;
    }

    /* Menu Container */
    .header .menu-container:before, .header .menu-container:after {
        content: " ";
        display: table;
    }

    .header .menu-container:after {
        clear: both;
    }

    /* Logo */
    .header .logo .logo-img-main {
        display: none;
    }

    .header .logo .logo-img-movil {
        display: inline-block;
    }

    /* Navbar Nav */
    .header .nav-item-child {
        color: #fff;
        line-height: 1.4;
        padding: 12px 12px 12px 15px;
    }

    .header .nav-item-hover:after {
        position: absolute;
        top: 19px;
    }
}

/* Media Queries below 767px */
@media (max-width: 767px) {
    .header .menu-container.js_nav-item {
        background-color: var(--main-gris);
    }

    /* Menu Container */
    .header .menu-container {
        background-color: #4a555e;
        padding-left: 15px;
        padding-right: 15px;
        margin-left: 0;
        margin-right: 0;
    }

    .header .navbar > .container {
        width: auto;
        padding-left: 0;
        padding-right: 0;
        margin-left: 0;
        margin-right: 0;
    }

    .header .navbar > .container > .nav-collapse {
        padding-left: 0;
        padding-right: 0;
        margin-left: 0;
        margin-right: 0;
    }
}

@media (min-width: 768px) {
    .navbar {
        border-radius: 0 !important;
    }
}

/* Media Queries above 992px */
@media (min-width: 992px) {
    /* Navbar */
    .header .navbar-nav-right {
        float: right;
    }
}

/* Media Queries above 992px */
@media (min-width: 992px) and (max-width: 1200px) {
    .header .nav-item-child {
        padding: 20px 13px;
        font-size: 12px;
    }
}


/* Page On Scroll */
@media (min-width: 992px) {
    .page-on-scroll .header .navbar {
        background: var(--main-gris);
        border-bottom-color: #f0f0f0;
        transition-duration: 300ms;
        transition-property: all;
        transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
    }

    .page-on-scroll .header .logo-img-main {
        display: none;
        transition-duration: 400ms;
        transition-property: all;
        transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
    }

    .page-on-scroll .header .logo-img-active {
        display: inline-block;
        transition-duration: 400ms;
        transition-property: all;
        transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
    }

    .page-on-scroll .header .nav-item-child {
        color: #fff;
        transition-duration: 300ms;
        transition-property: all;
        transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
    }
}

/*------------------------------------------------------------------
    [Departamento]
------------------------------------------------------------------*/

.departamento-subtitulo {
    height: 62px;
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.departamento-subtitulo h3 {
    margin-bottom: 0;
    line-height: 25px;
}

@media (min-width: 992px) {
    .img-logo-departamento {
        margin-top: 190px;
    }

    .departamento-subtitulo {
        height: 70px;
    }
}

@media (min-width: 1200px) {
    .img-logo-departamento {
        margin-top: 170px;
    }
}


/*------------------------------------------------------------------
    [Consultoria]
------------------------------------------------------------------*/

.consultoria-col-gris,
.consultoria-col-verde {
    padding-top: 15px;
    padding-bottom: 30px;
}

.consultoria-col-gris {
    background-color: var(--main-gris);
}

.consultoria-col-gris h4,
.consultoria-col-gris p {
    color: #FFF;
}

.consultoria-col-verde {
    background-color: var(--main-verde);
}

.consultoria-col-verde h4,
.consultoria-col-verde p {
    color: var(--main-gris);
}

@media (max-width: 767px) {
    .consultoria-col-gris,
    .consultoria-col-verde {
        margin-left: 15px;
        margin-right: 15px;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .consultoria-col-gris-sm {
        background-color: var(--main-gris) !important;
    }

    .consultoria-col-gris-sm h4,
    .consultoria-col-gris-sm p {
        color: #FFF !important;
    }

    .consultoria-col-verde-sm h4,
    .consultoria-col-verde-sm p {
        color: var(--main-gris) !important;
    }

    .consultoria-col-verde-sm {
        background-color: var(--main-verde) !important;
    }
}


.consultoria-subtitulo {
    height: 62px;
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.consultoria-subtitulo h4 {
    margin-bottom: 0;
    line-height: 25px;
}

/*------------------------------------------------------------------
  	[Contact]
------------------------------------------------------------------*/
.contact-oficinas {
    font-weight: bold;
    font-size: 22px;
    color: var(--main-gris);
}

.contact-list > li {
    font-size: 16px;
    /*color: #81848f;*/
    color: var(--main-gris);
    margin-bottom: 10px;
}

p.direccion {
    font-size: 17px;
}

textarea.mensaje {
    overflow: auto;
    overflow-x: hidden;
    resize: none;
}

/*textarea.mensaje::-webkit-scrollbar-track{
  background-color: #e2e2e2;
}*/

textarea.mensaje::-webkit-scrollbar {
    width: 6px;
    /*background-color: #F5F5F5;*/
}

textarea.mensaje::-webkit-scrollbar-thumb {
    border-radius: 100px;
    background-color: #81848f;
}

label {
    color: #515769;
}

input#politica {
    vertical-align: middle;
    margin-top: -2px;
}

.politica-privacidad {
    color: var(--main-gris);
    font-weight: bold;
}

.btn-formulario, .btn-quiero-info{
  display: inline-block;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  text-transform: uppercase;
  font-weight: 600;
  border: 3px solid var(--main-gris);
  padding: 8px 36px;
  font-size: 13px;
  /*border-radius: 3px;*/
  transition-duration: 300ms;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
  box-shadow: 1px 1px 1px 1px #cccccc;
  background: var(--main-gris);
  color: #FFF;
}

.btn-formulario:hover, .btn-formulario:focus, .btn-formulario.focus,
.btn-quiero-info:hover, .btn-quiero-info:focus, .btn-quiero-info.focus{
  color: var(--main-gris);
  background: transparent;
  border-color: var(--main-gris);
  transition-duration: 300ms;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}


#cargandoEnviar {
    font-size: 24px;
    font-weight: bold;
    color: var(--main-gris);
}

.respuesta-correo {
    font-weight: bold;
    font-size: 16px;
    color: var(--main-gris);
    text-align: center;
}

.validacion-campos {
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 20px;
}

.error-correo,
.error-campos {
    color: var(--main-rojo);
}

/*--------------------------------------------------
    [Back To Top Theme Button]
----------------------------------------------------*/
.back-to-top {
    position: fixed;
    right: 10px;
    bottom: 10px;
    display: inline-block;
    z-index: 9;
    width: 40px;
    height: 40px;
    font-size: 18px;
    font-weight: 400;
    color: #fff;
    text-align: center;
    line-height: 1.6;
    letter-spacing: 1px;
    text-transform: uppercase;
    /*background: #515769;*/
    background: #0c0e10;
    border-radius: 3px;
    visibility: hidden;
    opacity: 0;
    padding: 5px;
    -webkit-transform: translate3d(0, 50px, 0);
    -moz-transform: translate3d(0, 50px, 0);
    transform: translate3d(0, 50px, 0);
    transition-duration: 300ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

.back-to-top:hover {
    color: #fff;
    transition-duration: 300ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

.back-to-top:focus, .back-to-top:hover {
    text-decoration: none;
}

/* The Button Becomes Visible */
.back-to-top.back-to-top-is-visible {
    visibility: visible;
    opacity: .6;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    transition-duration: 300ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

.back-to-top.back-to-top-is-visible:hover {
    opacity: 1;
    transition-duration: 300ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

/* If the user keeps scrolling down, the button is out of focus and becomes less visible */
.back-to-top.back-to-top-fade-out {
    opacity: .4;
}

.back-to-top.back-to-top-fade-out:hover {
    opacity: 1;
    transition-duration: 300ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

/*------------------------------------------------------------------
  	[Form Control]
------------------------------------------------------------------*/
.form-control {
    /*color: #a6a7aa;
    background: #fafafa;
    padding-left: 15px;*/
    height: 50px;
    font-size: 14px;
    font-weight: 400;
    border: none;
    box-shadow: none;
    border-radius: 0;
    background: transparent;
    border-bottom: 1px solid var(--main-gris);
    border-top: none;
    border-left: none;
    border-right: none;
    color: var(--main-gris);
    padding-left: 0;
}

.form-control::-moz-placeholder {
    color: #a6a7aa;
}

.form-control:-ms-input-placeholder {
    color: #a6a7aa;
}

.form-control::-webkit-input-placeholder {
    color: #a6a7aa;
}

.form-control:focus {
    color: var(--main-gris);
    box-shadow: none;
    border-color: var(--main-verde);
}

.form-control:focus::-moz-placeholder {
    color: #515769;
}

.form-control:focus:-ms-input-placeholder {
    color: #515769;
}

.form-control:focus::-webkit-input-placeholder {
    color: #515769;
}

/*------------------------------------------------------------------
    [Full Screen Carousel]
------------------------------------------------------------------*/
.full-screen {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/*------------------------------------------------------------------
    [Carousel]
------------------------------------------------------------------*/
.carousel-indicators {
    left: auto;
    width: auto;
    padding-left: 0;
    margin-left: 0;
}

.carousel-centered {
    position: absolute;
    top: 50%;
    -webkit-transform: translate3d(0, -50%, 0);
    -moz-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0);
}

.kit {
    position: absolute;
    bottom: 10px;
    right: 2%;
}

@media (max-width: 500px) {
    .kit {
        position: absolute;
        bottom: 10px;
        right: 5px;
        padding-left: 5px;
    }
}

.carousel-title {
    font-size: 50px;
    font-weight: 700;
    color: #fff;
    line-height: 1.1;
    text-transform: uppercase;
    text-shadow: 2px 2px 5px #000000;
}

.carousel-centered p {
    text-shadow: 2px 3px 2px #000000;
}

@media (max-width: 767px) {
    .carousel-title {
        font-size: 60px;
    }
}

@media (max-width: 500px) {
    .carousel-title {
        font-size: 45px;
    }
}

/*------------------------------------------------------------------
    [Swiper Slider]
------------------------------------------------------------------*/
.swiper-slider {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.swiper-clients-img {
    display: block;
    width: 238px;
    height: auto;
    margin: 0 auto;
    opacity: 1;
    cursor: pointer;
    transition-duration: 200ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

.swiper-clients-img:hover {
    opacity: .8;
    transition-duration: 200ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

/*------------------------------------------------------------------
  	[Text Colors]
------------------------------------------------------------------*/
.color-base {
    color: var(--main-gris) !important;
}

.color-white {
    color: #fff !important;
}

.color-heading {
    color: #515769 !important;
}

.color-subtitle {
    color: #a6a7aa !important;
}

.color-link {
    color: #81848f !important;
}

.color-link-hover {
    color: #999caa !important;
}

.color-sky-light {
    color: #fafafa !important;
}

.color-verde {
    color: var(--main-verde);
}

.color-gris {
    color: var(--main-gris);
}

.color-rojo {
    color: var(--main-rojo);
}

/*------------------------------------------------------------------
  	[Background Colors]
------------------------------------------------------------------*/
.bg-color-base {
    background: var(--main-gris) !important;
}

.bg-color-white {
    background: #fff !important;
}

.bg-color-heading {
    background: #515769 !important;
}

.bg-color-subtitle {
    background: #a6a7aa !important;
}

.bg-color-link {
    background: #81848f !important;
}

.bg-color-link-hover {
    background: #999caa !important;
}

.bg-color-sky-light {
    background: #f0f0f0 !important;
}

.bg-color-verde {
    background: var(--main-verde) !important;
}

.bg-color-gris {
    background: var(--main-gris) !important;
}

/*------------------------------------------------------------------
    [Row]
------------------------------------------------------------------*/
.row-space-1 {
    margin-right: -1px;
    margin-left: -1px;
}

.row-space-1 > [class*="col-"] {
    padding-left: 1px;
    padding-right: 1px;
}

.row-no-space {
    margin-right: -1px;
    margin-left: -1px;
}

.row-no-space > [class*="col-"] {
    padding-left: 0px;
    padding-right: 0px;
}

/*------------------------------------------------------------------
  	[Content]
------------------------------------------------------------------*/
.content {
    padding-top: 40px;
    padding-bottom: 40px;
}

.content-sm {
    padding-top: 60px;
    padding-bottom: 60px;
}

.content-md {
    padding-top: 80px;
    padding-bottom: 80px;
}

.content-lg {
    padding-top: 100px;
    padding-bottom: 100px;
}

/*------------------------------------------------------------------
    [Full Width]
------------------------------------------------------------------*/
.full-width {
    width: 100%;
    height: auto;
}

/*--------------------------------------------------
    [Font Weight]
----------------------------------------------------*/
.fweight-300 {
    font-weight: 300 !important;
}

.fweight-400 {
    font-weight: 400 !important;
}

.fweight-500 {
    font-weight: 500 !important;
}

.fweight-600 {
    font-weight: 600 !important;
}

.fweight-700 {
    font-weight: 700 !important;
}

/*------------------------------------------------------------------
    [Left margin]
------------------------------------------------------------------*/
.margin-l-0 {
    margin-left: 0 !important;
}

.margin-l-5 {
    margin-left: 5px !important;
}

.margin-l-10 {
    margin-left: 10px !important;
}

.margin-l-20 {
    margin-left: 20px !important;
}

/*------------------------------------------------------------------
    [Right margin]
------------------------------------------------------------------*/
.margin-r-0 {
    margin-right: 0 !important;
}

.margin-r-5 {
    margin-right: 5px !important;
}

.margin-r-10 {
    margin-right: 10px !important;
}

.margin-r-20 {
    margin-right: 20px !important;
}

/*------------------------------------------------------------------
    [Top margin]
------------------------------------------------------------------*/
.margin-t-0 {
    margin-top: 0 !important;
}

.margin-t-5 {
    margin-top: 5px !important;
}

.margin-t-10 {
    margin-top: 10px !important;
}

.margin-t-20 {
    margin-top: 20px !important;
}

.margin-t-30 {
    margin-top: 30px !important;
}

.margin-t-40 {
    margin-top: 40px !important;
}

.margin-t-50 {
    margin-top: 50px !important;
}

.margin-t-60 {
    margin-top: 60px !important;
}

@media (max-width: 992px) {
    .md-margin-t-0 {
        margin-top: 0 !important;
    }

    .md-margin-t-5 {
        margin-top: 5px !important;
    }

    .md-margin-t-10 {
        margin-top: 10px !important;
    }

    .md-margin-t-20 {
        margin-top: 20px !important;
    }

    .md-margin-t-30 {
        margin-top: 30px !important;
    }

    .md-margin-t-40 {
        margin-top: 40px !important;
    }

    .md-margin-t-50 {
        margin-top: 50px !important;
    }

    .md-margin-t-60 {
        margin-top: 60px !important;
    }
}

@media (max-width: 768px) {
    .sm-margin-t-0 {
        margin-top: 0 !important;
    }

    .sm-margin-t-5 {
        margin-top: 5px !important;
    }

    .sm-margin-t-10 {
        margin-top: 10px !important;
    }

    .sm-margin-t-20 {
        margin-top: 20px !important;
    }

    .sm-margin-t-30 {
        margin-top: 30px !important;
    }

    .sm-margin-t-40 {
        margin-top: 40px !important;
    }

    .sm-margin-t-50 {
        margin-top: 50px !important;
    }

    .sm-margin-t-60 {
        margin-top: 60px !important;
    }
}

@media (max-width: 767px) {
    .bg-color-base-xs {
        background: var(--main-gris) !important;
    }

    .bg-color-base-xs .service-icon,
    .bg-color-base-xs * h1,
    .bg-color-base-xs * h2,
    .bg-color-base-xs * h3,
    .bg-color-base-xs * h4,
    .bg-color-base-xs * h5,
    .bg-color-base-xs * h6,
    .bg-color-base-xs * p {
        color: #fff !important;
    }


    .bg-color-verde-xs {
        background: var(--main-verde) !important;
    }

    .bg-color-verde-xs .service-icon,
    .bg-color-verde-xs * h1,
    .bg-color-verde-xs * h2,
    .bg-color-verde-xs * h3,
    .bg-color-verde-xs * h4,
    .bg-color-verde-xs * h5,
    .bg-color-verde-xs * h6,
    .bg-color-verde-xs * p {
        color: var(--main-gris) !important;
    }
}

@media (min-width: 768px) and (max-width: 992px) {
    .bg-color-base-sm {
        background: var(--main-gris) !important;
    }

    .bg-color-base-sm .service-icon,
    .bg-color-base-sm * h1,
    .bg-color-base-sm * h2,
    .bg-color-base-sm * h3,
    .bg-color-base-sm * h4,
    .bg-color-base-sm * h5,
    .bg-color-base-sm * h6,
    .bg-color-base-sm * p {
        color: #fff !important;
    }


    .bg-color-verde-sm {
        background: var(--main-verde) !important;
    }

    .bg-color-verde-sm .service-icon,
    .bg-color-verde-sm * h1,
    .bg-color-verde-sm * h2,
    .bg-color-verde-sm * h3,
    .bg-color-verde-sm * h4,
    .bg-color-verde-sm * h5,
    .bg-color-verde-sm * h6,
    .bg-color-verde-sm * p {
        color: var(--main-gris) !important;
    }
}

@media (min-width: 992px) and (max-width: 1200px) {
    .bg-color-base-md {
        background: var(--main-gris) !important;
    }

    .bg-color-base-md .service-icon,
    .bg-color-base-md * h1,
    .bg-color-base-md * h2,
    .bg-color-base-md * h3,
    .bg-color-base-md * h4,
    .bg-color-base-md * h5,
    .bg-color-base-md * h6,
    .bg-color-base-md * p {
        color: #fff !important;
    }


    .bg-color-verde-md {
        background: var(--main-verde) !important;
    }

    .bg-color-verde-md .service-icon,
    .bg-color-verde-md * h1,
    .bg-color-verde-md * h2,
    .bg-color-verde-md * h3,
    .bg-color-verde-md * h4,
    .bg-color-verde-md * h5,
    .bg-color-verde-md * h6,
    .bg-color-verde-md * p {
        color: var(--main-gris) !important;
    }
}

@media (max-width: 480px) {
    .xs-margin-t-0 {
        margin-top: 0 !important;
    }

    .xs-margin-t-5 {
        margin-top: 5px !important;
    }

    .xs-margin-t-10 {
        margin-top: 10px !important;
    }

    .xs-margin-t-20 {
        margin-top: 20px !important;
    }

    .xs-margin-t-30 {
        margin-top: 30px !important;
    }

    .xs-margin-t-40 {
        margin-top: 40px !important;
    }

    .xs-margin-t-50 {
        margin-top: 50px !important;
    }

    .xs-margin-t-60 {
        margin-top: 60px !important;
    }
}

/*------------------------------------------------------------------
    [Bottom margin]
------------------------------------------------------------------*/
.margin-b-0 {
    margin-bottom: 0 !important;
}

.margin-b-2 {
    margin-bottom: 2px !important;
}

.margin-b-5 {
    margin-bottom: 5px !important;
}

.margin-b-10 {
    margin-bottom: 10px !important;
}

.margin-b-20 {
    margin-bottom: 20px !important;
}

.margin-b-30 {
    margin-bottom: 30px !important;
}

.margin-b-40 {
    margin-bottom: 40px !important;
}

.margin-b-50 {
    margin-bottom: 50px !important;
}

.margin-b-60 {
    margin-bottom: 60px !important;
}

.margin-b-70 {
    margin-bottom: 70px !important;
}

.margin-b-80 {
    margin-bottom: 80px !important;
}

.margin-b-90 {
    margin-bottom: 90px !important;
}

.margin-b-100 {
    margin-bottom: 100px !important;
}

/*------------------------------------------------------------------
    [Top margin below 992px]
------------------------------------------------------------------*/
@media (max-width: 992px) {
    .md-margin-b-0 {
        margin-bottom: 0 !important;
    }

    .md-margin-b-2 {
        margin-bottom: 2px !important;
    }

    .md-margin-b-5 {
        margin-bottom: 5px !important;
    }

    .md-margin-b-10 {
        margin-bottom: 10px !important;
    }

    .md-margin-b-20 {
        margin-bottom: 20px !important;
    }

    .md-margin-b-30 {
        margin-bottom: 30px !important;
    }

    .md-margin-b-40 {
        margin-bottom: 40px !important;
    }

    .md-margin-b-50 {
        margin-bottom: 50px !important;
    }

    .md-margin-b-60 {
        margin-bottom: 60px !important;
    }

    .md-margin-b-70 {
        margin-bottom: 70px !important;
    }

    .md-margin-b-80 {
        margin-bottom: 80px !important;
    }

    .md-margin-b-90 {
        margin-bottom: 90px !important;
    }

    .md-margin-b-100 {
        margin-bottom: 100px !important;
    }
}

/*------------------------------------------------------------------
    [Top margin below 768px]
------------------------------------------------------------------*/
@media (max-width: 768px) {
    .sm-margin-b-0 {
        margin-bottom: 0 !important;
    }

    .sm-margin-b-2 {
        margin-bottom: 2px !important;
    }

    .sm-margin-b-5 {
        margin-bottom: 5px !important;
    }

    .sm-margin-b-10 {
        margin-bottom: 10px !important;
    }

    .sm-margin-b-20 {
        margin-bottom: 20px !important;
    }

    .sm-margin-b-30 {
        margin-bottom: 30px !important;
    }

    .sm-margin-b-40 {
        margin-bottom: 40px !important;
    }

    .sm-margin-b-50 {
        margin-bottom: 50px !important;
    }

    .sm-margin-b-60 {
        margin-bottom: 60px !important;
    }

    .sm-margin-b-70 {
        margin-bottom: 70px !important;
    }

    .sm-margin-b-80 {
        margin-bottom: 80px !important;
    }

    .sm-margin-b-90 {
        margin-bottom: 90px !important;
    }

    .sm-margin-b-100 {
        margin-bottom: 100px !important;
    }
}

/*------------------------------------------------------------------
    [Top margin below 480px]
------------------------------------------------------------------*/
@media (max-width: 480px) {
    .xs-margin-b-0 {
        margin-bottom: 0 !important;
    }

    .xs-margin-b-2 {
        margin-bottom: 2px !important;
    }

    .xs-margin-b-5 {
        margin-bottom: 5px !important;
    }

    .xs-margin-b-10 {
        margin-bottom: 10px !important;
    }

    .xs-margin-b-20 {
        margin-bottom: 20px !important;
    }

    .xs-margin-b-30 {
        margin-bottom: 30px !important;
    }

    .xs-margin-b-40 {
        margin-bottom: 40px !important;
    }

    .xs-margin-b-50 {
        margin-bottom: 50px !important;
    }

    .xs-margin-b-60 {
        margin-bottom: 60px !important;
    }

    .xs-margin-b-70 {
        margin-bottom: 70px !important;
    }

    .xs-margin-b-80 {
        margin-bottom: 80px !important;
    }

    .xs-margin-b-90 {
        margin-bottom: 90px !important;
    }

    .xs-margin-b-100 {
        margin-bottom: 100px !important;
    }
}

/*--------------------------------------------------
    [Height]
----------------------------------------------------*/
.height-100 {
    height: 100px !important;
}

.height-200 {
    height: 200px !important;
}

.height-300 {
    height: 300px !important;
}
