@font-face {
    font-family: SKFSans-Bold;
    src: url(../fonts/SKFSans/SKFSans-Bold.otf);
}

@font-face {
    font-family: SKFSans-BoldItalic;
    src: url(../fonts/SKFSans/SKFSans-BoldItalic.otf);
}

@font-face {
    font-family: SKFSans-DemiBold;
    src: url(../fonts/SKFSans/SKFSans-DemiBold.otf);
}

@font-face {
    font-family: SKFSans-DemiBoldItalic;
    src: url(../fonts/SKFSans/SKFSans-DemiBoldItalic.otf);
}

@font-face {
    font-family: SKFSans-Light;
    src: url(../fonts/SKFSans/SKFSans-Light.otf);
}

@font-face {
    font-family: SKFSans-LightItalic;
    src: url(../fonts/SKFSans/SKFSans-LightItalic.otf);
}

@font-face {
    font-family: SKFSans-Medium;
    src: url(../fonts/SKFSans/SKFSans-Medium.otf);
}

@font-face {
    font-family: SKFSans-MediumItalic;
    src: url(../fonts/SKFSans/SKFSans-MediumItalic.otf);
}

@font-face {
    font-family: SKFSans-Thin;
    src: url(../fonts/SKFSans/SKFSans-Thin.otf);
}

@font-face {
    font-family: SKFSans-ThinItalic;
    src: url(../fonts/SKFSans/SKFSans-ThinItalic.otf);
}

@font-face {
    font-family: SKFSans-Regular;
    src: url(../fonts/SKFSans/SKFSans-Regular.otf);
}

@font-face {
    font-family: "SKFDisplay";
    src: url(../fonts/SKFDisplay.woff2) format('woff2');
    font-weight: 300 700;
}

@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');

a {
    font-family: "SKFSans-Medium";
}

::selection {
    background-color: #0000FE;
    color: #fff;
}

/* CONTENEDORES */
body {
    background-color: #ffffff;
}

.overlay {
    position: absolute;
    top: 0;
    left: -100%;
    height: 100%;
    width: 100%;
    background: linear-gradient(90deg, rgba(11, 92, 215, 1) 35%, rgba(9, 9, 121, 0) 25%, rgba(0, 212, 255, 0) 25%);
    opacity: 1;
    z-index: 1;
    -webkit-animation: slider 2.5s forwards;
    -webkit-animation-delay: 0s;
    animation: slider 2.5s forwards;
    animation-delay: 0s;
}

.header_height {
    height: 100vh;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top center;
    position: relative;
    /* Evita el scroll horizontal de la página. Dos cosas se salen por la
       derecha de esta sección: los .row hijos directos, cuyo margen negativo
       de -15px no lo absorbe ningún contenedor con padding, y la animación
       de entrada .slideInRight, que arranca en translateX(2000px).
       Se usa "clip" y no "hidden" porque hidden forzaría overflow-y a auto
       y recortaría el contenido que sobresale por abajo de los 100vh. */
    overflow-x: clip;
}

.back_general {
    padding-top: 90px;
    padding-bottom: 150px;
    width: 100%;
    height: 950px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top center;
}

.back_image {
    padding-top: 90px;
    padding-bottom: 150px;
    height: 300px;
    width: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top center;
}

.imagenes-seccion {
    background-color: #ffffff;
}

.header-full {
    height: 100%;
    position: relative;
    z-index: 1;
}

.menu_desktop {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    z-index: 1030;
    background-color: transparent;
    transition: background-color 0.35s ease, box-shadow 0.35s ease,
        backdrop-filter 0.35s ease, -webkit-backdrop-filter 0.35s ease;
}

.menu-derecha {
    float: right;
}

.menu-izquierda {
    float: left;
}

.skf {
    position: relative;
    padding: 15px;
}

.menu-derecha a {
    color: #fff;
    font-size: 16px;
    margin-right: 2rem;
    font-family: "SKFSans-Medium";
}

