@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

:root {
	--ta-color-primary: #258d15;
	--ta-color-primary-hover: #1d7310;
	--ta-color-accent: #5fae3e;
	--ta-color-navy: #061a3a;
	--ta-color-white: #ffffff;
	--ta-color-light-gray: #f5f6f6;
	--ta-color-border: #e5e9ec;
	--ta-color-text: #666666;
	--ta-color-dark-gray: #26374d;
	--ta-font-family: 'Poppins', Arial, Helvetica, sans-serif;
	--ta-font-size-h1: 46px;
	--ta-font-size-h2: 34px;
	--ta-font-size-h3: 26px;
	--ta-font-size-h4: 20px;
	--ta-font-size-h5: 16px;
	--ta-font-size-h6: 15px;
	--ta-font-size-body: 17px;
	--ta-font-size-small: 15px;
	--ta-font-size-label: 13px;
	--ta-font-weight-regular: 400;
	--ta-font-weight-medium: 500;
	--ta-font-weight-semibold: 600;
	--ta-font-weight-bold: 700;
	--ta-container-width: 1280px;
	--ta-container-gutter: 20px;
	--ta-section-padding: 50px;
	--ta-section-padding-mobile: 40px;
	--ta-grid-gap: 24px;
	--ta-grid-gap-tablet: 20px;
	--ta-grid-gap-mobile: 16px;
	--ta-radius-button: 8px;
	--ta-radius-card: 16px;
	--ta-radius-image: 18px;
	--ta-shadow-card: 0 14px 34px rgba(6, 26, 58, 0.09);
	--ta-shadow-card-hover: 0 20px 42px rgba(6, 26, 58, 0.15);
	--ta-transition: 0.3s ease;
}

html {
	font-family: var(--ta-font-family);
}

body,
button,
input,
select,
textarea {
	font-family: var(--ta-font-family) !important;
}

.total-assurance-header,
.total-assurance-hero,
.total-assurance-home-services,
.total-assurance-calculator,
.total-assurance-providers,
.total-assurance-about,
.total-assurance-statistics,
.total-assurance-service-showcase,
.total-assurance-why-choose,
.total-assurance-values-testimonials,
.total-assurance-latest,
.total-assurance-footer,
.total-assurance-why-choose svg text,
.total-assurance-testimonials-card__quote {
	font-family: var(--ta-font-family) !important;
}

body {
	color: var(--ta-color-text);
	font-size: var(--ta-font-size-body);
	font-weight: var(--ta-font-weight-regular);
	line-height: 1.65;
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
	color: var(--ta-color-navy);
	font-family: var(--ta-font-family) !important;
}

body h1 {
	font-size: var(--ta-font-size-h1) !important;
	font-weight: var(--ta-font-weight-bold) !important;
	letter-spacing: -0.5px !important;
	line-height: 1.15 !important;
	margin-bottom: 18px !important;
}

body h2 {
	font-size: var(--ta-font-size-h2) !important;
	font-weight: var(--ta-font-weight-bold) !important;
	line-height: 1.2 !important;
	margin-bottom: 16px !important;
}

body h3 {
	font-size: var(--ta-font-size-h3) !important;
	font-weight: var(--ta-font-weight-semibold) !important;
	line-height: 1.3 !important;
	margin-bottom: 14px !important;
}

body h4 {
	font-size: var(--ta-font-size-h4) !important;
	font-weight: var(--ta-font-weight-semibold) !important;
	line-height: 1.35 !important;
	margin-bottom: 12px !important;
}

body h5 {
	font-size: var(--ta-font-size-h5) !important;
	font-weight: var(--ta-font-weight-semibold) !important;
}

body h6 {
	font-size: var(--ta-font-size-h6) !important;
	font-weight: var(--ta-font-weight-semibold) !important;
}

body p {
	font-size: var(--ta-font-size-body) !important;
	font-weight: var(--ta-font-weight-regular);
	line-height: 1.65;
}

body small,
body .small-text {
	font-size: var(--ta-font-size-small);
}

body label,
body [class*='__label'],
body [class*='__eyebrow'] {
	font-size: var(--ta-font-size-label);
}

