.elementor-page .np-site-main {
    width: 100%;
}

.elementor-page .np-page-content,
.elementor-page .np-entry-content,
.elementor-page .np-canvas-content,
.elementor-page .np-landing-content,
.elementor-page .np-full-width-main .np-entry-content {
    max-width: none;
    font-size: inherit;
    line-height: inherit;
}

.elementor-page .np-page-content > *,
.elementor-page .np-entry-content > *,
.elementor-page .np-canvas-content > *,
.elementor-page .np-landing-content > *,
.elementor-page .np-full-width-main .np-entry-content > * {
    max-width: none;
    margin-inline: initial;
}

.elementor-page .np-page-content > * + *,
.elementor-page .np-entry-content > * + *,
.elementor-page .np-canvas-content > * + *,
.elementor-page .np-landing-content > * + *,
.elementor-page .np-full-width-main .np-entry-content > * + * {
    margin-block-start: 0;
}

.elementor-page .np-page-content p,
.elementor-page .np-entry-content p,
.elementor-page .np-canvas-content p,
.elementor-page .np-landing-content p,
.elementor-page .np-full-width-main .np-entry-content p {
    margin-block-end: 0;
}

.elementor-page .np-page-content h1,
.elementor-page .np-page-content h2,
.elementor-page .np-page-content h3,
.elementor-page .np-page-content h4,
.elementor-page .np-page-content h5,
.elementor-page .np-page-content h6,
.elementor-page .np-entry-content h1,
.elementor-page .np-entry-content h2,
.elementor-page .np-entry-content h3,
.elementor-page .np-entry-content h4,
.elementor-page .np-entry-content h5,
.elementor-page .np-entry-content h6,
.elementor-page .np-canvas-content h1,
.elementor-page .np-canvas-content h2,
.elementor-page .np-canvas-content h3,
.elementor-page .np-canvas-content h4,
.elementor-page .np-canvas-content h5,
.elementor-page .np-canvas-content h6,
.elementor-page .np-landing-content h1,
.elementor-page .np-landing-content h2,
.elementor-page .np-landing-content h3,
.elementor-page .np-landing-content h4,
.elementor-page .np-landing-content h5,
.elementor-page .np-landing-content h6 {
    margin-block-start: 0;
}

.elementor-page .np-page-content img,
.elementor-page .np-entry-content img,
.elementor-page .np-canvas-content img,
.elementor-page .np-landing-content img {
    border-radius: inherit;
}

.elementor-page .np-page-content .elementor img,
.elementor-page .np-entry-content .elementor img,
.elementor-page .np-canvas-content .elementor img,
.elementor-page .np-landing-content .elementor img {
    box-shadow: none;
}

.elementor-page .np-page-content .elementor-section,
.elementor-page .np-entry-content .elementor-section,
.elementor-page .np-canvas-content .elementor-section,
.elementor-page .np-landing-content .elementor-section {
    max-width: none;
}

.elementor-page .np-page-content .elementor-section.elementor-section-boxed > .elementor-container,
.elementor-page .np-entry-content .elementor-section.elementor-section-boxed > .elementor-container,
.elementor-page .np-canvas-content .elementor-section.elementor-section-boxed > .elementor-container,
.elementor-page .np-landing-content .elementor-section.elementor-section-boxed > .elementor-container {
    max-width: var(--np-container-width);
}

.elementor-page .np-page-content .elementor-section.elementor-section-stretched,
.elementor-page .np-entry-content .elementor-section.elementor-section-stretched,
.elementor-page .np-canvas-content .elementor-section.elementor-section-stretched,
.elementor-page .np-landing-content .elementor-section.elementor-section-stretched {
    max-width: none;
}

.elementor-page .np-page-content .e-con,
.elementor-page .np-entry-content .e-con,
.elementor-page .np-canvas-content .e-con,
.elementor-page .np-landing-content .e-con {
    max-width: none;
}

.elementor-page .np-page-content .e-con-boxed,
.elementor-page .np-entry-content .e-con-boxed,
.elementor-page .np-canvas-content .e-con-boxed,
.elementor-page .np-landing-content .e-con-boxed {
    --container-max-width: var(--np-container-width);
}

