:root {
    --asp-font-scale: 100%;
    --asp-panel-bg: #ffffff;
    --asp-panel-text: #111111;
    --asp-panel-border: #d6dbe1;
    --asp-panel-accent: #024f94;
    --asp-focus-outline: #ff9f1c;
    --asp-focus-shadow: rgba(255, 159, 28, 0.35);
}

html.asp-mode-enabled {
    font-size: var(--asp-font-scale, 100%);
}


html.asp-mode-enabled h1 { font-size: calc(2em * var(--asp-font-scale, 100%) / 100) !important; }
html.asp-mode-enabled h2 { font-size: calc(1.5em * var(--asp-font-scale, 100%) / 100) !important; }
html.asp-mode-enabled h3 { font-size: calc(1.17em * var(--asp-font-scale, 100%) / 100) !important; }
html.asp-mode-enabled h4 { font-size: calc(1em * var(--asp-font-scale, 100%) / 100) !important; }
html.asp-mode-enabled h5 { font-size: calc(0.83em * var(--asp-font-scale, 100%) / 100) !important; }
html.asp-mode-enabled h6 { font-size: calc(0.67em * var(--asp-font-scale, 100%) / 100) !important; }


html.asp-line-height-enabled body,
html.asp-line-height-enabled p,
html.asp-line-height-enabled li,
html.asp-line-height-enabled div,
html.asp-line-height-enabled span,
html.asp-line-height-enabled td,
html.asp-line-height-enabled th,
html.asp-line-height-enabled label,
html.asp-line-height-enabled input,
html.asp-line-height-enabled textarea,
html.asp-line-height-enabled button,
html.asp-line-height-enabled a {
    line-height: 1.9 !important;
}

html.asp-underline-links-enabled a {
    text-decoration: underline !important;
    text-underline-offset: 0.15em !important;
    text-decoration-thickness: 0.12em !important;
}

html.asp-text-only-enabled img,
html.asp-text-only-enabled svg,
html.asp-text-only-enabled video,
html.asp-text-only-enabled audio,
html.asp-text-only-enabled iframe,
html.asp-text-only-enabled canvas,
html.asp-text-only-enabled picture,
html.asp-text-only-enabled object,
html.asp-text-only-enabled embed,
html.asp-text-only-enabled [style*="background-image"] video,
html.asp-text-only-enabled [class*="video" i],
html.asp-text-only-enabled [id*="video" i] {
    display: none !important;
}

html.asp-text-only-enabled body *,
html.asp-text-only-enabled body *::before,
html.asp-text-only-enabled body *::after,
html.asp-media-off body *,
html.asp-media-off body *::before,
html.asp-media-off body *::after {
    background-image: none !important;
}

html.asp-media-images-only video,
html.asp-media-images-only audio,
html.asp-media-images-only iframe,
html.asp-media-images-only canvas,
html.asp-media-images-only object,
html.asp-media-images-only embed,
html.asp-media-images-only [style*="background-video" i],
html.asp-media-images-only [class*="video" i]:not(img),
html.asp-media-images-only [id*="video" i]:not(img) {
    display: none !important;
}

html.asp-media-off img:not(.asp-launcher img):not(.asp-fixed-panel img),
html.asp-media-off svg:not(.asp-launcher svg):not(.asp-fixed-panel svg),
html.asp-media-off video,
html.asp-media-off audio,
html.asp-media-off iframe,
html.asp-media-off canvas,
html.asp-media-off picture,
html.asp-media-off object,
html.asp-media-off embed,
html.asp-media-off [style*="background-video" i],
html.asp-media-off [class*="video" i],
html.asp-media-off [id*="video" i] {
    display: none !important;
}

