/*
Theme Name: Hello Elementor Child
Template: hello-elementor
Text Domain: hello-elementor-child
*/

/* Ensure the body takes at least 100vh */
html, body {
    height: 100%; /* Make sure the body takes the full height of the viewport */
    margin: 0; /* Remove default margins */
    display: flex;
    flex-direction: column; /* Stack elements vertically */
}

/* Main content area */
main {
    flex: 1; /* Push the footer to the bottom if content is smaller than the viewport */
}

/* Slider */
#ns-frontpage-video {
    height: 100dvh;
    width: 100%;
    margin: 0;
    padding: 0;
}

#ns-frontpage-video-wrap {
    height: 70%;
    mix-blend-mode: overlay;
    position: absolute;
    bottom: 0;
}

#ns-frontpage-video-wrap .elementor-background-slideshow__slide__image {
    background-position-y: 50%;
}

#ns-front-tablet {
    position: absolute;
    z-index: 1;
    bottom: 0;
    margin-bottom: -100px;
}

/* Matrix */
.matrix-container {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: repeat(20, 1fr);
    gap: 10px;
    pointer-events: none;
    z-index: 1; /* debajo del contenido principal */
  }

.matrix-char {
    text-align: center;
    color: rgba(0, 136, 255, 0.3);
    font-family: monospace;
    transition: all 0.1s linear;
    font-size: .9rem;
    user-select: none;
}

.matrix-char-wrapper {
    display: grid;
    grid-template-columns: repeat(20, 1fr);
    gap: 5px;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    z-index: 0;
}

/* General body and Elementor background color */
body {
    background-color: #1C2326 !important;
}

/* Accent section styling */
div.ns-accent-section {
    padding: 80px;
}

div.ns-accent-section .e-con-inner {
    padding: 80px;
    border: 1px solid #5D6F82;
    border-radius: 16px;
    background-color: #283338;
}

/* Button styling */
div.ns-button.elementor-element.elementor-widget a.elementor-button {
    color: var(--e-global-color-8d31da7);
    padding: 2px;
    border-radius: 8px;
}

/* Secondary button styling */
div.ns-secondary-button.elementor-element.elementor-widget a.elementor-button {
    background-color: var(--e-global-color-secondary);
}

/* Primary button styling */
div.ns-primary-button.elementor-element.elementor-widget a.elementor-button {
    background-color: var(--e-global-color-primary);
}

/* Button icon styling */
div.ns-button.elementor-element.elementor-widget a.elementor-button .elementor-button-icon {
    border-radius: 8px;
    width: 45px;
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1rem;
}

.ns-button {
    color: white;
}

/* Primary button icon background */
div.ns-primary-button.elementor-element.elementor-widget a.elementor-button .elementor-button-icon {
    background-color: var(--e-global-color-text);
}

/* Secondary button icon background */
div.ns-secondary-button.elementor-element.elementor-widget a.elementor-button .elementor-button-icon {
    background-color: var(--e-global-color-primary);
}

/* Button content wrapper styling */
div.ns-button.elementor-element.elementor-widget a.elementor-button span.elementor-button-content-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Button text padding */
div.ns-button.elementor-element.elementor-widget a.elementor-button .elementor-button-text {
    padding-left: 20px;
}

/* Language selector dropdown styling */
#lang-selector {
    position: relative;
    display: inline-block;
}

#lang-selector .dropdown-toggle {
    background-color: #264154;
    color: #fff;
    padding: 10px 15px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-family: "Space Mono", Sans-serif;
    font-size: 1rem;
    text-transform: uppercase;
    font-weight: 600;
    display: flex;
    align-items: center;
    padding-bottom: 7px;
}

/* Dropdown arrow styling */
.sub-lang-arrow {
    width: .7em;
    height: .7em;
    margin-bottom: 5px;
    margin-left: 10px;
    fill: #fff;
}

/* Dropdown toggle focus styling */
#lang-selector .dropdown-toggle:focus {
    outline: none;
}

/* Dropdown menu styling */
#lang-selector .dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #fff;
    border-radius: 12px;
    list-style: none;
    padding: 0;
    margin: 5px 0 0;
    z-index: 1000;
    width: 50px;
}

/* Dropdown menu item styling */
#lang-selector .dropdown-menu li a {
    color: #333;
    text-decoration: none;
    display: block;
    font-size: 1rem;
}

/* Dropdown menu hover styling */
#lang-selector .dropdown-menu li:hover {
    background-color: #264154;
}

