/*
Theme Name:   OnRisk
Theme URI:    https://www.kadencewp.com/
Description:  Kadence Child Theme
Author:       Zuk
Author URI:   https://www.zuk.es/
Template:     kadence
Version:      1.0.13
Text Domain:  kadencechild
*/

/*----------------------------------------------------------------------------------
## @section 1.0 / General
----------------------------------------------------------------------------------*/
/*--------------------------------------------------------------
## @section 1.0 / General / Root
--------------------------------------------------------------*/
:root {
    --font-title: 'Behind The Nineties Bd';
    --font-text: 'Inter';
    --color-prim: #0D4050;
    --color-sec: #102B40;
    --color-red: #D51317;
    --color-green: #00A696;
    --color-black: #101010;
    --color-back: #F5F5F5;
    --color-back-green: #E9FFFC;
    --color-border: #B4B4B4;
    --max-width: 1200px;
}
body {
    --global-md-spacing: 20px;
}
@media (min-width: 1450px) {
    body {
        --max-width: 1400px;
        --global-content-width: 1440px;
    }
}


/*--------------------------------------------------------------
## @section 1.0 / General / Fonts
--------------------------------------------------------------*/
@font-face {
    font-family: 'Behind The Nineties Bd';
    font-display: swap;
    src: url('./assets/fonts/Behind-The-Nineties-Bd.otf');
    src: local('Behind The Nineties Bd'), local('Behind-The-Nineties-Bd'),
    url('./assets/fonts/Behind-The-Nineties-Bd.woff2') format('woff2'),
    url('./assets/fonts/Behind-The-Nineties-Bd.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'Behind The Nineties Bd';
    font-display: swap;
    src: url('./assets/fonts/Behind-The-Nineties-Bd-It-It.otf');
    src: local('Behind The Nineties Bd It'), local('Behind-The-Nineties-Bd-It'),
    url('./assets/fonts/Behind-The-Nineties-Bd-It.woff2') format('woff2'),
    url('./assets/fonts/Behind-The-Nineties-Bd-It.woff') format('woff');
    font-weight: normal;
    font-style: italic;
}


/*--------------------------------------------------------------
## @section 1.0 / General / Buttons
--------------------------------------------------------------*/
.elementor-kit-6 .elementor-element.btn-white a.elementor-button {
    color: var(--color-prim);
    background: white;
    border-color: white;
}
.elementor-kit-6 .elementor-element.btn-white a.elementor-button:hover {
    color: white;
    background: transparent;
}
.btn-big .elementor-button {
    min-width: 250px;
}

/*--------------------------------------------------------------
## @section 1.0 / General / Elements
--------------------------------------------------------------*/
.elementor-element.icon-back-top > .elementor-widget-container:before,
.elementor-element.icon-back-left > .elementor-widget-container:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(100% + 10px);
    height: calc(100% + 10px);
    background: linear-gradient(275deg, var(--color-green), var(--color-red));
    transform: translate(-50%, -50%);
    border-radius: 50px;
    clip-path: polygon(0 0, 100% 0, 100% calc(50% - 3px), 0% calc(50% - 3px));
}
.elementor-element.icon-back-left > .elementor-widget-container:before {
    clip-path: polygon(0 0, calc(50% - 3px) 0, calc(50% - 3px) 100%, 0% 100%);
    background: linear-gradient(180deg, var(--color-green), var(--color-red));
}
.elementor-element.icon-back-top > .elementor-widget-container .elementor-icon-wrapper,
.elementor-element.icon-back-left > .elementor-widget-container .elementor-icon-wrapper {
    display: flex;
    position: relative;
}
.elementor-widget-html.icon-back-top,
.elementor-widget-html.icon-back-left {
    width: 60px;
    height: 60px;
}
.grid-counter {
    counter-reset: grid-counter;
}
.elementor-widget-html.icon-back-top .counter-icon,
.elementor-widget-html.icon-back-left .counter-icon {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: var(--color-prim);
    border-radius: 50px;
    counter-increment: grid-counter;
}
.elementor-widget-html.icon-back-top .counter-icon:before,
.elementor-widget-html.icon-back-left .counter-icon:before {
    content: counter(grid-counter);
    color: white;
    font-family: var(--font-title);
    font-size: 32px;
}



/*--------------------------------------------------------------
## @section 1.0 / General / Icons
--------------------------------------------------------------*/
i.icon-incluido:before {
    content: "\f058";
}
table i.icon-incluido:before {
    margin-right: 5px;
    color: var(--color-green);
}

/*--------------------------------------------------------------
## @section 1.0 / General / Tipografia
--------------------------------------------------------------*/
p {
    margin-block-start: 0;
    margin-block-end: 20px;
}
.no-margin-bot,
.no-margin-bot p:last-child {
    margin-bottom: 0;
}
.title-no-margin-bot h1,
.title-no-margin-bot h2,
.title-no-margin-bot h3,
.title-no-margin-bot h4,
.title-no-margin-bot h5,
.title-no-margin-bot h6,
.single-content .title-no-margin-bot h1,
.single-content .title-no-margin-bot h2,
.single-content .title-no-margin-bot h3,
.single-content .title-no-margin-bot h4,
.single-content .title-no-margin-bot h5,
.single-content .title-no-margin-bot h6 {
    margin-bottom: 0;
}



