/* Absolute hover-motion lock. Loaded after all Student Portal visual layers. */

body:not(.sp-board-only-page):not(.sp-class-only-page) {
    --e-transform-translateX: 0px !important;
    --e-transform-translateY: 0px !important;
    --e-transform-scale: 1 !important;
    --e-transform-scaleX: 1 !important;
    --e-transform-scaleY: 1 !important;
    --e-transform-rotateZ: 0deg !important;
    --e-transform-skewX: 0deg !important;
    --e-transform-skewY: 0deg !important;
}

body:not(.sp-board-only-page):not(.sp-class-only-page) .elementor-element,
body:not(.sp-board-only-page):not(.sp-class-only-page) .elementor-widget-container {
    --e-transform-translateX: 0px !important;
    --e-transform-translateY: 0px !important;
    --e-transform-scale: 1 !important;
    --e-transform-scaleX: 1 !important;
    --e-transform-scaleY: 1 !important;
    --e-transform-rotateZ: 0deg !important;
    --e-transform-skewX: 0deg !important;
    --e-transform-skewY: 0deg !important;
}

body:not(.sp-board-only-page):not(.sp-class-only-page) :is(
    a,
    button,
    summary,
    [role="button"],
    [class*="elementor-animation-"]
),
body:not(.sp-board-only-page):not(.sp-class-only-page) :is(
    a,
    button,
    summary,
    [role="button"],
    [class*="elementor-animation-"]
):hover,
body:not(.sp-board-only-page):not(.sp-class-only-page) .elementor-element:hover,
body:not(.sp-board-only-page):not(.sp-class-only-page) .elementor-widget-container:hover {
    transform: none !important;
    translate: none !important;
    scale: none !important;
    rotate: none !important;
    animation: none !important;
}

body:not(.sp-board-only-page):not(.sp-class-only-page) [class*="elementor-animation-"] {
    transition-property: color, background-color, border-color, box-shadow, opacity !important;
}

/* Both FAQ implementations: fixed geometry in normal, focus and hover states. */
.sp-faq .sp-faq-item,
.sp-faq .sp-faq-item:hover,
.sp-faq .sp-faq-item:focus-within,
.sp-faq .sp-faq-item summary,
.sp-faq .sp-faq-item summary:hover,
.sp-faq .sp-faq-item summary:focus,
.sp-faq .sp-faq-item summary *,
.sp-el-faq-accordion .elementor-accordion-item,
.sp-el-faq-accordion .elementor-accordion-item:hover,
.sp-el-faq-accordion .elementor-tab-title,
.sp-el-faq-accordion .elementor-tab-title:hover,
.sp-el-faq-accordion .elementor-tab-title *,
body.sp-native-faq-page .elementor-accordion-item,
body.sp-native-faq-page .elementor-accordion-item:hover,
body.sp-native-faq-page .elementor-tab-title,
body.sp-native-faq-page .elementor-tab-title:hover,
body.sp-native-faq-page .elementor-tab-title * {
    transform: none !important;
    translate: none !important;
    scale: none !important;
    rotate: none !important;
    animation: none !important;
}

/* Elementor Nested Accordion and every inner part of a FAQ question. */
:is(.sp-el-faq, .sp-faq, body.sp-native-faq-page) :is(
    .elementor-accordion-item,
    .elementor-tab-title,
    .e-n-accordion-item,
    .e-n-accordion-item-title,
    .e-n-accordion-item-title-header,
    .e-n-accordion-item-title-text,
    summary
),
:is(.sp-el-faq, .sp-faq, body.sp-native-faq-page) :is(
    .elementor-accordion-item,
    .elementor-tab-title,
    .e-n-accordion-item,
    .e-n-accordion-item-title,
    .e-n-accordion-item-title-header,
    .e-n-accordion-item-title-text,
    summary
):hover {
    transform: none !important;
    translate: none !important;
    scale: none !important;
    rotate: none !important;
    animation: none !important;
    transition: none !important;
}