.elementor-page .np-page-content .e-con > .e-con-inner,
.elementor-page .np-entry-content .e-con > .e-con-inner,
.elementor-page .np-canvas-content .e-con > .e-con-inner,
.elementor-page .np-landing-content .e-con > .e-con-inner {
    width: 100%;
}

.elementor-page .np-content-area,
.elementor-page .np-page-area,
.elementor-page .np-full-width-area,
.elementor-page .np-landing-area {
    padding-block: 0;
}

.elementor-page .np-page-entry,
.elementor-page .np-single-entry {
    gap: 0;
}

.elementor-page .np-page-entry-header,
.elementor-page .np-page-featured-image {
    display: none;
}

.elementor-template-canvas,
.elementor-template-canvas body {
    margin: 0;
    padding: 0;
    background: var(--np-color-background);
}

.elementor-template-canvas .np-site-header,
.elementor-template-canvas .np-site-footer,
.elementor-template-canvas .np-page-header,
.elementor-template-canvas .np-sidebar-area,
.elementor-template-canvas .np-breadcrumbs {
    display: none !important;
}

.elementor-template-canvas .np-site-wrapper,
.elementor-template-canvas .np-site-main,
.elementor-template-canvas .np-content-area,
.elementor-template-canvas .np-page-area,
.elementor-template-canvas .np-canvas-area {
    min-height: 100vh;
    padding: 0;
}

.elementor-template-canvas .np-container,
.elementor-template-canvas .np-canvas-container,
.elementor-template-canvas .np-page-container {
    width: 100%;
    max-width: none;
    padding-inline: 0;
}

.elementor-template-full-width .np-sidebar-area,
.elementor-template-full-width .np-page-entry-header,
.elementor-template-full-width .np-page-featured-image {
    display: none;
}

.elementor-template-full-width .np-content-layout,
.elementor-template-full-width .np-page-layout {
    grid-template-columns: minmax(0, 1fr);
}

.elementor-template-full-width .np-container,
.elementor-template-full-width .np-page-container,
.elementor-template-full-width .np-full-width-container {
    width: 100%;
    max-width: none;
    padding-inline: 0;
}

.elementor-location-header,
.elementor-location-footer,
.elementor-location-single,
.elementor-location-archive {
    width: 100%;
}

.elementor-location-header {
    position: relative;
    z-index: var(--np-z-index-sticky);
}

.elementor-location-footer {
    position: relative;
    z-index: var(--np-z-index-base);
}

.np-has-elementor .elementor-widget-heading .elementor-heading-title {
    color: inherit;
    font-family: inherit;
    line-height: inherit;
}

.np-has-elementor .elementor-widget-text-editor {
    color: inherit;
    font-family: inherit;
    line-height: inherit;
}

.np-has-elementor .elementor-widget-text-editor p:last-child {
    margin-block-end: 0;
}

.np-has-elementor .elementor-widget-image img {
    vertical-align: middle;
}

.np-has-elementor .elementor-widget-button .elementor-button {
    display: inline-flex;
    gap: var(--np-spacing-xs);
    align-items: center;
    justify-content: center;
    min-height: var(--np-button-height-md);
    padding-block: 0;
    padding-inline: var(--np-button-padding-x-md);
    color: var(--np-color-surface);
    background: var(--np-color-primary-teal);
    border: var(--np-border-width) var(--np-border-style) var(--np-color-primary-teal);
    border-radius: var(--np-radius-pill);
    font-family: var(--np-font-primary);
    font-size: var(--np-font-size-sm);
    font-weight: var(--np-font-weight-bold);
    line-height: var(--np-line-height-sm);
    text-decoration: none;
    box-shadow: none;
    transition:
        color var(--np-transition-fast),
        background-color var(--np-transition-fast),
        border-color var(--np-transition-fast),
        box-shadow var(--np-transition-fast),
        transform var(--np-transition-fast);
}

.np-has-elementor .elementor-widget-button .elementor-button:hover,
.np-has-elementor .elementor-widget-button .elementor-button:focus {
    color: var(--np-color-surface);
    background: var(--np-color-primary-dark);
    border-color: var(--np-color-primary-dark);
    box-shadow: var(--np-shadow-sm);
    transform: translateY(-2px);
}

