/* Negin Polymer global typography and footer shell. */

:root {
	--np-global-font: "PeydaWeb", Tahoma, Arial, sans-serif;
}

body,
button,
input,
select,
textarea,
.ast-button,
.button,
.wp-block-button__link,
.main-header-menu,
.ast-builder-menu,
.site-title,
.site-description,
.entry-title,
.entry-content,
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6,
.entry-content p,
.entry-content li,
.widget,
.widget-title,
.woocommerce,
.woocommerce-page,
.woocommerce-page button,
.woocommerce-page input,
.woocommerce-page select,
.woocommerce-page textarea {
	font-family: var(--np-global-font) !important;
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body p,
body li,
body a,
body label,
body legend,
body figcaption,
body summary,
body th,
body td,
body small,
body strong,
body em {
	font-family: inherit;
}

body a,
body a:visited,
body a:hover,
body a:focus,
body a:active {
	text-decoration: none !important;
}

body a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.np-site-footer,
.np-site-footer *,
.np-mobile-call-fab,
.np-mobile-call-fab * {
	box-sizing: border-box;
}

.np-mobile-call-fab {
	display: none;
}

.np-site-footer {
	--np-ink: #071d2f;
	--np-ink-soft: #153751;
	--np-blue: #0b6ea8;
	--np-cyan: #5bc6f2;
	--np-green: #10b46f;
	--np-line: rgba(255, 255, 255, 0.14);
	direction: rtl;
	margin-top: 78px;
	color: #ffffff;
	background: #061a2d;
	font-family: inherit;
	letter-spacing: 0;
}

.np-site-footer a {
	color: inherit;
	text-decoration: none;
}

.np-footer-ledger {
	background: #f5f9fc;
	padding: 0 20px;
}

.np-footer-ledger__inner {
	position: relative;
	top: -34px;
	width: min(1180px, 100%);
	margin: 0 auto -34px;
	display: grid;
	grid-template-columns: minmax(280px, 1.2fr) repeat(3, minmax(150px, 0.72fr));
	border: 1px solid #d9e8f2;
	border-radius: 8px;
	background: #ffffff;
	box-shadow: 0 18px 46px rgba(5, 25, 42, 0.12);
	overflow: hidden;
}

.np-footer-ledger__brand,
.np-footer-signal {
	min-height: 112px;
	padding: 20px 22px;
	display: flex;
	align-items: center;
	gap: 16px;
	color: var(--np-ink);
}

.np-footer-ledger__brand {
	background:
		linear-gradient(90deg, rgba(11, 110, 168, 0.08) 1px, transparent 1px),
		linear-gradient(0deg, rgba(11, 110, 168, 0.06) 1px, transparent 1px),
		#ffffff;
	background-size: 26px 26px;
}

.np-footer-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 118px;
	flex: 0 0 auto;
}

.np-footer-logo img {
	display: block;
	width: 100%;
	height: auto;
}

.np-footer-ledger__brand span,
.np-footer-signal span {
	display: block;
	margin-bottom: 6px;
	color: #4f7289;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.7;
}

.np-footer-ledger__brand strong,
.np-footer-signal strong {
	display: block;
	color: var(--np-ink);
	font-size: 15px;
	font-weight: 900;
	line-height: 1.8;
}

.np-footer-signal {
	position: relative;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	border-right: 1px solid #d9e8f2;
	transition: background 170ms ease, color 170ms ease;
}

.np-footer-signal::after {
	content: "";
	position: absolute;
	inset-inline-start: 22px;
	bottom: 18px;
	width: 34px;
	height: 3px;
	border-radius: 999px;
	background: var(--np-green);
}

.np-footer-signal:hover,
.np-footer-signal:focus {
	background: #eef8fd;
	color: var(--np-blue);
}

