:root {
	--ulthemefy-color-primary: #0f766e;
	--ulthemefy-color-accent: #f59e0b;
	--ulthemefy-color-text: #172033;
	--ulthemefy-color-surface: #ffffff;
	--ulthemefy-color-muted: #6b7280;
	--ulthemefy-font-body: "Segoe UI", sans-serif;
	--ulthemefy-font-heading: "Segoe UI", sans-serif;
	--ultimify-header-max-width: 1320px;
	--ultimify-header-side-padding: 28px;
	--ultimify-header-actions-gap: 14px;
	--ultimify-mobile-bottom-safe: 0px;
}

html {
	box-sizing: border-box;
}

*,
*::before,
*::after {
	box-sizing: inherit;
}

body:not(.ultimify-canvas) {
	margin: 0;
	color: var(--ulthemefy-color-text);
	background: var(--ulthemefy-color-surface);
	font-family: var(--ulthemefy-font-body);
	line-height: 1.5;
}

img {
	height: auto;
	max-width: 100%;
}

body:not(.ultimify-canvas) a {
	color: var(--ulthemefy-color-primary);
}

.ulthemefy-default-content {
	margin: 0 auto;
	max-width: 1080px;
	padding: 32px 20px 64px;
}

.ulthemefy-entry h1,
.ulthemefy-entry h2,
.ulthemefy-entry h3,
.ulthemefy-entry h4 {
	font-family: var(--ulthemefy-font-heading);
	line-height: 1.15;
}

.ulthemefy-entry-content {
	font-size: 1rem;
}

.ulthemefy-entry-content > *:first-child {
	margin-top: 0;
}

body.ultimify-canvas #hdr .container {
	max-width: var(--ultimify-header-max-width) !important;
	width: min(100%, var(--ultimify-header-max-width)) !important;
	padding-left: var(--ultimify-header-side-padding) !important;
	padding-right: var(--ultimify-header-side-padding) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

@media (min-width: 1100px) {
	body.ultimify-canvas #hdr .hdr-inner {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		flex-wrap: nowrap !important;
		gap: 24px !important;
		min-width: 0 !important;
	}

	body.ultimify-canvas #hdr .hdr-nav {
		display: flex !important;
		align-items: center !important;
		flex: 0 1 auto !important;
		min-width: 0 !important;
	}

	body.ultimify-canvas #hdr .hdr-inner > div:last-child {
		display: flex !important;
		align-items: center !important;
		flex-wrap: nowrap !important;
		gap: var(--ultimify-header-actions-gap) !important;
		margin-left: auto !important;
		white-space: nowrap !important;
		flex: 0 0 auto !important;
	}

	body.ultimify-canvas #hdr .hdr-phone,
	body.ultimify-canvas #hdr .btn {
		white-space: nowrap !important;
		flex: 0 0 auto !important;
	}

	body.ultimify-canvas #hdr .hdr-phone {
		display: inline-flex !important;
		align-items: center !important;
	}
}

@media (max-width: 767px) {
	body.ultimify-canvas {
		padding-bottom: 0;
	}
}

.ultimify-form-notice {
	margin-top: 16px;
	padding: 14px 16px;
	border-radius: 14px;
	border: 1px solid transparent;
	font-size: 14px;
	line-height: 1.5;
}

.ultimify-form-notice[hidden] {
	display: none !important;
}

.ultimify-form-notice.is-success {
	background: rgba(34, 197, 94, 0.12);
	border-color: rgba(34, 197, 94, 0.28);
	color: #14532d;
}

.ultimify-form-notice.is-error {
	background: rgba(239, 68, 68, 0.1);
	border-color: rgba(239, 68, 68, 0.22);
	color: #7f1d1d;
}

.ultimify-form-progress {
	position: relative;
	width: 100%;
	height: 4px;
	margin-bottom: 18px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
	overflow: hidden;
}

.ultimify-form-progress[hidden] {
	display: none !important;
}

.ultimify-form-progress span {
	display: block;
	width: 42%;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, rgba(245, 158, 11, 0.2), rgba(245, 158, 11, 1), rgba(245, 158, 11, 0.2));
	transform: translateX(-120%);
	animation: ultimify-form-progress 1.2s ease-in-out infinite;
}

form[data-ulthemefy-form="1"].ultimify-form-is-loading {
	position: relative;
}

form[data-ulthemefy-form="1"].ultimify-form-is-loading button[type="submit"],
form[data-ulthemefy-form="1"].ultimify-form-is-loading input[type="submit"] {
	opacity: 0.88;
	filter: saturate(1.05);
}

form[data-ulthemefy-form="1"].ultimify-form-is-success > * {
	display: none !important;
}

form[data-ulthemefy-form="1"].ultimify-form-is-success > .ultimify-form-notice {
	display: block !important;
	margin-top: 0;
	text-align: center;
	padding: 28px 22px;
	font-size: 15px;
	font-weight: 600;
}

@keyframes ultimify-form-progress {
	0% {
		transform: translateX(-120%);
	}

	100% {
		transform: translateX(260%);
	}
}
