
/**from 400-900**/

.font-playfair {
   font-family: "Playfair Display", serif!important;
   font-optical-sizing: auto;
   font-weight: 700;
   font-style: normal;
}

.font-roboto {
    font-family: "Roboto", sans-serif!important;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}

:root {
    h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {font-family: "Playfair Display", serif;}
    --bs-font-sans-serif:"Roboto", sans-serif;
    --bs-border-radius: 0;
    --bs-border-radius-sm: 0;
    --bs-border-radius-lg: 0;
    --bs-border-radius-xl: 0;
    --bs-border-radius-xxl: 0;
    --bs-border-radius-2xl: var(--bs-border-radius-xxl);
    --bs-gray-500: #282829;
    --fa-family-sharp: "Font Awesome 7 Sharp";
    --fa-font-sharp-light: normal 300 1em / 1 var(--fa-family-sharp);
    --fa-style-family-sharp: var(--fa-family-sharp);
    --fa-family: var(--fa-family-sharp);
    --_fa-family: var(--fa-family, var(--fa-style-family-sharp, "Font Awesome 7 Pro"));

}
.ls-1 {letter-spacing: 0.125rem!important;}
.ls-2 {letter-spacing: 0.2rem!important;}
.ls-3 {letter-spacing: 0.25rem!important;}
.ls-4 {letter-spacing: 0.5rem!important;}
.navbar .dropdown-menu {border-radius:var(--bs-border-radius-sm);}

.navbar .dropdown .dropdown-toggle:after, .dropdown-toggle-split.dropdown-toggle::after {font-family:var(--fa-family)!important;font-size: 0.825rem;line-height: 1.25rem;}
.dropdown-toggle-split.dropdown-toggle::after {font-size: 0.725rem;}
.block--header .navbar-brand img, .offcanvas-header img {height:50px;}
.navbar-clone .navbar-brand img {height:50px;}



@media screen and (min-width: 568px){
    .block--header .navbar-brand img, .offcanvas-header img {height:50px;}
    .navbar-clone .navbar-brand img {height:50px;}
}

.navbar-dark .navbar-brand {
    filter: brightness(0) invert(1);
}

.navbar-dark.fixed.navbar-stick {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity));
    border-bottom: none;
}

.navbar .navbar-nav .nav-item .nav-link {font-size:1.5rem;color:var(--bs-black);}
/*.navbar.navbar-unstick .navbar-nav .nav-item .nav-link {font-weight:500!important;}
.navbar.navbar-stick .navbar-nav .nav-item .nav-link {font-weight:500!important;}*/

.btn.btn-bs-tertiary-color {background-color: var(--bs-tertiary-color)!important;border-color: var(--bs-tertiary-color)!important;}
.white-filter {filter: brightness(0) invert(1);}
.black-filter {filter: brightness(0);}

.cursor-pointer {cursor: pointer;}
.no-scroll {overflow: hidden;position: fixed;width: 100%;}

.navbar .navbar-toggler {border-radius:0;margin-left:auto;}


.hover-effect-scale {
    --nl-transition-duration: .35s;
    --nl-transform-scale: 1.06;
}
.ratio::before {
    display: block;
    padding-top: var(--nl-aspect-ratio);
    content: "";
}
.ratio {
    position: relative;
    width: 100%;
}

