/* fonts */
/* @import url('https://fonts.googleapis.com/css2?family=Ubuntu:wght@300;400;500;700&display=swap'); */
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap");
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');

/* css varriables */
:root{
    --white-color: #fff;
    --secondary-bg:  #e7eaf6; 
    --third-bg:  #a2a8d3; 
    --four-bg: #38598b; 
    --text-bg:  rgb(118, 138, 168); 
    --dark-color: #222;
    --body-bg-color: #fff;
    --section-bg-color: #202834;
    --navigation-item-hover-color: #3b5378;
    --text-shadow: 0 5px 25px rgba(0, 0, 0, 0.1);
    --text-shadow-bl: 0 5px 15px rgb(25, 55, 100);
    --box-shadow: 0 5px 25px rgb(0 0 0 /20%);
    --scroll-bar-color: #fff;
    --scroll-thumb-color: #282f4e;
    --scroll-thumb-hover-color: #454f6b;
}
html{
    scroll-behavior: smooth;
}
/* scroll bar */
::-webkit-scrollbar{
    /* background: var(--scroll-bar-color); */
    background-color: rgba(51, 51, 51, 0.5);
    width: 11px;
}
::-webkit-scrollbar-thumb{
    width: 100%;
    background: var(--scroll-thumb-color);
    border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover{
    background: var(--scroll-thumb-hover-color);
}

/* main css */
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Ubuntu', sans-serif;
}
body{
    background-color: var(--body-bg-color);
    -webkit-user-select: none; /* Para navegadores basados en WebKit */
    -moz-user-select: none; /* Para navegadores basados en Mozilla */
    -ms-user-select: none; /* Para Internet Explorer/Edge */
        user-select: none;
    -webkit-user-drag: none; /* Para navegadores basados en WebKit como Chrome y Safari */
        /*user-drag: none; /* Para la mayoría de los navegadores */
}
/* Opcional: Aplicar desactivación de arrastre en elementos específicos */
.no-drag {
    -webkit-user-drag: none; /* Para navegadores basados en WebKit como Chrome y Safari */
        /*user-drag: none; /* Para la mayoría de los navegadores */
}

.big-text{
    font-size: 2rem;
    font-weight: 700;
    text-shadow: var(--text-shadow);
}
.big-text-bl{
    font-size: 2rem;
    font-weight: 700;
    text-shadow: var(--text-shadow-bl);
}
.medium-text{
    font-size: 1.3rem;
    color: var(--four-bg);
    font-weight: 600;
}
.paragraph{
    font-size: 1rem;
    font-weight: 400;
    color: var(--text-bg) !important;
}


/************************************************************/
/**** Estilos para la sección de información de contacto ****/
/************************************************************/
.contact-infos {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    background-color: #f0f0f0;
    padding: 8px 0 8px 0;
    text-align: center;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
    z-index: 1000;
}

.contact-infos {
    transition: top 0.5s ease, height 0.5s ease;
}

.contact-content {
    display: flex;
    justify-content: center;
    align-items: center;
}

.phone-number {
    font-family: "Lato", sans-serif;
    margin-right: 10px;
    font-weight: 700;
    font-size: 14px;
}

.app-button {
    background-color: #007bff;
    color: white;
    border: none;
    padding: 8px 20px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 12px;
}

.app-button:hover {
    background-color: #0056b3;
}
/************************************************************/


/* header */
header{
    z-index: 999;
    position: fixed;
    width: 100%;
    height: calc(5rem + 1rem);
    top: 40px;
    left: 0;
    display: flex;
    justify-content: center;
    transition: 0.4s ease;
}
header.sticky{
    height: calc(3rem + 2rem);
    backdrop-filter: blur(10px);
}
header .nav-bar{
    position: relative;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 80px;
    transition: 0.4s ease;
    background-color: rgba(51, 51, 51, 0.4);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
.nav-close-btn, .nav-menu-btn{
    display: none;
}

.navigation {
    margin-left: auto;
    display: flex;
}
.navigation .nav-items a{
    color: var(--white-color);
    font-size: 1em;
    text-decoration: none;
    text-shadow: var(--text-shadow);
}

.logo img{
    height: 54px;
    margin-left: 10px;
}

.link {
    position: relative;
    margin-right: 50px;
    font-size: 18px;
    padding: 4px 0px !important;
    color: var(--white-color) !important;
}
.link::before {
    content: "";
    position: absolute;
    top: 0;
    left: 10%;
    width: 0%;
    height: 2px;
    background: #f7f7f7;
    transition: all .4s ease-in-out;
}

.link::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 90%;
    width: 0%;
    height: 2px;
    background: #f7f7f7;
    transition: all .4s ease-in-out;
}
.link:hover::before, .link:hover::after {
    color: var(--white-color);
    width: 100%;
    left: 0;
}
.navigation .nav-items a i{
    display: none;
}
.navigation .nav-items a:not(:last-child){
    margin-right: 45px;
}

