:root {
    --color-azul-oscuro: #283e73;
    --color-azul-claro: #219ace;
    --color-rojo-logo: #ee3238;
    --color-amarillo-logo: #fff215;
}

@font-face {
    font-family: "Merriweather";
    src: url('fonts/Merriweather-Regular.ttf');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Merriweather", serif;
    letter-spacing: 0.5px;
}

.overflow-hidden {
    overflow: hidden;
}

.font-size-p {
    font-size: clamp(17px, 2vw, 19px);
}

a {
    cursor: pointer;
}

.bold-and-letter-spacing {
    font-weight: 600;
}

.setting-fa-ul {
    --fa-li-margin: 2rem;
    list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-transform: lowercase;
}

h1::first-letter,
h2::first-letter,
h3::first-letter,
h4::first-letter,
h5::first-letter,
h6::first-letter {
    text-transform: capitalize;
}

/* CSS BOTON WHATSAPP FLOTANTE*/
.boton-whatsapp-flotante {
    border-radius: 50%;
    position: fixed;
    z-index: 7;
    bottom: 100px;
    right: 40px;
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.3);
    transition: all 500ms;
}

.boton-whatsapp-flotante svg {
    width: 64px;
    height: auto;
}

.boton-whatsapp-flotante:hover {
    transform: scale(1.1);
}

/*FIN CSS BOTON WHATSAPP FLOTANTE*/

/*CSS FOOTER*/
footer {
    background-color: var(--color-azul-oscuro);
    padding-top: 3rem;
}

div.container.contacts-section-footer {
    margin-bottom: 1rem;
    padding-left: 1rem;
    padding-right: 1rem;
}

.contacts-section-footer div div {
    margin-bottom: 1rem;
}

.logo-footer img {
    filter: drop-shadow(5px 2px 10px #000000);
}

.logo-footer p {
    max-width: 350px;
    text-align: center;
    color: white;
    margin: 0.8rem 0rem;
    padding: 0.5rem;
    background-color: hsla(0, 10%, 100%, .03);
    border-radius: 5px;
}

.contacts-section-footer h5 {
    color: white;
    font-weight: 600;
    font-size: 1.25rem;
}

.contacts-section-footer .fa-ul {
    --fa-li-margin: 1.5em;
    list-style: none;
}

.contacts-section-footer .fa-ul li,
.links-interest-footer li {
    margin-top: 0.5rem;
}

.contacts-section-footer .fa-ul li span i {
    color: var(--color-amarillo-logo);
    font-size: 18px;
    vertical-align: middle;
}

.contacts-section-footer .fa-ul li a,
.contacts-section-footer .fa-ul li a address,
.links-interest-footer li a {
    display: inline-block;
    text-decoration: none;
    color: white;
    transition: transform 300ms;
}

.contacts-section-footer .fa-ul li a:hover,
.links-interest-footer li a:hover {
    transform: scale(1.01);
}

.links-interest-footer {
    padding-left: 0px;
    list-style: none;
}

.footer-separationline {
    height: 2px;
    background-color: var(--color-azul-claro);
}

.img-payment-methods {
    display: block;
    max-width: 100%;
    height: auto;
}

.copyright-footer-section>span {
    display: block;
    text-align: center;
    font-size: 15px;
    color: white;
    padding: 0.5rem;
    background-color: var(--color-azul-claro);
}

.copyright-footer-section>span a {
    display: inline-block;
    color: #fff;
    text-underline-offset: 4px;
    transition: all 500ms;
}


.copyright-footer-section>span a:hover {
    color: var(--color-azul-oscuro);
}

/*FIN CSS FOOTER*/

/*CSS MAIN INDEX*/
#main-page-section-header {
    position: relative;
}

.main-page-section-header-text {
    position: absolute;
    top: 0px;
    width: 100%;
    height: 100%;
    color: white;
    background-color: rgba(0, 0, 0, 0.3);
    text-shadow: 0px 3px 2px #e73838;
}

.main-page-section-header-text div {
    height: 100%;
}

.main-page-section-header-text h1 {
    margin-bottom: 0.6rem;
}

