body {
    overflow-x: hidden;
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
}

.logo-circle {
    position: absolute;
    width: 362px;
    height: 184px;
    top: 0%;
    left: 50%;
    margin-left: -181px;
}

p {
    line-height: 1.75;
}

a {
    color: #2CBCED;
}

a:hover {
    color: #3886C6;
}

.text-primary {
    color: #2CBCED !important;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
    font-family: 'Raleway', sans-serif;
}

.text-skyblue {
    color: #2CBCED;
}

.text-blue {
    color: #3761A1;
}

.page-section {
    padding: 0;
}

.page-section>.title-section {
    width: 100%;
    position: relative;
    padding: 50px;
}

.page-section>.title-section.blue {
    background-color: #3761A1;
}

.bg-blue {
    background-color: #3761A1;
}

.bg-skyblue {
    background-color: #2CBCED;
}

.page-section>.title-section.skyblue {
    background-color: #2CBCED;
}

.page-section .title-section.blue:after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -20px;
    width: 0;
    height: 0;
    border-top: solid 20px #3761A1;
    border-left: solid 20px transparent;
    border-right: solid 20px transparent;
}

.page-section .title-section.skyblue:after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -20px;
    width: 0;
    height: 0;
    border-top: solid 20px #2CBCED;
    border-left: solid 20px transparent;
    border-right: solid 20px transparent;
}

.page-section>.content-section {
    padding-top: 60px;
    padding-bottom: 60px;
}

.page-section h2.section-heading {
    font-size: 32px;
    margin-top: 0;
    margin-bottom: 15px;
    text-underline-position: under;
}

.page-section h3.section-subheading {
    font-size: 16px;
    font-weight: 400;
    font-style: italic;
    margin-bottom: 75px;
    text-transform: none;
    font-family: 'Raleway', sans-serif;
}

@media (min-width: 768px) {
    section {
        padding: 150px 0;
    }
}

::-moz-selection {
    background: #2CBCED;
    text-shadow: none;
}

::selection {
    background: #2CBCED;
    text-shadow: none;
}

img::-moz-selection {
    background: transparent;
}

img::selection {
    background: transparent;
}

img::-moz-selection {
    background: transparent;
}

.banner-text {
    background-color: white;
    border-bottom-right-radius: 50px;
    border-top-right-radius: 50px;
    margin-bottom: 15px;
    padding: 15px;
    padding-left: 60px;
    width: 350px;
    font-size: 1.25em;
    font-weight: 600;
}

.btn {
    font-family: 'Raleway', sans-serif;
    font-weight: 700;
}

.btn-xl {
    font-size: 18px;
    padding: 20px 40px;
}

.btn-primary {
    background-color: #2CBCED;
    border-color: #2CBCED;
}

.btn-primary:active, .btn-primary:focus, .btn-primary:hover {
    background-color: #3886C6 !important;
    border-color: #3886C6 !important;
    color: white;
}

.btn-primary:active, .btn-primary:focus {
    box-shadow: 0 0 0 0.2rem rgba(99, 165, 211, 0.5) !important;
}

#mainNav {
    background-color: #212529;
}

#mainNav .navbar-toggler {
    right: 0;
    padding: 13px;
    color: #3886C6;
    border: 0;
    font-family: 'Raleway', sans-serif;
    font-size: 1em;
}

@media (min-width: 992px) {
    .navbar-expand-lg .navbar-collapse {
        display: block!important;
    }
}

#mainNav .navbar-brand {
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-image: url("../img/logos/main.svg");
    width: 210px;
    height: 100px;
    color: #2CBCED;
    font-family: 'Raleway', sans-serif;
}

#mainNav .navbar-brand.active, #mainNav .navbar-brand:active, #mainNav .navbar-brand:focus, #mainNav .navbar-brand:hover {
    color: #3886C6;
}

#mainNav .navbar-nav .nav-item .nav-link {
    font-size: 90%;
    font-weight: bold;
    padding: 0.75em 0;
    letter-spacing: 1px;
    color: #3761A1;
    font-family: 'Raleway', sans-serif;
}

#mainNav .navbar-nav .nav-item .nav-link.active, #mainNav .navbar-nav .nav-item .nav-link:hover {
    color: #2CBCED;
}