.boton-sesion {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    transition: color 0.3s ease;
}

/* El logo central conserva su ancho natural (evita que el
   .navbar-brand { width: 50% } de tablet rompa la fila del menú) */
.menu_desktop .navbar>a.navbar-brand {
    width: auto;
}

.boton-sesion:hover {
    color: #fff;
    text-decoration: none;
    opacity: 0.8;
}

.icono-sesion {
    flex-shrink: 0;
}

.menu-derecha a.active {
    color: #5f9fff;
}

.text-header {
    transform: translate(10%, -300%);
}

.contenedor-body {
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    height: 60vh;
}

.contenedor-skf {
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    padding-top: 10vh;
}

.video_skf {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: 100%;
    height: 100vh;
    z-index: 0;
    -ms-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    object-fit: cover;
    filter: brightness(0.65);
}

.separador_a {
    height: 100px !important;
}

.titulo-mobile {
    color: #fff;
    font-family: 'SKFSans-Medium';
}

.subtitulo-mobile {
    color: #fff;
    font-family: 'SKFSans-Light';
    font-size: 15px;
}

.seccion-mobile-ingresar {
    margin-top: 50%;
}

.img_arrow {
    width: 30px;
    margin-top: 20px;
}

.p_texto_white {
    color: #fff !important;
    text-decoration: none;
}

.p_texto_white:hover {
    text-decoration: none !important;
}

/* Estado con scroll: cristal esmerilado (transparente hasta arriba) */
.menu_desktop.menu-glass {
    background-color: rgba(255, 255, 255, 0.55);
    -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.08);
    -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.08);
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.08);
    backdrop-filter: blur(20px) saturate(160%);
    -webkit-backdrop-filter: blur(20px) saturate(160%);
}

/* Sobre el cristal claro el contenido pasa a negro */
.menu_desktop.menu-glass .menu-derecha a,
.menu_desktop.menu-glass .boton-sesion {
    color: #000000;
}

.menu_desktop.menu-glass .boton-sesion:hover {
    color: #000000;
}

.menu_desktop #logo-skf {
    transition: filter 0.35s ease;
}

.menu_desktop.menu-glass #logo-skf {
    filter: invert(1);
}

.bounce2 {
    animation: bounce2 2s ease infinite;
}

@keyframes bounce2 {

    0%,
    20%,
    50%,
    80%,
    100% {
        transform: translateY(0);
    }

    40% {
        transform: translateY(-30px);
    }

    60% {
        transform: translateY(-15px);
    }
}

/* TEXTOS */

.subtitulo {
    font-family: "SKFSans-Medium";
    font-weight: 400;
    margin-top: -50px;
    color: #fff;
    font-size: 20px;
}

.titulo {
    font-family: "SKFDisplay", "SKFSans-Light", sans-serif;
    font-weight: 700;
    color: #fff;
    /* tope fluido: SKF Display es muy ancha y con tamaño fijo
       la primera línea se corta en el borde derecho */
    font-size: min(70px, 4.4vw);
    line-height: 1.1;
    white-space: normal;
    width: 100%;
    margin-bottom: 50px;
}

.titulo-medium {
    font-family: "SKFSans-Medium";
    color: #6c6c6c;
    font-size: 15px;
    font-weight: 100;
}

.titulo-medium-bold {
    font-family: "SKFSans-Medium";
    color: #6c6c6c;
    font-size: 22px;
    font-weight: 500;
}

.texto_plano {
    font-family: "SKFSans-Regular";
    font-weight: 100;
    color: #f6f6f6;
    font-size: 18px;
    line-height: 25px;
}

.titulo-body {
    font-family: "SKFSans-Medium";
    font-weight: 400;
    color: #f6f6f6;
    font-size: 32px;
    line-height: 37px;
}

.title_small {
    font-family: "SKFSans-Medium";
    color: #f6f6f6;
    font-size: 25px;
    line-height: 30px;
}

