#preload {
    width: 100%;
    height: 100%;
    position: fixed;
    background: #fff;
    z-index: 9999;
    text-align: center;
    color: #000;
}
.header-custom,
#empresas,
.fondo-gradient,
#brand-header {
    color: rgb(49, 65, 96);
    background: linear-gradient(
        rgb(177, 223, 254) 0%,
        rgb(220, 246, 255) 35%,
        rgb(255, 255, 255) 70%
    );
}

body {
    font-family: "Roboto", sans-serif;
    color: rgb(43, 127, 194);
    text-decoration: none;
}

a {
    text-decoration: none;
}

h2.titulo-seccion {
    font-size: 45px;
    font-weight: 700;
    margin-bottom: 0.02em;
    margin-top: 0.5em;
}

h4.sub-headers {
    color: rgb(49, 65, 96);
    font-size: 1.38rem;
    letter-spacing: 0.35em;
}

h3.titulos-headers {
    color: rgb(43, 127, 194);
    font-size: 5rem;
    font-weight: 900;
    line-height: 4rem;
}

h4.sub-secciones {
    color: rgb(49, 65, 96);
    font-size: 1.88rem;
    font-weight: 600;
}

.titulos {
    color: rgb(43, 127, 194);
    font-size: 2.81rem;
    font-weight: 900;
    line-height: 55px;
}

.owl-theme .owl-nav {
    margin-top: 10px;
    position: absolute;
    top: 50%;
    width: 100%;
}

.owl-carousel .owl-item img {
    display: block;
    width: 100%;
    max-width: 510;
    height: auto;
}

.carousel-indicators {
    background: #428bca;
    opacity: 0.5;
    opacity: 1;
    -webkit-transform: skew(-35deg);
    -moz-transform: skew(-35deg);
    -ms-transform: skew(-35deg);
    -o-transform: skew(-35deg);
    transform: skew(-35deg);
}

.carousel-caption-croquis {
    position: absolute;
    margin-left: 20px;
    top: 40px;
    left: 50px;
}

.rayita {
    width: 200px;
    height: 7.5px;
    background: #b2e3ee;
    margin-bottom: 2em;
    -webkit-transform: skew(-35deg);
    -moz-transform: skew(-35deg);
    -ms-transform: skew(-35deg);
    -o-transform: skew(-35deg);
    transform: skew(-35deg);
}
p.texto-heroes {
    color: rgb(49, 65, 96);
    font-size: 1.62rem;
    line-height: 1.4em;
    margin-top: 3rem;
}

#quotes {
    background: rgb(43, 127, 194);
}
#quotes h4 {
    margin-top: 10px;
    margin-bottom: 50px;
    color: #b3e2ee;
    text-align: center;
}
#quotes h2 {
    margin-top: 50px;
    color: #fff;
    text-align: center;
}
#quotes p {
    color: #fff;
    margin-right: 1rem;
    padding-left: 10px;
    padding-right: 30px;
    margin-left: 1rem;
}

footer {
    margin-top: 80px;
    position: relative;
    color: rgb(49, 65, 96);
    background: linear-gradient(
        rgb(177, 223, 254) 0%,
        rgb(220, 246, 255) 35%,
        rgb(255, 255, 255) 70%
    );
}

.border-top {
    height: 2px;
    margin-right: auto;
    margin-left: auto;
}
#certfooter {
    margin-right: 30px;
}
footer a {
    color: rgb(49, 65, 96);
}
footer a:hover {
    color: rgb(31, 41, 60);
}
footer ul li {
    list-style-type: none;
    margin-top: 0;
    margin-bottom: 1rem;
}
footer ul,
li {
    list-style-type: none;
    padding-left: 0;
}

footer svg {
    fill: rgb(43, 127, 194);
}
nav#botonera {
    background-color: #2b7fc2;
    font-weight: bold;
}

.navbar-nav .nav-link .nav-item {
    font-weight: 700;
}