/* home */
.home{
    min-height: 100vh;
}
.bg-slider{
    z-index: 777;
    position: relative;
    min-height: 100vh;
    width: 100%;
}
.bg-slider .swiper-slide{
    width: 100%;
    height: 100vh;
}
.swiper-slide img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    background-position: cover;
    background-size: cover;
    pointer-events: none;
}
.text-content{
    position: absolute;
    top: 25%;
    color: var(--white-color);
    margin: 0 200px;
    transition: 0.4s ease;
}
.text-content .title{
    color: var(--white-color);
    font-size: 34px;
    font-weight: 700;
    text-shadow: var(--text-shadow);
    margin-bottom: 20px;
    transform: translateY(-50px);
    opacity: 0;
    transition: 0.6s ease;
}
.swiper-slide-active .text-content .title{
    transform: translateY(0px);
    opacity: 1;
    transition-delay: 0.3s;
    transition-property: transform, opacity;
}
.text-content .title span{
    font-size: 40px;
}
.text-content p{
    max-width: 700px;
    background-color: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    padding: 20px;
    line-height: 25px;
    text-shadow: var(--text-shadow);
    border-radius: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    border-right: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: var(--box-shadow);
    transform: translateX(45px);
    opacity: 0;
    transition: 0.6s ease;
}
.swiper-slide-active .text-content p{
    transform: translateX(0px);
    opacity: 1;
    transition-delay: 0.4s;
    transition-property: transform, opacity;
}
/* button style */
.btn{
    font-size: 16px;
    background: none;
    border: none;
    border: 2px solid var(--white-color);
    border-radius: 7px;
    text-transform: uppercase;
    margin-top: 40px;
    padding: 12px 20px;
    transition: color 0.4s linear;
    min-width: 200px;
    cursor: pointer;
    position: relative;
    z-index: 999;
    color: var(--white-color);
    transform: translateX(-55px);
    opacity: 0;
}
.swiper-slide-active .btn{
    transform: translateX(0px);
    opacity: 1;
    transition: 0.6s ease;
    transition-delay: 0.5s;
    transition-property: transform, opacity;
}
.btn:hover{
    color: white;
}
.btn::before{
    content: "";
    position: absolute;
    border-radius: 7px;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(5px);
    z-index: -1;
    transition: transform 0.5s;
    transform-origin: 0 0;
   /* transition-timing-function: cubic-bezier(0.5, 1.6, 0.4,0.7); */
    transition-timing-function: cubic-bezier();
}
.btn2::before{
    transform: scaleY(0);
}
.btn2:hover::before{
    transform: scaleY(1);
}
.btn i{
    margin-left: 10px;
    transition: 0.4s ease;
}
.btn:hover i{
    transform: translateX(10px);
}

.dark-layer::before{
    content: "";
    position: absolute;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.2);
}


/* thumbnail container */
.bg-slider-thumbs{
    z-index: 777;
    position: absolute;
    bottom: 45px;
    left: 50%;
    transform: translateX(-50%);
    transition: 0.5s ease;
}
.thumbs-container{
    background: rgba(0, 0, 0, 0.2);
    -webkit-backdrop-filter: blur(10px);
            backdrop-filter: blur(10px);
    box-shadow: var(--box-shadow);
    padding: 10px 3px;
    border-radius: 10px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    border-right: 1px solid rgba(0, 0, 0, 0.1);
    user-select: none; /* Evita la selección de texto */
    -webkit-user-select: none; /* Para navegadores basados en WebKit */
    -moz-user-select: none; /* Para navegadores basados en Mozilla */
    -ms-user-select: none; /* Para Internet Explorer/Edge */
}
.thumbs-container img{
    width: 50px;
    height: 35px;
    margin: 0 5px;
    border-radius: 5px;
    cursor: pointer;
}
.swiper-slide-thumb-active{
    border: 1px solid var(--white-color);
}

