/* boostrab utils */

.m-0 {
    margin: 0!important;
}

.m-1 {
    margin: .25rem!important;
}

.m-2 {
    margin: .5rem!important;
}

.m-3 {
    margin: 1rem!important;
}

.m-4 {
    margin: 1.5rem!important;
}

.m-5 {
    margin: 3rem!important;
}

.mt-0 {
    margin-top: 0!important;
}

.mr-0 {
    margin-right: 0!important;
}

.mb-0 {
    margin-bottom: 0!important;
}

.ml-0 {
    margin-left: 0!important;
}

.mx-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.my-0 {
    margin-top: 0!important;
    margin-bottom: 0!important;
}

.mt-1 {
    margin-top: .25rem!important;
}

.mr-1 {
    margin-right: .25rem!important;
}

.mb-1 {
    margin-bottom: .25rem!important;
}

.ml-1 {
    margin-left: .25rem!important;
}

.mx-1 {
    margin-left: .25rem!important;
    margin-right: .25rem!important;
}

.my-1 {
    margin-top: .25rem!important;
    margin-bottom: .25rem!important;
}

.mt-2 {
    margin-top: .5rem!important;
}

.mr-2 {
    margin-right: .5rem!important;
}

.mb-2 {
    margin-bottom: .5rem!important;
}

.ml-2 {
    margin-left: .5rem!important;
}

.mx-2 {
    margin-right: .5rem!important;
    margin-left: .5rem!important;
}

.my-2 {
    margin-top: .5rem!important;
    margin-bottom: .5rem!important;
}

.mt-3 {
    margin-top: 1rem!important;
}

.mr-3 {
    margin-right: 1rem!important;
}

.mb-3 {
    margin-bottom: 1rem!important;
}

.ml-3 {
    margin-left: 1rem!important;
}

.mx-3 {
    margin-right: 1rem!important;
    margin-left: 1rem!important;
}

.my-3 {
    margin-bottom: 1rem!important;
    margin-top: 1rem!important;
}

.mt-4 {
    margin-top: 1.5rem!important;
}

.mr-4 {
    margin-right: 1.5rem!important;
}

.mb-4 {
    margin-bottom: 1.5rem!important;
}

.ml-4 {
    margin-left: 1.5rem!important;
}

.mx-4 {
    margin-right: 1.5rem!important;
    margin-left: 1.5rem!important;
}

.my-4 {
    margin-top: 1.5rem!important;
    margin-bottom: 1.5rem!important;
}

.mt-5 {
    margin-top: 3rem!important;
}

.mr-5 {
    margin-right: 3rem!important;
}

.mb-5 {
    margin-bottom: 3rem!important;
}

.ml-5 {
    margin-left: 3rem!important;
}

.mx-5 {
    margin-right: 3rem!important;
    margin-left: 3rem!important;
}

.my-5 {
    margin-top: 3rem!important;
    margin-bottom: 3rem!important;
}

.mt-auto {
    margin-top: auto!important;
}

.mr-auto {
    margin-right: auto!important;
}

.mb-auto {
    margin-bottom: auto!important;
}

.ml-auto {
    margin-left: auto!important;
}

.mx-auto {
    margin-right: auto!important;
    margin-left: auto!important;
}

.my-auto {
    margin-bottom: auto!important;
    margin-top: auto!important;
}

.p-0 {
    padding: 0!important;
}

.p-1 {
    padding: .25rem!important;
}

.p-2 {
    padding: .5rem!important;
}

.p-3 {
    padding: 1rem!important;
}

.p-4 {
    padding: 1.5rem!important;
}

.p-5 {
    padding: 3rem!important;
}

.pt-0 {
    padding-top: 0!important;
}

.pr-0 {
    padding-right: 0!important;
}

.pb-0 {
    padding-bottom: 0!important;
}

.pl-0 {
    padding-left: 0!important;
}

.px-0 {
    padding-left: 0!important;
    padding-right: 0!important;
}

.py-0 {
    padding-top: 0!important;
    padding-bottom: 0!important;
}

.pt-1 {
    padding-top: .25rem!important;
}

.pr-1 {
    padding-right: .25rem!important;
}

.pb-1 {
    padding-bottom: .25rem!important;
}

.pl-1 {
    padding-left: .25rem!important;
}

.px-1 {
    padding-left: .25rem!important;
    padding-right: .25rem!important;
}