.ratio > * {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.hover-effect-scale .hover-effect-target {
    transition: transform var(--nl-transition-duration)
    ease-in-out;
}


[data-bs-theme=dark] .text-bg-dark {
    background-color: transparent!important;
}
[data-bs-theme=dark] .navbar .navbar-nav .nav-item .nav-link {
    --bs-black:#eee;
}

/**FORM FIELDS**/
.form-floating > textarea:not(.form-control-plaintext) {height:125px!important;}
.rsform-block-topic-description .form-floating > textarea {height:200px!important;}
.form-control {border-radius:4px;}
.form-control:focus {box-shadow: none;}
.form-check.form-check-inline {margin-right:5px;}
.form-check.form-check-inline + label {position:relative;top:-9px;}
.form-control-feedback {color:#db1436;font-size:0.825rem;}

.position-relative .password-group {position:absolute;right:0;top: 8px;}
.position-relative .password-group .input-password-toggle {background:transparent;border-color:transparent;}
#token-copy {display:none;}


meter {width:100%;border-radius:2px;}

joomla-tab {margin-bottom:20px;}
joomla-tab>joomla-tab-element {padding:20px 0 0;background:transparent;border-radius:0;border:none;}
joomla-tab[view=tabs]>div[role=tablist] {background:#fff;border-color:#fff;border-radius:0;}
joomla-tab button[role=tab] {box-shadow:none;text-transform:capitalize;border-radius:0;}

joomla-tab button[aria-expanded=true] {background-color:var(--bs-gray-100)!important;box-shadow:none!important;}
joomla-tab button[aria-expanded=true]:after {background-color:var(--bs-primary);}

.form-select {border-radius: 2px;}
.form-floating .editor.wf-editor-container + label {display:none;}
joomla-field-fancy-select .choices__inner {border: var(--bs-border-width) solid var(--bs-border-color);border-radius: 4px;}
joomla-field-fancy-select .choices.is-focused, .form-select:focus {box-shadow:none;}
joomla-field-fancy-select, .form-select {cursor:pointer;}

.hidden {display:none;}

joomla-field-media .field-media-preview {max-width:none!important;width:100%!important;}

joomla-dialog.joomla-dialog-media-field dialog, joomla-dialog dialog {border: none;width: 80%;height: 80vh;}
.field-media-wrapper {width: 100%;max-width: calc(50vw - 5rem);display: block;}
.acf-video-previewer-wrapper video {position:relative;}

.form-control.disabled.faux-control ~ label {color: #475569;}
.form-control.disabled.faux-control ~ label:after {background-color: var(--bs-input-disabled-bg);}

#fieldset-fields-1 .social-icon-form .form-floating, #fieldset-fields-1 .social-icon-form .form-floating + .mb-4 {margin-left:0.5rem;}

#fieldset-details .wf-media-upload-button {--bs-btn-color:#020617;color:var(--bs-btn-color)!important;cursor:pointer;}
#fieldset-details .wf-media-upload-button .icon-upload{--_fa-family: var(--fa-family, var(--fa-style-family, "Font Awesome 7 Pro"));
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: var(--fa-display, inline-block);
    font-family: var(--_fa-family);
    font-feature-settings: normal;
    font-style: normal;
    font-synthesis: none;
    font-variant: normal;
    font-weight: var(--fa-style, 900);
    line-height: 1;
    text-align: center;
    text-rendering: auto;
    width: var(--fa-width, 1.25em);}

#fieldset-details .wf-media-upload-button .icon-upload:before {--fa: "\f093";content: var(--fa) / "";--fa-style: 900;}

/**END FORM FIELDS**/
#modId210 .module-title-col .section__title--box:before {
    content: "Blog";
    display: block;
    position: relative;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing:0.5px;
    margin-bottom: 0.5rem;
    font-size:0.725rem;
}
#collapseCoreProfile .form-group[data-field_type="Tag"] .form-floating label, #collapseCoreProfile .form-group[data-field_type="CategoryEdit"] .form-floating label {color: rgba(var(--bs-body-color-rgb), 0.65);transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);}
#collapseCoreProfile .form-group[data-field_type="Tag"] .form-floating .choices[data-type*=select-multiple] .choices__input, #collapseCoreProfile .form-group[data-field_type="CategoryEdit"] .form-floating .choices__list.choices__list--single{padding:0;}

.mod-ultimatecontacts .card-body .avatar-xxl, .com-contact-category__items .card-body .avatar-xxl {width: 100%!important;height: auto!important;border-radius: 0 !important;}
.btn-scroll-top:after {font-family: var(--fa-family) !important;}

.animate-underline.animate-target, .animate-underline .animate-target {
    position: relative;
    text-decoration: none;
}
.animate-underline.animate-target::after, .animate-underline .animate-target::after {
    --nl-underline-thickness: 1px;
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    height: var(--nl-underline-thickness);
    content: "";
    background-color: currentcolor;
    transform: scaleX(0);
    transform-origin: right bottom;
    transition: transform 0.3s ease-out;
}
.animate-underline:hover.animate-target::after, .animate-underline:hover .animate-target::after, .animate-underline.show.animate-target::after, .animate-underline.show .animate-target::after, .animate-underline.active.animate-target::after, .animate-underline.active .animate-target::after, .animate-underline:focus-visible.animate-target::after, .animate-underline:focus-visible .animate-target::after {
    transform: scaleX(1);
    transform-origin: left bottom;
}
/**COLORS**/


.spinner-lg {width:3rem;height:3rem;}
.spinner-xl {width:4rem;height:4rem;}
.spinner-xxl {width:5rem;height:5rem;}
.spinner-grow-speed-1 {animation: spinner-grow 0.75s linear infinite;}
.spinner-grow-speed-2 {animation: spinner-grow 1s linear infinite;}
.spinner-grow-speed-3 {animation: spinner-grow 1.5s linear infinite;}
.spinner-grow-speed-4 {animation: spinner-grow 2s linear infinite;}

.spinner-border-speed-1 {animation: spinner-border 0.5s linear infinite;}
.spinner-border-speed-2 {animation: spinner-border 1s linear infinite;}
.spinner-border-speed-3 {animation: spinner-border 1.5s linear infinite;}
.spinner-border-speed-4 {animation: spinner-border 2s linear infinite;}
/**END COLORS**/

.nav-account .nav-item .nav-link {border-radius:0;}

.card {border-radius: 0.25rem;}

.block--latest_item + .block--latest_item {padding-top:10px;}
.block--latest_item + .block--latest_item:before {content:"";display:block;position:relative;width:100%;height:1px;background:#e2e8f0;top:-15px;}

.block--support_item img {max-height:200px;width:auto;}

.download--icon img {width:60px;height:60px;}

.blockquote:before {content: "\f10d";font-family: "Font Awesome 6 Pro";-moz-osx-font-smoothing: grayscale;-webkit-font-smoothing: antialiased;font-style: normal;font-variant: normal;line-height: 1;text-rendering: auto;font-weight:900;}

.navbar-transparent .btn-link {color: #fff;}
.navbar-light.navbar-clone .btn-link {color: var(--bs-heading-color);}

.max-height-100 {max-height:100px!important;}
.max-height-125 {max-height:125px!important;}
.max-height-300 {max-height:300px;width:auto;}
.max-height-400 {max-height:400px;width:auto;}

.ht-100 {height:100%!important;}

.min-height-100 {min-height:100px;}
.min-height-200 {min-height:200px;}
.min-height-300 {min-height:300px;}
.min-height-400 {min-height:400px;}
.min-height-450 {min-height:450px;}
.min-height-500 {min-height:500px;}


.height-24 {height:24px!important;}
.height-32 {height:32px!important;}
.height-40 {height:40px!important;}
.height-48 {height:48px!important;}
.height-60 {height:60px!important;}
.height-70 {height:70px!important;}
.height-80 {height:80px!important;}
.height-90 {height:90px!important;}
.height-100 {height:100px!important;}
.height-125 {height:125px!important;}
.height-150 {height:150px!important;}
.height-200 {height:200px;width:auto;}
.height-300 {height:300px;width:auto;}
.height-400 {height:400px;width:auto;}

.width-24 {width:24px!important;}
.width-32 {width:32px!important;}
.width-40 {width:40px!important;}
.width-48 {width:48px!important;}
.width-60 {width:60px!important;}
.width-70 {width:70px!important;}
.width-80 {width:80px!important;}
.width-90 {width:90px!important;}
.width-100 {width:100px!important;}
.width-125 {width:125px!important;}
.width-150 {width:150px!important;}
.width-200 {width:200px;}
.width-300 {width:300px;}
.width-400 {width:400px;}
.width-500 {width:500px;}

.max-width-600 {max-width:600px;}
.max-width-700 {max-width:700px;}
.max-width-800 {max-width:800px;}

.font-10 {font-size:10px;}
.font-11 {font-size:11px;}
.font-12 {font-size:12px;}

.session-page .position-lg-absolute.video-box {margin-top:-70px;transform: translate(-50%);}
.session-page .position-lg-absolute.block-full-video.video-box {}

.icon-link-hover-left:hover i {transform: translate3d(-0.25em, 0, 0)!important;}

.block--latest_items .block--latest_item.active {display:none;}

.com-content-article__body img {max-width:100%;height: auto;}
.partner--item + .partner--item:after {content:"";display:block;position:absolute;top:-30px;left:0;width:100%;height:1px;background:var(--bs-border-color);}

.com-content-category__children .card-hover:hover {box-shadow:none!important;}

.filterCompany {min-height:42px;}

#system-message-container .alert {border-radius:0!important;}
.offcanvas .form-floating > .form-control:not(:placeholder-shown) ~ label::after {background:transparent!important;}
@media screen and (min-width: 768px){
    .offcanvas.offcanvas-end {--bs-offcanvas-width: 460px;padding-left: 15px;padding-right: 15px;}
}

.logo-slate {
    filter: brightness(0.4) sepia(1) hue-rotate(180deg) saturate(0.6);
    /*filter: invert(27%) sepia(8%) saturate(1057%) hue-rotate(169deg) brightness(95%) contrast(88%);*/
}
.underline-effect {
    text-decoration: none;
    background-image: linear-gradient(currentColor, currentColor);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 2px;
    transition: background-size .3s;
}
.underline-effect:hover {
    text-decoration: none;
    background-image: linear-gradient(currentColor, currentColor);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 2px;
    transition: background-size .3s;
    background-size: 100% 2px;
}

/** Sticky Sidebar **/
.block--sidebar {position:relative;}
.sidebar-content.sticky--sidebar {position: sticky;top:100px;}
/** End Sticky Sidebar **/

[data-bs-theme=light]
{
/*    --bs-light:#CCD1DF;
    --bs-light-rgb: 204, 209, 223;*/
    --bs-input-disabled-bg: var(--bs-gray-100);
}

[data-bs-theme=dark]
{
    --bs-body-color: #ccc;
    --bs-newline-link-color: var(--bs-primary);
    --bs-newline-link-hover-color: var(--bs-primary-text-emphasis);
}

.footer-logo-img.img-fluid {max-width:200px;}

.text-bg-platinum {background:#E5E4E2!important;color:#000!important;}
.text-bg-gold {background:#FFD700!important;/*color:#000!important;*/}
.text-bg-silver {background:#C0C0C0!important;/*color:#000!important;*/}

.text-gray-700 {color:var(--bs-gray-700); }

.navbar-dark .navbar-nav .nav-link, .navbar-dark .btn-icon, .navbar-dark .j2c-cart-toggle {color: #fff !important;}
.navbar:not(.navbar-dark) .j2c-cart-toggle {color: var(--bs-btn-color);}
.navbar-light .navbar-nav .nav-item .nav-link {color: var(--bs-heading-color);}
.choices__list--multiple .choices__item {background-color:var(--bs-primary);}
.choices__list--multiple .choices__item.is-highlighted {background-color:var(--bs-primary);opacity:.9}

.hero-video-overlay {background: rgba(0, 0, 0, 0.65);}
.text-white-75 {--bs-text-opacity: 1;color: rgba(255, 255, 255, 0.75) !important;}
.form-group[data-field_type="MediaJce"] > label {
    display: none;
}

.footer-social-media .btn-icon {
    background-color: var(--bs-body-bg);
}




.j2commerce-count-input.count-input {background-color: #fff; border: 1px solid #cad0d9;border-radius: 0.375rem;display: inline-flex;overflow: hidden;transform: translateZ(0);}
.j2commerce-count-input.count-input .btn {border: 0;border-radius: 0;}
.j2commerce-count-input.count-input .btn.btn-lg span:before {line-height: 3rem;}
.j2commerce-count-input.count-input .btn:not(.btn-primary) {--bs-btn-hover-color: #181d25;--bs-btn-hover-bg: #eef1f6;--bs-btn-active-bg:#eef1f6;}
.j2commerce-count-input.count-input .form-control {-moz-appearance: textfield;-webkit-appearance: textfield;appearance: textfield;background-color: transparent;border: 0;border-radius: 0;font-weight: 500;padding: 0 .25rem;text-align: center;width: 2.5rem;}
.j2commerce-count-input.count-input .btn-group-lg>.btn+.form-control, .j2commerce-count-input.count-input .btn-lg+.form-control {width: 3rem;text-align:center;}
.j2commerce-count-input .btn-icon.btn-lg {--bs-btn-size: 3rem;}

.j2commerce-count-input .btn-next.btn-icon:hover,.j2commerce-count-input .btn-prev.btn-icon:hover {--bs-btn-hover-color: #181d25;}
.border-dashed {--bs-border-style: dashed;}
.text-dark-emphasis {--bs-dark-text-emphasis:#181d25;}


[data-bs-theme=dark] .black-filter {filter: brightness(0) invert(1);}
[data-bs-theme=dark] footer .text-reset:not(.btn) {color:#fff!important;}
[data-bs-theme=dark] footer .text-reset:hover {color: var(--bs-primary) !important;}
[data-bs-theme=dark] .btn-scroll-top:after, [data-bs-theme=dark] .line-pattern.bg-primary-gradient .text-white, [data-bs-theme=dark] .icon-link:not(.btn) {color:#fff !important;}

[data-bs-theme=dark] a:not(.btn) {color:var(--bs-newline-link-color);}
[data-bs-theme=dark] a:hover {color:#fff;}
[data-bs-theme=dark] .text-gray-700, [data-bs-theme=dark] .countdown-circle .countdown-title {color:#eee;}
[data-bs-theme=dark] .btn-outline-white {--bs-btn-color: #fff;}
[data-bs-theme=dark] .btn-outline-primary {color:#fff!important;}
[data-bs-theme=dark] .pattern-square.custom-pattern-square:after {display: none;}
[data-bs-theme=dark] .breadcrumb {--bs-breadcrumb-item-active-color: #ddd;}
[data-bs-theme=dark] .nav-line-bottom .nav-item .nav-link {color: #ddd;}
[data-bs-theme=dark] .nav-line-bottom .nav-item .nav-link:hover {color: #fff;}
[data-bs-theme=dark] .text-primary {color: var(--bs-newline-link-color)!important;}
[data-bs-theme=dark] .nav-line-bottom .nav-item .nav-link.active, [data-bs-theme=dark] .nav-line-bottom .nav-item .nav-link:hover {color: #fff!important;border-bottom-color:var(--bs-newline-link-color);}
[data-bs-theme=dark] .text-reset:hover {color: var(--bs-newline-link-color)!important;}
[data-bs-theme=dark] .btn-link {--bs-btn-color: var(--bs-newline-link-color);}


:root {
    --hue: 214;
    --template-bg-light: #f0f4fb;
    --template-text-dark: #495057;
    --template-text-light: #ffffff;
    --template-bg-dark-20: hsl(var(--hue), 40%, 80%);
    --options-form-color: var(--template-text-dark);
    --options-form-bg: unset;
    --options-form-border: 1px solid var(--template-bg-dark-20);
    --options-form-legend-color: var(--template-text-dark);
    --options-form-legend-bg: inherit;
    --bs-dark-rgb: 51,65,85;
    --bs-bg-gray-700: #334155;


    --bs-text-opacity: ;
    --bs-purple: #8b3dff;
    --bs-purple-rgb: 139, 61, 255;
    --bs-purple-bg-subtle: #e8d8ff;
    --bs-purple-text-emphasis: #381866;
}

.bg-blue-gradient {
    background: linear-gradient(180deg, var(--bs-bg-blue), var(--bs-blue-text-emphasis) 47.92%, var(--bs-bg-blue));
}

.text-blue {color: var(--bs-blue);}
.btn.btn-white:hover {
    color: var(--bs-primary);
    background-color: #f1f5f9;
    border-color: #f1f5f9;
}
.bg-blue {--bs-bg-opacity: 1;background-color: rgba(var(--bs-blue-rgb), var(--bs-bg-opacity));}
.bg-purple {--bs-bg-opacity: 1;background-color: rgba(var(--bs-purple-rgb), var(--bs-bg-opacity));}
.text-purple {--bs-text-opacity: 1;color:rgba(var(--bs-purple-rgb), var(--bs-text-opacity));}

.bg-opacity-10 {
    --bs-bg-opacity: 0.1;
}
.bg-opacity-20 {
    --bs-bg-opacity: 0.2;
}
.alert-info {
    --bs-info-text-emphasis: #052c65;
    --bs-info-bg-subtle: #cfe2ff;
    --bs-info-border-subtle: #9ec5fe;

    --bs-alert-color: var(--bs-info-text-emphasis);
    --bs-alert-bg: var(--bs-info-bg-subtle);
    --bs-alert-border-color: var(--bs-info-border-subtle);
    --bs-alert-link-color: var(--bs-info-text-emphasis);
}

.form-group[data-field_type="File"] {
    font-size: 0.8rem;
}

.form-group[data-field_type="File"] > .form-control {
    font-size: 0.8rem;
}

.form-group[data-field_type="File"] > label {
    font-size: 1rem;
    color: rgba(var(--bs-body-color-rgb), 0.65);
    transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
    transform-origin: 0 0;
}

.options-form {
    width: 100%;
    color: var(--options-form-color);
    margin-bottom: 1rem;
    background: var(--options-form-bg);
    border: var(--options-form-border);
    padding: 1vw 2vw;
}
.options-form > legend {
    float: none;
    width: auto;
    color: var(--bs-heading-color);
    background-color: var(--options-form-legend-bg);
    font-weight: 500;
    padding: 0 1rem;
    font-size: 1rem;
    font-family:"Cinzel", serif;
    text-transform:uppercase;
}

.sidebar-content .options-form {
    position:relative;
    padding: 2rem 1rem 1rem;
}

.sidebar-content .options-form > legend {
    --options-form-legend-bg:#fff;
    position: absolute;
    top: -12px;
    background-color: var(--options-form-legend-bg);
}


.header-opacity {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    display: block;
    z-index: 0;
}

.btn-dark {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--bs-gray-600);
    --bs-btn-border-color: var(--bs-gray-600);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #333a4a;
    --bs-btn-hover-border-color: #272e3f;
    --bs-btn-focus-shadow-rgb: 51, 58, 74;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #3f4555;
    --bs-btn-active-border-color: #272e3f;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(2, 6, 23, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--bs-gray-600);
    --bs-btn-disabled-border-color: var(--bs-gray-600);
}


.no-container > .row {--bs-gutter-x: 0;}
.no-container > .row > .col-lg-12 {padding-left: 0;padding-right: 0;}
.bg-dark {background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;}
.icon-link-hover > .hover-icon {transition: 0.2s ease-in-out transform;}
.icon-link-hover:hover > .hover-icon, .icon-link-hover:focus-visible > .hover-icon {transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));}


.com-content__filter #filter-search {max-width:250px;}

.press-item .list-edit {position:relative;top:-2px;}


.fs-xs {font-size: 0.875rem !important;}
    /**PAGINATION**/
.page-item {margin-left:0.125rem;margin-right:0.125rem;}
.page-item .page-link {border-color:transparent;}
.page-item .page-link:hover {border-color: #ebebed;background-color:transparent;}

.page-item.active .page-link {border-color:var(--bs-bg-gray-700);color:var(--bs-bg-gray-700);background-color:transparent;}
.page-item .page-link.disabled, .page-item.disabled > .page-link {border-color:transparent;color:var(--bs-gray-600);background-color:transparent;opacity:0;}
.page-item .page-link:focus {box-shadow:none;}


.page-item .page-link.page-link-arrow {display:none;}
[data-bs-theme=dark] .page-item .page-link {}

@media screen and (min-width: 992px){
    .page-item {margin-left:0.5rem;margin-right:0.5rem;}
    .page-item .page-link.page-link-arrow {display:inline-block;}
    .page-item {margin-left:0.25rem;margin-right:0.25rem;}
}
/**END PAGINATION**/

/* -------------------------
   Customizable variables
--------------------------*/
.stellan-intro {
    --bg: #0b0f14;           /* page background behind the animation */
    --fg: #ffffff;           /* line, dot, and wordmark color */
    --line-h: 2px;           /* line height */
    --stage-h: 50px;

    /* timings */
    --t-lines: 1.25s;        /* time for lines to meet center */
    --t-dot: 0.6s;           /* dot pop duration */
    --t-morph-gap: 0.18s;    /* pause between dot pop and text reveal */
    --t-text: 0.8s;          /* wordmark reveal duration */

    /* dot + glow */
    --dot-size: 18px;                      /* circle size */
    --glow-scale: 1.4;                     /* how far the glow extends */
    --glow-strong: rgba(255,255,255,0.40); /* center glow */
    --glow-soft:   rgba(255,255,255,0.15); /* mid glow */

    /* easing */
    --ease-linear: linear;
    --ease-smooth: cubic-bezier(.2,.7,.2,1);
    --ease-snap: cubic-bezier(.1,1,.2,1);

    background: var(--bg);
    display: grid;
    place-items: center;
    padding: 0;              /* full-bleed */
    overflow: hidden;
}

/* Stage: full viewport width so lines originate at screen edges */
.se-stage {
    position: relative;
    inline-size: 100vw;
    block-size: var(--stage-h);
    display: grid;
    place-items: center;
    isolation: isolate;
}

/* Baseline positions (no transforms here to avoid conflicts) */
.se-line,
.se-dot {
    position: absolute;
    inset-block-start: 50%;
    background: var(--fg);
}

/* Lines */
.se-line {
    transform: translateY(-50%);
    block-size: var(--line-h);
    inline-size: 0;          /* start collapsed */
    opacity: 1;
    z-index: 1;
}

/* Left line grows from left edge toward center */
.se-line--left {
    inset-inline-start: 0;
    transform-origin: left center;
    animation: se-grow-left var(--t-lines) var(--ease-linear) forwards;
}

/* Right line grows from right edge toward center */
.se-line--right {
    inset-inline-end: 0;
    transform-origin: right center;
    animation: se-grow-right var(--t-lines) var(--ease-linear) forwards;
}

/* Center dot that appears ONLY when lines meet */
.se-dot {
    inline-size: var(--dot-size);
    block-size: var(--dot-size);
    border-radius: 999px;
    inset-inline-start: 50%;
    transform: translate(-50%, -50%);
    opacity: 0; /* hidden at start */
    z-index: 2;

    /* Pop in after lines meet, then fade as text reveals */
    animation:
        se-dot-pop var(--t-dot) var(--ease-snap) forwards var(--t-lines),
        se-dot-fade var(--t-text) var(--ease-smooth) forwards calc(var(--t-lines) + var(--t-dot) + var(--t-morph-gap));
    will-change: transform, opacity;
}

/* Radial glow around the dot, synced with the dot animations */
.se-dot::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    inline-size: 100%;
    block-size: 100%;
    transform: translate(-50%, -50%) scale(.6); /* start small */
    pointer-events: none;
    border-radius: 50%;
    opacity: 0;
    background: radial-gradient(circle,
    var(--glow-strong) 0%,
    var(--glow-strong) 25%,
    var(--glow-soft)   55%,
    transparent        80%);
    animation:
        se-glow-in var(--t-dot) var(--ease-snap) forwards var(--t-lines),
        se-glow-fade var(--t-text) var(--ease-smooth) forwards calc(var(--t-lines) + var(--t-dot) + var(--t-morph-gap));
    will-change: transform, opacity, filter;
}

/* Wordmark: appears centered; masks 30px gap on both sides */
.se-wordmark {
    position: absolute;

    /* center the element box itself */
    inset-inline-start: 50%;
    inset-block-start: 50%;
    transform: translate(-50%, -50%) scale(.96);

    display: inline-block;
    margin: 0;
    padding-inline: 30px;     /* <-- 30px clear on left & right */
    background: var(--bg);    /* hides the line directly behind the text */
    line-height: 1.05;

    color: var(--fg);
    font-family: "Cinzel", serif;
    font-weight: 400;
    text-transform: uppercase;
    font-size: clamp(14px, 6vw, 28px);
    letter-spacing: 0;

    opacity: 0;
    filter: blur(8px);

    z-index: 3;
    animation: se-word-in var(--t-text) var(--ease-smooth) forwards calc(var(--t-lines) + var(--t-dot) + var(--t-morph-gap));
    will-change: transform, opacity, filter, letter-spacing;
}

/* -------------------------
   Keyframes
--------------------------*/

/* Grow each line to exactly half the stage width */
@keyframes se-grow-left {
    0%   { inline-size: 0; }
    100% { inline-size: 50%; }
}
@keyframes se-grow-right {
    0%   { inline-size: 0; }
    100% { inline-size: 50%; }
}

/* Dot pops into view at the center (starts hidden until delay finishes) */
@keyframes se-dot-pop {
    0%   { opacity: 0; transform: translate(-50%, -50%) scale(0); }
    60%  { opacity: 1; transform: translate(-50%, -50%) scale(2.1); } /* dramatic pop */
    100% { opacity: 1; transform: translate(-50%, -50%) scale(1.2); } /* settle slightly larger */
}

/* After text starts to appear, dot gently fades/shrinks away */
@keyframes se-dot-fade {
    0%   { opacity: 1; transform: translate(-50%, -50%) scale(1.2); }
    100% { opacity: 0; transform: translate(-50%, -50%) scale(0.6); }
}

/* Glow grows and brightens during the pop */
@keyframes se-glow-in {
    0%   { opacity: 0; transform: translate(-50%, -50%) scale(.6);   filter: blur(2px); }
    60%  { opacity: 1; transform: translate(-50%, -50%) scale(var(--glow-scale)); filter: blur(6px); }
    100% { opacity: 1; transform: translate(-50%, -50%) scale(var(--glow-scale)); filter: blur(8px); }
}

/* Glow fades as the wordmark reveals */
@keyframes se-glow-fade {
    0%   { opacity: 1; filter: blur(8px); }
    100% { opacity: 0; filter: blur(10px); }
}

/* Wordmark reveal: fade in, sharpen, and slightly scale up */
@keyframes se-word-in {
    0%   { opacity: 0; filter: blur(8px); transform: translate(-50%, -50%) scale(.96); letter-spacing: -0.12em; }
    60%  { opacity: .9; filter: blur(2px); transform: translate(-50%, -50%) scale(1.02); letter-spacing: -0.02em; }
    100% { opacity: 1; filter: blur(0); transform: translate(-50%, -50%) scale(1); letter-spacing: 0em; }
}

/* -------------------------
   Respect reduced motion
--------------------------*/
@media (prefers-reduced-motion: reduce) {
    .se-line--left,
    .se-line--right,
    .se-dot,
    .se-wordmark {
        animation: none !important;
    }
    .se-line--left,
    .se-line--right { inline-size: 50%; }
    .se-dot { opacity: 0; }
    .se-wordmark {
        opacity: 1;
        filter: none;
        transform: translate(-50%, -50%) scale(1);
    }
}



/**EKG LINE**/
.section-wrap { position: relative; }

.ekg {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% - 105px);
    display: flex;
    align-items: center;
    gap: 0;
    pointer-events: none;
}

.ekg .monitor {
    padding: 0;
    width: min(100%, 500px);
    flex: 0 0 auto;
}

.ekg .lead-in {
    position: relative;
    flex: 1 1 auto;
    height: 4px;
    bottom: -7px;
}
.ekg .lead-in::before {
    content: "";
    position: absolute;
    left: 0; top: 0;
    height: 3px;
    width: 0;
    background: rgb(var(--bs-primary-rgb));
    animation: ekg-lead 3s linear forwards;
}
@keyframes ekg-lead {
    to { width: 100%; }
}

.ekg svg {
    display: block;
    width: 100%;
    height: auto;
    position: relative;
    transform: scaleY(0.5);
    transform-origin: center;
    /*transition: transform 0.5s ease-in-out;*/
}

.ekg svg .ekg {
    fill: none;
    stroke: rgb(var(--bs-primary-rgb));
    stroke-width: 5;
    stroke-linecap: round;
    stroke-linejoin: miter;
    opacity: 1;
    stroke-dasharray: 1000;
    stroke-dashoffset: -1000;
    animation: ekg-draw 1.5s linear 3s forwards;
}

@keyframes ekg-draw {
    0%   { stroke-dashoffset: -1000; }
    100% { stroke-dashoffset: 0; }
}

/**END EKG LINE**/

/**BLOCK SERVICES**/

@media screen and (min-width: 1200px){
    body.block--services--page section.header-image {padding-top:7rem!important;padding-bottom:4rem!important;}
}
@media screen and (min-width: 1400px){
    body.block--services--page section.header-image {padding-top:9rem!important;padding-bottom:6rem!important;}
}


#homepageCategories .card-background {position:relative;background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(0, 0, 0, .85))) repeat-x;background: -webkit-linear-gradient(transparent, rgba(0, 0, 0, .85)) repeat-x;background: linear-gradient(transparent, rgba(0, 0, 0, .85)) repeat-x;transition: background .3s ease;}
#homepageCategories .card.bg-gray-200:hover .btn-outline-white {--bs-btn-color: #fff;--bs-btn-border-color:var(--bs-primary);--bs-btn-hover-bg:var(--bs-primary);--bs-btn-bg: var(--bs-primary);--bs-btn-hover-border-color:var(--bs-primary);--bs-btn-hover-color: #fff;}
#homepageCategories .card.bg-gray-200:hover .card-background {background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(0, 0, 0, .95))) repeat-x;background: -webkit-linear-gradient(transparent, rgba(0, 0, 0, .95)) repeat-x;background: linear-gradient(transparent, rgba(0, 0, 0, .95)) repeat-x;transition: background .3s ease;}

/**END BLOCK SERVICES**/

/**CLICKABLE MAP**/
.regional-map svg,
.regional-map img {
    width: 100%;
    height: 100%;
}

.state-name {
    fill: #fff;
    font-weight: 500;
    font-size: 1.1rem;
}
.state-name--inverse {
    fill: #212121;
}
.state-name--sm {
    font-size: 1rem;
}

.region, .region:focus, .region:hover {fill: var(--bs-blue);}
.state-trigger {
    fill: var(--bs-blue);
    text-decoration: none;
}

.state-trigger:focus,
.state-trigger:hover {
    fill: #e32416;
}
.state-trigger:not([href]):focus,
.state-trigger:not([href]):hover {
    fill: var(--bs-blue);
}

.region:focus,
.state-trigger:focus {
    outline: none;
}
.region--active,
.state-trigger--active {
    fill: #39bad6;
}
.region--active .state-name,
.state-trigger--active .state-name {
    fill: #212121;
}
.region--active:focus .state-name, .region--active:hover .state-name,
.state-trigger--active:focus .state-name,
.state-trigger--active:hover .state-name {
    fill: #fff;
}

.regional-map .region[data-state="MI"] .state-name {transform: translateY(30px);}
/**END CLICKABLE MAP**/


/***EDIT CONTENT**/
#adminForm .card.border-0.shadow-sm {box-shadow:none;}
joomla-tab button[role="tab"], joomla-tab button[role="tab"] {background:transparent!important;border-top-color: transparent!important;border-left-color: transparent!important;border-right-color: transparent!important;}
joomla-tab button[role="tab"][aria-expanded="true"], joomla-tab button[role="tab"][aria-selected="true"] {box-shadow: none;}

joomla-tab[view=tabs]>div[role=tablist] {border:none;}
joomla-tab button[aria-expanded="true"]:after, joomla-tab button[aria-selected="true"]:after {background-color: var(--bs-primary);}

/***END EDIT CONTENT**/

.nav-account .nav-item .nav-link.active {background-color: var(--bs-gray-600);}

figure .video-image-link {position: relative;display: inline-block;line-height: 0;}
figure .video-image-link img {display: block;width: 100%;height: auto;border-radius: inherit;}
figure .video-image-link:before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 90px;
    height: 90px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.55);
    box-shadow: 0 10px 24px rgba(0,0,0,.35), inset 0 0 0 2px rgba(255,255,255,.25);
    pointer-events: none;
    transition: background .2s ease, transform .2s ease;
    z-index: 1;
}

figure .video-image-link::after {
    content: "\f04b";
    font-family: "Font Awesome 7 Pro","Font Awesome 7 Free","Font Awesome 6 Pro", sans-serif;
    font-weight: 900;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-46%, -50%);
    font-size: 38px;
    color: #fff;
    text-shadow: 0 2px 8px rgba(0,0,0,.35);
    pointer-events: none;
    z-index: 2;
}

.video-image-link:hover::before,
.video-image-link:focus-visible::before {
    background: rgba(0, 0, 0, 0.7);
    transform: translate(-50%, -50%) scale(1.05);
    box-shadow: 0 10px 24px var(--bs-primary), inset 0 0 0 2px var(--bs-primary);
}

.video-image-link:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
    border-radius: inherit;
}


.video-image-link img {
    transition: transform .25s ease;
}
.video-image-link:hover img,
.video-image-link:focus-visible img {
    transform: scale(1.01);
}


/**ameripro old**/
.section-work__video {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    width: 100%;
    height: 100%;
    min-height: 386px;
    padding: 2rem;
    color: #fff;

    overflow: hidden;
}
.section-work__video-background {
    position: absolute;
    inset: 0;
}
.media-fit {
    width: 100%;
}

.section-work__video-link {
    position: absolute;
    z-index: 2;
    inset: 0;
    display: grid;
    place-items: center;
}

.btn-play {
    --btn-size: 19.6rem;
    display: inline-grid;
    place-items: center;
    width: var(--btn-size);
    height: var(--btn-size);
    padding: 2.3rem;
    border: 1px solid #fff;
    color: #fff;
    border-radius: 50%;
    -webkit-backdrop-filter: blur(2rem) brightness(1.2);
    backdrop-filter: blur(2rem) brightness(1.2);
    font-weight: 500;
    text-decoration: none;
    text-transform: uppercase;
}

.btn-play--small .btn-play__icon {
    position: relative;
    left: .2rem;
    top:5px;
    width: 3rem;
    aspect-ratio: 1 / 1;
    -o-object-fit: contain;
    object-fit: contain;
}

.section-work__video-content {
    position: relative;
}

.section-work__video-title {
    margin-bottom: 0;
    padding-bottom: .4rem;
    color: inherit;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (prefers-reduced-motion: no-preference) {
    .section-work__video-background {
        -webkit-transition-property: scale;
        transition-property: scale;
        -webkit-transition-duration: .4s;
        transition-duration: .4s;
        -webkit-transition-timing-function:ease;
        transition-timing-function:ease;
    }

    .btn-play {
        -webkit-transition-property: color, opacity, visibility;
        transition-property: color, opacity, visibility;
        -webkit-transition-duration: .4s;
        transition-duration: .4s;
        -webkit-transition-timing-function:
            ease;
        transition-timing-function:
            ease;
    }
}

.btn-play--small {
    --btn-size: 4rem;
    position:relative;
    display: grid;
    place-items: center;
    padding: 1rem;
    border: unset;
}

.btn-play__icon >  i {font-size:1.5rem;}

.animate-shake:hover .animate-target, .animate-shake:focus-visible .animate-target {
    animation: shake 0.8s;
}

.animate-shake {
   &:hover,
   &:focus-visible {
       .animate-target {
           animation: shake .8s;
       }
   }
}

@keyframes shake {
    0% {
        transform: scale3d(1, 1, 1);
    }
    20% {
        transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -5deg);
    }
    50%,
    70%,
    90% {
        transform: scale3d(1.25, 1.25, 1.25) rotate3d(0, 0, 1, 5deg);
    }
    60%,
    80% {
        transform: scale3d(1.25, 1.25, 1.25) rotate3d(0, 0, 1, -5deg);
    }
    100% {
        transform: scale3d(1, 1, 1);
    }
}
/**end ameripro old**/

.dashboard-menu > div {margin-bottom:10px;margin-top: 10px;}
.dashboard-menu > div > a:not(.menu--edit-link) {background-color: #fff;border-radius: 100px;box-sizing: border-box;display:block;text-align:center;color:var(--bs-primary);font-size: 16px;    width: 100%;transition: all 0.3s;height: 40px;line-height: 40px;padding: 0;position:relative;}
.dashboard-menu > div > a:not(.menu--edit-link):hover, dashboard-menu > div >  a:focus {transition: all 0.3s;background:var(--bs-primary);color:#fff;}
.dashboard-menu > div > a .menu--edit-link {position:absolute;z-index:2;width:30px;height:30px;}

.btn-dark, .btn-dark:hover, .btn-dark:focus, .btn-dark:active {color: #fff!important;transition: all .3s ease;}


.acym_module_form .onefield.form-floating > .form-control {height: calc(2.5rem + calc(var(--bs-border-width) * 2));min-height: calc(2.5rem + calc(var(--bs-border-width) * 2));line-height: 1;padding: 1rem 0.5rem 0.25rem;border-radius:0;}
.acym_module_form .onefield.form-floating > label {padding: 0.5rem 0.5rem;}
.acym_module_form .onefield.form-floating > label:after {height:0;}

@media screen and (max-width: 567px){
    .block-session-video.line-pattern {min-height: 0;background:transparent;}
}

@media screen and (min-width: 992px){
    .acym_module_form .onefield {width: 240px;}
}


.product-gallery .swiper-button-prev::after, .product-gallery .swiper-button-next::after {display:none;}
.product-gallery .swiper-button-prev::before, .product-gallery .swiper-button-next::before {display:none;}

.j2commerce-product-title {margin-bottom:1.5rem;}
h3.j2commerce-product-title {font-size:1rem!important;}

.j2commerce-product-title a {color: var(--bs-gray-600);}
.j2commerce-product-title a:hover, .j2commerce-product-title a:focus  {color: var(--bs-gray-800);}


/* Lock the product image container to a square */
.j2commerce-product-item .j2commerce-product-image {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Override img-fluid's height: auto — fit the image inside the square */
.j2commerce-product-item .j2commerce-product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
}
.product-gallery-main .swiper-slide img {
    object-fit: contain;
}
.zoom-img-wrap .j2commerce-product-main-image.zoom-img {height:auto;}