.main-page-section-header-text h1,
a.button-contact {
    position: relative;
    transform: translateX(-200px);
    opacity: 0;
    animation-name: enter-from-the-left;
    animation-timing-function: linear;
    animation-duration: 800ms;
    animation-fill-mode: forwards;
}

.main-page-section-header-text p {
    margin: 0.6rem 0;
}

a.button-contact {
    display: inline-block;
    color: #fff;
    font-weight: 600;
    font-size: 18px;
    text-align: center;
    text-decoration: none;
    background-color: var(--color-rojo-logo);
    padding: 0.7rem 1.5rem;
    border-radius: 40px;
    transition: all 300ms;
    text-shadow: none;
    margin-top: 0.6rem;
}

a.button-contact:hover {
    box-shadow: 0 8px 16px rgba(0, 0, 0, .5);
    transform: scale(1.05);
    background: var(--color-azul-oscuro);
    color: #fff;
}

#main-page-section-content-sectors {
    margin: 4rem 1rem 2.5rem;
}

#main-page-section-content-sectors-description {
    background-image: url('../images/img-pagina-index/bakbaner.webp');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 100% 40%;
    border: 10px solid white;
    box-shadow: 0px 0px 2px gray;
    animation: backBanner 5s linear;
}

@keyframes backBanner {
    0% {
        background-position: 0% 0%;
    }

    100% {
        background-position: 100% 40%;
    }
}

#main-page-section-content-sectors-description div {
    width: 70%;
    color: white;
    padding: 1.5rem;
}

#main-page-section-content-sectors-description div h2 {
    margin-bottom: 1rem;
}

#main-page-section-content-sectors-details>div>div {
    padding: 1rem;
    box-shadow: 0px 0px 2px gray;
    max-width: 332px;
    min-width: 250px;
}

#main-page-section-content-sectors-details h4 {
    color: var(--color-azul-oscuro);
    text-align: center;
}

#main-page-section-content-sectors-details p {
    color: var(--color-azul-oscuro);
    text-align: justify;
}

#main-page-section-content-sectors-details a {
    text-decoration: none;
    display: inline-block;
    width: 100%;
    padding: 0.5rem 1rem;
    background-color: var(--color-azul-oscuro);
    color: white;
    border-radius: 5px;
    text-align: center;
    margin-top: auto;
}

#main-page-section-content-sectors-details a>span {
    display: inline-block;
    transition: all 800ms;
}

#main-page-section-content-sectors-details a>i {
    display: inline-block;
    display: none;
}

#main-page-section-content-sectors-details a:hover {
    background-color: var(--color-rojo-logo);
}

#main-page-section-content-sectors-details a:hover>span {
    transform: translateX(-5px);
}

#main-page-section-content-sectors-details a:hover>i {
    display: inline-block;
    transform: translateX(5px);
}

#main-page-section-content-sectors-details .fa-ul li span i {
    color: green;
}

#main-page-section-content-sectors-details .fa-ul li span i.fa-solid.fa-industry {
    color: var(--color-azul-oscuro);
}

#main-page-section-content-sectors-details .fa-ul li span {
    color: var(--color-azul-oscuro);
}

.main-page-section-content-benefits {
    margin: 0rem 1rem 4rem;
}

.main-page-section-content-benefits h2 {
    color: var(--color-azul-oscuro);
    text-align: center;
}

.main-page-section-content-benefits p {
    color: var(--color-azul-oscuro);
    text-align: justify;
}

.main-page-section-content-benefits h5 {
    display: inline-block;
    color: var(--color-azul-oscuro);
    margin-top: 1rem;
    border-bottom: 5px solid var(--color-azul-oscuro);
}

/*FIN CSS MAIN INDEX*/

/*CSS DEL MAIN PAGINAS DE PORTAFOLIOS(AGRO, INDUSTRIA, BOLSAS Y EMBALAJE)*/
.catalog-by-sectors-header {
    position: relative;
}

.catalog-by-sectors-header img {
    width: 100%;
    object-fit: cover;
    object-position: center center;
    max-height: 70vh;
}

.catalog-by-sectors-header::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #02122d;
    opacity: 0.3;
}