.np-footer-main {
	background:
		linear-gradient(90deg, rgba(91, 198, 242, 0.08) 1px, transparent 1px),
		linear-gradient(0deg, rgba(91, 198, 242, 0.05) 1px, transparent 1px),
		linear-gradient(135deg, #061a2d 0%, #08243c 54%, #0a3150 100%);
	background-size: 32px 32px, 32px 32px, auto;
	padding: 70px 20px 36px;
}

.np-footer-main__inner {
	width: min(1180px, 100%);
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(280px, 0.95fr) minmax(360px, 1.35fr) minmax(250px, 0.78fr);
	gap: 34px;
	align-items: start;
}

.np-footer-kicker {
	margin: 0 0 10px;
	color: var(--np-cyan);
	font-size: 12px;
	font-weight: 900;
	line-height: 1.7;
	text-transform: uppercase;
}

.np-footer-about h2 {
	margin: 0;
	color: #ffffff;
	font-size: 27px;
	font-weight: 900;
	line-height: 1.75;
	letter-spacing: 0;
}

.np-footer-about p {
	margin: 14px 0 0;
	color: rgba(255, 255, 255, 0.76);
	font-size: 14px;
	line-height: 2.15;
}

.np-footer-address {
	margin-top: 24px;
	padding-top: 18px;
	border-top: 1px solid var(--np-line);
}

.np-footer-address span {
	display: block;
	margin-bottom: 6px;
	color: var(--np-cyan);
	font-size: 12px;
	font-weight: 900;
}

.np-footer-address strong {
	display: block;
	color: rgba(255, 255, 255, 0.88);
	font-size: 14px;
	font-weight: 800;
	line-height: 2;
}

.np-footer-directory {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	padding: 0 28px;
	border-right: 1px solid var(--np-line);
	border-left: 1px solid var(--np-line);
}

.np-footer-linkset h3,
.np-footer-contact h3 {
	margin: 0 0 16px;
	color: #ffffff;
	font-size: 15px;
	font-weight: 900;
	line-height: 1.8;
	letter-spacing: 0;
}

.np-footer-linkset ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 9px;
}

.np-footer-linkset a {
	display: flex;
	align-items: center;
	gap: 9px;
	min-height: 34px;
	color: rgba(255, 255, 255, 0.75);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.7;
	transition: color 160ms ease, transform 160ms ease;
}

.np-footer-linkset a::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--np-green);
	flex: 0 0 auto;
}

.np-footer-linkset a:hover,
.np-footer-linkset a:focus {
	color: #ffffff;
	transform: translateX(-3px);
}

.np-footer-contact {
	display: grid;
	gap: 10px;
	padding: 20px;
	border: 1px solid var(--np-line);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.055);
}

.np-footer-contact__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	min-height: 48px;
	padding: 11px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	color: rgba(255, 255, 255, 0.84);
}

.np-footer-contact__row:first-of-type {
	border-top: 0;
}

.np-footer-contact__row span {
	color: rgba(255, 255, 255, 0.58);
	font-size: 12px;
	font-weight: 800;
	white-space: nowrap;
}

.np-footer-contact__row strong {
	color: #ffffff;
	font-size: 14px;
	font-weight: 900;
	direction: ltr;
	text-align: left;
	overflow-wrap: anywhere;
}

.np-footer-contact__row:hover strong,
.np-footer-contact__row:focus strong {
	color: var(--np-cyan);
}

.np-footer-bottom {
	padding: 18px 20px 22px;
	background: #041524;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.np-footer-bottom__inner {
	width: min(1180px, 100%);
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(250px, 1fr) auto minmax(220px, 0.8fr);
	gap: 18px;
	align-items: center;
}

.np-footer-trust {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}

.np-footer-trust img {
	width: 58px;
	height: auto;
	padding: 7px;
	border-radius: 6px;
	background: #ffffff;
}

.np-footer-trust span,
.np-footer-copy {
	color: rgba(255, 255, 255, 0.64);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.8;
}

.np-footer-social {
	display: flex;
	justify-content: center;
	gap: 8px;
	flex-wrap: wrap;
}

.np-footer-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 7px 13px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 999px;
	color: rgba(255, 255, 255, 0.72);
	font-size: 12px;
	font-weight: 900;
	line-height: 1.4;
	transition: background 160ms ease, color 160ms ease;
}

.np-footer-social a:hover,
.np-footer-social a:focus {
	background: rgba(255, 255, 255, 0.1);
	color: #ffffff;
}

.np-footer-copy {
	margin: 0;
	text-align: left;
}

@media (max-width: 1100px) {
	.np-footer-ledger__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.np-footer-signal:nth-child(3) {
		border-right: 0;
	}

	.np-footer-main__inner {
		grid-template-columns: 1fr;
	}

	.np-footer-directory {
		padding: 28px 0;
		border-right: 0;
		border-left: 0;
		border-top: 1px solid var(--np-line);
		border-bottom: 1px solid var(--np-line);
	}
}

