  margin-bottom: 1.5rem;
  border: 1px solid rgba(0, 0, 0, .03)
  }

  .img-left {
    float: left;
    margin-right: 1.5rem;
    margin-bottom: 1rem
  }

  .img-right {
    float: right;
    margin-left: 1.5rem;
    margin-bottom: 1rem
  }

  .img-center {
    display: block;
    margin-left: auto;
    margin-right: auto
  }

  figcaption {
    font-size: .9rem;
    color: #6c757d;
    text-align: center;
    margin-top: -.5rem;
    margin-bottom: 1.5rem
  }

  .card {
    border: none;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, .05);
    transition: transform .3s ease, box-shadow .3s ease;
    background-color: #fff
  }

  .feature-card {
    transition: transform .3s ease, box-shadow .3s ease
  }

  .card:hover,
  .feature-card:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 15px 30px rgba(0, 0, 0, .15)
  }

  .btn-primary {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: #fff;
    transition: all .3s ease
  }

  .btn-primary:active,
  .btn-primary:focus,
  .btn-primary:hover {
    background-color: var(--primary-hover) !important;
    border-color: var(--primary-hover) !important;
    color: #fff !important;
    transform: translateY(-3px);
    box-shadow: 0 8px 15px rgba(0, 0, 0, .2)
  }

  .btn-submit-anim {
    position: relative;
    overflow: hidden;
    transition: all .3s ease
  }

  .btn-submit-anim:hover {
    transform: scale(1.05) translateY(-2px);
    box-shadow: 0 15px 25px rgba(46, 139, 87, .4);
    filter: brightness(1.1)
  }

  .form-floating>label {
    color: #6c757d
  }

  .form-control:focus,
  .form-select:focus {
    border-color: var(--secondary-color);
    box-shadow: 0 0 0 .25rem rgba(0, 174, 239, .25)
  }

  .agreement-section {
    background-color: #f8f9fa;
    padding: 20px;
    border-radius: 8px;
    border: 1px solid #dee2e6
  }

  .textarea-contact {
    height: 200px
  }

  .textarea-sm {
    height: 100px
  }

  .textarea-md {
    height: 160px
  }

  .bg-primary-theme {
    background-color: var(--primary-color) !important
  }

  .text-primary {
    color: var(--primary-color) !important
  }

  .bg-primary {
    background-color: var(--primary-color) !important
  }

  .border-primary {
    border-color: var(--primary-color) !important
  }

  .text-shadow {
    text-shadow: 0 2px 4px rgba(0, 0, 0, .5)
  }

  .pre-wrap {
    white-space: pre-wrap
  }

  @keyframes fadeInUp {
    from {
      opacity: 0;
      transform: translateY(20px)
    }

    to {
      opacity: 1;
      transform: translateY(0)
    }
  }

  .fade-in-up {
    opacity: 0;
    animation: fadeInUp .8s ease-out forwards
  }

  .anim-delay-1 {
    animation-delay: .2s
  }

  .anim-delay-2 {
    animation-delay: .4s
  }

  .anim-delay-3 {
    animation-delay: .6s
  }

  .hover-scale {
    transition: transform .3s ease
  }

  .hover-scale:hover {
    transform: scale(1.05)
  }

  .table {
    width: 100%;
    margin-bottom: 1rem;
    vertical-align: top;
    border-color: #e0e0e0
  }

  .table th {
    background-color: #f0fdf4;
    color: var(--secondary-color);
    border-bottom: 2px solid var(--primary-color) !important;
    font-weight: 600
  }

  .table-hover tbody tr:hover {
    background-color: rgba(95, 152, 77, .05)
  }

  .table-responsive .table th {
    white-space: nowrap
  }

  .accordion-button:not(.collapsed) {
    color: #fff;
    background-color: var(--primary-color);
    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .125)
  }

  .accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")
  }

  .accordion-button:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 .25rem rgba(95, 152, 77, .25)
  }

  .accordion-item {
    border-color: #e0e0e0
  }

  .modal-overlay {
    display: none;
    position: fixed;
    z-index: 1050;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, .9);
    opacity: 0;
    transition: opacity .3s ease
  }

  .modal-overlay.show {
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 1
  }

  .modal-content-img {
    max-width: 90%;
    max-height: 90%;
    border-radius: 5px;
    box-shadow: 0 0 20px rgba(0, 0, 0, .5);
    animation: zoomIn .3s
  }

  .modal-close {
    position: absolute;
    top: 20px;
    right: 35px;
    color: #f1f1f1;
    font-size: 40px;
    font-weight: 700;
    cursor: pointer;
    transition: .3s;
    z-index: 1060
  }

  .modal-close:focus,
  .modal-close:hover {
    color: #bbb;
    text-decoration: none;
    cursor: pointer
  }

  @keyframes zoomIn {
    from {
      transform: scale(.7);
      opacity: 0
    }

    to {
      transform: scale(1);
      opacity: 1
    }
  }

  .table-confirm th {
    background-color: #f0fdf4;
    color: var(--secondary-color);
    font-weight: 600;
    width: 30%;
    vertical-align: middle
  }

  .table-confirm td {
    vertical-align: middle
  }

  header {
    position: relative;
    z-index: 1030;
    background-color: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .1)
  }

  @media (prefers-color-scheme:dark) {
    .breadcrumb {
      background-color: #3a3f44
    }

    .breadcrumb-item.active {
      color: #adb5bd
    }

    .breadcrumb-item+.breadcrumb-item::before {
      color: #6c757d
    }

    blockquote {
      background-color: #252525;
      color: #e0e0e0
    }

    blockquote cite {
      color: #adb5bd
    }

    .point-box {
      background-color: rgba(95, 152, 77, .1);
      border-color: rgba(95, 152, 77, .4);
      color: #e0e0e0
    }

    .point-box-title {
      color: #a7d79b
    }

    .box_7 img,
    .card-body img,
    main img:not(.icon):not(.logo) {
      box-shadow: 0 4px 15px rgba(0, 0, 0, .5);
      border-color: #444;
      opacity: .9
    }

    body {
      background-color: #2c2c2c;
      border-bottom-color: #333;
      color: #fff
    }

    header {
      background-color: #1e1e1e;
      box-shadow: 0 2px 10px rgba(0, 0, 0, .5)
    }

    .feature-card {
      background: rgba(30, 30, 30, .6);
      border-color: rgba(255, 255, 255, .1)
    }

    .feature-card:hover {
      background: rgba(40, 40, 40, .8);
      box-shadow: 0 20px 40px -5px rgba(0, 0, 0, .5);
      border-color: rgba(255, 255, 255, .2)
    }

    .glass-bg-blobs {
      background-color: #121212
    }

    .timeline-content {
      background: #1e1e1e;
      border-left: 5px solid #0d6efd
    }

    ul.timeline:before {
      background: #333
    }

    ul.timeline>li:before {
      background: #121212;
      border-color: #0d6efd
    }

    .timeline-time {
      border-bottom-color: #444
    }

    .table {
      color: #e0e0e0;
      border-color: #333
    }

    .table th {
      background-color: #2c2c2c;
      color: #e0e0e0;
      border-bottom-color: var(--primary-color)
    }

    .table-bordered>:not(caption)>*> {
      border-color: #333
    }

    #details table tbody tr:hover td {
      background-color: #2c3e50 !important
    }

    .form-control,
    .form-select {
      background-color: #2c2c2c;
      border-color: #444;
      color: #e0e0e0
    }

    .form-control:focus,
    .form-select:focus {
      background-color: #2c2c2c;
      color: #fff;
      border-color: #0d6efd
    }

    .form-floating>label {
      color: #aaa
    }

    .form-floating>.form-control:focus~label,
    .form-floating>.form-control:not(:placeholder-shown)~label {
      color: #aaa
    }

    .accordion-button {
      background-color: #1e1e1e;
      color: #e0e0e0
    }

    .accordion-button:not(.collapsed) {
      background-color: var(--primary-color);
      color: #fff
    }

    .accordion-item {
      background-color: #1e1e1e;
      border-color: #333
    }

    .agreement-section {
      background-color: rgba(255, 193, 7, .05);
      border-color: #bfa900
    }

    #footer,
    footer {
      background-color: #111 !important
    }

    .card {
      background-color: #1e1e1e;
      border-color: #333;
      color: #e0e0e0
    }

    .modal-content {
      background-color: #2c2c2c;
      border-color: #444;
      color: #e0e0e0
    }

    .modal-footer,
    .modal-header {
      border-color: #444
    }

    .btn-close {
      filter: invert(1) grayscale(100%) brightness(200%)
    }

    #back-to-top {
      box-shadow: 0 4px 10px rgba(0, 0, 0, .5)
    }

    .bg-light {
      background-color: #333 !important;
      color: #e0e0e0 !important
    }

    .bg-white {
      background-color: #1e1e1e !important;
      color: #e0e0e0 !important
    }

    .text-dark {
      color: #f8f9fa !important
    }

    .text-muted {
      color: #adb5bd !important
    }

    h2:not(.page_title):not(.accordion-header):not(.display-1):not(.display-2):not(.display-3):not(.display-4):not(.display-5):not(.display-6):not(.text-white) {
      background: 0 0;
      border-bottom-color: #555
    }

    h2:not(.page_title):not(.accordion-header):not(.display-1):not(.display-2):not(.display-3):not(.display-4):not(.display-5):not(.display-6):not(.text-white)::after {
      background-color: var(--primary-color)
    }
  }

  .w-30 {
    width: 30%
  }

  .h-100px {
    height: 100px
  }

  .hero-section-with-img {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    min-height: 300px
  }

  .hero-section-with-img .hero-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -2
  }

  .hero-section-with-img::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .4);
    z-index: -1
  }

  .hero-section-with-img .hero-content {
    position: relative;
    z-index: 1
  }

  .is-invalid {
    border-color: var(--danger-color) !important;
    background-color: #fff0f1;
    box-shadow: 0 0 0 .25rem rgba(220, 53, 69, .25)
  }

  .invalid-feedback {
    color: var(--danger-color);
    font-size: .875em;
    display: block;
    margin-top: .25rem;
    width: 100%;
    font-weight: 700
  }

  .timeline {
    list-style: none;
    padding: 0
  }

  @media (min-width:768px) {
    .page_title {
      font-size: 2.5rem;
      margin-bottom: 2rem
    }
  }

  @media (max-width:768px) {
    body {
      font-size: 1.15rem;
      line-height: 1.9
    }

    p {
      line-height: 2.0
    }

    .btn,
    button,
    .form-control,
    .form-select {
      min-height: 48px
    }

    .form-control,
    .form-select {
      font-size: 16px
    }

    ul li a,
    ol li a {
      padding: 8px 0;
      display: inline-block
    }

    .table-confirm td,
    .table-confirm th {
      display: block;
      width: 100%
    }

    .table-confirm th {
      border-bottom: none;
      padding-bottom: 0;
      background-color: transparent;
      color: var(--primary-color)
    }

    .table-confirm td {
      border-top: none;
      padding-top: 5px;
      padding-bottom: 15px;
      border-bottom: 1px solid #dee2e6
    }
  }