.py-1 {
    padding-top: .25rem!important;
    padding-bottom: .25rem!important;
}

.pt-2 {
    padding-top: .5rem!important;
}

.pr-2 {
    padding-right: .5rem!important;
}

.pb-2 {
    padding-bottom: .5rem!important;
}

.pl-2 {
    padding-left: .5rem!important;
}

.px-2 {
    padding-right: .5rem!important;
    padding-left: .5rem!important;
}

.py-2 {
    padding-top: .5rem!important;
    padding-bottom: .5rem!important;
}

.pt-3 {
    padding-top: 1rem!important;
}

.pr-3 {
    padding-right: 1rem!important;
}

.pb-3 {
    padding-bottom: 1rem!important;
}

.pl-3 {
    padding-left: 1rem!important;
}

.py-3 {
    padding-bottom: 1rem!important;
    padding-top: 1rem!important;
}

.px-3 {
    padding-right: 1rem!important;
    padding-left: 1rem!important;
}

.pt-4 {
    padding-top: 1.5rem!important;
}

.pr-4 {
    padding-right: 1.5rem!important;
}

.pb-4 {
    padding-bottom: 1.5rem!important;
}

.pl-4 {
    padding-left: 1.5rem!important;
}

.px-4 {
    padding-right: 1.5rem!important;
    padding-left: 1.5rem!important;
}

.py-4 {
    padding-top: 1.5rem!important;
    padding-bottom: 1.5rem!important;
}

.pt-5 {
    padding-top: 3rem!important;
}

.pr-5 {
    padding-right: 3rem!important;
}

.pb-5 {
    padding-bottom: 3rem!important;
}

.pl-5 {
    padding-left: 3rem!important;
}

.px-5 {
    padding-right: 3rem!important;
    padding-left: 3rem!important;
}

.py-5 {
    padding-top: 3rem!important;
    padding-bottom: 3rem!important;
}

.d-block {
    display: block;
}

.d-inline-block {
    display: inline-block;
}

.equal {
    display: flex;
    display: -webkit-flex;
    flex-wrap: wrap;
}

.equal-col {
    margin: auto;
}


/* end boostrab utils */

body.underline-input .select2-container--default .select2-search--dropdown .select2-search__field.col-xs-6,
body.underline-input .select2-container .select2-choice.col-xs-6,
body.underline-input .select2-container .select2-selection.col-xs-6,
body.underline-input .input-group .form-control.col-xs-6,
body.underline-input select.col-xs-6,
body.underline-input .select2-container.col-xs-6,
body.underline-input .select2-choice.col-xs-6,
body.underline-input textarea.col-xs-6,
body.underline-input input:not([type="submit"]).col-xs-6:not([type="checkbox"]).col-xs-6:not([type="radio"]).col-xs-6 {
    width: 50%;
}

.av5-table th,
.av5-table td {
    padding: 14px 4px;
    text-align: center;
}

#header.header.sticky-resized.is-sticky .flex-column.logo img {
    max-height: 80px;
}

#header-mobile #masthead-mobile {
    height: 90px;
}

#header-mobile .logo img {
    max-height: 100px;
    max-width: inherit;
    padding-left: 10px;
}

.av5-slide-out-modal .slide-out-menu-additional li.menu-item a {
    font-size: 20px;
    line-height: 16px;
    display: block;
    padding-bottom: 10px;
}

.av5-slide-out-modal .slide-out-menu-additional li.menu-item a small,
#slide-out-menu-content--mobile ul li a small {
    font-size: 70%;
    display: block;
    margin-top: 1px;
    width: 100%;
}

.av5-slide-out-modal .slide-out-menu-additional>ul,
.av5-slide-out-modal .slide-out-menu-additional>ul li {
    list-style: none;
}

.av5-slide-out-modal .slide-out-menu-additional>ul,
.av5-slide-out-modal .slide-out-menu-additional>ul li a {
    margin-bottom: 15px;
    padding-bottom: 10px;
}

#slide-out-menu-content--mobile>ul>li a {
    width: 75%;
}

.av5-slide-out-modal {
    padding: 15px;
}

.price {
    display: none;
}


/* woocommerce */

body .wpcf7 label {
    display: block;
}

body.woocommerce #respond input#submit,
body.woocommerce a.button:not(.av5-btn),
body.woocommerce button.button,
body.woocommerce input.button {
    padding: 15px 25px;
    /* margin-right: 10px; */
}