/* Same lock even if the FAQ wrapper was renamed manually in Elementor. */
:is(.elementor-widget-accordion, .elementor-widget-n-accordion) :is(
    .elementor-accordion-item,
    .elementor-tab-title,
    .e-n-accordion-item,
    .e-n-accordion-item-title,
    .e-n-accordion-item-title-header,
    .e-n-accordion-item-title-text,
    summary
),
:is(.elementor-widget-accordion, .elementor-widget-n-accordion) :is(
    .elementor-accordion-item,
    .elementor-tab-title,
    .e-n-accordion-item,
    .e-n-accordion-item-title,
    .e-n-accordion-item-title-header,
    .e-n-accordion-item-title-text,
    summary
):hover {
    transform: none !important;
    translate: none !important;
    scale: none !important;
    rotate: none !important;
    animation: none !important;
    transition: none !important;
}

:is(.elementor-widget-accordion, .elementor-widget-n-accordion) :is(
    .elementor-accordion-item,
    .elementor-tab-title,
    .e-n-accordion-item,
    .e-n-accordion-item-title,
    .e-n-accordion-item-title-header,
    .e-n-accordion-item-title-text,
    summary
)::before,
:is(.elementor-widget-accordion, .elementor-widget-n-accordion) :is(
    .elementor-accordion-item,
    .elementor-tab-title,
    .e-n-accordion-item,
    .e-n-accordion-item-title,
    .e-n-accordion-item-title-header,
    .e-n-accordion-item-title-text,
    summary
)::after {
    transform: none !important;
    translate: none !important;
    scale: none !important;
    animation: none !important;
    transition: none !important;
}

:is(.sp-el-faq, .sp-faq, body.sp-native-faq-page) :is(
    .elementor-accordion-item,
    .elementor-tab-title,
    .e-n-accordion-item,
    .e-n-accordion-item-title,
    .e-n-accordion-item-title-header,
    .e-n-accordion-item-title-text,
    summary
)::before,
:is(.sp-el-faq, .sp-faq, body.sp-native-faq-page) :is(
    .elementor-accordion-item,
    .elementor-tab-title,
    .e-n-accordion-item,
    .e-n-accordion-item-title,
    .e-n-accordion-item-title-header,
    .e-n-accordion-item-title-text,
    summary
)::after {
    transform: none !important;
    translate: none !important;
    scale: none !important;
    animation: none !important;
    transition: none !important;
}

.sp-faq .sp-faq-item summary,
.sp-faq .sp-faq-item summary:hover,
.sp-faq .sp-faq-item summary:focus {
    padding: 16px 52px 16px 18px !important;
}

.sp-el-faq-accordion .elementor-tab-title,
.sp-el-faq-accordion .elementor-tab-title:hover,
.sp-el-faq-accordion .elementor-tab-title:focus,
body.sp-native-faq-page .elementor-tab-title,
body.sp-native-faq-page .elementor-tab-title:hover,
body.sp-native-faq-page .elementor-tab-title:focus {
    padding: 16px 18px !important;
}

.sp-faq .sp-faq-item,
.sp-faq .sp-faq-item *,
.sp-el-faq-accordion .elementor-accordion-item,
.sp-el-faq-accordion .elementor-tab-title,
body.sp-native-faq-page .elementor-accordion-item,
body.sp-native-faq-page .elementor-tab-title {
    transition-property: color, background-color, border-color, box-shadow, opacity !important;
}

/* Footer remains still while retaining harmless colour changes. */
.sp-elementor-site-footer,
.sp-elementor-site-footer *,
.sp-site-footer,
.sp-site-footer * {
    transform: none !important;
    translate: none !important;
    scale: none !important;
    rotate: none !important;
    animation: none !important;
    transition-property: color, background-color, border-color, box-shadow, opacity !important;
}
