/* Estilos generales */
body {
    font-family: "Nunito", Arial, Helvetica, sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #ddd;
    line-height: 1.7em;
    padding: 0;
    background: #606060;
}

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

/* Estilos para el slider */
#revolution-slider {
    background: #222;
}

.tp-caption {
    color: #fff;
    font-size: 14px;
    font-weight: 300;
}

.tp-caption.big-white {
    font-family: "Montserrat";
    font-size: 16px;
    color: #fff;
    line-height: normal;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: 6px;
}

.tp-caption.ultra-big-white {
    font-family: "Montserrat";
    font-size: 80px;
    font-weight: bold;
    color: #fff;
    margin: 0;
    letter-spacing: -2px;
    line-height: 1.4;
}

.btn-slider {
    font-size: 13px;
    font-weight: bold;
    color: #fff;
    letter-spacing: 3px;
    line-height: normal;
    text-decoration: none;
    text-transform: uppercase;
    border: solid 2px #fff;
    padding: 10px 30px 10px 30px;
}

/* Ajustes para pantallas medianas */
@media only screen and (max-width: 991px) {
    .tp-caption.ultra-big-white {
        font-size: 70px;
    }
}

/* Estilos específicos para móviles */
@media only screen and (max-width: 767px) {

    .tp-caption.ultra-big-white {
        font-size: 50px !important;
        line-height: 1.2 !important;
        transform: translateY(-20px) !important;
        /* Mueve el título hacia arriba */
    }

    .tp-caption[data-voffset="['110']"] {
        top: 70% !important;
        /* Ajusta la posición del botón */
    }

    #revolution-slider img {
        height: 100vh !important;
        object-fit: cover;
    }

    .tp-caption {
        text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
    }

    .btn-slider {
        font-size: 11px;
        padding: 8px 20px;
    }
}

/* Ajuste adicional para pantallas muy pequeñas */
@media only screen and (max-width: 480px) {
    .tp-caption.ultra-big-white {
        font-size: 35px !important;
    }
}

/* Otros estilos generales */
.text-light {
    color: #ddd;
}

.bg-grey {
    background: #f8f8f8;
}

.bg-dark {
    background: #222;
}

.padding30 {
    padding: 30px;
}

.padding60 {
    padding: 60px;
}

/* Estilos para botones */
.btn-custom {
    padding: 10px 25px 10px 25px;
    font-weight: bold;
    color: #222;
    border-radius: 0;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Estilos para encabezados */
h1,
h2,
h3,
h4,
h5,
h6 {
    color: #222;
    font-family: 'Montserrat', Arial, Helvetica, sans-serif;
    font-weight: bold;
}

h1 {
    font-size: 36px;
    margin: 0;
}

h2 {
    font-size: 28px;
    margin-top: 0;
    margin-bottom: 30px;
    line-height: 1.2em;
}

/* Estilos para el footer */
footer {
    background: #222222;
    color: #ccc;
    padding: 80px 0 0 0;
}

footer h3 {
    color: #fff;
    font-size: 20px;
    text-transform: none;
    font-weight: normal;
}

.subfooter {
    background: #242424;
    padding: 30px 0 20px 0;
}

#revolution-slider {
    background: #222;
}

.tp-caption {
    color: #fff;
    font-size: 14px;
    font-weight: 300;
}

.tp-caption.big-white {
    font-family: "Montserrat";
    font-size: 16px;
    color: #fff;
    line-height: normal;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: 6px;
}

.tp-caption.ultra-big-white {
    font-family: "Montserrat";
    font-size: 80px;
    font-weight: bold;
    color: #fff;
    margin: 0;
    letter-spacing: -2px;
    line-height: 1.2;
}

/* Nuevo estilo para las letras amarillas en pantallas grandes */
@media only screen and (min-width: 992px) {
    .tp-caption .id-color {
        font-weight: bold;
    }
}

.btn-slider {
    font-size: 13px;
    font-weight: bold;
    color: #fff;
    letter-spacing: 3px;
    line-height: normal;
    text-decoration: none;
    text-transform: uppercase;
    border: solid 2px #fff;
    padding: 10px 30px 10px 30px;
}

/* Ajustes para pantallas medianas */
@media only screen and (max-width: 991px) {
    .tp-caption.ultra-big-white {
        font-size: 70px;
    }
}

/* Estilos específicos para móviles */
@media only screen and (max-width: 767px) {

    .tp-caption.ultra-big-white {
        font-size: 50px !important;
        line-height: 1.2 !important;
        transform: translateY(-5px) !important;
    }

    .tp-caption[data-voffset="['110']"] {
        top: 70% !important;
    }

    #revolution-slider img {
        height: 100vh !important;
        object-fit: cover;
    }

    .tp-caption {
        text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
    }

    .btn-slider {
        font-size: 11px;
        padding: 8px 20px;
    }
}

/* Ajuste adicional para pantallas muy pequeñas */
@media only screen and (max-width: 480px) {
    .tp-caption.ultra-big-white {
        font-size: 35px !important;
    }
}