.np-has-elementor .elementor-button-content-wrapper {
    display: inline-flex;
    gap: var(--np-spacing-xs);
    align-items: center;
    justify-content: center;
}

.np-has-elementor .elementor-button-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.np-has-elementor .elementor-button-icon svg {
    width: 1em;
    height: 1em;
}

.np-has-elementor .elementor-widget-form .elementor-field-group {
    margin-block-end: var(--np-spacing-md);
}

.np-has-elementor .elementor-widget-form .elementor-field,
.np-has-elementor .elementor-widget-form .elementor-select-wrapper select,
.np-has-elementor .elementor-widget-form textarea.elementor-field {
    min-height: var(--np-input-height);
    color: var(--np-color-text);
    background: var(--np-input-background);
    border: var(--np-border-width) var(--np-border-style) var(--np-input-border-color);
    border-radius: var(--np-input-radius);
    font-family: var(--np-font-primary);
    font-size: var(--np-font-size-md);
    line-height: var(--np-line-height-sm);
}

.np-has-elementor .elementor-widget-form textarea.elementor-field {
    min-height: 9rem;
}

.np-has-elementor .elementor-widget-form .elementor-field:focus,
.np-has-elementor .elementor-widget-form .elementor-select-wrapper select:focus,
.np-has-elementor .elementor-widget-form textarea.elementor-field:focus {
    border-color: var(--np-input-border-color-focus);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--np-color-primary-teal) 16%, transparent);
}

.np-has-elementor .elementor-widget-form .elementor-field-label {
    margin-block-end: var(--np-spacing-xs);
    color: var(--np-color-primary-dark);
    font-size: var(--np-font-size-sm);
    font-weight: var(--np-font-weight-semibold);
    line-height: var(--np-line-height-sm);
}

.np-has-elementor .elementor-widget-form .elementor-message {
    margin-block-start: var(--np-spacing-sm);
    font-size: var(--np-font-size-sm);
    line-height: var(--np-line-height-sm);
}

.np-has-elementor .elementor-widget-form .elementor-message-success {
    color: var(--np-color-success);
}

.np-has-elementor .elementor-widget-form .elementor-message-danger {
    color: var(--np-color-danger);
}

.np-has-elementor .elementor-widget-form .elementor-field-group .elementor-field-textual.elementor-error {
    border-color: var(--np-color-danger);
}

.np-has-elementor .elementor-widget-icon-box .elementor-icon-box-title,
.np-has-elementor .elementor-widget-image-box .elementor-image-box-title {
    color: var(--np-color-primary-dark);
    font-family: var(--np-font-heading);
    font-weight: var(--np-font-weight-bold);
}

.np-has-elementor .elementor-widget-icon-box .elementor-icon-box-description,
.np-has-elementor .elementor-widget-image-box .elementor-image-box-description {
    color: var(--np-color-text-muted);
    line-height: var(--np-line-height-md);
}

.np-has-elementor .elementor-widget-icon .elementor-icon,
.np-has-elementor .elementor-widget-icon-box .elementor-icon {
    color: var(--np-color-primary-teal);
}

.np-has-elementor .elementor-widget-counter .elementor-counter-number-wrapper {
    color: var(--np-color-primary-dark);
    font-family: var(--np-font-display);
    font-weight: var(--np-font-weight-black);
}

.np-has-elementor .elementor-widget-counter .elementor-counter-title {
    color: var(--np-color-text-muted);
    font-family: var(--np-font-primary);
    font-size: var(--np-font-size-md);
    line-height: var(--np-line-height-sm);
}

.np-has-elementor .elementor-widget-accordion .elementor-accordion-item,
.np-has-elementor .elementor-widget-toggle .elementor-toggle-item {
    overflow: hidden;
    margin-block-end: var(--np-spacing-sm);
    background: var(--np-color-surface);
    border: var(--np-border);
    border-radius: var(--np-radius-lg);
}