/*--------------------------------------------------------------
## @section 1.0 / General / Header & Footer
--------------------------------------------------------------*/
/*-------------------------
## @section 1.0 / General / Header & Footer / Header
-------------------------*/
.site-main-header-wrap:Before {
    content: "";
    position: absolute;
    top: auto;
    bottom: 14px;
    left: 0;
    width: 100%;
    height: 52px;
    background: white;
    border-radius: 0 50px 50px 0;
    /* pointer-events: none; */
    max-width: 200px;
}
.site-header-wrap .site-header-row-container-inner,
.site-mobile-header-wrap .site-header-row-container-inner {
    position: relative;
    z-index: 1;
}
.site-header-wrap .site-container {
    max-width: 100%;
}
.header-html .header-html-inner {
    display: flex;
    align-items: center;
    gap: 30px;
}
.site-header-item .header-html a {
    display: flex;
    align-items: center;
    text-decoration: none;
    gap: 10px;
}
.header-icon {
    display: flex;
    align-items: center;
    justify-content: center;
}
.header-icon:before {
    width: 20px;
    height: 20px;
    display: inline-block;
    vertical-align: top;
}
.header-icon.icon-white {
    -webkit-filter: invert(100%) brightness(10);
    filter: invert(100%) brightness(10);
}
.header-icon.icon-phone:before {
    content: url(./assets/imgs/icon-phone.svg);
}
.header-icon.icon-mail:before {
    content: url(./assets/imgs/icon-mail.svg);
}
.site-header-row .site-header-top-section-left {
    display: none;
}
.site-top-header-wrap {
    position: relative;
    z-index: 2;
}
.site-top-header-inner-wrap {
    display: flex;
    justify-content: flex-end;
}
.site-top-header-inner-wrap .site-header-section {
    flex-wrap: wrap;
    gap: 10px 20px;
}
.site-top-header-inner-wrap .site-header-section .site-header-item {
    margin: 0;
}
.site-top-header-inner-wrap .site-header-section .site-header-item .mobile-html-inner {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 20px;
}
.site-top-header-inner-wrap .site-header-section .site-header-item .mobile-html-inner .top-header-element a {
    display: flex;
    gap: 10px;
    align-items: center;
    white-space: nowrap;
}
.header-social-wrap .header-social-inner-wrap .social-button {
    width: auto;
    height: auto;
}
.main-navigation .primary-menu-container > ul > li.menu-item:last-child > a {
    padding-right: 0;
}
.header-navigation .header-menu-container #secondary-menu.menu .sub-menu li.menu-item > a {
    width: 55px;
}
.mobile-toggle-open-container .menu-toggle-open, .mobile-toggle-open-container .menu-toggle-open:hover,
.mobile-toggle-open-container .menu-toggle-open, .mobile-toggle-open-container .menu-toggle-open:focus {
    background: none;
}
#site-navigation #primary-menu .menu-item.wpml-ls-item {
    display: none;
}
.mobile-navigation .menu-item-has-children button,
.mobile-navigation .menu-item-has-children button:hover,
.mobile-navigation .menu-item-has-children button:focus {
    background-color: transparent;
}
.mobile-navigation .menu-item-has-children button .kadence-svg-iconset,
.mobile-navigation .menu-item-has-children button:hover .kadence-svg-iconset,
.mobile-navigation .menu-item-has-children button:focus .kadence-svg-iconset {
    color: white;
}
@media (min-width: 1240px) {
    .site-main-header-wrap:Before {
        bottom: 14px;
        height: 57px;
        max-width: calc(((100% - var(--global-content-width)) / 2) + 200px);
    }
}


/*-------------------------
## @section 1.0 / General / Header & Footer / Footer
-------------------------*/
.site-bottom-footer-wrap .menu {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    list-style: none;
    margin: 0;
    padding: 0;
    justify-content: flex-end;
}
.site-bottom-footer-wrap .menu li {
    white-space: nowrap;
    display: flex;
    align-items: center;
}
.site-bottom-footer-wrap .menu li:after {
    content: "|";
    margin-left: 5px;
    margin-right: 5px;
}
.site-bottom-footer-wrap .menu li:last-child:after {
    content: none;
}
@media (max-width: 719px) {
    .site-bottom-footer-wrap .menu {
        justify-content: flex-start;
    }
}
@media (min-width: 720px) {
    .site-footer .site-footer-row-container-inner .site-footer-row.site-footer-row-columns-2.site-footer-row-tablet-column-layout-right-golden {
        grid-template-columns: 240px 1fr;
    }
}