.title_category_blue {
    font-family: "SKFSans-Medium";
    font-weight: 400;
    color: #0000FE;
    font-size: 32px;
    line-height: 37px;
    text-align: center;
}

.info-skf {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-content: center;
}

.category {
    font-family: "SKFSans-Regular";
    text-transform: capitalize;
    font-size: 1.125rem;
    line-height: 1.25rem;
    margin-bottom: 1.5rem;
    color: rgba(0, 0, 0, 0.85);
    text-align: left;
}

.text_paragraph {
    font-size: 16px;
    line-height: 25px;
    color: rgba(0, 0, 0, 0.85);
    font-family: "SKFSans-Regular";
    text-align: left;
    padding-bottom: 30px;
}

.text_paragraph_grey {
    font-size: 18px;
    line-height: 25px;
    color: #6c6c6c;
    font-family: "SKFSans-Regular";
    text-align: center;
    padding: 0 100px;
}

.title_category {
    font-family: "SKFSans-Regular";
    font-weight: 400;
    color: rgba(0, 0, 0, 0.85);
    font-size: 5.5rem;
    line-height: 4.5rem;
}

.skf_title {
    font-family: "SKFSans-Regular";
    color: rgba(0, 0, 0, 0.85);
    padding-left: 20px;
    padding-top: 20px;
    font-size: 20px;
    line-height: 20px;
    text-align: left;
    position: relative;
}

.content_info {
    background-color: #fff;
    margin-top: -230px;
    width: 60%;
    padding: 90px 0;
    position: relative;
}


/* FORMULARIO */
.formulario {
    margin-top: 130px;
    background: #0000FE !important;
    width: 100%;
}

#form_contacto {
    position: relative;
    padding: 0px 0 50px;
}

/* Inputs con el formato de caja de los formularios de la plataforma,
   en blanco porque van sobre el fondo azul */
#correo,
#nombre,
#tel,
#email {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.75);
    border-radius: 8px !important;
    font-family: "SKFSans-Light" !important;
    width: 100%;
    font-size: 15px !important;
    height: 48px;
    padding: 12px 16px;
    color: #ffffff !important;
    margin-bottom: 15px;
}

#correo:focus,
#nombre:focus,
#tel:focus,
#mensaje:focus,
#email:focus {
    outline: none;
    border-color: #ffffff;
    box-shadow: none;
}

#mensaje {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.75);
    border-radius: 8px;
    font-family: "SKFSans-Light" !important;
    width: 100%;
    padding: 12px 16px;
    font-size: 15px !important;
    color: #ffffff !important;
    height: auto;
    min-height: 120px;
    resize: vertical;
}

.message {
    color: #f6f6f6 !important;
    font-family: "SKFSans-Medium" !important;
    display: none;
}

/* Botón Enviar: blanco con texto azul (sobre el fondo azul del
   formulario), con la forma de los botones de la plataforma */
.formulario .button_login {
    background-color: #ffffff;
    color: #0000FE;
    border-radius: 6px;
    font-family: "SKFSans-Medium";
    font-size: 15px;
    padding: 14px 18px;
    transition: background-color 0.15s ease;
}

.formulario .button_login:hover {
    background-color: #f4f6ff;
    color: #0000FE;
}

.formulario .feedbak-error {
    color: #ffffff;
}

.button_login {
    border: none;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    width: min-content;
    max-width: 100%;
    transition: ease-in .15s;
    min-width: 5rem;
    white-space: nowrap;
    border-radius: .5rem;
    text-align: center;
    font-family: "SKFSans-Medium";
    font-size: 1.125rem;
    letter-spacing: 0px !important;
    cursor: pointer;
    background-color: #0000fe;
    color: #fff;
    text-decoration: none !important;
    padding: 11px 50px;
}

a.button_login {
    color: #f6f6f6;
    text-decoration: #f6f6f6;
    text-decoration-color: #f6f6f6;
}

