/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* ============================================================
   HubSpot inline forms (legacy v2 embed) — site-matching styles
   Applies to forms rendered via hbspt.forms.create() inside a
   .nexsys-hs-form wrapper. Uses site design tokens:
     primary  #41B6E6   secondary #1A1A1A   text     #535353
     border   #EDEDED   bg2       #F6F8F7   font     Instrument Sans
   ============================================================ */

.nexsys-hs-form {
	max-width: 720px;
	margin: 0 auto;
	font-family: "Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	color: #1A1A1A;
	line-height: 1.5;
}

.nexsys-hs-form .hs-form-frame { display: block; }

.nexsys-hs-form form.hs-form {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.nexsys-hs-form .form-columns-2,
.nexsys-hs-form .form-columns-3 {
	display: grid;
	gap: 1.25rem;
}
.nexsys-hs-form .form-columns-2 { grid-template-columns: 1fr 1fr; }
.nexsys-hs-form .form-columns-3 { grid-template-columns: 1fr 1fr 1fr; }
@media (max-width: 640px) {
	.nexsys-hs-form .form-columns-2,
	.nexsys-hs-form .form-columns-3 { grid-template-columns: 1fr; }
}
.nexsys-hs-form .form-columns-2 > .hs-form-field,
.nexsys-hs-form .form-columns-3 > .hs-form-field {
	width: 100% !important;
	float: none !important;
	padding: 0 !important;
}

.nexsys-hs-form .hs-form-field {
	margin: 0 !important;
	width: 100%;
}

.nexsys-hs-form .hs-form-field > label,
.nexsys-hs-form .hs-form-field > label.hs-main-font-element {
	display: block;
	margin-bottom: 0.4rem;
	font-size: 0.875rem;
	font-weight: 600;
	color: #1A1A1A;
	letter-spacing: 0.01em;
}
.nexsys-hs-form .hs-form-required {
	color: #DC2626;
	margin-left: 0.15rem;
}
.nexsys-hs-form .hs-field-desc {
	display: block;
	margin: 0.15rem 0 0.4rem;
	font-size: 0.8125rem;
	color: #6B7280;
}

.nexsys-hs-form .hs-input,
.nexsys-hs-form input[type="text"],
.nexsys-hs-form input[type="email"],
.nexsys-hs-form input[type="tel"],
.nexsys-hs-form input[type="number"],
.nexsys-hs-form input[type="url"],
.nexsys-hs-form input[type="password"],
.nexsys-hs-form textarea,
.nexsys-hs-form select {
	width: 100% !important;
	box-sizing: border-box;
	padding: 0.75rem 1rem;
	font: inherit;
	font-size: 1rem;
	color: #1A1A1A;
	background-color: #FFFFFF;
	border: 1px solid #EDEDED;
	border-radius: 0.5rem;
	box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
	appearance: none;
}
.nexsys-hs-form textarea {
	min-height: 132px;
	resize: vertical;
	line-height: 1.55;
}
.nexsys-hs-form select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23535353'%3E%3Cpath fill-rule='evenodd' d='M5.23 7.21a.75.75 0 0 1 1.06.02L10 11.06l3.71-3.83a.75.75 0 1 1 1.08 1.04l-4.24 4.38a.75.75 0 0 1-1.08 0L5.21 8.27a.75.75 0 0 1 .02-1.06z' clip-rule='evenodd'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.9rem center;
	background-size: 1.1rem;
	padding-right: 2.5rem;
}