#lang-selector .dropdown-menu li:hover a {
    color: #fff;
}

/* Open dropdown menu styling */
#lang-selector.open .dropdown-menu {
    display: block;
}

/* Dropdown toggle icon styling */
#lang-selector .dropdown-toggle i {
    font-size: 0.8rem;
    color: #fff;
}

/* Active dropdown menu item styling */
#lang-selector .dropdown-menu li.active {
    font-weight: bold;
    background-color: #264154;
}

#lang-selector .dropdown-menu li.active a {
    color: #fff;
}

/* Dropdown menu item styling */
#lang-selector .dropdown-menu li {
    font-family: "Space Mono", Sans-serif;
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    padding: 10px 14px;
}

/* Page header styling */
.page-header {
    color: #FF006F;
    font-family: "Space Mono", Sans-serif;
}

.page-header h1 {
    font-weight: 600;
    font-size: 2rem;
    margin-bottom: 1.5em;
}

/* Main content styling */
main#content {
    margin-bottom: 2em;
}

main#content p:empty {
    display: none;
}

main#content h2, .elementor-widget-theme-post-content h2 {
    color: #fff;
    font-family: var(--e-global-typography-accent-font-family), Sans-serif;
    font-size: 1.9rem;
    margin-top: 1.75em;
    margin-bottom: .75em;
}

main#content h3, .elementor-widget-theme-post-content h3 {
    color: #fff;
    font-family: var(--e-global-typography-accent-font-family), Sans-serif;
    font-size: 1.5rem;
    margin-top: 1.25em;
    margin-bottom: .25em;
}

main#content h4, .elementor-widget-theme-post-content h4, .elementor-widget-theme-post-title h4 {
    color: #fff;
    font-family: var(--e-global-typography-accent-font-family), Sans-serif;
    font-size: 1.25rem;
    margin-top: 1.25em;
    margin-bottom: .25em;
}

.elementor-element p:first-of-type:empty + h2 {
    margin-top: 0 !important;
}

main#content p, main#content li, .elementor-widget-theme-post-content p, .elementor-widget-theme-post-content li {
    font-family: var( --e-global-typography-secondary-font-family ), Sans-serif;
    color: var(--e-global-color-accent);
}

main#content li, .elementor-widget-theme-post-content li {
    margin-top: 1em;
}

main#content a:hover, .elementor-widget-theme-post-content a:hover {
    text-decoration: underline;
    color: #c36;
}

/* Dropdown menu item border radius */
#lang-selector .dropdown-menu li:first-of-type {
    border-top-right-radius: 8px;
    border-top-left-radius: 8px;
}

#lang-selector .dropdown-menu li:last-of-type {
    border-bottom-right-radius: 8px;
    border-bottom-left-radius: 8px;
}

/* Breadcrumbs wrapper styling */
.breadcrumbs-wrapper {
    padding: 0;
    margin-top: 2em;
}

/* Breadcrumbs styling */
.breadcrumbs {
    font-family: "Space Mono", Sans-serif;
    font-size: 0.7rem;
    padding: 0;
    letter-spacing: 1px;
}

/* Breadcrumbs paragraph styling */
.breadcrumbs p {
    margin: 0;
    color: var(--e-global-color-secondary);
    text-transform: uppercase;
}

/* Breadcrumbs list styling */
.breadcrumbs ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 10px;
}

/* Breadcrumbs list item styling */
.breadcrumbs li {
    display: inline;
}

/* Breadcrumbs link styling */
.breadcrumbs a {
    color: var(--e-global-color-secondary);
    text-decoration: none;
}

.breadcrumbs a:hover {
    color: var(--e-global-color-secondary);
    text-decoration: underline;
}

/* Nested Accordions */
.e-n-accordion-item-title-header {
    color: var(--e-global-color-secondary);
    font-family: "Space Mono", Sans-serif;
    text-transform: uppercase;
}

.elementor-widget.elementor-widget-n-accordion .e-child {
    border: none;
}

/* Posts */
main#content .elementor-widget-theme-post-excerpt p {
    text-align: left;
}

.e-loop-item .elementor-element.e-con-boxed {
    margin-bottom: 0;
}

.e-load-more-spinner svg {
    fill: #fff !important;
}

