:root {
    --bs-dark: #0D1420;
    --bs-dark-rgb: 13, 20, 32;
    --bs-warning: #FFA400;
    --bs-warning-rgb: 255, 164, 0;
    --bs-primary: #17253A;
    --bs-primary-rgb: 23, 37, 58;
    --bs-secondary: #5F6E84;
    --bs-info: #006CC4;
    --bs-info-rgb: 0, 108, 196;
}

body {
    color: #5F6E84;
    font-family: 'Rubik', sans-serif;
    font-weight: 300;
    background: #F3F3F3;
}

.container {
    max-width: 1250px;
}

a {
    text-decoration: none;
    color: inherit;
}

h1, h2, h3 {
    color: #17253A;
}
.btn-info {
    background: var(--bs-info);
    border-color: var(--bs-info);
    color: #fff;
}
.btn-warning {
    background: var(--bs-warning);
    border-color: var(--bs-warning);
    color: black;
}
.bg-navbar-cta {
    background: url(../img/bg-navbar-cta.png) no-repeat center center;
    background-size: cover;
}

.bg-hero {
    background: url(../img/bg-hero.png) no-repeat center center;
    background-size: cover;
}

.hero-section {
    margin-bottom: 9rem;
}

.thank-you-hero {
    margin-bottom: 0;
}

.thank-you-row {
    min-height: 500px;
    padding: 4rem 0;
}

.hero-row {
    min-height: 800px;
}

.hero-google-badge {
    position: absolute;
    z-index: 2;
    top: 10rem;
    right: 0;
}

.hero-google-circle {
    width: 190px;
    height: 190px;
}

.hero-featured-wrap {
    position: absolute;
    right: 0;
    bottom: -9rem;
}

.process-panel {
    top: -5rem;
}

.core-value-cards {
    min-height: 800px;
    margin-top: 2rem;
}

.core-value-card {
    background: white;
    padding: 2rem;
    border-radius: 1rem;
    position: absolute;
    width: 260px;
}

.core-value-card-1 {
    top: 10rem;
    left: 0;
}

.core-value-card-2 {
    bottom: 4rem;
    left: 3rem;
}

.core-value-card-3 {
    bottom: 7rem;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.core-value-card-4 {
    bottom: 4rem;
    right: 3rem;
}

.core-value-card-5 {
    top: 10rem;
    right: 0;
}

.contact-form-title {
    font-size: 2.5rem;
}

.promo-title {
    font-size: 2.5rem;
}

.bg-who-we-are {
    background: url(../img/bg-who-we-are.png) no-repeat bottom left;
}

.bg-why-choose-us {
    background: url(../img/bg-why-choose-us.png) no-repeat center center;
    background-size: cover;
}

.bg-gradient {
    background: linear-gradient(to right, #FF3C00, #FFA400) !important;
}

.w-1 {
    width: 1px;
}

#services {
    background: url(../img/bg-service-vector.png) no-repeat,
        linear-gradient(to right, #17253A, #17253A);
    background-size: cover, cover;
}

.bg-process {
    background: url(../img/bg-process.png) no-repeat center center;
    background-size: cover;
}

.bg-core-value {
    background: url(../img/bg-core-value.webp) no-repeat top center;
    background-size: cover;
}

#contact {
    background: url(../img/bg-contact-us.png) no-repeat top center;
    background-size: cover;
    top: -5rem;
    bottom: -5rem;
    padding-bottom: 7rem;
}

#contact .form-control,
#contact .form-select {
    padding: .75rem 1rem;
    border: none;
}

#contact .input-group-text {
    background: white;
    border: none;
    padding-right: 0;
}

#service-area {
    background: url(../img/bg-service-area.webp) no-repeat center center;
    background-size: cover;
    min-height: 900px;
}

.service-area-card {
    background: white;
    padding: 1rem;
    border-radius: 1rem;
    position: absolute;
}
.service-area-card-1 {
    top: 15rem;
    left: 0;
}
.service-area-card-2 {
    left: 40%;
    top: 18rem;
}
.service-area-card-3 {
    top: 20rem;
    right: 0;
}
.service-area-card-4 {
    top: 30rem;
    left: 50%;
}
.service-area-card-5 {
    top: 35rem;
    left: 5rem;
}
.service-area-card-6 {
    top: 40rem;
    right: 5rem;
}
.service-area-card-7 {
    top: 45rem;
    left: 30%;
}