ul.dropdown-menu.show {
    background-color: #2b7fc2;
    color: white;
    border: none;
    margin-top: 0;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

a.dropdown-item {
    color: white;
    background-color: #2b7fc2;
}
a:hover.dropdown-item {
    background-color: rgb(177, 223, 254);
    color: #2b7fc2;
}
.dropdown-toggle::after {
    display: none;
}
.card {
    background: none;
    border: none;
}
.card-image image {
    height: 170px;
}
.texto-cards {
    font-size: 1rem;
    color: rgb(43, 127, 194);
}
.hero-item img {
    display: block;
    min-width: 100%;
    width: auto;
    height: auto;
}
.caja-foto {
    position: relative;
    display: inline-block;
}

p.epigrafe-foto {
    position: absolute;
    color: white;
    -webkit-text-fill-color: white; /* Will override color (regardless of order) */
    -webkit-text-stroke-width: 2px;
    -webkit-text-stroke-color: #0a2d41;
    font-size: 2rem;
    line-height: 1.4em;
    font-weight: 900;
    margin-bottom: 1rem;
    margin-right: 1rem;
    text-align: right;
    padding: 1rem;
}

#historia {
    background: linear-gradient(#eefbff 30%, #cde4f0);
    color: #95a1b4;
}
#empresas {
    padding-left: 60px;
    padding-right: 60px;
}
.anio-card {
    padding-left: 3px;
}
.centrado {
    padding-top: 3rem;
    padding-bottom: 2rem;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    flex-direction: column;
}

.centrado .rayita {
    margin-left: auto;
    margin-right: auto;
}
#historia .titulo-seccion {
    color: #2b7fc2;
    margin-left: auto;
    margin-right: auto;
    margin-top: 0;
}
#historia .anios {
    color: #95a1b4;
    font-weight: 600;
    font-size: 3rem;
}
#historia .rayita {
    background: #2b7fc2;
}
.owl-carousel .owl-nav button.owl-prev {
    position: absolute;
    top: 50%;
    left: -55px;
    display: inline-block;
    transform: translateY(-50%);
    background: url(../img/icons/fechaizq.png) no-repeat;
    width: 58px;
    height: 107px;
}

#ldvh .owl-carousel .owl-nav button.owl-prev,
#ldvv .owl-carousel .owl-nav button.owl-prev,
#riel .owl-carousel .owl-nav button.owl-prev {
    position: absolute;
    left: 5px;
}
#ldvh .owl-carousel .owl-nav button.owl-next,
#ldvv .owl-carousel .owl-nav button.owl-next,
#riel .owl-carousel .owl-nav button.owl-next {
    position: absolute;
    right: 5px;
}

#ldvh .owl-carousel .carousel-caption,
#riel .owl-carousel .carousel-caption {
    background-color: rgba(43, 127, 194, 0.6);
    color: white;
    text-shadow: 0 0 black;
    position: absolute;
    bottom: 0px;
    width: 100%;
    right: 15%;
    bottom: 10 px;
    left: 0%;
    padding-top: 10px;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 10px;
}

#ldvh .owl-carousel .carousel-caption p,
#riel .owl-carousel .carousel-caption p {
    font-size: 1.2rem;
}

#Hero .owl-carousel .owl-stage {
    display: flex;
    align-items: center;
}

.owl-carousel .owl-nav button.owl-next {
    position: absolute;
    top: 50%;
    right: -55px;
    display: inline-block;
    transform: translateY(-50%);
    background: url(../img/icons/flechader.png) no-repeat;
    width: 58px;
    height: 106px;
}

.owl-carousel .owl-nav button.owl-next:hover {
    background: url(../img/icons/flechaderactive.png) no-repeat;
}

.owl-carousel .owl-nav button.owl-prev:hover {
    background: url(../img/icons/flechaizqactive.png) no-repeat;
}

#quotes .owl-carousel .owl-nav button.owl-next:hover {
    background: url(../img/icons/flechagrisder.png) no-repeat;
}

#quotes .owl-carousel .owl-nav button.owl-prev:hover {
    background: url(../img/icons/flechagrisiz.png) no-repeat;
}

#historia .owl-carousel,
#historia .owl-carousel.owl-loaded {
    display: block;
    padding: 40px;
}

/*CAMBIO EL MARGEN de CAROUSEL EN PANTALLAS CHICAS QUE VA SIN FLECHAS*/
@media (max-width: 768px) {
    #historia .owl-carousel,
    .owl-carousel.owl-loaded {
        padding: 0px;
    }
}

#historia .owl-carousel .owl-nav button.owl-prev {
    position: absolute;
    top: 50%;
    left: -90px;
    display: inline-block;
    transform: translateY(-50%);
    background: url(../img/icons/flechagrisiz.png) no-repeat;
    width: 58px;
    height: 106px;
}