/* Loop items */
.e-loop-item {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.e-loop-item .elementor-widget-button {
    margin-top: auto;
}

.elementor-loop-container .elementor-button-link:hover {
    text-decoration: none !important;
    color: var(--e-global-color-secondary) !important;
}

/* Taxonomy tag filter */
.elementor-widget-taxonomy-filter search.e-filter .e-filter-item {
    color: var(--e-global-color-secondary);
    border: 2px solid var(--e-global-color-secondary);
    font-family: monospace;
    font-size: .7rem;
    text-transform: uppercase;
    font-weight: 600;
    border-radius: 6px;
}

.elementor-widget-taxonomy-filter search.e-filter .e-filter-item:hover,
.elementor-widget-taxonomy-filter search.e-filter .e-filter-item[aria-pressed="true"] {
    background-color: var(--e-global-color-secondary);
    color: #fff;
}

.elementor-widget-taxonomy-filter search {
    gap: 10px !important;
}

/* Taxonomy posts info */
.elementor-post-info__terms-list .elementor-post-info__terms-item::after {
    content: "";
}

.elementor-post-info__terms-list-item {
    color: var(--e-global-color-text) !important;
    border: 1px solid var(--e-global-color-text);
    font-family: monospace;
    font-size: 0.5rem !important;
    text-transform: uppercase;
    font-weight: 600;
    border-radius: 8px;
    padding: 4px 8px;
    margin-right: 4px;
    margin-bottom: 4px;
    padding-top: 6px;
    display: inline-block !important;
}

.elementor-post-info__terms-list-item:hover {
    background-color: var(--e-global-color-text) !important;
    color: #fff !important;
}

.elementor-post-info__terms-list {
    display: inline-block !important;
}

/* Navbar */
#ekit-megamenu-header-menu {
    height: 60px;
}

.ns-megamenu-container {
    height: 100vh;
}

.ns-megamenu-item-icon-wrap {
    width: 40px;
}

.ns-megamenu-item-icon-wrap .elementor-widget-image {
    display: flex;
    justify-content: center;
    align-items: center;
}

.ns-megamenu-container-inset .elementor-widget-heading h6 {
    line-height: 1em;
    max-height: 4em;
    overflow: hidden;
    position: relative;
}

.ns-megamenu-item-blog-image {
    height: 88px;
}

.ns-megamenu-container-inset .elementor-widget-post-info li {
    margin: 0 !important;
}

@media only screen and (min-width: 991px) {
    .ns-megamenu-container-inset {
        height: 23em;
        width: calc(23em * 2);
    }

    .ns-megamenu-container-inset.ns-megamenu-container-inset-extended {
        height: 25em;
        width: calc(23em * 2.5);
    }
}

.ns-megamenu-card-inset-fullheight {
    height: 100%;
}

.ns-megamenu-card-inset-fixedheader {
    height: 180px;
}

.elementskit-megamenu-panel > .elementor {
    background-color: transparent;
}

.ekit-menu-nav-link.ekit-menu-dropdown-toggle i {
    transform: rotate(0deg);
    transition: transform 0.3s ease-in-out;
}

.ekit-menu-nav-link.ekit-menu-dropdown-toggle:hover i {
    transform: rotate(45deg);
}

.elementskit-megamenu-panel {
    backdrop-filter: blur(2px);
    background: linear-gradient(to top, rgba(34, 40, 42, 0.05) 0%, rgba(34, 40, 42, 1) 100%);
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.ns-megamenu-item-dotted {
    background-image: url('assets/images/ns-megamenu-background-pattern.svg');
    background-position: 50%;
    background-repeat: repeat;
    background-size: 4em 4em;
}

.ekit-template-content-header {
    z-index: 2;
    border-bottom: 1px solid #4E4E4E;
}

#ns-main-logo img {
    width: 100px;
    height: auto;
}

.ns-megamenu-item-flexbasis-card {
    flex-basis: calc((100% - 2px) / 2) !important;
    height: calc((23em / 3) - 3px);
}

.ns-full-height {
    height: 100%;
}

.ns-megamenu-item-flexbasis-full-card {
    flex-basis: 100% !important;
    height: calc((23em / 3) - 3px);
}

.ns-megamenu-wrap-fullheight {
    height: 100%;
}

#ns-nav-wrap {
    height: 100% !important;
    padding: 0;
}

#ns-nav-wrap + .elementor-widget-ekit-nav-menu {
    height: 100%;
}

/* Complianz */

#cmplz-document, .editor-styles-wrapper .cmplz-unlinked-mode {
    max-width: unset !important;
}

