:root {
  --heading-color: #000000;
  --body-background-color: #f5f5f5;
  --primary-color-rgb: 0, 163, 224;       /* #00a3e0 */
  --primary-color-hover-rgb: 0, 122, 168; /* darker blue */
  --primary-color-hover: #007aa8;
  --card-background-color: #ffffff;
  --card-color: #333333;
  --card-title-color: #000000;
  --card-emphasis-color: #00a3e0;
  --card-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
  --card-border-radius: 6px;
  --input-border-color: #cccccc;
  --menu-item-link-background-color-hover: #eef7fb;
  --menu-item-active-link-background-color: #e9f5fc;
  --menu-item-active-color: #2697e2;
  --menu-item-color: #000000;
  --menu-app-brand-logo-url: url('https://irp.cdn-website.com/378fbabd/dms3rep/multi/TTC-nodes-TM-large-b292cf18.png');
  
  
  --button-primary-color: #ffffff;
  --button-primary-background-color: #2697e2;       /* normal */
  --button-primary-border-color: #2697e2;

  --button-primary-hover-color: #ffffff;
  --button-primary-hover-background-color: #007aa8; /* darker on hover */
  --button-primary-hover-border-color: #007aa8;
  
  
  --button-primary-outline-color-hover: #007aa8;
  
  --text-muted-color: #868e96;
  --transaction-history-posting-positive: #12b886;
  --input-border-color-focus: #12b886;
  
  --bs-progress-bar-bg: linear-gradient(to right, #4b95dc, #7964ff);
}

a.btn-primary,
.btn-primary {
  background-color: rgb(var(--primary-color-rgb)) !important;
  background-image: none !important;
  border-color: rgb(var(--primary-color-rgb)) !important;
  color: #fff !important;
  text-transform: uppercase;
}

a.btn-primary:hover,
.btn-primary:hover {
  background-color: rgb(var(--primary-color-hover-rgb, 0, 122, 168)) !important;
  color: #ffffff !important;
  border-color: rgb(var(--primary-color-hover-rgb, 0, 122, 168)) !important;
}


.user-portal .btn-primary:hover {
  color: var(--button-primary-hover-color) !important;
  background-color: var(--button-primary-hover-background-color) !important;
  border-color: var(--button-primary-hover-border-color) !important;
}



/* Apply your brand colors & font */
body, .portal-container {
  font-family: "Roboto", sans-serif !important;
  color: #333;
  background-color: #f5f5f5;
}

/* Links and buttons */
a, .btn {
  color: #00a3e0;
}
a:hover, .btn:hover {
  color: #00437a;
}

/* Headers */
h1, h2, h3, .channel__h1 {
  font-family: "Roboto", sans-serif;
  color: #00437a;
}

/* Navigation / Dashboard banners */
.brand-header, .banner-img {
  background-color: #00437a !important;
  background-image: none !important;
}

/* Widgets & panels */
div.part, .widget {
  border: 1px solid #ddd;
  background: #fff;
  border-radius: 4px;
  padding: 20px;
  margin-bottom: 20px;
}


/* Alternate row colors matching marketing tables */
table.table tr:nth-child(odd) {
  background-color: #fff;
}
table.table tr:nth-child(even) {
  background-color: #f9f9f9;
}
table.table th {
  background-color: #f0f0f0; /* Light neutral gray */
  color: #333333;            /* Standard dark text */
  font-weight: 500;
  padding: 12px 10px;
  text-align: left;
}

table.table td {
  border-color: #ddd;
}

table.table th, table.table td {
  border: 1px solid #ddd;
}



.btn-primary {
  background-color: #00a3e0;
  border-color: #00a3e0;
  color: #fff;
}
.btn-primary:hover {
  background-color: #00437a;
  border-color: #00437a;
}


.alert, .tip, .info, .warning {
  font-family: "Roboto", sans-serif;
  border-left-width: 4px;
}
.tip { background-color: #e6f7ff; border-color: #00a3e0; }
.info { background-color: #f0f5ff; border-color: #00437a; }
.warning { background-color: #fff4e5; border-color: #ff8c00; }


/* Add consistent spacing */
div.part.space-below { margin-bottom: 40px; }
div#portal-overview { padding: 20px; }


@media (max-width: 650px) {
  .brand-header, .banner-img {
    background-color: #00437a;
    background-image: none;
  }
  div.part { padding: 15px; }
}



a[href="https://docs.telecomtrustcenter.com/"] {
  display: inline-block;
  padding: 14px 28px;
  background-color: #00a3e0;
  color: #ffffff;
  font-weight: 600;
  font-size: 17px;
  font-family: "Roboto", sans-serif;
  border-radius: 8px;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: background-color 0.25s ease, transform 0.2s ease;
  animation: pulseGlow 2s infinite;
  text-align: center;
}

a[href="https://docs.telecomtrustcenter.com/"]:hover {
  background-color: #2697e2;
  transform: translateY(-2px);
  color: #ffffff !important;
  text-decoration: none;
}


@keyframes pulseGlow {
  0% { box-shadow: 0 0 0 0 rgba(0, 163, 224, 0.5); }
  70% { box-shadow: 0 0 0 10px rgba(0, 163, 224, 0); }
  100% { box-shadow: 0 0 0 0 rgba(0, 163, 224, 0); }
}


a[href="https://docs.telecomtrustcenter.com/"]::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3Csvg fill='white' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6zM14 3.5L20.5 10H15a1 1 0 01-1-1V3.5zM8 13h8v2H8v-2zm0 4h8v2H8v-2z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}


footer .delimiter,
footer .powered-by {
  display: none !important;
}

.modal-body ul.list-unstyled li:nth-child(4),
.modal-body ul.list-unstyled li:nth-child(5) {
  display: none !important;
}




.pricing-page .row.justify-content-center {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
}

/* Let cards take up to 1/3 width, but grow to fill space if fewer in row */
.pricing-page .col-md {
  flex: 1 1 calc(33.333% - 1rem); /* max 3 per row */
  max-width: calc(33.333% - 1rem);
  min-width: 280px; /* keeps cards readable at smaller widths */
}

/* Make last two cards in the row 50% wide if there are exactly 5 total */
.pricing-page .col-md:nth-last-child(-n+2):nth-child(n+4) {
  flex: 1 1 calc(50% - 1rem);
  max-width: calc(50% - 1rem);
}

/* On smaller screens, stack full width */
@media (max-width: 992px) {
  .pricing-page .col-md {
    flex: 1 1 100%;
    max-width: 100%;
  }
}


.menu-item {
  margin-bottom: 10px !important;
}

.btn {
    margin-left: 0 !important;
}

.btn-sm {
    margin-left: 0 !important;
}

.btn-primary {
    margin-left: 0 !important;
}

.progress-bar {
    background-color: #7964ff !important;
}

div.progress-bar.bg-primary {
  background-image: linear-gradient(to right, #4b95dc, #7964ff) !important;
  background-color: unset !important; /* optional: clears solid bg fallback */
  height: 24px;
}

.progress {
    height: 24px;
}

.text-success {
    color: #12b886 !important;
}

.subscription-list-container .card.icon-card {
  padding: 2rem !important; /* More space inside */

}

.subscription-list-container .justify-content-center {
    justify-content: left !important;
}

.container.pricing-page {
  margin-top: 0 !important;
  padding-left: 0 !important;
}

.subscription-list-container {
  max-width: calc(33.333%);
  min-width: 280px; /* keeps cards readable at smaller widths */
}

.divider-subscription-details {
  display: none !important;
}

.subscription-list-container .card.icon-card {
  background-image: url('https://irp.cdn-website.com/378fbabd/dms3rep/multi/plan_bg.png'); /* replace with your image URL */
  background-size: cover;
  background-position: center;
  color: white; /* makes text white */
}

.subscription-list-container .card.icon-card a,
.subscription-list-container .card.icon-card i,
.subscription-list-container .card.icon-card h5,
.subscription-list-container .card.icon-card small {
  color: white !important;
}

.divider .divider-text {
    font-size: 1.375rem;
    color: #000000;
}

.divider.divider-dotted .divider-text:before, .divider.divider-dotted .divider-text:after {
    border-width: 0;
}

.product-card {
    margin-left: 0px !important;
}

.text-uppercase {
    text-transform: none !important;
}

/* Hide the first list item inside the user dropdown menu */
.dropdown-user .dropdown-menu li:first-child {
  display: none !important;
}

.card.product-card .fs-small.text-muted.text-center {
  display: none !important;
}


.card {
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15) !important;
}

input[type="checkbox"]:checked {
  accent-color: #12b886 !important;
}

#customer_address_form_isBusiness {
  accent-color: #12b886 !important;
}




body {
  background-image: url('https://irp.cdn-website.com/378fbabd/dms3rep/multi/ttcapp_bg_soft2.png'); /* replace with your image URL */
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-attachment: fixed; /* keeps the background fixed while scrolling */
}



/* White overlay */
body::before {
  content: "";
  position: fixed;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.3); /* adjust 0.6 for more or less white */
  z-index: -1; /* keep it behind page content */
}




  .nav-tabs .nav-link.active {
    background-color: #eef7fb !important;
    border-color: #dee2e6 #dee2e6 #fff !important;
    color: #000 !important;
    font-weight: 500;
  }

  .nav-tabs .nav-link {
    background-color: #ffffff !important;
    border: 1px solid transparent;
    color: #6c757d;
  }
  
.btnFreeDisable,
.btnFreeDisable:hover,
.btnFreeDisable:focus,
.btnFreeDisable:active {
  background-color: #ccc !important;
  border-color: #ccc !important;
  color: #555 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}

.btnFreeDisable:disabled {
  background-color: #ccc !important;
  border-color: #ccc !important;
  color: #555 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}

/* Only affect <a> tags inside the register form */
#register-form a {
  text-decoration: underline;
  text-underline-offset: 2px; /* nicer spacing */
}

/* Optional: keep underline color consistent on hover/focus */
#register-form a:hover,
#register-form a:focus {
  text-decoration: underline;
}