.np-has-elementor .elementor-widget-accordion .elementor-tab-title,
.np-has-elementor .elementor-widget-toggle .elementor-tab-title {
    color: var(--np-color-primary-dark);
    font-family: var(--np-font-heading);
    font-weight: var(--np-font-weight-bold);
}

.np-has-elementor .elementor-widget-accordion .elementor-tab-content,
.np-has-elementor .elementor-widget-toggle .elementor-tab-content {
    color: var(--np-color-text-muted);
    border-block-start: var(--np-border);
    line-height: var(--np-line-height-md);
}

.np-has-elementor .elementor-widget-tabs .elementor-tabs-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: var(--np-spacing-xs);
    border: 0;
}

.np-has-elementor .elementor-widget-tabs .elementor-tab-title {
    color: var(--np-color-text-muted);
    background: var(--np-color-surface);
    border: var(--np-border);
    border-radius: var(--np-radius-pill);
    font-weight: var(--np-font-weight-bold);
}

.np-has-elementor .elementor-widget-tabs .elementor-tab-title.elementor-active {
    color: var(--np-color-surface);
    background: var(--np-color-primary-teal);
    border-color: var(--np-color-primary-teal);
}

.np-has-elementor .elementor-widget-tabs .elementor-tab-content {
    margin-block-start: var(--np-spacing-lg);
    color: var(--np-color-text);
    border: var(--np-border);
    border-radius: var(--np-radius-xl);
}

.np-has-elementor .elementor-widget-testimonial,
.np-has-elementor .elementor-testimonial-wrapper {
    color: var(--np-color-text);
}

.np-has-elementor .elementor-testimonial-content {
    color: var(--np-color-text-muted);
    line-height: var(--np-line-height-md);
}

.np-has-elementor .elementor-testimonial-name {
    color: var(--np-color-primary-dark);
    font-family: var(--np-font-heading);
    font-weight: var(--np-font-weight-bold);
}

.np-has-elementor .elementor-testimonial-job {
    color: var(--np-color-text-muted);
    font-size: var(--np-font-size-sm);
}

.np-has-elementor .elementor-widget-progress .elementor-progress-wrapper {
    overflow: hidden;
    background: var(--np-color-surface-soft);
    border-radius: var(--np-radius-pill);
}

.np-has-elementor .elementor-widget-progress .elementor-progress-bar {
    background: var(--np-color-primary-teal);
}

.np-has-elementor .elementor-widget-progress .elementor-title {
    color: var(--np-color-primary-dark);
    font-weight: var(--np-font-weight-bold);
}

.np-has-elementor .elementor-widget-alert .elementor-alert {
    border-radius: var(--np-radius-lg);
    font-family: var(--np-font-primary);
}

.np-has-elementor .elementor-widget-alert .elementor-alert-title {
    font-family: var(--np-font-heading);
    font-weight: var(--np-font-weight-bold);
}

.np-has-elementor .elementor-widget-theme-post-content {
    color: var(--np-color-text);
    font-family: var(--np-font-primary);
    line-height: var(--np-line-height-lg);
}

.np-has-elementor .elementor-widget-theme-post-title .elementor-heading-title {
    color: var(--np-color-primary-dark);
    font-family: var(--np-font-display);
    font-weight: var(--np-font-weight-black);
}

.np-has-elementor .elementor-widget-theme-post-excerpt {
    color: var(--np-color-text-muted);
    line-height: var(--np-line-height-md);
}

.np-has-elementor .elementor-widget-posts .elementor-post,
.np-has-elementor .elementor-widget-archive-posts .elementor-post {
    overflow: hidden;
    background: var(--np-color-surface);
    border: var(--np-border);
    border-radius: var(--np-radius-xl);
    box-shadow: var(--np-shadow-xs);
}

.np-has-elementor .elementor-widget-posts .elementor-post__title,
.np-has-elementor .elementor-widget-archive-posts .elementor-post__title {
    font-family: var(--np-font-heading);
    font-weight: var(--np-font-weight-bold);
}

.np-has-elementor .elementor-widget-posts .elementor-post__title a,
.np-has-elementor .elementor-widget-archive-posts .elementor-post__title a {
    color: var(--np-color-primary-dark);
}