/*--------------------------------------------------------------
## @section 1.1 / General / Formularios
--------------------------------------------------------------*/
form .form-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 0 20px;
}
form textarea {
    resize: none;
}
form label {
    position: relative;
    display: block;
    margin-bottom: 15px;
    width: 100%;
}
form label input {
    width: 100%;
}
form .placeholder-animation .placeholder {
    font-size: 16px;
    max-width: calc(100% - 24px);
    position: absolute;
    top: 13px;
    left: 16px;
    z-index: 1;
    transition: all .4s ease;
}
form .placeholder-animation .placeholder.focus {
    font-size: 12px;
    top: 7px;
    z-index: 1;
}
.wpcf7-not-valid-tip {
    display: none;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
    border-color: var(--color-black);
    border-width: 1px;
    color: var(--color-black);
    font-size: 12px;
    line-height: 1.2;
    text-align: center;
    font-weight: 600;
    margin-left: 0;
    margin-right: 0;
    padding: 5px 20px;
    margin-top: 15px;
}
.wpcf7 .wpcf7-submit {
    white-space: normal;
}
form .aceptacion {
    margin-bottom: 10px;
}
form .aceptacion label {
    font-size: 16px;
    cursor: pointer;
}
form .aceptacion input[type="checkbox"] {
	display: none;
}
form .aceptacion .wpcf7-list-item {
    margin-left: 30px;
}
form .aceptacion .wpcf7-list-item:has(.no-check) {
    margin-left: 0;
}
form .aceptacion .custom-aceptacion-label a,
form .aceptacion .wpcf7-list-item-label a,
form .aceptacion .contact-info-popup a {
    position: relative;
}
form .aceptacion .wpcf7-list-item-label a:after,
form .aceptacion .custom-aceptacion-label a:after,
form .aceptacion .contact-info-popup a:after {
    /*content: "";*/
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 1px;
    background: var(--color-black);
    transition: all .4s ease;
}
form .aceptacion .wpcf7-list-item-label a:hover:after,
form .aceptacion .custom-aceptacion-label a:hover:after,
form .aceptacion .contact-info-popup a:hover:after {
    width: 0%;
}
form .aceptacion .custom-aceptacion-label {
    margin-left: 30px;
}
form .aceptacion .custom-aceptacion-label.no-check {
    margin-left: 0;
}
form .aceptacion .no-check {
    position: relative;
}
form .aceptacion .check {
	background: transparent;
	width: 20px;
	height: 20px;
	position: relative;
	display: inline-block;
	margin-right: 10px;
    margin-left: -30px;
	transform: translateY(5px);
	border: 1px solid var(--color-black);
	border-radius: 100px;
}
form .aceptacion .custom-aceptacion-label .check {
    margin-right: 6px;
}

form .aceptacion .check:after {
	content: "";
	position: absolute;
	top: -2px;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	width: 9px;
	height: 4px;
	transform: rotate(-45deg);
	border-top: none;
	border-right: none;
}
form .aceptacion input:checked + .wpcf7-list-item-label .check:after,
form .aceptacion input:checked + .aceptacion-label-text .check:after {
    border: 1px solid var(--color-black);
	border-top: none;
	border-right: none;
}
@media (min-width: 650px) and (max-width: 767px) {
    form .w-50 {
        width: calc(50% - 10px);
    }
}
@media (min-width: 1025px) {
    form .w-50 {
        width: calc(50% - 10px);
    }
}

/*--------------------------------------------------------------
## @section 1.1 / General / Formulario Selector
--------------------------------------------------------------*/
.wpcf7 .selector {
    display: block;
    width: 100%;
    position: relative;
    min-height: 45px;
    border: 1px solid var(--color-border);
    margin-bottom: 10px;
    padding: .75em;
    padding-bottom: 5px;
    cursor: pointer;    
}
.wpcf7 .form-white .selector {
    border-color: white;
    background: white;
}
.wpcf7 .selector .selector-placeholder {
    position: absolute;
    top: 50%;
    left: 12px;
    transform: translateY(-50%);
    max-width: calc(100% - 50px);
    font-size: 16px;
}
.wpcf7 .selector .icon-down {
    position: absolute;
    top: calc(50% - 5px);
    right: 10px;
    width: 20px;
    height: 20px;
    transform: translateY(-50%) rotate(45deg);
    transform-origin: center;
    pointer-events: none;
    transition: all .4s ease;
}
.wpcf7 .selector.open .icon-down {
    transform: translateY(-0%) rotate(225deg);
}
.wpcf7 .selector .icon-down:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-bottom: 1px solid var(--color-black);
    border-right: 1px solid var(--color-black);
    height: 15px;
    width: 15px;
}
.wpcf7 .selector .selector-wrap {
    position: absolute;
    top: 100%;
    left: -1px;
    background: white;
    z-index: 0;
    border: 1px solid var(--color-border);
    border-top: 0;
    padding: 0px;
    width: calc(100% + 2px);
    height: 0;
    display: block;
    overflow: scroll;
    transition: all .4s ease, z-index 0s .4s;
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
}
.wpcf7 .form-white .selector .selector-wrap {
    border: 0;
    max-height: 165px;
    overflow: scroll;
}
.wpcf7 .selector .selector-wrap::-webkit-scrollbar {
    display: none;
}
.wpcf7 .selector.open .selector-wrap {
    z-index: 2;
    transition: all .4s ease;
}
.wpcf7 .selector .selector-wrap .wpcf7-form-control-wrap .wpcf7-form-control {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
}
.wpcf7 .selector .selector-wrap .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item {
    margin-left: 0;
}
.wpcf7 .selector .wpcf7-form-control-wrap .wpcf7-form-control label {
    position: relative;
    display: block;
    padding: 5px 0;
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
    padding: 0;
}
.wpcf7 .selector .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item-label {
    font-size: 16px;
    padding: 10px 12px;
    display: block;
    cursor: pointer;
    border-top: 1px solid var(--color-border);
    border-bottom: 0;
}
.wpcf7 .selector .wpcf7-form-control-wrap .wpcf7-form-control .last .wpcf7-list-item-label {
    border-bottom: 1px solid var(--color-border);
}
.wpcf7 .selector .wpcf7-form-control-wrap .wpcf7-form-control input:checked + .wpcf7-list-item-label {
    font-weight: 700;
    background-color: var(--color-border);

}
.wpcf7 .selector .wpcf7-form-control-wrap input[type="radio"] {
    display: none;
}