.service-area-bottom-card {
    background: url(../img/bg-service-area-bottom.png) no-repeat center center;
    background-size: contain;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 517px;
    height: 216px;
}
.service-area-bottom-card div {
    position: absolute;
    bottom: 1rem;
    width: 40%;
    right: 15rem;
}

#faq {
    background: #F3F3F3;
}

.accordion-faq .accordion-item {
    background: transparent;
    border: none;
    margin-bottom: 1.5rem;
}

.accordion-faq .accordion-button {
    background: transparent;
    border: none;
    border-left: 4px solid var(--bs-warning);
    border-radius: 0;
    box-shadow: none;
    color: #17253A;
    font-size: 1.25rem;
    font-weight: 700;
    padding: 1rem 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.accordion-faq .accordion-button::after {
    display: none;
}

.accordion-faq .accordion-button:not(.collapsed) {
    background: transparent;
    color: #17253A;
    box-shadow: none;
}

.accordion-faq .accordion-button:focus {
    box-shadow: none;
}

.accordion-faq .accordion-body {
    padding: 0 1.5rem 1rem 1.75rem;
    color: #5F6E84;
    font-size: 1rem;
    line-height: 1.6;
}

.accordion-faq .faq-toggle-icon {
    flex-shrink: 0;
    font-size: 1.5rem;
    color: #17253A;
}

.accordion-faq .accordion-button.collapsed .faq-icon-minus {
    display: none;
}

.accordion-faq .accordion-button:not(.collapsed) .faq-icon-plus {
    display: none;
}

.bg-cta {
    background: url(../img/bg-cta.webp) no-repeat center center;
    background-size: cover;
}

.site-footer {
    background: var(--bs-primary);
}

.footer-logo {
    max-height: 60px;
}

.footer-nav a {
    color: #fff;
    text-transform: uppercase;
    font-size: 0.875rem;
    font-weight: 500;
    letter-spacing: 0.02em;
}

.footer-nav a:hover {
    color: var(--bs-warning);
}

.footer-social-link,
.footer-trust-icon {
    font-size: 2rem;
}

.footer-divider {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.footer-heading {
    font-size: 1.25rem;
    font-weight: 700;
    font-style: italic;
    color: #fff;
    margin-bottom: 0;
}

.footer-list li {
    position: relative;
    padding-left: 1rem;
    margin-bottom: 0.75rem;
}

.footer-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.55rem;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--bs-warning);
}

.footer-list a {
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.9rem;
}

.footer-list a:hover {
    color: #fff;
}

.footer-info-col {
    border-left: 1px solid rgba(255, 255, 255, 0.12);
    border-right: 1px solid rgba(255, 255, 255, 0.12);
    padding-left: 2rem;
    padding-right: 2rem;
}

.footer-contact li {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
    font-size: 0.95rem;
}

.footer-contact li iconify-icon {
    flex-shrink: 0;
}

.footer-contact a {
    color: rgba(255, 255, 255, 0.85);
}

.footer-contact a:hover {
    color: #fff;
}

.footer-trust-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.footer-google-badge {
    background: #fff;
    border-radius: 1rem;
    padding: 0.5rem 1rem;
}

.footer-google-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #f3f3f3;
    font-size: 1.25rem;
}

.footer-product-review {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: #fff;
    border-radius: 0.5rem;
    padding: 0.5rem 0.75rem;
}

.footer-product-review-icon {
    font-size: 1.75rem;
    color: #2e9e4f;
}

.footer-product-review-brand {
    display: block;
    font-size: 0.65rem;
    font-weight: 700;
    color: #2e9e4f;
    line-height: 1.1;
    letter-spacing: 0.02em;
}

.footer-product-review-domain {
    display: block;
    font-size: 0.55rem;
    font-weight: 600;
    color: #17253A;
    line-height: 1.1;
}

.footer-copyright {
    background: var(--bs-dark);
}