.catalog-by-sectors-header h1 {
    position: absolute;
    text-align: center;
    width: 90%;
    color: white;
    top: 20%;
    left: 50%;
    opacity: 0;
    transform: translate(-50%, -50%);
    text-shadow: 0px 4px 4px #202020;
    animation-name: enter-from-above;
    animation-duration: 2s;
    animation-fill-mode: forwards;
}

.catalog-by-sectors-items {
    margin: 5rem 1rem;
}

.catalog-by-sectors-items-details {
    max-width: 1280px;
    margin: 0 auto;
}

.catalog-by-sectors-items-details>div {
    width: 100%;
    display: flex;
    gap: 3rem 1.5rem;
    justify-content: center;
    flex-wrap: wrap;
}

.catalog-by-sectors-items-details>div>a {
    position: relative;
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    text-decoration: none;
    box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.5);
    padding: 1rem;
    border-radius: 5px;
    transition: all 500ms;
    max-width: 332px;
    min-width: 250px;
}

.catalog-by-sectors-items-details img {
    max-width: 300px;
    width: 100%;
    height: auto;
}

.catalog-by-sectors-items-details h5 {
    text-align: left;
    margin-top: 1rem;
    color: var(--color-azul-oscuro);
}

.catalog-by-sectors-items-details>div>a p {
    color: var(--color-azul-oscuro);
    text-align: left;
}

.catalog-by-sectors-items-details>div>a>div {
    width: 85%;
    position: absolute;
    bottom: -20px;
    align-self: center;
    background-color: var(--color-azul-oscuro);
    color: white;
    font-weight: 600;
    padding: 0.5rem;
    border-radius: 5px;
    text-align: center;
    transition: all 500ms;
}

.catalog-by-sectors-items-details>div>a>div span {
    display: inline-block;
    transition: all 800ms;
}

.catalog-by-sectors-items-details>div>a>div i {
    display: none;
}

.catalog-by-sectors-items-details>div>a:hover {
    transform: scale(1.01);
    box-shadow: 0 5px 10px rgba(0, 0, 0, .1);
}

.catalog-by-sectors-items-details>div>a:hover div {
    background-color: var(--color-rojo-logo);
}

.catalog-by-sectors-items-details>div>a:hover div span {
    transform: translateX(-5px);
}

.catalog-by-sectors-items-details>div>a:hover div i {
    display: inline-block;
    transform: translateX(5px);
}

/*FIN CSS DEL MAIN PAGINAS DE PORTAFOLIOS(AGRO, INDUSTRIA, BOLSAS Y EMBALAJE)*/

/*CSS PAGINA DETALLE DE PRODUCTOS*/

/*Detalles productos agro*/
.section-header-agro {
    background-color: #fafafa;
    position: relative;
    overflow: hidden;
}

.section-header-agro img {
    display: block;
    width: 100%;
    height: 550px;
    object-fit: cover;
    object-position: center center;
}

.section-header-agro .header-intro-row {
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    text-align: center;
    padding: 1rem;
    color: white;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.section-header-agro .header-intro-row p {
    margin-bottom: 0rem;
}

.product-details-agro {
    background-color: #fafafa;
    padding: 2rem 1rem;
    margin-bottom: 2rem;
}

.ir-al-catalogo {
    text-align: center;
    margin-top: 1.5rem;
}

.ir-al-catalogo a {
    display: inline-block;
    text-underline-offset: 3px;
    transition-property: transform;
    transition-timing-function: linear;
    transition-duration: 300ms;
}

.ir-al-catalogo a:hover {
    transform: scale(1.02);
}

.product-information {
    color: var(--color-azul-oscuro);
}

/*Fin detalles productos agro*/

.product-details {
    background-color: #fafafa;
    padding: 4rem 1rem 2rem;
    margin-bottom: 2rem;
}

.container-product-details {
    margin: 0 auto;
}

.header-image-sotrafa {
    margin-bottom: 2rem;
    text-align: center;
}

.header-image-sotrafa img {
    max-width: 250px;
    width: 100%;
    height: auto;
}

.row-header-product-details {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    background-image: linear-gradient(to right, var(--color-azul-claro), var(--color-azul-oscuro), var(--color-azul-claro));
    width: 100%;
    padding: 1rem;
    margin-bottom: 1rem;
    color: #fff;
}

.row-header-product-details span {
    display: inline-block;
}

.container-product-details h1 {
    color: var(--color-azul-oscuro);
    text-align: center;
}

.row-product-details {
    width: 100%;
}

.fixed-height-48 {
    height: 48px;
}

.col-product-details-img {
    float: right;
    max-width: 332px;
    border: 1rem solid #fafafa;
    margin-left: 1.5rem;
    margin-bottom: 0.5rem;
    box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.2);
}