/*--------------------------------------------------------------
## @section 1.1 / General / Formulario popup
--------------------------------------------------------------*/
.contact-info-opener {
    cursor: pointer;
}
.contact-info-popup {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    padding: 20px 0;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    z-index: 1;
    transition: opacity .4s linear .4s, visibility .4s linear .4s;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.contact-info-popup.visible {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
    transition: opacity .4s linear .4s, visibility .4s linear;
}
.contact-info-popup .contact-info-popup-wrap {
    position: relative;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    background: var(--color-back);
    border-radius: 10px;
    padding: 20px;
    font-size: 15px;
    box-shadow: 0 0 25px rgba(15,15,15,.1);
    border: 1px solid var(--color-border);
}
.contact-info-popup .contact-info-popup-wrap .popup-close {
    width: 32px;
    height: 32px;
    position: absolute;
    top: 0px;
    right: 10px;
    background: white;
    border: 1px solid var(--color-border);
    border-radius: 100%;
    box-shadow: 0 1.2rem 2rem -0.8rem rgb(0 0 0 / 40%);
    cursor: pointer;
    transform: translateY(-50%);
    transition: all .5s ease;
    z-index: 1;
}
.contact-info-popup .contact-info-popup-wrap .popup-close:hover {
    background: var(--color-border);
}
.contact-info-popup .contact-info-popup-wrap .popup-close .popup-close-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 15px;
    height: 15px;
    transform: translate(-50%, -50%) rotate(45deg);
}
.contact-info-popup .contact-info-popup-wrap .popup-close .popup-close-icon:before,
.contact-info-popup .contact-info-popup-wrap .popup-close .popup-close-icon:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 1px;
    background: var(--color-black);
    transition: all .5s ease;
}
.contact-info-popup .contact-info-popup-wrap .popup-close .popup-close-icon:after {
    height: 100%;
    width: 1px;
}
.contact-info-popup .contact-info-popup-wrap .popup-close:hover .popup-close-icon:before,
.contact-info-popup .contact-info-popup-wrap .popup-close:hover .popup-close-icon:after {
    background-color: white;
}





