* {

    margin: 0;

    padding: 0;

}



.dot-spinner {

    --uib-size: 2.8rem;

    --uib-speed: .9s;

    --uib-color: #183153;

    position: relative;

    display: flex;

    align-items: center;

    justify-content: flex-start;

    height: var(--uib-size);

    width: var(--uib-size);

}



.dot-spinner__dot {

    position: absolute;

    top: 0;

    left: 0;

    display: flex;

    align-items: center;

    justify-content: flex-start;

    height: 100%;

    width: 100%;

}



.dot-spinner__dot::before {

    content: '';

    height: 20%;

    width: 20%;

    border-radius: 50%;

    background-color: var(--uib-color);

    transform: scale(0);

    opacity: 0.5;

    animation: pulse0112 calc(var(--uib-speed) * 1.111) ease-in-out infinite;

    box-shadow: 0 0 20px rgba(18, 31, 53, 0.3);

}



.dot-spinner__dot:nth-child(2) {

    transform: rotate(45deg);

}



.dot-spinner__dot:nth-child(2)::before {

    animation-delay: calc(var(--uib-speed) * -0.875);

}



.dot-spinner__dot:nth-child(3) {

    transform: rotate(90deg);

}



.dot-spinner__dot:nth-child(3)::before {

    animation-delay: calc(var(--uib-speed) * -0.75);

}



.dot-spinner__dot:nth-child(4) {

    transform: rotate(135deg);

}



.dot-spinner__dot:nth-child(4)::before {

    animation-delay: calc(var(--uib-speed) * -0.625);

}



.dot-spinner__dot:nth-child(5) {

    transform: rotate(180deg);

}



.dot-spinner__dot:nth-child(5)::before {

    animation-delay: calc(var(--uib-speed) * -0.5);

}



.dot-spinner__dot:nth-child(6) {

    transform: rotate(225deg);

}



.dot-spinner__dot:nth-child(6)::before {

    animation-delay: calc(var(--uib-speed) * -0.375);

}



.dot-spinner__dot:nth-child(7) {

    transform: rotate(270deg);

}



.dot-spinner__dot:nth-child(7)::before {

    animation-delay: calc(var(--uib-speed) * -0.25);

}



.dot-spinner__dot:nth-child(8) {

    transform: rotate(315deg);

}



.dot-spinner__dot:nth-child(8)::before {

    animation-delay: calc(var(--uib-speed) * -0.125);

}



@keyframes pulse0112 {



    0%,

    100% {

        transform: scale(0);

        opacity: 0.5;

    }



    50% {

        transform: scale(1);

        opacity: 1;

    }

}



.navbar {

    padding: 1rem 2rem;

    background-color: #003848 !important;

    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);

    font-family: 'Roboto', sans-serif;

}



.navbar-brand {

    display: flex;

    align-items: center;

}



.navbar-brand img {

    margin-right: 10px;

}



.navbar-text {

    font-size: 1.5rem;

    font-weight: bold;

    margin: 0;

    color: #ffffff !important;

}



.navbar-nav {

    margin: auto;

}



.nav-item {

    margin: 0 1.5rem;

}



.nav-item .nav-link {

    padding: 0.5rem 1.5rem;

    cursor: pointer;

    transition: background-color 0.3s, color 0.3s, transform 0.3s;

    color: #ffffff !important;

    text-decoration: none;

    font-size: 1rem;

    border-radius: 0.25rem;

    font-weight: bold !important;

    display: flex;

    gap: 0.5rem;

}



.nav-item .nav-link .nav-icon {

    font-size: 1.2rem;

    margin-right: 0.5rem;

    display: flex;

    align-items: center;

}



.nav-item .nav-link:hover {

    background-color: #1A4F5D;

    color: #febe07 !important;

    border-radius: 0.5rem;

    transform: scale(1.05);

    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);

}



.navbar-toggler {

    border: none;

}



.navbar-toggler-icon {

    background-image: url("data:image/svg+xml;charset=UTF8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba%28255%2C255%2C255%2C1%29' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E") !important;

}



.collapse {

    justify-content: center;

}



/* Imagen  */

.container-about {

    display: flex;

    justify-content: center;

    align-items: center;

    width: 100%;

    height: 20rem;



}



.img-about {

    width: 160rem;

    height: 20rem;

    object-fit: cover;

    margin-top: 15rem;

}



.p_img {

    position: absolute;

    top: 16rem;

    color: aliceblue;

    font-weight: bold;

    font-size: 2rem;

    background-color: #003848;

    border-radius: 1rem;

    border: 2px solid none;

    padding: 1rem;

}





/* Quienes somos */

.text-container {

    display: flex;

    justify-content: center;

    align-items: center;

    margin: 0 auto;

    margin-top: 10rem;

}



.text-about {

    text-align: center;

    color: #003848;

    font-weight: bold;

    font-size: 2rem;

    transition: 0.5s ease;

    position: relative;



}