body.woocommerce .summary-right a.button:not(.av5-btn),
body.woocommerce .summary-right button.button,
body.woocommerce .summary-right input.button {
    margin-right: 10px;
}

.woocommerce div.product.product-page--buttons-layout-1 form.cart .single_add_to_cart_button.button {
    margin-right: 20px;
    padding: 16px;
}

.woocommerce .av5-overlay-quickview-small div.product form.cart .single_add_to_cart_button.button {
    margin-right: 14px;
    padding: 14px;
}

.woocommerce-notices-wrapper {
    position: absolute;
    top: 110px;
    width: 100%;
    z-index: 100;
}

body.woocommerce div.product .entry-summary .tinvwl_add_to_wishlist_button.button,
body.woocommerce div.product form.cart .single_add_to_cart_button.button {
    margin-bottom: 10px;
}

body.quick-view__button-sticky .av5-overlay-quickview-small .single_add_to_cart_button.button {
    position: relative;
    width: auto;
    top: 0;
}

@media screen and (max-width: 480px) {
    body.woocommerce div.product.product-page--buttons-layout-1 form.cart .single_add_to_cart_button.button {
        margin-right: 0;
        width: 100%;
        padding: 18px;
    }
}


/* Login */

html body[data-transparent-header="true"] .av5-wc-login-wrapper {
    margin-top: 0px;
}

.we-login-title {
    margin-top: 100px;
    text-align: center;
    text-transform: uppercase;
}


/* cart sidebar */

.woocommerce-mini-cart__total.total,
.woocommerce-shipping-totals.shipping,
.cart-subtotal,
.woocommerce-Price-amount.amount,
.order-total,
.product-total,
.woocommerce-table.woocommerce-table--order-details.shop_table.order_details tfoot,
.woocommerce-order-overview__total.total {
    display: none;
}

#fixedbutton {
    position: fixed;
    bottom: 10px;
    right: 10px;
    z-index: 100;
}

#fixedbutton .button {
    border: 3px solid #fff;
    margin-right: 0px;
}

.wpcf7 .row {
    margin-left: -15px;
    margin-right: -15px;
}

.mini-cart-bottom-inner .woocommerce-mini-cart__buttons.buttons .button.button__bordered,
.cart_totals .wc-proceed-to-checkout .button.button__bordered,
.form-row.place-order .button.button__bordered {
    border: 4px solid #c2a47d;
    margin: 10px 0px;
    padding: 13px;
    width: 100%;
    text-align: center;
    background-color: transparent;
    color: #415a75;
}

.mini-cart-bottom-inner .woocommerce-mini-cart__buttons.buttons .button.button__bordered:hover,
.cart_totals .wc-proceed-to-checkout .button.button__bordered:hover,
.form-row.place-order .button.button__bordered:hover {
    border-color: #415a75;
    background-color: transparent;
    color: #415a75;
}

.underline-input textarea.wpcf7-textarea {
    height: inherit;
}


/*desactivar los eventos en el carrito de la compra para que no puedan añadir cantidades*/

.woocommerce-cart-form__cart-item .input-text.qty.text {
    pointer-events: none;
}

.icons.slicon-frame:before {
    font-family: FontAwesome;
    font: normal normal normal 14px/1 FontAwesome;
    content: "\f00e";
    font-size: 30px;
}


/* pdf viewer colors */

.pdf-light-viewer .pdf-light-viewer-features-top-panel li a,
.pdf-light-viewer .pdf-light-viewer-features-bottom-toolbar-panel li a,
.pdf-light-viewer .pdf-light-viewer-features-top-panel li button,
.pdf-light-viewer .pdf-light-viewer-features-bottom-toolbar-panel li button,
.pdf-light-viewer .pdf-light-viewer-features-top-panel li span,
.pdf-light-viewer .pdf-light-viewer-features-bottom-toolbar-panel li span {
    color: inherit;
}

.pdf-light-viewer .pdf-light-viewer-magazine-thumbnails .bx-wrapper .bx-controls-direction a {
    z-index: 10;
    text-indent: 1px;
    font-size: 26px;
    color: inherit;
}

.pdf-light-viewer .pdf-light-viewer-magazine-thumbnails .bx-wrapper .bx-pager a.active {
    background: #415a75;
}

.entry-content .pdf-light-viewer {
    padding: 0px;
    position: relative;
    margin-top: 0px;
    text-align: center;
}