/*--------------------------------------------------------------
## @section 1.0 / Paginas / Homepage
--------------------------------------------------------------*/
/*--------------------
## @section 1.0 / Paginas / Homepage / Intro
--------------------*/
.intro .intro-img {
    position: absolute;
    top: 0;
    left: 50%;
    height: 100%;
}
.intro .intro-img .intro-img-wrap {
    height: 100%;
}
.intro .intro-img .intro-img-wrap > .elementor-widget-image {
    height: 100%;
}
.intro .intro-img .intro-img-wrap > .elementor-widget-image img {
    position: relative;
}
/* .intro .intro-img .intro-img-wrap .img-intro-back {
    position: absolute;
    width: 100%;
    height: 100%;
    background: yellow;
    top: 50%;
    left: -20px;
    transform: translateY(-50%);
    overflow: hidden;
}
.back-shape-wrap {
    width: 100%;
    padding-top: 100%;
    position: relative;
}
.back-shape {
    position: absolute;
    width: 100%;
    height: 100%;
    background: green;
    top: 50%;
    left: -20px;
    transform: translateY(-50%);
    overflow: hidden;
} */
.intro .intro-ramon.elementor-element {
    pointer-events: none;
}
.intro .intro-ramon.elementor-element,
.intro .intro-ramon.elementor-element div {
    height: 100%;
}
.intro .intro-ramon.elementor-element .elementor-widget-image .elementor-widget-container {
    display: flex;
}
.intro .intro-ramon.elementor-element .elementor-widget-image .elementor-widget-container img {
    margin-top: auto;
}
.elementor-element.intro-icon-back > .elementor-widget-container:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(100% + 10px);
    height: calc(100% + 10px);
    background: linear-gradient(180deg, var(--color-green), var(--color-red));
    transform: translate(-50%, -50%);
    border-radius: 50px;
    clip-path: polygon(0 0, calc(50% - 3px) 0, calc(50% - 3px) 100%, 0% 100%);
}
.elementor-element.intro-icon-back > .elementor-widget-container .elementor-icon-wrapper {
    display: flex;
    position: relative;
}
.intro-content .intro-content-wrap .e-con-inner {
    margin-left: 0;
}
.intro-separador svg {
    display: flex;
    width: 100%;
}
.intro-separador svg rect {
    width: 100%
}
@media (min-width: 1025px) {
    .intro-content .intro-content-wrap {
        max-width: calc(var(--max-width) / 2 - 20px);
        margin-left: auto;
        margin-right: 0;
    }
}
@media (max-width: 767px) {
    .intro .intro-img {
        top: auto;
        bottom: 0;
        left: 0;
        min-height: 0;
        height: 70vw;
    }
    .intro .intro-ramon.elementor-element {
        width: 40vw;
    }
    .intro .intro-ramon.elementor-element div {
        height: 60vw;
        min-height: 0;
    }
}


/*--------------------
## @section 1.0 / Paginas / Homepage / Productos
--------------------*/
.home-productos-content-center .wrap {
    position: sticky;
    top: calc((100vh - 110px) / 2);
}
.home-productos .home-productos-grid.elementor-element {
    margin-top: 50px;
    gap: 90px 20px;
}
.home-productos-grid .home-producto {
    padding-left: 0px;
}
.home-productos-grid .home-producto:before {
    content: "";
    position: absolute;
    top: 0%;
    left: 10px;
    width: 130px;
    height: 130px;
    border-radius: 100px;
    background: linear-gradient(to top, var(--color-green) 20%, var(--color-red));
    transform: translateY(-50%);
}
.home-productos-grid .home-producto > .elementor-element:not(.elementor-widget-image) {
    padding-top: 90px;
    padding-left: 20px;
    background: var(--color-back-green);
    border: 3px solid var(--color-green);
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, .2);
    justify-content: center;
    min-height: 100%;
}
.home-productos-grid .home-producto .elementor-widget-image {
    position: absolute;
    top: 0%;
    left: 10px;
    border-radius: 80px;
    overflow: hidden;
    width: 130px;
    height: 130px;
    padding: 5px;
    transform: translate(0%, -50%);
    z-index: 3;
}
.home-productos-grid .home-producto .elementor-widget-image .elementor-widget-container {
    display: block;
    position: relative;
    width: 120px;
    height: 120px;
}
.home-productos-grid .home-producto .elementor-widget-image img {
    width: 100%;
    height: 100%;
    border-radius: 80px;
    object-fit: cover;
}
.home-productos-grid .home-producto a img {
    transition: all .6s ease;
}
.home-productos-grid .home-producto a:hover img {
    /* transform: scale(1.1); */
}
.home-productos-grid .home-producto-shape {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}
.home-productos-grid .home-producto-shape .border-shape {
    display: flex;
}
/* .home-productos-grid .home-producto-shape .border-shape {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 100px;
    border-image: linear-gradient(180deg, var(--color-green), var(--color-red)) 2;
    border-radius: 285px;
    border-width: 14px;
    border-style: solid;
    padding: 105px;
} */
@media (min-width: 550px) and (max-width: 767px) { 
    .home-productos .home-productos-grid.elementor-element {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: 1fr;
    }
}
@media (min-width: 1024px) {
    .home-productos-grid .home-producto {
        padding-left: 65px;
    }
    .home-productos-grid .home-producto:before {
        top: 50%;
        left: 0;
    }
    .home-productos-grid .home-producto .elementor-widget-image {
        top: 50%;
        left: 0;
        width: 130px;
        height: 130px;
    }
    .home-productos-grid .home-producto > .elementor-element:not(.elementor-widget-image) {
        padding-left: 75px;
        padding-bottom: 0;
        padding-top: 0;
        border-left: 0;
        border-radius: 0 10px 10px 0;
        min-height: 130px;
    }
}
@media (min-width: 1024px) and (max-width: 1200px) {
    .home-productos .home-productos-grid.elementor-element {
        width: 40%;
    }
    .home-productos .home-productos-content-center.elementor-element {
        width: 32%;
    }
}