#historia .owl-carousel .owl-nav button.owl-next {
    position: absolute;
    top: 50%;
    right: -20px;
    display: inline-block;
    transform: translateY(-50%);
    background: url(../img/icons/flechagrisder.png) no-repeat;
    width: 58px;
    height: 106px;
}

#historia .owl-carousel .owl-nav button.owl-next:hover {
    background: url(../img/icons/flechaderactive.png) no-repeat;
}

#historia .owl-carousel .owl-nav button.owl-prev:hover {
    background: url(../img/icons/flechaizqactive.png) no-repeat;
}

#historia .owl-controls {
    text-align: center;
}
#historia .owl-controls .owl-dot {
    display: inline-block;
}

.owl-carousel .owl-nav .owl-carousel .owl-nav .owl-carousel .owl-dot {
    width: 30px;
    height: 30px;
}

.owl-theme .owl-dots .owl-dot span {
    background-color: #2b7fc2;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 30px;
    display: block;
    height: 12px;
    margin: 5px 7px;
    width: 12px;
    filter: Alpha(Opacity=500);
    /*IE7 fix*/
    opacity: 0.5;
}

.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
    background-color: #2b7fc2;
    filter: Alpha(Opacity=100);
    /*IE7 fix*/
    opacity: 1;
}

#quotes .owl-theme .owl-dots .owl-dot span {
    background-color: #fff;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 30px;
    display: block;
    height: 12px;
    margin: 5px 7px;
    width: 12px;
    filter: Alpha(Opacity=500);
    /*IE7 fix*/
    opacity: 0.5;
}

#quotes .owl-theme .owl-dots .owl-dot.active span,
#quotes .owl-theme .owl-dots .owl-dot:hover span {
    background-color: #b2e3ee;
    filter: Alpha(Opacity=100);
    /*IE7 fix*/
    opacity: 1;
}

.my-3 {
    margin-top: 0 !important;
}

#servicios .container {
    width: 100%;
    height: auto;
    display: flex !important;
    flex-wrap: wrap;
}
#servicios {
    padding-bottom: 20px;
}
.card-servicios {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
    transition: 0.3s;
    color: #314160;
    padding: 0;
    margin-bottom: 10px;
}

.card-servicios:hover {
    box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
}
.card-container {
    padding: 8px;
}
.card-container h4.epigrafe-cards {
    font-size: 1rem;
    font-weight: 700;
    color: #4c7eb1;
    font-family: "Roboto Condensed", sans-serif;
}

.card-servicios h3.titulo-cards {
    font-size: 1.5rem;
    font-weight: 900;
}

.card-servicios a,
.stretched-link::after {
    color: #314160;
}

.texto-secciones {
    font-size: 1rem;
    color: #314160;
}
#sistemas .caja-foto-epigrafe {
    background-image: url(../img/fotos/sistemas.jpg);
    background-size: cover;
    height: 100%;
    background-repeat: no-repeat;
}

#sistemas .caja-foto-epigrafe .texto-caja-foto {
    position: relative;
}
#sistemas dt::before {
    content: "";
    height: 33px;
    position: absolute;
    top: 7px;
    left: -24px;
    width: 33px;
    display: inline-block;
    margin-right: 9px;
    background-image: url(../img/icons/tilde.svg);
    background-size: 33px 33px;
}

#sistemas dt::after {
    content: url("../img/icons/FlechaMini.svg");
    margin-left: 17px;
}
#sistemas dd {
    margin-left: 49px;
    color: #314160;
    margin-top: -1em;
}
#sistemas dt {
    color: #314160;
    font-size: 2rem;
    padding-left: 26px;
    font-weight: 900;
    position: relative;
    vertical-align: center;
    margin-bottom: 12px;
    margin-left: 24px;
}

/*Productos*/

#productos {
    background-color: #f4f4f4;
    padding: 2em;
}
.card-productos {
    box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.2);
    transition: 0.3s;
    background-color: white;
    color: #314160;
    padding: 0;
    margin-bottom: 10px;
}
#productos .card-productos .card-container {
    height: 77px;
}
.card-productos:hover {
    box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
}
.btn-card-info {
    margin-top: 10px;
    background-color: #b3e2ee;
    color: #005b96;
    padding: 12px 20px;
    border: none;
    cursor: pointer;
    width: 100%;
    display: block;
    text-align: center;
}
.btn-card-info:hover {
    margin-top: 10px;
    background-color: #2b7fc2;
    color: white;
    padding: 12px 20px;
    border: none;
    cursor: pointer;
    width: 100%;
    display: block;
}