/* media icon */
.media-icon{
    z-index: 998;
    position: absolute;
    display: flex;
    flex-direction: column;
    top: 50%;
    transform: translateY(-50%);
    right: 80px;
    /* margin-left: 100px; */
}
.media-icon a{
    margin: 10px 0px;
    font-size: 22px;
    color: var(--white-color);
    cursor: pointer;
    transition: 0.4s ease;
}
.media-icon a:hover{
    transform: translateX(5px);
}


/*******************************************************/
/****               Sección Acerca de               ****/
/*******************************************************/
#about {
    font-family: "Raleway";
    line-height: 130%;
    position: relative;
    width: 100%;
    min-height: 450px;
    color: rgb(43, 43, 43);
    background-image: url('../images/25352.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    box-sizing: border-box;
}

#about::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5); /* Fondo negro semitransparente */
    z-index: 1;
}

.about-text-overlay {
    color: white;
    text-align: center;
    padding: 20px;
    border-radius: 10px;
    width: 100%;
    max-width: 1170px;
    z-index: 2;
    margin-bottom: 20px;
    position: relative;
}
.about-text-overlay h1{
    padding: 0 0 20px 0;
    font-size: 2.5rem;
    text-shadow: 4px 4px 5px rgba(32, 32, 32, 0.6);
}
.about-text-overlay p{
    font-size: 1.14rem;
}

.about-content {
    max-width: 92%;
    background: rgba(255, 255, 255, 0.1); /* Fondo blanco semitransparente */
    padding: 10px;
    border-radius: 10px;
    position: relative;
    z-index: 2;
    color: hsl(0, 1%, 23%);
}