.text-about::after {

    content: '';

    width: 60px;

    height: 4px;

    background-color: #003848;

    position: absolute;

    transform: translateX(-50%);

    bottom: -10px;

    left: 50%;

}



.text-about:hover {

    transform: translateY(-5px);

}



.container-who {

   background: #f5f5f5;

    //border-radius: 2rem;

    height: 25rem;

    width: 70rem;

    //box-shadow: 0 0 20px rgba(0, 0, 0, 0.4);

    margin: 0 auto;

    margin-top: 2rem;

    //padding: 1rem;

    //display: grid;

    grid-template-columns: 2fr 1fr;

    //align-items: center;

    //justify-content: center;

   // padding: 1rem 3rem;

   

  display: flex;

  justify-content: space-between; /* Texto a la izquierda, imagen a la derecha */

  align-items: center; /* Alineación vertical centrada */

  gap: 20px; /* Espacio entre texto e imagen */

  background-color: #f5f5f5; /* opcional, como en tu diseño */

  padding: 40px;

  border-radius: 20px;

  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);

}



.img-who {

	 max-width: 500px;

  height: auto;

  border-radius: 8px; /* opcional *

    /*width: 22rem;

    height: 15rem;

    display: grid;

    justify-content: center;

    align-items: center;

    position: relative;

    transition: 0.5s;

    transform: translate(-10%, -10%);

    transition: transform 0.5s, z-index 0.5s, box-shadow 0.5s;

    border-radius: 0.5rem;

    overflow: hidden;

    z-index: 1;*/

}



/*.img-who:hover {

    transform: translate(50%, -50%) scale(1.1);

    z-index: 3;

    box-shadow: 0 0 20px rgba(0, 0, 0, 0.6);

}*/



.img-who2 {

    width: 11rem;

    height: 11rem;

    position: absolute;

    padding: 1rem;

    margin-top: 12rem;

    margin-left: 38rem;

    transition: 0.5s;

    transform: translate(-20%, -10%);

    transition: transform 0.5s, z-index 0.5s, box-shadow 0.5s;

    border-radius: 0.5rem;

    overflow: hidden;

    z-index: 1;



}



.img-who2:hover {

    transform: translate(-50%, 50%) scale(1.2);

    z-index: 3;

    box-shadow: 0 0 20px rgba(0, 0, 0, 0.6);

}



.text-who {

    display: grid;

    justify-content: center;

    align-items: center;

    text-align: center;

}



.who-about {

    text-align: center;

    font-size: 2rem;

    color: #003848;

    margin-top: -1rem;

    margin-right: 10rem;

}



.p_who {

    display: flex;

    text-align: center;

    width: 90%;

    font-size: 1.4rem;

    color: black;

    margin-top: 2rem;

}



/* CARDS */

.container-cards {

    gap: 1rem;

    justify-content: center;

    width: 70rem;

    margin: 0 auto;

    display: flex;

    margin-top: 2rem;

}



.card {

    width: 30%;

    height: 53rem;

    margin: 0 auto;

    background-color: #F8FBFE;

    border-radius: 8px;

    z-index: 1;

}



.tools {

    display: flex;

    align-items: center;

    padding: 9px;

}



.circle {

    padding: 0 4px;

}



.box {

    display: inline-block;

    align-items: center;

    width: 10px;

    height: 10px;

    padding: 1px;

    border-radius: 50%;

}



.red {

    background-color: #ff605c;

}



.yellow {

    background-color: #ffbd44;

}



.green {

    background-color: #00ca4e;

}



.text_mision {

    font-size: 1.5rem;

    text-align: center;

    color: #003848;

    font-weight: bold;

}



.text_vision {

    font-size: 1.5rem;

    text-align: center;

    color: #003848;

    font-weight: bold;

}



.text_objective {

    font-size: 1.5rem;

    text-align: center;

    color: #003848;

    font-weight: bold;

}



.p_content {

    text-align: -webkit-left;

    padding: 1rem;

}



.text_integrity {

    font-size: 1rem;

    padding: 1rem;

    font-weight: bold;

}



.p_integrity {

    text-align: start;

    padding: 1rem;

    margin-top: -2rem;

}



.text_pasion {

    font-size: 1rem;

    padding: 1rem;

    margin-top: -2rem;

    font-weight: bold;



}



.p_pasion {

    text-align: start;

    padding: 1rem;

    margin-top: -2rem;

}



.text_calidad {

    font-size: 1rem;

    padding: 1rem;

    margin-top: -2rem;

    font-weight: bold;



}



.p_calidad {

    text-align: start;

    padding: 1rem;

    margin-top: -2rem;

}



.text_servicio {

    font-size: 1rem;

    padding: 1rem;

    margin-top: -2rem;

    font-weight: bold;



}



.p_servicio{

    text-align: start;

    padding: 1rem;

    margin-top: -2rem;

}



.text_trans {

    font-size: 1rem;

    padding: 1rem;

    margin-top: -2rem;

    font-weight: bold;



}



.p_trans {

    text-align: start;

    padding: 1rem;

    margin-top: -2rem;

}