#productos .foto-prod-cont {
    margin: auto;
    display: block;
    height: 206px;
    width: 220px;
    overflow: hidden;
}

.foto-prod-cont img {
    height: 100%;
}
@supports (object-fit: cover) {
    .foto-prod-cont img {
        height: 100%;
        object-fit: cover;
        object-position: center center;
    }
}

#productos h3.titulo-cards {
    font-size: 1.2rem;
    color: grey;
    font-weight: 900;
    letter-spacing: 0.12em;
}

#productos h4.epigrafe-cards {
    font-size: 0.8rem;
    color: #005b96;
    font-weight: 300;
}

/*Contacto*/

#contacto {
    margin-bottom: -80px;
}
#cont {
    position: relative;
    width: 100%;
    height: 629px;
}
#map-canvas {
    overflow: hidden;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

#form-contacto {
    width: 80%;
    height: 80%;
    z-index: 2;
    background-color: #f2f2f2;
    padding: 20px;
    top: 20px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
    transition: 0.3s;
}

#form-contacto h2.titulo-seccion {
    color: #2b7fc2;
    font-size: 1.8rem;
    font-weight: 900;
    vertical-align: center;
    letter-spacing: 1px;
}

.azul {
    background: linear-gradient(
        to bottom,
        white,
        white 75%,
        rgb(43, 127, 194) 75%
    );
    z-index: 1;
    margin-top: 1rem;
    bottom: 0px;
}

.azul a.btn.btn-light {
    bottom: 30px;
    width: 74%;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

/* Style inputs with type="text", select elements and textareas */
input[type="text"],
select,
textarea {
    width: 100%;
    /* Full width */
    padding: 12px;
    /* Some padding */
    border: 1px solid #2b7fc2;
    /* Blue border */
    box-sizing: border-box;
    /* Make sure that padding and width stays in place */
    margin-top: 6px;
    /* Add a top margin */
    margin-bottom: 16px;
    /* Bottom margin */
    /*resize: vertical  Allow the user to vertically resize the textarea (not horizontally) */
}

/* Style the submit button with a specific background color etc */

#form-contacto .boton-enviar,
.button-lg {
    background-color: #2b7fc2;
    color: white;
    padding: 12px 20px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    width: 100%;
}

/* When moving the mouse over the submit button, add a darker green color */
#form-contacto .boton-enviar:hover,
.button-lg:hover {
    background-color: #314160;
    color: white;
}

/*Para hacer hover el navBar solo en pantallas grandes*/

@media (min-width: 768px) {
    .dropdown:hover > .dropdown-menu {
        display: block;
        background-color: #2b7fc2;
        color: white;
        border: none;
        margin-top: 0;
        border-top-left-radius: 0;
        border-top-right-radius: 0;
    }
    .dropdown > .dropdown-toggle:active {
        /*Without this, clicking will make it sticky*/
        pointer-events: none;
    }
}

/* Style para Páginas */
h2.titulo-pagina {
    font-size: 2.3rem;
    font-weight: 700;
    margin-bottom: 0.02em;
    margin-top: 0.5em;
}

h3.sub-pagina {
    font-size: 1.2rem;
    margin-top: 1.3rem;
}

h4.epigrafe-pagina {
    color: #314160;
    font-size: 1rem;
    font-weight: 700;
}

dt::before {
    content: "";
    height: 33px;
    position: absolute;
    top: -4px;
    left: -24px;
    width: 33px;
    display: inline-block;
    margin-right: 9px;
    background-image: url(../img/icons/tilde.svg);
    background-size: 33px 33px;
}

dt {
    color: #314160;
    font-size: 1.2rem;
    padding-left: 26px;
    font-weight: 900;
    position: relative;
    vertical-align: center;
    margin-bottom: 12px;
    margin-top: 10px;
    margin-left: 24px;
}

#placa dt {
    font-weight: 400;
    font-size: 1rem;
    padding-left: 10px;
}
#placa dt::before {
    height: 24px;
    top: 1px;
    left: -24px;
    width: 24px;
    background-size: 24px 24px;
}

