/* Template: Default */

body {
    background: var(--body-background);
    color: var(--body-color);
}

.header {
    padding-top: 20px;
    padding-bottom: 20px;
    background: var(--header-background);
    box-shadow: var(--header-box-shadow);
}
.header__navigation {
    margin: 0 auto;
    align-items: center;
}
.header__mobile-navigation {
    display: flex;
    flex-direction: column;
    background: var(--header-mobile-navigation-background);
    padding: var(--header-mobile-navigation-padding);
    box-shadow: var(--header-box-shadow);
}

.nav-link {
    transition: all 150ms ease-in-out;
    margin: 0 10px;
    display: flex;
    font-family: var(--font-primary), sans-serif;
    color: var(--header-nav-link-color);
    font-size: var(--header-nav-link-font-size);
    font-weight: var(--header-nav-link-font-weight);
    text-decoration: var(--header-nav-link-text-decoration, none);
}
.nav-link:hover {
    color: var(--header-nav-link-hover-color);
    text-decoration: var(--header-nav-link-hover-text-decoration, none);
}
.nav-link.nav-link__current,
.nav-link.nav-link__current:hover {
    color: var(--header-nav-link-current-color);
    font-weight: var(--header-nav-link-font-current-weight);
}

a {
    color: var(--link-color);
    text-decoration: var(--link-text-decoration, underline);
}
a:hover {
    color: var(--link-hover-color);
    text-decoration: var(--link-hover-text-decoration, underline);
}

.button {
    border-radius: var(--button-border-radius);
    border: var(--button-border, none);
    color: var(--button-link-color);
    border-color: var(--button-link-border-color, transparent);
    text-decoration: none;
}
.button:hover {
    color: var(--button-link-hover-color);
    border-color: var(--button-link-border-hover-color, transparent);
    text-decoration: none;
}
.button.button--primary {
    border-color: var(--button-primary-border-color);
    background: var(--button-primary-background);
    color: var(--button-primary-color);
}
.button.button--primary:hover {
    border-color: var(--button-primary-border-hover-color);
    background: var(--button-primary-hover-background);
    color: var(--button-primary-hover-color);
}
.button.button--secondary {
    border-color: var(--button-secondary-border-color);
    background: var(--button-secondary-background);
    color: var(--button-secondary-color);
}
.button.button--secondary:hover {
    border-color: var(--button-secondary-border-hover-color);
    background: var(--button-secondary-hover-background);
    color: var(--button-secondary-hover-color);
}
.button.button--tertiary {
    border-color: var(--button-tertiary-border-color);
    background: var(--button-tertiary-background);
    color: var(--button-tertiary-color);
}
.button.button--tertiary:hover {
    border-color: var(--button-tertiary-border-hover-color);
    background: var(--button-tertiary-hover-background);
    color: var(--button-tertiary-hover-color);
}
.button.button--disabled,
.button.button--disabled:hover{
    cursor: not-allowed;
    border-color: var(--button-disabled-border-color);
    background: var(--button-disabled-background);
    color: var(--button-disabled-color);
}
.button.button--link {
    background: transparent;
    font-weight: bold;
    color: var(--button-link-color);
}
.button.button--link:hover {
    background: transparent;
    color: var(--button-link-hover-color);
}

.link {
    color: var(--link-color);
    text-decoration: var(--link-text-decoration);
}
.link:hover {
    color: var(--link-hover-color);
    text-decoration: var(--link-text-decoration);
}

.footer {
    padding: var(--footer-padding);
    background: var(--footer-background);
    color: var(--footer-color);
}
.footer__logo {
    display: block;
    margin: var(--footer-logo-margin);
}
.footer__title {
    color: var(--footer-title-color);
    font-size: var(--footer-title-font-size);
    font-weight: var(--footer-title-font-weight);
    margin: var(--footer-title-margin);
}
.footer__icon {
    margin-top: 0.25rem;
    color: var(--footer-icon-color);
    font-size: var(--footer-icon-font-size);
}

.social-media-bar {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: var(--social-media-bar-gap);
    margin: var(--social-media-bar-margin);
}