.nexsys-hs-form ::placeholder { color: #9CA3AF; opacity: 1; }

.nexsys-hs-form .hs-input:focus,
.nexsys-hs-form input:focus,
.nexsys-hs-form textarea:focus,
.nexsys-hs-form select:focus {
	outline: none;
	border-color: #41B6E6;
	box-shadow: 0 0 0 4px rgba(65, 182, 230, 0.18);
}

.nexsys-hs-form .hs-form-booleancheckbox-display,
.nexsys-hs-form .hs-form-checkbox-display,
.nexsys-hs-form .hs-form-radio-display {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	font-size: 0.9375rem;
	color: #1A1A1A;
}
.nexsys-hs-form .hs-form-booleancheckbox,
.nexsys-hs-form .hs-form-checkbox,
.nexsys-hs-form .hs-form-radio {
	margin: 0.25rem 0;
	list-style: none;
	padding: 0;
}
.nexsys-hs-form input[type="checkbox"],
.nexsys-hs-form input[type="radio"] {
	width: 1.05rem;
	height: 1.05rem;
	accent-color: #41B6E6;
	flex: 0 0 auto;
	margin-top: 0.2rem;
}

.nexsys-hs-form .hs-input.invalid.error,
.nexsys-hs-form .hs-input.error {
	border-color: #DC2626;
	box-shadow: 0 0 0 4px rgba(220, 38, 38, 0.12);
}
.nexsys-hs-form .hs-error-msgs,
.nexsys-hs-form .hs-error-msg {
	list-style: none;
	padding: 0;
	margin: 0.35rem 0 0;
	font-size: 0.8125rem;
	color: #DC2626;
}

.nexsys-hs-form .hs_submit,
.nexsys-hs-form .hs-submit { margin-top: 0.5rem; }
.nexsys-hs-form .hs-button,
.nexsys-hs-form input[type="submit"].hs-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 160px;
	padding: 0.85rem 1.75rem;
	font: inherit;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.01em;
	color: #FFFFFF;
	background-color: #41B6E6;
	border: 1px solid #41B6E6;
	border-radius: 10rem;
	cursor: pointer;
	transition: background-color 0.18s ease, border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
	box-shadow: 0 1px 2px rgba(16, 24, 40, 0.08);
}
.nexsys-hs-form .hs-button:hover,
.nexsys-hs-form input[type="submit"].hs-button:hover {
	background-color: #1A1A1A;
	border-color: #1A1A1A;
	transform: translateY(-1px);
	box-shadow: 0 8px 20px rgba(26, 26, 26, 0.18);
}
.nexsys-hs-form .hs-button:focus-visible {
	outline: none;
	box-shadow: 0 0 0 4px rgba(65, 182, 230, 0.28);
}
.nexsys-hs-form .hs-button[disabled],
.nexsys-hs-form .hs-button.disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.nexsys-hs-form .submitted-message {
	padding: 1.25rem;
	background: #F0FAF4;
	border: 1px solid #BBE9CC;
	border-radius: 0.75rem;
	color: #166534;
	font-size: 0.9375rem;
}

.nexsys-hs-form .legal-consent-container,
.nexsys-hs-form .hs-richtext {
	font-size: 0.8125rem;
	color: #6B7280;
	line-height: 1.55;
}
.nexsys-hs-form .legal-consent-container a,
.nexsys-hs-form .hs-richtext a {
	color: #41B6E6;
	text-decoration: underline;
}

/* ============================================================
   Partners page — normalise partner logo height so logos with
   different intrinsic aspect ratios (e.g. SIINC, ThreatLocker,
   HP Financing) sit on the same visual baseline as the standard
   500x300 logo tiles. Uses object-fit: contain to preserve each
   logo's aspect ratio within the fixed height.
   ============================================================ */
body.page-id-142 .elementor-142 .elementor-widget-image,
body.page-id-142 .elementor-142 .elementor-widget-image .elementor-widget-container,
body.page-id-142 .elementor-142 .elementor-widget-image a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
}

body.page-id-142 .elementor-142 .elementor-widget-image img {
	height: 120px;
	width: auto;
	max-width: 100%;
	object-fit: contain;
}

@media (max-width: 767px) {
	body.page-id-142 .elementor-142 .elementor-widget-image img {
		height: 90px;
	}
}