.row-product-details::after {
    content: '';
    clear: both;
    display: table;
}

.col-product-details-text {
    min-height: 332px;
    color: var(--color-azul-oscuro);
}

.col-product-details-text p {
    margin-bottom: 8px;
}

.gama-de-productos li {
    font-style: italic;
}

.col-product-details-text .fa-li .fa-brands.fa-pagelines {
    color: green;
}

.col-product-details-text .fa-li .fa-solid.fa-industry {
    color: var(--color-azul-oscuro);
}

.row-product-details::before {
    display: block;
    content: '';
    width: 100%;
    height: 3px;
    background-color: var(--color-azul-oscuro);
    margin-bottom: 1rem;
}

.row-product-details::after {
    display: block;
    content: '';
    width: 100%;
    height: 3px;
    background-color: var(--color-azul-oscuro);
    margin-top: 1rem;
}

.container-product-details a {
    display: block;
    margin: 1rem auto 0rem;
    text-decoration: none;
    background-color: var(--color-rojo-logo);
    color: #fff;
    padding: 0.5rem 1rem;
    border-radius: 5px;
    width: 200px;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 1px;
    transition: background-color 300ms;
}

.container-product-details a:hover {
    color: #fff;
    background-color: var(--color-azul-oscuro);
}

.row-product-details figure {
    margin: 0rem;
}

.row-product-details h2 {
    color: var(--color-azul-oscuro);
    margin-top: 0.8rem;
    margin-bottom: 0rem;
    font-weight: bold;
    font-size: 20px;
}

/*FIN CSS PAGINA DETALLE DE PRODUCTOS*/

/*CSS DEL MAIN PAGINA CONTACTOS*/
main #contacts-header {
    display: block;
    width: 100%;
    height: 360px;
    background-image: linear-gradient(var(--color-azul-oscuro), var(--color-azul-claro), var(--color-azul-oscuro));
    color: white;
    text-align: center;
    text-shadow: 0px 4px 4px #202020;
}

main #contacts-section {
    margin: -170px auto 3rem;
    max-width: 1140px;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
}

main #contacts-section>div {
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: white;
    width: 270px;
    padding: 1rem;
    height: auto;
    border-radius: 20px;
    box-shadow: 5px 5px 20px 0 rgba(0, 0, 0, 0.2);
    margin: 10px;
}

.back-and-forth-movement.observed-element {
    animation-name: card-movement;
    animation-duration: 1.5s;
    animation-timing-function: linear;
}

main #contacts-section>div>* {
    margin-top: 20px;
    text-align: center;
    color: var(--color-azul-oscuro);
}

main #contacts-section div>span {
    display: block;
}

main #contacts-section div>span i {
    font-size: 64px;
}

main #contacts-section div>span img {
    width: 64px;
    height: 64px;
}

main #contacts-section div>h2 {
    font-size: clamp(20px, 2vw, 22px);
    margin-bottom: 0px;
}

main #contacts-section .contact-details span,
main #contacts-section .contact-details a {
    display: block;
    color: var(--color-azul-oscuro);
}

main #contacts-section .contact-details a {
    text-underline-offset: 5px;
    font-weight: 600;
    transition: all 300ms;
}

main #contacts-section .contact-details a:hover {
    color: var(--color-rojo-logo);
}

.customer-service div {
    color: var(--color-azul-oscuro);
    text-align: center;
    margin-bottom: 3rem;
}

.customer-service div a {
    display: inline-block;
    color: var(--color-azul-oscuro);
    font-size: 24px;
    text-decoration: none;
}