/* pdf viewer colors */


/* marketing materials*/

.marketing-materials-template-default .author,
.marketing-materials-template-default .date {
    display: none;
}


/* marketing materials*/


/* modal */

body .modal {
    z-index: 100001;
}

body .modal-backdrop {
    z-index: 100000;
}


/* end modal */


/* product */

.download-link {
    display: block;
    padding: 6px;
    text-align: center;
    float: right;
    font-size: 13px;
}

.woocommerce-product-details__short-description p {
    margin-bottom: 0px;
}

.woocommerce-product-details__short-description {
    width: 100%;
}


/* fix para arreglar el problema con el infinite scroll de la forma menos invasiva, la otra opción era modificar el 
archivo de plantilla shop.js para que el infinite scroll no repita elementos. No es lo más optimo pero si lo menos invasivo */

.post-type-archive .products .type-product {
    display: none;
}

.paged .products .type-product {
    display: block;
}

.products.product_list .type-product {
    display: block;
}



.woocommerce .product .product_category_img,
.woocommerce-page .product .product_category_img {
    margin: auto;
}

.woocommerce .product .product_care_label img,
.woocommerce-page .product .product_care_label img {
    margin: auto;
    width: 80%;
}


.woocommerce .product .product_category_img img,
.woocommerce-page .product .product_category_img img {
    width: inherit;
    vertical-align: top;
    display: inline-block;
}

.product_categories_img{
    display: flex;
    margin-bottom: 14px;
}

/* .product_certificate_img img {
    max-width: 100px;
} */

.woocommerce .product .product_certificate_img,
.woocommerce-page .product .product_certificate_img {
    margin: auto;
}

.woocommerce .product .product_certificate_img img,
.woocommerce-page .product .product_certificate_img img {
    max-width: 175px;
    vertical-align: top;
    display: inline-block;
}

.product_certificates_img{
    display: flex;
}

.customer_type_limited .header-item.cart,
.customer_type_basic .header-item.cart {
    display: none;
}

body.woocommerce div.product .woocommerce-product-details__short-description {
    margin-bottom: 22px;
}

@media screen and (min-width: 1024px) {
    .owl-product-thumbnail-vertical {
        height: 628px !important;
        overflow: auto;
        display: block !important;
    }
}


/* marketing_materials_product */

.products .marketing_materials_product__top {
    margin-top: 50px;
    text-align: center;
    border-top: 2px solid #aaa;
    padding-top: 10px;
}

.marketing_materials_product__image {
    width: 80%;
    margin: 0 auto;
    margin-top: 10px;
}

.marketing_materials_product__content {
    text-align: center;
    margin: 0 auto;
    padding-bottom: 20px;
    border-bottom: 2px solid #aaa;
}


/* END Product*/

.tinvwl-table-manage-list .product-action,
.tinvwl-table-manage-list tfoot,
.tinvwl-table-manage-list .product-cb {
    display: none;
}

.qr-product .alt-logo {
    display: none;
}


/* cargando */  

#product3d{
    display: flex;          /* Establece el contenedor como un contenedor flex */
    flex-direction: column; /* Los hijos (como .loader) se apilan verticalmente */
    justify-content: center;/* Centra los hijos verticalmente */
    align-items: center; 
    height: 100%;
}


.loader {
    border: 16px solid #f3f3f3; /* Color del borde exterior */
    border-top: 16px solid #3498db; /* Color del borde superior */
    border-radius: 50%; /* Hace que tenga forma de círculo */
    width: 100px;
    height: 100px;
    animation: spin 2s linear infinite; /* Aplica la animación llamada "spin" */
    margin: auto;
    position: absolute;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}



.image-wrapper {
    /* position: relative; */
    /* width: 200px; Cambia esto al tamaño que desees */
    /* height: 200px; Asegúrate de que el alto y el ancho sean iguales para que sea un cuadrado */
    /* overflow: hidden; */
}

.background-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* background: url('ruta-de-tu-imagen.jpg') center/cover no-repeat; */
    filter: blur(10px); /* Ajusta el valor del desenfoque según lo necesites */
    z-index: -1; /* Esto asegura que la imagen de fondo esté detrás de la imagen principal */
}


.woocommerce-page ul.products.trends,
.woocommerce-page ul.products.capsules{
    margin-bottom: 0px;
}