summary.cmplz-service-header *, .cmplz-category-header * {
    color: var(--e-global-color-secondary) !important;
    font-family: var( --e-global-typography-primary-font-family ), Sans-serif !important;
    text-transform: uppercase !important;
    font-size: 1rem !important;
}

summary.cmplz-service-header, .cmplz-category-header {
    margin-bottom: 0 !important;
    background: transparent !important;
}

.cmplz-category {
    background-color: transparent !important;
    cursor: pointer !important;
}

.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label:before {
    background-color: #a3a3a3 !important;
}

.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:checked + .cmplz-label::before {
    background-color: var(--cmplz_slider_active_color) !important;
}

.cmplz-category-header svg {
    fill: var(--e-global-color-secondary) !important;
}

#cmplz-document a[target=_blank]::after, .editor-styles-wrapper .cmplz-unlinked-mode a[target=_blank]::after {
    display: none;
}

#cmplz-cookies-overview .cmplz-dropdown summary div:after, #cmplz-document .cmplz-dropdown summary div:after, .editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown summary div:after {
    background-image: url('assets/images/ns-chevron-down.svg') !important;
}

.cmplz-description * {
    color: var(--e-global-color-accent) !important;
}

.cmplz-accept-service {
    display: none;
}

.purpose h4 {
    color: #474747 !important;
    padding-left: 0 !important;
}

.cmplz-service-description {
    padding: 0 !important;
}

/* Responsive */
@media (max-width: 767px) {
    p, li {
        text-align: left !important;
    }

    .post-excerpt-search p {
        text-align: left !important;
    }

    .ns-section-accent-image {
        width: 75% !important;
        max-width: 600px !important;
        right: -60px !important;
        bottom: 0 !important;
        top: -50px !important;
    }

    div.ns-accent-section {
        padding: 40px !important;
    }

    .ns-accent-section .e-con-inner {
        padding: 25px !important;
    }

    .ns-product-analysis-button-container {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        flex-direction: row;
    }

    .ns-product-analysis-button-container .ns-button {
        flex: 1 1 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 10px;
    }

    .ns-warning-card {
        padding: 25px 50px !important;
    }

    .ns-fourcard-container {
        top: 20px !important;
    }

    .ns-tab-full-height {
        padding: 20px !important;
    }
}

@media (max-width: 1025px) {
    #ns-nav-logo-wrap {
        margin-left: 25%;
        width: 50%;
    }

    #ns-nav-wrap {
        width: 25%;
    }

    button.elementskit-menu-hamburger i {
        color: white !important;
    }

    button.elementskit-menu-hamburger {
        padding: 0 !important;
        border: 0 !important;
        width: 50px !important;
        height: 45px !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        border-radius: 0 !important;
    }

    button.elementskit-menu-hamburger:hover, button.elementskit-menu-hamburger:active {
        background-color: transparent !important;
    }

    button.elementskit-menu-hamburger i {
        color: white !important;
        font-size: 1.5rem;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 0 !important;
        margin: 0 !important;
    }

    .elementskit-menu-offcanvas-elements.active {
        backdrop-filter: blur(2px);
        background: linear-gradient(to top, rgba(34, 40, 42, 0.05) 0%, rgba(34, 40, 42, 1) 100%);
        transition: opacity 0.3s ease, visibility 0.3s ease;
    }

    #ekit-megamenu-header-menu {
        background-color: #22282A;
    }

    .ekit-menu-nav-link {
        color: white !important;
        font-size: 1.25rem !important;
    }

    .ekit-menu-nav-link:hover {
        color: var(--e-global-color-secondary) !important
    }

    .ekit-menu-nav-link i {
        display: none !important;
    }

    footer li.menu-item .elementor-item {
        padding: 4px 0;
        color: #7A7A7A;
        background-color: #22282A;
    }

    footer li.menu-item .elementor-item:hover {
        background-color: #22282A !important;
    }
}

.pp-post-value a {
    padding-left: 0 !important;
}

.e-n-tab-title {
    padding: 5px 1rem !important;
}

.elementor-1103 .elementor-element.elementor-element-b0f1ef0 button.elementskit-menu-close {
    color: white !important;
    border-color: white !important;
}

.ns-tab-full-height {
    height: 100%;
}

html {
    overflow-x: hidden;
}

footer a.elementor-item,
footer a.elementor-item-active {
    color: #7A7A7A !important;
    fill: #7A7A7A !important;
    background-color: transparent !important;
}