.customer-service div a span:last-of-type {
    display: inline-block;
    transition: all 300ms;
}

.customer-service div a span:last-of-type:hover {
    color: var(--color-rojo-logo);
    transform: scale(1.01);
}

.store-location {
    background-color: #d9d9d9;
    padding: 3rem 0rem;
}

.store-location h3 {
    color: var(--color-azul-oscuro);
}

.store-location address {
    color: var(--color-azul-oscuro);
    font-size: 20px;
}

/*FIN CSS DEL MAIN PAGINA CONTACTOS*/

/*Keyframe Generales*/
.header-intro-row *,
.enter-through-the-center.observed-element {
    animation-name: enter-through-the-center;
    animation-timing-function: linear;
    animation-duration: 1s;
}

@keyframes enter-from-the-left {
    0% {
        transform: translateX(-200px);
        opacity: 0;
    }

    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes enter-through-the-center {
    from {
        transform: scale(0);
    }

    to {
        transform: scale(1);
    }
}

@keyframes card-movement {

    0% {
        transform: rotateX(0deg);

    }

    33% {
        transform: perspective(4000px) rotateX(-30deg);
    }

    66% {
        transform: perspective(4000px) rotateX(30deg);
    }

    100% {
        transform: rotateX(0deg);
    }
}

@keyframes enter-from-above {
    from {
        top: 20%;
        opacity: 0;
    }

    to {
        top: 50%;
        opacity: 1;
    }
}

/*Fin Keyframe Generales*/

@media (min-width: 1200px) {
    .container-product-details h1 {
        font-size: 2rem;
    }

    #main-page-section-header .carousel-item img {
        max-height: 650px;
        object-position: center;
        object-fit: cover;
    }
}

@media (max-width:991px) {

    .navbar-expand-lg .navbar-nav .nav-link {
        height: auto;
    }

    /*Identar submenus en pantallas iguales o menores a 992px*/
    ul.dropdown-menu li ul {
        padding-left: 16px;
    }

    /*Rotar la flecha del submenu hacia abajo*/
    /* a.dropdown-item.dropdown-toggle::before {
        transform: rotate(-90deg);
    } */

    .catalog-by-sectors-header img {
        height: calc(100vh / (992 / 450));
    }

    main #contacts-header {
        height: 700px;
    }

    main #contacts-section {
        flex-wrap: wrap;
        margin: -500px auto 3rem;
    }

    main #contacts-section>div {
        width: 300px;
        margin: 16px;
    }
}

@media (max-width: 767px) {

    .main-page-section-header-text {
        position: static;
        top: auto;
        padding: 2rem .25rem;
        color: var(--color-azul-oscuro);
        text-shadow: none;
    }

    a.button-contact:link,
    a.button-contact:visited {
        background-color: var(--color-rojo-logo);
    }

    #main-page-section-content-sectors-description {
        background-position: center center;
    }

    #main-page-section-content-sectors-description div {
        padding: 1rem 0.5rem;
        width: 100%;
    }

    #main-page-section-content-sectors-description div h2 {
        text-align: center;
    }

    #main-page-section-content-sectors-description div p {
        text-align: justify;
    }

    main #contacts-section>div {
        max-width: 255px;
    }

    .boton-whatsapp-flotante {
        bottom: 100px;
        right: 40px;
    }
}

@media (max-width: 575px) {

    .main-page-section-header-text {
        text-align: center;
    }

    .row-header-product-details {
        flex-wrap: wrap;
        gap: 0.5rem 2rem;
    }

    .col-product-details-img {
        float: none;
        margin: 0px auto 1rem;
    }

    .col-product-details-img img {
        max-width: 300px;
        width: 100%;
    }

    main #contacts-header {
        height: 1325px;
    }

    main #contacts-section {
        margin: -1145px auto 3rem;
    }

    main #contacts-section>div {
        max-width: 260px;
        min-height: 260px;
    }
}

@media (max-width: 450px) {

    main #contacts-header {
        height: 1390px;
    }

    main #contacts-section {
        margin: -1150px auto 3rem;
    }
}

@media (min-width: 640px) {
    .boton-whatsapp-flotante {
        bottom: 120px;
        right: 100px;
    }
}