.np-has-elementor .elementor-widget-posts .elementor-post__title a:hover,
.np-has-elementor .elementor-widget-posts .elementor-post__title a:focus,
.np-has-elementor .elementor-widget-archive-posts .elementor-post__title a:hover,
.np-has-elementor .elementor-widget-archive-posts .elementor-post__title a:focus {
    color: var(--np-color-primary-teal);
}

.np-has-elementor .elementor-widget-posts .elementor-post__excerpt,
.np-has-elementor .elementor-widget-archive-posts .elementor-post__excerpt {
    color: var(--np-color-text-muted);
    line-height: var(--np-line-height-md);
}

.np-has-elementor .elementor-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: var(--np-spacing-xs);
    justify-content: center;
    margin-block-start: var(--np-spacing-xl);
}

.np-has-elementor .elementor-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    min-height: 2.5rem;
    padding-inline: var(--np-spacing-sm);
    color: var(--np-color-primary-dark);
    background: var(--np-color-surface);
    border: var(--np-border);
    border-radius: var(--np-radius-md);
    font-weight: var(--np-font-weight-medium);
}

.np-has-elementor .elementor-pagination .page-numbers:hover,
.np-has-elementor .elementor-pagination .page-numbers:focus,
.np-has-elementor .elementor-pagination .page-numbers.current {
    color: var(--np-color-surface);
    background: var(--np-color-primary-teal);
    border-color: var(--np-color-primary-teal);
}

.np-has-elementor .elementor-swiper-button,
.np-has-elementor .elementor-arrows-position-outside .elementor-swiper-button {
    color: var(--np-color-primary-teal);
}

.np-has-elementor .swiper-pagination-bullet {
    background: var(--np-color-primary-teal);
}

.np-has-elementor .swiper-pagination-bullet-active {
    background: var(--np-color-primary-dark);
}

.np-has-elementor .elementor-lightbox {
    font-family: var(--np-font-primary);
}

.elementor-editor-active .np-site-header,
.elementor-editor-active .np-site-footer {
    z-index: auto;
}

.elementor-editor-active .np-site-main {
    min-height: 60vh;
}

.elementor-editor-active .np-content-area,
.elementor-editor-active .np-page-area,
.elementor-editor-active .np-full-width-area,
.elementor-editor-active .np-canvas-area,
.elementor-editor-active .np-landing-area {
    min-height: 60vh;
}

.elementor-editor-active .np-page-entry-header,
.elementor-editor-active .np-page-featured-image {
    display: none;
}

.elementor-editor-active .np-canvas-content,
.elementor-editor-active .np-landing-content,
.elementor-editor-active .np-page-content {
    min-height: 60vh;
}

@media (max-width: 1024px) {
    .elementor-page .np-page-content .elementor-section.elementor-section-boxed > .elementor-container,
    .elementor-page .np-entry-content .elementor-section.elementor-section-boxed > .elementor-container,
    .elementor-page .np-canvas-content .elementor-section.elementor-section-boxed > .elementor-container,
    .elementor-page .np-landing-content .elementor-section.elementor-section-boxed > .elementor-container {
        max-width: calc(100% - calc(var(--np-container-padding) * 2));
    }
}

@media (max-width: 782px) {
    .np-has-elementor .elementor-widget-button .elementor-button {
        width: auto;
        white-space: normal;
    }

    .np-has-elementor .elementor-widget-tabs .elementor-tabs-wrapper {
        display: grid;
    }

    .np-has-elementor .elementor-widget-tabs .elementor-tab-title {
        width: 100%;
    }

    .np-has-elementor .elementor-widget-tabs .elementor-tab-content {
        margin-block-start: var(--np-spacing-sm);
    }

    .elementor-page .np-page-content .elementor-section.elementor-section-boxed > .elementor-container,
    .elementor-page .np-entry-content .elementor-section.elementor-section-boxed > .elementor-container,
    .elementor-page .np-canvas-content .elementor-section.elementor-section-boxed > .elementor-container,
    .elementor-page .np-landing-content .elementor-section.elementor-section-boxed > .elementor-container {
        max-width: calc(100% - calc(var(--np-container-padding) * 2));
    }
}