.about-columns {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.about-column {
    width: 48%;
    background: rgba(0, 123, 255, 0.92);
    padding: 0 10px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    color: hsl(0, 0%, 100%);
}

.about-column h2 {
    font-size: 24px;
    padding: 15px 0 5px 0;
}

.about-column h3 {
    margin-bottom: 15px;
}

.about-column p {
    font-size: 14px;
    color: hsl(0, 14%, 93%);
    margin-bottom: 10px;
}

.about-sub {
    background: rgba(92, 184, 92, 0.92);
    margin: 0 3px;
}
.about-sub h3{
    color: #dbd5d5;
    margin-top: 10px;
}

.text-with-shadow {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}
/*******************************************************/



/*******************************************************/
/****               Sección Productos               ****/
/*******************************************************/
#package {
    font-family: "Raleway";

    --heading-color: hsl(0, 0%, 22%);
    --date-text-color: hsl(0, 0%, 51%);
    --title-font-weight: 600;
    --date-font-weight: 450;

    /* Cards colors */
    --card-main-color : whitesmoke;
    --card-1-secondary-color: #b82d44;
    --card-2-secondary-color: #303c4e;
    --card-3-secondary-color: #153a82;
    --card-4-secondary-color: #58a051;

    width: 100%;
    display: flex;
    flex-direction: column;
    color: rgb(99, 91, 91);
    align-items: center;
    overflow: hidden; /* Asegura que los elementos internos no se desborden */
    background: linear-gradient(135deg,#3f5efb, #fc466b);
}

.container{
    width: 92%;
    margin: 0 auto;
    padding: 40px 10px;
    overflow: hidden;
}

.container h1{
    font-size: 2.5rem;
    text-align: center;
    padding-bottom: 30px;
    color: var(--white-color);
    text-shadow: 4px 4px 5px rgba(32, 32, 32, 0.6);
}
.container h3{
    color: var(--white-color);
    font-size: 18px;
    font-weight: 300;
    text-align: center;
    text-shadow: 4px 4px 5px rgba(32, 32, 32, 0.6);
}

.productos_div{    
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
    align-content: flex-start;
    margin: auto;
    min-height: 30em;
    padding: 3em 1em 1em 1em;
    box-sizing: border-box;
}
.productos_div input{
    display: none;    
}

/* Card Styling */
.card-div{
    width: 18.5em;
    min-height: 20em;
    display: flex;
    flex-direction: column;
    justify-items: center;
    align-items: center;
    background-color: var(--card-main-color);
    margin: 0.6em;
    box-sizing: border-box;
    border-radius: 15px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
    transition: transform 0.2s ease-in-out;
}

/* ======== General styling of all cards and heart ========== */
.img-div{
    width: 100%;
    height: 10em;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding-top: 1rem;
    border-radius: 10px 10px 0 0;
    z-index: 1;
}

.img-div img{
    transform-origin: bottom;
    transform: translateY(7.5%);
    transition: transform 0.3s ease-in-out
}

/* Box 1 image */
.gow-img-div{
    background-color: var(--card-1-secondary-color);
}

.gow-img-div img{
    width: 80%;
    transform: translateY(7.5%);
}

/* Box 2 image */
.sekiro-img-div{
    background-color: var(--card-2-secondary-color);
}

.sekiro-img-div img{
    width: 80%;
    transform: translateY(7.5%);
}

/* Box 3 image */
.dazai-img-div{
    background-color: var(--card-3-secondary-color);
}

.dazai-img-div img{
    width: 80%;
    transform: translateY(7.5%);
}

/* Box 4 image */
.u4-img-div{
    background-color: var(--card-4-secondary-color);
}

.u4-img-div img{
    width: 80%;
    transform: translateY(7.5%);
}

/* ======== text Container Styling general ======== */

.text-container{
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 0 1.5em;
    padding-top: 1em;
    padding-bottom: 1em;
    box-sizing: border-box;
    flex-grow: 1;
}

.text-container .item-name,
.text-container .date{
    margin: 0.25em 0;
    text-align: center;
}

.text-container .item-name{
    font-size: 1.2em;
    font-weight: var(--title-font-weight);
    color: var(--heading-color);
}

.text-container .date{
    font-size: 0.92em;
    /* font-weight: var(--date-font-weight); */
    color: var(--date-text-color);
    margin-bottom: auto;
}

.text-container h3{
    color: #525252;
    font-weight: var(--date-font-weight);
    text-align: center;
    margin: 15px 0 0 0;
    cursor: pointer;
    margin-top: auto;
}

/* ====== Hover effects ======= */
.card-div:hover .img-div img{
    transform: translateY(7.5%) scale(1.2);
}

.card-div:hover{
    transform: translate(0, -10px);
}
/*******************************************************/



/*******************************************************/
/****               Sección Services                ****/
/*******************************************************/
.review{
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 20px 20px 20px;
    overflow: hidden;
}  
.overlay{
    position: absolute;
    background-image: url('../images/16268071.jpg');
    opacity: 0.35;
    width: 100%;
    height: 100vh;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 2;
}

.services-text-content {
    width: 88%;
    text-align: center;
    margin: 60px auto 20px auto; /* Centramos el div horizontalmente y agregamos espacio inferior */
    padding: 0 15px; /* Añade un poco de padding para asegurar que el contenido no toque los bordes */
}

.services-text-content h1{
    padding: 0 0 20px 0;
    font-size: 2.5rem;
    font-weight: 900;
    color: #2f2d36;
    text-shadow: 4px 4px 5px rgba(32, 32, 32, 0.6);
}

.services_div {
    margin: 0 auto; /* Centramos el div horizontalmente */
    width: 90%;
    height: 600px; /* Establecemos una altura suficiente para acomodar los elementos */
    position: relative; /* Posicionamos elementos relativamente dentro del contenedor */
    display: flex; /* Utilizamos flexbox para organizar los boxes */
    justify-content: space-around; /* Distribuye los elementos de forma equitativa */
}

[class^="box"] {
    margin: 10px;
    width: 32%;
    height: auto;
    background:rgba(83, 133, 182, 0.70);
    padding: 10px;
    border-radius: 10px;
    text-align: center;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s;
    position: relative;
    z-index: 10;
}

[class^="box"]:hover {
    transform: translateY(-10px);
}

[class^="box"] h2 {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin: 10px 0;
    color: #13264b;
}

[class^="box"] h2 i {
    font-size: 24px;
    margin-left: 10px;
    margin-right: 10px;
}

[class^="box"] p {
    font-size: 14px;
    color: #2f436d;
    margin: 2px 0;
}

.box-1 {
    position: absolute;
    top: 0;
    left: 0;
}

.box-2 {
    position: absolute;
    top: 0;
    right: 0;
}

.box-3 {
    position: absolute;
    bottom: 0;
    left: 0;
}

.box-4 {
    position: absolute;
    bottom: 0;
    right: 0;
}

.box-5 {
    width: 32%;
    height: auto; /* Altura reducida para ajustar el tamaño del contenedor */
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    left: calc(50% - 10px);
    transform: translate(-50%, -50%);
    background: transparent;
    box-shadow: none;
    transition: none;
    z-index: 1;
}

.box-5:hover {
    transform: translate(-50%, -50%); /* Mantener la posición centrada en hover */
}

.center-image {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.center-image img {
    max-width: 100%;
    max-height: 100%;
    border-radius: 10px;
}
/*******************************************************/



/*******************************************************/
/****               Sección Contact                 ****/
/*******************************************************/
/* booking form */
.contact{    
    font-family: 'Poppins', sans-serif;
    font-size: .938rem;
    margin: 0;
    padding: 20px 0 40px 0;
    background: rgb(164,164,164);
    background: linear-gradient(180deg, rgba(164,164,164,1) 0%, rgba(201,201,205,1) 50%, rgba(164,164,164,1) 100%);
}
.contact .big-text{
    font-size: 2.5rem;
    font-weight: 800;
    color:rgb(255, 255, 255);
    text-shadow: 4px 4px 5px rgb(8, 8, 8);
}
/*===== BASE =====*/
.social-icons a{
    text-decoration: none;
}

/*===== CLASS CSS =====*/
.section {
    padding: 4rem 0 2rem;
}

/*===== LAYOUT =====*/
.bd-container {
    width: 100%;
    box-sizing: border-box;
}

.bd-grid {
    display: grid;
    gap: 1.5rem;
}

/*===== CONTACT ME =====*/
.contact__content {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    margin: -5px auto 10px auto;
}

.contact__box {
background-color: #fff;
border-radius: .5rem;
padding: 1.5rem;
text-align: center;
box-shadow: 0 4px 6px rgba(174, 190, 205, .3);
}

.contact__icon, .contact__title{
    color: #2a2e5e;
}
.contact__content .contact__box h3{
    color: #0e113e;
    box-shadow: none;
}

.contact__icon {
font-size: 2rem;
}

.contact__title {
font-size: 1.125rem;
margin: .5rem 0;
}

.contact__social {
color: #7B6F71;
font-size: 1.25rem;
margin: 0 .5rem;
}

.contact__box:hover {
box-shadow: 0 6px 8px rgba(174, 190, 205, .4);
}
/*******************************************************/



/*******************************************************/
/****               Sección Clientes                ****/
/*******************************************************/
.clients {
    width: 100%;
    padding: 0;
    height: auto;
    font-family: "Raleway";
    display: flex;
    place-items: center;
}
.clients .container {
    width: 98%;
    margin-left: auto;
    margin-right: auto;
}
.clients .container h1{
    font-size: 2.5rem;
    font-weight: 800;
    color: #2b1e5c;
    text-shadow: 4px 4px 5px rgb(196, 194, 194);
}
.clients .container .mySwiper {
    margin-top: 10px;
}
.clients .swiper-wrapper {
    transition-timing-function: linear;
}
.clients .swiper-slide {
    display: flex;
    padding: 0 10px;
    width: auto;
}
.clients img {
    width: 200px;
}
/*******************************************************/


/*******************************************************/
/****                 Sección Footer                ****/
/*******************************************************/
.app__footer,
footer {
    background-color: #333;
    color: #b9b9b9;
    text-align: center;
    width: 100%;
}

.app__content__footer {
    width: 100%;
    background: #6c6c6c;
    flex: none;
    height: auto;
}

.footer-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    width: 92%;
    margin: 0 auto;
    padding: 10px 10px 0 10px;
}

.footer-content .contact-info {
    flex: 1;
    font-size: 14px;
    margin-bottom: 10px;
    text-align: left;
}

.footer-content .contact-info p {
    margin: 5px 0;
}

.footer-content .social-icons {
    display: flex;
    gap: 10px;
    padding: 5px 7px;
}

.footer-content .social-icons a {
    color: #fff;
    font-size: 22px;
    text-decoration: none;
    transition: color 0.3s;
}

.footer-content .social-icons a:hover {
    color: #ffa500;
}

.footer-bottom {
    background-color: #333;
    border-top: 1px solid #555;
}

.footer-bottom-content {
    /* max-width: 1170px; */
    width: 95%;
    margin: 0 auto;
    padding: 5px 10px;
    text-align: center;
    color: #b9b9b9;
    font-size: 12px;
}
/*******************************************************/



/*******************************************************/
/****             Botón Flotante de WhatsApp           */
/*******************************************************/
.whatsapp-float {
    position: fixed;
    bottom: 15px;
    right: 15px;
    background-color: #25d366; /* Color de fondo de WhatsApp */
    color: white;
    width: 40px; /* Ancho del botón */
    height: 40px; /* Altura del botón */
    border-radius: 50%; /* Hacer el botón redondo */
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 26px; /* Tamaño del ícono de WhatsApp */
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
    text-decoration: none;
    z-index: 1100;
    border: 3px solid white; /* Agregar borde blanco */
}

.whatsapp-float::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%; /* Asegurar que la sombra siga el borde redondeado */
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.3); /* Ajustar sombra alrededor del borde */
    pointer-events: none; /* Asegurar que la sombra no interfiera con la interacción del botón */
}