/*--------------------
## @section 1.0 / Paginas / Homepage / servicios
--------------------*/
.home-servicios .home-servicios-img-wrap .elementor-widget-image {
    height: 100%;
}
.home-servicios .home-servicios-img-wrap img {
    height: 100%;
    object-fit: contain;
}
@media (min-width: 768px) and (max-width: 1023px) {
    .elementor-element.home-grid-servicios > .elementor-element.e-child {
        padding-left: 0;
        padding-right: 0;
    }
    .elementor-element.home-grid-servicios > .elementor-element.e-child > .elementor-element.e-child {
        padding-top: 50px;
        padding-left: 20px;
    }
    .elementor-element.home-grid-servicios > .elementor-element.e-child > .elementor-element.e-child .intro-icon-back {
        top: 0;
        left: 30px;
    }
    .elementor-element.home-grid-servicios > .elementor-element.e-child > .elementor-element.e-child .intro-icon-back > .elementor-widget-container {
        transform: translate(0, -50%);
    }
    .elementor-element.intro-icon-back > .elementor-widget-container:before {
        transform: translate(-50%, -50%) rotate(90deg);
    }
}
@media (max-width: 500px) {
    .elementor-element.home-grid-servicios > .elementor-element.e-child {
        padding-left: 0;
        padding-right: 0;
    }
    .elementor-element.home-grid-servicios > .elementor-element.e-child > .elementor-element.e-child {
        padding-top: 50px;
        padding-left: 20px;
    }
    .elementor-element.home-grid-servicios > .elementor-element.e-child > .elementor-element.e-child .intro-icon-back {
        top: 0;
        left: 30px;
    }
    .elementor-element.home-grid-servicios > .elementor-element.e-child > .elementor-element.e-child .intro-icon-back > .elementor-widget-container {
        transform: translate(0, -50%);
    }
    .elementor-element.intro-icon-back > .elementor-widget-container:before {
        transform: translate(-50%, -50%) rotate(90deg);
    }
}