body [class*='__label'],
body [class*='__eyebrow'] {
	color: var(--ta-color-primary);
	font-weight: var(--ta-font-weight-semibold);
	letter-spacing: 2px;
	text-transform: uppercase;
}

.ta-container,
.alignwide,
.total-assurance-header__container,
.total-assurance-hero__container,
.total-assurance-home-services__container,
.total-assurance-calculator__container,
.total-assurance-providers__container,
.total-assurance-about__container,
.total-assurance-statistics__container,
.total-assurance-service-showcase__container,
.total-assurance-why-choose__container,
.total-assurance-values-testimonials__container,
.total-assurance-latest__container,
.total-assurance-footer__container {
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: var(--ta-container-width) !important;
	width: 100%;
}

.total-assurance-hero,
.total-assurance-home-services,
.total-assurance-calculator,
.total-assurance-providers,
.total-assurance-about,
.total-assurance-statistics,
.total-assurance-service-showcase,
.total-assurance-why-choose,
.total-assurance-values-testimonials,
.total-assurance-latest {
	padding-bottom: var(--ta-section-padding) !important;
	padding-left: var(--ta-container-gutter) !important;
	padding-right: var(--ta-container-gutter) !important;
	padding-top: var(--ta-section-padding) !important;
	margin: 0 !important;
}

.total-assurance-calculator,
.total-assurance-about,
.total-assurance-service-showcase,
.total-assurance-latest {
	background-color: #f8faf9 !important;
}

.total-assurance-footer__main {
	padding-bottom: var(--ta-section-padding) !important;
	padding-top: var(--ta-section-padding) !important;
}

.total-assurance-hero {
	padding-bottom: 0 !important;
	padding-top: 0 !important;
}

.ta-button,
.wp-element-button,
body a[class*='__button'],
body a[class*='appointment'],
body button[type='submit'],
.total-assurance-calculator__submit {
	align-items: center;
	background: var(--ta-color-primary);
	border: 1px solid var(--ta-color-primary);
	border-radius: var(--ta-radius-button) !important;
	box-sizing: border-box;
	color: var(--ta-color-white);
	display: inline-flex;
	font-size: 14px !important;
	font-weight: var(--ta-font-weight-semibold) !important;
	height: 42px !important;
	justify-content: center;
	line-height: 1.2;
	min-height: 42px !important;
	padding: 9px 18px !important;
	text-decoration: none;
	transition: background-color var(--ta-transition), border-color var(--ta-transition), color var(--ta-transition), box-shadow var(--ta-transition), transform var(--ta-transition) !important;
}

.ta-button:hover,
.ta-button:focus-visible,
.wp-element-button:hover,
.wp-element-button:focus-visible,
body a[class*='__button']:hover,
body a[class*='__button']:focus-visible,
body a[class*='appointment']:hover,
body a[class*='appointment']:focus-visible,
body button[type='submit']:hover,
body button[type='submit']:focus-visible,
.total-assurance-calculator__submit:hover,
.total-assurance-calculator__submit:focus-visible {
	background: var(--ta-color-primary-hover);
	border-color: var(--ta-color-primary-hover);
	color: var(--ta-color-white);
	transform: translateY(-2px);
}

.ta-button--secondary,
body a[class*='secondary'] {
	background: var(--ta-color-white);
	border-color: var(--ta-color-primary);
	color: var(--ta-color-primary);
}

.ta-button--secondary:hover,
.ta-button--secondary:focus-visible,
body a[class*='secondary']:hover,
body a[class*='secondary']:focus-visible {
	background: var(--ta-color-primary);
	border-color: var(--ta-color-primary);
	color: var(--ta-color-white);
}

.ta-card,
.total-assurance-service-card,
.total-assurance-calculator__result,
.total-assurance-providers__card,
.total-assurance-about__overview,
.total-assurance-about__process,
.total-assurance-service-showcase__card,
.total-assurance-why-card,
.total-assurance-feedback-card,
.total-assurance-values-card,
.total-assurance-testimonials-card,
.total-assurance-article-card,
.total-assurance-contact-card {
	border-radius: var(--ta-radius-card) !important;
	box-shadow: var(--ta-shadow-card);
	transition: box-shadow var(--ta-transition), transform var(--ta-transition) !important;
}