@media (max-width: 760px) {
	.np-site-footer {
		margin-top: 56px;
	}

	.np-mobile-call-fab {
		position: fixed;
		right: 14px;
		bottom: calc(14px + env(safe-area-inset-bottom, 0px));
		z-index: 9998;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 12px;
		width: min(294px, calc(100vw - 96px));
		min-height: 58px;
		padding: 10px 14px;
		border: 1px solid rgba(255, 255, 255, 0.28);
		border-radius: 999px;
		color: #ffffff;
		text-decoration: none;
		background:
			linear-gradient(135deg, rgba(255, 255, 255, 0.18), transparent 42%),
			linear-gradient(135deg, #10b46f 0%, #078d57 100%);
		box-shadow: 0 14px 34px rgba(6, 45, 31, 0.34);
	}

	.np-mobile-call-fab:hover,
	.np-mobile-call-fab:focus {
		color: #ffffff;
		transform: translateY(-2px);
	}

	.np-mobile-call-fab__icon {
		display: inline-grid;
		place-items: center;
		width: 38px;
		height: 38px;
		border-radius: 50%;
		color: #10b46f;
		background: #ffffff;
		box-shadow: inset 0 0 0 1px rgba(16, 180, 111, 0.18);
		flex: 0 0 auto;
	}

	.np-mobile-call-fab__icon svg {
		width: 21px;
		height: 21px;
		fill: currentColor;
	}

	.np-mobile-call-fab__copy {
		display: grid;
		gap: 1px;
		min-width: 0;
		text-align: right;
	}

	.np-mobile-call-fab__copy span {
		color: rgba(255, 255, 255, 0.76);
		font-size: 11px;
		font-weight: 900;
		line-height: 1.4;
	}

	.np-mobile-call-fab__copy strong {
		color: #ffffff;
		font-size: 15px;
		font-weight: 900;
		line-height: 1.35;
		direction: ltr;
	}

	@media (prefers-reduced-motion: no-preference) {
		.np-mobile-call-fab {
			transition: transform 160ms ease, box-shadow 160ms ease;
		}

		.np-mobile-call-fab__icon {
			animation: np-call-breathe 2.4s ease-in-out infinite;
		}
	}

	.np-footer-ledger {
		padding: 0 14px;
	}

	.np-footer-ledger__inner {
		top: -24px;
		margin-bottom: -24px;
		grid-template-columns: 1fr;
	}

	.np-footer-ledger__brand,
	.np-footer-signal {
		min-height: auto;
		padding: 18px;
	}

	.np-footer-signal {
		border-right: 0;
		border-top: 1px solid #d9e8f2;
	}

	.np-footer-logo {
		width: 96px;
	}

	.np-footer-main {
		padding: 48px 14px 28px;
	}

	.np-footer-about h2 {
		font-size: 22px;
	}

	.np-footer-directory {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.np-footer-contact {
		padding: 18px;
	}

	.np-footer-contact__row {
		align-items: flex-start;
		flex-direction: column;
		gap: 4px;
	}

	.np-footer-bottom {
		padding: 18px 14px calc(104px + env(safe-area-inset-bottom, 0px));
	}

	.np-footer-bottom__inner {
		grid-template-columns: 1fr;
		justify-items: start;
	}

	.np-footer-social {
		justify-content: flex-start;
	}

	.np-footer-copy {
		text-align: right;
	}
}

@keyframes np-call-breathe {
	0%,
	100% {
		box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.28), inset 0 0 0 1px rgba(16, 180, 111, 0.18);
	}

	50% {
		box-shadow: 0 0 0 8px rgba(255, 255, 255, 0), inset 0 0 0 1px rgba(16, 180, 111, 0.18);
	}
}


/* Cacheable Peyda font definitions formerly stored in Additional CSS. */
@font-face {
	font-family: 'PeydaWeb';
	src: url('/wp-content/uploads/fonts/PeydaWeb-Regular.woff2') format('woff2'), url('/wp-content/uploads/fonts/PeydaWeb-Regular.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'PeydaWeb';
	src: url('/wp-content/uploads/fonts/PeydaWeb-Bold.woff2') format('woff2'), url('/wp-content/uploads/fonts/PeydaWeb-Bold.woff') format('woff');
	font-weight: bold;
	font-style: normal;
	font-display: swap;
}