/*--------------------
## @section 1.0 / Paginas / Homepage / Blog
--------------------*/
.home-blog-head .slider-arrows-wrap .slider-arrows {
    display: flex;
    align-items: center;
    gap: 30px;
}
.home-blog-head .slider-arrows-wrap .slider-arrow {
    position: relative;
    width: 40px;
    display: flex;
    align-items: center;
    transition: all .4s ease;
    cursor: pointer;
}
.home-blog-head .slider-arrows-wrap .slider-arrow.invisible {
    pointer-events: none;
    opacity: .2;
}
.home-blog-head .slider-arrows-wrap .slider-arrow svg {
    width: 100%;
}
.home-blog-head .slider-arrows-wrap .slider-arrow svg path {
    fill: var(--color-prim);
}
.home-blog-grid .ekit-wid-con .elementskit-post-image-card:hover .elementskit-entry-thumb > img {
    transform: scale(1.1);
}
.home-blog-row .home-blog-grid .post-items {
    /*max-width: calc(100% - ((100% - var(--max-width)) / 2));*/
    /*max-width: calc(100% - var(--max-width) / 2 );*/
}
.home-blog-row .home-blog-grid .post-items {
    overflow: scroll;
    flex-wrap: nowrap;
    margin-left: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    padding-bottom: 40px;
    padding-left: 10px;
    padding-right: 10px;
}
.home-blog-row .home-blog-grid .post-items > div {
    padding: 0 15px;
    /* scroll-snap-stop: always;
    scroll-snap-align: start; */
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: calc(100% - 60px);
    max-width: none;
}
.home-blog-row .home-blog-grid .post-items > div::before {
    content: "";
    display: flex;
    background: green;
    width: 20px;
    height: 0px;
    margin-left: -20px;
    scroll-snap-stop: always;
    scroll-snap-align: start;
}
.home-blog-row .home-blog-grid .post-items > div:nth-of-type(odd):before {
    background-color: blue;
}
.home-blog-row .home-blog-grid .post-items > div .elementskit-post-card::before {
    /* content: ""; */
    display: flex;
    width: 100px;
    height: 100px;
    position: relative;
    background: red;
    position: absolute;
}
.home-blog .home-blog-head .elementor-widget-button {
    margin-left: auto;
}
.home-blog-row .home-blog-grid .ekit-wid-con .elementskit-post-image-card,
.home-blog-row .home-blog-grid .ekit-wid-con .elementskit-post-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.home-blog-row .home-blog-grid .ekit-wid-con .elementskit-post-image-card .elementskit-post-body,
.home-blog-row .home-blog-grid .ekit-wid-con .elementskit-post-card .elementskit-post-body {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}
.home-blog-row .home-blog-grid .ekit-wid-con .elementskit-post-image-card .elementskit-post-body .btn-wraper,
.home-blog-row .home-blog-grid .ekit-wid-con .elementskit-post-card .elementskit-post-body .btn-wraper {
    margin-top: auto;
}
.home-blog-row.elementor-element .home-blog-grid .post-items > div a.elementskit-entry-thumb {
    padding-top: 56.25%;
    position: relative;
    width: 100%;
}
.home-blog-row.elementor-element .home-blog-grid .post-items > div a.elementskit-entry-thumb img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.home-blog-row .home-blog-grid .ekit-wid-con .row::after {
    content: "";
    position: relative;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    flex-shrink: 0;
    flex-grow: 0;
    flex-basis: 65px;
}
.home-blog .home-blog-grid-v2 .post-items .elementskit-post-card {
    background: var(--color-back-green);
    border: 3px solid var(--color-green);
}
.home-blog .home-blog-grid-v2 .post-items .elementskit-post-card .post-meta-list {
    position: relative;
    margin-bottom: 25px;
}
.home-blog .home-blog-grid-v2 .post-items .elementskit-post-card .post-meta-list:before {
    content: "";
    position: absolute;
    top: -20px;
    left: -20px;
    width: calc(100% + 40px);
    height: calc(100% + 30px);
    background: var(--color-prim);
    border-radius: 17px 17px 0 0;
}
.home-blog .home-blog-grid-v2 .post-items .elementskit-post-card .post-meta-list span.meta-date {
    position: relative;
}
.home-blog .home-blog-grid-v2 .post-items .elementskit-post-card .entry-title {
    position: relative;
    padding-bottom: 20px;
    margin-bottom: 20px;
}
.home-blog .home-blog-grid-v2 .post-items .elementskit-post-card .entry-title:After {
    content: "";
    position: absolute;
    top: auto;
    left: 0;
    bottom: 0px;
    width: 50px;
    height: 2px;
    background: var(--color-prim);
}
@media (min-width: 650px) {
    .home-blog-row .home-blog-grid .post-items > div {
        flex-basis: calc(50% - 40px);
    }
    .home-blog-row .home-blog-grid .ekit-wid-con .row::after {
        flex-basis: 85px;
    }
}
@media (min-width: 1025px) {
    .home-blog-row .home-blog-grid .post-items > div {
        flex-basis: calc(33.33% - 20px);
    }
    .home-blog-row .home-blog-grid .ekit-wid-con .row::after {
        flex-basis: 65px;
    }
}
/* @media (max-width: 1239px) {
    .home-blog-row .home-blog-grid .post-items > div {
        scroll-snap-stop: always;
        scroll-snap-align: start;
    }
} */
@media (min-width: 1240px) {
    .home-blog-row .home-blog-grid .ekit-wid-con .row::before {
        content: "";
        position: relative;
        flex-shrink: 0;
        flex-grow: 0;
        flex-basis: calc( (100% - var(--max-width)) / 2 - 30px);
        flex-basis: calc( (100% - var(--max-width)) / 2 - 15px);
    }
    .home-blog-row .home-blog-grid .ekit-wid-con .row::after {
        flex-basis: calc((100vw - var(--max-width)) / 2 - 2px);
    }
    .home-blog-row .home-blog-grid .post-items > div::before {
        width: 100vw;
        margin-left: calc(-1*((100vw - var(--max-width)) / 2) + 8px);
        max-width: calc((100vw - var(--max-width)) / 2 + 8px);
    }
    .home-blog-row .home-blog-grid .post-items > div {
        flex-basis: calc(33.33% - 20px);
        max-width: calc((var(--max-width) + 30px) / 3);
    }
}
@media (min-width: 1450px) {
    .home-blog-row .home-blog-grid .ekit-wid-con .row::before {
        /* flex-basis: calc( (100% - var(--max-width)) / 2 - 15px); */
    }
    .home-blog-row .home-blog-grid .ekit-wid-con .row::after {
        flex-basis: calc((100vw - var(--max-width)) / 2 - 16px);
        min-width: 53px;
    }
    .home-blog-row .home-blog-grid .post-items > div::before {
        width: 100vw;
        margin-left: calc(-1*((100vw - var(--max-width)) / 2) - 6px);
        max-width: calc((100vw - var(--max-width)) / 2 + 6px);
    }
}



/*--------------------
## @section 1.0 / Paginas / Homepage / Contact
--------------------*/
.home-contact .contact-content > .e-con-inner {
    margin-left: 0;
}

/*--------------------
## @section 1.0 / Paginas / Seguro
--------------------*/
.seguro-title-soluciones .elementor-heading-title {
    font-size: 22px;
    font-family: var(--font-text);
    font-weight: 400;
    line-height: 1.4;
}
.seguro-title-soluciones .elementor-heading-title big {
    display: block;
    margin-top: 10px;
    margin-bottom: 10px;
    font-family: var(--font-title);
    font-size: 30px;
    line-height: 1.2;
}
.seguro-title-soluciones .elementor-heading-title strong {
    padding-bottom: 2px;
    display: inline;
    position: relative;
    background: linear-gradient(to right, var(--color-prim), var(--color-prim));
    background-size: 100% 1px;
    background-position: left bottom;
    background-repeat: no-repeat;
    transition: background-size .4s;
}
.soluciones-logo-icon .elementor-icon {
    box-shadow: 0 3px 15px rgba(0, 0, 0, .1);
    border: 1px solid var(--color-prim);
}