@media (min-width: 992px) {
    #mainNav {
        padding-top: 15px;
        padding-bottom: 15px;
        transition: padding-top 0.3s, padding-bottom 0.3s;
        border: none;
        background-color: transparent;
    }
    #mainNav .navbar-brand {
        font-size: 1.75em;
        transition: all 0.3s;
    }
    #mainNav .navbar-nav .nav-item .nav-link {
        padding: 1.1em 1em !important;
    }
    #mainNav.navbar-shrink {
        padding-top: 15px;
        padding-bottom: 0;
        background-color: #212529;
    }
    #mainNav.navbar-shrink .navbar-brand {
        font-size: 1.25em;
        padding: 12px 0;
    }
}

header.masthead {
    color: white;
    background-image: url(../img/header-bg.jpg);
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-position: center;
    background-size: cover;
}

header.masthead .intro-text {
    padding-top: 150px;
    padding-bottom: 70px;
}

header.masthead .intro-text img {
    height: 275px;
    margin-left: -50px;
}

header.masthead .intro-text .intro-lead-in {
    font-size: 22px;
    font-style: italic;
    line-height: 22px;
    margin-bottom: 25px;
    font-family: 'Raleway', sans-serif;
}

header.masthead .intro-text .intro-heading {
    font-size: 50px;
    font-weight: 700;
    line-height: 50px;
    margin-bottom: 25px;
    font-family: 'Raleway', sans-serif;
}

@media (min-width: 768px) {
    header.masthead .intro-text {
        padding-top: 300px;
        padding-bottom: 200px;
    }
    header.masthead .intro-text .intro-lead-in {
        font-size: 40px;
        font-style: italic;
        line-height: 40px;
        margin-bottom: 25px;
        font-family: 'Raleway', sans-serif;
    }
    header.masthead .intro-text .intro-heading {
        font-size: 75px;
        font-weight: 700;
        line-height: 75px;
        margin-bottom: 50px;
        font-family: 'Raleway', sans-serif;
    }
}

input.input-sm {
    height: calc(1.1em + .75rem + 2px);
    font-size: 0.75em;
}

button.btn-sm {
    font-size: .75rem;
}

#servicios .content-section {
    color: white;
    background-image: url(../img/services/main.png);
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-position: 0 -230px;
    background-size: cover;
    height: 460px;
}

.service-heading {
    font-size: 20px;
    margin: 15px 0;
    text-transform: none;
}

@media (max-width: 991px) {
    nav#mainNav {
        margin: 0;
        padding: 0;
        width: 100%;
        display: block;
        min-width: 100%;
    }
    #mainNav .container {
        margin-right: 0;
        margin-left: 0;
        min-width: 100%;
    }
    #mainNav .container .header {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-pack: justify;
        justify-content: space-between;
        padding: 0 15px;
        width: 100%;
        min-width: 100%;
    }
    #mainNav .container .header {
        height: 122px;
    }
    #mainNav .container .header.navbar-open {
        background-color: #3886C6;
    }
    #mainNav .container .header.navbar-open button {
        color: white;
    }
    #mainNav .container .header.navbar-open .navbar-brand {
        background-image: url("../img/logos/main_white.svg");
    }
    header.masthead {
        background-position: -300px center;
    }
    #navbarResponsive {
        padding: 15px;
    }
    header.masthead .intro-text img {
        margin-left: 0;
    }
}

body.navbar-hide #mainNav {
    visibility: hidden!important;
}

body.navbar-hide .logo-circle {
    visibility: visible!important;
}

body .logo-circle {
    visibility: hidden!important;
}

body.navbar-hide a.navbar-brand.js-scroll-trigger {
    display: none;
}

.info-contact img {
    width: 50px;
    height: 50px;
}

.contact {
    position: absolute;
    top: 100px;
    left: 100px;
    width: 400px;
    z-index: -1;
}

.info-contact {
    font-size: 0.8em;
    font-weight: 600;
    position: relative;
    width: 100%;
}

.info-contact .contact>.row {
    width: 100%;
    margin: 0;
}

#somos img {
    margin: 1rem 0;
    height: 120px;
}

@media (max-width: 768px) {
    header.masthead {
        background-position: center center;
        background-image: url(../img/header-bg-responsive.png);
    }
    .separador {
        width: 100%!important;
        max-width: 350px;
    }
    #servicios .content-section {
        background-position: center;
        background-size: cover;
    }
    #somos img {
        width: 100%;
    }
    header.masthead .intro-text img {
        width: 100%;
        height: 273px;
        margin-top: 574px;
    }
    .col-sm-3 {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }
    .col-sm-9 {
        -ms-flex: 0 0 75%;
        flex: 0 0 75%;
        max-width: 75%;
    }
    .col-sm-12 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
    .contact {
        margin-top: 8rem;
        width: 100%;
        top: 0;
        left: 0;
    }
    #servicios .content-section {
        background-position: 0 0px;
    }
    .services_content h1 {
        left: 10%;
    }
}