.whatsapp-float:hover {
    background-color: #128c7e; /* Color de fondo al pasar el ratón */
}
/*******************************************************/


/*******************************************************/
/****             Botón Flotante de Top             ****/
/*******************************************************/
button#scrollTopBtn {
    width: 40px;
    height: 40px;
    text-align: center;
    z-index: 1000; /* Asegura que esté por encima del resto del contenido */
    transition: opacity 0.3s ease-in-out; /* Transición suave de opacidad */

    display: none;
    position: fixed;
    bottom: 15px;
    left: 50%; /* Centrar el botón horizontalmente */
    transform: translateX(-50%); /* Centrar el botón horizontalmente */
    background-color: #007bff;
    color: white;
    font-size: 20px;
    padding: 8px 8px;
    border: 2px solid #b9d7f8; /* Agregar borde blanco */
    cursor: pointer;
    border-radius: 50%;
    box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.8);
}

button#scrollTopBtn:hover {
    background-color: #0056b3;
}


/*******************************************************/
/****             Estilo para el Modal              ****/
/*******************************************************/
/* Estilo para el modal */
.modal {
    display: none;
    position: fixed;
    z-index: 2001;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7); /* Fondo oscuro semi-transparente */
    animation: fadeInBackground 0.5s;
}

@keyframes fadeInBackground {
    from {
        background-color: rgba(0, 0, 0, 0);
    }
    to {
        background-color: rgba(0, 0, 0, 0.7);
    }
}