html.asp-color-bw,
html.asp-color-bw body {
    background: #000000 !important;
    color: #ffffff !important;
}
html.asp-color-bw body *,
html.asp-color-bw body *::before,
html.asp-color-bw body *::after {
    background-color: #000000 !important;
    color: #ffffff !important;
    border-color: #ffffff !important;
}
html.asp-color-bw a { color: #ffffff !important; }

html.asp-color-wb,
html.asp-color-wb body {
    background: #ffffff !important;
    color: #000000 !important;
}
html.asp-color-wb body *,
html.asp-color-wb body *::before,
html.asp-color-wb body *::after {
    background-color: #ffffff !important;
    color: #000000 !important;
    border-color: #000000 !important;
}
html.asp-color-wb a { color: #000000 !important; }

html.asp-color-yb,
html.asp-color-yb body {
    background: #000000 !important;
    color: #ffd800 !important;
}
html.asp-color-yb body *,
html.asp-color-yb body *::before,
html.asp-color-yb body *::after {
    background-color: #000000 !important;
    color: #ffd800 !important;
    border-color: #ffd800 !important;
}
html.asp-color-yb a { color: #ffffff !important; }

html.asp-color-by,
html.asp-color-by body {
    background: #0b2d5c !important;
    color: #ffe66d !important;
}
html.asp-color-by body *,
html.asp-color-by body *::before,
html.asp-color-by body *::after {
    background-color: #0b2d5c !important;
    color: #ffe66d !important;
    border-color: #ffe66d !important;
}
html.asp-color-by a { color: #ffffff !important; }

html.asp-color-grayscale {
    filter: grayscale(100%) !important;
}

html.asp-color-soft,
html.asp-color-soft body {
    background: #f5f2ea !important;
    color: #1f2430 !important;
}
html.asp-color-soft body *,
html.asp-color-soft body *::before,
html.asp-color-soft body *::after {
    background-color: #f5f2ea !important;
    color: #1f2430 !important;
    border-color: #505766 !important;
}
html.asp-color-soft a { color: #174a8b !important; }


html.asp-color-bw .asp-fixed-panel__inner {
    background: #000000 !important;
    color: #ffffff !important;
    border-bottom-color: #ffffff !important;
}
html.asp-color-bw .asp-control-group,
html.asp-color-bw .asp-btn,
html.asp-color-bw .asp-select,
html.asp-color-bw .asp-reset,
html.asp-color-bw .asp-icon-button,
html.asp-color-bw .asp-launcher {
    background: #000000 !important;
    color: #ffffff !important;
    border-color: #ffffff !important;
}
html.asp-color-bw .asp-fixed-panel__subtitle,
html.asp-color-bw .asp-status-text { color: #ffffff !important; }

html.asp-color-wb .asp-fixed-panel__inner {
    background: #ffffff !important;
    color: #000000 !important;
    border-bottom-color: #000000 !important;
}
html.asp-color-wb .asp-control-group,
html.asp-color-wb .asp-btn,
html.asp-color-wb .asp-select,
html.asp-color-wb .asp-reset,
html.asp-color-wb .asp-icon-button,
html.asp-color-wb .asp-launcher {
    background: #ffffff !important;
    color: #000000 !important;
    border-color: #000000 !important;
}
html.asp-color-wb .asp-fixed-panel__subtitle,
html.asp-color-wb .asp-status-text { color: #000000 !important; }

html.asp-color-yb .asp-fixed-panel__inner {
    background: #000000 !important;
    color: #ffd800 !important;
    border-bottom-color: #ffd800 !important;
}
html.asp-color-yb .asp-control-group,
html.asp-color-yb .asp-btn,
html.asp-color-yb .asp-select,
html.asp-color-yb .asp-reset,
html.asp-color-yb .asp-icon-button,
html.asp-color-yb .asp-launcher {
    background: #000000 !important;
    color: #ffd800 !important;
    border-color: #ffd800 !important;
}
html.asp-color-yb .asp-fixed-panel__subtitle,
html.asp-color-yb .asp-status-text { color: #ffd800 !important; }

html.asp-color-by .asp-fixed-panel__inner {
    background: #0b2d5c !important;
    color: #ffe66d !important;
    border-bottom-color: #ffe66d !important;
}
html.asp-color-by .asp-control-group,
html.asp-color-by .asp-btn,
html.asp-color-by .asp-select,
html.asp-color-by .asp-reset,
html.asp-color-by .asp-icon-button,
html.asp-color-by .asp-launcher {
    background: #0b2d5c !important;
    color: #ffe66d !important;
    border-color: #ffe66d !important;
}
html.asp-color-by .asp-fixed-panel__subtitle,
html.asp-color-by .asp-status-text { color: #ffe66d !important; }

html.asp-color-grayscale .asp-fixed-panel__inner {
    background: #e5e7eb !important;
    color: #111111 !important;
    border-bottom-color: #111111 !important;
}
html.asp-color-grayscale .asp-control-group,
html.asp-color-grayscale .asp-btn,
html.asp-color-grayscale .asp-select,
html.asp-color-grayscale .asp-reset,
html.asp-color-grayscale .asp-icon-button,
html.asp-color-grayscale .asp-launcher {
    background: #f3f4f6 !important;
    color: #111111 !important;
    border-color: #111111 !important;
}
html.asp-color-grayscale .asp-fixed-panel__subtitle,
html.asp-color-grayscale .asp-status-text { color: #111111 !important; }

html.asp-color-soft .asp-fixed-panel__inner {
    background: #f5f2ea !important;
    color: #1f2430 !important;
    border-bottom-color: #505766 !important;
}
html.asp-color-soft .asp-control-group,
html.asp-color-soft .asp-btn,
html.asp-color-soft .asp-select,
html.asp-color-soft .asp-reset,
html.asp-color-soft .asp-icon-button,
html.asp-color-soft .asp-launcher {
    background: #f8f4ea !important;
    color: #1f2430 !important;
    border-color: #505766 !important;
}
html.asp-color-soft .asp-fixed-panel__subtitle,
html.asp-color-soft .asp-status-text { color: #1f2430 !important; }

.asp-launcher {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: auto;
    padding: 0;
    border-radius: 0px !important;
    border: 1px solid #cfd6de;
    background: #ffffff;
    color: #111111;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    padding: 7px 9px 4px 9px !important;
    line-height: normal;
}

.asp-launcher:hover,
.asp-launcher:focus-visible {
    border-color: #024f94;
    box-shadow: 0 8px 22px rgba(2, 79, 148, 0.15);
    transform: translateY(-1px);
}

.asp-launcher__text {
    display: none !important;
}

.asp-fixed-panel {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 999999;
    background: rgba(12, 20, 33, 0.26);
    padding: 0;
}

.asp-fixed-panel[hidden] { display: none !important; }

.asp-fixed-panel__inner {
    width: 100%;
    background: var(--asp-panel-bg);
    color: var(--asp-panel-text);
    border-bottom: 1px solid var(--asp-panel-border);
    box-shadow: 0 18px 40px rgba(16, 24, 40, 0.18);
    padding: 18px 24px 20px;
    box-sizing: border-box;
}

.asp-fixed-panel__topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
    flex-wrap: wrap;
}

.asp-fixed-panel__title {
    display: block;
    font-size: 22px;
    line-height: 1.2;
    margin-bottom: 4px;
}

.asp-fixed-panel__subtitle {
    font-size: 14px;
    color: #4a5565;
}

.asp-fixed-panel__actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.asp-fixed-panel__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(220px, 1fr));
    gap: 16px;
}

.asp-control-group {
    border: 1px solid var(--asp-panel-border);
    border-radius: 16px;
    padding: 14px;
    background: #f8fafc;
    min-width: 0;
}

.asp-control-group__label {
    font-size: 15px;
    margin: 0 0 10px;
    font-weight: 700;
}

.asp-button-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.asp-btn,
.asp-select,
.asp-reset,
.asp-icon-button {
    font: inherit;
}

.asp-btn,
.asp-icon-button,
.asp-reset {
    border: 1px solid #cfd6de;
    background: #ffffff;
    color: #111111;
    border-radius: 12px;
    padding: 10px 14px;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.asp-btn:hover,
.asp-btn:focus-visible,
.asp-icon-button:hover,
.asp-icon-button:focus-visible,
.asp-reset:hover,
.asp-reset:focus-visible {
    border-color: var(--asp-panel-accent);
    background: #eef6ff;
}

.asp-select {
    width: 100%;
    min-height: 44px;
    border-radius: 12px;
    border: 1px solid #cfd6de;
    background: #ffffff;
    padding: 10px 12px;
    color: #111111;
}

.asp-status-text {
    margin-top: 8px;
    font-size: 13px;
    color: #475467;
}

.asp-check-list {
    display: grid;
    gap: 10px;
}

.asp-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    font-size: 14px;
    line-height: 1.4;
}

.asp-checkbox input {
    margin-top: 3px;
}

.asp-switch {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
}

.asp-switch input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.asp-switch__slider {
    position: relative;
    width: 48px;
    height: 28px;
    background: var(--asp-switch-track-off, #cfd6de);
    border: 1px solid var(--asp-switch-track-border, rgba(17, 17, 17, 0.18));
    border-radius: 999px;
    transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
    flex: 0 0 auto;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.asp-switch__slider::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--asp-switch-thumb, #ffffff);
    border: 1px solid var(--asp-switch-thumb-border, rgba(17, 17, 17, 0.14));
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.22);
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.asp-switch input:checked + .asp-switch__slider {
    background: var(--asp-switch-track-on, var(--asp-panel-accent));
    border-color: var(--asp-switch-track-on-border, var(--asp-switch-track-on, var(--asp-panel-accent)));
}

.asp-switch input:checked + .asp-switch__slider::after {
    transform: translateX(20px);
}

.asp-switch__label {
    font-weight: 600;
}

.asp-icon-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}



.screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 1280px) {
    .asp-fixed-panel__grid {
        grid-template-columns: repeat(2, minmax(240px, 1fr));
    }
}

@media (max-width: 767px) {
    .asp-fixed-panel__inner {
        padding: 16px;
    }

    .asp-fixed-panel__grid {
        grid-template-columns: 1fr;
    }

    .asp-fixed-panel__actions,
    .asp-fixed-panel__topbar {
        align-items: stretch;
    }

    .asp-reset--top,
    .asp-switch,
    .asp-icon-button {
        width: 100%;
        justify-content: center;
    }
	.asp-launcher {
    padding: 2px 7px 0px 7px !important;
	}
	.asp-reset--top, .asp-switch, .asp-icon-button {
        justify-content: left;
    }
}


/* Ensure switch remains visible in every site color scheme */
html.asp-color-default {
    --asp-switch-track-off: #d7dee6;
    --asp-switch-track-border: rgba(17, 17, 17, 0.18);
    --asp-switch-track-on: #024f94;
    --asp-switch-track-on-border: #024f94;
    --asp-switch-thumb: #ffffff;
    --asp-switch-thumb-border: rgba(17, 17, 17, 0.14);
}

html.asp-color-bw {
    --asp-switch-track-off: #2f2f2f;
    --asp-switch-track-border: #ffffff;
    --asp-switch-track-on: #ffffff;
    --asp-switch-track-on-border: #ffffff;
    --asp-switch-thumb: #000000;
    --asp-switch-thumb-border: #ffffff;
}

html.asp-color-wb {
    --asp-switch-track-off: #d9d9d9;
    --asp-switch-track-border: #000000;
    --asp-switch-track-on: #000000;
    --asp-switch-track-on-border: #000000;
    --asp-switch-thumb: #ffffff;
    --asp-switch-thumb-border: #000000;
}

html.asp-color-yb {
    --asp-switch-track-off: #3b3b00;
    --asp-switch-track-border: #ffd800;
    --asp-switch-track-on: #ffd800;
    --asp-switch-track-on-border: #ffd800;
    --asp-switch-thumb: #000000;
    --asp-switch-thumb-border: #ffd800;
}

html.asp-color-by {
    --asp-switch-track-off: #27446d;
    --asp-switch-track-border: #ffe36a;
    --asp-switch-track-on: #ffe36a;
    --asp-switch-track-on-border: #ffe36a;
    --asp-switch-thumb: #0b2d5c;
    --asp-switch-thumb-border: #ffe36a;
}

html.asp-color-grayscale {
    --asp-switch-track-off: #696969;
    --asp-switch-track-border: #f2f2f2;
    --asp-switch-track-on: #f2f2f2;
    --asp-switch-track-on-border: #f2f2f2;
    --asp-switch-thumb: #222222;
    --asp-switch-thumb-border: #f2f2f2;
}

html.asp-color-bw .asp-switch__slider,
html.asp-color-wb .asp-switch__slider,
html.asp-color-yb .asp-switch__slider,
html.asp-color-by .asp-switch__slider,
html.asp-color-grayscale .asp-switch__slider {
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.06);
}


button.asp-icon-button svg {
    margin-bottom: -4px;
}

.asp-bg-grayscale {
    filter: grayscale(100%) !important;
}



html.asp-color-bw svg,
html.asp-color-bw svg *,
html.asp-color-bw path,
html.asp-color-bw circle,
html.asp-color-bw rect,
html.asp-color-bw polygon,
html.asp-color-bw line,
html.asp-color-bw polyline,
html.asp-color-bw ellipse {
    fill: #ffffff !important;
    stroke: #ffffff !important;
    color: #ffffff !important;
}

html.asp-color-wb svg,
html.asp-color-wb svg *,
html.asp-color-wb path,
html.asp-color-wb circle,
html.asp-color-wb rect,
html.asp-color-wb polygon,
html.asp-color-wb line,
html.asp-color-wb polyline,
html.asp-color-wb ellipse {
    fill: #000000 !important;
    stroke: #000000 !important;
    color: #000000 !important;
}

html.asp-color-yb svg,
html.asp-color-yb svg *,
html.asp-color-yb path,
html.asp-color-yb circle,
html.asp-color-yb rect,
html.asp-color-yb polygon,
html.asp-color-yb line,
html.asp-color-yb polyline,
html.asp-color-yb ellipse {
    fill: #ffd800 !important;
    stroke: #ffd800 !important;
    color: #ffd800 !important;
}

html.asp-color-by svg,
html.asp-color-by svg *,
html.asp-color-by path,
html.asp-color-by circle,
html.asp-color-by rect,
html.asp-color-by polygon,
html.asp-color-by line,
html.asp-color-by polyline,
html.asp-color-by ellipse {
    fill: #ffe66d !important;
    stroke: #ffe66d !important;
    color: #ffe66d !important;
}

html.asp-color-soft svg,
html.asp-color-soft svg *,
html.asp-color-soft path,
html.asp-color-soft circle,
html.asp-color-soft rect,
html.asp-color-soft polygon,
html.asp-color-soft line,
html.asp-color-soft polyline,
html.asp-color-soft ellipse {
    fill: #1f2430 !important;
    stroke: #1f2430 !important;
    color: #1f2430 !important;
}

html.asp-color-grayscale svg,
html.asp-color-grayscale svg *,
html.asp-color-grayscale path,
html.asp-color-grayscale circle,
html.asp-color-grayscale rect,
html.asp-color-grayscale polygon,
html.asp-color-grayscale line,
html.asp-color-grayscale polyline,
html.asp-color-grayscale ellipse {
    filter: grayscale(100%) !important;
}




.asp-fixed-panel,
.asp-fixed-panel *,
.asp-launcher,
.asp-launcher * {
    background-image: none;
}




html.asp-color-bw .elementor-shape-fill,
html.asp-color-bw svg .elementor-shape-fill,
html.asp-color-bw svg path.elementor-shape-fill {
    fill: #000000 !important;
    stroke: #000000 !important;
    color: #000000 !important;
}

html.asp-color-wb .elementor-shape-fill,
html.asp-color-wb svg .elementor-shape-fill,
html.asp-color-wb svg path.elementor-shape-fill {
    fill: #ffffff !important;
    stroke: #ffffff !important;
    color: #ffffff !important;
}

html.asp-color-yb .elementor-shape-fill,
html.asp-color-yb svg .elementor-shape-fill,
html.asp-color-yb svg path.elementor-shape-fill {
    fill: #000000 !important;
    stroke: #000000 !important;
    color: #000000 !important;
}

html.asp-color-by .elementor-shape-fill,
html.asp-color-by svg .elementor-shape-fill,
html.asp-color-by svg path.elementor-shape-fill {
    fill: #0b2d5c !important;
    stroke: #0b2d5c !important;
    color: #0b2d5c !important;
}

html.asp-color-soft .elementor-shape-fill,
html.asp-color-soft svg .elementor-shape-fill,
html.asp-color-soft svg path.elementor-shape-fill {
    fill: #f5f2ea !important;
    stroke: #f5f2ea !important;
    color: #f5f2ea !important;
}

html.asp-color-grayscale .elementor-shape-fill,
html.asp-color-grayscale svg .elementor-shape-fill,
html.asp-color-grayscale svg path.elementor-shape-fill {
    filter: grayscale(100%) !important;
}




/* Extra scaling for widgets/sliders that use fixed px font sizes */
html.asp-mode-enabled .elementor-slide-heading,
html.asp-mode-enabled .elementor-slide-description,
html.asp-mode-enabled .elementor-slide-button,
html.asp-mode-enabled .swiper-slide-inner,
html.asp-mode-enabled .swiper-slide-inner *,
html.asp-mode-enabled .swiper-slide-contents,
html.asp-mode-enabled .swiper-slide-contents *,
html.asp-mode-enabled .elementor-widget-slides .elementor-slide-heading,
html.asp-mode-enabled .elementor-widget-slides .elementor-slide-description,
html.asp-mode-enabled .elementor-widget-slides .elementor-slide-button,
html.asp-mode-enabled .elementor-widget-slides .swiper-slide-inner,
html.asp-mode-enabled .elementor-widget-slides .swiper-slide-inner *,
html.asp-mode-enabled .elementor-widget-image-carousel *,
html.asp-mode-enabled .elementor-swiper-button,
html.asp-mode-enabled .swiper *,
html.asp-mode-enabled .swiper * {
    font-size: calc(1em * var(--asp-font-scale, 100%) / 100) !important;
}




/* Keep launcher icon visible when media is disabled */
html.asp-media-off .asp-launcher svg,
html.asp-media-off .asp-launcher svg *,
html.asp-media-off .asp-launcher .asp-launcher__icon,
html.asp-media-off .asp-launcher .asp-launcher__icon * ,
html.asp-text-only-enabled .asp-launcher svg,
html.asp-text-only-enabled .asp-launcher svg *,
html.asp-text-only-enabled .asp-launcher .asp-launcher__icon,
html.asp-text-only-enabled .asp-launcher .asp-launcher__icon * {
    display: inline !important;
    visibility: visible !important;
    opacity: 1 !important;
}




@media (max-width: 767px) {
    .asp-fixed-panel__topbar {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .asp-fixed-panel__actions {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 10px;
    }

    .asp-fixed-panel__actions [data-asp-collapse] {
        order: -10;
        width: 100%;
        justify-content: center;
        margin-bottom: 2px;
    }

    .asp-fixed-panel__title-wrap {
        order: 2;
    }
}