.boton_azul {
    border: none;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    width: min-content;
    max-width: 100%;
    transition: ease-in .15s;
    min-width: 5rem;
    white-space: nowrap;
    border-radius: .5rem;
    font-size: 1.125rem;
    text-align: center;
    font-family: "SKFSans-Medium";
    letter-spacing: 0px !important;
    cursor: pointer;
    background-color: #0f58d6;
    color: #fff;
    text-decoration: none !important;
    padding: 11px 50px;
    margin-left: -3000px;
    -webkit-animation: slider_left 2.5s forwards;
    -webkit-animation-delay: 0s;
    animation: slider_left 2.5s forwards;
    animation-delay: 0s;
}

a.boton_azul {
    color: #f6f6f6;
    text-decoration: #f6f6f6;
    text-decoration-color: #f6f6f6;
}

.boton-mobile {
    background-color: #0000fe;
    color: #fff !important;
    font-size: 1.125rem;
    padding: 11px 50px;
    width: 25%;
    margin-left: 50px;
    border-radius: .5rem;
    text-decoration: none !important;
    cursor: pointer;
    margin-left: -3000px;
    -webkit-animation: slider_left 2.5s forwards;
    -webkit-animation-delay: 0s;
    animation: slider_left 2.5s forwards;
    animation-delay: 0s;
}

a.boton-mobile {
    color: #f6f6f6;
    text-decoration: #f6f6f6;
    text-decoration-color: #f6f6f6;
}

.class_left {
    -webkit-animation: slider_left 2.5s forwards;
    -webkit-animation-delay: 0s;
    animation: slider_left 2.5s forwards;
    animation-delay: 0s;
    display: flex;
    justify-content: flex-end;
    align-self: flex-end;
    padding-inline: clamp(20px, 10%, 50px);
    margin-top: -380px;
}

.scroll-arrow {
    padding-top: 50px;
}

.desktop {
    margin-right: -50px;
}

.button_width {
    width: 50%;
    text-align: left;
    border: none;
    position: absolute;
    bottom: 0;
    right: 0;
}

.icon {
    float: right;
}

.color_one {
    background: #0000FE !important;
    padding: 100px 5% 170px 15%;
}

.color_two {
    background: #0000FE !important;
    padding: 100px 15% 130px 5%;
}

/* COLOR PLACEHOLDER */

::-webkit-input-placeholder {
    color: #f6f6f6;
}

:-moz-placeholder {
    /* Firefox 18- */
    color: #f6f6f6;
}

::-moz-placeholder {
    /* Firefox 19+ */
    color: #f6f6f6;
}

:-ms-input-placeholder {
    color: #f6f6f6;
}

/* HELPERS */
.hide-desktop {
    display: none;
}

.empty-space-10 {
    height: 10px;
}

.empty-space-20 {
    height: 20px;
}

.empty-space-30 {
    height: 30px;
}

.empty-space-40 {
    height: 40px;
}

.empty-space-50 {
    height: 50px;
}

.cursor-pointer {
    cursor: pointer !important;
}

.cursor-text {
    cursor: text !important;
}

/* MARGIN TOP */
.mt--lg-50 {
    margin-top: 50px;
}

.mt--lg-90 {
    margin-top: 90px;
}

/* ===================================================
   FOOTER
   Identidad visual de skf.com/mx: fondo blanco, texto
   negro, encabezados grandes de escala fluida (26px en
   móvil → 46px en escritorio), enlaces de 18px, líneas
   divisorias de 1px y barra inferior en gris #666.
   =================================================== */

.skf-footer {
    background-color: #ffffff;
}

.skf-footer .footer-main {
    /* Mismo padding que skf.com: 80/48/40 en escritorio, 40/16 en móvil */
    padding: 80px 48px 40px;
    font-family: "SKFSans-Light";
    color: #000000;
}

/* Líneas divisorias: la superior a negro pleno, la de la barra inferior al 25% */
.skf-footer .devider {
    border: 0;
    border-top: 1px solid #000000;
    opacity: 1;
    margin: 0 0 80px 0;
}