.modal-content {
    background-color: white;
    margin: auto;
    padding: 20px;
    border-radius: 8px;
    border: 1px solid #888;
    width: 80%;
    max-width: 500px;
    max-height: 70vh;
    overflow-y: auto;
    position: relative;
    top: -100px;
    animation: slideDown 0.5s forwards;
}

@keyframes slideDown {
    from {
        top: -100px;
        opacity: 0;
    }
    to {
        top: 20px;
        opacity: 1;
    }
}

/* Estilo del botón para cerrar el modal */
.close {
    position: absolute;
    right: 8px;
    top: 2px;
    color: #aaa;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
}

.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
}

/* Agregamos separación entre el h2 y el p */
.modal-content h2 {
    margin-bottom: 20px; /* Puedes ajustar esta cantidad según lo necesites */
}





.social-icon a {
    background-color:  hsla(0, 0%, 0%, 0);  
}
.social-icon a:hover {
    background-color: rgba(0,0,0,0.5);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
}

.fab {
    display: inline-block;  
    color: inherit;
    border:1px solid;
    text-decoration: none;
    padding-top: 12px;
    width: 40px;
    height: 40px;
    text-align: center;
    border-radius: 20%;
    box-sizing: border-box;
    margin-left: 0.5em;
    background: rgba(0, 0, 0, 0);
    transition: all 0.4s;
}

.fab:hover {
    color: #05a;  
    border-color:inherit;
    background: rgba(0, 0, 0, 0.5);
}

.fab:nth-of-type(2):hover {
    color: #09c;
    border-color:inherit
}

.fab:nth-of-type(3):hover {
    color: #d19;
    border-color:inherit
    
}

.fab:nth-of-type(4):hover {
    color: #05a;  
    border-color:inherit
}

.fab:hover{
    background-color:rgba(250, 250, 2520, 0.4);
}