dd {
    margin-left: 49px;
    color: #314160;
    margin-top: -0.5em;
    margin-bottom: 1rem;
}

#prod-asoc,
#prod-asoc-riel {
    background-color: #f5f5f5;
    padding-top: 30px;
    padding-bottom: 30px;
}

#prod-asoc h2.titulo-seccion,
#prod-asoc-riel h2.titulo-seccion {
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 0.02em;
    margin-top: 0.5em;
}

#prod-asoc-riel {
    padding-bottom: 20px;
    margin-bottom: -80px;
}

.accordion-button {
    color: #314160;
    font-size: 1rem;
    padding-left: 26px;
    font-weight: 900;
}
.accordion-body:not(.collapsed) {
    background-color: #f5f5f5;
}

.accordion-button:not(.collapsed) {
    background-color: #b3e2ee;
    color: #314160;
    border: none;
    box-shadow: none;
    font-size: 1rem;
    padding-left: 26px;
    font-weight: 900;
}

.accordion-button:after {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23314160'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !important;
}

.accesorios {
    background-color: #ffffff;
    box-shadow: 7px 6px 10px rgba(0, 0, 0, 0.25);
    padding: 30px 440px 30px 35px;
    margin: 0 0 15px;
    overflow: hidden;
    position: relative;
    height: 330px;
}

.accesorios .pic-accesorios {
    display: inline-block;
    width: 437px;
    height: 330px;
    overflow: hidden;
    position: absolute;
    right: 0px;
    top: 0px;
}

.accesorios .pic-accesorios img {
    width: 100%;
    height: 100%;
}

.accesorios .p {
    margin-bottom: 15px;
}

.accesorios h4.sub-headers {
    display: inline-block;
    font-size: 1.2rem;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: 0.3em;
    margin: 0;
    padding-right: 10px;
}

.accesorios h3 {
    display: inline-block;
    font-size: 1.5rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    margin-top: 10px;
    padding-right: 10px;
}
.accesorios p {
    color: #314160;
    display: inline-block;
    font-size: 1rem;
    font-weight: 400;
    margin-top: 18px;
    padding-right: 10px;
}

#placa .pic {
    display: inline-block;
    width: 100%;
    height: auto;
    overflow: hidden;
    right: 0px;
    top: 0px;
    margin-top: 20px;
}

#placa .pic img {
    width: 100%;
    height: 100%;
}

#secc-servicios .accesorios {
    background: linear-gradient(#eefbff, #cde4f0);
    overflow: hidden;
    height: auto;
    padding: 0;
    display: flex;
    flex: 1 1 auto;
    box-shadow: none;
}

#secc-servicios #sombra-card {
    box-shadow: 7px 6px 10px rgba(0, 0, 0, 0.25);
    padding: 0;
}
#secc-servicios .tab-pane {
    background: linear-gradient(#eefbff, #cde4f0);
}

#secc-servicios .accesorios .iconito,
#secc-servicios .accesorios h3 {
    display: block;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2rem;
}

#secc-servicios .accesorios .foto-iz {
    margin-left: 0;
    margin-top: 0;
}

#secc-servicios p.description {
    color: #314160;
    text-align: left;
    font-size: 1rem;
    font-weight: 400;
    margin-top: 18px;
    padding-right: 1rem;
    padding-left: 1rem;
    padding-bottom: 1rem;
}

#secc-servicios #foto-auditoria {
    background-image: url(../img/fotos/servicios/auditoria.jpg);
    background-size: cover;
    height: 100%;
    background-repeat: no-repeat;
    background-position: bottom;
}

#secc-servicios #foto-diseño {
    background-image: url(../img/fotos/servicios/diseño.jpg);
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 100% center;
}

#secc-servicios #foto-instalacion {
    background-image: url(../img/fotos/servicios/instalacion.jpeg);
    background-size: cover;
    height: 100%;
    background-repeat: no-repeat;
}

#secc-servicios #foto-certificaciones {
    background-image: url(../img/fotos/servicios/certificaciones.jpg);
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 100% center;
}

#secc-servicios #foto-capacitacion {
    background-image: url(../img/fotos/servicios/capacitacion.jpg);
    background-size: cover;
    height: 100%;
    background-repeat: no-repeat;
    background-position: right center;
}