.ta-card:hover,
.ta-card:focus-within,
.total-assurance-service-card:hover,
.total-assurance-service-card:focus-within,
.total-assurance-providers__card:hover,
.total-assurance-service-showcase__card:hover,
.total-assurance-service-showcase__card:focus-within,
.total-assurance-why-card:hover,
.total-assurance-why-card:focus-within,
.total-assurance-feedback-card:hover,
.total-assurance-values-card:hover,
.total-assurance-testimonials-card:hover,
.total-assurance-article-card:hover,
.total-assurance-article-card:focus-within,
.total-assurance-contact-card:hover {
	box-shadow: var(--ta-shadow-card-hover);
	transform: translateY(-6px);
}

.total-assurance-home-services__grid,
.total-assurance-about__container,
.total-assurance-service-showcase__grid,
.total-assurance-why-choose__cards,
.total-assurance-values-testimonials__container,
.total-assurance-latest__container,
.total-assurance-footer__grid {
	gap: var(--ta-grid-gap) !important;
}

.total-assurance-latest__column {
	min-height: 0 !important;
}

.total-assurance-latest__article-grid {
	height: auto !important;
}

.total-assurance-why-card {
	min-height: 340px !important;
}

.total-assurance-feedback-card,
.total-assurance-values-card,
.total-assurance-testimonials-card {
	min-height: 340px !important;
}

.total-assurance-about__overview,
.total-assurance-about__process {
	min-height: 0 !important;
}

body img:not(.total-assurance-header__logo):not(.total-assurance-footer__logo):not(.total-assurance-providers__logo):not(.total-assurance-testimonials-card__avatar) {
	border-radius: var(--ta-radius-image);
	height: auto;
	max-width: 100%;
}

.total-assurance-service-showcase__image-wrap img,
.total-assurance-article-card__image img,
.total-assurance-feedback-card__images img,
.total-assurance-about__image {
	object-fit: cover;
}

body input:not([type='checkbox']):not([type='radio']):not([type='hidden']),
body select {
	border-radius: var(--ta-radius-button) !important;
	min-height: 52px;
	padding: 0 16px !important;
}

body textarea {
	border-radius: var(--ta-radius-button) !important;
	min-height: 150px;
	padding: 16px !important;
}

.total-assurance-menu > li > a {
	font-size: 15px !important;
	font-weight: var(--ta-font-weight-medium) !important;
}

@media (max-width: 1024px) {
	:root {
		--ta-grid-gap: var(--ta-grid-gap-tablet);
		--ta-font-size-h1: 40px;
		--ta-font-size-h2: 30px;
		--ta-font-size-h3: 23px;
		--ta-font-size-h4: 19px;
	}
}

@media (max-width: 640px) {
	:root {
		--ta-grid-gap: var(--ta-grid-gap-mobile);
		--ta-font-size-h1: 34px;
		--ta-font-size-h2: 28px;
		--ta-font-size-h3: 22px;
		--ta-font-size-h4: 18px;
	}

	.total-assurance-hero,
	.total-assurance-home-services,
	.total-assurance-calculator,
	.total-assurance-providers,
	.total-assurance-about,
	.total-assurance-statistics,
	.total-assurance-service-showcase,
	.total-assurance-why-choose,
	.total-assurance-values-testimonials,
	.total-assurance-latest {
		padding-bottom: var(--ta-section-padding-mobile) !important;
		padding-top: var(--ta-section-padding-mobile) !important;
	}

	.total-assurance-hero {
		padding-bottom: 0 !important;
		padding-top: 0 !important;
	}

	.total-assurance-footer__main {
		padding-bottom: var(--ta-section-padding-mobile) !important;
		padding-top: var(--ta-section-padding-mobile) !important;
	}

	.ta-button,
	.wp-element-button,
	body a[class*='__button'],
	body a[class*='appointment'],
	body button[type='submit'],
	.total-assurance-calculator__submit {
		max-width: 100%;
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}