.skf-footer .devider-sole {
    opacity: 0.25;
    margin-bottom: 40px;
}

/* ---- Encabezados de columna ---- */
.skf-footer .about-header,
.skf-footer .footer-link-header {
    font-family: "SKFSans-Medium";
    /* Escala fluida equivalente a la de skf.com */
    font-size: clamp(26px, 2.2vw + 1.12rem, 46px);
    line-height: 1.17;
    color: #000000;
    margin: 0 0 8px 0;
}

/* ---- Bloque de texto tipo "Acerca de" ---- */
.skf-footer .about-description p {
    font-family: "SKFSans-Light";
    font-size: 16px;
    line-height: 24px;
    color: #000000;
    margin: 0 0 16px 0;
}

/* ---- Listas de enlaces ---- */
.skf-footer .footer-links {
    margin-top: 24px;
}

.skf-footer .footer-link a {
    font-family: "SKFSans-Light";
    font-size: 18px;
    line-height: 27px;
    color: #000000;
    text-decoration: none;
}

.skf-footer .footer-link a:hover {
    text-decoration: underline;
}

/* ---- Barra inferior: logotipo, legales y redes ---- */
.skf-footer .footer-sole {
    margin-top: 80px;
}

.skf-footer .about-logo {
    margin-bottom: 40px;
}

.skf-footer .about-logo .logo {
    width: 160px;
    height: auto;
}

.skf-footer .footer-navbar-nav-links,
.skf-footer .footer-navbar-nav-icons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    /* Separación de 24px entre elementos; como gap y no como margen, para que
       al hacer salto de línea los elementos no queden indentados. */
    gap: 8px 24px;
}

.skf-footer .footer-navbar-nav-icons {
    justify-content: flex-end;
    gap: 16px 24px;
}

.skf-footer .footer-navbar-nav-links .footer-nav-item,
.skf-footer .footer-navbar-nav-links .footer-nav-link,
.skf-footer .footer-navbar-nav-icons .social-media-link {
    font-family: "SKFSans-Medium";
    font-size: 14px;
    color: #666666;
    text-decoration: none;
}

.skf-footer .footer-navbar-nav-links .footer-nav-link:hover {
    color: #000000;
    text-decoration: underline;
}

.skf-footer .social-media-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    font-size: 20px;
    line-height: 1;
}

.skf-footer .social-media-link:hover {
    color: #000000;
}

@media (max-width: 833px) {
    .skf-footer .footer-main {
        padding: 40px 16px;
    }

    .skf-footer .devider {
        margin-bottom: 40px;
    }

    .skf-footer .footer-sole {
        margin-top: 40px;
    }

    /* Al apilarse, las columnas necesitan aire entre sí */
    .skf-footer .first-row .footer-about,
    .skf-footer .first-row .footer-link-list {
        margin-bottom: 40px;
    }

    /* En móvil las redes quedan arriba de los legales y alineadas a la izquierda */
    .skf-footer .footer-navbar-nav-icons {
        justify-content: flex-start;
        margin-bottom: 24px;
    }
}

.hide-mobile {
    display: block;
}

.hide-desktop {
    display: none;
}

.image {
    width: 120px;
}

.skf_button {
    position: relative;
    margin-top: 60px;
    background-color: transparent;
    color: #0f58d6;
    text-align: center;
    font-family: "SKFSans-Bold";
    font-size: 1.3rem;
    text-align: left;
    transition: ease-in .1s;
    border: 0;
    letter-spacing: 0px !important;
    text-decoration: none !important;
    cursor: pointer;
}

a.skf_button {
    color: #0f58d6;
    text-decoration: #0f58d6;
    text-decoration-color: #0f58d6;
}

.skf_button:hover {
    word-spacing: 5px !important;
}

.principal {
    margin-top: 120px;
    padding-bottom: 120px;
}