#secc-servicios .nav-tabs {
    overflow: hidden;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

/*Este hover me sirve para el tab activo*/
#secc-servicios .nav-tab .nav-link:hover {
    font-size: 1.2rem;
    color: #fff;
    margin-right: 0;
    border-radius: 0;
    overflow: hidden;
    background: #2b7fc2;
    box-shadow: 8px 12px 25px 2px rgba(0, 0, 0, 0.4);
    transition: all 0.4s ease 0s;
    -webkit-transition: all 0.4s ease 0s;
    -moz-transition: all 0.4s ease 0s;
    -o-transition: all 0.4s ease 0s;
}
/*Este color me sirve para el tab activo*/
#secc-servicios .nav-tabs .nav-link.active {
    background: #2b7fc2;
    font-weight: 700;
    color: #fff;
}

/*Este color me sirve para los tab durmiente*/
#secc-servicios .nav-tabs .nav-link:not(.active) {
    background: linear-gradient(#cde4f0, #eefbff);
    color: #2b7fc2;
}

/*Este hover me sirve para el tab durmiente*/
#secc-servicios .nav-tabs .nav-link:hover:not(.active) {
    background: linear-gradient(#ccd4e4, #cde4f0);
    color: #314160;
}

#secc-productos .foto-prod-cont {
    width: 220px;
    height: 190px;
    overflow: hidden;
}

#secc-productos .foto-prod-cont img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

#secc-productos .card-container {
    height: 100px;
    position: relative;
    padding-bottom: 0;
}

#secc-productos .epigrafe-cards {
    font-weight: 300;
    letter-spacing: 1px;
    font-size: 1rem;
    font-family: Roboto, "Open Sans", "Helvetica Neue", sans-serif;
}

#secc-productos .titulo-cards {
    font-weight: 600;
    font-size: 1.2rem;
    position: absolute;
    bottom: 0px;
    margin-top: 10px;
}
#secc-productos .row {
    padding-right: 0;
    padding-left: 0;
}
#secc-productos h3.sub-pagina {
    font-size: 100;
    font-size: 1.2rem;
    letter-spacing: 3px;
    color: #314160;
}
#secc-productos h4.titulo-pagina {
    color: #314160;
    margin-bottom: 1rem;
}

#secc-productos .btn-card-info {
    margin-top: 0;
}

@media only screen and (max-width: 767px) {
    .nav-link {
        text-align: center;
    }
    a.dropdown-item {
        text-align: center;
    }
    p.epigrafe-foto {
        position: relative;
        text-align: center;
    }
    .accesorios {
        padding: 20px;
        text-align: center;
        height: auto;
    }
    .accesorios .pic-accesorios {
        display: block;
        position: static;
        margin: 0 auto 15px;
        width: 200px;
        height: 150px;
    }
}

/* #########################################
   #  PARA PANTALLAS LG entre 767 y 1024   #
   ######################################### */

@media (min-width: 767px) and (max-width: 1024px) {
    #secc-productos .card-container {
        height: 110px;
        position: relative;
        padding-bottom: 0;
    }
}
#secc-productos .epigrafe-cards {
    letter-spacing: 0px;
    font-size: 1rem;
}

#secc-productos .titulo-cards {
    font-weight: 500;
    font-size: 1rem;
}

/* #########################################
   #    override MODAL bootstrap configs     #
   ######################################### */

.modal-backdrop {
    background-color: rgb(43, 127, 194);
}

.modal-content {
    background: #fff;
    border: 1px solid #bdc3c7;
    border-radius: 0px;
    padding: 0;
    outline: 0;
    box-shadow: 7px 6px 10px rgba(0, 0, 0, 0.25);
    color: #314160;
}

.modal .btn-close {
    position: absolute;
    top: 10px;
    right: 15px;
    z-index: 20;
}

.modal-header {
    border-bottom: none;
}

.modal h3 {
    color: rgb(43, 127, 194);
    font-weight: 900;
    letter-spacing: 1px;
    margin-bottom: 1rem;
    display: inline;
}

.mddal h4 {
    display: inline;
}

.modal img {
    float: right;
    margin-left: 1rem;
    margin-bottom: 1rem;
}

.checkbox {
    margin-bottom: 0px;
}

.btn {
    border-radius: 0px;
}

