@import url("./fonts/fonts.css");

.rb-error-page {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 48px 20px;
  background: var(--rb-bg, #f8fafc);
  color: var(--rb-text, #0f172a);
}
.rb-error-card {
  max-width: 520px;
  width: 100%;
  padding: 32px;
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.12);
  text-align: center;
}
.rb-error-code {
  font-size: 64px;
  font-weight: 800;
  color: var(--rb-primary, #2563eb);
  margin-bottom: 8px;
}
.rb-error-title {
  font-size: 28px;
  margin: 0 0 8px;
}
.rb-error-text {
  margin: 0 0 20px;
  color: #475569;
}
.rb-error-actions .btn {
  background: linear-gradient(90deg, var(--rb-primary, #2563eb), var(--rb-accent, #10b981));
  color: #ffffff;
  border: none;
  border-radius: 999px;
  padding: 10px 22px;
  box-shadow: 0 12px 24px rgba(37, 99, 235, 0.25);
}
:root {
  --rb-page-container-width: var(--rb-container-width, 100%);
  --rb-page-container-pad: var(--rb-container-pad, 0px);
  --rb-h1-size: 40px;
  --rb-h2-size: 30px;
  --rb-h3-size: 25px;
  --rb-h4-size: 20px;
  --rb-h5-size: 15px;
}


.rb-section-wrap {
  padding-top: var(--rb-pt, 0) !important;
  padding-bottom: var(--rb-pb, 0) !important;
  padding-left: var(--rb-pl, 0) !important;
  padding-right: var(--rb-pr, 0) !important;
  margin-top: var(--rb-mt, 0) !important;
  margin-bottom: var(--rb-mb, 0) !important;
  margin-left: var(--rb-ml, 0) !important;
  margin-right: var(--rb-mr, 0) !important;
  background-color: var(--rb-bg, transparent);
  background-image: var(--rb-bg-gradient, var(--rb-bg-img, none));
  background-size: var(--rb-bg-size, cover);
  background-position: var(--rb-bg-position, center);
  background-repeat: no-repeat;
  text-align: var(--rb-text-align, initial);
  font-family: var(--rb-section-body-font, var(--rb-font-body, inherit));
  position: relative;
  overflow: hidden;
}

.rb-section-wrap > * {
  position: relative;
  z-index: 2;
}

.rb-section-wrap .container {
  max-width: min(var(--rb-container-width, 100%), var(--rb-page-container-width, 100%));
  padding-left: var(--rb-container-pad, var(--rb-page-container-pad, 0px));
  padding-right: var(--rb-container-pad, var(--rb-page-container-pad, 0px));
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.rb-section-wrap.container {
  max-width: min(var(--rb-container-width, 100%), var(--rb-page-container-width, 100%)) !important;
  padding-left: var(--rb-container-pad, var(--rb-page-container-pad, 0px)) !important;
  padding-right: var(--rb-container-pad, var(--rb-page-container-pad, 0px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
}

.rb-blog-post .container,
.rb-blog-post-container {
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
}


.rb-bg-video,
.rb-bg-overlay {
  position: absolute;
  inset: 0;
}

.rb-bg-video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rb-bg-video {
  z-index: 0;
}

.rb-bg-overlay {
  z-index: 1;
  background: var(--rb-bg-overlay, transparent);
  opacity: var(--rb-bg-overlay-opacity, 0);
  pointer-events: none;
}

.rb-section-wrap h1,
.rb-section-wrap h2,
.rb-section-wrap h3,
.rb-section-wrap h4,
.rb-section-wrap h5,
.rb-section-wrap h6 {
  font-weight: var(--rb-heading-weight);
  letter-spacing: var(--rb-heading-spacing);
  font-family: var(--rb-section-heading-font, var(--rb-font-heading, inherit));
}

.rb-section-wrap h1 {
  font-size: var(--rb-h1-size, var(--rb-heading-size)) !important;
  font-weight: var(--rb-h1-weight, var(--rb-heading-weight));
  letter-spacing: var(--rb-h1-spacing, var(--rb-heading-spacing));
  line-height: var(--rb-h1-line-height);
}

.rb-section-wrap h2 {
  font-size: var(--rb-h2-size, var(--rb-heading-size)) !important;
  font-weight: var(--rb-h2-weight, var(--rb-heading-weight));
  letter-spacing: var(--rb-h2-spacing, var(--rb-heading-spacing));
  line-height: var(--rb-h2-line-height);
}

.rb-section-wrap h3 {
  font-size: var(--rb-h3-size, var(--rb-heading-size)) !important;
  font-weight: var(--rb-h3-weight, var(--rb-heading-weight));
  letter-spacing: var(--rb-h3-spacing, var(--rb-heading-spacing));
  line-height: var(--rb-h3-line-height);
}

.rb-section-wrap h4 {
  font-size: var(--rb-h4-size, var(--rb-heading-size)) !important;
  font-weight: var(--rb-h4-weight, var(--rb-heading-weight));
  letter-spacing: var(--rb-h4-spacing, var(--rb-heading-spacing));
  line-height: var(--rb-h4-line-height);
}

.rb-section-wrap h5 {
  font-size: var(--rb-h5-size, var(--rb-heading-size)) !important;
  font-weight: var(--rb-h5-weight, var(--rb-heading-weight));
  letter-spacing: var(--rb-h5-spacing, var(--rb-heading-spacing));
  line-height: var(--rb-h5-line-height);
}

.rb-section-wrap h6 {
  font-size: var(--rb-h6-size, var(--rb-heading-size));
  font-weight: var(--rb-h6-weight, var(--rb-heading-weight));
  letter-spacing: var(--rb-h6-spacing, var(--rb-heading-spacing));
  line-height: var(--rb-h6-line-height);
}

.rb-section-wrap p,
.rb-section-wrap li {
  font-size: var(--rb-body-size);
  line-height: var(--rb-body-line-height);
  font-weight: var(--rb-body-weight);
  letter-spacing: var(--rb-body-spacing);
}

.rb-anim {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity var(--rb-anim-duration, 600ms) var(--rb-anim-easing, ease),
    transform var(--rb-anim-duration, 600ms) var(--rb-anim-easing, ease);
  transition-delay: var(--rb-anim-delay, 0ms);
}

.rb-anim[data-rb-anim="fade-in"] {
  transform: none;
}

.rb-anim[data-rb-anim="slide-up"] {
  transform: translateY(24px);
}

.rb-anim[data-rb-anim="zoom-in"] {
  transform: scale(0.96);
}

.rb-anim.rb-animate {
  opacity: 1;
  transform: none;
}

.rb-anim[data-rb-anim="stagger"] .rb-anim-item {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity var(--rb-anim-duration, 600ms) var(--rb-anim-easing, ease),
    transform var(--rb-anim-duration, 600ms) var(--rb-anim-easing, ease);
  transition-delay: calc(var(--rb-stagger-index, 0) * var(--rb-anim-stagger, 80ms));
}

.rb-anim[data-rb-anim="stagger"].rb-animate .rb-anim-item {
  opacity: 1;
  transform: none;
}
.rb-grid-resize {
  position: relative;
}
.rb-grid-handle {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 10px;
  margin-left: -5px;
  cursor: col-resize;
  background: linear-gradient(to right, rgba(37, 99, 235, 0) 0%, rgba(37, 99, 235, 0.8) 50%, rgba(37, 99, 235, 0) 100%);
  border: none;
  z-index: 50;
  pointer-events: all;
}
.rb-grid-handle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 14px;
  margin-left: -7px;
  margin-top: -7px;
  border-radius: 50%;
  background: #ffffff;
  border: 2px solid rgba(37, 99, 235, 0.9);
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.2);
}

.rb-grid {
  display: grid;
  grid-template-columns: var(--rb-columns-template, repeat(var(--rb-columns, 1), minmax(0, 1fr)));
  gap: var(--rb-gap, 24px);
}

.rb-block.rb-block-grid {
  display: grid;
  grid-template-columns: var(--rb-block-columns-template, repeat(var(--rb-block-columns, 1), minmax(0, 1fr)));
  gap: var(--rb-block-gap, 16px);
}

.rb-grid > *:not(.rb-grid-handle) {
  container-type: inline-size;
}

.rb-grid.rb-equal {
  align-items: stretch;
  grid-auto-rows: 1fr;
}

.rb-theme {
  color: var(--rb-text, inherit);
  background-color: var(--rb-page-bg, transparent);
  font-family: var(--rb-font-body, inherit);
}

.rb-theme h1,
.rb-theme h2,
.rb-theme h3,
.rb-theme h4,
.rb-theme h5,
.rb-theme h6 {
  font-family: var(--rb-section-heading-font, var(--rb-font-heading, inherit));
}

.rb-theme .btn-primary {
  background-color: var(--rb-primary, #2563eb);
  border-color: var(--rb-primary, #2563eb);
}

.rb-theme .btn-outline-primary {
  color: var(--rb-primary, #2563eb);
  border-color: var(--rb-primary, #2563eb);
}

.rb-theme .btn,
.rb-theme .form-control,
.rb-theme .form-select {
  border-radius: var(--rb-radius, 8px);
}
.rb-theme .btn:not(.btn-close),
.rb-theme button[type="button"]:not(.btn-close),
.rb-theme button[type="submit"]:not(.btn-close),
.rb-theme input[type="submit"],
.rb-theme input[type="button"] {
  background: linear-gradient(90deg, var(--rb-btn-bg-start, var(--rb-primary, #2563eb)), var(--rb-btn-bg-end, var(--rb-accent, #10b981)));
  color: var(--rb-btn-text, #ffffff);
  border: none;
  border-radius: var(--rb-btn-radius, 999px);
  box-shadow: var(--rb-btn-shadow, 0 12px 24px rgba(37, 99, 235, 0.25));
  padding: var(--rb-btn-padding-y, 10px) var(--rb-btn-padding-x, 22px);
  font-weight: var(--rb-btn-weight, 600);
  transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease;
}
.rb-theme .btn:not(.btn-close):hover,
.rb-theme button[type="button"]:not(.btn-close):hover,
.rb-theme button[type="submit"]:not(.btn-close):hover,
.rb-theme input[type="submit"]:hover,
.rb-theme input[type="button"]:hover {
  transform: translateY(var(--rb-btn-hover-lift, -2px));
  box-shadow: var(--rb-btn-hover-shadow, 0 16px 30px rgba(37, 99, 235, 0.35));
  filter: brightness(1.03);
  color: var(--rb-btn-text, #ffffff);
}
.rb-theme .btn-close {
  background: var(--bs-btn-close-bg) center/1em auto no-repeat;
  border: 0;
  color: inherit;
  opacity: 0.6;
  box-shadow: none;
}
.rb-theme .btn-close:hover {
  opacity: 0.85;
}

.rb-form {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
  padding: 24px;
}
.rb-form .form-label {
  font-size: 0.92rem;
  font-weight: 600;
  color: #0f172a;
}
.rb-form .form-control,
.rb-form .form-select,
.rb-form textarea {
  border-radius: 12px;
  border-color: #e2e8f0;
  padding: 0.75rem 0.9rem;
  font-size: 0.95rem;
}
.rb-form .form-control:focus,
.rb-form .form-select:focus,
.rb-form textarea:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.18);
}
.rb-form .rb-form-message {
  margin-bottom: 16px;
}

.rb-form-progressbar {
  width: 100%;
  height: 8px;
  border: 0;
  border-radius: 999px;
  background: #e2e8f0;
  overflow: hidden;
}

.rb-form-progressbar::-webkit-progress-bar {
  background: #e2e8f0;
  border-radius: 999px;
}

.rb-form-progressbar::-webkit-progress-value {
  background: linear-gradient(90deg, var(--rb-primary, #2563eb), var(--rb-accent, #10b981));
  border-radius: 999px;
}

.rb-form-progressbar::-moz-progress-bar {
  background: linear-gradient(90deg, var(--rb-primary, #2563eb), var(--rb-accent, #10b981));
  border-radius: 999px;
}

.rb-blog-post-container [data-rb-blog-post-body] {
  margin-top: 16px;
  padding-left: 0;
  padding-right: 0;
}

.rb-blog-post-container [data-rb-blog-post-body] > * {
  margin-left: 0;
  margin-right: 0;
}

.rb-blog-post-container [data-rb-blog-post-body] * {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.rb-form .rb-form-step > .row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
}
.rb-form .rb-form-field {
  width: 100%;
  max-width: none;
}
.rb-form .rb-form-field.rb-field-textarea,
.rb-form .rb-form-field.rb-field-select,
.rb-form .rb-form-field.rb-field-checkbox,
.rb-form .rb-form-field.rb-field-radio,
.rb-form .rb-form-field.rb-field-multi_checkbox {
  grid-column: 1 / -1;
}
.rb-form .rb-form-field:has(textarea) {
  grid-column: 1 / -1;
}
.rb-form .rb-form-actions .btn {
  border-radius: 999px;
  padding: 0.65rem 1.4rem;
  font-weight: 600;
}
.rb-form .rb-form-actions .btn-primary {
  background: linear-gradient(90deg, #10b981 0%, #3b82f6 100%);
  border: none;
  color: #ffffff;
  box-shadow: 0 10px 24px rgba(37, 99, 235, 0.25);
}
.rb-form .rb-form-actions .btn-primary:hover,
.rb-form .rb-form-actions .btn-primary:focus {
  background: linear-gradient(90deg, #0ea574 0%, #2563eb 100%);
  color: #ffffff;
  box-shadow: 0 14px 30px rgba(37, 99, 235, 0.3);
  transform: translateY(-1px);
}
.rb-form[data-steps-enabled="1"] .rb-form-step {
  display: none;
}
.rb-form[data-steps-enabled="1"] .rb-form-step[data-step="1"] {
  display: block;
}
.rb-form[data-steps-enabled="1"][data-rb-init="1"] .rb-form-step {
  display: block;
}
@media (max-width: 767.98px) {
  .rb-form {
    padding: 18px;
  }
  .rb-form .rb-form-step > .row {
    grid-template-columns: 1fr;
  }
}

@container (max-width: 520px) {
  .rb-grid > * .row > [class*="col-"] {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  .rb-grid > * h1 {
    font-size: var(--rb-h1-size, var(--rb-heading-size));
  }
  .rb-grid > * h2 {
    font-size: var(--rb-h2-size, var(--rb-heading-size));
  }
  .rb-grid > * h3 {
    font-size: var(--rb-h3-size, var(--rb-heading-size));
  }
  .rb-grid > * h4 {
    font-size: var(--rb-h4-size, var(--rb-heading-size));
  }
  .rb-grid > * h5 {
    font-size: var(--rb-h5-size, var(--rb-heading-size));
  }
  .rb-grid > * p,
  .rb-grid > * li {
    font-size: var(--rb-body-size);
  }
}
@media (max-width: 991.98px) {
  .rb-section-wrap {
    padding-top: var(--rb-pt-md, var(--rb-pt, 0)) !important;
    padding-bottom: var(--rb-pb-md, var(--rb-pb, 0)) !important;
    padding-left: var(--rb-pl-md, var(--rb-pl, 0)) !important;
    padding-right: var(--rb-pr-md, var(--rb-pr, 0)) !important;
    margin-top: var(--rb-mt-md, var(--rb-mt, 0)) !important;
    margin-bottom: var(--rb-mb-md, var(--rb-mb, 0)) !important;
    margin-left: var(--rb-ml-md, var(--rb-ml, 0)) !important;
    margin-right: var(--rb-mr-md, var(--rb-mr, 0)) !important;
  }
  .rb-section-wrap h1 {
    font-size: var(--rb-h1-size-md, var(--rb-h1-size, var(--rb-heading-size)));
  }
  .rb-section-wrap h2 {
    font-size: var(--rb-h2-size-md, var(--rb-h2-size, var(--rb-heading-size)));
  }
  .rb-section-wrap h3 {
    font-size: var(--rb-h3-size-md, var(--rb-h3-size, var(--rb-heading-size)));
  }
  .rb-section-wrap h4 {
    font-size: var(--rb-h4-size-md, var(--rb-h4-size, var(--rb-heading-size)));
  }
  .rb-section-wrap h5 {
    font-size: var(--rb-h5-size-md, var(--rb-h5-size, var(--rb-heading-size)));
  }
  .rb-section-wrap p,
  .rb-section-wrap li {
    font-size: var(--rb-body-size-md, var(--rb-body-size));
  }
}

@media (max-width: 575.98px) {
  .rb-section-wrap {
    padding-top: var(--rb-pt-sm, var(--rb-pt-md, var(--rb-pt, 0))) !important;
    padding-bottom: var(--rb-pb-sm, var(--rb-pb-md, var(--rb-pb, 0))) !important;
    padding-left: var(--rb-pl-sm, var(--rb-pl-md, var(--rb-pl, 0))) !important;
    padding-right: var(--rb-pr-sm, var(--rb-pr-md, var(--rb-pr, 0))) !important;
    margin-top: var(--rb-mt-sm, var(--rb-mt-md, var(--rb-mt, 0))) !important;
    margin-bottom: var(--rb-mb-sm, var(--rb-mb-md, var(--rb-mb, 0))) !important;
    margin-left: var(--rb-ml-sm, var(--rb-ml-md, var(--rb-ml, 0))) !important;
    margin-right: var(--rb-mr-sm, var(--rb-mr-md, var(--rb-mr, 0))) !important;
  }
  .rb-section-wrap h1 {
    font-size: var(--rb-h1-size-sm, var(--rb-h1-size-md, var(--rb-h1-size, var(--rb-heading-size))));
  }
  .rb-section-wrap h2 {
    font-size: var(--rb-h2-size-sm, var(--rb-h2-size-md, var(--rb-h2-size, var(--rb-heading-size))));
  }
  .rb-section-wrap h3 {
    font-size: var(--rb-h3-size-sm, var(--rb-h3-size-md, var(--rb-h3-size, var(--rb-heading-size))));
  }
  .rb-section-wrap h4 {
    font-size: var(--rb-h4-size-sm, var(--rb-h4-size-md, var(--rb-h4-size, var(--rb-heading-size))));
  }
  .rb-section-wrap h5 {
    font-size: var(--rb-h5-size-sm, var(--rb-h5-size-md, var(--rb-h5-size, var(--rb-heading-size))));
  }
  .rb-section-wrap p,
  .rb-section-wrap li {
    font-size: var(--rb-body-size-sm, var(--rb-body-size-md, var(--rb-body-size)));
  }
}

@media (min-width: 992px) {
  .rb-blog-filters > .row {
    flex-wrap: nowrap;
  }
  .rb-blog-filters > .row > .col-md-4 {
    flex: 1 1 0;
    min-width: 0;
  }
  .rb-blog-filters > .row > .col-12.d-flex {
    flex: 0 0 auto;
    width: auto;
    align-self: flex-end;
    margin-top: 0;
  }
}

[data-rb-blog-archive-items] {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  align-items: start;
  justify-items: stretch;
}

[data-rb-blog-archive-items].row {
  margin-left: 0;
  margin-right: 0;
}

[data-rb-blog-archive-items].row > [class*="col-"] {
  padding-left: 0;
  padding-right: 0;
}

.rb-blog-archive-item {
  min-width: 0;
  width: 100%;
}

.rb-blog-archive-loadmore {
  grid-column: 1 / -1;
}

@media (max-width: 991.98px) {
  [data-rb-blog-archive-items] {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 992px) {
  .rb-hide-desktop {
    display: none !important;
  }
}

@media (min-width: 576px) and (max-width: 991.98px) {
  .rb-hide-tablet {
    display: none !important;
  }
}

@media (max-width: 575.98px) {
  .rb-hide-mobile {
    display: none !important;
  }
}
