#sp-header #sp-menu1>.sp-column {
    justify-content: flex-end;
}

@media screen and (min-width:992px) {
.offcanvs-position-left #offcanvas-toggler.offcanvas-toggler-right {display: none; visibility: hidden;}
}

#sp-menu1 {display: block !important;}
.offcanvas-menu .offcanvas-inner {padding-top: 80px;}

/*TEMP FIX TO HIDE THE STUBBORN ARTICLE WRAPPER*/
/*.view-article #sp-main-body .container .article-details .article-header-wrap {
    display: none;
}

.article-body-content {
    margin-top: 20px;
}*/
/**/

.sppb-icon .sppb-icon-container {
    /*color: #4c86ff !important;*/
    color: #9ca2b3 !important;
}


.acym_module_form {
    height: 60px;
    background: white;
    border-radius: 3px;
    padding: 1px 5px 0 0;
}

.acym_module_form .acym_form {
    width: 100%;
}

.acym_module_form .acysubbuttons button {
    margin: 2px 0 0 0;
    padding: 15px 30px;
    font-size: small;
}

.acym_module_form input {
    width: 100%;
    border: none !important;

}

.acym_module_form .onefield  {
    width: 100%;
}

.mod-login-logout button {
    font-size: 14px !important;
    font-weight: 300;
    letter-spacing: 0;
    padding: 0;
    background-color: rgba(166, 124, 0, 0);
    border-color: rgba(166, 124, 0, 0);
}

.mod-login-logout button:hover {
    background-color: rgba(166, 124, 0, 0);
    border-color: rgba(166, 124, 0, 0);
    color: #4c86ff;
}

.no_article_header .article-header-wrap {
    display: none;
}

.no_article_header .pagenavigation {
    display: none;
}

.no_article_header .article-info {
    display: none;
}
.no_article_header .article-body-wrap {
    padding-top: 70px !important;
}

.no_article_header .badge {
    background-color: #4c86ff;
}

.badge-pro {
    background-color: #4c86ff;
}

.pro-card {
    background-color: floralwhite;
}

.basic-card {
    background-color: #f4f4f4;
}

.user-menu {
    background-color: #335cb1 !important;
}

.price-check {
    color: green;
}

.price-pro-icons {
    color: #4c86ff;
}

#system-message-container {
    z-index: +1;
}

#compare-plans .col-pro,
#compare-plans td:nth-child(3) {
    font-weight: 600;
}


.sp-megamenu-parent>li>a, .sp-megamenu-parent>li>span {
    padding: 0 15px !important;
}

.jcontact .sppb-panel-heading {
    background-color: transparent !important;
}

.ddcontact #sp-main-body {
    padding: 100px 0 0 0 !important;
}

.com-contact h2 {
    display: none;
}

.com-contact legend {
    display: none;
}

.hero-feature-list>.sp-pagebuilder-addons, .hero-feature-list>.sppb-column-addons {
    max-width: 100% !important;
}

.hero-section:before {
    background: #020408 !important;
}

#sp-top-bar {
    background: rgb(2 16 38 / 80%) !important;
}

.com-contact .btn-primary, .sppb-btn-primary {
    border-color: #4c86ff;
    background-color: #4c86ff;
}

.com-contact .btn-primary:hover {
    border-color: #3f6bad;
    background-color: #3f6bad;
}


#column-id-4e2750c9-d836-45fa-ae52-51fc73959694 .sppb-feature-box-title {
    color: #9ca2b3 !important;
}


.offcanvas-menu {
    background-color: #252525;
    color: #F5F5F5;
}

.offcanvas-menu .offcanvas-inner .sp-module ul>li a, .offcanvas-menu .offcanvas-inner .sp-module ul>li span {
    color: #ffffff;
}

.offcanvas-menu .offcanvas-inner .sp-module ul>li.menu-parent>a>.menu-toggler, .offcanvas-menu .offcanvas-inner .sp-module ul>li.menu-parent>.menu-separator>.menu-toggler {
    color: rgba(245, 245, 245, 0.5);
}

.offcanvas-menu .offcanvas-inner .sp-module ul.menu>li>a:before, .offcanvas-menu .offcanvas-inner .sp-module ul.menu-child>li>a:before {
    background-color: #F5F5F5;
}

.offcanvas-menu .offcanvas-inner .sp-module ul>li.menu-parent>a>.menu-toggler:hover, .offcanvas-menu .offcanvas-inner .sp-module ul>li.menu-parent>a>.menu-toggler:focus, .offcanvas-menu .offcanvas-inner .sp-module ul>li.menu-parent>.menu-separator>.menu-toggler:hover, .offcanvas-menu .offcanvas-inner .sp-module ul>li.menu-parent>.menu-separator>.menu-toggler:focus {
    color: #F5F5F5;
}

.offcanvas-menu .offcanvas-inner .sp-module ul>li ul li a {
    color: rgba(245, 245, 245, 0.8);
}