/* footer */

.container_footer {

    display: flex;

    min-height: 60vh;

    justify-content: flex-end;

    align-items: flex-end;

}



footer {

    position: relative;

    background: #003848;

    width: 100%;

    min-height: 19rem;

    padding: 1rem 1rem;

    display: flex;

    justify-content: center;

    align-items: center;

    flex-direction: column;

}



footer .social_icon {

    position: relative;

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 3rem;

    margin-bottom: 2rem;

}



footer .social_icon li {

    list-style: none;

}



footer .social_icon li a {

    font-size: 2rem;

    color: #ffffff;

    transition: 0.5s ease;



}



footer .social_icon li a :hover {

    transform: translateY(-5px);

}



footer .social_icon li a[href*="facebook.com"]:hover {

    color: white;

}



footer .social_icon li a[href*="instagram.com"]:hover {

    color: #E1306C;



}



footer .social_icon li a[href*="whatsapp.com"]:hover {

    color: #0CC143;

}



footer .social_icon li a[href*="tel"]:hover {

    color: #000;

}



footer .social_icon li a[href*="mailto"]:hover {

    color: #FFFF00;

}



footer .Menu {

    position: relative;

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 4rem;

    padding: 0rem;



}



footer .Menu li {

    list-style: none;

}



footer .Menu li a {

    color: #FCBD04;

    font-size: 1.2em;

    font-weight: bold;

    display: inline-block;

    transition: 0.5s;

    margin: 0 10px;

    text-decoration: none;

    opacity: 0.75;

}



footer .Menu li a:hover {

    opacity: 1;

}



footer .policity {

    position: relative;

    display: flex;

    justify-content: center;

    align-items: center;

    text-align: center;

    padding: 0rem;

}



footer .policity li {

    list-style: none;

}



footer .policity li a {

    font-size: 0.8rem;

    color: #F5F5F5;

    text-decoration: none;

    opacity: 0.75;

}



footer .policity li a:hover {

    opacity: 1;

}



footer p {

    color: #F5F5F5;

    display: flex;

    justify-content: center;

    text-align: center;

    align-items: center;

}



footer p a {

    color: #F5F5F5;

    text-decoration: none;

    font-weight: bold;

    opacity: 0.75;

}



footer p a :hover {

    opacity: 1;

    color: #F5F5F5;

}



footer .waves {

    position: absolute;

    top: -100px;

    left: 0;

    width: 100%;

    height: 100px;

    overflow: hidden;

}



footer .wave {

    position: absolute;

    bottom: 0;

    width: 200%;

    height: 50px;

    background: url(../img/waveGreen.png) repeat-x;

    background-size: 1000px 100px;

    opacity: 0.7;

}



footer .wave#wave1 {

    z-index: 0;

    animation: animateWave 4s linear infinite;

    opacity: 0;



}



footer .wave#wave2 {

    z-index: 999;

    animation: animateWave 6s linear infinite;

    opacity: 0.5;

}



footer .wave#wave3 {

    z-index: 998;

    animation: animateWave 8s linear infinite;

    opacity: 0.3;

}



footer .wave#wave4 {

    z-index: 997;

    animation: animateWave 10s linear infinite;

    opacity: 0.1;

}



@keyframes animateWave {

    0% {

        transform: translateX(0);

    }



    100% {

        transform: translateX(-50%);

    }

}





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

    .container-who {

        height: fit-content;

        width: 90%;

        display: flex;

        flex-direction: column;

        padding: 2rem;



    }



    .img-who {

        width: 97%;

        margin-top: 1rem;

        margin-left: 3rem

    }



    .img-who2 {

        display: none;

    }



    .p_who {

        width: 100%;

    }



    .text-whoo {

        width: 100%;

    }



    .who-about {

        margin-right: 0rem;

    }



    .container-about {

        width: 100%;

    }



    .img-about {

        width: 100%;

        height: auto;

    }



    .p_img {

        left: 3.5rem;

        top: 15rem;

    }



    .container-cards {

        display: flex;

        flex-direction: column;

        width: 100%;

        padding: 1rem;

        gap: 0rem;

        margin: 0;

    }



    .card {

        width: 19rem;

        height: auto;

        margin-top: 10px;

        font-size: 13px;

    }



    .container_footer {

        display: flex;

        min-height: 58vh;

        justify-content: flex-end;

        align-items: flex-end;

    }



    footer .social_icon {

        display: grid;

        gap: 2rem;

        grid-template-columns: 1fr 1fr 1fr 1fr 1fr;

        padding: 0rem;

    }



    footer .Menu {

        display: grid;

        grid-template-columns: 1fr 1fr 1fr;

        padding: 0rem;

        gap: 1rem;

        justify-content: center;

        align-items: center;

        text-align: center;

        grid-area: 3/4;

    }



    footer .Menu li:nth-child(5) {

        grid-column-start: 3;

    }



    footer .Menu li:nth-child(3) {

        grid-row-start: 1;

        grid-column-start: 2;

    }

}