.botones_derecha {
    margin-top: -60px;
    margin-left: 20px;
    padding-bottom: 10px;
    display: flex;
    justify-content: flex-start;
    align-content: flex-start;
}

/* Tarjetas de sitios SKF en landing_new: imagen, título en negro,
   texto descriptivo y enlace azul con flecha al final */
.tarjetas-sitios .skf_title {
    font-family: "SKFSans-Bold";
    color: #000000;
    padding-left: 0;
    padding-top: 24px;
    font-size: 22px;
    line-height: 28px;
}

.tarjetas-sitios .tarjeta-sitio-texto {
    font-family: "SKFSans-Regular";
    color: rgba(0, 0, 0, 0.85);
    font-size: 15px;
    line-height: 22px;
    text-align: left;
    margin: 10px 0 14px;
}

.tarjetas-sitios .botones_derecha {
    margin-top: 0;
    margin-left: 0;
    padding-bottom: 0;
}

.tarjetas-sitios .skf_button {
    margin-top: 0;
    width: auto;
    color: #0000FE;
    font-family: "SKFSans-Medium";
    font-size: 1.05rem;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.tarjetas-sitios .skf_button:hover {
    word-spacing: normal !important;
}

.icono-flecha-circulo {
    color: #0000FE;
    flex-shrink: 0;
    transition: transform 0.2s ease;
}

.tarjetas-sitios .skf_button:hover .icono-flecha-circulo {
    transform: translateX(4px);
}

.dark-btn {
    color: #0f58d6 !important;
    background-color: #fff !important;
}

.dark-btn:hover {
    color: #fff !important;
    background-color: #0f58d6 !important;
}

/****ANIMACIONES*******/
@-webkit-keyframes slider {
    100% {
        left: 0;
    }
}

@keyframes slider {
    100% {
        left: 0;
    }
}

@-webkit-keyframes slider_left {
    100% {
        margin-left: 0;
    }
}

@keyframes slider_left {
    100% {
        margin-left: 0;
    }
}

/* MEDIA QUERY */
@media only screen and (min-width:1650px) {
    .text-header {
        transform: translate(10%, -300%);
    }
}

@media only screen and (max-width:1650px) {
    .color_one {
        padding: 100px 5% 170px 10%;
    }

    .color_two {
        padding: 100px 10% 130px 5%;
    }
}

@media only screen and (min-width:1450px) and (max-width:1650px) {
    .text-header {
        transform: translate(10%, -230%);
    }
}

@media only screen and (max-width:1440px) {
    .titulo {
        font-size: min(60px, 4.4vw);
        line-height: 1.1;
    }

    .separador_a {
        height: 100px !important;
    }

    .text-header {
        transform: translate(10%, -250%);
    }

    .subtitulo {
        font-size: 15px;
    }
}

@media only screen and (max-width: 1366px) {
    .content_info {
        width: 75%;
    }

    .color_one {
        padding: 100px 5% 170px;
    }

    .color_two {
        padding: 100px 5% 130px;
    }

    .text-header {
        transform: translate(10%, -220%);
    }
}

@media only screen and (max-width: 1200px) {
    .content_info {
        width: 80%;
    }

    .skf_button {
        width: 85%;
    }

    .color_one {
        padding: 100px 5% 100px;
    }

    .text-header {
        transform: translate(10%, -350%);
    }
}

@media only screen and (max-width: 1132px) {
    .content_info {
        width: 85%;
    }

    .text-header {
        top: 65%;
        left: 20%;
    }
}

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

    /* BOTONES */
    .btn-principal {
        padding: 10px 5px;
    }

    .content_info {
        width: 100%;
    }

    .text-header {
        top: 65%;
        left: 20%;
    }
}