section#contacto {
    z-index: 100;
    position: relative;
    height: 600px;
}

section#contacto .content-section.container {
    padding: 0;
}

small a {
    font-size: 0.70rem;
}

.footer {
    padding: 25px 0;
    text-align: center;
}

.footer span.copyright {
    font-size: 90%;
    line-height: 40px;
    text-transform: none;
    font-family: 'Raleway', sans-serif;
}

.w-100 {
    min-width: 100%;
}

button.navbar-toggler.navbar-toggler-right:focus {
    outline: auto;
}

.info-contact span.description {}

.separador {
    width: 310px;
    background: white;
    height: 1px;
    align-content: center;
    margin: 0px auto;
    margin-bottom: 10px;
}

.menu_vertical {
    position: fixed;
    /* Hacemos que la posición en pantalla sea fija para que siempre se muestre en pantalla*/
    right: 0;
    /* Establecemos la barra en la izquierda */
    top: 250px;
    /* Bajamos la barra 200px de arriba a abajo */
    z-index: 2000;
    /* Utilizamos la propiedad z-index para que no se superponga algún otro elemento como sliders, galerías, etc */
}

.menu_vertical ul {
    padding: 6px 0 0 0;
    width: 30px;
    background-color: #3761a1;
    list-style: none;
    border-radius: 5px;
    margin: 0;
}

.menu_vertical ul li a {
    display: inline-block;
    text-decoration: none;
    -webkit-transition: all 500ms ease;
    -o-transition: all 500ms ease;
    transition: all 500ms ease;
    /* Establecemos una transición a todas las propiedades */
}

.menu_vertical ul li a {
    padding-left: 4px;
    border-top: 15px solid transparent;
    border-right: 20px solid white;
    border-bottom: 15px solid transparent;
}

.menu_vertical ul li a.active {
    border-right: 20px solid #2cbced;
}

.menu_vertical ul li a:hover {
    background: #3761a1;
    /* Cambiamos el fondo cuando el usuario pase el mouse */
}

#map {
    position: absolute;
    left: 0px;
    top: 0px;
    z-index: -1;
    width: 100%;
    height: 600px;
}

#administrative_management.services_content {
    background-image: url(../img/services/administrative_management.png);
}

#legal_advice.services_content {
    background-image: url(../img/services/legal_advice.png);
}

#accounting_report.services_content {
    background-image: url(../img/services/accounting_report.png);
}

#human_resources.services_content {
    background-image: url(../img/services/human_resources.png);
}

.services_content {
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-position: center top;
    background-size: cover;
    min-height: 450px;
    position: relative;
}

.custom-list {
    list-style-image: url(../img/generic/li.png);
}

.services_content h1 {
    position: absolute;
    bottom: 1rem;
    right: 10%;
    color: white;
    font-weight: 900;
    font-family: sans-serif;
    /*left: 10%;*/
}

.modal-content {
    background-color: #3761A0;
}

hr {
    background-color: white;
    height: 1px;
    border: 0;
}