.eael-data-table tbody tr td:nth-of-type(2),
.eael-data-table tbody tr td:nth-of-type(3) {
    word-break: keep-all;
    white-space: nowrap;
}

/*--------------------
## @section 1.0 / Paginas / About
--------------------*/
/* .about-text-section .elementor-element.col-img,
.about-text-section .elementor-element.col-img div {
    height: 100%;
}
.about-text-section .elementor-element.col-img .elementor-widget-image {
    max-height: 80%;
}
.about-text-section .elementor-element.col-img .elementor-widget-image .elementor-widget-container {
    width: 100%;
    height: 100%;
    position: relative;
}
.about-text-section .elementor-element.col-img .elementor-widget-image .elementor-widget-container img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
} */

/*--------------------
## @section 1.0 / Paginas / Archive blog
--------------------*/
.blog .custom-archive-blog-grid {
    max-width: var(--global-content-width);
    margin: 40px auto;
    padding: 20px;
}
.entry.loop-entry {
    height: 100%;
    border: 3px solid var(--color-green);
    background-color: var(--color-back-green);
}
.entry.loop-entry .entry-content-wrap {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.entry.loop-entry .entry-header {
    display: flex;
    flex-direction: column;
    margin: 0;
}
.entry.loop-entry .entry-header .entry-meta {
    order: -1;
    margin: 0;
    padding: 20px 20px 10px 20px;
    background: var(--color-prim);
    color: white;
}
.entry.loop-entry .entry-header .entry-title {
    padding: 20px;
    position: relative;
}
.entry.loop-entry .entry-header .entry-title:After {
    content: "";
    position: absolute;
    top: auto;
    left: 20px;
    bottom: 0px;
    width: 50px;
    height: 2px;
    background: var(--color-prim);
}
.entry.loop-entry .entry-summary {
    padding: 20px;
    margin: 0;
}
.entry.loop-entry .entry-summary p {
    margin: 0;
}
.entry.loop-entry .entry-footer {
    padding: 20px;
    margin-top: auto;
}
.entry.loop-entry .entry-footer .more-link-wrap {
    margin: 0;
}
.entry.loop-entry .entry-footer .more-link-wrap .post-more-link {
    background: var(--color-prim);
    border: 1px solid var(--color-prim);
    padding: 12px 30px;
    border-radius: 50px;
    color: white;
    font-size: 16px;
    letter-spacing: 0;
    display: inline-block;
    text-transform: none;
    line-height: 1;
}
.entry.loop-entry .entry-footer .more-link-wrap .post-more-link:hover {
    background: white;
    color: var(--color-prim);
}
.entry.loop-entry .entry-footer .more-link-wrap .post-more-link .kadence-svg-iconset {
    display: none;
}

/*--------------------
## @section 1.0 / Paginas / Single blog post
--------------------*/
.single .content-area {
    margin-bottom: 0;
}
.single .navigation.post-navigation {
    border-top: 1px solid var(--color-border);
    padding-top: 20px;
}

/*--------------------
## @section 1.0 / Paginas / Single blog post / Related posts
--------------------*/
.single .entry-related-carousel .entry-summary,
.single .entry-related-carousel .entry-footer,
.single .entry-related-carousel .entry-taxonomies {
    display: block;
}
.single .entry-related-carousel {
    padding-left: 50px;
    padding-right: 50px;
    padding-bottom: 30px;
}
.single .entry-related-carousel.splide .splide__arrow {
    height: 40px;
    width: 40px;
    border-radius: 50px;
    background: var(--color-prim);
    border: 1px solid var(--color-prim);
    opacity: 1;
    box-shadow: none;
    transition: all .4s ease;
}
.single .entry-related-carousel.splide .splide__arrow:hover {
    background: white;
}
.single .entry-related-carousel.splide .splide__arrow svg {
    transition: all .4s ease;
}
.single .entry-related-carousel.splide .splide__arrow:hover svg {
    fill: var(--color-prim);
}
.single .entry-related-carousel.splide .splide__arrow--prev {
    left: 0;
}
.single .entry-related-carousel.splide .splide__arrow--next {
    right: 0;
}
.single .entry-related .entry-related-title {
    padding-left: 50px;
    padding-right: 50px;
}
@media (max-width: 450px) {
    .single .entry-related-inner-content {
        padding-left: 10px;
        padding-right: 10px;
    }
    .single .entry-related .entry-related-title {
        padding-left: 25px;
        padding-right: 25px;
    }
    .single .entry-related-carousel {
        padding-left: 25px;
        padding-right: 25px;
    }
}


/*------------------------------
Cookies
------------------------------*/
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny {
    order: 1;
}

.cmplz-cookiebanner .cmplz-categories {
    width: 100%;
    max-width: 100%;
}

@media (min-width: 769px) {
    .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
        min-width: 190px;
    }

    .cmplz-cookiebanner .cmplz-body {
        width: 100%;
        max-width: 590px;
    }

    .cmplz-cookiebanner .cmplz-message {
        width: 100%;
    }
}