@media only screen and (max-width:991px) {
    .text_paragraph_grey {
        padding: 0 30px;
    }

    .text_paragraph {
        padding: 0;
    }

    .back_general {
        padding-bottom: 150px;
        height: 500px;
    }

    .content_info {
        margin-top: -140px;
    }

    .titulo {
        font-size: min(40px, 4.4vw);
        line-height: 1.1;
    }

    .subtitulo {
        font-size: 25px;
        line-height: 30px;
    }

    .button_width {
        width: 25%;
        position: relative;
        margin: 0 auto;
    }

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

    .overlay {
        background: linear-gradient(0deg, rgba(11, 92, 215, 1) 45%, rgba(9, 14, 121, 0) 45%, rgba(0, 212, 255, 0) 50%) !important;
        top: unset;
        bottom: 0;
        height: 100vh !important;
    }

    .separador_a {
        height: 30px !important;
    }

    .text-header {
        top: 78%;
        left: unset;
    }

    .navbar-brand {
        width: 50%;
    }

    .skf_button {
        width: 50%;
    }

    .color_one,
    .color_two {
        padding: 100px 10% 100px 10%;
    }
}

@media only screen and (max-width:767px) {
    .container {
        max-width: 700px;
    }

    .title_small {
        font-size: 20px;
        line-height: 25px;
    }
}

@media only screen and (max-width: 720px) {
    .video_skf {
        top: 40%;
    }

    .text-header {
        top: unset;
        bottom: 0;
        left: 50%;
        transform: translate(-50%, 0);
        width: 100%;
        background-color: #0000FE;
        padding: 40px 0 30px !important;
    }

    .overlay {
        display: none;
    }

    .img_arrow {
        width: 20px;
    }

    .navbar-brand {
        font-size: 13px !important;
    }

    .menu-mobile {
        padding: 20px 0px 0px;
    }

    .hide-mobile {
        display: none;
    }

    .hide-desktop {
        display: block;
    }

    .menu-hamburger {
        background-color: transparent;
        border: none;
        color: #fff;
        float: right;
        font-size: 25px;
        font-weight: 100;
    }

    .menu-hamburger:focus {
        color: #fff;
        box-shadow: none;
        background-color: transparent;
        border: none;
        outline: none;
    }

    .contenedor-menu-mobile {
        background-color: #0000FE;
        height: 100vh;
        width: 80%;
        z-index: 10;
        position: fixed;
        right: -600px;
    }

    .contenedor-menu-mobile ul {
        color: #fff;
        list-style: none;
        text-align: center;
        padding-top: 50px;
    }

    .contenedor-menu-mobile ul>li {
        padding: 10px 0px;
    }

    .contenedor-menu-mobile ul>li a {
        color: #fff;
        text-transform: uppercase;
        color: #fff;
        font-size: 16px;
        font-family: "SKFSans-Medium";
    }

    .container {
        max-width: 90%;
    }

    /* TEXTOS */
    .row {
        padding: 0px !important;
    }

    .subtitulo {
        font-size: 18px;
        line-height: 17px;
    }

    .titulo,
    .title_category,
    .title_category_blue {
        font-weight: 400;
        font-size: 3.2rem;
        line-height: 4rem;
        width: 100%;
    }

    .titulo-medium {
        color: #6c6c6c;
        font-size: 15px;
        font-weight: 100;
    }

    .titulo-medium-bold {
        color: #6c6c6c;
        font-size: 22px;
        font-weight: 500;
    }

    .texto_plano {
        font-weight: 100;
        color: #f6f6f6;
        font-size: 18px;
        line-height: 18px;
    }

    .text_paragraph_grey,
    .text_paragraph {
        font-size: 16px;
        line-height: 21px;
    }

    .button_login {
        width: 70%;
    }

    /* HELPERS */
    .empty-space-10 {
        height: 5px;
    }

    .empty-space-20 {
        height: 10px;
    }

    .empty-space-30 {
        height: 15px;
    }

    .empty-space-40 {
        height: 20px;
    }

    .empty-space-50 {
        height: 25px;
    }

    .image {
        width: 100px;
    }


    .contenedor-body {
        margin-top: 110px;
    }

    .text-center {
        text-align: center !important;
    }

    .p_texto_white {
        font-size: 10px !important;
    }

    .header-full {
        max-width: 100% !important;
    }

    #enviar {
        bottom: -20%;
    }

    .contenedor-body {
        margin-top: 0;
    }
}