body.tax-trends.vertical_line--show .title-area-standart h1.entry-title:before,
body.jwt-authenticated.vertical_line--show .title-area-standart h1.entry-title:before,
body.tax-capsules.vertical_line--show .title-area-standart h1.entry-title:before {
    display: none;
}

body.tax-trends.vertical_line--show .title-area-standart h1.entry-title,
body.jwt-authenticated.vertical_line--show .title-area-standart h1.entry-title,
body.tax-capsules.vertical_line--show .title-area-standart h1.entry-title {
    margin-top: 0px;
}

body.tax-trends.woocommerce.archive .content-area,
body.jwt-authenticated .content-area,
body.tax-capsules.woocommerce.archive .content-area{
    margin-top: 0px;
}

@media screen and (max-width: 640px) {
    .post__meta-wrap, .av5-breadcrumbs, .title-area-wrap .page-heading-text .additional-content, .title-area-wrap .categories-list {
        font-size: 0.6rem;
    }

    body .h-divider {
        content: '';
        position: relative;
        display: inline-block;
        height: 1px;
        vertical-align: middle;
        background-color: rgba(0,0,0, 0.15);
        width: 0.5rem;
        margin-right: 4px;
        margin-left: 4px;
    }
}

@media screen and (max-width: 1024px) {
    body .product-navigation {
        display: block;
    }
}


/* slider key concepts*/
.carousel-inner .item img{
    width: 100%;
}

.carousel-inner {
    position: relative;
    width: 100%;
    max-width: 1000px;
    overflow: hidden;
    margin: auto;
}


body .carousel-control.left,
body .carousel-control.right {
    background-image: none;  /* Elimina el degradado */
}

.key-concept-description {
    padding-bottom: 20px;
}

.carousel.slide {
    margin-bottom: 30px;
    max-width: 1000px;
    margin: auto;
    margin-bottom: 30px;
}


body .carousel-control.left:hover{
    background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
    background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
    background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001)));
    background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
}

body .carousel-control.right:hover {
    background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
    background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
    background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5)));
    background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
}

body .page-heading-text {
    padding-left: 0px;
    padding-right: 0px;
}


.jwt-authenticated #header,
.jwt-authenticated .entry-title,
.jwt-authenticated.mobile-header--tiny-desktop #header-mobile,
.jwt-authenticated #colophon,
.jwt-authenticated #catapult-cookie-bar,
.jwt-authenticated #wpadminbar,
.jwt-authenticated .breadcrumb_row
{
    display:none;
}

.jwt-authenticated .title-area-standart h1.entry-title{
    display:none !important;
}

.jwt-authenticated.page-child .entry-title,
.jwt-authenticated.page-child .title-area-standart h1.entry-title,
.jwt-authenticated.page-child .breadcrumb_row{
    display: revert !important;
}

.jwt-authenticated.page-child .av5-breadcrumbs p:nth-of-type(1),
.jwt-authenticated.page-child .av5-breadcrumbs p:nth-of-type(2){
    display: none;
}

.jwt-authenticated.page-child .av5-breadcrumbs .h-divider:nth-of-type(1),
.jwt-authenticated.page-child .av5-breadcrumbs .h-divider:nth-of-type(2) {
    display: none;
}

@media screen { html.jwt-authenticated-html { margin-top: 5px !important; } }
@media screen and ( max-width: 782px ) {
    html.jwt-authenticated-html { 
        margin-top: 5px !important; 
    } 
    body .title-area-wrap h1.entry-title {
        font-size: 3.6rem;
    }
}


body[data-transparent-header="true"].jwt-authenticated .title-area-wrap.title-area-standart {
    padding-top: 0px !important;
}


/* key concetps child categories */
.key-concept-item img {
    margin-bottom: 20px;
}

.key-concepts-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;  /* Centra los elementos cuando no llenan toda la fila */
    margin-top: 60px;
}

.key-concepts-grid__item {
    flex: 1 1 25%;  /* Asume que el tamaño base de cada item es el 25% del contenedor */
    max-width: 25%; /* Limita el ancho máximo de cada item al 25% */
    box-sizing: border-box;
    padding: 10px; /* Espacio entre elementos */
}

.key-concepts-grid__item img {
    width: 100%;
    padding-bottom: 20px;
    height: auto;
}


.new-tag-badge {
    position: absolute;
    top: 38px;
    left: 38px;
    z-index: 10;
}

.new-tag-badge img {
    width: 90px;
    height: auto;
}