@charset "UTF-8";

@font-face {
    font-family: swiper-icons;
    src: url("data:application/font-woff;charset=utf-8;base64,\ d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
    font-weight: 400;
    font-style: normal
}

:root {
    --swiper-theme-color: #007aff
}

:host {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 1
}

.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
    display: block
}

.swiper-vertical>.swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    box-sizing: content-box
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
    transform: translateZ(0)
}

.swiper-horizontal {
    touch-action: pan-y
}

.swiper-vertical {
    touch-action: pan-x
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
    display: block
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
    height: auto
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height
}

.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    backface-visibility: hidden
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px
}

.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-3d {
    perspective: 1200px
}

.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
    transform-style: preserve-3d
}

.swiper-css-mode>.swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
    display: none
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: start start
}

.swiper-css-mode.swiper-horizontal>.swiper-wrapper {
    scroll-snap-type: x mandatory
}

.swiper-css-mode.swiper-vertical>.swiper-wrapper {
    scroll-snap-type: y mandatory
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper {
    scroll-snap-type: none
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: none
}

.swiper-css-mode.swiper-centered>.swiper-wrapper:before {
    content: "";
    flex-shrink: 0;
    order: 9999
}

.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop: always
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
    margin-inline-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after)
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-3d .swiper-slide-shadow {
    background: rgba(0, 0, 0, .15)
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(360deg)
    }
}

.swiper-grid>.swiper-wrapper {
    flex-wrap: wrap
}

.swiper-grid-column>.swiper-wrapper {
    flex-wrap: wrap;
    flex-direction: column
}

.swiper-pagination {
    position: absolute;
    text-align: center;
    transition: .3s opacity;
    transform: translateZ(0);
    z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0
}

.swiper-pagination-disabled>.swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
    display: none !important
}

.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: var(--swiper-pagination-bottom, 8px);
    top: var(--swiper-pagination-top, auto);
    left: 0;
    width: 100%
}

.swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transform: scale(.33);
    position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    transform: scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(.33)
}

.swiper-pagination-bullet {
    width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
    display: inline-block;
    border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
    background: var(--swiper-pagination-bullet-inactive-color, #000);
    opacity: var(--swiper-pagination-bullet-inactive-opacity, .2)
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer
}

.swiper-pagination-bullet:only-child {
    display: none !important
}

.swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background: var(--swiper-pagination-color, var(--swiper-theme-color))
}

.swiper-vertical>.swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
    right: var(--swiper-pagination-right, 8px);
    left: var(--swiper-pagination-left, auto);
    top: 50%;
    transform: translate3d(0, -50%, 0)
}

.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
    display: block
}

.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px
}

.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    transition: .2s transform, .2s top
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px)
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translate(-50%);
    white-space: nowrap
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s transform, .2s left
}

.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s transform, .2s right
}

.swiper-pagination-fraction {
    color: var(--swiper-pagination-fraction-color, inherit)
}

.swiper-pagination-progressbar {
    background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));
    position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    transform-origin: right top
}

.swiper-horizontal>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: var(--swiper-pagination-progressbar-size, 4px);
    left: 0;
    top: 0
}

.swiper-vertical>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
    width: var(--swiper-pagination-progressbar-size, 4px);
    height: 100%;
    left: 0;
    top: 0
}

.swiper-pagination-lock {
    display: none
}

:root {
    --f-spinner-width: 36px;
    --f-spinner-height: 36px;
    --f-spinner-color-1: rgba(0, 0, 0, .1);
    --f-spinner-color-2: rgba(17, 24, 28, .8);
    --f-spinner-stroke: 2.75
}

.f-spinner {
    margin: auto;
    padding: 0;
    width: var(--f-spinner-width);
    height: var(--f-spinner-height)
}

.f-spinner svg {
    width: 100%;
    height: 100%;
    vertical-align: top;
    animation: f-spinner-rotate 2s linear infinite
}

.f-spinner svg * {
    stroke-width: var(--f-spinner-stroke);
    fill: none
}

.f-spinner svg *:first-child {
    stroke: var(--f-spinner-color-1)
}

.f-spinner svg *:last-child {
    stroke: var(--f-spinner-color-2);
    animation: f-spinner-dash 2s ease-in-out infinite
}

@keyframes f-spinner-rotate {
    to {
        transform: rotate(360deg)
    }
}

@keyframes f-spinner-dash {
    0% {
        stroke-dasharray: 1, 150;
        stroke-dashoffset: 0
    }

    50% {
        stroke-dasharray: 90, 150;
        stroke-dashoffset: -35
    }

    to {
        stroke-dasharray: 90, 150;
        stroke-dashoffset: -124
    }
}

.f-throwOutUp {
    animation: var(--f-throw-out-duration, .175s) ease-out both f-throwOutUp
}

.f-throwOutDown {
    animation: var(--f-throw-out-duration, .175s) ease-out both f-throwOutDown
}

@keyframes f-throwOutUp {
    to {
        transform: translate3d(0, calc(var(--f-throw-out-distance, 150px) * -1), 0);
        opacity: 0
    }
}

@keyframes f-throwOutDown {
    to {
        transform: translate3d(0, var(--f-throw-out-distance, 150px), 0);
        opacity: 0
    }
}

.f-zoomInUp {
    animation: var(--f-transition-duration, .2s) ease .1s both f-zoomInUp
}

.f-zoomOutDown {
    animation: var(--f-transition-duration, .2s) ease both f-zoomOutDown
}

@keyframes f-zoomInUp {
    0% {
        transform: scale(.975) translate3d(0, 16px, 0);
        opacity: 0
    }

    to {
        transform: scale(1) translateZ(0);
        opacity: 1
    }
}

@keyframes f-zoomOutDown {
    to {
        transform: scale(.975) translate3d(0, 16px, 0);
        opacity: 0
    }
}

.f-fadeIn {
    animation: var(--f-transition-duration, .2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeIn;
    z-index: 2
}

.f-fadeOut {
    animation: var(--f-transition-duration, .2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeOut;
    z-index: 1
}

@keyframes f-fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes f-fadeOut {
    to {
        opacity: 0
    }
}

.f-fadeFastIn {
    animation: var(--f-transition-duration, .2s) ease-out both f-fadeFastIn;
    z-index: 2
}

.f-fadeFastOut {
    animation: var(--f-transition-duration, .1s) ease-out both f-fadeFastOut;
    z-index: 2
}

@keyframes f-fadeFastIn {
    0% {
        opacity: .75
    }

    to {
        opacity: 1
    }
}

@keyframes f-fadeFastOut {
    to {
        opacity: 0
    }
}

.f-fadeSlowIn {
    animation: var(--f-transition-duration, .5s) ease both f-fadeSlowIn;
    z-index: 2
}

.f-fadeSlowOut {
    animation: var(--f-transition-duration, .5s) ease both f-fadeSlowOut;
    z-index: 1
}

@keyframes f-fadeSlowIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes f-fadeSlowOut {
    to {
        opacity: 0
    }
}

.f-crossfadeIn {
    animation: var(--f-transition-duration, .2s) ease-out both f-crossfadeIn;
    z-index: 2
}

.f-crossfadeOut {
    animation: calc(var(--f-transition-duration, .2s)*.5) linear .1s both f-crossfadeOut;
    z-index: 1
}

@keyframes f-crossfadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes f-crossfadeOut {
    to {
        opacity: 0
    }
}

.f-slideIn.from-next {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16, 1, .3, 1) f-slideInNext
}

.f-slideIn.from-prev {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16, 1, .3, 1) f-slideInPrev
}

.f-slideOut.to-next {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16, 1, .3, 1) f-slideOutNext
}

.f-slideOut.to-prev {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16, 1, .3, 1) f-slideOutPrev
}

@keyframes f-slideInPrev {
    0% {
        transform: translate(100%)
    }

    to {
        transform: translateZ(0)
    }
}

@keyframes f-slideInNext {
    0% {
        transform: translate(-100%)
    }

    to {
        transform: translateZ(0)
    }
}

@keyframes f-slideOutNext {
    to {
        transform: translate(-100%)
    }
}

@keyframes f-slideOutPrev {
    to {
        transform: translate(100%)
    }
}

.f-classicIn.from-next {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16, 1, .3, 1) f-classicInNext;
    z-index: 2
}

.f-classicIn.from-prev {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16, 1, .3, 1) f-classicInPrev;
    z-index: 2
}

.f-classicOut.to-next {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16, 1, .3, 1) f-classicOutNext;
    z-index: 1
}

.f-classicOut.to-prev {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16, 1, .3, 1) f-classicOutPrev;
    z-index: 1
}

@keyframes f-classicInNext {
    0% {
        transform: translate(-75px);
        opacity: 0
    }

    to {
        transform: translateZ(0);
        opacity: 1
    }
}

@keyframes f-classicInPrev {
    0% {
        transform: translate(75px);
        opacity: 0
    }

    to {
        transform: translateZ(0);
        opacity: 1
    }
}

@keyframes f-classicOutNext {
    to {
        transform: translate(-75px);
        opacity: 0
    }
}

@keyframes f-classicOutPrev {
    to {
        transform: translate(75px);
        opacity: 0
    }
}

:root {
    --f-button-width: 40px;
    --f-button-height: 40px;
    --f-button-border: 0;
    --f-button-border-radius: 0;
    --f-button-color: #374151;
    --f-button-bg: #f8f8f8;
    --f-button-hover-bg: #e0e0e0;
    --f-button-active-bg: #d0d0d0;
    --f-button-shadow: none;
    --f-button-transition: all .15s ease;
    --f-button-transform: none;
    --f-button-svg-width: 20px;
    --f-button-svg-height: 20px;
    --f-button-svg-stroke-width: 1.5;
    --f-button-svg-fill: none;
    --f-button-svg-filter: none;
    --f-button-svg-disabled-opacity: .65
}

.f-button {
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: content-box;
    position: relative;
    margin: 0;
    padding: 0;
    width: var(--f-button-width);
    height: var(--f-button-height);
    border: var(--f-button-border);
    border-radius: var(--f-button-border-radius);
    color: var(--f-button-color);
    background: var(--f-button-bg);
    box-shadow: var(--f-button-shadow);
    pointer-events: all;
    cursor: pointer;
    transition: var(--f-button-transition)
}

@media (hover: hover) {
    .f-button:hover:not([disabled]) {
        color: var(--f-button-hover-color);
        background-color: var(--f-button-hover-bg)
    }
}

.f-button:active:not([disabled]) {
    background-color: var(--f-button-active-bg)
}

.f-button:focus:not(:focus-visible) {
    outline: none
}

.f-button:focus-visible {
    outline: none;
    box-shadow: inset 0 0 0 var(--f-button-outline, 2px) var(--f-button-outline-color, var(--f-button-color))
}

.f-button svg {
    width: var(--f-button-svg-width);
    height: var(--f-button-svg-height);
    fill: var(--f-button-svg-fill);
    stroke: currentColor;
    stroke-width: var(--f-button-svg-stroke-width);
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: opacity .15s ease;
    transform: var(--f-button-transform);
    filter: var(--f-button-svg-filter);
    pointer-events: none
}

.f-button[disabled] {
    cursor: default
}

.f-button[disabled] svg {
    opacity: var(--f-button-svg-disabled-opacity)
}

.f-carousel__nav .f-button.is-prev,
.f-carousel__nav .f-button.is-next,
.fancybox__nav .f-button.is-prev,
.fancybox__nav .f-button.is-next {
    position: absolute;
    z-index: 1
}

.is-horizontal .f-carousel__nav .f-button.is-prev,
.is-horizontal .f-carousel__nav .f-button.is-next,
.is-horizontal .fancybox__nav .f-button.is-prev,
.is-horizontal .fancybox__nav .f-button.is-next {
    top: 50%;
    transform: translateY(-50%)
}

.is-horizontal .f-carousel__nav .f-button.is-prev,
.is-horizontal .fancybox__nav .f-button.is-prev {
    left: var(--f-button-prev-pos)
}

.is-horizontal .f-carousel__nav .f-button.is-next,
.is-horizontal .fancybox__nav .f-button.is-next {
    right: var(--f-button-next-pos)
}

.is-horizontal.is-rtl .f-carousel__nav .f-button.is-prev,
.is-horizontal.is-rtl .fancybox__nav .f-button.is-prev {
    left: auto;
    right: var(--f-button-next-pos)
}

.is-horizontal.is-rtl .f-carousel__nav .f-button.is-next,
.is-horizontal.is-rtl .fancybox__nav .f-button.is-next {
    right: auto;
    left: var(--f-button-prev-pos)
}

.is-vertical .f-carousel__nav .f-button.is-prev,
.is-vertical .f-carousel__nav .f-button.is-next,
.is-vertical .fancybox__nav .f-button.is-prev,
.is-vertical .fancybox__nav .f-button.is-next {
    top: auto;
    left: 50%;
    transform: translate(-50%)
}

.is-vertical .f-carousel__nav .f-button.is-prev,
.is-vertical .fancybox__nav .f-button.is-prev {
    top: var(--f-button-next-pos)
}

.is-vertical .f-carousel__nav .f-button.is-next,
.is-vertical .fancybox__nav .f-button.is-next {
    bottom: var(--f-button-next-pos)
}

.is-vertical .f-carousel__nav .f-button.is-prev svg,
.is-vertical .f-carousel__nav .f-button.is-next svg,
.is-vertical .fancybox__nav .f-button.is-prev svg,
.is-vertical .fancybox__nav .f-button.is-next svg {
    transform: rotate(90deg)
}

.f-carousel__nav .f-button:disabled,
.fancybox__nav .f-button:disabled {
    pointer-events: none
}

html.with-fancybox {
    width: auto;
    overflow: visible;
    scroll-behavior: auto
}

html.with-fancybox body {
    touch-action: none
}

html.with-fancybox body.hide-scrollbar {
    width: auto;
    margin-right: calc(var(--fancybox-body-margin, 0px) + var(--fancybox-scrollbar-compensate, 0px));
    overflow: hidden !important;
    overscroll-behavior-y: none
}

.fancybox__container {
    --fancybox-color: #dbdbdb;
    --fancybox-hover-color: #fff;
    --fancybox-bg: rgba(24, 24, 27, .98);
    --fancybox-slide-gap: 10px;
    --f-spinner-width: 50px;
    --f-spinner-height: 50px;
    --f-spinner-color-1: rgba(255, 255, 255, .1);
    --f-spinner-color-2: #bbb;
    --f-spinner-stroke: 3.65;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    direction: ltr;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    color: #f8f8f8;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    overflow: visible;
    z-index: var(--fancybox-zIndex, 1050);
    outline: none;
    transform-origin: top left;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: none;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
    overscroll-behavior-y: contain
}

.fancybox__container *,
.fancybox__container *:before,
.fancybox__container *:after {
    box-sizing: inherit
}

.fancybox__container::backdrop {
    background-color: #0000
}

.fancybox__backdrop {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: -1;
    background: var(--fancybox-bg);
    opacity: var(--fancybox-opacity, 1);
    will-change: opacity
}

.fancybox__carousel {
    position: relative;
    box-sizing: border-box;
    flex: 1;
    min-height: 0;
    z-index: 10;
    overflow-y: visible;
    overflow-x: clip
}

.fancybox__viewport {
    width: 100%;
    height: 100%
}

.fancybox__viewport.is-draggable {
    cursor: move;
    cursor: grab
}

.fancybox__viewport.is-dragging {
    cursor: move;
    cursor: grabbing
}

.fancybox__track {
    display: flex;
    margin: 0 auto;
    height: 100%
}

.fancybox__slide {
    flex: 0 0 auto;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: 100%;
    margin: 0 var(--fancybox-slide-gap) 0 0;
    padding: 4px;
    overflow: auto;
    overscroll-behavior: contain;
    transform: translateZ(0);
    backface-visibility: hidden
}

.fancybox__container:not(.is-compact) .fancybox__slide.has-close-btn {
    padding-top: 40px
}

.fancybox__slide.has-iframe,
.fancybox__slide.has-video,
.fancybox__slide.has-html5video,
.fancybox__slide.has-image {
    overflow: hidden
}

.fancybox__slide.has-image.is-animating,
.fancybox__slide.has-image.is-selected {
    overflow: visible
}

.fancybox__slide:before,
.fancybox__slide:after {
    content: "";
    flex: 0 0 0;
    margin: auto
}

.fancybox__backdrop:empty,
.fancybox__viewport:empty,
.fancybox__track:empty,
.fancybox__slide:empty {
    display: block
}

.fancybox__content {
    align-self: center;
    display: flex;
    flex-direction: column;
    position: relative;
    margin: 0;
    padding: 2rem;
    max-width: 100%;
    color: var(--fancybox-content-color, #374151);
    background: var(--fancybox-content-bg, #fff);
    cursor: default;
    border-radius: 0;
    z-index: 20
}

.is-loading .fancybox__content {
    opacity: 0
}

.is-draggable .fancybox__content {
    cursor: move;
    cursor: grab
}

.can-zoom_in .fancybox__content {
    cursor: zoom-in
}

.can-zoom_out .fancybox__content {
    cursor: zoom-out
}

.is-dragging .fancybox__content {
    cursor: move;
    cursor: grabbing
}

.fancybox__content [data-selectable],
.fancybox__content [contenteditable] {
    cursor: auto
}

.fancybox__slide.has-image>.fancybox__content {
    padding: 0;
    background: rgba(0, 0, 0, 0);
    min-height: 1px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    transition: none;
    transform: translateZ(0);
    backface-visibility: hidden
}

.fancybox__slide.has-image>.fancybox__content>picture>img {
    width: 100%;
    height: auto;
    max-height: 100%
}

.is-animating .fancybox__content,
.is-dragging .fancybox__content {
    will-change: transform, width, height
}

.fancybox-image {
    margin: auto;
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: contain;
    -webkit-user-select: none;
    user-select: none;
    filter: blur(0px)
}

.fancybox__caption {
    align-self: center;
    max-width: 100%;
    flex-shrink: 0;
    margin: 0;
    padding: 14px 0 4px;
    overflow-wrap: anywhere;
    line-height: 1.375;
    color: var(--fancybox-color, currentColor);
    opacity: var(--fancybox-opacity, 1);
    cursor: auto;
    visibility: visible
}

.is-loading .fancybox__caption,
.is-closing .fancybox__caption {
    opacity: 0;
    visibility: hidden
}

.is-compact .fancybox__caption {
    padding-bottom: 0
}

.f-button.is-close-btn {
    --f-button-svg-stroke-width: 2;
    position: absolute;
    top: 0;
    right: 8px;
    z-index: 40
}

.fancybox__content>.f-button.is-close-btn {
    --f-button-width: 34px;
    --f-button-height: 34px;
    --f-button-border-radius: 4px;
    --f-button-color: var(--fancybox-color, #fff);
    --f-button-hover-color: var(--fancybox-color, #fff);
    --f-button-bg: transparent;
    --f-button-hover-bg: transparent;
    --f-button-active-bg: transparent;
    --f-button-svg-width: 22px;
    --f-button-svg-height: 22px;
    position: absolute;
    top: -38px;
    right: 0;
    opacity: .75
}

.is-loading .fancybox__content>.f-button.is-close-btn {
    visibility: hidden
}

.is-zooming-out .fancybox__content>.f-button.is-close-btn {
    visibility: hidden
}

.fancybox__content>.f-button.is-close-btn:hover {
    opacity: 1
}

.fancybox__footer {
    padding: 0;
    margin: 0;
    position: relative
}

.fancybox__footer .fancybox__caption {
    width: 100%;
    padding: 24px;
    opacity: var(--fancybox-opacity, 1);
    transition: all .25s ease
}

.is-compact .fancybox__footer {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 20;
    background: rgba(24, 24, 27, .5)
}

.is-compact .fancybox__footer .fancybox__caption {
    padding: 12px
}

.is-compact .fancybox__content>.f-button.is-close-btn {
    --f-button-border-radius: 50%;
    --f-button-color: #fff;
    --f-button-hover-color: #fff;
    --f-button-outline-color: #000;
    --f-button-bg: rgba(0, 0, 0, .6);
    --f-button-active-bg: rgba(0, 0, 0, .6);
    --f-button-hover-bg: rgba(0, 0, 0, .6);
    --f-button-svg-width: 18px;
    --f-button-svg-height: 18px;
    --f-button-svg-filter: none;
    top: 5px;
    right: 5px
}

.fancybox__nav {
    --f-button-width: 50px;
    --f-button-height: 50px;
    --f-button-border: 0;
    --f-button-border-radius: 50%;
    --f-button-color: var(--fancybox-color);
    --f-button-hover-color: var(--fancybox-hover-color);
    --f-button-bg: transparent;
    --f-button-hover-bg: rgba(24, 24, 27, .3);
    --f-button-active-bg: rgba(24, 24, 27, .5);
    --f-button-shadow: none;
    --f-button-transition: all .15s ease;
    --f-button-transform: none;
    --f-button-svg-width: 26px;
    --f-button-svg-height: 26px;
    --f-button-svg-stroke-width: 2.5;
    --f-button-svg-fill: none;
    --f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, .5));
    --f-button-svg-disabled-opacity: .65;
    --f-button-next-pos: 1rem;
    --f-button-prev-pos: 1rem;
    opacity: var(--fancybox-opacity, 1)
}

.fancybox__nav .f-button:before {
    position: absolute;
    content: "";
    top: -30px;
    right: -20px;
    left: -20px;
    bottom: -30px;
    z-index: 1
}

.is-idle .fancybox__nav {
    animation: .15s ease-out both f-fadeOut
}

.is-idle.is-compact .fancybox__footer {
    pointer-events: none;
    animation: .15s ease-out both f-fadeOut
}

.fancybox__slide>.f-spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: var(--f-spinner-top, calc(var(--f-spinner-width) * -.5)) 0 0 var(--f-spinner-left, calc(var(--f-spinner-height) * -.5));
    z-index: 30;
    cursor: pointer
}

.fancybox-protected {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 40;
    -webkit-user-select: none;
    user-select: none
}

.fancybox-ghost {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: contain;
    z-index: 40;
    -webkit-user-select: none;
    user-select: none;
    pointer-events: none
}

.fancybox-focus-guard {
    outline: none;
    opacity: 0;
    position: fixed;
    pointer-events: none
}

.fancybox__container:not([aria-hidden]) {
    opacity: 0
}

.fancybox__container.is-animated[aria-hidden=false]>*:not(.fancybox__backdrop, .fancybox__carousel),
.fancybox__container.is-animated[aria-hidden=false] .fancybox__carousel>*:not(.fancybox__viewport),
.fancybox__container.is-animated[aria-hidden=false] .fancybox__slide>*:not(.fancybox__content) {
    animation: var(--f-interface-enter-duration, .25s) ease .1s backwards f-fadeIn
}

.fancybox__container.is-animated[aria-hidden=false] .fancybox__backdrop {
    animation: var(--f-backdrop-enter-duration, .35s) ease backwards f-fadeIn
}

.fancybox__container.is-animated[aria-hidden=true]>*:not(.fancybox__backdrop, .fancybox__carousel),
.fancybox__container.is-animated[aria-hidden=true] .fancybox__carousel>*:not(.fancybox__viewport),
.fancybox__container.is-animated[aria-hidden=true] .fancybox__slide>*:not(.fancybox__content) {
    animation: var(--f-interface-exit-duration, .15s) ease forwards f-fadeOut
}

.fancybox__container.is-animated[aria-hidden=true] .fancybox__backdrop {
    animation: var(--f-backdrop-exit-duration, .35s) ease forwards f-fadeOut
}

.has-iframe .fancybox__content,
.has-map .fancybox__content,
.has-pdf .fancybox__content,
.has-youtube .fancybox__content,
.has-vimeo .fancybox__content,
.has-html5video .fancybox__content {
    max-width: 100%;
    flex-shrink: 1;
    min-height: 1px;
    overflow: visible
}

.has-iframe .fancybox__content,
.has-map .fancybox__content,
.has-pdf .fancybox__content {
    width: calc(100% - 120px);
    height: 90%
}

.fancybox__container.is-compact .has-iframe .fancybox__content,
.fancybox__container.is-compact .has-map .fancybox__content,
.fancybox__container.is-compact .has-pdf .fancybox__content {
    width: 100%;
    height: 100%
}

.has-youtube .fancybox__content,
.has-vimeo .fancybox__content,
.has-html5video .fancybox__content {
    width: 960px;
    height: 540px;
    max-width: 100%;
    max-height: 100%
}

.has-map .fancybox__content,
.has-pdf .fancybox__content,
.has-youtube .fancybox__content,
.has-vimeo .fancybox__content,
.has-html5video .fancybox__content {
    padding: 0;
    background: rgba(24, 24, 27, .9);
    color: #fff
}

.has-map .fancybox__content {
    background: #e5e3df
}

.fancybox__html5video,
.fancybox__iframe {
    border: 0;
    display: block;
    height: 100%;
    width: 100%;
    background: rgba(0, 0, 0, 0)
}

.fancybox-placeholder {
    border: 0 !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    -webkit-clip-path: inset(50%) !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
    white-space: nowrap !important
}

.f-carousel__thumbs {
    --f-thumb-width: 96px;
    --f-thumb-height: 72px;
    --f-thumb-outline: 0;
    --f-thumb-outline-color: #5eb0ef;
    --f-thumb-opacity: 1;
    --f-thumb-hover-opacity: 1;
    --f-thumb-selected-opacity: 1;
    --f-thumb-border-radius: 2px;
    --f-thumb-offset: 0px;
    --f-button-next-pos: 0;
    --f-button-prev-pos: 0
}

.f-carousel__thumbs.is-classic {
    --f-thumb-gap: 8px;
    --f-thumb-opacity: .5;
    --f-thumb-hover-opacity: 1;
    --f-thumb-selected-opacity: 1
}

.f-carousel__thumbs.is-modern {
    --f-thumb-gap: 4px;
    --f-thumb-extra-gap: 16px;
    --f-thumb-clip-width: 46px
}

.f-thumbs {
    position: relative;
    flex: 0 0 auto;
    margin: 0;
    overflow: hidden;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-user-select: none;
    user-select: none;
    perspective: 1000px;
    transform: translateZ(0)
}

.f-thumbs .f-spinner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 2px;
    background-image: linear-gradient(#ebeff2, #e2e8f0);
    z-index: -1
}

.f-thumbs .f-spinner svg {
    display: none
}

.f-thumbs.is-vertical {
    height: 100%
}

.f-thumbs__viewport {
    width: 100%;
    height: auto;
    overflow: hidden;
    transform: translateZ(0)
}

.f-thumbs__track {
    display: flex
}

.f-thumbs__slide {
    position: relative;
    flex: 0 0 auto;
    box-sizing: content-box;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    width: var(--f-thumb-width);
    height: var(--f-thumb-height);
    overflow: visible;
    cursor: pointer
}

.f-thumbs__slide.is-loading img {
    opacity: 0
}

.is-classic .f-thumbs__viewport {
    height: 100%
}

.is-modern .f-thumbs__track {
    width: max-content
}

.is-modern .f-thumbs__track:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc((var(--f-thumb-clip-width, 0))*-.5);
    width: calc(var(--width, 0)*1px + var(--f-thumb-clip-width, 0));
    cursor: pointer
}

.is-modern .f-thumbs__slide {
    width: var(--f-thumb-clip-width);
    transform: translate3d(calc(var(--shift, 0) * -1px), 0, 0);
    transition: none;
    pointer-events: none
}

.is-modern.is-resting .f-thumbs__slide {
    transition: transform .33s ease
}

.is-modern.is-resting .f-thumbs__slide__button {
    transition: clip-path .33s ease
}

.is-using-tab .is-modern .f-thumbs__slide:focus-within {
    filter: drop-shadow(-1px 0px 0px var(--f-thumb-outline-color)) drop-shadow(2px 0px 0px var(--f-thumb-outline-color)) drop-shadow(0px -1px 0px var(--f-thumb-outline-color)) drop-shadow(0px 2px 0px var(--f-thumb-outline-color))
}

.f-thumbs__slide__button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: var(--f-thumb-width);
    height: 100%;
    margin: 0 -100%;
    padding: 0;
    border: 0;
    position: relative;
    border-radius: var(--f-thumb-border-radius);
    overflow: hidden;
    background: rgba(0, 0, 0, 0);
    outline: none;
    cursor: pointer;
    pointer-events: auto;
    touch-action: manipulation;
    opacity: var(--f-thumb-opacity);
    transition: opacity .2s ease
}

.f-thumbs__slide__button:hover {
    opacity: var(--f-thumb-hover-opacity)
}

.f-thumbs__slide__button:focus:not(:focus-visible) {
    outline: none
}

.f-thumbs__slide__button:focus-visible {
    outline: none;
    opacity: var(--f-thumb-selected-opacity)
}

.is-modern .f-thumbs__slide__button {
    --clip-path: inset(0 calc(((var(--f-thumb-width, 0) - var(--f-thumb-clip-width, 0))) * (1 - var(--progress, 0)) * .5) round var(--f-thumb-border-radius, 0));
    clip-path: var(--clip-path)
}

.is-classic .is-nav-selected .f-thumbs__slide__button {
    opacity: var(--f-thumb-selected-opacity)
}

.is-classic .is-nav-selected .f-thumbs__slide__button:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: auto;
    bottom: 0;
    border: var(--f-thumb-outline, 0) solid var(--f-thumb-outline-color, transparent);
    border-radius: var(--f-thumb-border-radius);
    animation: f-fadeIn .2s ease-out;
    z-index: 10
}

.f-thumbs__slide__img {
    overflow: hidden;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: var(--f-thumb-offset);
    box-sizing: border-box;
    pointer-events: none;
    object-fit: cover;
    border-radius: var(--f-thumb-border-radius)
}

.f-thumbs.is-horizontal .f-thumbs__track {
    padding: 8px 0 12px
}

.f-thumbs.is-horizontal .f-thumbs__slide {
    margin: 0 var(--f-thumb-gap) 0 0
}

.f-thumbs.is-vertical .f-thumbs__track {
    flex-wrap: wrap;
    padding: 0 8px
}

.f-thumbs.is-vertical .f-thumbs__slide {
    margin: 0 0 var(--f-thumb-gap) 0
}

.fancybox__thumbs {
    --f-thumb-width: 96px;
    --f-thumb-height: 72px;
    --f-thumb-border-radius: 2px;
    --f-thumb-outline: 2px;
    --f-thumb-outline-color: #ededed;
    position: relative;
    opacity: var(--fancybox-opacity, 1);
    transition: max-height .35s cubic-bezier(.23, 1, .32, 1)
}

.fancybox__thumbs.is-classic {
    --f-thumb-gap: 8px;
    --f-thumb-opacity: .5;
    --f-thumb-hover-opacity: 1
}

.fancybox__thumbs.is-classic .f-spinner {
    background-image: linear-gradient(rgba(255, 255, 255, .1), rgba(255, 255, 255, .05))
}

.fancybox__thumbs.is-modern {
    --f-thumb-gap: 4px;
    --f-thumb-extra-gap: 16px;
    --f-thumb-clip-width: 46px;
    --f-thumb-opacity: 1;
    --f-thumb-hover-opacity: 1
}

.fancybox__thumbs.is-modern .f-spinner {
    background-image: linear-gradient(rgba(255, 255, 255, .1), rgba(255, 255, 255, .05))
}

.fancybox__thumbs.is-horizontal {
    padding: 0 var(--f-thumb-gap)
}

.fancybox__thumbs.is-vertical {
    padding: var(--f-thumb-gap) 0
}

.is-compact .fancybox__thumbs {
    --f-thumb-width: 64px;
    --f-thumb-clip-width: 32px;
    --f-thumb-height: 48px;
    --f-thumb-extra-gap: 10px
}

.fancybox__thumbs.is-masked {
    max-height: 0px !important
}

.is-closing .fancybox__thumbs {
    transition: none !important
}

.fancybox__toolbar {
    --f-progress-color: var(--fancybox-color, rgba(255, 255, 255, .94));
    --f-button-width: 46px;
    --f-button-height: 46px;
    --f-button-color: var(--fancybox-color);
    --f-button-hover-color: var(--fancybox-hover-color);
    --f-button-bg: rgba(24, 24, 27, .65);
    --f-button-hover-bg: rgba(70, 70, 73, .65);
    --f-button-active-bg: rgba(90, 90, 93, .65);
    --f-button-border-radius: 0;
    --f-button-svg-width: 24px;
    --f-button-svg-height: 24px;
    --f-button-svg-stroke-width: 1.5;
    --f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, .15));
    --f-button-svg-fill: none;
    --f-button-svg-disabled-opacity: .65;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin: 0;
    padding: 0;
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI Adjusted, Segoe UI, Liberation Sans, sans-serif;
    color: var(--fancybox-color, currentColor);
    opacity: var(--fancybox-opacity, 1);
    text-shadow: var(--fancybox-toolbar-text-shadow, 1px 1px 1px rgba(0, 0, 0, .5));
    pointer-events: none;
    z-index: 20
}

.fancybox__toolbar :focus-visible {
    z-index: 1
}

.fancybox__toolbar.is-absolute,
.is-compact .fancybox__toolbar {
    position: absolute;
    top: 0;
    left: 0;
    right: 0
}

.is-idle .fancybox__toolbar {
    pointer-events: none;
    animation: .15s ease-out both f-fadeOut
}

.fancybox__toolbar__column {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: flex-start
}

.fancybox__toolbar__column.is-left,
.fancybox__toolbar__column.is-right {
    flex-grow: 1;
    flex-basis: 0
}

.fancybox__toolbar__column.is-right {
    display: flex;
    justify-content: flex-end;
    flex-wrap: nowrap
}

.fancybox__infobar {
    padding: 0 5px;
    line-height: var(--f-button-height);
    text-align: center;
    font-size: 17px;
    font-variant-numeric: tabular-nums;
    -webkit-font-smoothing: subpixel-antialiased;
    cursor: default;
    -webkit-user-select: none;
    user-select: none
}

.fancybox__infobar span {
    padding: 0 5px
}

.fancybox__infobar:not(:first-child):not(:last-child) {
    background: var(--f-button-bg)
}

[data-fancybox-toggle-slideshow] {
    position: relative
}

[data-fancybox-toggle-slideshow] .f-progress {
    height: 100%;
    opacity: .3
}

[data-fancybox-toggle-slideshow] svg g:first-child {
    display: flex
}

[data-fancybox-toggle-slideshow] svg g:last-child {
    display: none
}

.has-slideshow [data-fancybox-toggle-slideshow] svg g:first-child {
    display: none
}

.has-slideshow [data-fancybox-toggle-slideshow] svg g:last-child {
    display: flex
}

[data-fancybox-toggle-fullscreen] svg g:first-child {
    display: flex
}

[data-fancybox-toggle-fullscreen] svg g:last-child {
    display: none
}

:fullscreen [data-fancybox-toggle-fullscreen] svg g:first-child {
    display: none
}

:fullscreen [data-fancybox-toggle-fullscreen] svg g:last-child {
    display: flex
}

.f-progress {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    transform: scaleX(0);
    transform-origin: 0;
    transition-property: transform;
    transition-timing-function: linear;
    background: var(--f-progress-color, var(--f-carousel-theme-color, #0091ff));
    z-index: 30;
    -webkit-user-select: none;
    user-select: none;
    pointer-events: none
}

.odometer.odometer-auto-theme,
.odometer.odometer-theme-default,
.odometer.odometer-auto-theme .odometer-digit,
.odometer.odometer-theme-default .odometer-digit {
    display: inline-block;
    vertical-align: middle;
    *vertical-align: auto;
    *zoom: 1;
    *display: inline;
    position: relative
}

.odometer.odometer-auto-theme .odometer-digit .odometer-digit-spacer,
.odometer.odometer-theme-default .odometer-digit .odometer-digit-spacer {
    display: inline-block;
    vertical-align: middle;
    *vertical-align: auto;
    *zoom: 1;
    *display: inline;
    visibility: hidden
}

.odometer.odometer-auto-theme .odometer-digit .odometer-digit-inner,
.odometer.odometer-theme-default .odometer-digit .odometer-digit-inner {
    text-align: left;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden
}

.odometer.odometer-auto-theme .odometer-digit .odometer-ribbon,
.odometer.odometer-theme-default .odometer-digit .odometer-ribbon {
    display: block
}

.odometer.odometer-auto-theme .odometer-digit .odometer-ribbon-inner,
.odometer.odometer-theme-default .odometer-digit .odometer-ribbon-inner {
    display: block;
    -webkit-backface-visibility: hidden
}

.odometer.odometer-auto-theme .odometer-digit .odometer-value,
.odometer.odometer-theme-default .odometer-digit .odometer-value {
    display: block;
    -webkit-transform: translateZ(0)
}

.odometer.odometer-auto-theme .odometer-digit .odometer-value.odometer-last-value,
.odometer.odometer-theme-default .odometer-digit .odometer-value.odometer-last-value {
    position: absolute
}

.odometer.odometer-auto-theme.odometer-animating-up .odometer-ribbon-inner,
.odometer.odometer-theme-default.odometer-animating-up .odometer-ribbon-inner {
    -webkit-transition: -webkit-transform 2s;
    -moz-transition: -moz-transform 2s;
    -ms-transition: -ms-transform 2s;
    -o-transition: -o-transform 2s;
    transition: transform 2s
}

.odometer.odometer-auto-theme.odometer-animating-up.odometer-animating .odometer-ribbon-inner,
.odometer.odometer-theme-default.odometer-animating-up.odometer-animating .odometer-ribbon-inner,
.odometer.odometer-auto-theme.odometer-animating-down .odometer-ribbon-inner,
.odometer.odometer-theme-default.odometer-animating-down .odometer-ribbon-inner {
    -webkit-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    -o-transform: translateY(-100%);
    transform: translateY(-100%)
}

.odometer.odometer-auto-theme.odometer-animating-down.odometer-animating .odometer-ribbon-inner,
.odometer.odometer-theme-default.odometer-animating-down.odometer-animating .odometer-ribbon-inner {
    -webkit-transition: -webkit-transform 2s;
    -moz-transition: -moz-transform 2s;
    -ms-transition: -ms-transform 2s;
    -o-transition: -o-transform 2s;
    transition: transform 2s;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0)
}

.odometer.odometer-auto-theme,
.odometer.odometer-theme-default {
    font-family: Helvetica Neue, sans-serif;
    line-height: 1.1em
}

.odometer.odometer-auto-theme .odometer-value,
.odometer.odometer-theme-default .odometer-value {
    text-align: center
}

:root {
    --brandColor: #2e66d9;
    --brandColor2: #f9f7ed;
    --brandGray: #d1d2d3;
    --brandRed: #eb5757;
    --brandGreen: #03d049;
    --brandYellow: #fff3cd;
    --white: #fff;
    --black: #000;
    --text: #28292b;
    --fontFamily: "Untitled Sans", "HelveticaNeueLT", sans-serif;
    --fontSize: 1rem;
    --ease: cubic-bezier(.23, .48, .26, .94);
    --elastic: cubic-bezier(.47, 1.64, .38, .87);
    --gfs: 30;
    --gap: 1rem;
    --gapMd: 4rem;
    --gapBig: 7rem;
    --inputBG: #f0f0f0;
    --inputH: 42px;
    --moreR: .5rem;
    --moreRL: 1.5rem;
    --dropBg: #dddddd;
    --bg: #ecf1f9;
    --sectionGap: 8rem;
    --round: 18px;
    --iconBtn: 2.1rem;
    --iconBtnLg: 2.6rem
}

@media only screen and (min-width: 1600px) {
    :root {
        --gapBig: 9rem;
        --sectionGap: 9rem;
        --inputH: 45px
    }
}

@media only screen and (min-width: 1025px) and (max-width: 1370px) and (min-height: 500px) and (max-height: 670px) {
    :root {
        --gapBig: 5rem;
        --sectionGap: 6rem;
        --gap: .6rem
    }
}

@media only screen and (max-width: 1024px) {
    :root {
        --gapBig: 2.5rem;
        --sectionGap: 5rem
    }
}

@media only screen and (max-width: 980px) {
    :root {
        --gapBig: 1.5rem;
        --sectionGap: 4rem
    }
}

@media only screen and (max-width: 767px) {
    :root {
        --gapBig: 1.2rem;
        --sectionGap: 3rem;
        --inputH: 40px;
        --round: 15px
    }
}

.richtexteditor {
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    box-sizing: border-box !important;
    border: 1px solid hsl(from var(--black) h s l/.1);
    background-color: #fff;
    -webkit-user-select: none;
    user-select: none;
    min-height: 200px;
    min-width: 200px;
    font-family: var(--fontFamily)
}

.richtexteditor,
.rte-absolute,
.rte-fixed,
rte-dropdown-panel {
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", Segoe UI Symbol;
    font-size: 14px
}

.richtexteditor *,
.rte-absolute *,
.rte-fixed * {
    box-sizing: border-box !important
}

.richtexteditor.rte-fullpage {
    position: fixed !important;
    border: none !important;
    left: -2px !important;
    top: -2px !important;
    right: -2px !important;
    bottom: -2px !important;
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
    border-radius: 0 !important
}

.richtexteditor.rte-fullpage rte-toolbar {
    border-radius: 0 !important
}

.rte-absolute {
    box-sizing: border-box !important;
    position: absolute !important
}

.rte-fixed {
    box-sizing: border-box !important;
    position: fixed !important
}

rte-precontent {
    z-index: 1
}

rte-content {
    border-bottom: solid 1px #ebedf2;
    padding: 8px;
    -webkit-user-select: none;
    user-select: none;
    background-color: #fff
}

rte-toolbar {
    border-bottom: solid 1px #ebedf2
}

.rte-office rte-toolbar {
    padding: 2px 2px 3px;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAACCCAYAAABGtuhTAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAACB0RVh0U29mdHdhcmUATWFjcm9tZWRpYSBGaXJld29ya3MgTVi7kSokAAAAFnRFWHRDcmVhdGlvbiBUaW1lADA1LzA3LzEyJiegEwAAAOZJREFUeJztmcENxDAIBHFE/23eM79T7hE7RdxYGkRcwGiBBSx7fM5rBXjyulFe5DEnC5yswMhFAydMzMUDUV4kzCsRMp/DfiHjVUZxEfn93SjwQGk9gTlgoD9kPocBJ7FhUfCQcwwWWSCHeh/iCgsUpWMv0z7U2yYDlrij9eTz0N8pFXxoV/gC/z8bLksw0J/DFygENry0+4ENdwp+nfOvgApFaedDP9DvQ38vN+wUv212FEXuQ1yh//3Q78Mc9vHlr7J/wPLvh/yDpL4oBRTSQHxiFzC2XmGBnWL/oNnQKfo1qlf4ABqzK10RRBaNAAAAAElFTkSuQmCC)
}

rte-codebox {
    flex: 99999;
    text-align: left;
    font-size: 15px;
    line-height: 1.5;
    border: none;
    font-family: Consolas, Courier New, Courier, monospace, serif
}

rte-codebox textarea {
    -moz-resize: none;
    -webkit-resize: none;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border: none;
    padding: 10px;
    margin: 0;
    font-family: Courier New, Courier, monospace, serif;
    font-size: 14px;
    background: #fff;
    color: #000;
    outline: none
}

.richtexteditor.rte-modern rte-toolbar {
    padding: 0 2px;
    font-size: 14px;
    color: #333;
    background: #f8f9fa;
    border-radius: 15px 15px 0 0
}

.richtexteditor.rte-office {
    padding: 0;
    margin: 2px;
    border-style: solid;
    border-width: 1px;
    border-color: #bdd4f0;
    border-top-color: #c5d2df;
    border-left-color: #b7c8d7;
    border-right-color: #b8c9d7;
    border-bottom-color: #9ebfdb;
    border-radius: 0
}

.richtexteditor.rte-modern {
    border-radius: 15px
}

.rte-modern.rte-desktop.rte-toolbar-default,
.rte-modern.rte-desktop.rte-toolbar-full {
    min-width: 820px
}

rte-bottom {
    padding: 3px 8px;
    -webkit-user-select: none;
    user-select: none;
    min-height: 35px
}

.rte-modern rte-plusbtn rte-toolbar-button {
    width: 24px;
    height: 24px;
    margin: 1px
}

rte-tagitem {
    margin: 3px;
    padding: 2px 4px 3px;
    border: solid 1px gray;
    cursor: pointer;
    font-size: 12px;
    line-height: 12px;
    -webkit-user-select: none;
    user-select: none;
    display: table
}

rte-tagitem.rte-ui-active {
    border: solid 1px #8b8b8d
}

rte-textcounter {
    padding: 5px 8px 3px;
    color: #999;
    font-size: 13px;
    font-family: sans-serif;
    text-transform: lowercase
}

rte-powerby {
    padding: 5px 8px 3px;
    font-family: sans-serif
}

rte-resizecorner {
    margin: 3px 0;
    padding: 3px 0;
    min-width: 16px;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjM1QzFBMTY5MzA1MTFFQUJGNDI5NDU5N0M4QkUxNDkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjM1QzFBMTc5MzA1MTFFQUJGNDI5NDU5N0M4QkUxNDkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGMzVDMUExNDkzMDUxMUVBQkY0Mjk0NTk3QzhCRTE0OSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGMzVDMUExNTkzMDUxMUVBQkY0Mjk0NTk3QzhCRTE0OSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pn+/bqEAAAA8SURBVHjaYvz//z8DKYCJGEXp6elwUxmpakNGRsZ/2tgAMxGdptwGdDfDaJg4+TbgcjPMZMptIAUABBgAPN8zHGdT1H8AAAAASUVORK5CYII=);
    background-repeat: no-repeat;
    background-position: center center;
    cursor: nw-resize
}

.rte-fullpage rte-resizecorner {
    display: none
}

.rte-office rte-ribbon-column {
    margin: 2px;
    border-style: solid;
    border-width: 1px;
    border-color: #bdd4f0;
    border-top-color: #c5d2df;
    border-left-color: #b7c8d7;
    border-right-color: #b8c9d7;
    border-bottom-color: #9ebfdb;
    border-radius: 3px;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAABiCAYAAAB+koVqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAACB0RVh0U29mdHdhcmUATWFjcm9tZWRpYSBGaXJld29ya3MgTVi7kSokAAAAFnRFWHRDcmVhdGlvbiBUaW1lADA1LzA2LzEynpvHdgAAAeNJREFUeJzt3bFtw0AUBcFP4/qv1InhRA4kOaAauE0IAjMVMFs8no46vn8e7wGATWtm5vfxvPo5ALiZNTPzfBkhAOxZMzPvt4AAsOcTkKsfA4C7OQNy9VMAcDteYQGQeIUFQCIgACSfMxAFAWCPBQJAIiAAJH6FBUCyZmZeVz8FALezZmYefz6mCMAeN9EBSL6ufgAA7klAAEgEBIBkzcwcVz8FALdjgQCQCAgAiYAAkKyZcQgCwDaH6AAkXmEBkAgIAIlXWAAkZ0AOCQFgj1dYACQCAkDiHggAiUN0ABILBIDEGQgAiYAAkDgDASCxQABIBASAREAASAQEgMQhOgCJi4QAJF5hAZBYIAAkFggAiYAAkAgIAImAAJCch+hO0QHYZIEAkAgIAIlPmQCQWCAAJJ+b6DYIAHssEAASAQEgERAAEgEBIBEQABL3QABILBAAEgEBIPGXtgAkFggAiQUCQGKBAJAICACJgACQCAgAiZvoACQWCACJBQJAYoEAkAgIAImAAJAICACJgACQCAgAiYAAkAgIAMl5kfBwlRCAPRYIAImAAJAICACJgACQrJnxOV4AtlkgACTnAjFBANhkgQCQCAgAib+0BSCxQABIBASAxD0QABILBIBEQABIBASA5B+/giW9vHXuqwAAAABJRU5ErkJggg==);
    background-repeat: repeat-x
}

rte-control-toolbar {
    border-radius: 5px;
    background-color: #fff;
    padding: 6px;
    box-shadow: 3px 3px 8px gray
}

rte-control-toolbar:hover {
    opacity: 1
}

.rte-modern rte-control-toolbar rte-toolbar-button,
.rte-modern rte-control-toolbar rte-toolbar-splitbutton,
.rte-modern rte-control-toolbar rte-toolbar-dropdown {
    margin: 6px 8px
}

.rte-modern rte-control-toolbar rte-toolbar-arrowbutton {
    margin: 6px 2px 6px 8px
}

rte-ribbon-group-left {
    margin-bottom: 4px
}

rte-ribbon-group-right {
    margin-left: 5px
}

rte-ribbon-main {
    padding: 5px 5px 1px
}

rte-ribbon-text {
    padding-top: 2px;
    color: #3e6ac1;
    background-color: #c1d9f1;
    font-family: arial !important;
    font-size: 11px !important;
    border-left: solid 1px #d2eaf2;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px
}

rte-ribbon-group-big {
    border: solid 1px #9cb9dc;
    margin-bottom: 4px
}

.rte-office rte-ribbon-group-big rte-toolbar-button {
    width: 40px;
    height: 40px;
    cursor: pointer
}

rte-ribbon-group-big>*:first-child {
    flex: 9999
}

rte-ribbon-group-small {
    border: solid 1px #9cb9dc;
    border-radius: 3px;
    height: 22px
}

rte-toolbar-group {
    display: inline-flex;
    flex-direction: row;
    padding: 2px
}

.rte-toolbar-mobile rte-toolbar-group {
    padding: 1px
}

.rte-office rte-toolbar-group {
    height: 22px;
    border: solid 1px #9cb9dc;
    border-radius: 3px;
    margin-right: 2px;
    margin-bottom: 4px;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAUCAYAAACqJ5zlAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAACB0RVh0U29mdHdhcmUATWFjcm9tZWRpYSBGaXJld29ya3MgTVi7kSokAAAAFnRFWHRDcmVhdGlvbiBUaW1lADA1LzA3LzEyJiegEwAAAFZJREFUeJyFzikSgFAMA9B0weG4/7E4ASdgEEV8FktSQeWbpo2t2/7gM3mcFwjcnAFmDNY2YAqycdNTIKuKYYzBMEXIW//r4a2pRtxbRCBCIqE3ljkJXvG0DxgqeYzsAAAAAElFTkSuQmCC);
    background-repeat: repeat-x
}

rte-dropdown-head {
    background-color: transparent;
    -webkit-user-select: none;
    user-select: none
}

rte-dropdown-panel {
    text-align: left;
    background-color: #fff;
    -webkit-user-select: none;
    user-select: none;
    display: flex;
    flex-direction: column;
    min-height: 50px;
    border: 1px solid #e2e2e2;
    box-shadow: 0 10px 40px 10px #8c98a42d;
    border-radius: .3125rem;
    padding: 1rem 0
}

rte-dropdown-panel rte-toolbar-group {
    flex-direction: column
}

rte-dropdown-panel rte-dropdown-menuitem {
    margin: 1px 0;
    padding: 1px 0;
    align-items: center;
    white-space: nowrap
}

rte-dropdown-panel rte-dropdown-menuitem rte-dropdown-menuitem-label {
    font-size: 13px;
    padding-right: 12px
}

rte-dropdown-panel rte-dropdown-menuitem:hover {
    background-color: #f1f3f4
}

rte-dropdown-panel.rte-menu-hideicon rte-toolbar-button {
    display: none
}

rte-dropdown-panel.rte-menu-hideicon rte-dropdown-menuitem {
    padding: 5px 13px
}

rte-subtoolbar {
    padding: 2px 7px;
    background-color: #f6f6f6;
    border-bottom: solid 1px #eee
}

rte-toolbar-splitbutton {
    display: flex
}

rte-toolbar-button {
    display: inline-flex;
    align-content: center;
    align-items: center;
    justify-content: center
}

rte-toolbar-splitbutton {
    border: solid 1px transparent;
    padding: 1px;
    margin: 4px 3px;
    width: 42px;
    height: 28px
}

rte-toolbar-splitbutton:hover {
    background-color: #f2f2f2;
    border: solid 1px #e2e2e2
}

rte-toolbar-splitbutton:hover rte-toolbar-splitbutton-dropdown {
    border-left: solid 1px #e2e2e2
}

rte-dropdown-menuitem rte-toolbar-splitbutton {
    width: 28px
}

rte-dropdown-menuitem rte-toolbar-splitbutton-dropdown {
    display: none
}

.rte-modern rte-toolbar-splitbutton.rte-command-active {
    background-color: #e8f0fe;
    fill: #377dff;
    padding: 1px
}

rte-toolbar-splitbutton-direct {
    display: inline-flex;
    align-content: center;
    align-items: center;
    justify-content: center;
    width: 24px
}

rte-toolbar-splitbutton-dropdown {
    border-left: solid 1px transparent;
    width: 14px;
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgcm9sZT0iaW1nIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMjAgNTEyIiBjbGFzcz0ic3ZnLWlubGluZS0tZmEgZmEtYW5nbGUtZG93biBmYS13LTEwIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNDMgMzUyLjNMNyAyMTYuM2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsMjIuNi0yMi42YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDk2LjQgOTYuNCA5Ni40LTk2LjRjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsMjIuNiAyMi42YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC0xMzYgMTM2Yy05LjIgOS40LTI0LjQgOS40LTMzLjggMHoiIGNsYXNzPSIiPjwvcGF0aD48L3N2Zz4=);
    background-position: 1px center;
    background-repeat: no-repeat;
    background-size: 12px 12px
}

rte-color-button-mask {
    position: absolute;
    width: 16px;
    height: 3px;
    left: 5px;
    top: 18px
}

.rte-office rte-toolbar-button {
    width: 20px;
    height: 20px
}

.rte-office rte-toolbar-group rte-toolbar-button {
    width: 22px;
    border-left: solid 1px #d8e6f7;
    border-right: solid 1px #abc1de
}

.rte-office rte-toolbar-group rte-toolbar-button:first-child {
    width: 21px;
    border-left-width: 0px;
    border-right: solid 1px #abc1de
}

.rte-office rte-toolbar-group rte-toolbar-button:last-child {
    width: 21px;
    border-left: solid 1px #d8e6f7;
    border-right-width: 0px
}

.rte-office rte-toolbar-group rte-toolbar-dropdown:first-child {
    border-top-left-radius: 3px;
    border-bottom-left-radius: 3px
}

.rte-office rte-toolbar-group rte-toolbar-dropdown:last-child {
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
    border-left: solid 1px #d8e6f7;
    border-right-width: 0px
}

.rte-modern rte-toolbar-button {
    margin: 4px 3px;
    padding: 1px;
    border: solid 1px transparent;
    width: 28px;
    height: 28px;
    cursor: pointer
}

.rte-modern rte-toolbar-button.rte-command-active {
    background-color: #e8f0fe;
    fill: #377dff;
    padding: 1px
}

.rte-toolbar-mobile rte-toolbar-group rte-toolbar-button {
    margin: 3px 2px
}

.rte-office rte-toolbar-arrowbutton {
    width: 32px;
    padding-right: 12px;
    height: 20px
}

.rte-modern rte-toolbar-arrowbutton {
    margin: 4px 3px;
    border: solid 1px transparent;
    padding: 1px 11px 1px 1px;
    width: 38px;
    height: 28px;
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgcm9sZT0iaW1nIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMjAgNTEyIiBjbGFzcz0ic3ZnLWlubGluZS0tZmEgZmEtYW5nbGUtZG93biBmYS13LTEwIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNDMgMzUyLjNMNyAyMTYuM2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsMjIuNi0yMi42YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDk2LjQgOTYuNCA5Ni40LTk2LjRjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsMjIuNiAyMi42YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC0xMzYgMTM2Yy05LjIgOS40LTI0LjQgOS40LTMzLjggMHoiIGNsYXNzPSIiPjwvcGF0aD48L3N2Zz4=);
    background-position: 23px 8px;
    background-repeat: no-repeat;
    background-size: 12px 12px;
    cursor: pointer
}

.rte-modern rte-toolbar-arrowbutton.rte-command-active {
    background-color: #eee;
    border-bottom-width: 0px;
    padding: 1px 11px 10px 1px;
    background-position: 22px center;
    height: 36px;
    margin-bottom: -4px;
    background-position: 23px 8px
}

.rte-modern rte-toolbar-button:hover {
    background-color: #f1f3f4
}

.rte-modern rte-toolbar-arrowbutton:hover {
    background-color: #f1f3f4
}

.rte-modern rte-toolbar-dropdown:hover {
    background-color: #fff
}

.rte-modern .rte_command_togglemore.rte-command-active {
    background-color: #f4f4f4;
    border: solid 1px #eee;
    border-bottom-width: 0px;
    padding: 1px
}

rte-dropdown-panel rte-toolbar-button {
    margin: 0 3px;
    padding: 2px;
    width: 28px;
    height: 28px
}

rte-dropdown-panel rte-toolbar-button.rte-command-active {
    background-color: #eee;
    padding: 1px
}

.rte-command-disabled {
    opacity: .2
}

rte-toolbar-dropdown {
    margin-left: 0;
    margin-right: 0
}

rte-control-toolbar.rte-modern rte-toolbar-dropdown {
    border: solid 1px #eee;
    margin: 5px 3px
}

.rte-office rte-toolbar-dropdown {
    background-color: #fff
}

rte-toolbar-dropdown-arrow,
rte-input-arrow {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAQAAABecRxxAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfjAQkEJhYsbzsfAAAPPklEQVR42u3d249d51kH4NceY1ugdmynEiARkcZO4pILAhdNSii100iVoNzQCLhpCz04RyqBIIgbroAWtU0mjgsi/wAUJQ2oTWKnSAhValxQaFFb28FusYREktaHOgfS2ILNRWJ8mpm9Z2bv9X7vWs/z/QH51rsO2ev38+wdAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANCGddkbWLGr45b4udgZb4+fiPnYHKP4YfwgXojjcST+NZ6J/8reIL12VdwcPx8745r48dgWm2Nd/DDOxItxPJ6Lb8Qz8UL2BvtqXdwaC3E0RmPWkfhs3JK9WXropviT+Hr875jr71B8Jt6VvdW+2Rr3x3fG3voXr6Px+7Ele9v0xI/FvfHNFV5/fxBbs7fdD9viU/HyioZ/fr0Uf+YksEZviT+OU6u6/l6OT8W27O3Xtj7uW+Xwz6+TcU+szz4MiloXH40X13T9nY5PxFz2YVR1Qxxc0/DPr6/G9dmHQkHXxj9N5fr7l/iZ7EOp6LfilamMfxSjeCU+mH04FPOb8dLUrr/XYk/24dQyF3unNvzz60GvAkxofXx66tffI/Ej2YdVxab4u6mPfxSjeCw2ZR8aBWyMv53J9fdU/Gj2oVWwOZ6eyfhHMYonY2P24dG4jfGlmV1//+gRMM5c/P3Mxj+KUTzqRYBlrI9HZ3r9PRkbsg+xbftmOv5RjOLT2YdIwx6Y+fX3SPYhtuwjMx//KEbx29mHSaP2dHL93Zl9mK3aGf/dyQl4Pd6dfag0aFec7eT6ey1uzD7UFs3FP3cy/lGM4ntxTfbh0pjtcbKz6+9ZScCVfqez8Y9iFN+Mt2QfMA2Zj0OdXn+/m33ArdkWpzs9AaP4kj6AN83F/o6vvjPxtuyDbsufd3wCRjGKz2QfNI1YcPXl2rrKP/hd6/pI9oHTgG6y/8vXq3FV9oG34w9TToE+gO6y/yvXH2UfeivWrfDbfqa5vh9vzz58EnWZ/V++vlvwGzln4t1pp2AUo/iWPmCwus7+L1+/lD2AaCIJvyP1v35j/HUTU6Brc/H5eEfqDn4tewRtGP9Nv7NeEtkheij9ujuaPYIWXJ1+GkahDxienOz/8nV19hjy/Xr6SRiFPmBo8rL/S9dvZA8i/+33puwNRETExviCPmAwdsRjjXxB189mbyD/AbAzewNvelt8UR8wCPPxxWa+rz83hIwWHgDXZm/g/+kDhmAuPt/M/3Qifjp7A/meT38Pu3jpA/ouP/u/eD2fPY58r6WfhEuXPqDP2sj+L6zXsgeS/48RR9kbuMzZuD2+kr0JZmJ3HGgk/DtvlP3S6QFwpRPxzviP7E0wdTvia82Efxck34H5odfr2Ru4gj6gj1rK/i9IfwXIfwD8IHsDi9AH9E1b2f8FZ7I3kH+Zv5C9gUX9it8P6JUH4n3ZW1hU+tWf/wA4nr2BJfyePqA39sQnsrewhPSsKf8BcCR7A0v6S38f0Au7Y1/2FpZ0OHsD+Q+Ar2dvYEn+PqAPdsSjjVV/F/u37A3ka+PPgZdavi+otvk4nH4NLbd+KntALcj/QpDl1hMNfEpidbr/vv+VrX/PHlALrwART2ZvYFm/rA8oq9Xs/7wnsjfQhtwvBZ1k6QMqujP9uhm3fjF7RG1YF99NPxXLr9db+P5WVmR3nEu/bpZfx7L/GXBEG68Ao/ir7C2MsTEe0weUsiMebf4XeB+J9v4OJknWT4OtZOkD6mg9+x/FKF6OrdljimjjE0DE6fhc9hbGujH+ppFpsbxW/93/pfbF6ewttGRrnEp/Jo9fn80eExNo6zt/Fl8n2/j/f0vuSz8pk6yPZo+JMdrP/kcxinuzx9Se9XEw/bSMX2f1AU1rP/sfxSie8TK5mBvi1fRTM375PeF27Uj8rd/J1ytxffagWvWh9JMzyfpWvDV7UCyiQvY/ilF8KHtQLXs4/fRMsvx9QHta/3f/59fe7EG1bUM8nX6KJlkPZA+Ky+xNvyYmWU/HXPagWrcljqSfpkmWPqAlNbL/I7Ele1AVXFfi3wToA9pRI/s/FddlD6qK95Y4od9v6HcNh6xG9n8ubsseVCV3p5+wSda39QHpqmT/d2UPqpp96adskvWkUCdVlez/4exB1aMPYDzZf4/pA1ie7L/nqvQB78ke1CDJ/gegRh9wQh/QOdn/QOgDuJLsf0D0AVxqLg6kn+9Jlux/KvQBXEr2PzBV+oCPZQ9qEGT/A6QP4A2y/4HSByD7HzR9wNDJ/gdOHzBksv/BmyvSBzyYPaheqpH9H/D4nyV9wFDdlX5OJ1my/5nTBwzRbSUi4JOxI3tQQ6APGJoq2f/u7EENhT5gSKq89sn+O1SjD3hKILRmVYJf2X+nqlwW+oC1kv2zqCofDPUBayH7Z0n6gL6T/bOsKn3A9uxBlST7Z6wafcChmM8eVDlVXvFk/8n0AX1UJeSV/aercqnoA1aixs/Ey/6bUOXD4sezB1VGjez/sOy/FVX6gF3ZgypB9s+K6QP64jrZP6tR42OjPmB5VV7n7sweFFeqERzpA5ZWJdDdmz0oFlPl8lnIHlSzajzCZf/NqvIBUh+wmBovcbL/pukDqpL9MxX6gIpk/0xNjY+S+oALqry6yf6LqBEm6QPeUOXHX2X/ZegDKqnxuJb9l1LlQ6U+oMYLm+y/HH1ABTUiW9l/SVUuruH2ATUe0rL/smp8vBxqH1DlNU32X1iNgGn/AAMm2T8d0Ae0yqOZTlT5oLkne1CdqvFlrocH+nLWMzWipiH1AVXiWdl/T/hDk5ZUeSDL/nukRh8whI+cVV7JZP89I3RqgeyfJFX6gIeyBzVTHsOkqfLhs799gOyfVFXip13Zg5oJ2T/p9AFZqjx8Zf89pw/IUOX1S/Y/AIKorsn+aYg+oGs1fsK9T49cllXlA2k/+gDZP80RSXVF9k+T9AFd8KClWfqAWavyqiX7Hyh9wCzJ/mncXBxIv/wmWTX7ANk/zfMhdVZk/5Sww89SzoDsnzJ2u1inTPZPKfqAafJaRTn6gGnZEF9On9MkS/bPRar0Ae1ftrJ/SvLBdRpk/5SlD1gr2T+l6QPWQvZPefqA1fIKRS/U6AMONBZiyf7pCX3Aasj+6Y0tcTj9Up1ktfNhVvZPr+gDVkL2T+/oAyYl+6eX7ky/aCdZR2JL6pS2xHPpM5hk9ePrVenU3vTLdpL1dGKwVSX7r/mFKiTTB4wj+6fXqvQBd6VM5570455kyf5Zgyp9wG2dT+Z2MSlDUKUPuK7Tqcj+GQx9wOVk/wyKPuBisn8Gpkof8HAn0/hc+nFOsmT/TJE+4DzZP4NUpQ9470ynIPtnsGr0Aadm2AdcL/tnyIbdB2yV/TN0VfqADVM/ctk/xFzsT7/EJ1nT7wNk/xAR80X6gLunetSyf3jT8PoA2T9cZHecTb/cx69p9QFVsv9d2ZcFwzGcPkD2D4sYRh8g+4dFDaMPkP3DEvrfB8j+YRn97gNk/zBGf/uA6+N0+r7HL9k/yfrZB8j+YUL96wNk/zCxKn3AvomPSPYPK9CvPkD2DyvUnz5A9g+r0I8+QPYPq1S/D5D9wxrU6AO+vEQfsCH+IX1vkyzZP42q3QfUyP6fkv3Trip9wD1X7Pze9D1NsmT/NK5KH3D7Jbuukv1vzz69ME69PkD2D1NUow947s0+QPYPU1anD5D9D9q67A301Fw8Ee/L3sQE/iJikUCwPfvj/fE/2ZvoIw+AWZmPg7EzexM9cSRuiTPZm+gnD4DZ2RFfi23Zm+iBU/HO+E72JvpqffYGeuxY3BHnsjdR3rn4gNt/dvyrqlk6Ht+L92dvorh74rHsLfSZB8BsPRtXxc3Zmyhsb/xp9hb6TQYwa1X6gBbJ/mfOA2D29AGrczjeJfufNQ+ALugDVu5k3Cz8mz0tQBf0ASt1Lu5w+3dBCNiN4/Fi/Gr2JgqR/XfEA6Arz8Y2fcCEHpL90z9Vvi8oe/nOnw4JAbukDxhP9t8pD4Bu6QOWJ/vvmBagW/qA5cj+O+dtq2v6gKXJ/jvnAdA9fcDiZP8MhD5A9t8IIWAOfcClZP9JPACy6AMukP2n0QJk0QecJ/tP5L0rjz7gDbJ/Buuh9PAtey1knwLIM/Q+QPafTAiYbch9gOw/nQdAvqH2AbL/BmgB8h2LDwywD5D9N8EbWAuG2AfcHV/I3gK0Y1h9wEL2uKEtQ+oDZP/NEAK2Yyh9gOy/IR4ALRlCHyD7b4oWoCX97wNk/7CsPelv6LNcH88eL7Suv33AQvZooX197QNk/zCR+TicfrtOex2K+eyxQhU74mT6LTvNdSK2Z48UKtkVZ9Nv22mts7Ere5xQTX/6ANk/rEI/+oCF7DFCTXPxVPrtu9Yl+4dVq94HyP5hTbYX7gNk/7BmVfuAs/Ge7NFBH9TsA2T/MCX1+oCF7JFBf1TrA2T/MFWV+gDZP0xdlT5A9g8zUaEPkP3DzLTfB8j+YYba7gMWsscD/dZyHyD7h5mbj0Ppt/pi69vx1uzRwBBsjxPpt/vl60Rcmz0WGIrW+gDZP3SqrT7gY9njgKFZSL/tz68Hs0cBw9NKHyD7hxQt9AGyf0iT3QfI/iFVZh8g+4d0eX2A7B8akNMHyP6hCRl9gOwfmtF1HyD7h6Z02QfI/qE5XfUBsn9oUjd9gOwfGjX7PmAh+xCBpczF4zO9/R+X/UPLNsX+md3++2NT9uEBy9s8o08Bj8fm7EMDxpuLvVO//ff68A91fDhendrN/2p8OPtwgJW5IQ5O5fY/GDdkHwqwcuvjvji1ppv/VNwX67MPA1itrfHJeGlVN/9L8cnYmr19YK22xv1xbEU3/7G4380P/bEubo2FODr21j8aC3FrrMveLt1woofm6viFuCneEdfET8Z8bIqI1+NMPB/H43B8I74a/5m9QQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACG6P8AToQFabMiZ40AAAAldEVYdGRhdGU6Y3JlYXRlADIwMTktMDEtMDlUMDQ6Mzg6MjIrMDg6MDCECeFRAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE5LTAxLTA5VDA0OjM4OjIyKzA4OjAw9VRZ7QAAAEN0RVh0c29mdHdhcmUAL3Vzci9sb2NhbC9pbWFnZW1hZ2ljay9zaGFyZS9kb2MvSW1hZ2VNYWdpY2stNy8vaW5kZXguaHRtbL21eQoAAAAYdEVYdFRodW1iOjpEb2N1bWVudDo6UGFnZXMAMaf/uy8AAAAYdEVYdFRodW1iOjpJbWFnZTo6SGVpZ2h0ADUxMo+NU4EAAAAXdEVYdFRodW1iOjpJbWFnZTo6V2lkdGgANTEyHHwD3AAAABl0RVh0VGh1bWI6Ok1pbWV0eXBlAGltYWdlL3BuZz+yVk4AAAAXdEVYdFRodW1iOjpNVGltZQAxNTQ2OTc5OTAy1eDglwAAABF0RVh0VGh1bWI6OlNpemUANTMyMEJ6dRGAAAAAYnRFWHRUaHVtYjo6VVJJAGZpbGU6Ly8vaG9tZS93d3dyb290L25ld3NpdGUvd3d3LmVhc3lpY29uLm5ldC9jZG4taW1nLmVhc3lpY29uLmNuL2ZpbGVzLzEyMi8xMjI1NDQ2LnBuZ+1XFTcAAAAASUVORK5CYII=)
}

rte-input-arrow {
    position: absolute;
    right: 7px;
    top: 9px;
    width: 18px;
    height: 16px;
    background-size: 18px 16px;
    background-repeat: no-repeat;
    opacity: .7
}

rte-input-arrow:hover {
    opacity: 1;
    cursor: pointer
}

.rte-modern rte-toolbar-dropdown-input {
    padding: 0 7px;
    display: flex;
    align-items: center;
    white-space: nowrap
}

.rte-modern rte-toolbar-dropdown-arrow {
    background-position: left center;
    background-size: 70% 30%;
    background-repeat: no-repeat;
    width: 18px;
    cursor: pointer
}

.rte-office rte-toolbar-dropdown-input {
    padding-left: 3px
}

.rte-office rte-toolbar-dropdown-arrow {
    background-position: center center;
    background-size: 50% 40%;
    background-repeat: no-repeat;
    width: 16px
}

rte-toolbar-dropdown-item {
    font-size: 15px;
    padding: .375rem 1.5rem;
    cursor: pointer;
    white-space: nowrap
}

rte-toolbar-dropdown-item:hover {
    background-color: #f2f2f2
}

.rte-office rte-line-break {
    display: block;
    width: 88%;
    margin: 0 6% 4px;
    height: 5px;
    border-bottom: solid 1px #ccc
}

.rte-modern rte-line-break {
    display: block;
    width: calc(100% + 8px);
    margin: 0 -4px;
    height: 1px;
    border-bottom: .0625rem solid #ebedf2
}

rte-line-spliter {
    width: 1px;
    height: 17px;
    margin: 10px auto !important;
    background: #e9e9e9
}

rte-control-selected {
    position: absolute
}

rte-control-selected-line {
    position: absolute;
    background-color: #377dff;
    min-width: 1px;
    min-height: 1px
}

rte-control-selected-line.rte-line-l {
    transform: translate(-1px)
}

rte-control-selected-line.rte-line-t {
    transform: translateY(-1px)
}

rte-control-selected-corner {
    position: absolute;
    width: 9px;
    height: 9px;
    background-color: #377dff
}

rte-control-selected-corner.rte-corner-l {
    cursor: ew-resize;
    transform: translate(2px)
}

rte-control-selected-corner.rte-corner-r {
    cursor: ew-resize;
    transform: translate(-2px)
}

rte-control-selected-corner.rte-corner-t {
    transform: translateY(2px);
    cursor: ns-resize
}

rte-control-selected-corner.rte-corner-b {
    transform: translateY(-2px);
    cursor: ns-resize
}

rte-control-selected-corner.rte-corner-tl {
    transform: translate(2px, 2px);
    cursor: nw-resize
}

rte-control-selected-corner.rte-corner-tr {
    transform: translate(-2px, 2px);
    cursor: ne-resize
}

rte-control-selected-corner.rte-corner-bl {
    transform: translate(2px, -2px);
    cursor: sw-resize
}

rte-control-selected-corner.rte-corner-br {
    transform: translate(-2px, -2px);
    cursor: se-resize
}

rte-dialog-float {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 2px 2px 8px #999;
    right: 12px;
    top: 12px
}

rte-dialog-outer {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background-color: #00000080;
    display: flex;
    align-items: center;
    justify-content: center
}

rte-dialog-inner {
    background-color: #fff;
    border-radius: 7px;
    padding: 10px 15px;
    min-width: 300px;
    min-height: 200px;
    -webkit-user-select: none;
    user-select: none;
    display: flex;
    flex-direction: column;
    position: relative
}

rte-dialog-inner rte-dialog-header {
    margin: -10px -15px 15px
}

rte-dialog-inner rte-dialog-footer,
rte-dialog-inner rte-dialog-line-action {
    margin: 2px
}

rte-dialog-header {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 1rem 1.5rem;
    border-bottom: .0625rem solid #e7eaf3;
    border-top-left-radius: .4375rem;
    border-top-right-radius: .4375rem;
    font-size: 1rem;
    color: #1e2022;
    font-weight: 600
}

rte-dialog-header-close {
    font-size: 16px;
    opacity: .5;
    color: #666;
    transition: color linear .3s, opacity linear .3s;
    cursor: pointer;
    display: inline-block;
    position: absolute;
    top: 15px;
    right: 12px;
    width: 24px;
    height: 24px;
    padding: 2px
}

rte-dialog-header-close[rte-tooltip] {
    position: absolute
}

rte-dialog-header-close svg {
    width: 16px;
    height: 16px;
    margin: 0;
    vertical-align: top
}

rte-dialog-header-close:hover {
    opacity: 1
}

rte-dialog-header-text {
    display: flex;
    align-items: center
}

rte-dialog-footer,
rte-dialog-line-action {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: end;
    justify-content: flex-end;
    border-top: .0625rem solid #e7eaf3;
    border-bottom-right-radius: .4375rem;
    border-bottom-left-radius: .4375rem;
    padding: 1rem 1.5rem 0;
    font-size: 1em;
    font-weight: 700
}

.rte-dialog-line-input,
rte-dialog-line-target {
    position: relative;
    margin: 12px
}

.rte-dialog-line-input input[type=text] {
    color: #5f6368;
    height: 36px;
    margin: 0;
    border: 1px solid rgb(218, 220, 224);
    border-image: initial;
    border-radius: 4px;
    padding: 1px 8px
}

.rte-dialog-line-input input:hover,
.rte-dialog-line-input input:focus {
    color: #1e2022;
    outline: 0;
    border: 2px solid #1a73e8;
    padding: 0 7px
}

.rte-html-div {
    min-height: 200px;
    color: #5f6368;
    border: 1px solid rgb(218, 220, 224);
    border-image: initial;
    border-radius: 4px;
    padding: 5px;
    margin: 10px 0
}

.rte-html-div:hover,
.rte-html-div:focus {
    color: #1e2022;
    outline: 0;
    border: 2px solid #1a73e8
}

.rte-dialog-line-input textarea {
    color: #5f6368;
    width: 280px;
    height: 64px;
    margin: 0;
    border: 1px solid rgb(218, 220, 224);
    border-image: initial;
    border-radius: 4px;
    padding: 6px 8px;
    font-size: 14px
}

.rte-dialog-line-input textarea:hover,
.rte-dialog-line-input textarea:focus {
    color: #1e2022;
    outline: 0;
    border: 2px solid #1a73e8;
    padding: 5px 7px
}

.rte-dialog-line-input rte-dialog-input-label {
    background-color: #fff;
    box-shadow: #fff 5px 0, #fff -5px 0;
    color: #5f6368;
    display: inline;
    left: 12px;
    margin-bottom: 0;
    max-width: 300px;
    position: absolute;
    top: -8px;
    overflow-wrap: break-word;
    padding: 0
}

rte-dialog-line-target rte-dialog-input-label {
    min-height: 20px;
    padding-left: 20px;
    margin-bottom: 0;
    font-weight: 400;
    cursor: pointer;
    display: inline-block;
    max-width: 100%
}

.rte_insertlink_link input[type=checkbox] {
    margin: 4px 0 0 -20px;
    position: absolute;
    cursor: pointer
}

rte-dialog-line-action {
    justify-content: flex-end
}

.rte-dialog-footer-center {
    justify-content: center
}

rte-dialog-button {
    cursor: pointer;
    color: #fff;
    background-color: #007bff;
    border-color: #007bff;
    display: inline-block;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -webkit-user-select: none;
    user-select: none;
    border: 1px solid transparent;
    padding: 8px 20px 10px;
    margin: 4px 3px;
    font-size: 1rem;
    font-weight: 400;
    font-size: 14px;
    height: 36px;
    letter-spacing: .25px;
    line-height: 16px;
    border-radius: .25rem;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out
}

rte-dialog-button:active {
    background-color: #0062cc;
    border-color: #005cbf
}

rte-dialog-button:hover {
    background-color: #0069d9;
    border-color: #0062cc
}

rte-dialog-button.rte-button-type-next {
    margin-left: 25px
}

.rte-button-type-cancel,
rte-dialog-button.rte-button-type-replace,
rte-dialog-button.rte-button-type-replaceall {
    background-color: #fff;
    color: #377dff;
    border-color: #377dff
}

.rte-button-type-cancel:hover,
rte-dialog-button.rte-button-type-replace:hover,
rte-dialog-button.rte-button-type-replaceall:hover {
    color: #fff;
    background-color: #007bff;
    border-color: #007bff
}

@media (min-width: 900px) {

    .rte-dialog-pasteauto rte-dialog-inner,
    .rte-dialog-pasteword rte-dialog-inner {
        width: 600px;
        min-height: 350px
    }
}

.rte-dialog-insertgallery rte-dialog-inner,
.rte-dialog-inserttemplate rte-dialog-inner {
    width: 900px;
    height: 600px;
    max-width: 90%;
    max-height: 90%
}

.rte-dialog-insertcode rte-dialog-inner {
    width: 520px;
    height: 400px;
    max-width: 90%;
    max-height: 90%
}

.rte-panel-insertimage-dragdrop rte-dialog-inner,
.rte-panel-insertdocument-dragdrop rte-dialog-inner {
    width: 480px;
    max-width: 95%
}

.rte-panel-controlinsertlink input[type=text],
.rte-panel-controleditlink input[type=text],
.rte-panel-insertlink input[type=text],
.rte-panel-insertimage input[type=text],
.rte-panel-insertdocument input[type=text] {
    width: 320px
}

@media (max-width: 399px) {

    .rte-panel-controlinsertlink input[type=text],
    .rte-panel-controleditlink input[type=text],
    .rte-panel-insertlink input[type=text],
    .rte-panel-insertimage input[type=text],
    .rte-panel-insertdocument input[type=text] {
        width: 280px
    }
}

rte-dropdown-panel.rte-panel-insertimage rte-tabui-toolbar,
rte-dropdown-panel.rte-panel-insertdocument rte-tabui-toolbar,
rte-dropdown-panel.rte-panel-controlsize rte-tabui-toolbar,
rte-dropdown-panel.rte-panel-insertlink rte-tabui-toolbar {
    display: none
}

.rte-panel-general rte-dialog-header {
    margin: -10px -15px 10px
}

rte-inserttable-panel {
    display: flex;
    flex-direction: column;
    align-items: center
}

.rte-panel-inserttable {
    padding: 15px;
    min-width: 160px
}

.rte-panel-find .rte-dialog-line-input {
    margin: 3px 0
}

rte-tabui {
    display: flex;
    flex-direction: column;
    margin-bottom: 0
}

rte-tabui-toolbar {
    display: inline-flex;
    border-bottom: solid 1px #dee2e6
}

rte-tabui-panel {
    display: flex;
    flex-direction: column;
    position: relative;
    flex: 999;
    padding: .75rem
}

rte-tabui-toolbar-button {
    color: #737373;
    margin-bottom: -.125rem;
    border-bottom: solid 2px transparent;
    padding: 1rem;
    font-size: 16px;
    cursor: pointer
}

rte-tabui-toolbar-button.rte-ui-active {
    border-bottom: 2px solid #007bff;
    color: #007bff
}

.rte-panel-forecolor,
.rte-panel-backcolor {
    padding: 15px
}

rte-dialog-line-auto,
rte-dialog-line-more {
    display: flex;
    padding: 3px;
    cursor: pointer
}

rte-dialog-line-auto:hover,
rte-dialog-line-more:hover {
    display: flex;
    padding: 2px;
    border: solid 1px #1a73e8;
    background-color: #ddeafb
}

rte-dialog-item-label {
    flex: 999;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 13px;
    padding-right: 6px
}

rte-dialog-line-colors {
    display: block;
    padding: 1px
}

rte-dialog-item-color {
    display: inline-block;
    border: solid 1px #666;
    width: 16px;
    height: 16px;
    margin: 2px;
    cursor: pointer
}

rte-dialog-item-color:hover {
    border-color: #1a73e8
}

.rte-dialog-colorpicker {
    min-height: 350px
}

.colorcell {
    width: 16px;
    height: 17px;
    cursor: pointer
}

.colordiv,
.customdiv {
    border: solid 1px #808080;
    width: 24px;
    height: 12px;
    font-size: 1px
}

.colordiv2,
.customdiv2 {
    border: solid 1px #808080;
    width: 16px;
    height: 16px;
    font-size: 1px
}

.rte-panel-insertchars rte-tabui-toolbar {
    padding-left: 1.5rem
}

.rte-panel-insertchars rte-tabui-toolbar-button {
    padding: .5rem;
    font-size: 13px
}

rte-insertchars-item {
    width: 24px;
    height: 24px;
    margin: 1px;
    vertical-align: middle;
    text-align: center;
    border: 1px dotted rgb(221, 221, 221);
    font-size: 16px;
    cursor: pointer
}

rte-insertchars-item:hover {
    background-color: #c3d9ff
}

rte-inserttable-table {
    display: flex;
    flex-direction: column;
    cursor: pointer
}

rte-inserttable-row {
    display: flex;
    flex-direction: row
}

rte-inserttable-cell {
    width: 16px;
    height: 16px;
    margin: 3px;
    border: solid 1px gray;
    border-color: #e9e9e9;
    background-color: #f8f8f8
}

rte-inserttable-cell.rte-ui-active {
    border-color: #c3d9ff;
    background-color: #ddeafb
}

.rte-dialog-preview rte-dialog-inner {
    min-width: 70%;
    min-height: 70%
}

.rte-dialog-preview rte-dialog-inner rte-tabui {
    flex: 99;
    position: relative
}

.rte-dialog-preview rte-tabui-panel {
    flex-direction: row;
    justify-content: center
}

.rte-dialog-preview rte-preview-framecontainer {
    padding: 5px;
    margin: 5px;
    box-shadow: 0 0 6px #ccc
}

.rte-preview-dialog-fullscreen {
    width: 98%;
    height: 98%;
    border-radius: 0 !important;
    display: flex;
    flex-direction: column
}

.rte-flex-column-center {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center
}

.rte-flex-wrap {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: flex-start
}

.rte-panel-insertemoji {
    padding: 1rem 1.5rem
}

.rte-panel-insertemoji rte-tabui-toolbar-button {
    padding: .5rem 0
}

.rte-panel-insertemoji rte-tabui-toolbar {
    border: none
}

#emojis_searchbar:before {
    content: "";
    position: absolute;
    right: 10px;
    top: 8px;
    bottom: 8px;
    width: 20px;
    height: 20px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='25' viewBox='0 0 25 25' fill-rule='evenodd'%3E%3Cpath d='M16.036 18.455l2.404-2.405 5.586 5.587-2.404 2.404zM8.5 2C12.1 2 15 4.9 15 8.5S12.1 15 8.5 15 2 12.1 2 8.5 4.9 2 8.5 2zm0-2C3.8 0 0 3.8 0 8.5S3.8 17 8.5 17 17 13.2 17 8.5 13.2 0 8.5 0zM15 16a1 1 0 1 1 2 0 1 1 0 1 1-2 0'%3E%3C/path%3E%3C/svg%3E") center/contain no-repeat
}

#emoji-picker {
    font-size: 20px
}

#emoji-picker gspan {
    cursor: pointer
}

.rte-dialog-insertcode select {
    margin: 3px 12px;
    height: 22px;
    border: solid 1px #ccc
}

.rte-dialog-insertcode textarea {
    color: #5f6368;
    border: 1px solid rgb(218, 220, 224);
    margin: 8px 3px;
    padding: 5px;
    resize: both;
    min-width: 200px;
    min-height: 200px
}

.rte-dialog-insertcode textarea:focus {
    color: #1e2022;
    outline: 0;
    border: 2px solid #1a73e8
}

rte-dropdown-panel rte-dialog-header {
    display: none
}

.rte-panel-insertimage rte-dialog-header,
.rte-panel-insertdocument rte-dialog-header {
    display: none
}

[rte-tooltip] {
    position: relative
}

[rte-tooltip]:hover {
    z-index: 99999999
}

@keyframes rte-tooltip {
    0% {
        opacity: 0
    }

    90% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

[rte-tooltip]:hover:before,
[rte-tooltip]:hover:after {
    animation: rte-tooltip linear .5s
}

[rte-tooltip]:hover:after {
    content: attr(rte-tooltip);
    background: #000;
    padding: 5px;
    border-radius: 3px;
    display: inline-block;
    position: absolute;
    transform: translate(-50%, 100%);
    margin: 0 auto;
    color: #fff;
    min-width: 25px;
    bottom: -5px;
    left: 50%;
    text-align: center;
    font-size: 12px;
    white-space: pre
}

[rte-tooltip]:hover:before {
    z-index: 1;
    bottom: -5px;
    left: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: #0000;
    border-bottom-color: #000;
    border-width: 5px;
    margin-left: -5px
}

.fileuploader-dragdrop {
    display: block;
    padding: 30px 0;
    margin: 30px 15px;
    background: #fff;
    border: 2px dotted #c2cdda;
    border-radius: 14px;
    text-align: center
}

.fileuploader-dragdrop:hover {
    background-color: #eee
}

.fileuploader-dragdrop input[type=file] {
    cursor: pointer
}

.rte-menu,
rte-submenu {
    font-size: 13px
}

.rte-menu {
    border: 1px solid transparent;
    box-shadow: #3c404326 0 2px 6px 2px;
    rem-margin-top: 1.5rem;
    rem-margin-bottom: 3rem;
    min-width: 160px;
    padding: 10px 0
}

rte-submenu {
    position: absolute;
    left: 100%;
    top: 0;
    padding: 10px 0;
    border-top: solid 1px transparent;
    border-left: solid 1px transparent;
    background-color: #fff;
    -webkit-user-select: none;
    user-select: none;
    display: flex;
    flex-direction: column;
    min-width: 160px;
    box-shadow: #3c404326 0 2px 6px 2px
}

rte-menuitemcontainer {
    position: relative
}

rte-menuitem {
    display: flex;
    align-items: center;
    border: solid 1px transparent;
    margin: 2px
}

rte-menuitem:hover {
    background-color: #f1f3f4
}

rte-menuitem:active {
    background-color: #f1f3f4
}

rte-menuicon {
    width: 24px;
    height: 24px;
    margin: 1px 1px 1px 5px
}

rte-menutext {
    margin-left: 3px;
    flex: 999
}

rte-menuarrow {
    margin-right: 4px;
    font-family: sans-serif;
    font-size: 70%
}

rte-menuarrow:after {
    content: "►"
}

rte-menuspliter {
    display: block;
    border-top: 1px solid rgb(218, 220, 224);
    margin: 3px 0 3px 28px
}

.rte_command_paragraphs rte-toolbar-dropdown-item div {
    font-size: 15px;
    margin: 0;
    padding: 0
}

.rte_command_paragraphs rte-toolbar-dropdown-item h1 {
    font-size: 32px;
    margin: 0;
    padding: 0
}

.rte_command_paragraphs rte-toolbar-dropdown-item h2 {
    font-size: 27px;
    margin: 0;
    padding: 0
}

.rte_command_paragraphs rte-toolbar-dropdown-item h3 {
    font-size: 24px;
    margin: 0;
    padding: 0
}

.rte_command_paragraphs rte-toolbar-dropdown-item h4 {
    font-size: 21px;
    margin: 0;
    padding: 0
}

.rte_command_paragraphs rte-toolbar-dropdown-item h5 {
    font-size: 18px;
    margin: 0;
    padding: 0
}

.rte_command_paragraphs rte-toolbar-dropdown-item h6 {
    font-size: 15px;
    margin: 0;
    padding: 0
}

rte-floatpanel {
    z-index: 101;
    background-color: #fff;
    border: solid 1px gray;
    border-radius: 5px;
    width: 22px;
    height: auto;
    opacity: .3;
    -webkit-user-select: none;
    user-select: none;
    padding: 3px 0
}

rte-floatpanel:hover {
    opacity: 1
}

rte-floatpanel rte-toolbar-button {
    width: 20px;
    height: 20px
}

rte-floatpanel rte-toolbar-button:hover {
    background-color: #e8f0fe;
    fill: #377dff;
    color: #377dff
}

.rte-current-item {
    background-color: #add8e6
}

.rte-list-item {
    padding: 5px 5px 5px 12px;
    font-size: 14px
}

.rte-list-item:hover {
    background-color: #f2f2f2
}

rte-toast {
    position: fixed;
    z-index: 88888888;
    background-color: #000000b3;
    color: #fff;
    padding: 3px 6px;
    border-radius: 5px
}

.rte-skin-blue {
    background-color: #ccdcee !important;
    border-color: #7e9db9 !important
}

.rte-skin-blue rte-content,
.rte-skin-blue textarea {
    background-color: #fff
}

.rte-skin-blue rte-toolbar {
    background-color: #ccdcee !important
}

.rte-skin-blue rte-subtoolbar {
    background-color: #7e9db9 !important
}

.rte-skin-blue rte-bottom {
    background-color: #ccdcee !important
}

.rte-skin-blue rte-dialog-inner {
    background-color: #ccdcee !important
}

.rte-skin-blue rte-dialog-header {
    background-color: #ccdcee !important;
    color: #fff !important
}

.rte-skin-blue rte-dialog-line-action {
    color: #fff !important
}

.rte-skin-gray {
    background-color: #fafafa !important;
    border-color: #0000001f !important
}

.rte-skin-gray rte-toolbar {
    background-color: #fafafa !important
}

.rte-skin-gray rte-subtoolbar {
    background-color: #eee !important
}

.rte-modern.rte-skin-gray .rte_command_togglemore.rte-command-active {
    background-color: #eee !important
}

.rte-skin-gray rte-bottom {
    background-color: #fafafa !important
}

.rte-skin-gray rte-dialog-header {
    background-color: #fafafa !important
}

.rte-skin-dark {
    background-color: #333 !important;
    border-color: #333 !important
}

.rte-skin-dark rte-content,
.rte-skin-dark textarea {
    background-color: #333
}

.rte-skin-dark * {
    color: #fff;
    fill: #fff
}

.rte-skin-dark iframe {
    background-color: #fff
}

.rte-skin-dark rte-toolbar {
    background-color: #333 !important
}

.rte-skin-dark rte-subtoolbar {
    background-color: #666 !important
}

.rte-modern.rte-skin-dark .rte_command_togglemore.rte-command-active,
.rte-modern.rte-skin-dark .rte-command-active {
    background-color: #666 !important
}

.rte-skin-dark rte-bottom {
    background-color: #333 !important
}

.rte-skin-dark rte-dialog-inner {
    background-color: #333 !important
}

.rte-skin-dark rte-dialog-header {
    background-color: #333 !important;
    color: #fff !important
}

.rte-skin-dark rte-dialog-line-action {
    background-color: #333 !important;
    color: #fff !important
}

.rte-skin-rounded-corner.richtexteditor {
    border-radius: 7px
}

.rte-skin-rounded-corner rte-toolbar {
    border-top-left-radius: 7px;
    border-top-right-radius: 7px
}

.rte-skin-rounded-corner rte-bottom {
    border-bottom-left-radius: 7px;
    border-bottom-right-radius: 7px
}

rte-content::-webkit-scrollbar {
    height: 5px;
    width: 5px;
    overflow: visible;
    background-color: #0000000d;
    box-shadow: inset 1px 1px #0000001a
}

rte-content::-webkit-scrollbar-track {
    background: #f1f1f1
}

rte-content::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background-color: #0000001a;
    background-clip: padding-box
}

rte-content::-webkit-scrollbar-thumb:hover {
    background-color: #0006;
    box-shadow: inset 1px 1px 1px #00000040
}

:root {
    --ss-bg-color: #ffffff;
    --ss-font-color: #4d4d4d;
    --ss-font-placeholder-color: #8d8d8d;
    --ss-disabled-color: #dcdee2;
    --ss-border-color: #dcdee2;
    --ss-highlight-color: #fffb8c;
    --ss-success-color: #00b755;
    --ss-error-color: #dc3545;
    --ss-main-height: 3rem;
    --ss-content-height: 300px;
    --ss-spacing-l: 7px;
    --ss-spacing-m: 5px;
    --ss-spacing-s: 0 1rem;
    --ss-animation-timing: .2s;
    --ss-border-radius: 10px
}

@keyframes ss-valueIn {
    0% {
        transform: scale(0);
        opacity: 0
    }

    to {
        transform: scale(1);
        opacity: 1
    }
}

@keyframes ss-valueOut {
    0% {
        transform: scale(1);
        opacity: 1
    }

    to {
        transform: scale(0);
        opacity: 0
    }
}

.ss-hide {
    display: none !important
}

.ss-main {
    display: flex;
    flex-direction: row;
    position: relative;
    -webkit-user-select: none;
    user-select: none;
    color: var(--text);
    min-height: var(--inputH);
    width: 100%;
    min-width: 150px;
    padding: 0;
    cursor: pointer;
    border: none;
    border-radius: 10px;
    border: 1px solid hsl(from var(--black) h s l/.1);
    background: transparent;
    outline: 0;
    box-sizing: border-box;
    transition: background-color var(--ss-animation-timing);
    overflow: hidden;
    padding-inline: 1rem calc(1.5rem + 15px);
    z-index: 15;
    font-weight: 400;
    font-size: calc(30 / var(--gfs) * 1rem)
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .ss-main {
        font-size: calc(29 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .ss-main {
        font-size: calc(29 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .ss-main {
        padding-inline: 1rem calc(1rem + 15px)
    }
}

.ss-main.ss-disabled {
    background-color: var(--ss-disabled-color);
    cursor: not-allowed
}

.ss-main.ss-disabled .ss-values .ss-disabled {
    color: var(--text)
}

.ss-main.ss-disabled .ss-values .ss-value .ss-value-delete {
    cursor: not-allowed
}

.ss-main.ss-open-above {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important
}

.ss-main.ss-open-below {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important
}

.ss-main .ss-values {
    display: inline-flex;
    flex-wrap: wrap;
    gap: var(--ss-spacing-m);
    flex: 1 1 100%;
    align-items: center
}

.ss-main .ss-values .ss-placeholder {
    display: flex;
    padding: var(--ss-spacing-s) var(--ss-spacing-m) var(--ss-spacing-s) var(--ss-spacing-m);
    align-items: center;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.ss-main .ss-values .ss-max {
    display: flex;
    -webkit-user-select: none;
    user-select: none;
    align-items: center;
    width: fit-content;
    font-size: 12px;
    color: var(--white);
    line-height: 1;
    padding: var(--ss-spacing-s) var(--ss-spacing-m);
    background-color: var(--brandColor);
    border-radius: var(--ss-border-radius)
}

.ss-main .ss-values .ss-single {
    display: flex
}

.ss-main .ss-values .ss-value {
    display: flex;
    -webkit-user-select: none;
    user-select: none;
    align-items: center;
    width: fit-content;
    background-color: var(--brandColor);
    border-radius: var(--ss-border-radius);
    animation-name: ss-valueIn;
    animation-duration: var(--ss-animation-timing);
    animation-timing-function: ease-out;
    animation-fill-mode: both
}

.ss-main .ss-values .ss-value.ss-value-out {
    animation-name: ss-valueOut;
    animation-duration: var(--ss-animation-timing);
    animation-timing-function: ease-out
}

.ss-main .ss-values .ss-value .ss-value-text {
    font-size: 12px;
    color: var(--white);
    line-height: 1;
    padding: var(--ss-spacing-s) var(--ss-spacing-m)
}

.ss-main .ss-values .ss-value .ss-value-delete {
    display: flex;
    align-items: center;
    height: var(--ss-spacing-l);
    width: var(--ss-spacing-l);
    padding: var(--ss-spacing-s) var(--ss-spacing-m);
    cursor: pointer;
    border-left: solid 1px var(--white);
    box-sizing: content-box
}

.ss-main .ss-values .ss-value .ss-value-delete svg {
    height: var(--ss-spacing-l);
    width: var(--ss-spacing-l)
}

.ss-main .ss-values .ss-value .ss-value-delete svg path {
    fill: none;
    stroke: var(--white);
    stroke-width: 18;
    stroke-linecap: round;
    stroke-linejoin: round
}

.ss-main .ss-deselect {
    display: flex;
    align-self: center;
    justify-content: flex-end;
    flex: 0 1 auto;
    width: 8px;
    height: 8px;
    margin: 0 var(--ss-spacing-m) 0 var(--ss-spacing-m)
}

.ss-main .ss-deselect svg {
    width: 8px;
    height: 8px
}

.ss-main .ss-deselect svg path {
    fill: none;
    stroke: var(--text);
    stroke-width: 20;
    stroke-linecap: round;
    stroke-linejoin: round
}

.ss-main .ss-arrow {
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 1 auto;
    width: 12px;
    height: auto
}

[dir=rtl] .ss-main .ss-arrow {
    right: auto;
    left: 1rem
}

.ss-main .ss-arrow path {
    fill: none;
    stroke: var(--text);
    stroke-width: 15;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition-timing-function: ease-out;
    transition: var(--ss-animation-timing)
}

.ss-content {
    position: absolute;
    display: flex;
    height: auto;
    flex-direction: column;
    width: auto;
    max-height: var(--ss-content-height);
    box-sizing: border-box;
    border: solid 1px hsla(from var(--black) h s l/.1);
    background-color: var(--white);
    transition: transform var(--ss-animation-timing), opacity var(--ss-animation-timing);
    opacity: 0;
    transform: scaleY(0);
    transform-origin: center top;
    overflow: hidden;
    z-index: 10000;
    min-width: 150px;
    border-radius: var(--moreR)
}

.ss-content.ss-relative {
    position: relative;
    height: 100%
}

.ss-content.ss-open-above {
    flex-direction: column-reverse;
    opacity: 1;
    transform: scaleY(1);
    transform-origin: center bottom;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0
}

.ss-content.ss-open-below {
    opacity: 1;
    transform: scaleY(1);
    transform-origin: center top;
    border-top-left-radius: 0;
    border-top-right-radius: 0
}

.ss-content .ss-search {
    flex: 0 1 auto;
    display: flex;
    flex-direction: row;
    padding: var(--ss-spacing-l) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l)
}

.ss-content .ss-search input {
    display: inline-flex;
    font-size: inherit;
    line-height: inherit;
    flex: 1 1 auto;
    width: 100%;
    min-width: 0px;
    padding-inline: 1rem;
    margin: 0;
    border: 1px solid rgba(159, 159, 159, .6);
    border-radius: 5px;
    background-color: transparent;
    outline: 0;
    text-align: left;
    box-sizing: border-box;
    min-height: 2.5rem;
    font-family: var(--fontFamily);
    font-weight: 400
}

.ss-content .ss-search input::placeholder {
    color: hsla(from var(--black) h s l/.3);
    vertical-align: middle
}

.ss-content .ss-search .ss-addable {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    flex: 0 0 auto;
    height: auto;
    margin: 0 0 0 var(--ss-spacing-m);
    border: 1px solid hsla(from var(--black) h s l/.1);
    border-radius: var(--ss-border-radius)
}

.ss-content .ss-search .ss-addable svg {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 1 auto;
    width: 12px;
    height: 12px;
    margin: auto var(--ss-spacing-m) auto var(--ss-spacing-m)
}

.ss-content .ss-search .ss-addable svg path {
    fill: none;
    stroke: var(--text);
    stroke-width: 18;
    stroke-linecap: round;
    stroke-linejoin: round
}

.ss-content .ss-list {
    flex: 1 1 auto;
    height: auto;
    overflow-x: hidden;
    overflow-y: auto;
    font-size: 14px
}

.ss-content .ss-list .ss-error {
    color: var(--ss-error-color);
    padding: var(--ss-spacing-l)
}

.ss-content .ss-list .ss-searching {
    color: var(--text);
    padding: var(--ss-spacing-l)
}

.ss-content .ss-list .ss-optgroup.ss-close .ss-option {
    display: none !important
}

.ss-content .ss-list .ss-optgroup .ss-optgroup-label {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l)
}

.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-label-text {
    flex: 1 1 auto;
    font-weight: 700;
    color: var(--text)
}

.ss-content .ss-list .ss-optgroup .ss-optgroup-label:has(.ss-arrow) {
    cursor: pointer
}

.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions {
    flex: 0 1 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: var(--ss-spacing-m)
}

.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall {
    flex: 0 0 auto;
    display: flex;
    flex-direction: row;
    cursor: pointer
}

.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall:hover {
    opacity: .5
}

.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall.ss-selected svg path {
    stroke: var(--ss-error-color)
}

.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall span {
    flex: 0 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 60%;
    text-align: center;
    padding: 0 var(--ss-spacing-s) 0 0
}

.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg {
    flex: 0 1 auto;
    width: 13px;
    height: 13px
}

.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg path {
    fill: none;
    stroke: var(--ss-success-color);
    stroke-linecap: round;
    stroke-linejoin: round
}

.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg:first-child {
    stroke-width: 5
}

.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg:last-child {
    stroke-width: 11
}

.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable {
    flex: 0 1 auto;
    display: flex;
    flex-direction: row;
    cursor: pointer
}

.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable .ss-arrow {
    flex: 1 1 auto;
    width: 10px;
    height: 10px
}

.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable .ss-arrow path {
    fill: none;
    stroke: var(--text);
    stroke-width: 18;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition-timing-function: ease-out;
    transition: var(--ss-animation-timing)
}

.ss-content .ss-list .ss-option {
    display: flex;
    padding: .3rem .8rem;
    color: var(--text);
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none
}

.ss-content .ss-list .ss-option:hover {
    color: var(--white);
    background-color: hsla(from var(--brandColor) h s l/.6)
}

.ss-content .ss-list .ss-option.ss-highlighted,
.ss-content .ss-list .ss-option:not(.ss-disabled).ss-selected {
    color: var(--white);
    background-color: var(--brandColor)
}

.ss-content .ss-list .ss-option.ss-disabled {
    cursor: not-allowed;
    background-color: hsla(from var(--black) h s l/.3);
    color: #6d6b6b
}

.ss-content .ss-list .ss-option.ss-disabled:hover {
    color: #6d6b6b
}

.ss-content .ss-list .ss-option:not(.ss-disabled).ss-selected .ss-search-highlight {
    color: var(--white);
    background-color: hsla(from var(--brandColor) h s l/.4)
}

.ss-content .ss-list .ss-option .ss-search-highlight {
    background-color: hsla(from var(--brandColor) h s l/.1)
}

html[dir=rtl] .ss-content .ss-search input {
    text-align: right
}

.datepicker {
    width: -moz-min-content;
    width: min-content;
    font-size: .9rem;
    color: #666
}

@media only screen and (max-width: 767px) {
    .datepicker {
        font-size: 1rem
    }
}

.datepicker:not(.active) {
    display: none
}

.datepicker .days {
    display: flex;
    flex-direction: column;
    flex: auto
}

.datepicker .days-of-week {
    display: flex
}

.datepicker .week-numbers {
    display: flex;
    flex-direction: column;
    flex: 0 0 9.6774193548%
}

.datepicker .weeks {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    flex: auto
}

.datepicker span {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    cursor: default;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    transition: all .4s var(--ease)
}

.datepicker .dow {
    height: 1.5rem;
    font-size: .875rem;
    font-weight: 500;
    opacity: .5
}

@media only screen and (max-width: 767px) {
    .datepicker .dow {
        font-size: 1.05rem
    }
}

.datepicker .week {
    flex: auto;
    color: #b8b8b8;
    font-size: .75rem
}

.datepicker-dropdown {
    position: absolute;
    z-index: 20;
    padding-top: 4px
}

.datepicker-dropdown.datepicker-orient-top {
    padding-top: 0;
    padding-bottom: 4px
}

.datepicker-dropdown .datepicker-picker {
    box-shadow: 0 2px 3px #0a0a0a1a, 0 0 0 1px #0a0a0a1a
}

.datepicker-picker {
    display: flex;
    flex-direction: column;
    border-radius: var(--moreR);
    background-color: var(--white)
}

.datepicker-main {
    flex: auto;
    padding: 2px
}

.datepicker-footer {
    box-shadow: inset 0 1px 1px #0a0a0a1a;
    background-color: var(--white)
}

.datepicker-footer .datepicker-controls button {
    flex: auto;
    margin: calc(.375rem - 1px) .375rem;
    border-radius: 2px;
    font-size: .75rem
}

.datepicker-title {
    box-shadow: inset 0 -1px 1px #0a0a0a1a;
    background-color: var(--white);
    padding: .375rem .75rem;
    text-align: center;
    font-weight: 700
}

.datepicker-controls {
    display: flex
}

.datepicker-controls button {
    display: inline-flex;
    position: relative;
    align-items: center;
    justify-content: center;
    margin: 0;
    border: none;
    border-radius: 4px;
    box-shadow: none;
    background-color: var(--white);
    cursor: pointer;
    padding: calc(.375em - 1px) .75em;
    height: 2.25em;
    vertical-align: top;
    text-align: center;
    line-height: 1.5;
    white-space: nowrap;
    color: var(--text);
    font-size: .94rem;
    transition: all .3s ease-in-out
}

@media only screen and (max-width: 767px) {
    .datepicker-controls button {
        font-size: 1.1rem
    }
}

.datepicker-controls button:hover {
    color: var(--brandColor)
}

.datepicker-controls button:focus {
    color: var(--brandColor)
}

.datepicker-controls button:focus:not(:active) {
    box-shadow: 0 0 0 .125em #3273dc40
}

.datepicker-controls button:active {
    border-color: #474747;
    color: #363636
}

.datepicker-controls button[disabled] {
    cursor: not-allowed
}

.datepicker-controls .view-switch {
    flex: auto
}

.datepicker-header .datepicker-controls {
    padding: 2px 2px 0
}

.datepicker-header .datepicker-controls button {
    border-color: transparent;
    font-weight: 700
}

.datepicker-header .datepicker-controls button:hover {
    background-color: #f9f9f9
}

.datepicker-header .datepicker-controls button:active {
    background-color: #f2f2f2
}

.datepicker-controls button:focus,
.datepicker-controls button:active {
    outline: none
}

.datepicker-controls .prev-button,
.datepicker-controls .next-button {
    padding-right: .375rem;
    padding-left: .375rem;
    flex: 0 0 14.2857142857%
}

.datepicker-controls .prev-button.disabled,
.datepicker-controls .next-button.disabled {
    visibility: hidden
}

.datepicker-view,
.datepicker-grid {
    display: flex
}

.datepicker-view {
    align-items: stretch;
    width: 15.75rem
}

@media only screen and (max-width: 767px) {
    .datepicker-view {
        width: 18rem
    }
}

.datepicker-grid {
    flex-wrap: wrap;
    flex: auto
}

.datepicker-cell,
.datepicker .days .dow {
    flex-basis: 14.2857142857%
}

.datepicker-cell {
    height: 2.25rem;
    position: relative;
    z-index: 5
}

.datepicker-cell:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--brandColor);
    opacity: 0;
    border-radius: 50%;
    z-index: -1;
    transition: all .4s var(--ease)
}

.datepicker-cell:not(.day) {
    flex-basis: 33.33%;
    aspect-ratio: inherit;
    height: 3rem
}

.datepicker-cell:not(.day):before {
    border-radius: 5px
}

.datepicker-cell:not(.disabled):hover {
    cursor: pointer;
    color: var(--white)
}

.datepicker-cell:not(.disabled):hover:before {
    opacity: .7
}

.datepicker-cell.focused:not(.selected):before {
    background-color: #e9e9e9
}

.datepicker-cell.disabled {
    color: #dcdcdc
}

.datepicker-cell.highlighted:not(.selected):not(.range):not(.today) {
    border-radius: 0;
    background-color: #f5f5f5
}

.datepicker-cell.today:not(.selected) {
    background-color: #00d1b2
}

.datepicker-cell.today:not(.selected):not(.disabled) {
    color: #fff
}

.datepicker-cell.today.focused:not(.selected) {
    background-color: #00ccad
}

.datepicker-cell.range-start:not(.range-end) {
    border-radius: 4px 0 0 4px
}

.datepicker-cell.range-end:not(.range-start) {
    border-radius: 0 4px 4px 0
}

.datepicker-cell.range {
    border-radius: 0;
    background-color: hsla(from var(--brandColor) h s l/.2)
}

.datepicker-cell.range:not(.disabled):not(.focused):not(.today):hover {
    background-color: hsla(from var(--brandColor) h s l/.2)
}

.datepicker-cell.range.disabled {
    color: #c6c6c6
}

.datepicker-cell.range.focused {
    background-color: #d1d1d1
}

.datepicker-cell.selected,
.datepicker-cell.selected:hover {
    color: #fff
}

.datepicker-cell.selected:before,
.datepicker-cell.selected:hover:before {
    opacity: 1
}

.datepicker-cell.prev:not(.disabled),
.datepicker-cell.next:not(.disabled) {
    visibility: hidden
}

.datepicker-cell.prev.selected,
.datepicker-cell.next.selected {
    color: #e6e6e6
}

.datepicker-cell.range-end:not(.selected),
.datepicker-cell.range-start:not(.selected) {
    background-color: #b8b8b8;
    color: #fff
}

.datepicker-cell.range-end.focused:not(.selected),
.datepicker-cell.range-start.focused:not(.selected) {
    background-color: #b3b3b3
}

.datepicker-input.in-edit {
    border-color: #276bda
}

.datepicker-input.in-edit:focus,
.datepicker-input.in-edit:active {
    box-shadow: 0 0 .25em .25em #276bda33
}

html[dir=rtl] [dir=ltr] {
    text-align: right;
    justify-content: flex-end
}

.dirLtr {
    direction: ltr !important
}

.dirRtl {
    direction: rtl !important
}

.hide_ {
    display: none !important
}

.noPadding {
    padding: 0 !important
}

.noMargin {
    margin: 0 !important
}

.noPaddingBottom {
    padding-bottom: 0 !important
}

.noPaddingTop {
    padding-top: 0 !important
}

.noMarginTop {
    margin-top: 0 !important
}

.mTop1 {
    margin-top: 1rem
}

.mTop15 {
    margin-top: 1.5rem
}

.mTop2 {
    margin-top: 2rem
}

.mTop25 {
    margin-top: 2.5rem
}

.noMarginBottom {
    margin-bottom: 0 !important
}

.mBottom1 {
    margin-bottom: 1rem
}

.mBottom15 {
    margin-bottom: 1.5rem
}

.mBottom2 {
    margin-bottom: 2rem
}

.mBottom25 {
    margin-bottom: 2.5rem
}

.fullCol {
    grid-column: 1/-1 !important
}

.text_center {
    text-align: center !important
}

.text_start {
    text-align: start !important
}

.text_end {
    text-align: end !important
}

.align_center {
    align-items: center !important
}

.align_start,
.align_end {
    align-items: flex-start !important
}

.justify_start {
    justify-content: flex-start !important
}

.justify_end {
    justify-content: flex-end !important
}

.justify_center {
    justify-content: center !important
}

.full_height {
    height: 100% !important
}

.full_width {
    width: 100% !important
}

.flex_1 {
    flex: 1
}

@media only screen and (max-width: 61.25rem) {
    .hideTab {
        display: none
    }
}

*::selection {
    background-color: hsla(from var(--brandColor) h s l/.1)
}

.imgBox *::selection {
    background-color: transparent
}

.not-italic {
    font-style: normal
}

.colorSection {
    background: var(--brandColor);
    color: var(--white)
}

.bgImg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden
}

.mainWrap {
    --sideNav: 260px;
    display: grid;
    align-items: start;
    grid-template-columns: var(--sideNav) calc(100vw - var(--sideNav));
    position: relative;
    width: 100%;
    z-index: 10;
    min-height: 100dvh
}

@media only screen and (min-width: 100rem) {
    .mainWrap {
        --sideNav: 320px
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .mainWrap {
        --sideNav: 230px
    }
}

@media only screen and (max-width: 64rem) {
    .mainWrap {
        grid-template-columns: 100%
    }
}

.mainWrap main {
    --mP: 1rem
}

@media only screen and (max-width: 47.9375rem) {
    .mainWrap main {
        --mP: .8rem
    }
}

.mainWrap main>* {
    padding: var(--mP)
}

@media only screen and (min-width: 64.0625rem) {
    .mainWrap main>* {
        padding-inline-start: calc(var(--mP) + 1rem)
    }
}

.mainWrap main .mainContainer {
    padding-top: 0
}

@media only screen and (max-width: 64rem) {
    .mainWrap main {
        padding-bottom: calc(var(--mobileMenuHeight) + 10px + env(safe-area-inset-bottom))
    }
}

.mainContainer {
    --sideNav: 20em;
    display: grid;
    align-items: start;
    gap: var(--gap);
    grid-template-columns: calc(100% - var(--sideNav) - var(--gap)) var(--sideNav)
}

/* If a page uses `mainContainer` but does not render `<app-side-box>` as a direct child,
   don't reserve the sidebar column width. */
.mainContainer:not(:has(> app-side-box)) {
    grid-template-columns: 100%
}

@media only screen and (min-width: 100rem) {
    .mainContainer {
        font-size: calc(30 / var(--gfs) * 1rem);
        --sideNav: 23em
    }
}

@media only screen and (min-width: 64rem) and (max-width: 85.625rem) {
    .mainContainer {
        --sideNav: 15.5em
    }
}

@media only screen and (max-width: 61.25rem) {
    .mainContainer {
        grid-template-columns: 100%
    }
}

.gridWrap {
    display: grid;
    align-items: start;
    grid-template-columns: repeat(6, 1fr);
    gap: var(--gap)
}

@media only screen and (max-width: 47.9375rem) {
    .gridWrap {
        gap: .5rem;
        grid-template-columns: repeat(4, 1fr)
    }
}

.gridWrap>* {
    grid-column: -1/1
}

@media only screen and (max-width: 61.25rem) {
    .gridWrap.smallCustomOrder>* {
        order: 2
    }

    .gridWrap.smallCustomOrder>*.col1.row2,
    .gridWrap.smallCustomOrder>*.col3 {
        order: 1
    }

    .gridWrap.smallCustomOrder>*.col2 {
        order: 2
    }

    .gridWrap.smallCustomOrder>*.col1 {
        order: 3
    }
}

.gridWrap.border {
    border: 1px solid hsl(from var(--black) h s l/.1);
    background: var(--white);
    padding: 1rem;
    border-radius: var(--round)
}

@media only screen and (min-width: 100rem) {
    .gridWrap.border {
        padding: 1.5rem
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .gridWrap.border {
        padding: 10px
    }
}

@media only screen and (max-width: 47.9375rem) {
    .gridWrap.border {
        padding: 5px
    }

    .gridWrap.border:has(>.form-v3) {
        padding-block: 1rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .gridWrap.border .articleCard .inner {
        padding: 13px
    }
}

@media only screen and (max-width: 47.9375rem) {
    .gridWrap.border .articleCard .articleImg {
        border-radius: 10px
    }
}

.gridWrap.border>.circleTabWrap {
    padding-top: .51rem;
    margin-bottom: 0
}

@media only screen and (max-width: 47.9375rem) {

    .gridWrap.border>.programProgressTab,
    .gridWrap.border>.surveyForm {
        padding-top: 10px
    }
}

.gridWrap .col1 {
    grid-column: span 2
}

@media only screen and (max-width: 47.9375rem) {
    .gridWrap .col1 {
        grid-column: -1/1
    }
}

.gridWrap .col2 {
    grid-column: span 3
}

@media only screen and (max-width: 61.25rem) {
    .gridWrap .col2 {
        grid-column: -1/1
    }
}

.gridWrap .col3 {
    grid-column: span 4
}

@media only screen and (max-width: 61.25rem) {
    .gridWrap .col3 {
        grid-column: -1/1
    }
}

@media only screen and (min-width: 61.25rem) {
    .gridWrap .row2 {
        grid-row: span 2;
        height: 100%
    }
}

@media only screen and (max-width: 61.25rem) {
    .gridWrap .row2.col1 {
        grid-column: -1/1
    }
}

@media only screen and (max-width: 64rem) {
    .gridWrap>.programCard {
        grid-column: span 3
    }
}

@media only screen and (max-width: 47.9375rem) {
    .gridWrap>.programCard {
        grid-column: -1/1
    }
}

@media only screen and (max-width: 47.9375rem) {
    .gridWrap>.infoCard:has(.topBox) {
        grid-column: span 2
    }
}

.sideBox {
    display: grid;
    gap: var(--gap)
}

@media only screen and (min-width: 61.3125rem) {
    .sideBox {
        position: sticky;
        top: var(--topNavH)
    }
}

@media only screen and (min-width: 48rem) and (max-width: 61.25rem) {
    .sideBox {
        grid-template-columns: repeat(2, 1fr)
    }
}

.tableWrap {
    background: rgb(var(--dropBgR)/.2);
    border-radius: 1rem;
    padding: 1rem
}

.tableWrap:has(.dataTables_wrapper) {
    padding: 0
}

.tableWrap:has(.dataTables_wrapper):has(.dataTables_empty) .dataTables_paginate,
.tableWrap:has(.dataTables_wrapper):has(.dataTables_empty) .dataTables_info,
.tableWrap:has(.dataTables_wrapper):has(.dataTables_empty) thead {
    display: none
}

.tableWrap:has(.dataTables_wrapper) .dataTables_empty {
    text-align: center;
    min-height: 10rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: calc(29 / var(--gfs) * 1rem);
    opacity: .5
}

.tableWrap:has(.dataTables_wrapper) table {
    width: 100% !important
}

.tableWrap:has(.dataTables_wrapper) .dataTables_wrapper {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    padding: 1rem;
    justify-content: space-between;
    gap: .5rem 1rem
}

.tableWrap .dataTables_paginate,
.tableWrap .dataTables_info {
    font-size: calc(24 / var(--gfs) * 1rem)
}

.tableWrap .dataTables_paginate {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .2rem
}

.tableWrap .dataTables_paginate>span {
    display: flex;
    align-items: center;
    gap: .3rem;
    flex-wrap: wrap
}

.tableWrap .dataTables_paginate .paginate_button {
    cursor: pointer;
    transition: all .4s var(--ease);
    width: 2rem;
    aspect-ratio: 1;
    background: hsla(from var(--black) h s l/.03);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center
}

@media only screen and (max-width: 64rem) {
    .tableWrap .dataTables_paginate .paginate_button {
        width: 1.9rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .tableWrap .dataTables_paginate .paginate_button {
        width: 1.8rem;
        border-radius: 6px
    }
}

.tableWrap .dataTables_paginate .paginate_button.next,
.tableWrap .dataTables_paginate .paginate_button.previous {
    color: transparent !important;
    overflow: hidden;
    position: relative
}

.tableWrap .dataTables_paginate .paginate_button.next:before,
.tableWrap .dataTables_paginate .paginate_button.previous:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-size: 55%;
    background-position: center;
    background-repeat: no-repeat;
    transform: scale(1)
}

[dir=rtl] .tableWrap .dataTables_paginate .paginate_button.next:before,
[dir=rtl] .tableWrap .dataTables_paginate .paginate_button.previous:before {
    transform: scaleX(-1)
}

.tableWrap .dataTables_paginate .paginate_button.next.disabled,
.tableWrap .dataTables_paginate .paginate_button.previous.disabled {
    opacity: .5;
    pointer-events: none
}

@media (hover: hover) and (pointer: fine) {

    .tableWrap .dataTables_paginate .paginate_button.next:hover:before,
    .tableWrap .dataTables_paginate .paginate_button.previous:hover:before {
        filter: invert(1)
    }
}

.tableWrap .dataTables_paginate .paginate_button.previous:before {
    background-image: url(data:image/svg+xml;base64,PHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InJ0bDpyb3RhdGUtMTgwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2Ij4KICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiBmaWxsPSJub25lIj48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxNjAgMjA4IDgwIDEyOCAxNjAgNDgiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMTYiPjwvcG9seWxpbmU+CiAgICAgICAgICAgICAgICAgICAgPC9zdmc+)
}

.tableWrap .dataTables_paginate .paginate_button.next:before {
    background-image: url(data:image/svg+xml;base64,PHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9InJ0bDpyb3RhdGUtMTgwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2Ij4KICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiBmaWxsPSJub25lIj48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSI5NiA0OCAxNzYgMTI4IDk2IDIwOCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxNiI+PC9wb2x5bGluZT4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4=)
}

@media (hover: hover) and (pointer: fine) {
    .tableWrap .dataTables_paginate .paginate_button:hover {
        color: var(--white);
        background-color: var(--brandColor)
    }
}

.tableWrap .dataTables_paginate .paginate_button.current {
    color: var(--white);
    background-color: var(--brandColor)
}

.tableWrap table {
    width: 100%;
    border-spacing: 0px
}

@media only screen and (max-width: 47.9375rem) {
    .tableWrap table:has(td[data-title]) thead {
        display: none
    }

    .tableWrap table:has(td[data-title]) tbody {
        display: flex;
        flex-direction: column;
        gap: .5rem
    }

    .tableWrap table:has(td[data-title]) tbody tr {
        display: flex;
        flex-direction: column;
        gap: .5rem;
        padding: .7rem;
        border-radius: .5rem;
        border: 1px solid var(--dropBg)
    }

    .tableWrap table:has(td[data-title]) tbody tr:nth-child(odd) {
        background: hsla(from var(--black) h s l/.03)
    }

    .tableWrap table:has(td[data-title]) tbody tr td {
        position: relative;
        display: grid;
        grid-template-columns: 45% 1fr;
        align-items: start;
        gap: .5rem;
        border-bottom: none;
        padding: 0
    }

    .tableWrap table:has(td[data-title]) tbody tr td:before {
        content: attr(data-title);
        background: var(--dropBg);
        color: var(--brandColor2);
        font-weight: 500;
        line-height: 110%;
        padding: .4rem .6rem;
        border-radius: .3rem;
        font-size: 95%
    }
}

.tableWrap table thead {
    position: sticky;
    top: .5rem;
    transition: all .4s var(--ease)
}

.tableWrap table thead tr {
    background: var(--dropBg);
    color: var(--brandColor2);
    font-size: calc(27 / var(--gfs) * 1rem);
    line-height: 100%
}

@media only screen and (min-width: 100rem) {
    .tableWrap table thead tr {
        font-size: calc(29 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .tableWrap table thead tr {
        font-size: calc(24 / var(--gfs) * 1rem)
    }
}

.tableWrap table thead tr>th:first-child {
    border-start-start-radius: .5rem;
    border-end-start-radius: .5rem
}

.tableWrap table thead tr>th:last-child {
    border-end-end-radius: .5rem;
    border-start-end-radius: .5rem
}

.tableWrap table td {
    padding: .8rem 1rem;
    font-size: calc(24 / var(--gfs) * 1rem);
    line-height: 150%;
    border-bottom: 1px solid var(--dropBg)
}

@media only screen and (min-width: 100rem) {
    .tableWrap table td {
        font-size: calc(26 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .tableWrap table td {
        font-size: calc(22 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .tableWrap table td {
        padding-inline: 0
    }
}

.tableWrap table tr:last-child td {
    border-bottom: none
}

.tableWrap table th {
    padding: 1rem;
    text-align: start;
    font-weight: 600;
    border-radius: 0
}

.mTopSmall {
    margin-top: .5rem
}

.page404Wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--gap)
}

.page404Wrap .title {
    font-size: 15em;
    line-height: 100%;
    color: var(--text);
    margin-bottom: 2rem;
    font-weight: 700;
    text-shadow: 0 0 2rem hsla(from var(--black) h s l/.7)
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .page404Wrap .title {
        font-size: 13em
    }
}

@media only screen and (max-width: 64rem) {
    .page404Wrap .title {
        font-size: 10em
    }
}

@media only screen and (max-width: 47.9375rem) {
    .page404Wrap .title {
        font-size: 7em;
        margin-bottom: 0rem
    }
}

.page404Wrap .moreWrap {
    margin-top: 0
}

@media only screen and (min-width: 61.3125rem) {
    .sticky {
        position: sticky;
        top: var(--headerHeight)
    }
}

.grpInfo .textBox>ul:first-child {
    margin-top: .8rem
}

@media only screen and (max-width: 47.9375rem) {
    .grpInfo .textBox>ul:first-child {
        margin-top: .5rem
    }
}

.buttonGroup {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem
}

.buttonGroup.end {
    justify-content: end
}

body .popupBox {
    border-radius: var(--round);
    max-width: 1250px;
    width: 85vw
}

@media only screen and (max-width: 767px) {
    body .popupBox {
        width: 90vw;
        border-radius: 15px
    }
}

.popupBox {
    display: none;
    padding: 0 !important;
    background-color: var(--white);
    font-family: var(--fontFamily)
}

.popupBox>.plusBtn {
    position: absolute;
    top: .5rem;
    right: .5rem
}

[dir=rtl] .popupBox>.plusBtn {
    right: auto;
    left: .5rem
}

.popupBox.mdBox {
    max-width: 700px;
    position: relative
}

@media only screen and (min-width: 100rem) {
    .popupBox.mdBox {
        max-width: 800px
    }
}

.popupBox.smBox {
    max-width: 400px
}

@media only screen and (min-width: 100rem) {
    .popupBox.smBox {
        max-width: 500px
    }
}

.popupBox .topBox {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: .5rem;
    align-items: center;
    margin-bottom: 1.5rem
}

@media only screen and (max-width: 767px) {
    .popupBox .topBox {
        margin-bottom: 1rem
    }
}

.popupBox .title {
    font-weight: 500;
    font-size: calc(32 / var(--gfs) * 1rem);
    line-height: 120%
}

@media only screen and (min-width: 100rem) {
    .popupBox .title {
        font-size: calc(36 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .popupBox .title {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .popupBox .title {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 61.25rem) {
    .popupBox .title {
        font-size: calc(33 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .popupBox .title {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .popupBox .title {
    line-height: 130%
}

.popupBox .title span {
    position: relative
}

.popupBox .plusBtn svg {
    width: 60%
}

.popupBox .name {
    font-weight: 700;
    font-size: calc(42 / var(--gfs) * 1rem)
}

@media only screen and (min-width: 100rem) {
    .popupBox .name {
        font-size: calc(45 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .popupBox .name {
        font-size: calc(38 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .popupBox .name {
        font-size: calc(38 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .popupBox .name {
        font-size: calc(36 / var(--gfs) * 1rem)
    }
}

.popupBox .dec {
    font-weight: 500;
    font-size: calc(26 / var(--gfs) * 1rem)
}

.popupBox .metaWrap {
    display: flex;
    flex-direction: column;
    gap: .8rem;
    justify-content: start;
    align-items: start;
    margin-top: 1rem
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .popupBox .metaWrap {
        gap: .5rem
    }
}

@media only screen and (min-width: 48rem) and (max-width: 64rem) {
    .popupBox .metaWrap {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 1.5rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .popupBox .metaWrap {
        gap: .5rem
    }
}

.popupBox .meta {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .4rem;
    align-items: center;
    font-size: calc(26 / var(--gfs) * 1rem)
}

.popupBox .meta .iconBox {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.2rem;
    color: var(--brandColor)
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .popupBox .meta .iconBox {
        width: 1.1rem
    }
}

.popupBox .meta .iconBox img,
.popupBox .meta .iconBox svg {
    width: 100%;
    height: auto;
    aspect-ratio: 1
}

.popupBox .studentInfoWrap,
.popupBox .formBox {
    margin-top: 1.5rem
}

@media only screen and (max-width: 47.9375rem) {

    .popupBox .studentInfoWrap,
    .popupBox .formBox {
        margin-top: 1rem
    }
}

.popupBox .studentInfoWrap .form-v3 .buttonWrap,
.popupBox .formBox .form-v3 .buttonWrap {
    justify-content: end
}

.popupBox .inner {
    padding: 1.5rem
}

@media only screen and (max-width: 47.9375rem) {
    .popupBox .inner {
        padding: 1rem
    }
}

@media only screen and (max-width: 980px) {
    .popupBox {
        width: 85vw;
        padding: 0
    }
}

@media only screen and (max-width: 767px) {
    .popupBox {
        width: 94vw
    }
}

body .fancybox__nav,
body .fancybox__toolbar {
    --f-button-bg: hsla(from var(--brandColor) h s l / .7);
    --f-button-hover-bg: hsla(from var(--brandColor) h s l / .5)
}

body .fancybox__backdrop {
    --fancybox-bg: hsla(from var(--text) h s l / .5)
}

body .fancybox__content>.f-button.is-close-btn {
    top: 0;
    outline: none;
    border: none;
    box-shadow: none;
    color: var(--text);
    background: transparent;
    border-start-end-radius: 20px;
    --f-button-width: 40px;
    --f-button-height: 40px;
    --f-button-border-radius: 5px;
    --f-button-svg-width: 16px;
    --f-button-svg-height: 16px;
    right: 0
}

[dir=rtl] body .fancybox__content>.f-button.is-close-btn {
    right: auto;
    left: 0
}

@media only screen and (max-width: 767px) {
    body .fancybox__content>.f-button.is-close-btn {
        --f-button-width: 35px;
        --f-button-height: 35px;
        --f-button-svg-width: 15px !important;
        --f-button-svg-height: 15px !important
    }
}

body .is-compact .fancybox__content>.f-button.is-close-btn {
    --f-button-border-radius: 5px;
    top: 0;
    right: 0
}

[dir=rtl] body .is-compact .fancybox__content>.f-button.is-close-btn {
    right: auto;
    left: 0
}

html[dir=rtl] .fancybox__content {
    direction: rtl
}

.alert {
    padding: 1rem;
    display: flex;
    align-items: center;
    background: var(--white);
    border-radius: 1rem
}

.alert .textBox {
    flex: 1
}

.alert .closeBtn {
    height: auto;
    background: transparent;
    outline: none;
    border: none;
    padding: 0;
    width: 1.2rem;
    display: flex;
    margin-inline-start: .4rem;
    cursor: pointer
}

@media (hover: hover) and (pointer: fine) {
    .alert .closeBtn:hover svg {
        transform: scale(1.1)
    }
}

.alert .closeBtn svg {
    width: 100%;
    height: auto;
    transition: all .4s var(--ease)
}

.alert.alertDanger {
    background: hsla(from var(--brandRed) h s l/.2)
}

.alert.alertDanger .closeBtn {
    color: var(--brandRed)
}

.alert.alertSuccess {
    background: hsla(from var(--brandGreen) h s l/.2)
}

.alert.alertSuccess .closeBtn {
    color: #0f5132
}

.alert.alertWarning {
    background: hsla(from var(--brandYellow) h s l/.8)
}

.alert.alertWarning .closeBtn {
    color: #664d03
}

.alert.alertInfo {
    background: hsla(from var(--brandColor) h s l/.2)
}

.alert.alertInfo .closeBtn {
    color: var(--brandColor)
}

.tippy-box[data-animation=fade][data-state=hidden] {
    opacity: 0
}

[data-tippy-root] {
    max-width: calc(100vw - 10px)
}

.tippy-box {
    position: relative;
    background-color: var(--white);
    color: var(--text);
    border-radius: 15px;
    font-size: 14px;
    line-height: 1.4;
    white-space: normal;
    outline: 0;
    transition-property: transform, visibility, opacity
}

@media only screen and (max-width: 47.9375rem) {
    .tippy-box {
        border-radius: 10px
    }
}

.tippy-box[data-placement^=top]>.tippy-arrow {
    bottom: 0
}

.tippy-box[data-placement^=top]>.tippy-arrow:before {
    bottom: -7px;
    left: 0;
    border-width: 8px 8px 0;
    border-top-color: initial;
    transform-origin: center top
}

.tippy-box[data-placement^=bottom]>.tippy-arrow {
    top: 0
}

.tippy-box[data-placement^=bottom]>.tippy-arrow:before {
    top: -7px;
    left: 0;
    border-width: 0 8px 8px;
    border-bottom-color: initial;
    transform-origin: center bottom
}

.tippy-box[data-placement^=left]>.tippy-arrow {
    right: 0
}

.tippy-box[data-placement^=left]>.tippy-arrow:before {
    border-width: 8px 0 8px 8px;
    border-left-color: initial;
    right: -7px;
    transform-origin: center left
}

.tippy-box[data-placement^=right]>.tippy-arrow {
    left: 0
}

.tippy-box[data-placement^=right]>.tippy-arrow:before {
    left: -7px;
    border-width: 8px 8px 8px 0;
    border-right-color: initial;
    transform-origin: center right
}

.tippy-box[data-inertia][data-state=visible] {
    transition-timing-function: cubic-bezier(.54, 1.5, .38, 1.11)
}

.tippy-arrow {
    width: 16px;
    height: 16px;
    color: var(--white)
}

.tippy-arrow:before {
    content: "";
    position: absolute;
    border-color: transparent;
    border-style: solid
}

.tippy-content {
    position: relative;
    padding: 1rem;
    z-index: 1
}

.mainWrap:has([data-avatardrop][aria-expanded=true]):after {
    content: "";
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--black);
    opacity: .3;
    z-index: 100;
    pointer-events: none;
    transition: all .4s var(--ease)
}

body:not(.browserSafari) .form-v3 input[type=file]::file-selector-button {
    display: none
}

.form-v3 .dropZone input[type=file] {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    z-index: 10;
    height: 100%;
    padding: 0
}

.form-v3 .asterisk {
    color: var(--brandRed);
    font-size: 15px;
    line-height: .5
}

.form-v3 ::placeholder {
    color: #c3c6cb;
    opacity: 1;
    font-weight: 400
}

[dir=rtl] .form-v3 ::placeholder {
    font-weight: 500
}

.form-v3 :-ms-input-placeholder {
    color: #c3c6cb;
    font-weight: 400
}

[dir=rtl] .form-v3 :-ms-input-placeholder {
    font-weight: 500
}

.form-v3 ::-ms-input-placeholder {
    font-weight: 400;
    color: #c3c6cb
}

[dir=rtl] .form-v3 ::-ms-input-placeholder {
    font-weight: 500
}

.form-v3 .custom-file-upload {
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid #ccc;
    cursor: pointer;
    font-family: var(--fontFamily);
    background: rgb(var(--inputBG)/.5);
    color: inherit;
    border: none;
    border-radius: 10px;
    outline: none;
    height: var(--inputH);
    width: 100%;
    margin: 0;
    padding: 0;
    box-shadow: none;
    box-sizing: border-box;
    transition: box-shadow .3s, border .3s
}

.form-v3 .custom-file-upload input[type=file] {
    position: absolute;
    opacity: 0;
    width: 100%;
    left: 0
}

.form-v3 .custom-file-upload .file-name {
    padding-inline-start: 1.5rem
}

.form-v3.filledColor input[type=file],
.form-v3.filledColor input:not([type]),
.form-v3.filledColor input[type=text]:not(.browser-default),
.form-v3.filledColor input[type=password]:not(.browser-default),
.form-v3.filledColor input[type=email]:not(.browser-default),
.form-v3.filledColor input[type=url]:not(.browser-default),
.form-v3.filledColor input[type=time]:not(.browser-default),
.form-v3.filledColor input[type=date]:not(.browser-default),
.form-v3.filledColor input[type=datetime]:not(.browser-default),
.form-v3.filledColor input[type=datetime-local]:not(.browser-default),
.form-v3.filledColor input[type=tel]:not(.browser-default),
.form-v3.filledColor input[type=number]:not(.browser-default),
.form-v3.filledColor input[type=search]:not(.browser-default),
.form-v3.filledColor textarea.materialize-textarea {
    border: none;
    background: var(--inputBG)
}

.form-v3.filledColor .ss-main {
    border: none;
    background: var(--inputBG)
}

.form-v3.filledColor .p-dropdown {
    border: none;
    background: var(--inputBG);
    border-radius: 10px;
    min-height: var(--inputH);
    height: var(--inputH);
    width: 100%;
    min-width: 0;
    overflow: hidden;
    transition: box-shadow .3s, border-color .3s
}

.form-v3.filledColor .p-dropdown .p-dropdown-label {
    padding-inline: 1rem;
    font-weight: 500;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.form-v3.filledColor .p-dropdown .p-dropdown-trigger {
    background: transparent;
    border: none;
    width: var(--inputH)
}

.form-v3.filledColor .p-dropdown.p-focus,
.form-v3.filledColor .p-dropdown:focus-within {
    box-shadow: 0 0 0 1px var(--primary-color);
    outline: none
}

.form-v3.filledColor .inputBox {
    row-gap: 1.5rem
}

.form-v3 .inputBox {
    display: grid;
    align-items: flex-start;
    grid-template-columns: calc(50% - 1rem) calc(50% - 1rem);
    position: relative;
    gap: 1rem
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .form-v3 .inputBox {
        gap: 1.5rem;
        grid-template-columns: calc(50% - .75rem) calc(50% - .75rem)
    }
}

@media only screen and (max-width: 980px) {
    .form-v3 .inputBox {
        grid-template-columns: calc(50% - .5rem) calc(50% - .5rem);
        gap: 1.5rem 1rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .form-v3 .inputBox {
        grid-template-columns: 100%;
        gap: 1.5rem 2rem
    }
}

.form-v3 .select-wrapper .select-dropdown {
    border-color: var(--text-color);
    box-shadow: none !important;
    font-size: .9rem;
    font-weight: 600;
    max-height: 300px;
    padding: 0;
    margin: 0
}

.form-v3 input[type=file] {
    line-height: var(--inputH);
    cursor: pointer
}

.form-v3 input[type=file],
.form-v3 input:not([type]),
.form-v3 input[type=text]:not(.browser-default),
.form-v3 input[type=password]:not(.browser-default),
.form-v3 input[type=email]:not(.browser-default),
.form-v3 input[type=url]:not(.browser-default),
.form-v3 input[type=time]:not(.browser-default),
.form-v3 input[type=date]:not(.browser-default),
.form-v3 input[type=datetime]:not(.browser-default),
.form-v3 input[type=datetime-local]:not(.browser-default),
.form-v3 input[type=tel]:not(.browser-default),
.form-v3 input[type=number]:not(.browser-default),
.form-v3 input[type=search]:not(.browser-default),
.form-v3 textarea.materialize-textarea {
    font-family: var(--fontFamily);
    background: transparent;
    color: inherit;
    border: 1px solid hsl(from var(--black) h s l/.1);
    border-radius: 10px;
    outline: none;
    height: var(--inputH);
    width: 100%;
    margin: 0;
    padding: 0;
    padding-inline: 1rem;
    box-shadow: none;
    box-sizing: border-box;
    transition: box-shadow .3s, border .3s;
    font-weight: 400;
    font-size: calc(30 / var(--gfs) * 1rem)
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {

    .form-v3 input[type=file],
    .form-v3 input:not([type]),
    .form-v3 input[type=text]:not(.browser-default),
    .form-v3 input[type=password]:not(.browser-default),
    .form-v3 input[type=email]:not(.browser-default),
    .form-v3 input[type=url]:not(.browser-default),
    .form-v3 input[type=time]:not(.browser-default),
    .form-v3 input[type=date]:not(.browser-default),
    .form-v3 input[type=datetime]:not(.browser-default),
    .form-v3 input[type=datetime-local]:not(.browser-default),
    .form-v3 input[type=tel]:not(.browser-default),
    .form-v3 input[type=number]:not(.browser-default),
    .form-v3 input[type=search]:not(.browser-default),
    .form-v3 textarea.materialize-textarea {
        font-size: calc(29 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {

    .form-v3 input[type=file],
    .form-v3 input:not([type]),
    .form-v3 input[type=text]:not(.browser-default),
    .form-v3 input[type=password]:not(.browser-default),
    .form-v3 input[type=email]:not(.browser-default),
    .form-v3 input[type=url]:not(.browser-default),
    .form-v3 input[type=time]:not(.browser-default),
    .form-v3 input[type=date]:not(.browser-default),
    .form-v3 input[type=datetime]:not(.browser-default),
    .form-v3 input[type=datetime-local]:not(.browser-default),
    .form-v3 input[type=tel]:not(.browser-default),
    .form-v3 input[type=number]:not(.browser-default),
    .form-v3 input[type=search]:not(.browser-default),
    .form-v3 textarea.materialize-textarea {
        font-size: calc(29 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {

    .form-v3 input[type=file],
    .form-v3 input:not([type]),
    .form-v3 input[type=text]:not(.browser-default),
    .form-v3 input[type=password]:not(.browser-default),
    .form-v3 input[type=email]:not(.browser-default),
    .form-v3 input[type=url]:not(.browser-default),
    .form-v3 input[type=time]:not(.browser-default),
    .form-v3 input[type=date]:not(.browser-default),
    .form-v3 input[type=datetime]:not(.browser-default),
    .form-v3 input[type=datetime-local]:not(.browser-default),
    .form-v3 input[type=tel]:not(.browser-default),
    .form-v3 input[type=number]:not(.browser-default),
    .form-v3 input[type=search]:not(.browser-default),
    .form-v3 textarea.materialize-textarea {
        padding-inline: 1rem
    }
}

.form-v3 input[type=file]:disabled,
.form-v3 input[type=file][readonly=readonly],
.form-v3 input:not([type]):disabled,
.form-v3 input:not([type])[readonly=readonly],
.form-v3 input[type=text]:not(.browser-default):disabled,
.form-v3 input[type=text]:not(.browser-default)[readonly=readonly],
.form-v3 input[type=password]:not(.browser-default):disabled,
.form-v3 input[type=password]:not(.browser-default)[readonly=readonly],
.form-v3 input[type=email]:not(.browser-default):disabled,
.form-v3 input[type=email]:not(.browser-default)[readonly=readonly],
.form-v3 input[type=url]:not(.browser-default):disabled,
.form-v3 input[type=url]:not(.browser-default)[readonly=readonly],
.form-v3 input[type=time]:not(.browser-default):disabled,
.form-v3 input[type=time]:not(.browser-default)[readonly=readonly],
.form-v3 input[type=date]:not(.browser-default):disabled,
.form-v3 input[type=date]:not(.browser-default)[readonly=readonly],
.form-v3 input[type=datetime]:not(.browser-default):disabled,
.form-v3 input[type=datetime]:not(.browser-default)[readonly=readonly],
.form-v3 input[type=datetime-local]:not(.browser-default):disabled,
.form-v3 input[type=datetime-local]:not(.browser-default)[readonly=readonly],
.form-v3 input[type=tel]:not(.browser-default):disabled,
.form-v3 input[type=tel]:not(.browser-default)[readonly=readonly],
.form-v3 input[type=number]:not(.browser-default):disabled,
.form-v3 input[type=number]:not(.browser-default)[readonly=readonly],
.form-v3 input[type=search]:not(.browser-default):disabled,
.form-v3 input[type=search]:not(.browser-default)[readonly=readonly],
.form-v3 textarea.materialize-textarea:disabled,
.form-v3 textarea.materialize-textarea[readonly=readonly] {
    color: var(--grey-color)
}

.form-v3 input[type=file]:disabled+label,
.form-v3 input[type=file][readonly=readonly]+label,
.form-v3 input:not([type]):disabled+label,
.form-v3 input:not([type])[readonly=readonly]+label,
.form-v3 input[type=text]:not(.browser-default):disabled+label,
.form-v3 input[type=text]:not(.browser-default)[readonly=readonly]+label,
.form-v3 input[type=password]:not(.browser-default):disabled+label,
.form-v3 input[type=password]:not(.browser-default)[readonly=readonly]+label,
.form-v3 input[type=email]:not(.browser-default):disabled+label,
.form-v3 input[type=email]:not(.browser-default)[readonly=readonly]+label,
.form-v3 input[type=url]:not(.browser-default):disabled+label,
.form-v3 input[type=url]:not(.browser-default)[readonly=readonly]+label,
.form-v3 input[type=time]:not(.browser-default):disabled+label,
.form-v3 input[type=time]:not(.browser-default)[readonly=readonly]+label,
.form-v3 input[type=date]:not(.browser-default):disabled+label,
.form-v3 input[type=date]:not(.browser-default)[readonly=readonly]+label,
.form-v3 input[type=datetime]:not(.browser-default):disabled+label,
.form-v3 input[type=datetime]:not(.browser-default)[readonly=readonly]+label,
.form-v3 input[type=datetime-local]:not(.browser-default):disabled+label,
.form-v3 input[type=datetime-local]:not(.browser-default)[readonly=readonly]+label,
.form-v3 input[type=tel]:not(.browser-default):disabled+label,
.form-v3 input[type=tel]:not(.browser-default)[readonly=readonly]+label,
.form-v3 input[type=number]:not(.browser-default):disabled+label,
.form-v3 input[type=number]:not(.browser-default)[readonly=readonly]+label,
.form-v3 input[type=search]:not(.browser-default):disabled+label,
.form-v3 input[type=search]:not(.browser-default)[readonly=readonly]+label,
.form-v3 textarea.materialize-textarea:disabled+label,
.form-v3 textarea.materialize-textarea[readonly=readonly]+label {
    color: var(--grey-color)
}

.form-v3 input[type=file]:focus.invalid~label,
.form-v3 input:not([type]):focus.invalid~label,
.form-v3 input[type=text]:not(.browser-default):focus.invalid~label,
.form-v3 input[type=password]:not(.browser-default):focus.invalid~label,
.form-v3 input[type=email]:not(.browser-default):focus.invalid~label,
.form-v3 input[type=url]:not(.browser-default):focus.invalid~label,
.form-v3 input[type=time]:not(.browser-default):focus.invalid~label,
.form-v3 input[type=date]:not(.browser-default):focus.invalid~label,
.form-v3 input[type=datetime]:not(.browser-default):focus.invalid~label,
.form-v3 input[type=datetime-local]:not(.browser-default):focus.invalid~label,
.form-v3 input[type=tel]:not(.browser-default):focus.invalid~label,
.form-v3 input[type=number]:not(.browser-default):focus.invalid~label,
.form-v3 input[type=search]:not(.browser-default):focus.invalid~label,
.form-v3 textarea.materialize-textarea:focus.invalid~label {
    color: var(--red-color)
}

.form-v3 input[type=file].validate+label,
.form-v3 input:not([type]).validate+label,
.form-v3 input[type=text]:not(.browser-default).validate+label,
.form-v3 input[type=password]:not(.browser-default).validate+label,
.form-v3 input[type=email]:not(.browser-default).validate+label,
.form-v3 input[type=url]:not(.browser-default).validate+label,
.form-v3 input[type=time]:not(.browser-default).validate+label,
.form-v3 input[type=date]:not(.browser-default).validate+label,
.form-v3 input[type=datetime]:not(.browser-default).validate+label,
.form-v3 input[type=datetime-local]:not(.browser-default).validate+label,
.form-v3 input[type=tel]:not(.browser-default).validate+label,
.form-v3 input[type=number]:not(.browser-default).validate+label,
.form-v3 input[type=search]:not(.browser-default).validate+label,
.form-v3 textarea.materialize-textarea.validate+label {
    width: 100%
}

.form-v3 input[type=time]::-webkit-inner-spin-button,
.form-v3 input[type=time]::-webkit-calendar-picker-indicator,
.form-v3 input[type=date]::-webkit-inner-spin-button,
.form-v3 input[type=date]::-webkit-calendar-picker-indicator {
    opacity: 0
}

.form-v3 .input-field {
    position: relative;
    display: flex;
    gap: .2rem;
    flex-direction: column
}

.form-v3 .input-field:has(select[required])>label:not(.error):after,
.form-v3 .input-field:has(textarea[required])>label:not(.error):after,
.form-v3 .input-field:has(input[required])>label:not(.error):after {
    content: "*";
    color: var(--brandRed);
    margin-inline-start: 3px;
    font-size: 110%;
    line-height: 80%
}

.form-v3 .input-field:has(.inputView)>label:not(.error) {
    opacity: .5
}

.form-v3 .input-field.text-right {
    align-items: flex-end
}

.form-v3 .input-field:not(.normal):has(:focus-within)>label:not(.error) {
    transform: translateY(-100%) scale(.85);
    top: 0
}

.form-v3 .input-field:not(.normal).active>label:not(.error) {
    transform: translateY(-100%) scale(.85);
    top: 0
}

.form-v3 .input-field:not(.normal)>label:not(.error) {
    position: absolute;
    top: calc(var(--inputH) / 2);
    transform: translateY(-50%);
    left: 1rem;
    transform-origin: left;
    margin-bottom: 0rem
}

[dir=rtl] .form-v3 .input-field:not(.normal)>label:not(.error) {
    left: auto;
    right: 1rem
}

[dir=rtl] .form-v3 .input-field:not(.normal)>label:not(.error) {
    transform-origin: right
}

.form-v3 .input-field label.error {
    position: absolute;
    bottom: 0;
    background-color: var(--brandRed) !important;
    color: #fff;
    font-size: 12px;
    transform: translateY(calc(100% + 1px));
    margin-bottom: 0;
    padding: .2em .8em;
    font-weight: 100;
    z-index: 10;
    right: 0;
    line-height: 120%;
    border-radius: 5px
}

[dir=rtl] .form-v3 .input-field label.error {
    right: auto;
    left: 0
}

.form-v3 .input-field>label:not(.error) {
    cursor: text;
    transition: transform .2s ease-out, color .2s ease-out, border .2s ease-out;
    text-align: initial;
    line-height: 100%;
    font-weight: 400;
    font-size: calc(26 / var(--gfs) * 1rem);
    transition: all .4s var(--ease);
    margin-bottom: .25rem
}

.form-v3 .input-field .helperText {
    align-self: end;
    opacity: .5;
    position: relative;
    min-height: 18px;
    display: block;
    font-size: 12px
}

.form-v3 .input-field:has(.iconBox) input {
    padding-inline-end: var(--inputH)
}

.form-v3 .input-field:has(.iconBox) input[type=time]:not(.browser-default),
.form-v3 .input-field:has(.iconBox) input[type=date]:not(.browser-default) {
    padding-right: .5rem;
    padding-left: 1rem
}

.form-v3 .input-field:has(input[type=date]:not(.browser-default))>.iconBox,
.form-v3 .input-field:has(input[type=time]:not(.browser-default))>.iconBox {
    right: 0 !important;
    left: auto !important
}

.form-v3 .input-field>.iconBox {
    position: absolute;
    bottom: 0;
    width: var(--inputH);
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    border: none;
    outline: none;
    box-shadow: none;
    cursor: pointer;
    pointer-events: none;
    z-index: 10;
    right: 0rem;
    color: #4b4f58
}

[dir=rtl] .form-v3 .input-field>.iconBox {
    right: auto;
    left: 0rem
}

@media only screen and (max-width: 47.9375rem) {
    .form-v3 .input-field>.iconBox {
        right: .2rem
    }

    [dir=rtl] .form-v3 .input-field>.iconBox {
        right: auto;
        left: .2rem
    }
}

.form-v3 .input-field>.iconBox svg {
    width: 21px;
    height: auto
}

.form-v3 .input-field.full {
    grid-column: -1/1
}

.form-v3 .input-field .materialize-textarea {
    min-height: 7rem !important;
    padding-block: 1rem;
    line-height: 170%;
    resize: vertical
}

.form-v3 .input-field .materialize-textarea::-webkit-scrollbar {
    width: 5px
}

.form-v3 .input-field .materialize-textarea::-webkit-scrollbar-track {
    background: var(--bg-color)
}

.form-v3 .input-field .materialize-textarea::-webkit-scrollbar-thumb {
    background: var(--brandColor)
}

.form-v3 .input-field .materialize-textarea::-webkit-scrollbar-thumb:hover {
    background: var(--secondary-color)
}

.form-v3 .input-field .helper-text {
    font-weight: 400;
    margin-top: .2rem;
    color: #bbb;
    padding: 0 1rem
}

[dir=rtl] .form-v3 .input-field .helper-text {
    font-weight: 500
}

.form-v3 .input-field .helper-text .dir_ltr,
.form-v3 .input-field .helper-text .dir_rtl {
    display: inline-block
}

.form-v3 .buttonWrap {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: .5rem;
    align-items: center
}

@media only screen and (max-width: 47.9375rem) {
    .form-v3 .buttonWrap {
        gap: .25rem
    }
}

.form-v3 .buttonWrap:has(.more:not(.wAuto)) {
    justify-content: center
}

.form-v3 .buttonWrap.center {
    justify-content: center
}

.form-v3 .buttonWrap.end {
    justify-content: end
}

.form-v3 .buttonWrap .link {
    color: hsla(from var(--black) h s l/.5);
    transition: all .4s ease-in-out;
    font-weight: 400
}

[dir=rtl] .form-v3 .buttonWrap .link {
    font-weight: 500
}

.form-v3 .buttonWrap .link:hover {
    color: var(--black)
}

.form-v3 .mobileNumber {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: .5rem
}

.form-v3 .mobileNumber .ss-main {
    min-width: inherit
}

.form-v3 .forgotPassword {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem;
    font-size: calc(26 / var(--gfs) * 1rem);
    line-height: 120%
}

.form-v3 .forgotPassword label {
    opacity: .5
}

.form-v3 .forgotPassword .link {
    position: relative;
    padding-block: .2rem;
    color: var(--brandColor)
}

.form-v3 .forgotPassword .link:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: var(--brandColor);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .4s var(--ease)
}

[dir=rtl] .form-v3 .forgotPassword .link:before {
    transform-origin: left
}

@media (hover: hover) and (pointer: fine) {
    .form-v3 .forgotPassword .link:hover:before {
        transform: scaleX(1);
        transform-origin: left
    }

    [dir=rtl] .form-v3 .forgotPassword .link:hover:before {
        transform-origin: right
    }
}

.form-v3 .ss-main .ss-arrow path {
    stroke: #707070;
    stroke-width: 15
}

.form-v3 .input_parent {
    position: relative;
    width: 100%
}

.form-v3 .input_parent .input_file_ {
    position: absolute !important;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 5
}

.form-v3 .input_parent .uploadWrapperParent {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: #fff;
    border: 1px solid #ccc;
    padding: 6px 12px;
    overflow: hidden;
    opacity: 0;
    visibility: hidden
}

.form-v3 .input_parent .uploadWrapperParent.uploading {
    opacity: 1;
    visibility: visible
}

.form-v3 .input_parent .uploadWrapperParent.uploaded {
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    margin-top: 5px;
    background: #eff5e8;
    border-color: #d7e4c7
}

.form-v3 .input_parent .uploadWrapperParent.uploaded .uploadProgressWrapper {
    display: none
}

.form-v3 .input_parent .uploadFileName {
    white-space: nowrap;
    position: relative;
    z-index: 1;
    top: 0;
    text-overflow: ellipsis;
    overflow: hidden
}

.form-v3 .input_parent .uploadPercentage {
    position: relative;
    font-weight: 500;
    font-size: 13px;
    letter-spacing: 0;
    z-index: 10
}

.form-v3 .input_parent .uploadProgressWrapper {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 100%;
    left: 0;
    opacity: 1;
    overflow: hidden
}

.form-v3 .input_parent .uploadProgress {
    height: 100%;
    width: 0;
    background: rgba(71, 194, 174, .4);
    -webkit-transition: all .1s linear;
    transition: all .1s linear
}

.form-v3 .input_parent input[type=file] {
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
    height: 100%;
    width: 100%
}

.form-v3 .input_parent .choose {
    position: relative;
    width: 100%;
    height: 100%;
    background: transparent;
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    letter-spacing: 0;
    pointer-events: none;
    overflow: hidden;
    height: 3rem;
    border-bottom: 1px solid var(--black)
}

.form-v3 .input_parent .choose .icon_box {
    display: flex;
    align-items: center;
    justify-content: center;
    color: hsla(from var(--black) h s l/.5)
}

.form-v3 .input_parent .choose .icon_box svg {
    width: 20px;
    height: auto
}

.form-v3 .input_parent .wpcf7-not-valid-tip,
.form-v3 .input_parent label.error {
    position: absolute;
    bottom: 0;
    background-color: var(--brandRed) !important;
    color: var(--white-color) !important;
    font-size: 12px;
    transform: translateY(calc(100% + 1px));
    margin-bottom: 0;
    padding: .2em .8em;
    font-weight: 400;
    z-index: 10;
    border-radius: 5px;
    right: 0;
    line-height: 120%
}

[dir=rtl] .form-v3 .input_parent .wpcf7-not-valid-tip,
[dir=rtl] .form-v3 .input_parent label.error {
    font-weight: 500
}

[dir=rtl] .form-v3 .input_parent .wpcf7-not-valid-tip,
[dir=rtl] .form-v3 .input_parent label.error {
    right: auto;
    left: 0
}

.form-v3 .input_parent .choose-btn {
    font-weight: 400;
    z-index: 10;
    font-size: 13px;
    margin-bottom: 0;
    white-space: nowrap;
    display: flex;
    background-color: #0085ff;
    padding: 0 1rem;
    border-radius: .5rem;
    color: var(--brandColor);
    height: 100%;
    align-items: center;
    justify-content: center
}

[dir=rtl] .form-v3 .input_parent .choose-btn {
    font-weight: 500
}

.form-v3 .input_parent .choose-file {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    font-weight: 400
}

[dir=rtl] .form-v3 .input_parent .choose-file {
    font-weight: 500
}

.form-v3 .radioInline {
    display: grid;
    grid-template-columns: 40% 1fr;
    gap: 2rem
}

@media only screen and (max-width: 64rem) {
    .form-v3 .radioInline {
        grid-template-columns: 100%;
        gap: 1.2rem
    }
}

.form-v3 .radioInline.full_ {
    grid-template-columns: 100%;
    gap: 1.5rem
}

@media only screen and (max-width: 64rem) {
    .form-v3 .radioInline.full_ {
        gap: 1.2rem
    }
}

.form-v3 .radioInline .checkboxWrap {
    align-self: center
}

.checkboxWrap {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem 2rem;
    --rSize: 1.2rem
}

@media only screen and (min-width: 100rem) {
    .checkboxWrap {
        gap: 1rem 3rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .checkboxWrap {
        gap: .5rem 1.5rem
    }
}

.checkboxWrap.col2 {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    margin-top: 1rem;
    gap: 2rem
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .checkboxWrap.col2 {
        gap: 1.5rem
    }
}

@media only screen and (max-width: 980px) {
    .checkboxWrap.col2 {
        gap: 1.5rem 1rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .checkboxWrap.col2 {
        grid-template-columns: 100%;
        gap: 1.5rem 2rem
    }
}

.checkboxWrap label:not(.error) {
    --s: 1.3rem;
    position: relative;
    padding-inline-start: calc(var(--s) + .7rem);
    font-size: calc(26 / var(--gfs) * 1rem);
    cursor: pointer;
    display: inline-flex
}

.checkboxWrap label:not(.error) input {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    visibility: hidden;
    margin: 0
}

.checkboxWrap label:not(.error):after,
.checkboxWrap label:not(.error):before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: var(--s);
    aspect-ratio: 1;
    border-radius: 50%;
    transform: translateY(-50%);
    transition: all .4s var(--ease)
}

[dir=rtl] .checkboxWrap label:not(.error):after,
[dir=rtl] .checkboxWrap label:not(.error):before {
    left: auto;
    right: 0
}

.checkboxWrap label:not(.error):before {
    background: var(--inputBG)
}

.checkboxWrap label:not(.error):has(input[type=checkbox]):after,
.checkboxWrap label:not(.error):has(input[type=checkbox]):before {
    border-radius: 5px
}

.checkboxWrap label:not(.error):after {
    background-color: var(--brandColor);
    transform: translateY(-50%) scale(.5);
    opacity: 0;
    transition: all .3s var(--ease)
}

.checkboxWrap label:not(.error):has(:checked):after {
    opacity: 1;
    transform: translateY(-50%) scale(.5)
}

html {
    box-sizing: border-box;
    font-size: var(--font-size)
} 

 *,
*:before,
*:after {
    box-sizing: border-box
} 

body {
    font-family: var(--fontFamily);
     color: var(--text);
    font-size: var(--fontSize);
    font-size: calc(30 / var(--gfs) * 1rem);
    font-weight: 400;
    background: var(--bg);
    letter-spacing: normal;
    padding: 0;
    margin: 0;
    line-height: 150%;
    position: relative 
}

@media only screen and (max-width: 47.9375rem) {
    body {
        font-size: calc(29 / var(--gfs) * 1rem)
    }
}
/* 
body::-webkit-scrollbar {
    display: none
}

body:has(.signUpWrap) {
    background: var(--white)
}

::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px hsla(from var(--brandColor) h s l/.1);
    background-color: hsla(from var(--brandColor) h s l/.05)
}

::-webkit-scrollbar {
    width: 5px
}

::-webkit-scrollbar-thumb {
    background-color: var(--brandColor)
} */

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 700
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
    overflow-wrap: break-word
}

a {
    text-decoration: none;
    transition: all .3s ease;
    color: var(--text)
}

video::-webkit-media-controls-mute-button,
video::-webkit-media-controls-volume-slider-container,
video::-webkit-media-controls-volume-slider {
    display: none
}

.container-fluid {
    padding-inline: 15px
}

.container {
    width: 100%;
    max-width: 92%;
    min-width: 92%;
    margin-right: auto;
    margin-left: auto;
    padding-inline: 15px
}

@media screen and (min-width: 100rem) {
    .container {
        width: 100%;
        max-width: 1500px;
        min-width: 1500px
    }
}

@media only screen and (max-width: 47.9375rem) {
    .container {
        max-width: 100%;
        min-width: 100%
    }
}

picture,
img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain
}

.abs picture {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%
}

.abs img {
    height: 100%;
    object-fit: cover;
    object-position: center
}

.textBox {
    line-height: 160%;
    font-size: calc(28 / var(--gfs) * 1rem)
}

.textBox.weightLight {
    font-weight: 100
}

.textBox.weightBold {
    font-weight: 600
}

.textBox>*:first-child {
    margin-top: 0
}

.textBox>*:last-child {
    margin-bottom: 0
}

.textBox.firstPUp p:nth-of-type(1) {
    font-size: calc(42 / var(--gfs) * 1rem)
}

@media only screen and (min-width: 100rem) {
    .textBox.firstPUp p:nth-of-type(1) {
        font-size: calc(45 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .textBox.firstPUp p:nth-of-type(1) {
        font-size: calc(38 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .textBox.firstPUp p:nth-of-type(1) {
        font-size: calc(38 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .textBox.firstPUp p:nth-of-type(1) {
        font-size: calc(36 / var(--gfs) * 1rem)
    }
}

.textBox a {
    color: var(--brandColor)
}

.textBox img {
    border-radius: 10px
}

.textBox>p {
    display: -webkit-box;
    -webkit-line-clamp: var(--lineClamp);
    -webkit-box-orient: vertical;
    overflow: hidden
}

.textBox figure {
    margin-inline: 0
}

.textBox figure[class=table] table {
    width: 100%
}

.textBox figure[class=table] td figure {
    margin: 0
}

.textBox figure[class=table]:has(figure[class=media]) {
    overflow: hidden
}

.textBox figure[class=table]:has(figure[class=media]) table {
    border-spacing: 15px;
    margin-block: -15px;
    margin-inline: -15px;
    width: calc(100% + 30px)
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .textBox figure[class=table]:has(figure[class=media]) table {
        border-spacing: .8rem;
        margin-block: -.8rem;
        margin-inline: -.8rem;
        width: calc(100% + 1.6rem)
    }
}

@media only screen and (max-width: 61.25rem) {
    .textBox figure[class=table]:has(figure[class=media]) table {
        border-spacing: .8rem;
        margin-block: -.8rem;
        margin-inline: -.8rem;
        width: calc(100% + 1.6rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .textBox figure[class=table]:has(figure[class=media]) table {
        border-spacing: .2rem;
        margin-block: -.2rem;
        margin-inline: -.2rem;
        width: calc(100% + .4rem)
    }
}

.textBox p {
    margin-block: 1rem
}

.textBox strong {
    font-weight: 600
}

[dir=rtl] .textBox strong {
    font-weight: 500
}

.textBox h2,
.textBox h3,
.textBox h4,
.textBox h5,
.textBox h6 {
    font-weight: 600;
    margin-bottom: 1rem;
    margin-top: 2.5rem
}

.textBox h2 {
    line-height: 140%;
    font-size: calc(65 / var(--gfs) * 1rem)
}

@media only screen and (min-width: 100rem) {
    .textBox h2 {
        font-size: calc(68 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .textBox h2 {
        font-size: calc(55 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .textBox h2 {
        font-size: calc(55 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .textBox h2 {
        font-size: calc(50 / var(--gfs) * 1rem)
    }
}

.textBox h3 {
    line-height: 140%;
    font-size: calc(55 / var(--gfs) * 1rem)
}

@media only screen and (min-width: 100rem) {
    .textBox h3 {
        font-size: calc(60 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .textBox h3 {
        font-size: calc(50 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .textBox h3 {
        font-size: calc(50 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .textBox h3 {
        font-size: calc(45 / var(--gfs) * 1rem)
    }
}

.textBox h4 {
    font-size: calc(39 / var(--gfs) * 1rem)
}

@media only screen and (max-width: 47.9375rem) {
    .textBox h4 {
        font-size: calc(36 / var(--gfs) * 1rem)
    }
}

.textBox h5 {
    font-size: calc(35 / var(--gfs) * 1rem)
}

.textBox h6 {
    font-size: calc(31 / var(--gfs) * 1rem)
}

.textBox ol {
    list-style: decimal-leading-zero
}

.textBox ul {
    padding-inline-start: 1.7em;
    list-style-type: disc;
    display: grid;
    gap: 1rem
}

.textBox ul li::marker {
    color: var(--brandColor);
    font-size: 1.7em;
    line-height: .6
}

.textBox ol {
    padding: 0;
    display: grid;
    gap: 1rem;
    list-style-position: inside
}

.textBox.esm {
    font-size: calc(21 / var(--gfs) * 1rem)
}

@media only screen and (max-width: 47.9375rem) {
    .textBox.esm {
        font-size: calc(22 / var(--gfs) * 1rem)
    }
}

.textBox.sm {
    font-size: calc(26 / var(--gfs) * 1rem)
}

.textBox.md {
    font-size: calc(37 / var(--gfs) * 1rem)
}

@media only screen and (min-width: 100rem) {
    .textBox.md {
        font-size: calc(39 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .textBox.md {
        font-size: calc(36 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .textBox.md {
        font-size: calc(34 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .textBox.md {
        font-size: calc(33 / var(--gfs) * 1rem)
    }
}

.textBox.lg {
    font-size: calc(42 / var(--gfs) * 1rem)
}

@media only screen and (min-width: 100rem) {
    .textBox.lg {
        font-size: calc(45 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .textBox.lg {
        font-size: calc(38 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .textBox.lg {
        font-size: calc(38 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .textBox.lg {
        font-size: calc(36 / var(--gfs) * 1rem)
    }
}

.textBox.exlg {
    font-size: calc(56 / var(--gfs) * 1rem)
}

@media only screen and (min-width: 100rem) {
    .textBox.exlg {
        font-size: calc(60 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .textBox.exlg {
        font-size: calc(55 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .textBox.exlg {
        font-size: calc(50 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .textBox.exlg {
        font-size: calc(40 / var(--gfs) * 1rem)
    }
}

.textBox.smLineHeight {
    line-height: 140%
}

div[class^=sectionTitle]:has(+.gridWrap.border) {
    margin-bottom: .5rem
}

div[class^=sectionTitle].text-center>* {
    align-items: center
}

div[class^=sectionTitle]>* {
    margin: 0;
    font-weight: 500;
    position: relative;
    display: inline-block
}

div[class^=sectionTitle] span {
    position: relative
}

div[class^=sectionTitle] small {
    opacity: .5;
    font-size: 70%
}

div[class^=sectionTitle].color {
    color: var(--brandColor)
}

.sectionTitle>* {
    font-size: calc(40 / var(--gfs) * 1rem);
    line-height: 130%
}

@media only screen and (min-width: 100rem) {
    .sectionTitle>* {
        font-size: calc(45 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .sectionTitle>* {
    line-height: 135%
}

.sectionTitleSmall>* {
    margin: 0;
    font-weight: 600;
    position: relative;
    display: inline-block;
    font-size: calc(34 / var(--gfs) * 1rem);
    line-height: 110%
}

@media only screen and (min-width: 100rem) {
    .sectionTitleSmall>* {
        font-size: calc(35 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .sectionTitleSmall>* {
        font-size: calc(33 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .sectionTitleSmall>* {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .sectionTitleSmall>* {
    line-height: 135%
}

.limitedWD {
    max-width: 60%;
    min-width: 60%;
    margin-inline: auto
}

@media only screen and (max-width: 64rem) {
    .limitedWD {
        max-width: 80%;
        min-width: 80%
    }
}

@media only screen and (max-width: 47.9375rem) {
    .limitedWD {
        max-width: 100%;
        min-width: 100%
    }
}

.text-center {
    text-align: center
}

.finAnim,
.finAnimL {
    transform: translateY(3rem);
    opacity: 0
}

.dom_loaded .inView .finAnim {
    transition: opacity .4s linear, transform 1.8s cubic-bezier(.19, 1, .22, 1), filter 1.8s cubic-bezier(.19, 1, .22, 1)
}

.dom_loaded .inView .finAnim.d1 {
    transition-delay: .6s
}

.dom_loaded .inView .finAnim.d2 {
    transition-delay: .8s
}

.dom_loaded .inView .finAnim.d3 {
    transition-delay: 1s
}

.dom_loaded .inView .finAnim.d4 {
    transition-delay: 1.2s
}

.dom_loaded .inView .finAnimL,
.dom_loaded .inView .finAnim {
    transform: translateY(0);
    opacity: 1
}

.dom_loaded .inView .finAnimL {
    --delay: 0s;
    transition: opacity .4s linear, transform 1.8s cubic-bezier(.19, 1, .22, 1), clip-path 1.8s cubic-bezier(.19, 1, .22, 1)
}

.dom_loaded .inView .finAnimL:nth-child(1) {
    transition-delay: calc(.2s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(2) {
    transition-delay: calc(.4s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(3) {
    transition-delay: calc(.6s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(4) {
    transition-delay: calc(.8s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(5) {
    transition-delay: calc(1s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(6) {
    transition-delay: calc(1.2s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(7) {
    transition-delay: calc(1.4s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(8) {
    transition-delay: calc(1.6s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(9) {
    transition-delay: calc(1.8s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(10) {
    transition-delay: calc(2s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(11) {
    transition-delay: calc(2.2s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(12) {
    transition-delay: calc(2.4s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(13) {
    transition-delay: calc(2.6s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(14) {
    transition-delay: calc(2.8s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(15) {
    transition-delay: calc(3s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(16) {
    transition-delay: calc(3.2s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(17) {
    transition-delay: calc(3.4s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(18) {
    transition-delay: calc(3.6s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(19) {
    transition-delay: calc(3.8s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(20) {
    transition-delay: calc(4s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(21) {
    transition-delay: calc(4.2s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(22) {
    transition-delay: calc(4.4s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(23) {
    transition-delay: calc(4.6s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(24) {
    transition-delay: calc(4.8s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(25) {
    transition-delay: calc(5s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(26) {
    transition-delay: calc(5.2s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(27) {
    transition-delay: calc(5.4s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(28) {
    transition-delay: calc(5.6s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(29) {
    transition-delay: calc(5.8s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(30) {
    transition-delay: calc(6s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(31) {
    transition-delay: calc(6.2s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(32) {
    transition-delay: calc(6.4s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(33) {
    transition-delay: calc(6.6s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(34) {
    transition-delay: calc(6.8s + var(--delay))
}

.dom_loaded .inView .finAnimL:nth-child(35) {
    transition-delay: calc(7s + var(--delay))
}

.aj_loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    background-color: hsla(from var(--text) h s l/.8);
    z-index: 20;
    pointer-events: none;
    opacity: 0;
    transition: all .8s cubic-bezier(.2, 1, .6, 1)
}

.aj_loader.show {
    pointer-events: auto;
    opacity: 1
}

.aj_loader.show .loader_wrapper {
    opacity: 1;
    transform: none
}

.aj_loader .inner_loader {
    position: relative;
    z-index: 10;
    transition: all .8s cubic-bezier(.2, 1, .6, 1)
}

.aj_loader .inner_loader .c_loader {
    width: 100px;
    height: 100px;
    border-radius: 100%;
    position: relative;
    margin: 0 auto
}

.aj_loader .inner_loader .c_loader:after,
.aj_loader .inner_loader .c_loader:before {
    content: "";
    width: 15px;
    height: 15px;
    position: absolute;
    top: 0;
    left: calc(50% - 10px);
    background-color: var(--text);
    border-radius: 50%;
    animation: squaremove 1.4s linear infinite
}

.aj_loader .inner_loader .c_loader:after {
    bottom: 0;
    animation-delay: .7s
}

@keyframes squaremove {

    0%,
    to {
        transform: translate(0) rotate(0)
    }

    25% {
        transform: translate(40px, 40px) rotate(45deg)
    }

    50% {
        transform: translateY(80px) rotate(0)
    }

    75% {
        transform: translate(-40px, 40px) rotate(45deg)
    }
}

.toolWrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 1rem;
    margin-bottom: 1.5rem;
    position: relative;
    z-index: 15
}

@media only screen and (max-width: 64rem) {
    .toolWrap {
        gap: .8rem
    }
}

@media only screen and (max-width: 61.25rem) {
    .toolWrap {
        gap: .5rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .toolWrap {
        justify-content: flex-start;
        margin-bottom: 1rem
    }

    .toolWrap.mobileSpace {
        justify-content: space-between
    }
}

.toolWrap.form-v3 {
    --inputH: 3rem
}

.toolWrap.form-v3 .ss-main,
.toolWrap.form-v3 input[type=text]:not(.browser-default) {
    background: transparent;
    border: 2px solid rgba(159, 159, 159, .6)
}

@media only screen and (max-width: 61.25rem) {

    .toolWrap.form-v3 .ss-main,
    .toolWrap.form-v3 input[type=text]:not(.browser-default) {
        border-width: 1px
    }
}

.toolWrap.form-v3 .input-field .iconBox {
    color: var(--black)
}

.toolWrap.form-v3 .ss-main {
    --ss-main-height: 2.2rem
}

.toolWrap.form-v3 .ss-main .ss-arrow path {
    stroke: var(--black)
}

@media only screen and (max-width: 64rem) {
    .toolWrap.stretchWidth {
        display: grid;
        grid-template-columns: repeat(3, 1fr)
    }
}

@media only screen and (max-width: 61.25rem) {
    .toolWrap.stretchWidth {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .toolWrap.stretchWidth {
        grid-template-columns: 100%
    }
}

.toolWrap.stretchWidth .tItem {
    flex: 1
}

.toolWrap.stretchWidth .tItem:has(.more) {
    flex: inherit;
    place-self: start;
    align-self: center
}

@media only screen and (max-width: 47.9375rem) {
    .toolWrap.stretchWidth .tItem:has(.more) {
        width: auto;
        place-self: end
    }
}

@media only screen and (min-width: 64.0625rem) {
    .toolWrap.alCenter {
        justify-content: center
    }

    .toolWrap.alCenter .tItem {
        width: clamp(250px, 23.9%, 400px)
    }

    .toolWrap.alCenter .tItem:has(.more) {
        width: auto
    }
}

@media only screen and (max-width: 64rem) {
    .toolWrap.alCenter {
        display: grid;
        grid-template-columns: repeat(2, 1fr) auto
    }

    .toolWrap.alCenter .tItem:has(.more) {
        width: auto;
        place-self: start;
        align-self: center
    }
}

@media only screen and (max-width: 61.25rem) {
    .toolWrap.alCenter {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .toolWrap.alCenter {
        grid-template-columns: 100%
    }

    .toolWrap.alCenter .tItem:has(.more) {
        place-self: end
    }
}

.toolWrap.alStart {
    justify-content: flex-start
}

.toolWrap .selectric-wrapper {
    min-width: 250px
}

.toolWrap .link {
    color: var(--brandColor2);
    font-weight: 500;
    display: inline-block;
    padding: .5rem 1.5rem;
    position: relative;
    transition: all .4s var(--ease)
}

.toolWrap .link:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border: 1px solid rgba(159, 159, 159, .6);
    border-radius: 2rem;
    z-index: -1;
    transition: all .4s var(--ease)
}

.toolWrap .link:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--brandColor);
    border-radius: 2rem;
    transform: scale(.8);
    opacity: 0;
    transition: all .4s var(--ease);
    z-index: -1
}

.toolWrap .link.active {
    color: var(--white)
}

.toolWrap .link.active:after {
    transform: scale(1);
    opacity: 1
}

.toolWrap .link.active:before {
    transform: scale(.8);
    opacity: 0
}

@media (hover: hover) and (pointer: fine) {
    .toolWrap .link:hover {
        color: var(--white)
    }

    .toolWrap .link:hover:after {
        transform: scale(1);
        opacity: 1
    }

    .toolWrap .link:hover:before {
        transform: scale(.8);
        opacity: 0
    }
}

.toolWrap .tItem {
    display: flex
}

@media only screen and (max-width: 47.9375rem) {
    .toolWrap .tItem {
        width: 100%
    }

    .toolWrap .tItem.navItem {
        display: none
    }
}

.toolWrap[aira-tab] {
    justify-content: center
}

@media only screen and (max-width: 47.9375rem) {
    .toolWrap[aira-tab] .tItem {
        width: inherit
    }
}

.toolWrap[aira-tab] .more.line:not(.active) {
    opacity: .2
}

.toolWrap[aira-tab] .more.line:not(.active):hover {
    opacity: 1
}

.titleWrap {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 1rem;
    align-items: flex-end;
    margin-bottom: calc(var(--gap) + .5rem)
}

@media screen and (max-width: 47.9375rem) {
    .titleWrap {
        grid-template-columns: 100%;
        gap: .5rem;
        margin-bottom: 1.5rem
    }
}

.titleWrap .sectionTitle {
    margin-bottom: 0
}

.titleWrap .c {
    display: flex;
    flex-direction: column;
    gap: .5rem
}

.titleWrap>* {
    margin: 0
}

.swiper-scrollbar {
    width: 100%;
    overflow: hidden;
    position: relative;
    border-radius: 1.5rem
}

.swiper-scrollbar.swiper-scrollbar-lock {
    display: block !important;
    opacity: 0;
    visibility: hidden
}

.swiper-scrollbar:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: var(--text);
    opacity: .1
}

.swiper-scrollbar .swiper-scrollbar-drag {
    position: relative;
    background-color: transparent;
    height: .5rem
}

@media only screen and (max-width: 64rem) {
    .swiper-scrollbar .swiper-scrollbar-drag {
        height: .4rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .swiper-scrollbar .swiper-scrollbar-drag {
        height: .3rem
    }
}

.swiper-scrollbar .swiper-scrollbar-drag:after {
    content: "";
    position: absolute;
    top: 0;
    height: 100%;
    width: 90vw;
    background-color: var(--text);
    border-radius: 1.5rem;
    right: 0
}

[dir=rtl] .swiper-scrollbar .swiper-scrollbar-drag:after {
    right: auto;
    left: 0
}

@keyframes bannerElement {
    to {
        background-position-x: 100%
    }
}

.paginationWrapper {
    margin-top: calc(var(--gap) * 2)
}

.paginationWrapper nav {
    display: flex;
    align-items: center;
    justify-content: center
}

.paginationWrapper .pagination {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    align-items: center;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 0
}

@media only screen and (max-width: 47.9375rem) {
    .paginationWrapper .pagination {
        gap: .2rem
    }
}

.paginationWrapper li:first-child .pageLink {
    padding-inline-start: 0
}

.paginationWrapper li:last-child .pageLink {
    padding-inline-end: 0
}

@media only screen and (max-width: 47.9375rem) {

    .paginationWrapper .linkLast,
    .paginationWrapper .linkFirst {
        display: none
    }
}

.paginationWrapper .pageLink {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text);
    font-weight: 700;
    transition: all .4s ease-in-out;
    cursor: pointer;
    position: relative;
    font-weight: 400;
    font-size: calc(26 / var(--gfs) * 1rem)
}

@media only screen and (max-width: 64rem) {
    .paginationWrapper .pageLink {
        width: 34px;
        height: 34px
    }
}

@media only screen and (min-width: 48rem) {
    .paginationWrapper .pageLink:has(.iconBox) {
        width: inherit;
        display: flex;
        gap: .2rem;
        padding-inline: .5rem
    }
}

@media only screen and (min-width: 48rem) and (max-width: 47.9375rem) {
    .paginationWrapper .pageLink:has(.iconBox) {
        padding-inline: .2rem
    }
}

@media only screen and (min-width: 48rem) {
    .paginationWrapper .pageLink:has(.iconBox):before {
        display: none
    }

    .paginationWrapper .pageLink:has(.iconBox):hover {
        color: var(--text);
        transform: scale(1.05)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .paginationWrapper .pageLink:has(.iconBox) span {
        display: none
    }
}

.paginationWrapper .pageLink .iconBox {
    display: flex;
    width: 18px
}

.paginationWrapper .pageLink .iconBox svg {
    width: 100%;
    height: auto;
    transform: scale(1)
}

[dir=rtl] .paginationWrapper .pageLink .iconBox svg {
    transform: scaleX(-1)
}

.paginationWrapper .pageLink:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: 50%;
    z-index: -1;
    background: var(--text);
    transform: scale(.5) rotate(90deg);
    opacity: 0;
    transition: all .4s ease-in-out
}

@media only screen and (min-width: 1630px) {
    .paginationWrapper .pageLink {
        width: 40px;
        height: 40px;
        font-size: 15px
    }
}

@media only screen and (max-width: 61.25rem) {
    .paginationWrapper .pageLink {
        width: 35px;
        height: 35px
    }
}

@media only screen and (max-width: 47.9375rem) {
    .paginationWrapper .pageLink {
        width: 32px;
        height: 32px
    }
}

@media (hover: hover) and (pointer: fine) {
    .paginationWrapper .pageLink:hover {
        color: var(--white)
    }

    .paginationWrapper .pageLink:hover:before {
        transform: none;
        opacity: .5
    }
}

.paginationWrapper .pageLink svg {
    height: 11px;
    width: auto
}

@media only screen and (max-width: 47.9375rem) {
    .paginationWrapper .pageLink svg {
        height: 10px
    }
}

.paginationWrapper .pageLink.active {
    color: var(--white)
}

.paginationWrapper .pageLink.active:before {
    transform: none;
    opacity: 1
}

.paginationWrapper .pageLink.disabled {
    color: hsla(from var(--text) h s l/.4);
    pointer-events: none
}

.paginationWrapper .pageLink.disabled:before {
    background-color: hsla(from var(--white) h s l/.4)
}

.paginationWrapper .disabled .pageLink {
    pointer-events: none
}

.swiper-pagination {
    position: relative;
    text-align: inherit;
    display: flex;
    gap: 1rem;
    margin-top: 2rem
}

.swiper-pagination.center {
    justify-content: center
}

.swiper-pagination .swiper-pagination-bullet {
    opacity: 1;
    border-radius: 1rem;
    background: hsla(from var(--brandColor) h s l/.2);
    --s: 12px;
    width: var(--s);
    height: auto;
    aspect-ratio: 1;
    background: var(--brandColor);
    margin: 0 !important;
    transition: all .3s ease-in-out;
    position: relative;
    cursor: pointer
}

.swiper-pagination .swiper-pagination-bullet:after {
    content: "";
    position: absolute;
    top: 2px;
    right: 2px;
    bottom: 2px;
    left: 2px;
    transform: scale(0);
    background: var(--white);
    border-radius: 50%;
    transition: all .4s var(--ease)
}

.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:after {
    transform: scale(1)
}

.infoCard .cardTitle {
    padding-bottom: .5rem;
    border-bottom: 1px solid hsla(from var(--black) h s l/.1);
    margin-bottom: 1rem;
    font-size: calc(32 / var(--gfs) * 1rem);
    line-height: 120%
}

@media only screen and (min-width: 100rem) {
    .infoCard .cardTitle {
        font-size: calc(36 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .infoCard .cardTitle {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .infoCard .cardTitle {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 61.25rem) {
    .infoCard .cardTitle {
        font-size: calc(33 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .infoCard .cardTitle {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .infoCard .cardTitle {
    line-height: 130%
}

.infoCard.colorBlack .topBox {
    color: var(--text)
}

.infoCard.colorBlack .iconBox:before {
    background: linear-gradient(140deg, var(--black) 0%, rgba(0, 0, 0, .1) 89.93%)
}

@media (hover: hover) and (pointer: fine) {
    .infoCard a.inner:hover .num {
        transform: scale(1.09)
    }

    .infoCard a.inner:hover .iconBox:before {
        transform: scale(1.2)
    }

    .infoCard a.inner:hover .arrowBox {
        transform: translate(.3rem)
    }

    [dir=rtl] .infoCard a.inner:hover .arrowBox {
        transform: translate(-.3rem)
    }
}

.infoCard .inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--white);
    padding: 1rem;
    border-radius: var(--round)
}

@media only screen and (min-width: 100rem) {
    .infoCard .inner {
        padding: 1.5rem
    }
}

.infoCard .topBox {
    display: flex;
    align-items: center;
    gap: .2rem;
    justify-content: space-between;
    padding-block: 1.2rem;
    color: var(--brandColor)
}

@media only screen and (min-width: 100rem) {
    .infoCard .topBox {
        padding-block: 1.5rem
    }
}

@media only screen and (max-width: 64rem) {
    .infoCard .topBox {
        padding-block: 0 .5rem
    }
}

.infoCard .num {
    font-weight: 500;
    font-size: calc(100 / var(--gfs) * 1rem);
    line-height: 100%;
    transition: transform .4s var(--elastic)
}

@media only screen and (min-width: 100rem) {
    .infoCard .num {
        font-size: calc(130 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .infoCard .num {
        font-size: calc(85 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .infoCard .num {
        font-size: calc(55 / var(--gfs) * 1rem)
    }
}

.infoCard .num.lg {
    font-size: calc(130 / var(--gfs) * 1rem)
}

@media only screen and (min-width: 100rem) {
    .infoCard .num.lg {
        font-size: calc(160 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .infoCard .num.lg {
        font-size: calc(110 / var(--gfs) * 1rem)
    }
}

.infoCard .num.color {
    color: var(--brandColor)
}

.infoCard .num.aspect {
    aspect-ratio: 3/1.8;
    display: flex;
    align-items: center;
    justify-content: center
}

.infoCard .iconBox {
    width: 3rem;
    aspect-ratio: 1;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center
}

@media only screen and (min-width: 100rem) {
    .infoCard .iconBox {
        width: 3.35rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .infoCard .iconBox {
        width: 2.5rem
    }
}

.infoCard .iconBox:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: 15px;
    opacity: .2;
    background: linear-gradient(140deg, var(--brandColor) 0%, rgba(0, 0, 0, .1) 89.93%);
    transition: all .4s var(--ease)
}

@media only screen and (max-width: 47.9375rem) {
    .infoCard .iconBox:before {
        border-radius: 12px
    }
}

.infoCard .iconBox svg,
.infoCard .iconBox img {
    width: 45%;
    height: auto;
    aspect-ratio: 1
}

.infoCard .bottomBox {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    border-top: 1px solid hsla(from var(--black) h s l/.1);
    padding-top: 1rem;
    line-height: 100%;
    font-weight: 500;
    font-size: calc(28 / var(--gfs) * 1rem);
    line-height: 120%
}

@media only screen and (min-width: 100rem) {
    .infoCard .bottomBox {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .infoCard .bottomBox {
        font-size: calc(27 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .infoCard .bottomBox {
        font-size: calc(27 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .infoCard .bottomBox {
        font-size: calc(26 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .infoCard .bottomBox {
    line-height: 130%
}

@media only screen and (max-width: 47.9375rem) {
    .infoCard .bottomBox {
        padding-top: .7rem
    }
}

.infoCard .arrowBox {
    display: flex;
    align-items: center;
    justify-content: center;
    width: .9rem;
    transition: all .3s var(--ease)
}

.infoCard .arrowBox svg,
.infoCard .arrowBox img {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    transform: scale(1)
}

[dir=rtl] .infoCard .arrowBox svg,
[dir=rtl] .infoCard .arrowBox img {
    transform: scaleX(-1)
}

.circleNum {
    width: 100%;
    aspect-ratio: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--brandColor);
    color: var(--brandColor);
    border-radius: 50%;
    font-size: 3.5em;
    font-weight: 500;
    box-shadow: 0 0 12px hsl(from var(--brandColor) h s l/.3)
}

@media only screen and (min-width: 100rem) {
    .circleNum {
        font-size: 4.5em
    }
}

.circleGroup {
    display: grid;
    grid-template-columns: 28% 1fr;
    gap: 2rem;
    align-items: center
}

@media only screen and (min-width: 100rem) {
    .circleGroup {
        gap: 3rem
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .circleGroup {
        gap: 1rem;
        grid-template-columns: 25% 1fr
    }
}

@media only screen and (max-width: 47.9375rem) {
    .circleGroup {
        grid-template-columns: 100%;
        gap: 1rem
    }
}

@media only screen and (min-width: 100rem) {
    .circleGroup .circleNum {
        font-size: 4em
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .circleGroup .circleNum {
        font-size: 2.5em
    }
}

@media only screen and (min-width: 61.3125rem) {
    .circleGroup .circleNum {
        font-size: 3em
    }
}

@media only screen and (max-width: 47.9375rem) {
    .circleGroup .circleNum {
        max-width: 40vw;
        justify-self: center
    }
}

.circleGroup .circleList {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem 1rem;
    align-items: center
}

@media only screen and (min-width: 100rem) {
    .circleGroup .circleList {
        column-gap: 2rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .circleGroup .circleList {
        display: grid;
        grid-template-columns: repeat(2, 1fr)
    }
}

.circleGroup .circleItem {
    display: grid;
    align-items: center;
    grid-template-columns: auto 1fr;
    gap: .8rem;
    font-weight: 500;
    font-size: calc(28 / var(--gfs) * 1rem);
    line-height: 120%
}

@media only screen and (min-width: 100rem) {
    .circleGroup .circleItem {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .circleGroup .circleItem {
        font-size: calc(27 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .circleGroup .circleItem {
        font-size: calc(27 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .circleGroup .circleItem {
        font-size: calc(26 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .circleGroup .circleItem {
    line-height: 130%
}

@media only screen and (min-width: 100rem) {
    .circleGroup .circleItem {
        gap: 1rem
    }
}

.circleGroup .circleItem .circleNum {
    width: 50px;
    font-size: 1.1em;
    box-shadow: 0 0 5px hsl(from var(--brandColor) h s l/.3)
}

@media only screen and (min-width: 100rem) {
    .circleGroup .circleItem .circleNum {
        width: 60px
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .circleGroup .circleItem .circleNum {
        width: 45px
    }
}

@media only screen and (max-width: 47.9375rem) {
    .circleGroup .circleItem .circleNum {
        width: 42px;
        font-size: 1em
    }
}

.sectionList {
    display: flex;
    flex-direction: column;
    gap: var(--gap)
}

@media only screen and (max-width: 61.25rem) {
    .sectionList {
        display: grid;
        gap: 2rem;
        align-items: center;
        grid-template-columns: 28% 1fr
    }
}

@media only screen and (max-width: 47.9375rem) {
    .sectionList {
        grid-template-columns: 100%;
        gap: 1rem
    }
}

.sectionList .circleNum {
    align-self: center
}

@media only screen and (min-width: 61.3125rem) {
    .sectionList .circleNum {
        max-width: 80%
    }
}

@media only screen and (max-width: 47.9375rem) {
    .sectionList .circleNum {
        max-width: 40vw;
        justify-self: center
    }
}

.sectionList .progressList {
    display: flex;
    flex-direction: column;
    gap: 1rem
}

.sectionList .progressList .pInfo {
    opacity: 1
}

.sectionList:has(.imgBox) {
    gap: 2.5rem;
    display: grid;
    align-items: center;
    grid-template-columns: 20% 1fr auto
}

@media only screen and (min-width: 100rem) {
    .sectionList:has(.imgBox) {
        grid-template-columns: 18.5% 1fr auto;
        gap: 3rem
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .sectionList:has(.imgBox) {
        gap: 1.5rem
    }
}

@media only screen and (max-width: 64rem) {
    .sectionList:has(.imgBox) {
        gap: 2rem
    }
}

@media only screen and (max-width: 61.25rem) {
    .sectionList:has(.imgBox) {
        grid-template-columns: 28% 1fr auto
    }
}

@media only screen and (max-width: 47.9375rem) {
    .sectionList:has(.imgBox) {
        grid-template-columns: 100%
    }
}

.sectionList:has(.imgBox) .circleNum {
    max-width: 100%;
    border-radius: var(--round)
}

@media only screen and (max-width: 47.9375rem) {
    .sectionList:has(.imgBox) .circleNum {
        max-width: 40vw
    }
}

.sectionList:has(.imgBox) .progressList {
    max-width: 500px
}

.sectionList .imgBox {
    max-width: 180px;
    width: 100%
}

@media only screen and (min-width: 100rem) {
    .sectionList .imgBox {
        max-width: 220px
    }
}

@media only screen and (max-width: 47.9375rem) {
    .sectionList .imgBox {
        justify-self: center;
        display: none
    }
}

.articleCard.border .inner {
    border: 1px solid hsl(from var(--black) h s l/.1)
}

.articleCard .inner {
    display: flex;
    flex-direction: column;
    gap: .3rem;
    background: var(--white);
    padding: 1rem;
    border-radius: var(--round)
}

@media only screen and (min-width: 100rem) {
    .articleCard .inner {
        padding: 1.5rem
    }
}

.articleCard .topBox {
    --avS: 4rem;
    display: grid;
    align-items: center;
    grid-template-columns: var(--avS) 1fr;
    gap: .7rem;
    font-size: calc(28 / var(--gfs) * 1rem);
    line-height: 120%
}

@media only screen and (min-width: 100rem) {
    .articleCard .topBox {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .articleCard .topBox {
        font-size: calc(27 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .articleCard .topBox {
        font-size: calc(27 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .articleCard .topBox {
        font-size: calc(26 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .articleCard .topBox {
    line-height: 130%
}

@media only screen and (min-width: 100rem) {
    .articleCard .topBox {
        --avS: 4.5rem;
        font-size: calc(32 / var(--gfs) * 1rem)
    }
}

.articleCard .topBox .imgBox {
    width: 100%;
    border: 2px solid hsla(from var(--brandColor) h s l/.2);
    border-radius: 50%;
    padding: 7%
}

.articleCard .topBox .imgBox picture {
    border-radius: 50%;
    overflow: clip
}

.articleCard .topBox .imgBox img {
    aspect-ratio: 1
}

.articleCard .topBox:has(.editDot) {
    grid-template-columns: var(--avS) 1fr auto
}

.articleCard .articleImg {
    width: 100%;
    border-radius: var(--round);
    overflow: clip;
    margin-top: .3rem;
    position: relative
}

.articleCard .articleImg:after {
    content: "";
    /* position: absolute; */
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--black);
    opacity: .2
}

.articleCard .articleImg img {
    transition: all .4s var(--ease)
}

@media (hover: hover) and (pointer: fine) {
    .articleCard .articleImg:hover img {
        transform: scale(1.05)
    }
}

.articleCard .t {
    font-weight: 500;
    line-height: 110%
}

.articleCard .s {
    opacity: .4;
    line-height: 110%;
    margin-top: .2rem;
    font-size: 85%
}

@media only screen and (min-width: 100rem) {
    .articleCard .s {
        margin-top: .25rem
    }
}

.articleCard .articleTools {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: .5rem
}

.articleCard .tool {
    display: flex;
    align-items: center;
    gap: .3rem;
    font-size: calc(25 / var(--gfs) * 1rem);
    color: #d1d2d3;
    cursor: pointer
}

.articleCard .tool.likeBox.active .iconBox {
    color: var(--brandRed)
}

@media (hover: hover) and (pointer: fine) {
    .articleCard .tool:hover .iconBox svg {
        transform: scale(1.1)
    }
}

.articleCard .tool .iconBox {
    display: flex;
    align-items: center;
    justify-content: center
}

.articleCard .tool .iconBox svg {
    width: 1.1rem;
    height: auto;
    aspect-ratio: 1;
    transition: all .3s var(--ease)
}

.articleList {
    display: grid;
    gap: .8rem
}

@media only screen and (max-width: 47.9375rem) {
    .articleList {
        gap: 1rem
    }
}

.articleList .articleSmallCard:not(:last-child) {
    padding-bottom: .8rem;
    border-bottom: 1px solid hsla(from var(--black) h s l/.1)
}

@media only screen and (max-width: 47.9375rem) {
    .articleList .articleSmallCard:not(:last-child) {
        padding-bottom: 1rem
    }
}

.articleSmallCard .inner {
    display: grid;
    align-items: start;
    grid-template-columns: 35% 1fr;
    gap: .8rem;
    padding: 0
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .articleSmallCard .inner {
        gap: .5rem
    }
}

@media only screen and (max-width: 64rem) {
    .articleSmallCard .inner {
        grid-template-columns: 30% 1fr
    }
}

@media (hover: hover) and (pointer: fine) {
    .articleSmallCard .inner:hover .articleImg img {
        transform: scale(1.1)
    }
}

.articleSmallCard .articleImg {
    border-radius: 10px;
    overflow: clip;
    position: relative
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .articleSmallCard .articleImg {
        border-radius: 8px
    }
}

@media only screen and (max-width: 64rem) {
    .articleSmallCard .articleImg {
        border-radius: 8px
    }
}

.articleSmallCard .articleImg:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--black);
    opacity: .1
}

.articleSmallCard .articleImg img {
    aspect-ratio: 80/50;
    object-fit: cover;
    transition: all .4s var(--ease)
}

.articleSmallCard .contentBox {
    align-self: center;
    font-size: calc(26 / var(--gfs) * 1rem);
    line-height: 130%
}

[dir=rtl] .articleSmallCard .contentBox {
    line-height: 150%
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .articleSmallCard .contentBox {
        font-size: calc(23 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 61.25rem) and (max-width: 64rem) {
    .articleSmallCard .contentBox {
        font-size: calc(23 / var(--gfs) * 1rem)
    }
}

.articleSmallCard .date {
    font-weight: 500;
    margin-bottom: .1rem
}

.articleSmallCard .t {
    opacity: .4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden
}

.leadersHighlightCard {
    border-radius: var(--round);
    overflow: clip;
    background: var(--white)
}

.leadersHighlightCard .contentBox {
    padding: 1rem
}

@media only screen and (min-width: 100rem) {
    .leadersHighlightCard .contentBox {
        padding: 1.5rem
    }
}

.leadersHighlightCard .title {
    font-weight: 500;
    margin-bottom: 1rem;
    font-size: calc(32 / var(--gfs) * 1rem);
    line-height: 120%
}

@media only screen and (min-width: 100rem) {
    .leadersHighlightCard .title {
        font-size: calc(36 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .leadersHighlightCard .title {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .leadersHighlightCard .title {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 61.25rem) {
    .leadersHighlightCard .title {
        font-size: calc(33 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .leadersHighlightCard .title {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .leadersHighlightCard .title {
    line-height: 130%
}

@media only screen and (min-width: 100rem) {
    .leadersHighlightCard .title {
        margin-bottom: 1.5rem
    }
}

.leadersHighlightCard .points {
    --g: .6rem;
    display: grid;
    gap: var(--g)
}

@media only screen and (min-width: 100rem) {
    .leadersHighlightCard .points {
        --g: .9rem
    }
}

.leadersHighlightCard .points .p {
    padding-bottom: var(--g);
    border-bottom: 1px solid hsla(from var(--black) h s l/.1);
    display: grid;
    align-items: center;
    grid-template-columns: auto 1fr;
    gap: .5rem;
    font-size: calc(26 / var(--gfs) * 1rem);
    line-height: 120%
}

.leadersHighlightCard .points .p:last-child {
    padding-bottom: 0;
    border-bottom: none
}

.leadersHighlightCard .points .num {
    color: var(--brandColor);
    font-weight: 500;
    min-width: 90px;
    font-size: calc(37 / var(--gfs) * 1rem)
}

@media only screen and (min-width: 100rem) {
    .leadersHighlightCard .points .num {
        font-size: calc(39 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .leadersHighlightCard .points .num {
        font-size: calc(36 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .leadersHighlightCard .points .num {
        font-size: calc(34 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .leadersHighlightCard .points .num {
        font-size: calc(33 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .leadersHighlightCard .points .num {
        min-width: 65px
    }
}

.odometer.odometer-auto-theme,
.odometer.odometer-theme-default {
    font-family: var(--fontFamily);
    font-style: normal
}

.inlineCalenderSmallCard>.inner {
    display: flex;
    flex-direction: column;
    gap: .3rem;
    background: var(--white);
    padding: 1rem;
    border-radius: var(--round)
}

@media only screen and (min-width: 100rem) {
    .inlineCalenderSmallCard>.inner {
        padding: 1.5rem
    }
}

.inlineCalenderSmall .datepicker,
.inlineCalenderSmall .datepicker-view {
    width: 100%
}

.inlineCalenderSmall .datepicker-cell {
    height: auto;
    aspect-ratio: 1
}

.inlineCalenderSmall .eventHighlight {
    color: var(--brandColor)
}

.inlineCalenderSmall .eventHighlight:before {
    opacity: .2
}

.inlineCalenderSmall .datepicker-header .datepicker-controls {
    display: grid;
    grid-template-columns: 1fr auto auto
}

.inlineCalenderSmall .datepicker-header .datepicker-controls button.view-switch {
    order: 1;
    text-align: start;
    justify-content: start;
    font-family: var(--fontFamily);
    font-weight: 500
}

.inlineCalenderSmall .datepicker-header .datepicker-controls button.next-button,
.inlineCalenderSmall .datepicker-header .datepicker-controls button.prev-button {
    color: transparent;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 9px auto
}

.inlineCalenderSmall .datepicker-header .datepicker-controls button.prev-button {
    order: 2
}

.inlineCalenderSmall .datepicker-header .datepicker-controls button.next-button {
    order: 3
}

.inlineCalenderSmall .todayHighlight {
    color: var(--brandRed) !important
}

.inlineCalenderSmall .todayHighlight.selected {
    color: var(--white) !important
}

.inlineCalenderSmall .todayHighlight:before {
    background: var(--brandRed) !important;
    opacity: .2
}

html[dir=ltr] .inlineCalenderSmall .datepicker-header .datepicker-controls button.prev-button {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDggMTQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik02LjY1Njg1IDEuMDAwMDFMMSA2LjY1Njg2TDYuNjU2ODUgMTIuMzEzNyIgc3Ryb2tlPSIjMjgyOTJCIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K)
}

html[dir=ltr] .inlineCalenderSmall .datepicker-header .datepicker-controls button.next-button {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDggMTQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0wLjk5OTg4NCAxLjAwMDAxTDYuNjU2NzQgNi42NTY4NkwwLjk5OTg4NCAxMi4zMTM3IiBzdHJva2U9IiMyODI5MkIiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPgo=)
}

html[dir=rtl] .inlineCalenderSmall .datepicker-header .datepicker-controls button.prev-button {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDggMTQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0wLjk5OTg4NCAxLjAwMDAxTDYuNjU2NzQgNi42NTY4NkwwLjk5OTg4NCAxMi4zMTM3IiBzdHJva2U9IiMyODI5MkIiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPgo=)
}

html[dir=rtl] .inlineCalenderSmall .datepicker-header .datepicker-controls button.next-button {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDggMTQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik02LjY1Njg1IDEuMDAwMDFMMSA2LjY1Njg2TDYuNjU2ODUgMTIuMzEzNyIgc3Ryb2tlPSIjMjgyOTJCIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K)
}

.generalCard>.inner {
    display: flex;
    flex-direction: column;
    background: var(--white);
    padding: 1rem;
    border-radius: var(--round)
}

@media only screen and (min-width: 100rem) {
    .generalCard>.inner {
        padding: 1.5rem
    }
}

.generalCard .cardTitleWrap .progressWrap {
    min-width: 25rem
}

@media only screen and (min-width: 100rem) {
    .generalCard .cardTitleWrap .progressWrap {
        min-width: 35rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .generalCard .cardTitleWrap .progressWrap {
        min-width: inherit
    }
}

.cardTitleWrap {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
    margin-bottom: 1.8rem
}

@media only screen and (max-width: 47.9375rem) {
    .cardTitleWrap {
        gap: .5rem;
        margin-bottom: 1rem;
        flex-direction: column;
        align-items: end
    }
}

.cardTitleWrap.smallMargin {
    margin-bottom: 1rem
}

@media only screen and (max-width: 47.9375rem) {
    .cardTitleWrap.smallMargin {
        margin-bottom: .8rem
    }
}

.cardTitleWrap:has(.backBtn) {
    flex-wrap: inherit
}

.cardTitleWrap:has(.backBtn) .cardTools {
    width: inherit
}

.cardTitleWrap:has(.numberTitle) .cardTools {
    align-self: flex-end
}

.cardTitleWrap .c,
.cardTitleWrap .cardTitle {
    flex: 1;
    margin-bottom: 0rem
}

@media only screen and (max-width: 767px) {

    .cardTitleWrap .c,
    .cardTitleWrap .cardTitle {
        flex: inherit;
        width: 100%
    }
}

.cardTitleWrap .c {
    display: flex;
    flex-direction: column;
    gap: .4rem
}

.cardTitle {
    font-weight: 500;
    margin-bottom: 1.8rem;
    font-size: calc(38 / var(--gfs) * 1rem);
    line-height: 120%
}

@media only screen and (min-width: 100rem) {
    .cardTitle {
        font-size: calc(45 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .cardTitle {
        font-size: calc(40 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .cardTitle {
        font-size: calc(38 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .cardTitle {
        font-size: calc(36 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .cardTitle {
    line-height: 130%
}

.cardTitle.sm {
    font-size: calc(32 / var(--gfs) * 1rem);
    line-height: 120%
}

@media only screen and (min-width: 100rem) {
    .cardTitle.sm {
        font-size: calc(36 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .cardTitle.sm {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .cardTitle.sm {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 61.25rem) {
    .cardTitle.sm {
        font-size: calc(33 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .cardTitle.sm {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .cardTitle.sm {
    line-height: 130%
}

.cardTitle.smallMargin {
    margin-bottom: 1rem
}

@media only screen and (max-width: 47.9375rem) {
    .cardTitle.smallMargin {
        margin-bottom: .8rem
    }
}

.cardTools {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem
}

@media only screen and (max-width: 47.9375rem) {
    .cardTools {
        width: 100%;
        gap: .5rem
    }
}

.cardTools .searchBox {
    width: 100%
}

.progressWrap {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    width: 100%
}

.progressWrap .pInfo {
    display: flex;
    justify-content: space-between;
    gap: .5rem;
    opacity: .6;
    font-size: calc(26 / var(--gfs) * 1rem)
}

@media only screen and (max-width: 47.9375rem) {
    .progressWrap .pInfo {
        font-size: calc(24 / var(--gfs) * 1rem)
    }
}

.progressWrap .percentage {
    font-weight: 500
}

.progress {
    height: 10px;
    overflow: clip;
    width: 100%;
    background: rgba(179, 179, 179, .3);
    border-radius: 3rem;
    position: relative
}

.progress.sm {
    height: 7px
}

.progress:after {
    content: "";
    position: absolute;
    left: 0;
    height: 100%;
    border-radius: 3rem;
    background: var(--brandColor);
    width: 0%
}

[dir=rtl] .progress:after {
    right: 0;
}

.progress.dote:before {
    content: "";
    top: 1px;
    position: absolute;
    height: 8px;
    aspect-ratio: 1;
    background: var(--white);
    border-radius: 50%;
    z-index: 10;
    left: -10px
}

[dir=rtl] .progress.dote:before {
    left: auto;
    right: -10px
}

.dom_loaded .progress:not(.dote):after {
    transition: all 1.5s ease-in-out .3s;
    width: var(--percentage)
}

.dom_loaded .progress.dote.animate:after {
    transition: all 1.5s ease-in-out .3s
}

.dom_loaded .progress.dote.animate:before {
    transition: all 1.5s ease-in-out .3s
}

html[dir=ltr] .dom_loaded .progress.dote.animate:after {
    width: var(--percentage)
}

html[dir=ltr] .dom_loaded .progress.dote.animate:before {
    left: calc(var(--percentage) - 10px)
}

html[dir=rtl] .dom_loaded .progress.dote.animate:after {
    width: calc(100% - var(--percentage))
}

html[dir=rtl] .dom_loaded .progress.dote.animate:before {
    right: calc(100% - (var(--percentage) + 10px))
}

[data-color=green].progress:after {
    background: linear-gradient(90deg, hsla(from var(--brandGreen) h s l/.4) 0%, var(--brandGreen) 100%)
}

[dir=rtl] [data-color=green].progress:after {
    background: linear-gradient(270deg, hsla(from var(--brandGreen) h s l/.4) 0%, var(--brandGreen) 100%)
}

[data-color=red].progress:after {
    background: linear-gradient(90deg, hsla(from var(--brandRed) h s l/.4) 0%, var(--brandRed) 100%)
}

[dir=rtl] [data-color=red].progress:after {
    background: linear-gradient(270deg, hsla(from var(--brandRed) h s l/.4) 0%, var(--brandRed) 100%)
}

.roundFormWrap {
    padding: 2rem;
    border-radius: var(--round);
    border: 1px solid hsl(from var(--black) h s l/.1)
}

@media only screen and (max-width: 64rem) {
    .roundFormWrap {
        padding: 2rem 1.5rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .roundFormWrap {
        padding: 2rem 1rem 1rem
    }
}

.normalTab {
    display: flex;
    flex-wrap: wrap;
    gap: .2rem;
    margin-bottom: 1.8rem
}

.tabLink {
    font-size: calc(26 / var(--gfs) * 1rem);
    display: inline-flex;
    padding: .4rem 1rem;
    position: relative;
    line-height: 130%
}

.tabLink:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border: 1px solid hsla(from var(--brandColor) h s l/.1);
    border-radius: 2rem;
    opacity: .5;
    transition: all .4s var(--ease);
    background: hsla(from var(--brandColor) h s l/.1)
}

.tabLink.active:before {
    opacity: 1;
    transform: scale(1);
    background: transparent;
    border-color: var(--brandColor)
}

@media (hover: hover) and (pointer: fine) {
    .tabLink:not(.active):hover {
        color: var(--brandColor)
    }

    .tabLink:not(.active):hover:before {
        transform: scale(1);
        opacity: .3;
        border-color: var(--brandColor)
    }
}

.formBlock {
    --g: 3.5rem;
    display: grid;
    gap: var(--g)
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .formBlock {
        --g: 2rem
    }
}

@media only screen and (max-width: 64rem) {
    .formBlock {
        --g: 2rem
    }
}

.formBlock .buttonWrap {
    justify-content: end
}

.formBlock.gapBorderDote {
    --g: 2rem
}

@media only screen and (max-width: 47.9375rem) {
    .formBlock.gapBorderDote {
        --g: 1.2rem
    }
}

.formBlock.gapBorderDote .formGroup:not(:last-child) {
    padding-bottom: var(--g);
    border-bottom: 1px dashed hsl(from var(--black) h s l/.1)
}

.formGroup {
    display: flex;
    flex-direction: column;
    gap: 1.5rem
}

.formGroup .title {
    font-weight: 500;
    margin-bottom: .3rem;
    font-size: calc(32 / var(--gfs) * 1rem);
    line-height: 120%
}

@media only screen and (min-width: 100rem) {
    .formGroup .title {
        font-size: calc(36 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .formGroup .title {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .formGroup .title {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 61.25rem) {
    .formGroup .title {
        font-size: calc(33 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .formGroup .title {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .formGroup .title {
    line-height: 130%
}

.formGroup:has(.inputList) {
    gap: .25rem
}

.dropZoneWrap {
    display: flex;
    flex-direction: column;
    gap: .5rem
}

.dropZoneWrap>* {
    padding: 1.5rem;
    border: 2px solid hsl(from var(--black) h s l/.1);
    border-radius: 10px;
    line-height: 130%;
    display: flex;
    align-items: center;
    gap: .8rem;
    justify-content: center;
    position: relative;
    font-size: calc(26 / var(--gfs) * 1rem)
}

@media only screen and (max-width: 47.9375rem) {
    .dropZoneWrap>* {
        padding: 1rem
    }
}

.dropZoneWrap .iconBox {
    width: 2.1rem;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--brandColor)
}

@media only screen and (max-width: 47.9375rem) {
    .dropZoneWrap .iconBox {
        width: 1.9rem
    }
}

.dropZoneWrap .iconBox svg,
.dropZoneWrap .iconBox img {
    width: 100%;
    height: auto
}

.dropZoneWrap .helpText {
    opacity: .6;
    font-size: 80%
}

.dropZoneWrap .c {
    display: flex;
    flex-direction: column
}

.dropZoneWrap .c .t {
    display: flex;
    flex-wrap: wrap;
    gap: .3rem
}

.dropZoneWrap .c strong {
    font-weight: inherit;
    color: var(--brandColor)
}

.dropZone {
    border-style: dashed
}

@media only screen and (max-width: 47.9375rem) {
    .dropItem {
        flex-wrap: wrap;
        justify-content: start;
        row-gap: .3rem
    }
}

.dropItem .progressWrap {
    margin-inline-start: 1rem;
    flex: 1;
    align-items: center;
    flex-direction: row;
    gap: .5rem
}

@media only screen and (max-width: 47.9375rem) {
    .dropItem .progressWrap {
        flex: inherit;
        width: 100%;
        margin-inline-start: 0rem;
        order: 4
    }
}

.dropItem .nameBox {
    max-width: 10rem
}

@media only screen and (max-width: 47.9375rem) {
    .dropItem .nameBox {
        order: 2;
        flex: 1;
        max-width: inherit
    }
}

.dropItem .t {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden
}

@media only screen and (max-width: 47.9375rem) {
    .dropItem .t {
        word-break: break-all;
        white-space: inherit
    }
}

@media only screen and (max-width: 47.9375rem) {
    .dropItem .iconBox {
        order: 1
    }
}

@media only screen and (max-width: 47.9375rem) {
    .dropItem .iconBtn {
        order: 3
    }
}

.profileUpload {
    width: 10rem;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .profileUpload {
        width: 8.5rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .profileUpload {
        width: 8.2rem;
        align-self: center
    }
}

@media (hover: hover) and (pointer: fine) {
    .profileUpload:has([type=file]:hover) img {
        transform: scale(1.1)
    }
}

.profileUpload picture {
    height: 100%;
    border-radius: 50%;
    overflow: clip;
    pointer-events: none
}

.profileUpload img {
    aspect-ratio: 1;
    height: 100%;
    object-fit: cover;
    transition: all .4s var(--ease)
}

.profileUpload [type=file] {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100% !important;
    opacity: 0;
    z-index: 10;
    border-radius: 50% !important
}

.profileUpload .uploadIcon {
    cursor: pointer;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.7rem;
    aspect-ratio: 1;
    background: var(--brandColor);
    z-index: 10;
    color: var(--white);
    border-radius: 50%;
    top: 50%;
    right: 0;
    transform: translate(50%) translateY(-50%)
}

[dir=rtl] .profileUpload .uploadIcon {
    right: auto;
    left: 0
}

[dir=rtl] .profileUpload .uploadIcon {
    transform: translate(-50%) translateY(-50%)
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .profileUpload .uploadIcon {
        width: 2.4rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .profileUpload .uploadIcon {
        width: 2.4rem
    }
}

.profileUpload .uploadIcon img,
.profileUpload .uploadIcon svg {
    width: 45%;
    height: auto;
    transition: all .4s var(--ease)
}

@media (hover: hover) and (pointer: fine) {

    .profileUpload .uploadIcon:hover svg,
    .profileUpload .uploadIcon:hover img {
        transform: scale(1.1)
    }
}

.inputList {
    display: flex;
    flex-direction: column;
    gap: .5rem
}

.inputList .addBtnWrap {
    display: flex;
    justify-content: end;
    grid-column: -1/1;
    gap: .5rem
}

@media only screen and (min-width: 61.25rem) {
    .inputList.col2 {
        display: grid;
        grid-template-columns: repeat(2, 1fr)
    }

    .inputList.col2 .iconBtn {
        --inputH: 2.5rem
    }
}

.inputItem .inner {
    padding: 1.2rem;
    border: 1px solid hsl(from var(--black) h s l/.1);
    border-radius: 15px;
    display: grid;
    gap: .5rem;
    align-items: start;
    grid-template-columns: 1fr auto;
    height: 100%
}

@media only screen and (max-width: 64rem) {
    .inputItem .inner {
        padding: 1rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .inputItem .inner {
        grid-template-columns: 100%;
        padding: 1.2rem 1rem .8rem
    }
}

.inputItem .inner:not(:has(.textBox)):not(:has(.metaWrap)) {
    align-items: center
}

.inputItem .t {
    font-weight: 500;
    font-size: calc(32 / var(--gfs) * 1rem);
    line-height: 120%
}

@media only screen and (min-width: 100rem) {
    .inputItem .t {
        font-size: calc(36 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .inputItem .t {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .inputItem .t {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 61.25rem) {
    .inputItem .t {
        font-size: calc(33 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .inputItem .t {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .inputItem .t {
    line-height: 130%
}

.inputItem .textBox {
    line-height: 140%
}

.inputItem .contentBox {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    align-items: start
}

.inputItem .metaWrap {
    display: flex;
    flex-direction: column;
    gap: .8rem
}

.inputItem .meta {
    line-height: 130%;
    font-size: calc(26 / var(--gfs) * 1rem)
}

.inputItem .st {
    font-size: 90%;
    opacity: .5
}

.inputItem .v {
    font-weight: 500
}

.inputItem .tools {
    display: flex
}

@media only screen and (max-width: 64rem) {
    .inputItem .tools {
        gap: .2rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .inputItem .tools {
        justify-content: end
    }
}

.noData {
    padding: 1.5rem;
    border: 2px dashed hsl(from var(--black) h s l/.1);
    border-radius: 10px;
    line-height: 130%;
    display: flex;
    align-items: center;
    gap: .8rem;
    justify-content: center;
    position: relative;
    min-height: 8rem;
    font-size: calc(26 / var(--gfs) * 1rem);
    grid-column: -1/1
}

@media only screen and (max-width: 47.9375rem) {
    .noData {
        padding: 1rem;
        min-height: 6rem
    }
}

.noData>* {
    opacity: .5
}

.noData .iconBox {
    width: 42px;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--brandColor)
}

@media only screen and (max-width: 47.9375rem) {
    .noData .iconBox {
        width: 1.9rem
    }
}

.noData .iconBox svg,
.noData .iconBox img {
    width: 100%;
    height: auto
}

.searchBox .form-v3:not(.filledColor) input[type=text]:not(.browser-default) {
    border-radius: 2rem;
    background: var(--white);
    border: none;
    padding-inline-start: 1.5rem
}

@media only screen and (min-width: 48rem) {
    .searchBox .form-v3:not(.filledColor) input[type=text]:not(.browser-default) {
        padding-inline-end: calc(var(--inputH) + 1rem) !important
    }
}

@media only screen and (min-width: 48rem) {
    .searchBox .form-v3:not(.filledColor) .input-field .iconBox {
        right: .5rem
    }

    [dir=rtl] .searchBox .form-v3:not(.filledColor) .input-field .iconBox {
        right: auto;
        left: .5rem
    }
}

.searchBox .form-v3 .input-field .iconBox {
    pointer-events: auto
}

.eventCard .inner {
    border-radius: var(--round);
    overflow: clip;
    border: 1px solid hsl(from var(--black) h s l/.1);
    display: flex;
    flex-direction: column
}

@media (hover: hover) and (pointer: fine) {
    .eventCard .inner:hover .imgBox img {
        transform: scale(1.05)
    }
}

.eventCard .imgBox {
    overflow: hidden;
    position: relative
}

.eventCard .imgBox:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--black);
    opacity: .1
}

.eventCard .imgBox img {
    aspect-ratio: 442/242;
    object-fit: cover;
    object-position: center;
    transition: all .4s var(--ease)
}

.eventCard .contentBox {
    padding: 1rem;
    line-height: 130%;
    display: flex;
    flex-direction: column;
    gap: .2rem;
    font-size: calc(28 / var(--gfs) * 1rem);
    line-height: 120%
}

@media only screen and (min-width: 100rem) {
    .eventCard .contentBox {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .eventCard .contentBox {
        font-size: calc(27 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .eventCard .contentBox {
        font-size: calc(27 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .eventCard .contentBox {
        font-size: calc(26 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .eventCard .contentBox {
    line-height: 130%
}

@media only screen and (min-width: 100rem) {
    .eventCard .contentBox {
        padding: 1.5rem;
        font-size: calc(35 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 48rem) and (max-width: 61.25rem) {
    .eventCard .contentBox {
        font-size: calc(40 / var(--gfs) * 1rem)
    }
}

.eventCard .dateBox {
    color: var(--brandColor);
    font-size: 90%;
    font-size: calc(26 / var(--gfs) * 1rem)
}

.eventCard .title {
    font-weight: 500;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden
}

.programCard {
    height: 100%
}

.programCard.col1 {
    --round: 10px
}

@media only screen and (min-width: 100rem) {
    .programCard.col1 {
        --round: 15px
    }
}

.programCard .inner {
    border-radius: var(--round);
    overflow: clip;
    border: 1px solid hsl(from var(--black) h s l/.1);
    display: flex;
    flex-direction: column;
    height: 100%;
    cursor: pointer;
    z-index: 10;
    position: relative
}

@media (hover: hover) and (pointer: fine) {
    .programCard .inner:hover .imgBox img {
        transform: scale(1.05)
    }
}

.programCard .imgBox {
    overflow: hidden;
    position: relative;
    border-radius: var(--round);
    overflow: clip
}

.programCard .imgBox:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--black);
    opacity: .1;
    pointer-events: none
}

.programCard .imgBox img {
    aspect-ratio: 442/242;
    object-fit: cover;
    object-position: center;
    transition: all .4s var(--ease)
}

.programCard .contentBox {
    padding: .8rem;
    display: flex;
    flex-direction: column;
    gap: .3rem;
    font-size: calc(28 / var(--gfs) * 1rem);
    line-height: 120%
}

@media only screen and (min-width: 100rem) {
    .programCard .contentBox {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .programCard .contentBox {
        font-size: calc(27 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .programCard .contentBox {
        font-size: calc(27 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .programCard .contentBox {
        font-size: calc(26 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .programCard .contentBox {
    line-height: 130%
}

@media only screen and (min-width: 100rem) {
    .programCard .contentBox {
        padding: 1.2rem;
        gap: .5rem;
        font-size: calc(33 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .programCard .contentBox {
        font-size: calc(32 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .programCard .contentBox {
        font-size: calc(29 / var(--gfs) * 1rem)
    }
}

.programCard .progressWrap {
    align-items: center;
    flex-direction: row;
    gap: .5rem;
    margin-top: .5rem;
    font-size: calc(23 / var(--gfs) * 1rem)
}

@media only screen and (min-width: 100rem) {
    .programCard .progressWrap {
        gap: .8rem;
        font-size: calc(24 / var(--gfs) * 1rem)
    }
}

.programCard .title {
    font-weight: 500;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    padding-bottom: .2rem
}

.programCard .textBox {
    line-height: 130%
}

[dir=rtl] .programCard .textBox {
    line-height: 150%
}

.circleTabWrap {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap);
    align-items: center;
    padding-bottom: .5rem
}

@media only screen and (max-width: 47.9375rem) {
    .circleTabWrap {
        gap: .8rem;
        padding-bottom: .25rem
    }
}

.circleTabWrap.normal {
    --g: 1.5rem;
    gap: .5rem var(--g);
    overflow: clip;
    margin-bottom: 1rem;
    padding-bottom: 0
}

@media only screen and (min-width: 100rem) {
    .circleTabWrap.normal {
        --g: 2rem
    }
}

@media only screen and (max-width: 64rem) {
    .circleTabWrap.normal {
        --g: 1.2rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .circleTabWrap.normal {
        --g: .8rem
    }
}

.circleTabWrap.normal .cLink {
    display: flex;
    padding-block: .5rem;
    opacity: 1;
    font-size: calc(28 / var(--gfs) * 1rem);
    line-height: 120%
}

@media only screen and (min-width: 100rem) {
    .circleTabWrap.normal .cLink {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .circleTabWrap.normal .cLink {
        font-size: calc(27 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .circleTabWrap.normal .cLink {
        font-size: calc(27 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .circleTabWrap.normal .cLink {
        font-size: calc(26 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .circleTabWrap.normal .cLink {
    line-height: 130%
}

.circleTabWrap.normal .cLink:after {
    content: "";
    position: absolute;
    left: calc(var(--g) / 2 * -1);
    bottom: 0;
    height: 1px;
    width: calc(100% + var(--g));
    background: hsl(from var(--black) h s l/.1)
}

.circleTabWrap.normal .cLink:before {
    position: absolute;
    width: 100%;
    height: 2px;
    border-radius: 0;
    bottom: 0
}

.circleTabWrap.normal .cLink span {
    opacity: .3;
    transition: all .4s var(--ease)
}

.circleTabWrap.normal .cLink.active {
    color: var(--brandColor)
}

.circleTabWrap.normal .cLink.active span {
    opacity: 1
}

@media (hover: hover) and (pointer: fine) {
    .circleTabWrap.normal .cLink:hover span {
        opacity: 1
    }
}

.circleTabWrap .cLink {
    opacity: .2;
    display: grid;
    align-items: center;
    grid-template-columns: auto 1fr;
    gap: .5rem;
    font-weight: 500;
    position: relative;
    transition: all .3s var(--ease);
    font-size: calc(32 / var(--gfs) * 1rem);
    line-height: 120%
}

@media only screen and (min-width: 100rem) {
    .circleTabWrap .cLink {
        font-size: calc(36 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .circleTabWrap .cLink {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .circleTabWrap .cLink {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 61.25rem) {
    .circleTabWrap .cLink {
        font-size: calc(33 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .circleTabWrap .cLink {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .circleTabWrap .cLink {
    line-height: 130%
}

@media only screen and (min-width: 100rem) {
    .circleTabWrap .cLink {
        gap: .8rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .circleTabWrap .cLink {
        gap: .3rem;
        font-size: calc(28 / var(--gfs) * 1rem)
    }
}

.circleTabWrap .cLink:before {
    content: "";
    position: relative;
    width: 10px;
    aspect-ratio: 1;
    background: var(--brandColor);
    border-radius: 50%;
    transform: scale(0);
    transition: all .3s var(--ease)
}

@media only screen and (min-width: 100rem) {
    .circleTabWrap .cLink:before {
        width: 13px
    }
}

@media only screen and (max-width: 47.9375rem) {
    .circleTabWrap .cLink:before {
        width: 9px
    }
}

.circleTabWrap .cLink.active {
    opacity: 1
}

.circleTabWrap .cLink.active:before {
    transform: scale(1)
}

@media (hover: hover) and (pointer: fine) {
    .circleTabWrap .cLink:hover {
        opacity: 1
    }

    .circleTabWrap .cLink:hover:before {
        transform: scale(1)
    }
}

.eventDetailsWrap {
    display: grid;
    grid-template-columns: 45% 1fr;
    gap: 1.5rem;
    align-items: start
}

@media only screen and (min-width: 100rem) {
    .eventDetailsWrap {
        gap: 2.4rem
    }
}

@media only screen and (max-width: 64rem) {
    .eventDetailsWrap {
        grid-template-columns: 100%
    }
}

@media only screen and (max-width: 47.9375rem) {
    .eventDetailsWrap {
        gap: 1rem
    }
}

.eventDetailsWrap .side {
    display: flex;
    flex-direction: column;
    gap: var(--gap);
    align-items: start
}

@media only screen and (min-width: 64.0625rem) {
    .eventDetailsWrap .side {
        position: sticky;
        top: calc(var(--topNavH) + 1rem)
    }
}

.eventDetailsWrap .imgBox {
    border-radius: var(--round);
    overflow: clip;
    width: 100%
}

@media only screen and (max-width: 47.9375rem) {
    .eventDetailsWrap .imgBox {
        border-radius: 10px
    }
}

.eventDetailsWrap .metaWrap {
    display: flex;
    flex-direction: column;
    gap: .8rem;
    justify-content: start;
    align-items: start
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .eventDetailsWrap .metaWrap {
        gap: .5rem
    }
}

@media only screen and (min-width: 48rem) and (max-width: 64rem) {
    .eventDetailsWrap .metaWrap {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 1.5rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .eventDetailsWrap .metaWrap {
        gap: .5rem
    }
}

.eventDetailsWrap .meta {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .4rem;
    align-items: center;
    font-size: calc(26 / var(--gfs) * 1rem)
}

.eventDetailsWrap .meta .iconBox {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.2rem;
    color: var(--brandColor)
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .eventDetailsWrap .meta .iconBox {
        width: 1.1rem
    }
}

.eventDetailsWrap .meta .iconBox img,
.eventDetailsWrap .meta .iconBox svg {
    width: 100%;
    height: auto;
    aspect-ratio: 1
}

.eventDetailsWrap .more {
    min-height: inherit
}

.knowledgeHubDetailsWrap {
    display: grid;
    grid-template-columns: 1fr 35%;
    gap: 1.5rem;
    align-items: start
}

@media only screen and (min-width: 100rem) {
    .knowledgeHubDetailsWrap {
        gap: 2.4rem
    }
}

@media only screen and (max-width: 64rem) {
    .knowledgeHubDetailsWrap {
        grid-template-columns: 100%
    }
}

@media only screen and (max-width: 47.9375rem) {
    .knowledgeHubDetailsWrap {
        gap: 1rem
    }
}

.knowledgeHubDetailsWrap .imgBox {
    border-radius: var(--round);
    overflow: clip;
    width: 100%
}

@media only screen and (max-width: 64rem) {
    .knowledgeHubDetailsWrap .imgBox {
        order: 2
    }
}

@media only screen and (max-width: 47.9375rem) {
    .knowledgeHubDetailsWrap .imgBox {
        border-radius: 10px
    }
}

.knowledgeHubDetailsWrap .side {
    display: flex;
    flex-direction: column;
    gap: var(--gap);
    align-items: start
}

@media only screen and (min-width: 64.0625rem) {
    .knowledgeHubDetailsWrap .side {
        position: sticky;
        top: calc(var(--topNavH) + 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .knowledgeHubDetailsWrap .side {
        order: 1;
        gap: .5rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .knowledgeHubDetailsWrap .side {
        padding-top: .5rem
    }
}

.knowledgeHubDetailsWrap .status,
.knowledgeHubDetailsWrap .dateBox {
    font-weight: 400;
    font-size: calc(26 / var(--gfs) * 1rem)
}

.knowledgeHubDetailsWrap .status strong,
.knowledgeHubDetailsWrap .dateBox {
    font-weight: inherit;
    color: var(--brandColor)
}

.knowledgeHubDetailsWrap .title {
    font-weight: 500;
    font-size: calc(32 / var(--gfs) * 1rem);
    line-height: 120%
}

@media only screen and (min-width: 100rem) {
    .knowledgeHubDetailsWrap .title {
        font-size: calc(36 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .knowledgeHubDetailsWrap .title {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .knowledgeHubDetailsWrap .title {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 61.25rem) {
    .knowledgeHubDetailsWrap .title {
        font-size: calc(33 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .knowledgeHubDetailsWrap .title {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .knowledgeHubDetailsWrap .title {
    line-height: 130%
}

@media only screen and (max-width: 64rem) {
    .knowledgeHubDetailsWrap .title {
        font-size: calc(38 / var(--gfs) * 1rem);
        line-height: 120%
    }
}

@media only screen and (max-width: 64rem) and (min-width: 100rem) {
    .knowledgeHubDetailsWrap .title {
        font-size: calc(45 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .knowledgeHubDetailsWrap .title {
        font-size: calc(40 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) and (max-width: 64rem) {
    .knowledgeHubDetailsWrap .title {
        font-size: calc(38 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) and (max-width: 47.9375rem) {
    .knowledgeHubDetailsWrap .title {
        font-size: calc(36 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    [dir=rtl] .knowledgeHubDetailsWrap .title {
        line-height: 130%
    }
}

.knowledgeHubDetailsWrap .more {
    min-height: inherit
}

.programDetailsWrap {
    display: flex;
    flex-direction: column;
    gap: var(--gap)
}

.programDetailsWrap .imgBox {
    border-radius: var(--round);
    overflow: clip
}

.programDetailsWrap .title {
    font-weight: 500;
    margin-bottom: .5rem;
    font-size: calc(32 / var(--gfs) * 1rem);
    line-height: 120%
}

@media only screen and (min-width: 100rem) {
    .programDetailsWrap .title {
        font-size: calc(36 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .programDetailsWrap .title {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .programDetailsWrap .title {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 61.25rem) {
    .programDetailsWrap .title {
        font-size: calc(33 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .programDetailsWrap .title {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .programDetailsWrap .title {
    line-height: 130%
}

.programDetailsWrap .textBox {
    margin-top: 1.5rem
}

@media only screen and (max-width: 64rem) {
    .programDetailsWrap .textBox {
        margin-top: 1rem
    }
}

.statusPin {
    padding: .3rem .8rem;
    line-height: 110%;
    position: relative;
    color: var(--brandColor);
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-size: calc(26 / var(--gfs) * 1rem);
    z-index: 15
}

.statusPin.normal {
    padding-inline: .5rem;
    padding-block: .2rem
}

.statusPin.normal:after {
    border-radius: 5px
}

.statusPin.normal:before {
    display: none
}

.statusPin:after {
    content: "";
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    position: absolute;
    background-color: hsl(from var(--brandColor) h s l/.1);
    border-radius: 2rem;
    overflow: clip;
    z-index: -1
}

.statusPin:before {
    content: "";
    position: relative;
    width: 8px;
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: var(--brandColor)
}

.statusPin.sm {
    gap: .4rem;
    padding: .2rem .5rem;
    font-size: calc(22 / var(--gfs) * 1rem)
}

.statusPin.sm:before {
    width: 7px
}

.statusPin.sm.tick {
    padding-inline-start: .3rem
}

.statusPin.sm.tick:before {
    width: 13px
}

.statusPin.tick {
    padding-inline-start: .5rem
}

.statusPin.tick:before {
    width: 16px;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNyIgaGVpZ2h0PSI1IiB2aWV3Qm94PSIwIDAgNyA1IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNNS43NSAwLjc1TDIuMzEyNSAzLjc1TDAuNzUgMi4zODYzNiIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K);
    background-size: 60% auto;
    background-repeat: no-repeat;
    background-position: center
}

.statusPin.colorDanger {
    --brandColor: var(--brandRed)
}

.statusPin.colorSuccess {
    color: #04b640
}

.statusPin.colorSuccess:after {
    background-color: hsl(from var(--brandGreen) h s l/.2)
}

.statusPin.colorSuccess:before {
    background-color: #04b640
}

.statusPin.colorWarning {
    color: #664d03
}

.statusPin.colorWarning:after {
    background-color: var(--brandYellow)
}

.statusPin.colorWarning:before {
    background-color: #664d03
}

.surveyCard .inner {
    padding: .5rem;
    border-radius: 15px;
    overflow: clip;
    display: grid;
    align-items: center;
    gap: 1rem;
    background: hsl(from var(--brandColor) h s l/.1);
    grid-template-columns: auto 1fr;
    line-height: 130%;
    font-weight: 500;
    font-size: calc(26 / var(--gfs) * 1rem)
}

@media only screen and (min-width: 100rem) {
    .surveyCard .inner {
        font-size: calc(30 / var(--gfs) * 1rem);
        padding: .8rem
    }
}

.surveyCard .numBox {
    border-inline-end: 1px solid hsl(from var(--brandColor) h s l/.2);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--brandColor);
    gap: .1rem;
    padding-inline-end: .5rem;
    padding-block: 1rem;
    min-width: 100px
}

@media only screen and (min-width: 100rem) {
    .surveyCard .numBox {
        min-width: 120px
    }
}

.surveyCard .count {
    font-size: 250%;
    line-height: 100%;
    display: inline-flexs
}

.surveyCard .title {
    font-size: 110%;
    margin-bottom: .2rem
}

.surveyCard .sub {
    font-size: 90%;
    opacity: .5
}

.surveyCard .contentBox {
    padding-inline-end: 1rem
}

.surveyForm {
    --circle: 48px;
    --cGap: .7rem
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .surveyForm {
        --circle: 42px
    }
}

@media only screen and (max-width: 64rem) {
    .surveyForm {
        --circle: 42px
    }
}

@media only screen and (max-width: 47.9375rem) {
    .surveyForm {
        --circle: 38px
    }
}

.surveyForm ol {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    counter-reset: items
}

@media only screen and (min-width: 100rem) {
    .surveyForm ol {
        gap: 2.5rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .surveyForm ol {
        gap: 1.5em
    }
}

.surveyForm ol li {
    counter-increment: items
}

.surveyForm ol li>*:not(.title) {
    padding-inline-start: calc(var(--circle) + var(--cGap))
}

.surveyForm .title {
    font-weight: 500;
    line-height: 120%;
    position: relative;
    display: grid;
    gap: var(--cGap);
    grid-template-columns: auto 1fr;
    align-items: center
}

@media only screen and (min-width: 100rem) {
    .surveyForm .title {
        font-size: calc(32 / var(--gfs) * 1rem)
    }
}

.surveyForm .title:before {
    content: "0" counter(items);
    color: var(--brandColor);
    width: var(--circle);
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: start;
    font-size: 16px;
    border-radius: 50%;
    background: hsl(from var(--brandColor) h s l/.1)
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .surveyForm .title:before {
        font-size: 14px
    }
}

@media only screen and (max-width: 64rem) {
    .surveyForm .title:before {
        font-size: 14px
    }
}

@media only screen and (max-width: 47.9375rem) {
    .surveyForm .title:before {
        font-size: 13px
    }
}

.surveyForm .title:nth-child(n+10):before {
    content: counter(items)
}

.surveyForm .title span {
    margin-bottom: .5rem
}

.surveyForm .checkboxWrap {
    gap: 0
}

@media only screen and (max-width: 47.9375rem) {
    .surveyForm .checkboxWrap {
        gap: 5px
    }
}

.surveyForm .checkboxWrap label:not(.error) {
    padding: .2rem 1.2rem;
    z-index: 5;
    overflow: clip;
    background: var(--inputBG)
}

@media only screen and (min-width: 100rem) {
    .surveyForm .checkboxWrap label:not(.error) {
        padding: .4rem 1.5rem
    }
}

@media only screen and (min-width: 48rem) {
    .surveyForm .checkboxWrap label:not(.error) {
        border: 1px solid #dbdbdb
    }

    .surveyForm .checkboxWrap label:not(.error):first-child {
        border-start-start-radius: 8px;
        border-end-start-radius: 8px
    }

    .surveyForm .checkboxWrap label:not(.error):last-child {
        border-start-end-radius: 8px;
        border-end-end-radius: 8px
    }

    .surveyForm .checkboxWrap label:not(.error):not(:last-child) {
        border-inline-end: none
    }
}

@media only screen and (max-width: 47.9375rem) {
    .surveyForm .checkboxWrap label:not(.error) {
        border-radius: 5px;
        padding: .2rem .8rem;
        font-size: calc(24 / var(--gfs) * 1rem)
    }
}

.surveyForm .checkboxWrap label:not(.error):before {
    display: none
}

.surveyForm .checkboxWrap label:not(.error):after {
    border-radius: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    transform: none
}

.surveyForm .checkboxWrap label:not(.error):has(:checked) {
    color: var(--white)
}

.surveyForm .checkboxWrap label:not(.error):has(:checked):after {
    opacity: 1;
    transform: scale(1)
}

.surveyForm .buttonWrap {
    justify-content: flex-end
}

.programProgressTab {
    position: relative;
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    -ms-overflow-style: none;
    scrollbar-width: none
}

.programProgressTab:-webkit-scrollbar {
    display: none
}

.programProgressTab .c {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    position: relative;
    flex: 1 1 0
}

.programProgressTab ul {
    padding: 0;
    margin: 0;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between
}

.programProgressTab .pLink {
    padding: .25rem .8rem;
    line-height: 120%;
    display: inline-flex;
    white-space: nowrap;
    font-size: calc(26 / var(--gfs) * 1rem)
}

.programProgressTab .pLink.active {
    font-weight: 500
}

.generalCard:has(.formBlock) .programProgressTab {
    margin-bottom: 2rem
}

@media only screen and (max-width: 47.9375rem) {
    .generalCard:has(.formBlock) .programProgressTab {
        margin-bottom: 1rem
    }
}

.fullCalendar {
    --fc-border-color: #e8e8e8;
    font-family: var(--fontFamily)
}

.fullCalendar.fc .ss-main {
    min-height: 2.5rem;
    border-radius: 1.25rem;
    min-width: 180px;
    padding-left: 1rem;
    padding-right: calc(1.5rem + 15px)
}

.fullCalendar.fc .ss-main .ss-arrow {
    right: 1rem;
    left: auto
}

.fullCalendar.fc .fc-h-event {
    border: none;
    font-size: calc(22 / var(--gfs) * 1rem);
    line-height: 120%;
    color: var(--brandColor);
    background: hsl(from var(--brandColor) h s l/.1);
    cursor: pointer;
    box-shadow: none
}

.fullCalendar.fc .fc-h-event:after {
    background: hsl(from var(--brandColor) h s l/.1)
}

.fullCalendar.fc .fc-h-event .fc-event-main {
    color: inherit
}

.fullCalendar.fc .fc-h-event.colorRed {
    color: var(--brandRed);
    background: hsl(from var(--brandRed) h s l/.1)
}

.fullCalendar.fc .fc-h-event.colorRed:after {
    background: hsl(from var(--brandRed) h s l/.1)
}

.fullCalendar.fc .fc-h-event .fc-event-title {
    padding: 5px
}

.fullCalendar.fc .fc-header-toolbar {
    margin-bottom: .8rem
}

@media only screen and (max-width: 47.9375rem) {
    .fullCalendar.fc .fc-header-toolbar {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: .5rem
    }
}

.fullCalendar.fc .fc-header-toolbar .fc-toolbar-chunk {
    display: flex;
    align-items: center
}

@media only screen and (max-width: 47.9375rem) {
    .fullCalendar.fc .fc-header-toolbar .fc-toolbar-chunk:has(.fc-todaysDate-button) {
        grid-column: -1/1;
        justify-content: space-between
    }
}

.fullCalendar.fc .fc-toolbar .fc-todaysDate-button {
    cursor: default
}

.fullCalendar.fc .fc-toolbar .fc-todaysDate-button,
.fullCalendar.fc .fc-toolbar .fc-prev-button,
.fullCalendar.fc .fc-toolbar .fc-next-button {
    background: transparent;
    color: var(--text);
    border: none !important;
    padding: 0 !important;
    outline: none;
    box-shadow: none !important
}
.fullCalendar.fc .fc-toolbar .fc-prev-button > .fc-icon,
.fullCalendar.fc .fc-toolbar .fc-next-button > .fc-icon{
font-family: fcicons !important;
}

.fullCalendar.fc .fc-toolbar .fc-todaysDate-button:focus,
.fullCalendar.fc .fc-toolbar .fc-todaysDate-button:hover,
.fullCalendar.fc .fc-toolbar .fc-todaysDate-button:active,
.fullCalendar.fc .fc-toolbar .fc-prev-button:focus,
.fullCalendar.fc .fc-toolbar .fc-prev-button:hover,
.fullCalendar.fc .fc-toolbar .fc-prev-button:active,
.fullCalendar.fc .fc-toolbar .fc-next-button:focus,
.fullCalendar.fc .fc-toolbar .fc-next-button:hover,
.fullCalendar.fc .fc-toolbar .fc-next-button:active {
    background: transparent;
    border: none;
    color: inherit;
    box-shadow: none !important
}

.fullCalendar.fc .fc-toolbar .fc-todaysDate-button .fc-icon,
.fullCalendar.fc .fc-toolbar .fc-prev-button .fc-icon,
.fullCalendar.fc .fc-toolbar .fc-next-button .fc-icon {
    font-size: 1.4em
}

.fullCalendar.fc .fc-toolbar-title {
    font-weight: 400;
    font-size: calc(28 / var(--gfs) * 1rem);
    line-height: 120%
}

@media only screen and (min-width: 100rem) {
    .fullCalendar.fc .fc-toolbar-title {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .fullCalendar.fc .fc-toolbar-title {
        font-size: calc(27 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .fullCalendar.fc .fc-toolbar-title {
        font-size: calc(27 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .fullCalendar.fc .fc-toolbar-title {
        font-size: calc(26 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .fullCalendar.fc .fc-toolbar-title {
    line-height: 130%
}

.fullCalendar.fc th {
    font-weight: 500
}

.fullCalendar.fc .fc-day-other {
    background: #f8f8f8
}

.fullCalendar.fc .fc-day-other .fc-daygrid-day-top {
    opacity: .2
}

.fullCalendar.fc .fc-daygrid-day-top {
    flex-direction: row
}

.fullCalendar.fc .fc-daygrid-day.fc-day-today {
    background: #fbdddd
}

.fullCalendar .fc-col-header-cell {
    padding: 5px
}

.fullCalendar thead {
    line-height: 120%;
    text-transform: uppercase;
    font-size: calc(26 / var(--gfs) * 1rem)
}

@media only screen and (max-width: 47.9375rem) {
    .fullCalendar thead {
        font-size: calc(22 / var(--gfs) * 1rem)
    }
}

.fullCalendar thead a {
    font-weight: 500;
    color: #969696
}

.memberList {
    display: grid;
    gap: var(--gap);
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr))
}

.memberCard .inner {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    height: 100%;
    background: var(--white);
    padding: 1rem;
    border-radius: var(--round);
    background: #f4f7fd
}

@media only screen and (min-width: 100rem) {
    .memberCard .inner {
        padding: 1.5rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .memberCard .inner {
        text-align: center;
        align-items: center
    }
}

.memberCard .imgBox {
    width: 55%;
    position: relative;
    padding: 3px
}

@media only screen and (max-width: 47.9375rem) {
    .memberCard .imgBox {
        width: 45%
    }
}

.memberCard .imgBox:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border: 3px solid var(--brandColor);
    border-inline-end-color: transparent;
    border-block-end-color: transparent;
    border-radius: 50%;
    transform: rotate(90deg)
}

.memberCard .imgBox img {
    aspect-ratio: 1;
    object-fit: cover;
    object-position: center;
    border-radius: 50%;
    overflow: clip
}

.memberCard .contentBox {
    flex: 1;
    display: flex;
    flex-direction: column
}

.memberCard .name {
    color: var(--brandColor);
    font-size: calc(32 / var(--gfs) * 1rem);
    line-height: 120%;
    font-weight: 500;
    margin-bottom: .2rem
}

@media only screen and (min-width: 100rem) {
    .memberCard .name {
        font-size: calc(36 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .memberCard .name {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .memberCard .name {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 61.25rem) {
    .memberCard .name {
        font-size: calc(33 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .memberCard .name {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .memberCard .name {
    line-height: 130%
}

@media only screen and (max-width: 47.9375rem) {
    .memberCard .name {
        font-size: calc(40 / var(--gfs) * 1rem)
    }
}

.memberCard .dec {
    opacity: .5;
    font-size: calc(26 / var(--gfs) * 1rem);
    line-height: 120%
}

.memberCard .socialBox,
.memberCard .textBox {
    margin-top: .8rem
}

.memberCard .textBox {
    flex: 1
}

.socialBox {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem;
    align-items: center
}

@media only screen and (max-width: 47.9375rem) {
    .socialBox {
        justify-content: center
    }
}

.socialBox .link {
    color: var(--brandColor);
    width: 32px;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 5;
    transition: all .4s var(--ease)
}

.socialBox .link.arrow svg {
    width: 100%;
    transform: scale(1)
}

[dir=rtl] .socialBox .link.arrow svg {
    transform: scaleX(-1)
}

@media (hover: hover) and (pointer: fine) {
    .socialBox .link.arrow:hover svg {
        transform: scale(.7)
    }

    [dir=rtl] .socialBox .link.arrow:hover svg {
        transform: scale(-.7, .7)
    }
}

.socialBox .link:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--brandColor);
    border-radius: 50%;
    z-index: -1;
    opacity: 0;
    transform: scale(.5);
    transition: all .4s var(--ease)
}

.socialBox .link svg {
    width: 70%;
    height: auto;
    aspect-ratio: 1;
    transition: all .4s var(--ease)
}

@media (hover: hover) and (pointer: fine) {
    .socialBox .link:hover {
        color: var(--white)
    }

    .socialBox .link:hover:before {
        opacity: 1;
        transform: scale(1)
    }

    .socialBox .link:hover svg {
        transform: scale(.7)
    }
}

.socialBox .popupBtnWrap {
    display: flex;
    align-items: center;
    justify-content: end;
    flex: 1
}

.socialBox .popupBtnWrap .iconBtn {
    border: 1px solid var(--brandColor);
    border-radius: 50%;
    color: var(--brandColor)
}

.alProgramCard .inner {
    position: relative;
    --g: 2rem;
    background: var(--white);
    padding-inline: 1rem;
    padding-block: .5rem;
    border-radius: var(--round);
    border: 1px solid hsl(from var(--black) h s l/.1);
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--g)
}

@media only screen and (min-width: 100rem) {
    .alProgramCard .inner {
        padding: 1.5rem
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .alProgramCard .inner {
        --g: 1rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .alProgramCard .inner {
        grid-template-columns: 100%;
        --g: 1rem;
        padding: 1rem
    }
}

.alProgramCard .circleBox {
    font-weight: 500;
    color: var(--brandColor);
    text-align: center;
    display: flex;
    flex-direction: column;
    padding-block: .5rem;
    min-width: 10rem;
    font-size: calc(21 / var(--gfs) * 1rem)
}

@media only screen and (max-width: 47.9375rem) {
    .alProgramCard .circleBox {
        font-size: calc(22 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 100rem) {
    .alProgramCard .circleBox {
        min-width: 12rem
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .alProgramCard .circleBox {
        min-width: 9rem
    }
}

@media only screen and (min-width: 48rem) {
    .alProgramCard .circleBox {
        padding-inline-end: var(--g);
        border-inline-end: 1px solid hsl(from var(--black) h s l/.1)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .alProgramCard .circleBox {
        min-width: inherit;
        max-width: 40vw;
        width: 100%;
        justify-self: center;
        padding-block: 1rem 0
    }
}

.alProgramCard .circleBox.colorDanger {
    --brandColor: var(--brandRed)
}

.alProgramCard .circleBox.colorSuccess {
    --brandColor: #04b640
}

.alProgramCard .circleBox.colorWarning {
    color: #664d03;
    --brandColor: #664d03
}

.alProgramCard .circleBox.colorWarning .circle {
    stroke: #664d03
}

.alProgramCard .circleBox .dateB {
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    position: relative
}

.alProgramCard .circleBox .day {
    font-size: 2.8em;
    line-height: 100%
}

@media only screen and (min-width: 100rem) {
    .alProgramCard .circleBox .day {
        font-size: 3.2em
    }
}

@media only screen and (max-width: 47.9375rem) {
    .alProgramCard .circleBox .day {
        font-size: 3.5em
    }
}

.alProgramCard .circleBox svg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.alProgramCard .circleBox .circle-bg {
    fill: none;
    stroke: hsla(from var(--brandColor) h s l/.1);
    stroke-width: 1
}

.alProgramCard .circleBox .circle {
    fill: none;
    stroke-width: 1;
    stroke-linecap: round;
    stroke: var(--brandColor);
    stroke-dasharray: 0 100
}

.alProgramCard .contentBox {
    align-self: center;
    display: flex;
    gap: 1rem
}

@media only screen and (min-width: 48rem) {
    .alProgramCard .contentBox:has(.editDot) {
        padding-inline-end: 1.5rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .alProgramCard .editDot {
        position: absolute;
        top: 1rem;
        right: 1rem
    }

    [dir=rtl] .alProgramCard .editDot {
        right: auto;
        left: 1rem
    }
}

.alProgramCard .c {
    display: flex;
    flex-direction: column;
    gap: .3rem;
    flex: 1
}

@media only screen and (min-width: 100rem) {
    .alProgramCard .c {
        gap: .5rem
    }
}

.alProgramCard .title {
    font-weight: 500;
    font-size: calc(38 / var(--gfs) * 1rem);
    line-height: 120%
}

@media only screen and (min-width: 100rem) {
    .alProgramCard .title {
        font-size: calc(45 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .alProgramCard .title {
        font-size: calc(40 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .alProgramCard .title {
        font-size: calc(38 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .alProgramCard .title {
        font-size: calc(36 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .alProgramCard .title {
    line-height: 130%
}

@media only screen and (max-width: 47.9375rem) {
    .alProgramCard .title {
        font-size: calc(32 / var(--gfs) * 1rem)
    }
}

.alProgramCard .statusBox {
    display: flex;
    align-items: center;
    gap: .3rem;
    font-size: calc(26 / var(--gfs) * 1rem)
}

.alProgramCard .statusBox>span,
.alProgramCard .textBox {
    opacity: .5
}

.dom_loaded .alProgramCard .circleBox .circle {
    stroke-dasharray: var(--percentage, 0) 100;
    transition: all 1.6s var(--elastic) .5s
}

.leadersProgressCard {
    display: grid;
    grid-template-columns: 29% 1fr;
    gap: 3rem;
    align-items: center
}

.leadersProgressCard .title {
    font-weight: 500;
    font-size: calc(32 / var(--gfs) * 1rem);
    line-height: 120%
}

@media only screen and (min-width: 100rem) {
    .leadersProgressCard .title {
        font-size: calc(36 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .leadersProgressCard .title {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .leadersProgressCard .title {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 61.25rem) {
    .leadersProgressCard .title {
        font-size: calc(33 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .leadersProgressCard .title {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .leadersProgressCard .title {
    line-height: 130%
}

.leadersProgressCard .p {
    display: flex;
    align-items: center;
    gap: var(--gap)
}

.leadersProgressCard .percentage {
    font-weight: 500;
    font-size: calc(26 / var(--gfs) * 1rem)
}

.doteBottom {
    padding-bottom: var(--gap);
    border-bottom: 1px dashed hsl(from var(--black) h s l/.1)
}

.studentCard {
    height: 100%
}

.studentCard .inner {
    position: relative;
    z-index: 5;
    padding: .7rem;
    display: grid;
    align-items: center;
    grid-template-columns: auto 1fr;
    gap: .8rem;
    height: 100%;
    color: var(--brandColor);
    font-weight: 500;
    font-size: calc(28 / var(--gfs) * 1rem);
    line-height: 120%
}

@media only screen and (min-width: 100rem) {
    .studentCard .inner {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .studentCard .inner {
        font-size: calc(27 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .studentCard .inner {
        font-size: calc(27 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .studentCard .inner {
        font-size: calc(26 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .studentCard .inner {
    line-height: 130%
}

@media only screen and (min-width: 100rem) {
    .studentCard .inner {
        padding: 1rem;
        gap: 1rem;
        font-size: calc(36 / var(--gfs) * 1rem)
    }
}

.studentCard .inner:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: 15px;
    background: #f4f7fd;
    transition: all .4s var(--elastic);
    z-index: -1;
    pointer-events: none
}

@media only screen and (max-width: 47.9375rem) {
    .studentCard .inner:before {
        border-radius: 10px
    }
}

@media (hover: hover) and (pointer: fine) {
    .studentCard .inner:hover:before {
        transform: scale(1.02)
    }

    .studentCard .inner:hover .imgBox img {
        transform: scale(1.1)
    }
}

.studentCard .imgBox {
    --s: 3.6rem;
    width: var(--s);
    aspect-ratio: 1;
    overflow: clip;
    border-radius: 50%
}

@media only screen and (min-width: 100rem) {
    .studentCard .imgBox {
        --s: 4.5rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .studentCard .imgBox {
        --s: 3.3rem
    }
}

.studentCard .imgBox img {
    transition: all .4s var(--ease)
}

.blueCard {
    height: 100%
}

.blueCard:has(.status.done) {
    opacity: .5
}

.blueCard .inner {
    position: relative;
    z-index: 5;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 3rem;
    height: 100%
}

@media only screen and (min-width: 100rem) {
    .blueCard .inner {
        padding: 1.5rem;
        gap: 5rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .blueCard .inner {
        gap: 1rem
    }
}

.blueCard .inner:has(.liveIcon) {
    gap: 2rem
}

@media only screen and (max-width: 47.9375rem) {
    .blueCard .inner:has(.liveIcon) {
        gap: 1rem
    }
}

.blueCard .inner:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: 15px;
    background: #f4f7fd;
    transition: all .4s var(--elastic);
    z-index: -1;
    pointer-events: none
}

@media only screen and (max-width: 47.9375rem) {
    .blueCard .inner:before {
        border-radius: 10px
    }
}

@media (hover: hover) and (pointer: fine) {
    .blueCard .inner:hover:before {
        transform: scale(1.02)
    }
}

.blueCard .num {
    color: var(--brandColor);
    font-weight: 500;
    margin-bottom: 1rem;
    font-size: calc(32 / var(--gfs) * 1rem);
    line-height: 120%
}

@media only screen and (min-width: 100rem) {
    .blueCard .num {
        font-size: calc(36 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .blueCard .num {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .blueCard .num {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 61.25rem) {
    .blueCard .num {
        font-size: calc(33 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .blueCard .num {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .blueCard .num {
    line-height: 130%
}

@media only screen and (min-width: 100rem) {
    .blueCard .num {
        font-size: calc(45 / var(--gfs) * 1rem);
        margin-bottom: 1.5rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .blueCard .num {
        margin-bottom: .5rem
    }
}

.blueCard .topBox {
    flex: 1
}

.blueCard .bottomBox {
    display: flex;
    flex-direction: column;
    gap: 1.5rem
}

@media only screen and (max-width: 47.9375rem) {
    .blueCard .bottomBox {
        gap: .5rem
    }
}

.blueCard .status {
    display: flex;
    align-items: center;
    gap: .3rem;
    margin-top: .5rem;
    color: #148d07;
    font-size: 95%
}

@media only screen and (min-width: 100rem) {
    .blueCard .status {
        font-size: calc(30 / var(--gfs) * 1rem);
        gap: .5rem
    }
}

.blueCard .status.unread {
    color: #ff5e00
}

.blueCard .status .iconBox {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.15rem
}

@media only screen and (min-width: 100rem) {
    .blueCard .status .iconBox {
        width: 1.25rem
    }
}

.blueCard .status .iconBox svg,
.blueCard .status .iconBox img {
    width: 100%;
    height: auto;
    aspect-ratio: 1
}

.blueCard .title {
    font-weight: 500;
    font-size: calc(32 / var(--gfs) * 1rem);
    line-height: 120%
}

@media only screen and (min-width: 100rem) {
    .blueCard .title {
        font-size: calc(36 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .blueCard .title {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .blueCard .title {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 61.25rem) {
    .blueCard .title {
        font-size: calc(33 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .blueCard .title {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .blueCard .title {
    line-height: 130%
}

.blueCard .liveIcon {
    width: 50%;
    aspect-ratio: 1;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--brandColor);
    margin-inline: auto
}

@media only screen and (max-width: 47.9375rem) {
    .blueCard .liveIcon {
        max-width: 7.5rem
    }
}

.blueCard .liveIcon:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--brandColor);
    opacity: .1;
    border-radius: 50%
}

.blueCard .liveIcon svg,
.blueCard .liveIcon img {
    width: 55%;
    height: auto;
    aspect-ratio: 1;
    object-fit: contain
}

.blueCard .sub {
    opacity: .5;
    font-size: calc(28 / var(--gfs) * 1rem);
    line-height: 120%;
    margin-top: .2rem
}

@media only screen and (min-width: 100rem) {
    .blueCard .sub {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .blueCard .sub {
        font-size: calc(27 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .blueCard .sub {
        font-size: calc(27 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .blueCard .sub {
        font-size: calc(26 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .blueCard .sub {
    line-height: 130%
}

.blueCard .progressWrap {
    gap: .4rem
}

.blueCard .progressWrap .info {
    opacity: .5;
    line-height: 100%;
    font-size: calc(26 / var(--gfs) * 1rem)
}

.blueCard .metaBox {
    display: flex;
    flex-direction: column;
    gap: .5rem
}

@media only screen and (min-width: 100rem) {
    .blueCard .metaBox {
        gap: .8rem
    }
}

.blueCard .m {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-weight: 400;
    transition: all .4s var(--ease);
    font-size: calc(26 / var(--gfs) * 1rem)
}

@media only screen and (max-width: 47.9375rem) {
    .blueCard .m {
        font-size: calc(24 / var(--gfs) * 1rem)
    }
}

.blueCard .m .iconBox {
    color: var(--brandColor);
    width: 21px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    aspect-ratio: 1
}

@media only screen and (max-width: 47.9375rem) {
    .blueCard .m .iconBox {
        width: 18px
    }
}

.blueCard .m .iconBox svg,
.blueCard .m .iconBox img {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    transition: all .3s var(--ease)
}

.breadcrumbWrap {
    position: relative;
    width: 100%;
    z-index: 15
}

.breadcrumbWrap ul {
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: start
}

.breadcrumbWrap ul li {
    --shapeGap: .7rem;
    position: relative;
    font-weight: 500;
    display: grid;
    gap: var(--shapeGap);
    padding-inline-end: var(--shapeGap);
    grid-template-columns: auto 11px;
    align-items: center;
    font-weight: 400;
    font-size: calc(26 / var(--gfs) * 1rem)
}

[dir=rtl] .breadcrumbWrap ul li {
    font-weight: 500
}

@media only screen and (max-width: 767px) {
    .breadcrumbWrap ul li {
        padding-inline-end: .5rem;
        --shapeGap: .3rem;
        font-size: .85rem
    }
}

.breadcrumbWrap ul li:last-child {
    padding-inline-end: 0
}

.breadcrumbWrap ul li:after {
    content: "";
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDggMTQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xIDEzTDcgN0wxIDEiIHN0cm9rZT0iI0Q4RDhEOCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg==);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: relative;
    width: 100%;
    aspect-ratio: 1;
    transform: scale(1)
}

[dir=rtl] .breadcrumbWrap ul li:after {
    transform: scaleX(-1)
}

.breadcrumbWrap ul li:last-child:after {
    display: none
}

.breadcrumbWrap .current {
    max-width: 220px;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    display: inline-block;
    color: var(--brandColor)
}

@media only screen and (max-width: 767px) {
    .breadcrumbWrap .current {
        max-width: 130px
    }
}

.breadcrumbWrap a {
    max-width: 220px;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    display: inline-block;
    transition: all .3s ease-in-out;
    opacity: .5
}

@media only screen and (max-width: 767px) {
    .breadcrumbWrap a {
        max-width: 130px
    }
}

@media (hover: hover) and (pointer: fine) {
    .breadcrumbWrap a:hover {
        opacity: 1;
        color: var(--brandColor)
    }
}

.newsfeedCard .inner {
    padding: 1.5rem;
    border-radius: var(--round);
    background: #f4f7fd;
    display: flex;
    flex-direction: column;
    gap: 2rem
}

@media only screen and (min-width: 100rem) {
    .newsfeedCard .inner {
        padding: 2rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .newsfeedCard .inner {
        padding: 1rem;
        gap: 1rem
    }
}

.newsfeedCard .topBox {
    --avS: 5rem;
    display: grid;
    align-items: center;
    grid-template-columns: var(--avS) 1fr;
    gap: var(--gap)
}

@media only screen and (min-width: 100rem) {
    .newsfeedCard .topBox {
        --avS: 5.5rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .newsfeedCard .topBox {
        --avS: 3.5rem;
        gap: .7rem
    }
}

.newsfeedCard .topBox .imgBox {
    width: 100%;
    border-radius: 50%
}

@media only screen and (max-width: 47.9375rem) {
    .newsfeedCard .topBox .imgBox {
        align-self: start
    }
}

.newsfeedCard .topBox .imgBox picture {
    border-radius: 50%;
    overflow: clip
}

.newsfeedCard .topBox .imgBox img {
    aspect-ratio: 1
}

.newsfeedCard .c {
    display: flex;
    flex-direction: column;
    gap: .1rem;
    flex: 1
}

.newsfeedCard .title {
    font-size: calc(32 / var(--gfs) * 1rem);
    line-height: 120%
}

@media only screen and (min-width: 100rem) {
    .newsfeedCard .title {
        font-size: calc(36 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .newsfeedCard .title {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .newsfeedCard .title {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 61.25rem) {
    .newsfeedCard .title {
        font-size: calc(33 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .newsfeedCard .title {
    line-height: 130%
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .newsfeedCard .title {
        font-size: calc(33 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 100rem) {
    .newsfeedCard .title {
        font-size: calc(40 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .newsfeedCard .title {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

.newsfeedCard .dateBox {
    color: var(--brandColor);
    font-size: calc(26 / var(--gfs) * 1rem)
}

@media only screen and (max-width: 47.9375rem) {
    .newsfeedCard .dateBox {
        font-size: calc(22 / var(--gfs) * 1rem)
    }
}

.newsfeedCard .qTitle {
    font-weight: 500;
    font-size: calc(38 / var(--gfs) * 1rem);
    line-height: 120%;
    margin-bottom: 1rem
}

@media only screen and (min-width: 100rem) {
    .newsfeedCard .qTitle {
        font-size: calc(45 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .newsfeedCard .qTitle {
        font-size: calc(40 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .newsfeedCard .qTitle {
        font-size: calc(38 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .newsfeedCard .qTitle {
        font-size: calc(36 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .newsfeedCard .qTitle {
    line-height: 130%
}

@media only screen and (max-width: 47.9375rem) {
    .newsfeedCard .qTitle {
        margin-bottom: .5rem;
        font-size: calc(32 / var(--gfs) * 1rem)
    }
}

.newsfeedCard .articleTools {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: .5rem
}

.newsfeedCard .tool {
    display: flex;
    align-items: center;
    gap: .3rem;
    font-size: calc(25 / var(--gfs) * 1rem);
    color: #d1d2d3;
    cursor: pointer
}

.newsfeedCard .tool.likeBox.active .iconBox {
    color: var(--brandRed)
}

@media (hover: hover) and (pointer: fine) {
    .newsfeedCard .tool:hover .iconBox svg {
        transform: scale(1.1)
    }
}

.newsfeedCard .tool .iconBox {
    display: flex;
    align-items: center;
    justify-content: center
}

.newsfeedCard .tool .iconBox svg {
    width: 1.1rem;
    height: auto;
    aspect-ratio: 1;
    transition: all .3s var(--ease)
}

.richtexteditor {
    width: 100%;
    min-height: 25rem
}

.numberTitle {
    display: flex;
    align-items: center;
    gap: .7rem;
    font-size: calc(28 / var(--gfs) * 1rem);
    line-height: 120%;
    font-weight: 400;
    color: hsl(from var(--black) h s l/.5)
}

@media only screen and (min-width: 100rem) {
    .numberTitle {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .numberTitle {
        font-size: calc(27 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .numberTitle {
        font-size: calc(27 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .numberTitle {
        font-size: calc(26 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .numberTitle {
    line-height: 130%
}

.numberTitle .num {
    --s: 35px;
    width: var(--s);
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--brandColor);
    position: relative;
    font-weight: 500;
    font-size: 90%
}

.numberTitle .num:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--brandColor);
    opacity: .1;
    border-radius: 50%
}

.materialList {
    display: flex;
    flex-direction: column;
    gap: 5px
}

.matItem {
    display: flex;
    flex-wrap: wrap;
    border: 1px solid hsl(from var(--black) h s l/.1);
    border-radius: 10px;
    line-height: 120%;
    font-size: calc(26 / var(--gfs) * 1rem);
    background: var(--white)
}

.matItem .num {
    min-width: 50px;
    text-align: center;
    border-inline-end: 1px solid hsl(from var(--black) h s l/.1);
    display: flex;
    align-items: center;
    justify-content: center
}

@media only screen and (max-width: 47.9375rem) {
    .matItem .num {
        min-width: 38px
    }
}

.matItem .tools {
    padding-block: 4px;
    padding-inline-end: 4px
}

@media only screen and (max-width: 47.9375rem) {
    .matItem .tools {
        width: 100%;
        padding: 4px;
        justify-content: end;
        display: flex;
        gap: .2rem;
        border-top: 1px solid hsl(from var(--black) h s l/.1)
    }
}

.matItem .title {
    flex: 1;
    display: flex;
    align-items: center;
    gap: .5rem;
    padding-inline: 1rem;
    padding-block: .5rem
}

@media only screen and (max-width: 47.9375rem) {
    .matItem .title {
        padding-inline: .5rem;
        padding-block: .8rem
    }
}

.matItem .title .iconBox {
    width: 1.4rem;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #b2b2b2
}

.matItem .title .iconBox svg,
.matItem .title .iconBox img {
    width: 100%;
    height: auto;
    aspect-ratio: 1
}

.matItem .title .c,
.matItem .title span {
    flex: 1
}

.matItem .title .c {
    display: flex;
    flex-direction: column;
    gap: .2rem
}

.matItem .title small {
    opacity: .5
}

.studentInfoWrap {
    display: grid;
    grid-template-columns: 23% 1fr;
    align-items: start;
    gap: 2rem
}

@media only screen and (max-width: 47.9375rem) {
    .studentInfoWrap {
        grid-template-columns: 100%;
        gap: 1rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .studentInfoWrap .imgBox {
        max-width: 45vw;
        width: 100%;
        justify-self: center
    }
}

.studentInfoWrap .imgBox img {
    aspect-ratio: 1;
    border-radius: 50%;
    overflow: clip
}

.studentInfoWrap .contentBox {
    display: flex;
    flex-direction: column;
    gap: 2rem
}

@media only screen and (max-width: 47.9375rem) {
    .studentInfoWrap .contentBox {
        gap: 1rem
    }
}

.studentInfoWrap .contentBox:not(:has(.blockTitle)) {
    gap: 1rem
}

.studentInfoWrap .name {
    color: var(--brandColor);
    font-weight: 500
}

@media only screen and (max-width: 47.9375rem) {
    .studentInfoWrap .name {
        text-align: center
    }
}

.studentInfoWrap .socialBox {
    margin-top: .5rem
}

.studentInfoWrap .textBox {
    opacity: .7
}

.studentInfoWrap .metaWrap {
    display: grid;
    gap: var(--gap);
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    line-height: 130%;
    font-size: calc(26 / var(--gfs) * 1rem)
}

@media only screen and (max-width: 47.9375rem) {
    .studentInfoWrap .metaWrap {
        gap: .8rem
    }
}

.studentInfoWrap .m {
    display: flex;
    flex-direction: column;
    gap: .2rem
}

.studentInfoWrap .t {
    font-weight: 500
}

.studentInfoWrap .v {
    opacity: .7
}

.blockTitle {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-weight: 500;
    color: hsl(from var(--black) h s l/.4);
    font-size: calc(28 / var(--gfs) * 1rem);
    line-height: 120%
}

@media only screen and (min-width: 100rem) {
    .blockTitle {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .blockTitle {
        font-size: calc(27 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .blockTitle {
        font-size: calc(27 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .blockTitle {
        font-size: calc(26 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .blockTitle {
    line-height: 130%
}

@media only screen and (max-width: 47.9375rem) {
    .blockTitle {
        font-size: calc(32 / var(--gfs) * 1rem)
    }
}

.blockTitle:after {
    content: "";
    position: relative;
    height: 1px;
    flex: 1;
    background: var(--black);
    opacity: .1
}

.chatWrap {
    position: relative;
    background: #f4f7fd;
    border-radius: var(--round);
    border: 1px solid hsl(from var(--black) h s l/.1);
    display: flex;
    overflow: clip;
    --sideBox: 20rem;
    --avImg: 3.2rem;
    --sideP: 1rem
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .chatWrap {
        --sideBox: 17rem;
        --avImg: 3rem;
        --sideP: .5rem
    }
}

@media only screen and (min-width: 100rem) {
    .chatWrap {
        --sideBox: 25rem;
        --avImg: 3.7rem
    }
}

@media only screen and (max-width: 64rem) {
    .chatWrap {
        --avImg: 3rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .chatWrap {
        --avImg: 2.5rem;
        --sideP: .5rem;
        --sideBox: calc(100vw - 3.6rem)
    }
}

.chatWrap .chatSide {
    background: var(--white);
    width: var(--sideBox);
    display: flex;
    flex-direction: column;
    gap: .6rem;
    border-start-end-radius: var(--round);
    border-end-end-radius: var(--round);
    border-inline-end: 1px solid hsl(from var(--black) h s l/.1)
}

@media only screen and (min-width: 100rem) {
    .chatWrap .chatSide {
        gap: .8rem
    }
}

@media only screen and (max-width: 64rem) {
    .chatWrap .chatSide {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        z-index: 10;
        pointer-events: none;
        transform: translate(-100%);
        transition: all .4s var(--ease)
    }

    [dir=rtl] .chatWrap .chatSide {
        left: auto;
        right: 0
    }

    [dir=rtl] .chatWrap .chatSide {
        transform: translate(100%)
    }

    .chatWrap .chatSide.active {
        transform: translate(0);
        pointer-events: auto
    }

    [dir=rtl] .chatWrap .chatSide.active {
        transform: translate(0)
    }
}

.chatWrap .userList {
    flex: 1
}

.chatWrap .readTab {
    display: flex;
    align-items: center;
    gap: .3rem;
    padding-inline: var(--sideP)
}

.chatWrap .readTab .rItem {
    z-index: 5;
    overflow: clip;
    position: relative;
    display: inline-flex;
    padding: .3rem .9rem;
    border: 1px solid hsl(from var(--black) h s l/.1);
    line-height: 120%;
    border-radius: 1rem;
    color: hsl(from var(--text) h s l/.5);
    font-size: calc(23 / var(--gfs) * 1rem);
    transition: all .4s var(--ease)
}

@media only screen and (min-width: 100rem) {
    .chatWrap .readTab .rItem {
        font-size: calc(26 / var(--gfs) * 1rem)
    }
}

.chatWrap .readTab .rItem:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--brandColor);
    opacity: 0;
    z-index: -1;
    transition: all .4s var(--ease)
}

.chatWrap .readTab .rItem.active {
    color: var(--text);
    border-color: var(--brandColor)
}

.chatWrap .readTab .rItem.active:before {
    opacity: .1
}

@media (hover: hover) and (pointer: fine) {
    .chatWrap .readTab .rItem:hover {
        color: var(--text)
    }

    .chatWrap .readTab .rItem:hover:before {
        opacity: .1
    }
}

.chatWrap .searchBox {
    display: flex;
    align-items: center;
    gap: .5rem
}

.chatWrap .searchBox .form-v3 {
    flex: 1
}

.chatWrap .searchBox .form-v3:not(.filledColor) input[type=text]:not(.browser-default) {
    background: #f4f7fd
}

.chatWrap .searchBox .form-v3 .input-field>.iconBox {
    color: hsl(from var(--text) h s l/.3)
}

@media only screen and (min-width: 64.0625rem) {
    .chatWrap .searchBox [data-chatclose] {
        display: none
    }
}

.chatWrap .userList {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    overflow: auto
}

.chatWrap .avImg {
    width: var(--avImg);
    aspect-ratio: 1;
    position: relative
}

.chatWrap .avImg:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--black);
    opacity: .1;
    border-radius: 50%
}

.chatWrap .avImg picture {
    border-radius: 50%;
    overflow: clip
}

.chatWrap .avImg img {
    transition: all .4s var(--ease)
}

.chatWrap .contenWrap {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    flex: 1
}

.chatWrap .botomBox {
    display: flex;
    align-items: flex-end;
    gap: .5rem
}

.chatWrap .attachmentBtn {
    margin-bottom: 1rem
}

@media only screen and (min-width: 64.0625rem) {
    .chatWrap .attachmentBtn {
        color: var(--text)
    }
}

.chatWrap .messageTyping {
    flex: 1;
    display: flex;
    position: relative
}

.chatWrap .messageTyping input,
.chatWrap .messageTyping textarea {
    width: 100%;
    border: none;
    background: var(--white);
    border-radius: 15px;
    padding: 1rem;
    padding-block: .5rem;
    outline: none;
    box-shadow: 0 0 12px 3px hsl(from var(--black) h s l/.02);
    padding-inline-end: calc(var(--iconBtnLg) + 1rem);
    resize: vertical;
    field-sizing: content;
    max-height: 10rem;
    min-height: 4.6rem;
    font-family: var(--fontFamily);
    line-height: 150%;
    font-weight: 400
}

.chatWrap .messageTyping .iconBtn {
    position: absolute;
    bottom: 1rem;
    right: .5rem
}

[dir=rtl] .chatWrap .messageTyping .iconBtn {
    right: auto;
    left: .5rem
}

.chatWrap .searchBox {
    padding-top: var(--sideP, 1rem)
}

.chatWrap .fileTabContent,
.chatWrap .messageList,
.chatWrap .searchBox,
.chatWrap .botomBox,
.chatWrap .plusBtnWrap,
.chatWrap .userList {
    padding-inline: var(--sideP, 1rem)
}

.chatWrap .botomBox,
.chatWrap .plusBtnWrap {
    padding-bottom: var(--sideP, 1rem)
}

.chatWrap .fileTabContent,
.chatWrap .messageTabContent {
    flex: 1;
    display: flex;
    flex-direction: column;
    height: 90%;
    gap: .5rem
}

.chatWrap .fileTabContent {
    padding-block: .5rem;
    overflow: auto
}

.chatWrap .tabContent {
    display: none
}

.chatWrap .tabContent.active {
    display: flex
}

.userItem {
    padding: .5rem;
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: calc(23 / var(--gfs) * 1rem);
    line-height: 130%;
    cursor: pointer
}

@media only screen and (min-width: 100rem) {
    .userItem {
        font-size: calc(27 / var(--gfs) * 1rem);
        gap: .7rem;
        padding: .7rem
    }
}

@media (hover: hover) and (pointer: fine) {
    .userItem:hover .avImg img {
        transform: scale(1.1)
    }
}

.userItem.active {
    background: #f4f7fd;
    border-radius: 15px
}

.userItem [data-status] {
    position: relative
}

.userItem [data-status]:after {
    content: "";
    position: absolute;
    width: 10px;
    aspect-ratio: 1;
    background: var(--brandGray);
    bottom: calc(15% - 1px);
    border-radius: 50%;
    border: 1px solid var(--bg);
    z-index: 15;
    right: calc(15% - 1px);
    transform: translate(50%) translateY(50%)
}

[dir=rtl] .userItem [data-status]:after {
    right: auto;
    left: calc(15% - 1px)
}

[dir=rtl] .userItem [data-status]:after {
    transform: translate(-50%) translateY(50%)
}

.userItem [data-status=online]:after {
    background: var(--brandGreen)
}

.userItem [data-status=offline]:after {
    background: var(--brandRed)
}

.userItem .content {
    display: flex;
    flex-direction: column;
    gap: 3px;
    flex: 1
}

@media only screen and (min-width: 100rem) {
    .userItem .content {
        gap: .3rem
    }
}

.userItem .r {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 5px
}

.userItem .dec,
.userItem .time {
    opacity: .5
}

.userItem .name,
.userItem .dec {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    max-width: calc(var(--sideBox) - var(--avImg) - 6.5rem)
}

.userItem .name {
    font-weight: 500;
    font-size: 110%
}

.userItem .typing {
    color: #11a14f
}

.userItem .count {
    position: relative;
    width: 18px;
    aspect-ratio: 1;
    background: var(--brandRed);
    border-radius: 50%;
    color: var(--white);
    font-size: 10px;
    font-weight: 400;
    line-height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .3s var(--ease)
}

.chatTab {
    display: flex;
    flex-wrap: wrap
}

.chatTab .link {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: .5rem;
    border-bottom: 1px solid hsla(from var(--black) h s l/.2);
    color: hsla(from var(--black) h s l/.3);
    transition: all .4s var(--ease);
    font-size: calc(26 / var(--gfs) * 1rem)
}

.chatTab .link:not(:last-child) {
    border-inline-end: 1px solid hsla(from var(--black) h s l/.1)
}

.chatTab .link.active {
    color: var(--brandColor);
    border-bottom-color: var(--brandColor)
}

@media (hover: hover) and (pointer: fine) {
    .chatTab .link:not(.active):hover {
        color: var(--brandColor);
        background: hsla(from var(--brandColor) h s l/.05)
    }
}

@media only screen and (min-width: 64.0625rem) {
    .chatTab [data-contactbtn] {
        display: none
    }
}

.messageList {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    --avImg: 2.8rem;
    overflow: auto
}

@media only screen and (min-width: 100rem) {
    .messageList {
        --avImg: 3rem
    }
}

.messageList .rowInfo {
    text-align: center;
    color: hsl(from var(--black) h s l/.3);
    font-size: calc(26 / var(--gfs) * 1rem)
}

.messageList .message {
    display: flex;
    align-items: center;
    gap: .4rem;
    max-width: 32rem
}

@media only screen and (min-width: 100rem) {
    .messageList .message {
        gap: .6rem
    }
}

.messageList .message.receive {
    align-self: start
}

.messageList .message.receive .textBox {
    border-end-start-radius: 0
}

.messageList .message.send {
    align-self: end;
    flex-direction: row-reverse
}

.messageList .message.send .textBox {
    border-end-end-radius: 0
}

.messageList .message.send .metaInfo {
    justify-content: end
}

.messageList .message .contentBox {
    flex: 1
}

.messageList .message .textBox {
    display: inline-block;
    background: var(--white);
    padding: 1rem .8rem;
    border-radius: 15px;
    line-height: 130%;
    box-shadow: 0 0 12px 3px hsl(from var(--black) h s l/.02)
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .messageList .message .textBox {
        padding: .6rem .5rem;
        border-radius: 12px
    }
}

.messageList .message .metaInfo {
    display: flex;
    align-items: center;
    gap: .3rem;
    font-size: calc(24 / var(--gfs) * 1rem)
}

.messageList .message .metaInfo .time {
    opacity: .3
}

.messageList .message .attachmentBox {
    display: flex;
    align-items: center;
    gap: .5rem
}

.messageList .message .attachmentBox .iconBox {
    width: 2rem;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background: hsl(from var(--brandColor) h s l/.1);
    border-radius: 5px;
    color: var(--brandColor)
}

.messageList .message .attachmentBox .iconBox svg,
.messageList .message .attachmentBox .iconBox img {
    width: 55%;
    height: auto;
    aspect-ratio: 1
}

.messageList .message .attachmentBox span {
    flex: 1
}

.chatSticky {
    display: flex
}

@media only screen and (min-width: 61.3125rem) {
    .chatSticky {
        position: sticky;
        top: var(--topNavH, 90px)
    }

    .chatSticky>.generalCard {
        width: 100%
    }
}

.chatSticky:has(.chatWrap) {
    height: calc(100vh - var(--topNavH, 90px) - var(--gap))
}

@media only screen and (max-width: 64rem) {
    .chatSticky:has(.chatWrap) {
        height: calc(100vh - var(--topNavH, 90px) - var(--gap) - (5px + env(safe-area-inset-bottom)) - (var(--inputH) + 1rem))
    }
}

@media only screen and (max-width: 47.9375rem) {
    .chatSticky:has(.chatWrap) {
        height: calc(100vh - var(--topNavH, 90px) - var(--gap))
    }
}

.chatSticky:has(.chatWrap) .generalCard {
    height: 100%;
    max-height: 100%;
    width: 100%
}

.chatSticky:has(.chatWrap) .generalCard>.inner {
    height: 100%;
    max-height: 100%
}

.chatSticky:has(.chatWrap) .chatWrap {
    flex: 1;
    max-height: calc(100% - 3rem)
}

@media only screen and (max-width: 47.9375rem) {
    .chatSticky:has(.chatWrap) .chatWrap {
        max-height: calc(100% - 2.2rem)
    }
}

.userCheckList ul,
.userCheckList ol {
    list-style: none;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 0;
    width: 100%
}

@media only screen and (max-width: 47.9375rem) {

    .userCheckList ul,
    .userCheckList ol {
        gap: 5px
    }
}

.userCheckList ul li:not(:last-child),
.userCheckList ol li:not(:last-child) {
    padding-bottom: 8px;
    border-bottom: 1px solid hsl(from var(--black) h s l/.05)
}

@media only screen and (max-width: 47.9375rem) {

    .userCheckList ul li:not(:last-child),
    .userCheckList ol li:not(:last-child) {
        padding-bottom: 5px
    }
}

.userCheckList label {
    font-weight: 500;
    line-height: 120%;
    font-size: calc(26 / var(--gfs) * 1rem)
}

.userCheckList label .contentBox {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 1rem
}

@media only screen and (max-width: 47.9375rem) {
    .userCheckList label .contentBox {
        gap: .7rem
    }
}

.userCheckList .avImg {
    --s: 3rem;
    width: var(--s);
    aspect-ratio: 1;
    position: relative;
    border-radius: 50%;
    overflow: clip
}

@media only screen and (max-width: 47.9375rem) {
    .userCheckList .avImg {
        --s: 2.6rem
    }
}

.userCheckList .avImg:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--black);
    opacity: .1
}

.userCheckList .t {
    flex: 1
}

.programSteps {
    display: flex;
    align-items: start;
    justify-content: space-around;
    width: 100%;
    margin-inline: auto;
    position: relative;
    --s: 3.8rem;
    margin-block: 1rem
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .programSteps {
        --s: 3.5rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .programSteps {
        justify-content: space-between;
        --s: 2.8rem;
        padding-inline: 1rem;
        margin-block: .5rem
    }
}

.programSteps:before {
    content: "";
    position: absolute;
    top: calc(var(--s) / 2);
    width: 100%;
    left: 0;
    height: 1px;
    border-top: 1px dashed var(--brandColor)
}

@media only screen and (max-width: 47.9375rem) {
    .programSteps:before {
        left: 1rem;
        width: calc(100% - 2rem)
    }
}

.programSteps .step {
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: .35rem;
    color: var(--brandColor);
    font-size: calc(28 / var(--gfs) * 1rem);
    line-height: 120%;
    z-index: 1;
    flex: 1;
    position: relative
}

@media only screen and (min-width: 100rem) {
    .programSteps .step {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .programSteps .step {
        font-size: calc(27 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .programSteps .step {
        font-size: calc(27 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .programSteps .step {
        font-size: calc(26 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .programSteps .step {
    line-height: 130%
}

@media only screen and (max-width: 47.9375rem) {
    .programSteps .step {
        flex: inherit
    }
}

.programSteps .step .t {
    position: relative;
    z-index: 15
}

.programSteps .step.active .iconBox {
    color: var(--white)
}

.programSteps .step.active .iconBox:after {
    opacity: 1
}

@media (hover: hover) and (pointer: fine) {
    .programSteps .step:hover .iconBox {
        color: var(--white)
    }

    .programSteps .step:hover .iconBox:after {
        opacity: 1;
        transform: scale(1.1)
    }
}

.programSteps .step:first-child:before,
.programSteps .step:last-child:before {
    content: "";
    position: absolute;
    top: 0;
    height: var(--s);
    background: var(--white);
    width: calc(50% - var(--s) / 2)
}

.programSteps .step:first-child:before {
    left: 0
}

[dir=rtl] .programSteps .step:first-child:before {
    left: auto;
    right: 0
}

.programSteps .step:last-child:before {
    right: 0
}

[dir=rtl] .programSteps .step:last-child:before {
    right: auto;
    left: 0
}

.programSteps .step .iconBox {
    width: var(--s);
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 5;
    box-shadow: 0 0 0 10px var(--white);
    transition: all .4s var(--ease)
}

@media only screen and (max-width: 47.9375rem) {
    .programSteps .step .iconBox {
        box-shadow: 0 0 0 8px var(--white)
    }
}

.programSteps .step .iconBox:after,
.programSteps .step .iconBox:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transition: all .4s var(--ease);
    border-radius: 50%
}

.programSteps .step .iconBox:before {
    background: var(--white);
    z-index: -2;
    border: 1px solid var(--brandColor)
}

.programSteps .step .iconBox:after {
    background: var(--brandColor);
    opacity: .1;
    z-index: -1
}

.programSteps .step .iconBox svg,
.programSteps .step .iconBox img {
    width: 40%;
    height: auto;
    aspect-ratio: 3/4
}

.programChapters {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem
}

@media only screen and (min-width: 100rem) {
    .programChapters {
        gap: .8rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .programChapters {
        gap: .25rem;
        margin-bottom: .5rem
    }
}

.programChapters .link {
    --s: 3rem;
    width: var(--s);
    aspect-ratio: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--brandColor);
    position: relative;
    font-weight: 500;
    transition: all .4s var(--ease);
    font-size: calc(26 / var(--gfs) * 1rem);
    z-index: 5
}

@media only screen and (min-width: 100rem) {
    .programChapters .link {
        --s: 3.3rem
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .programChapters .link {
        --s: 2.5rem;
        font-size: calc(24 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .programChapters .link {
        --s: 2.5rem;
        font-size: calc(23 / var(--gfs) * 1rem)
    }
}

.programChapters .link.done:before {
    opacity: 1
}

.programChapters .link.done:after {
    opacity: 1;
    transform: scale(1)
}

.programChapters .link:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIwIDZMOSAxN0w0IDEyIiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K);
    background-position: center;
    background-size: auto 45%;
    background-repeat: no-repeat;
    transform: scale(.5);
    opacity: 0;
    transition: all .4s var(--ease)
}

.programChapters .link:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--brandColor);
    opacity: .1;
    border-radius: 50%;
    transition: all .4s var(--ease);
    z-index: -1
}

@media (hover: hover) and (pointer: fine) {
    .programChapters .link:hover {
        color: var(--white)
    }

    .programChapters .link:hover:before {
        opacity: 1
    }
}

.videoBox {
    display: flex;
    width: 100%;
    border-radius: var(--round);
    overflow: clip
}

.videoBox video {
    width: 100%;
    height: auto
}

.homePage {
    --sideS: 20rem;
    --g: 2rem;
    min-height: 100vh;
    padding: var(--g);
    display: grid;
    gap: var(--g);
    grid-template-columns: calc(100% - var(--sideS) - var(--g)) var(--sideS)
}

@media only screen and (min-width: 100rem) {
    .homePage {
        --sideS: 24rem
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .homePage {
        --g: 1.2rem;
        --sideS: 18rem
    }
}

@media only screen and (max-width: 64rem) {
    .homePage {
        grid-template-columns: 100%;
        --sideS: 24rem
    }
}

@media only screen and (max-width: 61.25rem) {
    .homePage {
        --g: 1.5rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .homePage {
        --g: 1rem
    }
}

.homePage h1 {
    margin: 0;
    margin-bottom: 1.5rem;
    font-size: 13vh;
    line-height: 100%
}

[dir=rtl] .homePage h1 {
    font-size: 11vh
}

[dir=rtl] .homePage h1 {
    line-height: 150%
}

@media only screen and (max-width: 64rem) {
    .homePage h1 {
        font-size: 8vw
    }

    [dir=rtl] .homePage h1 {
        font-size: 7vw
    }
}

@media only screen and (max-width: 61.25rem) {

    .homePage h1,
    [dir=rtl] .homePage h1 {
        font-size: 6vw
    }
}

@media only screen and (max-width: 47.9375rem) {
    .homePage h1 {
        font-size: 8vw;
        margin-bottom: .5rem
    }

    [dir=rtl] .homePage h1 {
        font-size: 9vw
    }
}

.homePage .metaInfoWrap {
    margin-top: 10vh;
    max-width: 85%;
    padding-inline-end: 50%;
    position: relative
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .homePage .metaInfoWrap {
        margin-top: 5vh
    }
}

@media only screen and (max-width: 64rem) {
    .homePage .metaInfoWrap {
        margin-top: 2rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .homePage .metaInfoWrap {
        margin-top: 1rem;
        border-top: 1px solid hsl(from var(--black) h s l/.1);
        padding-top: 1rem;
        max-width: 100%
    }
}

.homePage .metaInfoWrap:after {
    content: "";
    position: absolute;
    top: 9vh;
    height: 1px;
    width: 60%;
    background: var(--black);
    opacity: .1;
    right: 0
}

@media only screen and (max-width: 64rem) {
    .homePage .metaInfoWrap:after {
        top: 3em
    }
}

@media only screen and (max-width: 47.9375rem) {
    .homePage .metaInfoWrap:after {
        display: none
    }
}

.homePage .metaInfoWrap .swiper {
    overflow: visible
}

.homePage .textArea {
    display: flex;
    flex-direction: column;
    justify-content: end;
    z-index: 10;
    position: relative
}

.homePage .contentBox {
    border-radius: var(--round);
    overflow: clip;
    position: relative;
    background: hsla(from #bec3c7 h s l/.14);
    padding: var(--g);
    display: grid;
    grid-template-columns: 60% 1fr;
    direction: ltr
}

@media only screen and (max-width: 64rem) {
    .homePage .contentBox {
        grid-template-columns: 70% 1fr
    }
}

@media only screen and (max-width: 47.9375rem) {
    .homePage .contentBox {
        grid-template-columns: 100%;
        order: 2
    }
}

.homePage .contentBox .imgBox {
    align-self: flex-end;
    margin-inline-end: calc(var(--g) * -1);
    margin-bottom: calc(var(--g) * -1);
    display: flex;
    justify-content: end;
    z-index: -1
}

@media only screen and (max-width: 47.9375rem) {
    .homePage .contentBox .imgBox {
        position: absolute;
        right: 0;
        bottom: 0;
        display: none
    }

    [dir=rtl] .homePage .contentBox .imgBox {
        left: 0;
    }
}

.homePage .contentBox .imgBox>picture {
    width: 120%;
    flex-shrink: 0
}

@media only screen and (max-width: 47.9375rem) {
    .homePage .contentBox .imgBox>picture {
        width: 50%
    }
}

.homePage .contentBox .imgBox>picture img {
    max-height: 85vh;
    object-position: right
}

.homePage .formBox {
    width: 100%;
    max-width: var(--sideS)
}

.homePage .form-v3 .buttonWrap>* {
    width: 100%
}

.keyInfo.swiper-slide {
    display: flex;
    align-items: end
}

.keyInfo.swiper-slide .inner {
    opacity: 0;
    transition: all .4s var(--ease)
}

.keyInfo.swiper-slide.swiper-slide-active .inner {
    opacity: 1
}

.keyInfo.swiper-slide.swiper-slide-active .num {
    transform: scale(1);
    transition-delay: .3s
}

.keyInfo.swiper-slide.swiper-slide-next .inner {
    opacity: .5
}

.keyInfo.swiper-slide .num {
    transform: scale(.4)
}

.keyInfo .mainCount {
    display: flex;
    flex-direction: column;
    gap: .2rem
}

.keyInfo .inner {
    display: flex;
    font-size: calc(32 / var(--gfs) * 1rem);
    line-height: 120%;
    width: 100%
}

@media only screen and (min-width: 100rem) {
    .keyInfo .inner {
        font-size: calc(36 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .keyInfo .inner {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .keyInfo .inner {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 61.25rem) {
    .keyInfo .inner {
        font-size: calc(33 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .keyInfo .inner {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .keyInfo .inner {
    line-height: 130%
}

.keyInfo .num {
    font-size: 14vh;
    font-weight: 700;
    line-height: 100%;
    transform-origin: left bottom;
    transition: all .4s var(--ease)
}

@media only screen and (max-width: 64rem) {
    .keyInfo .num {
        font-size: 9vw
    }
}

@media only screen and (max-width: 47.9375rem) {
    .keyInfo .num {
        font-size: 10vw
    }
}

.keyInfo .t {
    text-align: start;
    padding-inline-end: 50%
}

@media only screen and (max-width: 64rem) {
    .keyInfo .t {
        padding-inline-end: 0
    }
}

.loginSide {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: center
}

@media only screen and (min-width: 64.0625rem) {
    .loginSide {
        padding-inline-end: calc(var(--sGap) - 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .loginSide {
        gap: 2rem
    }
}

.loginSide .logoBox {
    display: flex;
    width: 100%;
    max-width: 180px;
    padding-top: 4rem
}

.loginSide .logoBox .inner {
    width: 100%
}

@media only screen and (min-width: 100rem) {
    .loginSide .logoBox {
        max-width: 220px;
        padding-top: 5rem
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .loginSide .logoBox {
        max-width: 140px;
        padding-top: 1rem
    }
}

@media only screen and (min-width: 61.3125rem) and (max-width: 64rem) {
    .loginSide .logoBox {
        max-width: 220px
    }
}

@media only screen and (max-width: 64rem) {
    .loginSide .logoBox {
        padding-top: 0
    }
}

@media only screen and (max-width: 47.9375rem) {
    .loginSide .logoBox {
        max-width: 150px
    }
}

.loginSide .logoBox img,
.loginSide .logoBox svg {
    height: auto;
    width: 100%;
    transition: all .4s ease-in-out
}

.loginSide .formBox {
    width: 100%;
    flex: 1;
    display: flex;
    justify-content: center;
    flex-direction: column
}

.loginSide .title {
    margin-bottom: 2rem;
    text-align: center;
    font-size: calc(50 / var(--gfs) * 1rem);
    line-height: 120%
}

@media only screen and (min-width: 100rem) {
    .loginSide .title {
        font-size: calc(55 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .loginSide .title {
        font-size: calc(45 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .loginSide .title {
        font-size: calc(42 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 61.25rem) {
    .loginSide .title {
        font-size: calc(40 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .loginSide .title {
    line-height: 130%
}

.loginSide .goBackLink {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem;
    font-size: calc(26 / var(--gfs) * 1rem);
    line-height: 120%
}

.loginSide .goBackLink label {
    opacity: .5
}

.loginSide .goBackLink .link {
    position: relative;
    padding-block: .2rem
}

.loginSide .goBackLink .link:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: var(--text);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .4s var(--ease)
}

[dir=rtl] .loginSide .goBackLink .link:before {
    transform-origin: left
}

@media (hover: hover) and (pointer: fine) {
    .loginSide .goBackLink .link:hover:before {
        transform: scaleX(1);
        transform-origin: left
    }

    [dir=rtl] .loginSide .goBackLink .link:hover:before {
        transform-origin: right
    }
}

.signUpWrap {
    --sGap: 4rem;
    padding: var(--gap);
    display: grid;
    grid-template-columns: 45% 1fr;
    gap: var(--sGap);
    min-height: 100vh
}

@media only screen and (min-width: 100rem) {
    .signUpWrap {
        grid-template-columns: 40% 1fr;
        --sGap: 6rem
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .signUpWrap {
        --sGap: 2.5rem
    }
}

@media only screen and (max-width: 64rem) {
    .signUpWrap {
        grid-template-columns: 100%;
        grid-template-rows: auto 1fr
    }
}

@media only screen and (max-width: 47.9375rem) {
    .signUpWrap {
        gap: 2rem
    }
}

.signUpWrap .imgBox {
    background: rgba(190, 195, 199, .14);
    border-radius: 20px;
    overflow: clip;
    display: flex;
    align-items: end;
    justify-content: end
}

@media only screen and (max-width: 64rem) {
    .signUpWrap .imgBox {
        padding-top: 3rem
    }
}

@media only screen and (max-width: 61.25rem) {
    .signUpWrap .imgBox {
        padding-top: 1rem
    }
}

.signUpWrap .imgBox picture {
    width: auto;
    height: auto
}

.signUpWrap .imgBox img {
    aspect-ratio: 677/890;
    object-fit: contain;
    height: 100%;
    width: auto;
    max-height: 90vh
}

@media only screen and (max-width: 64rem) {
    .signUpWrap .imgBox img {
        max-height: 45vw
    }
}

@media only screen and (max-width: 61.25rem) {
    .signUpWrap .imgBox img {
        max-height: 35vw
    }
}

@media only screen and (max-width: 47.9375rem) {
    .signUpWrap .imgBox img {
        max-height: inherit
    }
}

@media only screen and (max-width: 47.9375rem) {
    .signUpWrap .imgBox img {
        width: 100%;
        height: auto
    }
}

@media only screen and (min-width: 64.0625rem) {
    .signUpWrap .loginSide {
        padding-inline-end: calc(var(--sGap) - 1rem)
    }
}

.moreWrap {
    margin-top: calc(var(--gap) + .4rem);
    display: flex;
    flex-wrap: wrap
}

@media only screen and (max-width: 47.9375rem) {
    .moreWrap {
        margin-top: calc(var(--gap) + .2rem)
    }
}

.moreWrap.text-center {
    justify-content: center
}

.moreWrap.bMargin {
    margin-top: 2rem
}

.moreWrap.showOnTab {
    display: none
}

@media only screen and (max-width: 61.25rem) {
    .moreWrap.showOnTab {
        display: flex
    }
}

.moreWrap.withNav {
    gap: 1rem
}

@media only screen and (max-width: 47.9375rem) {
    .moreWrap.withNav {
        gap: .5rem
    }
}

.moreWrap.withNav .sliderTools {
    flex: 1
}

.moreWrap.withNav .swiper-pagination,
.moreWrap.withNav .swiper-scrollbar {
    margin-top: 0;
    flex: 1
}

.moreWrap.withNav .navBox {
    justify-content: start
}

.moreWrap.withNav .more {
    white-space: nowrap
}

.moreWrap.alEnd {
    justify-content: flex-end
}

.moreWrap .swiper-pagination {
    justify-content: center
}

.more {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0;
    cursor: pointer;
    font: inherit;
    position: relative;
    -webkit-user-select: none;
    user-select: none;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: var(--fontFamily);
    z-index: 5;
    background: transparent;
    color: var(--white);
    font-weight: 400;
    gap: .5rem;
    padding-block: 8px;
    padding-inline: 1.5rem;
    min-width: 240px;
    min-height: var(--inputH);
    font-size: calc(27 / var(--gfs) * 1rem)
}

@media only screen and (min-width: 100rem) {
    .more {
        font-size: calc(29 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .more {
        font-size: calc(25 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .more {
        padding-inline: 1.4rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .more {
        padding-inline: 1.2rem
    }
}

.more.wAuto {
    min-width: inherit
}

.more.sm {
    min-height: 2.5rem
}

.more.colorDanger:before {
    background: var(--brandRed)
}

.more.colorSuccess:before {
    background: #04b640
}

.more.colorWarning:before {
    background: #e9c551
}

.more.colorGray:before {
    background: var(--black);
    opacity: .4
}

.more:before {
    content: "";
    position: absolute;
    top: 1px;
    right: 1px;
    bottom: 1px;
    left: 1px;
    background: var(--brandColor);
    z-index: -1;
    transition: all .4s var(--ease);
    border-radius: 10px
}

.more span {
    transition: all .4s var(--ease)
}

.more .iconBox {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.1em;
    transition: all .4s var(--ease) 0s
}

@media only screen and (min-width: 100rem) {
    .more .iconBox {
        width: 1.2em
    }
}

.more .iconBox svg {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    transform: scale(1)
}

[dir=rtl] .more .iconBox svg {
    transform: scaleX(-1)
}

@media (hover: hover) and (pointer: fine) {
    .more:hover span {
        transform: scale(1.05)
    }
}

.roundBtn {
    width: var(--inputH);
    height: auto;
    aspect-ratio: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    font-weight: 500;
    color: var(--text);
    font-size: calc(30 / var(--gfs) * 1rem)
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .roundBtn {
        font-size: calc(29 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .roundBtn {
        font-size: calc(29 / var(--gfs) * 1rem)
    }
}

.roundBtn.lg {
    --s: 52px
}

@media only screen and (min-width: 61.3125rem) {
    .roundBtn.lg svg {
        width: 42%
    }
}

@media only screen and (max-width: 61.25rem) {
    .roundBtn.lg {
        --s: 42px
    }
}

.roundBtn.black:before {
    background: hsla(from var(--black) h s l/.1)
}

.roundBtn:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--white);
    border-radius: 50%;
    transition: all .4s var(--elastic)
}

.roundBtn span {
    position: relative;
    display: inline-block;
    font-size: 90%
}

.roundBtn svg {
    width: 40%;
    height: auto;
    aspect-ratio: 1;
    transition: all .4s var(--elastic);
    transform: scale(1)
}

[dir=rtl] .roundBtn svg {
    transform: scaleX(-1)
}

@media (hover: hover) and (pointer: fine) {
    .roundBtn:hover .layer1 {
        transform: translate(10px, -10px) scale(1);
        opacity: 0;
        transition: all .4s var(--elastic)
    }

    [dir=rtl] .roundBtn:hover .layer1 {
        transform: translate(-10px, -10px) scaleX(-1)
    }

    .roundBtn:hover .layer2 {
        opacity: 1;
        transform: translate(0) scale(1);
        transition: all .4s var(--elastic)
    }

    [dir=rtl] .roundBtn:hover .layer2 {
        transform: translate(0) scaleX(-1)
    }

    .roundBtn:hover:before {
        transform: scale(1.1)
    }
}

[data-count].roundBtn {
    position: relative
}

[data-count].roundBtn:after {
    content: attr(data-count);
    position: absolute;
    width: 20px;
    aspect-ratio: 1;
    background: var(--brandRed);
    top: 15%;
    border-radius: 50%;
    color: var(--white);
    font-size: 10px;
    font-weight: 400;
    line-height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    right: 15%;
    transform: translate(50%) translateY(-50%)
}

[dir=rtl] [data-count].roundBtn:after {
    right: auto;
    left: 15%
}

[dir=rtl] [data-count].roundBtn:after {
    transform: translate(-50%) translateY(-50%)
}

.plusBtn,
.iconBtn {
    width: var(--iconBtn);
    color: var(--white);
    height: auto;
    aspect-ratio: 1;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    font-weight: 500;
    background: transparent;
    outline: none;
    border: none;
    cursor: pointer;
    font-size: calc(30 / var(--gfs) * 1rem)
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {

    .plusBtn,
    .iconBtn {
        font-size: calc(29 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {

    .plusBtn,
    .iconBtn {
        font-size: calc(29 / var(--gfs) * 1rem)
    }
}

@media (hover: hover) and (pointer: fine) {

    .plusBtn,
    .iconBtn {
        color: #b2b2b2;
        width: var(--inputH)
    }
}

.plusBtn.filled:before,
.iconBtn.filled:before {
    opacity: 1;
    transform: scale(1)
}

@media (hover: hover) and (pointer: fine) {

    .plusBtn.filled:hover:before,
    .iconBtn.filled:hover:before {
        transform: scale(1.1)
    }
}

.plusBtn.lg,
.iconBtn.lg {
    width: var(--iconBtnLg)
}

.plusBtn>*,
.iconBtn>* {
    pointer-events: none
}

.plusBtn:before,
.iconBtn:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--brandColor);
    border-radius: 50%;
    transition: all .4s var(--elastic);
    opacity: .8
}

@media (hover: hover) and (pointer: fine) {

    .plusBtn:before,
    .iconBtn:before {
        transform: scale(.75);
        opacity: 0
    }
}

.plusBtn span,
.iconBtn span {
    position: relative;
    display: inline-block;
    font-size: 90%
}

.plusBtn svg,
.iconBtn svg {
    width: 48%;
    height: auto;
    aspect-ratio: 1;
    transition: all .4s var(--elastic);
    transform: scale(1)
}

[dir=rtl] .plusBtn svg,
[dir=rtl] .iconBtn svg {
    transform: scaleX(-1)
}

.plusBtn.btnRed:before,
.iconBtn.btnRed:before {
    background: var(--brandRed)
}

.plusBtn.btnGreen:before,
.iconBtn.btnGreen:before {
    background: var(--brandGreen)
}

.plusBtn.btnGray:before,
.iconBtn.btnGray:before {
    background: hsla(from var(--black) h s l/.4)
}

@media (hover: hover) and (pointer: fine) {

    .plusBtn:hover,
    .iconBtn:hover {
        color: var(--white)
    }

    .plusBtn:hover:before,
    .iconBtn:hover:before {
        transform: scale(1);
        opacity: 1
    }
}

.plusBtn {
    width: 2.2em;
    color: var(--white)
}

.plusBtn:before {
    opacity: 1;
    transform: scale(1)
}

.plusBtn svg,
.plusBtn img {
    width: 75%
}

@media (hover: hover) and (pointer: fine) {
    .plusBtn:hover:before {
        transform: scale(1.1)
    }
}

.navBox {
    display: grid;
    grid-template-columns: repeat(2, 1.2rem);
    align-items: center;
    justify-content: flex-end;
    gap: .5rem;
    position: relative;
    color: var(--text);
    z-index: 15
}

@media only screen and (max-width: 47.9375rem) {
    .navBox {
        grid-template-columns: repeat(2, 1.3rem);
        gap: .3rem
    }
}

.navBox.boxCenter {
    --size: 55px;
    position: absolute;
    top: 50%;
    left: calc(var(--size) * -1);
    width: calc(100% + var(--size) * 2);
    transform: translateY(-50%);
    justify-content: space-between;
    margin-top: 0;
    pointer-events: none;
    z-index: 10;
    gap: .5rem;
    grid-template-columns: repeat(2, var(--size))
}

@media only screen and (max-width: 64rem) {
    .navBox.boxCenter {
        position: relative;
        top: 0;
        left: 0;
        width: auto;
        transform: none;
        justify-content: center;
        margin-top: 1.5rem
    }
}

.navBox.boxCenter .nav_ {
    pointer-events: auto
}

.navBox.boxCenter .nav_.swiper-button-disabled {
    opacity: .7;
    pointer-events: none
}

.navBox.round {
    grid-template-columns: repeat(2, 2.5em)
}

.navBox.round .nav_ {
    background: hsla(from var(--black) h s l/.1)
}

.navBox.round .nav_ svg {
    width: auto;
    height: 38%
}

@media (hover: hover) and (pointer: fine) {
    .navBox.round .nav_:not(.swiper-button-disabled):hover {
        transform: scale(1.1)
    }
}

.navBox .nav_ {
    transition: all .3s ease-in-out;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1;
    color: inherit;
    border-radius: 50%
}

.navBox .nav_>* {
    pointer-events: none
}

.navBox .nav_.swiper-button-lock {
    display: flex
}

.navBox .nav_ svg {
    display: block;
    transition: color .3s ease-in-out;
    width: 45%;
    height: auto;
    z-index: 10;
    scale: 1
}

[dir=rtl] .navBox .nav_ svg {
    scale: -1 -1
}

.navBox .nav_.swiper-button-disabled {
    opacity: .7
}

.navBox .nav_.swiper-button-disabled svg {
    opacity: .3
}

@media (hover: hover) and (pointer: fine) {
    .navBox .nav_:not(.swiper-button-disabled):hover {
        transform: scale(1.2)
    }
}

.navBox .nav_:focus {
    outline: none
}

.backBtn {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0;
    cursor: pointer;
    font: inherit;
    position: relative;
    -webkit-user-select: none;
    user-select: none;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: var(--fontFamily);
    z-index: 5;
    background: transparent;
    font-weight: 400;
    gap: .3rem;
    font-size: calc(27 / var(--gfs) * 1rem)
}

@media only screen and (min-width: 100rem) {
    .backBtn {
        font-size: calc(29 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .backBtn {
        font-size: calc(25 / var(--gfs) * 1rem)
    }
}

@media (hover: hover) and (pointer: fine) {
    .backBtn:hover .iconBox {
        color: var(--white)
    }

    .backBtn:hover .iconBox:before {
        opacity: 1;
        transform: scale(1)
    }

    .backBtn:hover .iconBox svg,
    .backBtn:hover .iconBox img {
        transform: scale(1)
    }
}

.backBtn .iconBox {
    width: 1.8rem;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative
}

@media only screen and (max-width: 47.9375rem) {
    .backBtn .iconBox {
        width: 1.5rem
    }
}

.backBtn .iconBox:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--brandColor);
    z-index: -1;
    border-radius: 50%;
    transform: scale(.5);
    opacity: 0;
    transition: all .4s var(--ease)
}

.backBtn .iconBox svg,
.backBtn .iconBox img {
    width: 60%;
    height: auto;
    aspect-ratio: 1;
    transform: scale(1.5);
    transition: all .4s var(--ease)
}

.uaePassBtn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    border: 1px solid var(--text);
    border-radius: 10px;
    width: 100%;
    font-family: var(--fontFamily);
    padding-block: 8px;
    padding-inline: 1.5rem;
    line-height: 100%;
    min-height: var(--inputH);
    font-size: calc(27 / var(--gfs) * 1rem)
}

@media only screen and (min-width: 100rem) {
    .uaePassBtn {
        font-size: calc(29 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .uaePassBtn {
        font-size: calc(25 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .uaePassBtn {
        padding-inline: 1.4rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .uaePassBtn {
        padding-inline: 1.2rem
    }
}

.uaePassBtn .iconBox {
    display: flex;
    align-items: center;
    justify-content: center
}

.uaePassBtn .iconBox svg,
.uaePassBtn .iconBox img {
    width: auto;
    aspect-ratio: 1;
    object-fit: contain;
    height: calc(var(--inputH) - 18px);
    transition: all .4s var(--ease)
}

@media (hover: hover) and (pointer: fine) {

    .uaePassBtn:hover .iconBox img,
    .uaePassBtn:hover .iconBox svg {
        transform: scale(1.1)
    }
}

header {
    --sideP: 1.5rem;
    position: relative;
    background: var(--brandColor);
    padding-inline: var(--sideP)
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    header {
        --sideP: 1rem
    }
}

@media only screen and (min-width: 64.0625rem) {
    header {
        position: sticky;
        top: 0
    }
}

@media only screen and (max-width: 64rem) {
    header {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        --sideP: 2rem;
        z-index: 100;
        pointer-events: none;
        clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
        transition: all .8s var(--ease)
    }
}

@media only screen and (max-width: 61.25rem) {
    header {
        --sideP: 1.5rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    header {
        --sideP: 1rem
    }
}

header .navLogo {
    position: relative;
    z-index: 150;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--gap);
    transition: all .4s var(--ease)
}

@media only screen and (max-width: 64rem) {
    header .navLogo {
        margin-bottom: 5rem
    }
}

@media only screen and (max-width: 61.25rem) {
    header .navLogo {
        margin-bottom: 3rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    header .navLogo {
        margin-bottom: 1.8rem
    }
}

header .navLogo .logoBox {
    display: flex;
    width: 100%;
    max-width: 150px
}

@media only screen and (min-width: 100rem) {
    header .navLogo .logoBox {
        max-width: 180px
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    header .navLogo .logoBox {
        max-width: 140px
    }
}

@media only screen and (min-width: 61.3125rem) and (max-width: 64rem) {
    header .navLogo .logoBox {
        max-width: 220px
    }
}

@media only screen and (max-width: 47.9375rem) {
    header .navLogo .logoBox {
        max-width: 150px
    }
}

header .navLogo .logoBox img,
header .navLogo .logoBox svg {
    height: auto;
    width: 100%;
    transition: all .4s ease-in-out
}

header .navWrapper {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    min-height: 100vh;
    padding-block: var(--sideP)
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    header .navWrapper {
        gap: 1.8rem
    }
}

@media only screen and (max-width: 64rem) {
    header .navWrapper {
        gap: 0rem;
        padding-bottom: calc(var(--mobileMenuHeight) + 10px + env(safe-area-inset-bottom))
    }
}

header .menuWrap {
    flex: 1;
    display: flex
}

@media only screen and (max-width: 64rem) {
    header .menuWrap {
        flex: inherit
    }
}

header .menuWrap nav {
    width: 100%
}

header .menuWrap ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: .1rem;
    height: 100%
}

@media only screen and (min-width: 100rem) {
    header .menuWrap ul {
        gap: .2rem
    }
}

header .menuWrap ul li.logOutBox {
    flex: 1;
    display: flex;
    align-items: end
}

@media only screen and (max-width: 64rem) {
    header .menuWrap ul li {
        transform: translateY(2rem);
        opacity: 0;
        transition: all .6s var(--ease)
    }
}

.mobileMenu {
    display: none
}

@media only screen and (max-width: 64rem) {
    .mobileMenu {
        display: flex;
        align-items: center;
        position: fixed;
        bottom: 5px;
        bottom: calc(5px + env(safe-area-inset-bottom));
        transform: translate(-50%);
        left: 50%;
        width: calc(100% - 2rem);
        max-width: 500px;
        gap: .8rem;
        z-index: 110;
        pointer-events: auto
    }
}

.mobileMenu nav {
    padding: 5px;
    background: var(--brandColor);
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 2rem;
    flex: 1;
    transition: all .4s var(--ease)
}

.mobileMenu nav ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.mobileMenu nav ul li {
    display: flex;
    align-items: center;
    justify-content: center
}

.mobileMenu .navLink {
    aspect-ratio: 1;
    padding: 0;
    width: var(--inputH);
    display: flex;
    align-items: center;
    justify-content: center
}

.mobileMenu .navLink .iconBox {
    width: 45%
}

.mobileMenu .navLink:before {
    width: 100%;
    border-radius: 50%;
    background: linear-gradient(180deg, rgba(255, 255, 255, .2) 0%, rgba(255, 255, 255, 0) 100%);
    border: 1px solid var(--white);
    transform: scale(1);
    opacity: .2;
    transform-origin: center !important
}

.mobileMenu .navLink.active:before {
    opacity: 1;
    transform: scale(1.05);
    background: linear-gradient(0deg, rgba(255, 255, 255, .5) 0%, rgba(255, 255, 255, 0) 100%);
    border: none
}

.mobileMenu [data-count].navLink:after {
    position: absolute;
    top: 15%;
    right: 5%;
    transform: translate(50%) translateY(-50%)
}

[dir=rtl] .mobileMenu [data-count].navLink:after {
    right: auto;
    left: 5%
}

[dir=rtl] .mobileMenu [data-count].navLink:after {
    transform: translate(-50%) translateY(-50%)
}

.navLink {
    font-weight: 400;
    position: relative;
    align-items: center;
    padding: .8rem 1.2rem;
    display: flex;
    gap: .6rem;
    width: 100%;
    color: var(--white);
    --size: 7px;
    font-size: calc(26 / var(--gfs) * 1rem);
    line-height: 100%
}

@media screen and (min-width: 100rem) {
    .navLink {
        font-size: calc(29 / var(--gfs) * 1rem)
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .navLink {
        font-size: calc(24 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 64rem) {
    .navLink {
        font-size: calc(33 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 61.25rem) {
    .navLink {
        font-size: calc(30 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    .navLink {
        font-size: calc(27 / var(--gfs) * 1rem)
    }
}

[dir=rtl] .navLink {
    line-height: 150%
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .navLink {
        padding: .6rem 1rem
    }
}

@media only screen and (min-width: 61.3125rem) and (max-width: 64rem) {
    .navLink {
        padding: 1rem 1.5rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .navLink {
        padding: .6rem 1rem
    }
}

.navLink .iconBox {
    width: 21px;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .3s var(--ease)
}

@media only screen and (min-width: 100rem) {
    .navLink .iconBox {
        width: 24px
    }
}

@media only screen and (min-width: 64.0625rem) and (max-width: 85.625rem) and (min-height: 500px) and (max-height: 670px) {
    .navLink .iconBox {
        width: 19px
    }
}

@media only screen and (min-width: 61.3125rem) and (max-width: 64rem) {
    .navLink .iconBox {
        width: 25px
    }
}

@media only screen and (max-width: 47.9375rem) {
    .navLink .iconBox {
        width: 20px
    }
}

.navLink .iconBox svg,
.navLink .iconBox img {
    width: 100%;
    height: auto;
    aspect-ratio: 1
}

.navLink:before {
    content: "";
    top: 0;
    height: 100%;
    left: 0;
    width: calc(100% + var(--sideP));
    position: absolute;
    display: block;
    border-start-start-radius: 2rem;
    border-end-start-radius: 2rem;
    transition: transform .4s var(--ease);
    transform: scaleX(0);
    z-index: -1;
    transform-origin: right;
    background: linear-gradient(90deg, rgba(255, 255, 255, .2) 0%, rgba(255, 255, 255, 0) 100%)
}

[dir=rtl] .navLink:before {
    left: auto;
    right: 0
}

[dir=rtl] .navLink:before {
    transform-origin: left
}

[dir=rtl] .navLink:before {
    background: linear-gradient(270deg, rgba(255, 255, 255, .2) 0%, rgba(255, 255, 255, 0) 100%)
}

.navLink span {
    display: inline-block;
    transition: transform .3s var(--ease)
}

@media (hover: hover) {
    .navLink:hover:before {
        transform: scaleX(1)
    }

    .navLink:hover .iconBox {
        transform: scale(1.05)
    }

    .navLink:hover span {
        transform: translate(.3rem)
    }

    [dir=rtl] .navLink:hover span {
        transform: translate(-.3rem)
    }
}

.navLink.active:before {
    transform: scaleX(1)
}

[data-count].navLink {
    position: relative
}

@media (hover: hover) {
    [data-count].navLink:hover:after {
        transform: translate(.3rem)
    }

    [dir=rtl] [data-count].navLink:hover:after {
        transform: translate(-.3rem)
    }
}

[data-count].navLink:after {
    content: attr(data-count);
    position: relative;
    width: 20px;
    aspect-ratio: 1;
    background: var(--brandRed);
    border-radius: 50%;
    color: var(--white);
    font-size: 10px;
    font-weight: 400;
    line-height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .3s var(--ease)
}

.burgerMenu {
    background-color: transparent;
    border: none;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    padding: 0;
    transition: opacity .25s ease-out;
    z-index: 1;
    display: block;
    width: calc(var(--inputH) + 5px);
    background: var(--white);
    aspect-ratio: 1;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 10px hsla(from var(--brandColor) h s l/.3);
    pointer-events: auto
}

.burgerMenu .bInner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: .4rem;
    width: 50%
}

.burgerMenu .bcopy {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    transform: translateY(-100%) translate(-50%);
    transition: all .4s ease-in-out;
    opacity: 0;
    left: 50%
}

.burgerMenu .bcopy span {
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%
}

.burgerMenu span {
    width: 100%;
    height: 3px;
    border-radius: 4rem;
    background: var(--brandColor);
    transition: all .4s cubic-bezier(.82, 0, .36, 1)
}

.scrolled:not(.scrolling_top) .mobileMenu,
.menuActive .mobileMenu {
    pointer-events: none
}

.scrolled:not(.scrolling_top) .mobileMenu nav,
.menuActive .mobileMenu nav {
    transform: translateY(120%)
}

.menuActive .burgerMenu .bmaster .start {
    opacity: 0;
    transform: translateY(1rem);
    transition-delay: .1s
}

.menuActive .burgerMenu .bmaster .med {
    transition-delay: 0s;
    opacity: 0;
    transform: translateY(1rem)
}

.menuActive .burgerMenu .bcopy {
    transform: translateY(0) translate(-50%);
    opacity: 1
}

.menuActive .burgerMenu .bcopy .start {
    transition-delay: .3s;
    transform: rotate(45deg)
}

.menuActive .burgerMenu .bcopy .med {
    transition-delay: .3s;
    transform: rotate(-45deg)
}

@media only screen and (max-width: 64rem) {
    .menuActive header {
        pointer-events: auto;
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%)
    }
}

@media only screen and (max-width: 64rem) {
    .menuActive header .menuWrap ul li {
        transform: none;
        opacity: 1
    }

    .menuActive header .menuWrap ul li:nth-child(1) {
        transition-delay: .6s
    }

    .menuActive header .menuWrap ul li:nth-child(2) {
        transition-delay: .7s
    }

    .menuActive header .menuWrap ul li:nth-child(3) {
        transition-delay: .8s
    }

    .menuActive header .menuWrap ul li:nth-child(4) {
        transition-delay: .9s
    }

    .menuActive header .menuWrap ul li:nth-child(5) {
        transition-delay: 1s
    }

    .menuActive header .menuWrap ul li:nth-child(6) {
        transition-delay: 1.1s
    }

    .menuActive header .menuWrap ul li:nth-child(7) {
        transition-delay: 1.2s
    }

    .menuActive header .menuWrap ul li:nth-child(8) {
        transition-delay: 1.3s
    }

    .menuActive header .menuWrap ul li:nth-child(9) {
        transition-delay: 1.4s
    }

    .menuActive header .menuWrap ul li:nth-child(10) {
        transition-delay: 1.5s
    }

    .menuActive header .menuWrap ul li:nth-child(11) {
        transition-delay: 1.6s
    }

    .menuActive header .menuWrap ul li:nth-child(12) {
        transition-delay: 1.7s
    }

    .menuActive header .menuWrap ul li:nth-child(13) {
        transition-delay: 1.8s
    }

    .menuActive header .menuWrap ul li:nth-child(14) {
        transition-delay: 1.9s
    }

    .menuActive header .menuWrap ul li:nth-child(15) {
        transition-delay: 2s
    }
}

.topNavWrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10vw;
    padding: var(--mP);
    position: sticky;
    top: 0;
    z-index: 25
}

.topNavWrap:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--bg);
    z-index: -1
}

@media only screen and (min-width: 64.0625rem) {
    .topNavWrap:after {
        border-start-start-radius: 1.5rem
    }
}

@media only screen and (min-width: 64.0625rem) {
    .topNavWrap:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 3rem;
        aspect-ratio: 1;
        background: var(--brandColor);
        z-index: -2
    }

    [dir=rtl] .topNavWrap:before {
        left: auto;
        right: 0
    }
}

@media only screen and (max-width: 64rem) {
    .topNavWrap {
        gap: 4rem
    }
}

@media only screen and (max-width: 61.25rem) {
    .topNavWrap {
        gap: 2rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .topNavWrap {
        gap: .3rem
    }
}

.sToolWrap {
    flex: 1;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .8rem
}

@media only screen and (max-width: 64rem) {
    .sToolWrap {
        gap: .3rem
    }
}

.sToolWrap .searchBox {
    flex: 1
}

.loginInfoWrap {
    display: flex;
    align-items: center;
    gap: .8rem;
    font-size: calc(26 / var(--gfs) * 1rem)
}

.loginInfoWrap .name {
    max-width: 200px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis
}

@media only screen and (max-width: 47.9375rem) {
    .loginInfoWrap .name {
        display: none
    }
}

.loginInfoWrap .avImg {
    --s: 3.6rem;
    width: var(--s);
    aspect-ratio: 1;
    position: relative
}

@media only screen and (max-width: 64rem) {
    .loginInfoWrap .avImg {
        --s: 3rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    .loginInfoWrap .avImg {
        --s: 2.5rem
    }
}

@media (hover: hover) and (pointer: fine) {
    .loginInfoWrap .avImg:hover img {
        transform: scale(1.1)
    }
}

.loginInfoWrap .avImg picture {
    border-radius: 50%;
    overflow: clip
}

.loginInfoWrap .avImg img {
    transition: all .4s var(--ease)
}

.loginInfoWrap [data-status] {
    position: relative
}

.loginInfoWrap [data-status]:after {
    content: "";
    position: absolute;
    width: 13px;
    aspect-ratio: 1;
    background: var(--brandGray);
    top: calc(15% - 2px);
    border-radius: 50%;
    border: 2px solid var(--bg);
    right: calc(15% - 2px);
    transform: translate(50%) translateY(-50%)
}

[dir=rtl] .loginInfoWrap [data-status]:after {
    right: auto;
    left: calc(15% - 2px)
}

[dir=rtl] .loginInfoWrap [data-status]:after {
    transform: translate(-50%) translateY(-50%)
}

.loginInfoWrap [data-status=online]:after {
    background: var(--brandGreen)
}

.loginInfoWrap [data-status=offline]:after {
    background: var(--brandRed)
}

.avatarDrop {
    display: flex;
    min-width: 180px
}

.avatarDrop.sm {
    min-width: inherit
}

@media only screen and (max-width: 47.9375rem) {
    .avatarDrop {
        min-width: inherit
    }
}

.avatarDrop ul {
    width: 100%;
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem
}

.avatarDrop .link {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: calc(26 / var(--gfs) * 1rem);
    font-weight: 400;
    transition: all .4s var(--ease)
}

@media only screen and (max-width: 47.9375rem) {
    .avatarDrop .link {
        font-size: calc(24 / var(--gfs) * 1rem)
    }
}

.avatarDrop .link.edit .iconBox:before {
    background: var(--brandGreen)
}

@media (hover: hover) and (pointer: fine) {
    .avatarDrop .link.edit:hover {
        color: var(--brandGreen)
    }
}

.avatarDrop .link.delete .iconBox:before {
    background: var(--brandRed)
}

@media (hover: hover) and (pointer: fine) {
    .avatarDrop .link.delete:hover {
        color: var(--brandRed)
    }
}

.avatarDrop .link.active {
    color: var(--brandColor)
}

.avatarDrop .link.active .iconBox {
    color: var(--white)
}

.avatarDrop .link.active .iconBox:before {
    opacity: 1;
    transform: scale(1.3)
}

.avatarDrop .link.active .iconBox svg,
.avatarDrop .link.active .iconBox img {
    transform: scale(.8)
}

@media (hover: hover) and (pointer: fine) {
    .avatarDrop .link:hover {
        color: var(--brandColor)
    }

    .avatarDrop .link:hover .iconBox {
        color: var(--white)
    }

    .avatarDrop .link:hover .iconBox:before {
        opacity: 1;
        transform: scale(1.3)
    }

    .avatarDrop .link:hover .iconBox svg,
    .avatarDrop .link:hover .iconBox img {
        transform: scale(.8)
    }
}

.avatarDrop .link .iconBox {
    color: var(--brandColor);
    width: 21px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    aspect-ratio: 1
}

@media only screen and (max-width: 47.9375rem) {
    .avatarDrop .link .iconBox {
        width: 18px
    }
}

.avatarDrop .link .iconBox:before {
    content: "";
    position: absolute;
    background: var(--brandColor);
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: 50%;
    transform: scale(.5);
    opacity: 0;
    transition: all .3s var(--ease)
}

.avatarDrop .link .iconBox svg,
.avatarDrop .link .iconBox img {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    transition: all .3s var(--ease)
}

footer {
    position: relative;
    display: block;
    width: 100%;
    z-index: 15;
    background: var(--white);
    overflow: hidden;
    padding-block: 4rem 1rem;
    border-top: 1px solid hsla(from var(--black) h s l/.1)
}

@media only screen and (max-width: 47.9375rem) {
    footer {
        padding-top: 3rem
    }
}

footer .container {
    display: flex;
    flex-wrap: wrap;
    gap: 4rem
}

@media only screen and (max-width: 64rem) {
    footer .container {
        gap: .8rem
    }
}

footer .container:has(.newsletterWrap) {
    display: grid;
    gap: 2rem 4rem;
    grid-template-columns: 1fr auto 1fr
}

@media only screen and (max-width: 64rem) {
    footer .container:has(.newsletterWrap) {
        grid-template-columns: auto 1fr
    }
}

@media only screen and (max-width: 47.9375rem) {
    footer .container:has(.newsletterWrap) {
        grid-template-columns: 100%
    }
}

footer .container:has(.copyWrite) {
    margin-top: 4rem;
    padding-top: 1.5rem;
    border-top: 1px solid hsla(from var(--black) h s l/.1)
}

footer .container:has(.copyWrite)>* {
    flex: 1
}

@media only screen and (max-width: 47.9375rem) {
    footer .container:has(.copyWrite)>* {
        flex: inherit
    }
}

@media only screen and (max-width: 64rem) {
    footer .container:has(.copyWrite) {
        margin-top: 3rem
    }
}

@media only screen and (max-width: 47.9375rem) {
    footer .container:has(.copyWrite) {
        margin-top: 2rem;
        text-align: center;
        justify-content: center
    }
}

footer .fBox .footerLinks {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, 1fr)
}

@media only screen and (max-width: 47.9375rem) {
    footer .fBox .footerLinks {
        gap: .5rem
    }
}

footer .fBox:has(.socialWrap) {
    justify-self: end
}

@media only screen and (max-width: 47.9375rem) {
    footer .fBox:has(.socialWrap) {
        justify-self: start
    }
}

footer .fBox:has(.socialWrap) .title {
    margin-bottom: .8rem
}

@media only screen and (max-width: 64rem) {
    footer .fBox {
        order: 2
    }
}

@media only screen and (max-width: 64rem) {
    footer .fBox:has(.newsletterWrap) {
        order: 1;
        grid-column: -1/1
    }
}

footer .title {
    font-weight: 600;
    font-size: calc(38 / var(--gfs) * 1rem);
    line-height: 120%;
    margin-bottom: 1.5rem
}

@media only screen and (min-width: 100rem) {
    footer .title {
        font-size: calc(40 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 61.25rem) {
    footer .title {
        font-size: calc(40 / var(--gfs) * 1rem)
    }
}

@media only screen and (max-width: 47.9375rem) {
    footer .title {
        font-size: calc(32 / var(--gfs) * 1rem);
        margin-bottom: 1rem
    }
}

footer .copyWrite {
    line-height: 140%;
    font-weight: 400;
    font-size: calc(26 / var(--gfs) * 1rem)
}

@media only screen and (max-width: 64rem) {
    footer .copyWrite {
        order: 3;
        text-align: center
    }
}

@media only screen and (max-width: 47.9375rem) {
    footer .copyWrite {
        font-size: calc(25 / var(--gfs) * 1rem)
    }
}

footer .footerLinks {
    display: flex;
    flex-wrap: wrap;
    justify-content: end;
    gap: 1.5rem
}

@media only screen and (min-width: 100rem) {
    footer .footerLinks {
        gap: 2rem
    }
}

@media only screen and (max-width: 64rem) {
    footer .footerLinks {
        justify-content: start
    }
}

footer .fItem {
    display: flex;
    align-items: center
}

footer .fItem .link {
    font-size: calc(28 / var(--gfs) * 1rem);
    line-height: 120%;
    font-weight: 500;
    position: relative;
    transition: all .4s var(--elastic);
    padding-bottom: .1rem;
    letter-spacing: .02rem;
    transition: color .4s var(--ease);
    opacity: .8
}

@media only screen and (max-width: 47.9375rem) {
    footer .fItem .link {
        font-size: calc(25 / var(--gfs) * 1rem)
    }
}

footer .fItem .link:after {
    content: "";
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: var(--white);
    transform: scaleX(0);
    transition: transform .4s var(--ease);
    transform-origin: right;
    left: 0
}

[dir=rtl] footer .fItem .link:after {
    transform-origin: left
}

[dir=rtl] footer .fItem .link:after {
    left: auto;
    right: 0
}

@media (hover: hover) and (pointer: fine) {
    footer .fItem .link:hover {
        opacity: 1
    }

    footer .fItem .link:hover:after {
        transform: scaleX(1);
        transform-origin: left
    }

    [dir=rtl] footer .fItem .link:hover:after {
        transform-origin: right
    }
}

footer .followBox {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: var(--gap)
}

@media only screen and (max-width: 64rem) {
    footer .followBox {
        justify-content: center;
        gap: .5rem
    }
}

footer .socialWrap ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: .4rem
}

footer .socialWrap .link {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .4s var(--ease);
    width: 38px;
    aspect-ratio: 1;
    position: relative;
    color: #4b4f58
}

footer .socialWrap .link:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--black);
    border-radius: .5rem;
    opacity: 0;
    transform: scale(.5);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    transition: all .4s var(--ease)
}

@media only screen and (max-width: 47.9375rem) {
    footer .socialWrap .link {
        width: 38px
    }
}

@media (hover: hover) and (pointer: fine) {
    footer .socialWrap .link:hover {
        color: var(--brandColor)
    }

    footer .socialWrap .link:hover:before {
        transform: scale(1);
        opacity: .1
    }

    footer .socialWrap .link:hover svg {
        opacity: 1
    }
}

footer .socialWrap .link svg {
    width: 60%;
    height: auto;
    aspect-ratio: 3/2.5;
    transition: all .4s var(--ease)
}

footer .newsletterWrap {
    min-width: 23rem
}

@media only screen and (min-width: 100rem) {
    footer .newsletterWrap {
        min-width: 25rem
    }
}

@media only screen and (max-width: 64rem) {
    footer .newsletterWrap {
        min-width: auto
    }
}

footer .newsletterWrap .form-v3 .input-field .iconBox {
    pointer-events: auto
}

.fullCalendar .fc-toolbar .fc-button {
    -moz-user-select: none !important;
    -webkit-user-select: none !important;
    background-color: transparent !important;
    border: 1px solid transparent !important;
    border-radius: .25em !important;
    display: inline-block !important;
    font-size: 1em !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    padding: .4em .65em !important;
    text-align: center !important;
    user-select: none !important;
    vertical-align: middle !important;
}