.close-offcanvas {
    border: 1px solid #F5F5F5;
}

.close-offcanvas>span {
    color: #F5F5F5;
}

.logo-image-phone {
  padding: 12px 0;
  width: 260px;
}

/* Center each counter block content (keep number + title side-by-side) */
#section-id-9980e13d-9f31-4630-9ccf-f5450d9ceaec
.sppb-addon-animated-number.animated-number-position-left .sppb-addon-content{
  display: flex;
  justify-content: center;   /* centers the pair inside the column */
  align-items: center;
  gap: 14px;                 /* spacing between number and text */
  text-align: left;          /* keep title left-aligned internally */
}

/* Kill any float-based layout from the addon */
#section-id-9980e13d-9f31-4630-9ccf-f5450d9ceaec
.sppb-addon-animated-number.animated-number-position-left .sppb-animated-number{
  float: none !important;
  margin: 0 !important;
}

#section-id-9980e13d-9f31-4630-9ccf-f5450d9ceaec
.sppb-addon-animated-number.animated-number-position-left .sppb-animated-number-title{
  margin: 0 !important;
}

.sppb-animated-number-title {
  text-align: center;
}

.sppb-animated-number {
  font-size: 64px !important;
}

@media (max-width: 575.98px) {
    .addon-root-testimonialpro .sppb-item > img {
        width: 100% !important;
    }
    .dd-network {
      padding: 0 15px;
    }
}

.pagenavigation .pagination a.btn {
    color: rgba(63, 107, 173, 0.61);
}

.badge-addon-price {
    padding: 0.55em;
}

#sp-header #sp-logo>.sp-column {
    justify-content: left !important;
}

#jform_privacyconsent_privacy {
    text-align: left;
}


/* FIX joomla privacy modal */

/* Force proper centering for these views */
.com-users.view-registration #member-registration .modal.show,
.com-users.view-registration #member-profile .modal.show,
.com-users.view-profile #member-registration .modal.show,
.com-users.view-profile #member-profile .modal.show{
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 1rem; /* prevents edge clipping */
}

/* Make modal content flex so modal-body can grow */
.com-users.view-registration #member-registration .modal-content,
.com-users.view-registration #member-profile .modal-content,
.com-users.view-profile #member-registration .modal-content,
.com-users.view-profile #member-profile .modal-content{
    display: flex;
    flex-direction: column;
    max-height: 90vh; /* keeps it inside viewport */
}

/* Reset dialog behavior */
.com-users.view-registration #member-registration .modal-dialog,
.com-users.view-registration #member-profile .modal-dialog,
.com-users.view-profile #member-registration .modal-dialog,
.com-users.view-profile #member-profile .modal-dialog{
    margin: 0 !important;
    max-width: 1140px; /* optional */
    width: 100%;
}

/* Give the body a height so iframe can be 100% */
.com-users.view-registration .modal-body.jviewport-height70,
.com-users.view-profile .modal-body.jviewport-height70{
    flex: 1 1 auto;
    height: 50vh;   /* your intent */
    padding: 20px;  /* padding belongs here */
    overflow: hidden;
}

/* Make iframe fill the body */
.com-users.view-registration .modal-body.jviewport-height70 iframe,
.com-users.view-profile .modal-body.jviewport-height70 iframe{
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}


/* Hide only the username/password labels visually (keep them accessible) */
#form-login-username > label,
#form-login-password > label {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* 1) Make the label a positioning context */
.acym_form .onefield label.cell{
    position: relative;
    display: block;          /* easier to control */
    width: 100%;
    color: #606060;
}

/* 2) Style the input with extra top padding so text doesn't overlap the label */
.acym_form .onefield label.cell input{
    width: 100%;
    box-sizing: border-box;
    padding-top: 1.35rem;    /* space for the label inside */
    padding-bottom: .75rem;
}

/* 3) Place the label text (span) inside the input area */
.acym_form .onefield label.cell .acym__users__creation__fields__title{
    position: absolute;
    left: .75rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1rem;
    line-height: 1;
    pointer-events: none;    /* click goes to input */
    opacity: .8;
    transition: transform .15s ease, top .15s ease, font-size .15s ease, opacity .15s ease;
}

/* 4) Float it up when focused or when field has content */
.acym_form .onefield label.cell:focus-within .acym__users__creation__fields__title,
.acym_form .onefield label.cell:has(input:not(:placeholder-shown)) .acym__users__creation__fields__title,
.acym_form .onefield label.cell:has(input:not([value=""])) .acym__users__creation__fields__title{
    top: .55rem;
    transform: translateY(0);
    font-size: .8rem;
    opacity: .9;
}

.sp-megamenu-parent>li>a, .sp-megamenu-parent>li>span {
    color: rgb(234, 234, 234) !important;
}
#sp-header {
    background-color: #0b0f239e;
}