@media screen and (min-width: 1024px) {
    .social-media-bar {
        justify-content: flex-start;
    }
}

.social-media-link {
    transition: all 250ms ease-in-out;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    background: var(--social-media-link-background);
    color: var(--social-media-link-color);
    border-radius: var(--social-media-link-border-radius);
}
.social-media-link:hover {
    background: var(--social-media-link-hover-background);
    color: var(--social-media-link-hover-color);
}

.footer__navigation-bar {
    margin: var(--footer-navigation-margin);
    padding: var(--footer-navigation-padding);
    background: var(--footer-navigation-background);
    color: var(--footer-navigation-color);
}

.footer__link {
    color: var(--footer-link-color);
    text-decoration: var(--footer-link-text-decoration, none);
}
.footer__link:hover {
    color: var(--footer-link-hover-color);
    text-decoration: var(--footer-link-hover-text-decoration, none);
}

.footer-navigation {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}
@media screen and (min-width: 1024px) {
    .footer-navigation {
        display: flex;
        flex-direction: row;
        gap: var(--footer-navigation-gap);
    }
}

.footer-navigation__link {
    color: var(--footer-navigation-link-color);
    text-decoration: var(--footer-navigation-link-text-decoration);
}
.footer-navigation__link:hover {
    color: var(--footer-navigation-link-hover-color);
    text-decoration: var(--footer-navigation-link-hover-text-decoration);
}

/* Screen: Page */
.section__title {
    font-size: var(--section-title-font-size, 24px);
    font-weight: var(--section-title-font-weight);
    color: var(--section-title-color);
    margin: var(--section-title-margin);
}
.section__sub-title {
    font-size: var(--section-sub-title-font-size, 18px);
    font-weight: var(--section-title-font-weight);
    color: var(--section-title-color);
    margin: var(--section-title-margin);
}
@media screen and (min-width: 1024px) {
    .section__title {
        font-size: var(--section-title-font-size-lg, 32px);
    }
    .section__sub-title {
        font-size: var(--section-sub-title-font-size-lg, 22px);
    }
}

/* Screen: Home */
.home-banner {
    background: var(--home-banner-background);
    height: 60vh;
}
.home-banner__overlay {
    background: var(--home-banner-overlay-background);
}
.home-banner__title {
    font-family: var(--font-primary), sans-serif;
    font-size: var(--home-banner-title-font-size, 36px);
    color: var(--home-banner-title-color);
    font-weight: var(--home-banner-title-font-weight);
    line-height: var(--home-banner-title-line-height);
}
@media screen and (min-width: 1024px) {
    .home-banner {
        height: 40vh;
        max-height: 500px;
        min-height: 420px;
    }
    .home-banner__title {
        max-width: 50%;
        font-size: var(--home-banner-title-font-size-lg, 56px);
    }
}

.home-services {
    background: var(--home-services-background);
    margin: var(--home-services-margin, 0 auto);
    padding: var(--home-services-padding, 0);
}
.home-services__container {
    margin: var(--home-services-container-margin);
    padding: var(--home-services-container-padding);
}
.home-services__buttons {
    padding: var(--home-services-buttons-padding, 0);
    margin: var(--home-services-buttons-margin, 20px 0 0);
}

.service-summary {
    text-align: var(--service-summary-text-align, center);
    background: var(--service-summary-background);
    padding: var(--service-summary-padding);
    margin: var(--service-summary-margin);
    border-radius: var(--service-summary-border-radius);
    box-shadow: var(--service-summary-box-shadow);
    border-color: var(--service-summary-border-color);
    border-width: var(--service-summary-border-width);
    border-style: var(--service-summary-border-style);
}
.service-summary__title {
    font-size: var(--service-summary-title-font-size);
    font-weight: var(--service-summary-title-font-weight);
    color: var(--service-summary-title-color)
}