.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
    outline: none;
}

.btn-lg,
.btn-group-lg > .btn {
    border-radius: 0px;
}

.btn-link {
    padding: 5px 10px 0px 0px;
    color: #95a5a6;
}

.btn-link:hover,
.btn-link:focus {
    color: #2c3e50;
    text-decoration: none;
}

.glyphicon {
    top: 0px;
}

@media (min-width: 576px) {
    .modal-dialog {
        max-width: 700px;
        margin: 1.75rem auto;
    }
}

/******************************** CROQUIS INTERACTIVO ******************************/

.hotspot:before {
    content: "";
    display: block;
    border: 1px solid #fff;
    background-color: transparent;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    position: absolute;
    left: 5px;
    top: 5px;
    background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxMS42IDExLjYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDExLjYgMTEuNiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8bGluZSBmaWxsPSJub25lIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMC41NjI1IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHgxPSI1LjgiIHkxPSIxMS42IiB4Mj0iNS44IiB5Mj0iMCIvPg0KPGxpbmUgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjAuNTYyNSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiB4MT0iMCIgeTE9IjUuOCIgeDI9IjExLjYiIHkyPSI1LjgiLz4NCjwvc3ZnPg0K");
    background-size: 75%;
    background-position: center center;
    background-repeat: no-repeat;
}

.hotspot {
    padding: 20px;
    height: 40px;
    box-sizing: border-box;
    background-color: rgba(0, 121, 173, 0.45);
    color: #fff;
    -webkit-font-smoothing: antialiased;
    position: absolute;
    line-height: 40px;
    border-radius: 20px;
    font-size: 15px;
    overflow: hidden;
    /*  white-space: nowrap;*/
    text-overflow: ellipsis;
    cursor: pointer;
    opacity: 0;
    width: 25px;

    text-indent: -9999em;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.hotspot.is-active {
    border-radius: 0;
}
.hotspot h2 {
    font-size: 24px;
}
.hotspot p {
    margin-top: 11px;
    font-size: 16px;
    line-height: 28px;
}
.hotspot:hover {
    color: #fff;
}
.hotspot.is-visible {
    opacity: 1;
}
.hotspot.is-active {
    padding: 0 0 0 50px;
    text-indent: 0;
    width: 50%;
    height: auto;
    z-index: 99;
    background-color: #2b7fc2;
}

.hotspot.is-active.fixed {
    top: 23% !important;
    left: 27% !important;
}
.open_close {
    position: absolute;
    width: 40px;
    height: 40px;
    left: 0;
    top: 0;
}
.hotspot.is-active:before {
    transform: rotate(45deg);
}
.hotspot:before {
    transition: transform 150ms cubic-bezier(0.2, 0.5, 0.34, 1);
}
.btn-croquis {
    color: #2b7fc2;
    background-color: #fff;
}
.image {
    width: 100%;
    display: block;
    position: relative;
}
.image:before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 70%;
}
.image .contain {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-image: url(../img/croquis.png);
    background-size: cover;
    background-position: center;
}
@media screen and (max-width: 960px) {
    .hotspot {
        height: 30px;
        line-height: 30px;
        font-size: 13px;
        padding: 15px;
    }
    .hotspot.is-active {
        padding: 0 15px 0 35px;
        text-indent: 0;
        width: auto;
        top: 8% !important;
        left: 0 !important;
    }
    .hotspot:before {
        top: 2px;
        left: 2px;
        width: 25px;
        height: 25px;
    }
}
@media screen and (max-width: 580px) {
    .hotspot {
        padding: 12px;
        height: 25px;
        line-height: 25px;
        font-size: 12px;
    }
    .hotspot.is-active {
        padding: 0 10px 0 30px;
        text-indent: 0;
        width: auto;
        top: 8% !important;
        left: 0 !important;
    }
    .hotspot:before {
        width: 20px;
        height: 20px;
    }
    .hotspot h2 {
        font-size: 16px;
    }
    .hotspot p {
        font-size: 13px;
        line-height: 14px;
    }
    .hotspot .btn-croquis {
        font-size: 11px;
        padding: 4px 6px;
    }
    .hotspot.is-active.fixed,
    .hotspot.is-active {
        top: 3% !important;
        left: 0% !important;
        width: 100% !important;
        height: 100% !important;
    }
}