.btn_p {
    background: rgba(43, 140, 182, 1);
    background: -moz-linear-gradient(left, rgba(43, 140, 182, 1) 7%, rgba(43, 140, 182, 1) 14%, rgba(51, 85, 133, 1) 61%, rgba(52, 78, 127, 1) 67%, rgba(52, 78, 127, 1) 100%);
    background: -webkit-gradient(left top, right top, color-stop(7%, rgba(43, 140, 182, 1)), color-stop(14%, rgba(43, 140, 182, 1)), color-stop(61%, rgba(51, 85, 133, 1)), color-stop(67%, rgba(52, 78, 127, 1)), color-stop(100%, rgba(52, 78, 127, 1)));
    background: -webkit-linear-gradient(left, rgba(43, 140, 182, 1) 7%, rgba(43, 140, 182, 1) 14%, rgba(51, 85, 133, 1) 61%, rgba(52, 78, 127, 1) 67%, rgba(52, 78, 127, 1) 100%);
    background: -o-linear-gradient(left, rgba(43, 140, 182, 1) 7%, rgba(43, 140, 182, 1) 14%, rgba(51, 85, 133, 1) 61%, rgba(52, 78, 127, 1) 67%, rgba(52, 78, 127, 1) 100%);
    background: -ms-linear-gradient(left, rgba(43, 140, 182, 1) 7%, rgba(43, 140, 182, 1) 14%, rgba(51, 85, 133, 1) 61%, rgba(52, 78, 127, 1) 67%, rgba(52, 78, 127, 1) 100%);
    background: linear-gradient(to right, rgba(43, 140, 182, 1) 7%, rgba(43, 140, 182, 1) 14%, rgba(51, 85, 133, 1) 61%, rgba(52, 78, 127, 1) 67%, rgba(52, 78, 127, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2b8cb6', endColorstr='#344e7f', GradientType=1);
    border-color: rgba(43, 140, 182, 1);
    border-color: -moz-linear-gradient(left, rgba(43, 140, 182, 1) 7%, rgba(43, 140, 182, 1) 14%, rgba(51, 85, 133, 1) 61%, rgba(52, 78, 127, 1) 67%, rgba(52, 78, 127, 1) 100%);
    border-color: -webkit-gradient(left top, right top, color-stop(7%, rgba(43, 140, 182, 1)), color-stop(14%, rgba(43, 140, 182, 1)), color-stop(61%, rgba(51, 85, 133, 1)), color-stop(67%, rgba(52, 78, 127, 1)), color-stop(100%, rgba(52, 78, 127, 1)));
    border-color: -webkit-linear-gradient(left, rgba(43, 140, 182, 1) 7%, rgba(43, 140, 182, 1) 14%, rgba(51, 85, 133, 1) 61%, rgba(52, 78, 127, 1) 67%, rgba(52, 78, 127, 1) 100%);
    border-color: -o-linear-gradient(left, rgba(43, 140, 182, 1) 7%, rgba(43, 140, 182, 1) 14%, rgba(51, 85, 133, 1) 61%, rgba(52, 78, 127, 1) 67%, rgba(52, 78, 127, 1) 100%);
    border-color: -ms-linear-gradient(left, rgba(43, 140, 182, 1) 7%, rgba(43, 140, 182, 1) 14%, rgba(51, 85, 133, 1) 61%, rgba(52, 78, 127, 1) 67%, rgba(52, 78, 127, 1) 100%);
    border-color: linear-gradient(to right, rgba(43, 140, 182, 1) 7%, rgba(43, 140, 182, 1) 14%, rgba(51, 85, 133, 1) 61%, rgba(52, 78, 127, 1) 67%, rgba(52, 78, 127, 1) 100%);
}

.reclamaciones {
    background-repeat: no-repeat;
    background: #cbccc8;
    background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#cbccc8));
    background: -moz-linear-gradient(top, #fff, #cbccc8);
    filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#cbccc8');
}

.info-contact span.description {
    word-break: break-all;
}
#container-btnContactanosOpen{
    position: absolute;float: right;width: 100%;bottom: 0;right: 100px;
}
#btnContactanosOpen {
    max-width: 320px;
    float: right;
    background-color: #3761A1;
    border-color: #3761A1;
    border-radius: 0;
}
#container-contactacnos{
    position: absolute;float: right;width: 100%;bottom: 0;right: 100px;bottom: 38px;
}

div#login input{
background-color: #3761A1;
border: 1px solid white;
resize: none;
color: white;
}
div#login label,div#login .modal-header{
    color: white;
}

#contactacnos {
    display: block;
    background-color: rgb(55, 97, 161);
    padding: 10px;
    float: right;
    display: none;
}

@media (max-width: 320px) {
    .logo-circle {
        width: 100%;
        top: -25px;
        left: 0;
        right: 0;
        margin-left: 0;
    }
    .banner-text {
        width: 100%;
    }
    .text-menu {
        display: none;
    }
    #mainNav .navbar-brand {
        width: 150px;
    }
    #mainNav .navbar-toggler {
        padding: 13px 0;
    }
    .navbar-brand {
        margin-right: 0rem;
    }
}

@media (max-width: 500px) {
    #map, section#contacto {
        height: 750px;
    }
    #btnContactanosOpen, #contactacnos {
        float: none;
    }
    #container-btnContactanosOpen,#container-contactacnos{
        right: 0;
    }
}

@media (min-width: 992px) {}

@media (min-width: 1200px) {}