@media screen and (orientation:landscape) and (min-device-width: 319px) and (max-device-width: 991px) {
    .overlay {
        display: none;
    }

    .text-header {
        background-color: #0000FE;
        width: 100%;
        left: 0;
        bottom: 0%;
        top: unset;
        padding: 30px 30px !important;
        transform: initial;
    }

    .header-full {
        width: 100%;
        max-width: 100%;
    }

    .header_height {
        height: 80vw;
    }
}

/* ==========================================================================
   PORTADA (primera sección del landing)
   Texto a la izquierda, imagen grande a sangre por la derecha y una segunda
   imagen encimada sobre el borde izquierdo de la primera.
   ========================================================================== */
.portada {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 100vh;
    padding: 150px 0 70px;
    background-color: #fff;
    overflow: hidden;
}

.portada__texto {
    position: relative;
    z-index: 2;
    width: 40%;
    padding-left: 3.75rem;
    padding-right: 1.5rem;
}

.portada__etiqueta {
    font-family: "SKFSans-Bold", sans-serif;
    font-size: 1rem;
    line-height: 1.2;
    color: #161616;
    margin-bottom: 1.75rem;
}

.portada__titulo {
    font-family: "SKFSans-Medium", sans-serif;
    font-weight: 400;
    font-size: min(5.25rem, 4.4vw);
    line-height: 1.08;
    color: #161616;
    margin: 0;
}

/* El contenedor no posiciona en escritorio: las imágenes se anclan a
   .portada para poder salirse a sangre por la derecha */
.portada__imagen-principal,
.portada__imagen-secundaria {
    position: absolute;
    object-fit: cover;
}

.portada__imagen-principal {
    top: 96px;
    right: 35px;
    width: 40%;
    height: calc(100% - 96px);
    /* la foto es muy apaisada: se encuadra hacia la derecha para que se vea
       el almacén y no un primer plano de la cara */
    object-position: 78% center;
}

.portada__imagen-secundaria {
    top: 50%;
    right: 33.5%;
    width: 23%;
    aspect-ratio: 1 / 1.05;
    transform: translateY(-46%);
    z-index: 1;
}

@media only screen and (max-width: 1200px) {
    .portada__texto {
        padding-left: 2.5rem;
    }

    .portada__imagen-principal {
        width: 42%;
    }

    .portada__imagen-secundaria {
        right: 31%;
        width: 25%;
    }
}

/* Tablet y móvil: el texto arriba y la composición de imágenes abajo */
@media only screen and (max-width: 991px) {
    .portada {
        display: block;
        min-height: 0;
        padding: 130px 0 0;
    }

    .portada__texto {
        width: 100%;
        padding: 0 2rem;
    }

    .portada__titulo {
        font-size: min(3.25rem, 7.5vw);
    }

    .portada__imagenes {
        position: relative;
        height: 62vw;
        margin-top: 2.5rem;
    }

    .portada__imagen-principal {
        top: 0;
        width: 84%;
        height: 100%;
    }

    .portada__imagen-secundaria {
        top: auto;
        right: auto;
        left: 5%;
        bottom: 8%;
        width: 46%;
        transform: none;
    }
}

@media only screen and (max-width: 720px) {
    .portada {
        padding-top: 110px;
    }

    .portada__texto {
        padding: 0 1.25rem;
    }

    .portada__etiqueta {
        margin-bottom: 1.25rem;
    }

    .portada__imagenes {
        height: 78vw;
    }

    .portada__imagen-principal {
        width: 88%;
    }

    .portada__imagen-secundaria {
        left: 4%;
        width: 55%;
    }
}