.home-content {
    background: var(--home-content-background, #fff);
    margin: var(--home-content-margin, 0);
    padding: var(--home-content-padding, 0);
}
.home-content__container {
    margin: var(--home-content-container-margin, 0 auto);
    padding: var(--home-content-container-padding, 0);
}
.home-content__content {
    font-size: var(--home-content-content-font-size, 16px);
    color: var(--home-content-content-text-color, inherit);
}

.home-reviews {
    background: var(--home-reviews-background, #fff);
    margin: var(--home-reviews-margin, 0);
    padding: var(--home-reviews-padding, 0);
}
.home-reviews__container {
    margin: var(--home-reviews-container-margin, 0 auto);
    padding: var(--home-reviews-container-padding, 0);
}

.review-summary {
    text-align: var(--review-summary-text-align, left);
    background: var(--review-summary-background);
    padding: var(--review-summary-padding);
    margin: var(--review-summary-margin);
    border-radius: var(--review-summary-border-radius);
    box-shadow: var(--review-summary-box-shadow);
    border-color: var(--review-summary-border-color);
    border-width: var(--review-summary-border-width);
    border-style: var(--review-summary-border-style);
}
.review-summary__title {
    font-size: var(--review-summary-title-font-size, 24px);
    font-weight: var(--review-summary-title-font-weight, 700);
    color: var(--review-summary-title-color, var(--color-blue-600));
    margin: var(--review-summary-title-margin, 0);
}
.review-summary__scope {
    display: block;
    font-size: var(--review-summary-scope-font-size, 24px);
    font-weight: var(--review-summary-scope-font-weight, 700);
    color: var(--review-summary-scope-color, var(--color-stone-300));
    margin: var(--review-summary-scope-margin, 0);
}
.review-summary__date {
    display: block;
    font-size: var(--review-summary-date-font-size, 24px);
    font-weight: var(--review-summary-date-font-weight, 700);
    color: var(--review-summary-date-color, var(--color-blue-900));
    margin: var(--review-summary-date-margin, 0);
}

.home-news {
    background: var(--home-news-background, #fff);
    margin: var(--home-news-margin, 0);
    padding: var(--home-news-padding, 0);
}
.home-news__container {
    margin: var(--home-news-container-margin, 0 auto);
    padding: var(--home-news-container-padding, 0);
}
.home-news__image {
    position: absolute;
}
.home-news__overlay {
    background: var(--home-news-overlay-background, #00000020);
}
.home-news__buttons {
    margin: var(--home-news-buttons-margin, 0);
    padding: var(--home-news-buttons-padding, 0);
}

.newspost-summary {
    text-align: var(--newspost-summary-text-align, left);
    background: var(--newspost-summary-background);
    padding: var(--newspost-summary-padding);
    margin: var(--newspost-summary-margin);
    border-radius: var(--newspost-summary-border-radius);
    box-shadow: var(--newspost-summary-box-shadow);
    border-color: var(--newspost-summary-border-color);
    border-width: var(--newspost-summary-border-width);
    border-style: var(--newspost-summary-border-style);
}
.newspost-summary__title {
    font-size: var(--newspost-summary-title-font-size, 24px);
    font-weight: var(--newspost-summary-title-font-weight, 700);
    color: var(--newspost-summary-title-color, var(--color-blue-600));
    margin: var(--newspost-summary-title-margin, 0);
}
.newspost-summary__date {
    display: block;
    font-size: var(--newspost-summary-date-font-size, 24px);
    font-weight: var(--newspost-summary-date-font-weight, 700);
    color: var(--newspost-summary-date-color, var(--color-blue-900));
    margin: var(--newspost-summary-date-margin, 0);
}
.newspost-summary__link {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: var(--newspost-summary-link-margin, 0);
    color: var(--newspost-summary-link-color, var(--color-blue-600));
    font-size: var(--newspost-summary-link-font-size, 18px);
    font-weight: var(--newspost-summary-link-font-weight, 700);
    text-decoration: var(--newspost-summary-link-text-decoration, underline);
}
.newspost-summary__link:hover {
    color: var(--newspost-summary-link-hover-color, var(--color-blue-700));
    text-decoration: var(--newspost-summary-link-hover-text-decoration, underline);
}

.home-providers {
    background: var(--home-providers-background, #fff);
    margin: var(--home-providers-margin, 0);
    padding: var(--home-providers-padding, 0);
}
.home-providers__container {
    margin: var(--home-providers-container-margin, 0 auto);
    padding: var(--home-providers-container-padding, 0);
}

/* Generic Sub-page styles */
.page-breadcrumbs {
    background: var(--page-breadcrumb-background, #fff);
    margin: var(--page-breadcrumb-margin, 0);
    padding: var(--page-breadcrumb-padding, 0);
}
.page-breadcrumbs__container {
    margin: var(--page-breadcrumb-container-margin, 0 auto);
    padding: var(--page-breadcrumb-container-padding, 0);
}
.page-breadcrumbs__overlay {
    background: var(--page-breadcrumb-overlay-background, #00000020);
}

.breadcrumb-list__item a {
    text-decoration: none;
}

.breadcrumb-list__item-text {
    font-size: var(--breadcrumb-list-item-text-font-size, 16px);
    font-weight: var(--breadcrumb-list-item-font-weight, 700);
    color: var(--breadcrumb-list-item-text-color, #fff);
}
.breadcrumb-list__item-text:hover {
    color: var(--breadcrumb-list-item-text-hover-color, #ffffff40);
}
.breadcrumb-list__item-icon {
    color: var(--breadcrumb-list-item-icon-color, #fff);
}

/* About Page styles */
.about-content {
    background: var(--about-content-background, #fff);
    margin: var(--about-content-margin, 0);
    padding: var(--about-content-padding, 0);
}
.about-content__container {
    margin: var(--about-content-container-margin, 0 auto);
    padding: var(--about-content-container-padding, 0);
}
.about-content__content {
    font-size: var(--about-content-content-font-size, 16px);
    color: var(--about-content-content-text-color, inherit);
}

.about-employees {
    background: var(--about-employees-background, #fff);
    margin: var(--about-employees-margin, 0);
    padding: var(--about-employees-padding, 0);
}
.about-employees__container {
    margin: var(--about-employees-container-margin, 0 auto);
    padding: var(--about-employees-container-padding, 0);
}

.employee-summary {
    text-align: var(--employee-summary-text-align, left);
    background: var(--employee-summary-background);
    padding: var(--employee-summary-padding);
    margin: var(--employee-summary-margin);
    border-radius: var(--employee-summary-border-radius);
    box-shadow: var(--employee-summary-box-shadow);
    border-color: var(--employee-summary-border-color);
    border-width: var(--employee-summary-border-width);
    border-style: var(--employee-summary-border-style);
}
.employee-summary__container {
    padding: var(--employee-summary-container-padding);
    margin: var(--employee-summary-container-margin);
}
.employee-summary__title {
    font-size: var(--employee-summary-title-font-size, 24px);
    font-weight: var(--employee-summary-title-font-weight, 700);
    color: var(--employee-summary-title-color, var(--color-blue-600));
    margin: var(--employee-summary-title-margin, 0);
}
.employee-summary__job-title {
    display: block;
    font-size: var(--employee-summary-job-title-font-size, 24px);
    font-weight: var(--employee-summary-job-title-font-weight, 700);
    color: var(--employee-summary-job-title-color, var(--color-blue-900));
    margin: var(--employee-summary-job-title-margin, 0);
}
.employee-summary__contact-details {
    padding: var(--employee-summary-contact-details-padding);
    margin: var(--employee-summary-contact-details-margin, 20px 0);
}
.employee-summary__link {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--employee-summary-link-color, var(--color-blue-600));
    font-size: var(--employee-summary-link-font-size, 18px);
    font-weight: var(--employee-summary-link-font-weight, 700);
    text-decoration: var(--employee-summary-link-text-decoration, underline);
}
.employee-summary__link:hover {
    color: var(--employee-summary-link-hover-color, var(--color-blue-700));
    text-decoration: var(--employee-summary-link-hover-text-decoration, underline);
}
.employee-summary__contact-link {
    text-decoration: none;
    color: var(--employee-summary-contact-link-color, var(--color-blue-600));
}
.employee-summary__contact-link:hover {
    text-decoration: none;
    color: var(--employee-summary-contact-link-hover-color, var(--color-blue-700));
}

.employee-content {
    background: var(--employee-content-background, #fff);
    margin: var(--employee-content-margin, 0);
    padding: var(--employee-content-padding, 0);
}
.employee-content__container {
    margin: var(--employee-content-container-margin, 0 auto);
    padding: var(--employee-content-container-padding, 0);
}
.employee-content__content {
    font-size: var(--employee-content-font-size, 16px);
    color: var(--employee-content-text-color, inherit);
}

.employee-card {
    border-radius: var(--employee-card-border-radius);
    box-shadow: var(--employee-card-box-shadow);
    padding: var(--employee-card-padding, 0);
    background: var(--employee-card-background, #fff);
}
@media screen and (min-width: 1024px) {
    .employee-card {
        max-width: var(--employee-card-max-width, 340px);
        margin: var(--employee-card-margin, 0);
    }
}
.employee-card__body {
    padding: var(--employee-card-body-padding, 0);
    margin: var(--employee-card-body-margin, 0);
}
.employee-card__job-title {
    font-size: var(--employee-card-job-title-font-size);
    font-weight: var(--employee-card-job-title-font-weight);
    color: var(--employee-card-job-title-color);
}
.employee-card__active-since {
    font-size: var(--employee-card-active-since-font-size);
    font-weight: var(--employee-card-active-since-font-weight);
    color: var(--employee-card-active-since-color);
}
.employee-card__contact-details {
    padding: var(--employee-card-contact-details-padding);
    margin: var(--employee-card-contact-details-margin, 20px 0);
}
.employee-card__contact-link {
    text-decoration: none;
    color: var(--employee-card-contact-link-color, var(--color-blue-600));
}
.employee-card__contact-link:hover {
    text-decoration: none;
    color: var(--employee-card-contact-link-hover-color, var(--color-blue-700));
}
.employee-card__socials {
    padding: var(--employee-card-social-padding, 0);
    margin: var(--employee-card-social-margin, 0);
}

.employee-specializations {
    padding: var(--employee-specializations-padding, 0);
    margin: var(--employee-specializations-margin, 0);
}
.employee-specializations__check-icon {
    font-size: var(--employee-specializations-check-icon-font-size, 24px);
    color: var(--employee-specializations-check-icon-color, var(--color-blue-700));
}
.employee-specializations__registry-logo {
    border: var(--employee-specialization-registry-logo-border, none);
    background: var(--employee-specialization-registry-logo-background, #fff);
    border-radius: var(--employee-specialization-registry-logo-border-radius, 6px);
}
.employee-specializations__registry-text {
    font-size: var(--employee-specialization-registry-text-font-size, 16px);
    font-weight: var(--employee-specialization-registry-text-font-weight);
}

.services-content {
    border-top: var(--services-content-border-top, none);
    border-bottom: var(--services-content-border-bottom, none);
    background: var(--services-content-background, #fff);
    margin: var(--services-content-margin, 0);
    padding: var(--services-content-padding, 0);
}
.services-content__container {
    border-top: var(--services-content-container-border-top, none);
    border-bottom: var(--services-content-container-border-bottom, none);
    margin: var(--services-content-container-margin, 0 auto);
    padding: var(--services-content-container-padding, 0);
}
.services-content__content {
    font-size: var(--services-content-font-size, 16px);
    color: var(--services-content-text-color, inherit);
}

.services-overview {
    border-top: var(--services-overview-border-top, none);
    border-bottom: var(--services-overview-border-bottom, none);
    background: var(--services-overview-background, #fff);
    margin: var(--services-overview-margin, 0);
    padding: var(--services-overview-padding, 0);
}
.services-overview__container {
    border-top: var(--services-overview-container-border-top, none);
    border-bottom: var(--services-overview-container-border-bottom, none);
    margin: var(--services-overview-container-margin, 0 auto);
    padding: var(--services-overview-container-padding, 0);
}

.service-content {
    border-top: var(--service-content-border-top, none);
    border-bottom: var(--service-content-border-bottom, none);
    background: var(--service-content-background, #fff);
    margin: var(--service-content-margin, 0);
    padding: var(--service-content-padding, 0);
}
.service-content__container {
    border-top: var(--service-content-container-border-top, none);
    border-bottom: var(--service-content-container-border-bottom, none);
    margin: var(--service-content-container-margin, 0 auto);
    padding: var(--service-content-container-padding, 0);
}
.service-content__content {
    color: var(--service-content-content-color, inherit);
    font-size: var(--service-content-content-font-size, 16px);
}

/* News */
.news-content {
    border-top: var(--news-content-border-top, none);
    border-bottom: var(--news-content-border-bottom, none);
    background: var(--news-content-background, #fff);
    margin: var(--news-content-margin, 0);
    padding: var(--news-content-padding, 0);
}
.news-content__container {
    border-top: var(--news-content-container-border-top, none);
    border-bottom: var(--news-content-container-border-bottom, none);
    margin: var(--news-content-container-margin, 0 auto);
    padding: var(--news-content-container-padding, 0);
}
.news-content__content {
    color: var(--news-content-content-color, inherit);
    font-size: var(--news-content-content-font-size, 16px);
}

.news-overview {
    border-top: var(--news-overview-border-top, none);
    border-bottom: var(--news-overview-border-bottom, none);
    background: var(--news-overview-background, #fff);
    margin: var(--news-overview-margin, 0);
    padding: var(--news-overview-padding, 0);
}
.news-overview__container {
    border-top: var(--news-overview-container-border-top, none);
    border-bottom: var(--news-overview-container-border-bottom, none);
    margin: var(--news-overview-container-margin, 0 auto);
    padding: var(--news-overview-container-padding, 0);
}

.news-post {
    border-top: var(--newspost-border-top, none);
    border-bottom: var(--newspost-border-bottom, none);
    background: var(--newspost-background, #fff);
    margin: var(--newspost-margin, 0);
    padding: var(--newspost-padding, 0);
}
.news-post__container {
    border-top: var(--newspost-container-border-top, none);
    border-bottom: var(--newspost-container-border-bottom, none);
    margin: var(--newspost-container-margin, 0 auto);
    padding: var(--newspost-container-padding, 0 1rem);
}
.news-post__content {
    color: var(--newspost-content-color, inherit);
    font-size: var(--newspost-content-font-size, 16px);
}
.news-post__buttons {
    margin: var(--newspost-buttons-margin, 40px 0 0);
    padding: var(--newspost-buttons-padding, 0);
}

.pagination {
    margin: var(--pagination-margin, 60px 0 15px);
    padding: var(--pagination-padding, 0);
}
.pagination__container {
    margin: var(--pagination-container-margin, 0);
    padding: var(--pagination-container-padding, 0);
}
.pagination__arrow,
.pagination__page {
    background: var(--pagination-item-background, var(--color-stone-50));
    color: var(--pagination-item-color, var(--color-black));
    font-size: var(--pagination-item-font-size, 16px);
    font-weight: var(--pagination-item-font-weight, 700);
    border: var(--pagination-item-border, 1px solid var(--color-stone-100));
    border-radius: var(--pagination-item-border-radius, 6px);
    padding: var(--pagination-item-padding, 8px);
    width: var(--pagination-item-width, 44px);
    height: var(--pagination-item-height, 44px);
    display: flex;
    align-items: center;
    justify-content: center;
}
.pagination__arrow:hover,
.pagination__page:hover {
    border: var(--pagination-item-hover-border, 1px solid var(--color-blue-600));
    background: var(--pagination-item-hover-background, var(--color-blue-500));
    color: var(--pagination-item-hover-color, var(--color-white));
}
.pagination__page.pagination__page--current,
.pagination__page.pagination__page--current:hover {
    border: var(--pagination-item-current-border, 1px solid var(--color-blue-600));
    background: var(--pagination-item-current-background, var(--color-blue-500));
    color: var(--pagination-item-current-color, var(--color-white));
}
.pagination__arrow.pagination__arrow--disabled,
.pagination__arrow.pagination__arrow--disabled:hover {
    border: var(--pagination-item-disabled-border, 1px solid var(--color-stone-100));
    background: var(--pagination-item-disabled-background, var(--color-stone-50));
    color: var(--pagination-item-disabled-color, var(--color-stone-300));
}
.pagination__ellipsis {
    padding: var(--pagination-item-padding, 8px);
    color: var(--pagination-ellipsis-color, inherit);
    font-weight: var(--pagination-ellipsis-font-weight, 400);
}
.pagination__count {
    color: var(--pagination-count-color, var(--color-stone-900));
    font-size: var(--pagination-count-font-size, 16px);
    font-weight: var(--pagination-count-font-weight, 400);
}
.pagination__count-highlight {
    color: var(--pagination-count-highlight-color, var(--color-stone-900));
    font-size: var(--pagination-count-highlight-font-size, 16px);
    font-weight: var(--pagination-count-highlight-font-weight, 700);
}


.contact-details {
    border-top: var(--contact-details-border-top, none);
    border-bottom: var(--contact-details-border-bottom, none);
    background: var(--contact-details-background, #fff);
    margin: var(--contact-details-margin, 0);
    padding: var(--contact-details-padding, 0);
}
.contact-details__container {
    border-top: var(--contact-details-container-border-top, none);
    border-bottom: var(--contact-details-container-border-bottom, none);
    margin: var(--contact-details-container-margin, 0 auto);
    padding: var(--contact-details-container-padding, 0 1rem);
}

.contact-form {
    border-top: var(--contact-form-border-top, none);
    border-bottom: var(--contact-form-border-bottom, none);
    background: var(--contact-form-background, #fff);
    margin: var(--contact-form-margin, 0);
    padding: var(--contact-form-padding, 0);
}
.contact-form__container {
    border-top: var(--contact-form-container-border-top, none);
    border-bottom: var(--contact-form-container-border-bottom, none);
    margin: var(--contact-form-container-margin, 0 auto);
    padding: var(--contact-form-container-padding, 0 1rem);
}
.contact-form__image {
    background: var(--contact-form-banner-background);
}
.contact-form__overlay {
    background: var(--contact-form-banner-overlay-background);
}

.contact-card {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: var(--contact-card-gap, 10px);
    padding: var(--contact-card-padding, 2rem);
    margin: var(--contact-card-margin, 0);
    border-radius: var(--contact-card-border-radius, 8px);
    background: var(--contact-card-background, #fff);
    box-shadow: var(--contact-card-shadow, 0 2px 4px rgba(0, 0, 0, 0.2));
}
.contact-card__icon {
    font-size: var(--contact-card-icon-font-size, 26px);
    color: var(--contact-card-icon-color, var(--color-blue-500));
    margin: var(--contact-card-icon-margin, 0);
    padding: var(--contact-card-icon-padding, 0);
}
.contact-card__title {
    font-family: var(--contact-card-title-font-family, sans-serif);
    line-height: var(--contact-card-title-line-height, 1.3);
    font-size: var(--contact-card-title-font-size, 22px);
    font-weight: var(--contact-card-title-font-weight, 700);
    margin: var(--contact-card-title-margin, 0);
    padding: var(--contact-card-title-padding, 0);
    color: var(--contact-card-title-color, var(--color-black));
}
.contact-card__body {
    text-align: var(--contact-card-body-text-align, center);
}
.contact-card__link {
    color: var(--contact-card-link-color, var(--color-blue-500));
    text-decoration: var(--contact-card-link-decoration, underline);
}
.contact-card__link:hover {
    color: var(--contact-card-link-hover-color, var(--color-blue-700));
    text-decoration: var(--contact-card-link-hover-decoration, underline);
}


/* Widget styles */
.widget {
    padding: var(--widget-padding, 1rem);
    margin: var(--widget-margin, 0);
    border-radius: var(--widget-border-radius, 8px);
}
.widget__title {
    font-size: var(--widget-title-font-size, 22px);
    font-weight: var(--widget-title-font-weight, bold);
    color: var(--widget-title-color, var(--color-stone-800));
}
.widget.widget--home-contact {
    background: var(--widget-home-contact-background, var(--color-stone-100));
    color: var(--widget-home-contact-color);
}
.widget.widget--home-buttons {
    background: var(--widget-home-buttons-background, #fff);
    color: var(--widget-home-buttons-color);
}
.widget.widget--about-contact {
    background: var(--widget-about-contact-background, var(--color-stone-100));
    color: var(--widget-about-contact-color);
}
.widget.widget--about-buttons {
    background: var(--widget-about-buttons-background, #fff);
    color: var(--widget-about-buttons-color);
}
.widget.widget--review-score {
    padding: 1rem;
    font-size: var(--widget-review-score-font-size, 14px);
    background: var(--widget-review-score-background, var(--color-stone-100));
    color: var(--widget-review-score-color);
}
.widget.widget--review-score .widget__title {
    font-size: var(--widget-review-score-title-font-size, 16px);
    line-height: 1;
    color: var(--widget-review-score-title-color);
}
.widget.widget--review-score .widget__score {
    font-size: var(--widget-review-score-score-font-size, 34px);
    line-height: 1.1;
    color: var(--widget-review-score-score-color);
}
.widget--employee-contact {
    background: var(--widget-employee-contact-background, var(--color-stone-100));
    color: var(--widget-employee-contact-color);
    box-shadow: var(--widget-employee-contact-box-shadow, none);
}
a.widget--employee-contact:hover {
    color: var(--widget-employee-contact-hover-color);
}
.widget--employee-contact__icon {
    color: var(--widget-employee-contact-icon-color, var(--color-blue-500));
    font-size: var(--widget-employee-contact-icon-font-size, 22px);
}
.widget--employee-contact__title {
    font-size: var(--widget-employee-contact-title-font-size, 18px);
    color: var(--widget-employee-contact-title-color, var(--color-blue-500));
    font-weight: var(--widget-employee-contact-title-font-weight, 700);
}
.widget.widget--service {
    background: var(--widget-service-background, var(--color-stone-100));
    color: var(--widget-service-color, var(--color-stone-100));
    text-align: var(--widget-service-text-align, center);
    font-size: var(--widget-service-font-size, 16px);
}
.widget.widget--service .widget__title {
    color: var(--widget-service-title-color, var(--color-stone-100));
    margin: var(--widget-service-title-margin, 0 0 1rem);
}

@media screen and (min-width: 1024px) {
    .widget.widget--review-score {
        padding: var(--widget-padding, 1rem);
    }
    .widget.widget--review-score .widget__score {
        font-size: var(--widget-review-score-score-font-size-lg, 72px);
    }
}

/* Form */
.form-field {

}
.form-label {
    font-weight: var(--form-label-font-weight, 700);
    font-family: var(--form-label-font-family, sans-serif);
    font-size: var(--form-label-font-size, 16px);
    color: var(--form-label-color, var(--color-blue-500));
}
.form-label__required {
    font-weight: var(--form-label-required-font-weight, 600);
    color: var(--form-label-required-color, var(--color-red-500));
}
.form-input {
    border-radius: var(--form-input-border-radius, 8px);
    font-size: var(--form-input-font-size, 14px);
    font-weight: var(--form-input-font-weight, 400);
    background: var(--form-input-background, var(--color-white));
    border: var(--form-input-border, 1px solid var(--color-stone-200));
    box-shadow: var(--form-input-box-shadow, none);
    font-family: var(--form-input-font-family, sans-serif);
}
.form-input:focus {
    outline: none;
    border: var(--form-input-focus-border, 1px solid var(--color-stone-200));
    box-shadow: var(--form-input-focus-box-shadow, none);
}
.form-input::placeholder {
    color: var(--form-input-placeholder-color, var(--color-stone-300));
}
.form-input__error {
    font-size: var(--form-error-font-size, 14px);
    font-weight: var(--form-error-font-weight, 400);
    color: var(--form-input-error-color, var(--color-red-500));
}

.form__legal-links {
    margin: var(--form-legal-links-margin, 1rem 0 0);
}