/* DT.com Main Stylesheet */
/*
1.    Variables
1.1   Variables for colors
1.2   Variables for gradients
2.    General Styles
2.1   Typography
2.1.2 List Items
2.2   Color classes
2.2.1 Text color classes
2.2.2 Border color classes
2.2.3 Background gradients classes
3.    Elementor Default Styles Overrides
3.1   Elementor Typography
3.2   Elementor Buttons
4.    Elementor generic classes 
4.1   Elementor Title Gradients
5.    Elementor Fixes
5.1   Elementor editor overrides
5.2   Elementor Timeline Fixes
6.    HubSpot Forms
6.1   HubSpot Forms overrides
7.    Cookie Consent
*/

/* 1. Variables */

/* 1.1 Variables for colors */
:root {
	/* Primary Colors */
	--red: #E2231A;
	--purple: #74146F;

	/* Secondary Colors */
	--teal: #38EBF9;
	--magenta: #E15BD9;
	--navy: #1E2542;
	--green: #6AD87D;
	--dark-gray: #393B43;

	/* Neutrals */
	--white: #FFFFFF;
	--light-gray: #F2F2F2;
	--gray: #DADBE0;

	/* Legacy Colors */
	--red-legacy: #E1251B;
	--magenta-legacy: #D8317F;
	--purple-legacy: #A21E96;
	--turquoise: #6ADCEA;
	--dark-navy: #151B32;

	/* Legacy Accent Colors */
	--leisure-blue: #303A82;
	--amber: #F7CB50;

	/* Others */
	--aqua: #58BCCA; /* Used in footer. */
	--steel-blue: #6483C5; /* Used for list items */
	--blue: #1A66B4;


}

/* 1.2 Variables for gradients */
:root {
	--gradient-purple: linear-gradient(245deg, #74146F 26.84%, #E2231A 101.41%); /* New Purple Gradient */
	--gradient-cyan: linear-gradient(143deg, #7CF3FC 35%, #2AB6D1 82%); /* New Cyan Gradient */

	--gradient-blue: linear-gradient(262deg, #00A0FF 5.11%, #2B3F82 85.63%); /* gradient-8 */
	--gradient-turquoise: linear-gradient(282deg, #00AAAF 59.64%, #00ACE8 77.53%); /* gradient-3 */
	--gradient-navy: linear-gradient(89deg, #1E2542 20.94%, #2B3F82 68.36%); /* gradient-9 */
	--gradient-aqua: linear-gradient(90deg, #6ADCEA 0%, #356CAF 100%); /* Custom gradient for the contact form page. */
	--gradient-yellow: linear-gradient(90deg, #FEE02A -0.01%, #F4901E 99.92%); /* gradient-7 */
	--gradient-red: linear-gradient(180deg, #E31D1A 0%, #C2085B 100%); /* gradient-2 */
	--gradient-magenta: linear-gradient(269deg, #C30B90 9.15%, #E8247F 50.97%); /* gradient-4 */

	--gradient-cyan-legacy: linear-gradient(72deg, #1799C1 18.52%, #35DFEA 65.77%); /* gradient-5 */
	--gradient-purple-legacy: linear-gradient(245deg, #762469 26.84%, #E21D20 101.41%); /* gradient-1 */
}

/* 1.3 Variables for gradient borders */
/* @see https://dev.to/noriste/production-grade-gradient-bordered-transparent-and-rounded-button-56h4 */
:root {
	/* Default Buttons */
	--border-gradient-red: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' width='100' height='100'%3E%3Crect width='98' height='98' x='1' y='1' stroke='url(%23a)' stroke-width='2' rx='4'/%3E%3Cdefs%3E%3ClinearGradient id='a' x1='2' x2='2' y1='2' y2='98' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23E31D1A'/%3E%3Cstop offset='1' stop-color='%23C2085B'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E") 5 / 5px stretch;
	/* Info Buttons */
	--border-gradient-navy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' width='100' height='100'%3E%3Crect width='98' height='98' x='1' y='1' stroke='url(%23a)' stroke-width='2' rx='4' /%3E%3Cdefs%3E%3ClinearGradient id='a' x1='300' x2='0' y1='99' y2='178' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='.5964' stop-color='%232B3F82'/%3E%3Cstop offset='.7753' stop-color='%231E2542'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E") 5 / 5px stretch;
	/* Success Buttons */
	--border-gradient-turquoise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' width='100' height='100'%3E%3Crect width='98' height='98' x='1' y='1' stroke='url(%23a)' stroke-width='2' rx='4'/%3E%3Cdefs%3E%3ClinearGradient id='a' x1='98' x2='15' y1='8' y2='-5' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='.5964' stop-color='%2300AAAF'/%3E%3Cstop offset='.7753' stop-color='%2300ACE8'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E") 5 / 5px stretch;
	/* Ghost Buttons */
	--border-white: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' width='100' height='100'%3E%3Crect width='98' height='98' x='1' y='1' stroke='white' stroke-width='2' rx='4'/%3E%3C/svg%3E") 5 / 5px stretch;
}

/* 2.  General Styles */

body{
	overflow-y: scroll;
}

form input[type],
form select,
form textarea{
	transition: none;
}

/* 2.1 Typography */

p:only-child {
	margin: 0;
	line-height: inherit;
}

/* 2.1.1 Links */

a {
	color: var(--red);
}

a:active,
a:hover {
	color: var(--dark-gray);
}

.link-default a,
a.link-default {
	color: inherit;
	font-weight: inherit;
	font-size: inherit;
}

.disable-link a,
a.disable-link {
	pointer-events: none;
	text-decoration: none;
}

/* 2.1.2 List Items */

ul:not(.list-default) {
	list-style-type: none;
	padding: 0;
	margin: 0;
}

.list-default ul li:not(#id),
ul.list-default li:not(#id),
.no-list ul li:not(#id),
ul.no-list li:not(#id) {
	padding: 0;
}

.list-default ul li:not(#id):before,
ul.list-default li:not(#id):before,
.no-list ul li:not(#id):before,
ul.no-list li:not(#id):before {
	display: none;
}

:where(ul:not(.list-default):not(.no-list)) li {
	position: relative;
	padding-left: 32px;
}

:where(ul:not(.list-default):not(.no-list)) li:before {
	content: '';
	display: inline-block;
	position: absolute;
	width: 8px;
	height: 8px;
	border-top: 3px solid;
	border-left: 3px solid;
	vertical-align: middle;
	transform: rotate(135deg);
	left: 9px;
	top: 9px;
	top: 0.55em;
	top: 0.9ch;
	top: 1ex;
	top: 0.35lh;
}

.list-no-indent li:not(#id) {
	padding-left: 20px;
}

.list-no-indent li:not(#id):before {
	left: 0;
}

@counter-style lower-alpha-parentheses {
	system: extends lower-alpha;
	prefix: "(";
	suffix: ") ";
}

@counter-style lower-roman-parentheses {
	system: extends lower-roman;
	prefix: "(";
	suffix: ") ";
}

.list-alpha-parentheses {
	list-style-type: lower-alpha;
	list-style-type: lower-alpha-parentheses;
}

.list-roman-parentheses {
	list-style-type: lower-roman;
	list-style-type: lower-roman-parentheses;
}


/* 2.2 Color classes */

/* 2.2.1 Typography classes */
.list-teal:not(.list-default):not(.no-list) li:before {
	border-color: var(--teal);
}

.list-red:not(.list-default):not(.no-list) li:before {
	border-color: var(--red);
}

.list-blue:not(.list-default):not(.no-list) li:before {
	border-color: var(--steel-blue);
}


/* 2.2.2 Border color classes */
.border-teal {
	border-color: var(--teal);
}

/* 2.2.3 Background gradients */
.gradient-bg-blue {
	background-image: var(--gradient-blue, #303A82);
}

.gradient-bg-cyan {
	background-image: var(--gradient-cyan, #7CF3FC);
}

.gradient-bg-turquoise {
	background-image: var(--gradient-turquoise, #58BCCA);
}

.gradient-bg-navy {
	background-image: var(--gradient-navy, #1E2542);
}

.gradient-bg-yellow {
	background-image: var(--gradient-yellow, #F7CB50);
}

.gradient-bg-red {
	background-image: var(--gradient-red, #E1251B);
}

.gradient-bg-magenta {
	background-image: var(--gradient-magenta, #D8317F);
}

.gradient-bg-purple {
	background-image: var(--gradient-purple, #74146F);
}


/* 3. Elementor Default Styles Overrides */

/* 3.1 Elementor Typography */
.elementor-icon-list-item:has(.elementor-icon-list-icon):before {
	display: none;
}

.elementor-widget .elementor-icon-list-item:not(:has(.elementor-icon-list-icon)) {
	padding-left: 32px;
}

/* 3.1.1 List Styling for Heading widget */
.list-item .elementor-heading-title {
	position: relative;
	padding-left: 32px;
	border-color: inherit;
}

.list-item .elementor-heading-title:before {
	content: '';
	display: inline-block;
	position: absolute;
	width: 8px;
	height: 8px;
	border-top: 3px solid;
	border-left: 3px solid;
	vertical-align: middle;
	left: 9px;
	top: 9px;
	transform: rotate(135deg);
	border-color: inherit;
}

.list-item.list-no-indent .elementor-heading-title {
	padding-left: 20px;
}

.list-item.list-no-indent .elementor-heading-title:before {
	left: 0;
}


/* 3.2 Elementor Buttons */

/* Default button styling */
/* Form Submit button */
/* Load More button */
/* DCE PDF Controls button */
.elementor-widget-button:not([class*="elementor-button-"]) .elementor-button,
.elementor-field-type-submit .elementor-button,
.e-loop__load-more .elementor-button,
.elementor-widget-dce-pdf-viewer:not(.default-button) .dce-pdf-controls button {
	background-color: transparent;
	border-radius: 5px;
	/* Uses a border-image to simulate the border-radius with the gradient. */
	border-image: var(--border-gradient-red);
}

.elementor-widget-button:not(.elementor-button-ghost) .elementor-button:not(:hover):not(:active):not(:focus) .elementor-button-text,
.elementor-field-type-submit .elementor-button:not(:hover):not(:active):not(:focus) .elementor-button-text,
.e-loop__load-more .elementor-button:not(:hover):not(:active):not(:focus) .elementor-button-text {
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.elementor-widget-dce-pdf-viewer:not(.default-button) .dce-pdf-controls button {
	color: var(--red);
	transition: none;
}

.elementor-widget-button:not([class*="elementor-button-"]) .elementor-button-text,
.elementor-field-type-submit .elementor-button .elementor-button-text,
.e-loop__load-more .elementor-button .elementor-button-text {
	background: var(--gradient-red, #E31D1A);
	color: var(--red);
	/* Fallback */
	fill: var(--red);
}

.elementor-widget-button .elementor-button .elementor-button-icon {
	/* Gradient is not possible on icons. We instead use the nearest solid color. */
	fill: #d31338;
	color: #d31338;
	position: relative;
	top: 0.1rem;
}

.elementor-button-content-wrapper {
	gap: 10px;
}

.elementor-widget-button:not([class*="elementor-button-"]) .elementor-button:hover,
.elementor-field-type-submit .elementor-button:hover,
.e-loop__load-more .elementor-button:hover,
.elementor-widget-dce-pdf-viewer:not(.default-button) .dce-pdf-controls button:hover,
.elementor-widget-button:not([class*="elementor-button-"]) .elementor-button:active,
.elementor-field-type-submit .elementor-button:active,
.e-loop__load-more .elementor-button:active,
.elementor-widget-dce-pdf-viewer:not(.default-button) .dce-pdf-controls button:active,
.elementor-widget-button:not([class*="elementor-button-"]) .elementor-button:focus,
.elementor-field-type-submit .elementor-button:focus,
.e-loop__load-more .elementor-button:focus,
.elementor-widget-dce-pdf-viewer:not(.default-button) .dce-pdf-controls button:focus {
	background-image: var(--gradient-red);
	color: var(--white);
}

.elementor-widget-button .elementor-button:hover .elementor-button-text,
.elementor-field-type-submit .elementor-button:hover .elementor-button-text,
.e-loop__load-more .elementor-button:hover .elementor-button-text,
.elementor-widget-button .elementor-button:active .elementor-button-text,
.elementor-field-type-submit .elementor-button:active .elementor-button-text,
.e-loop__load-more .elementor-button:active .elementor-button-text,
.elementor-widget-button .elementor-button:focus .elementor-button-text,
.elementor-field-type-submit .elementor-button:focus .elementor-button-text,
.e-loop__load-more .elementor-button:focus .elementor-button-text {
	background: none;
	color: var(--white);
	fill: var(--white);
}

.elementor-widget-button .elementor-button:hover .elementor-button-icon,
.elementor-widget-button .elementor-button:active .elementor-button-icon,
.elementor-widget-button .elementor-button:focus .elementor-button-icon {
	fill: var(--white);
}


/* Info button styling */
.elementor-widget-button.elementor-button-info .elementor-button {
	background-color: transparent;
	border-radius: 5px;
	border-image: var(--border-gradient-navy);
}

.elementor-widget-button.elementor-button-info .elementor-button-text {
	background: var(--gradient-navy, #2B3F82);
	color: var(--navy);
	/* Fallback */
	fill: var(--navy);
}

.elementor-widget-button.elementor-button-info .elementor-button .elementor-button-icon {
	/* Gradient is not possible on icons. We instead use the nearest solid color. */
	fill: var(--navy);
	color: var(--navy);
}

.elementor-widget-button.elementor-button-info .elementor-button .elementor-align-icon-right {
	/* Gradient is not possible on icons. We instead use the nearest solid color. */
	fill: #2B3F82;
	color: #2B3F82;
}

.elementor-widget-button.elementor-button-info .elementor-button:hover,
.elementor-widget-button.elementor-button-info .elementor-button:active,
.elementor-widget-button.elementor-button-info .elementor-button:focus {
	background-image: var(--gradient-navy);
}

.elementor-widget-button.elementor-button-info .elementor-button:hover .elementor-button-icon,
.elementor-widget-button.elementor-button-info .elementor-button:active .elementor-button-icon,
.elementor-widget-button.elementor-button-info .elementor-button:focus .elementor-button-icon {
	fill: var(--white);
}

/* Success button styling */
.elementor-widget-button.elementor-button-success .elementor-button {
	background-color: transparent;
	border-radius: 5px;
	border-image: var(--border-gradient-turquoise);
}

.elementor-widget-button.elementor-button-success .elementor-button-text {
	background: var(--gradient-turquoise, #58BCCA);
	color: var(--aqua);
	/* Fallback */
	fill: var(--aqua);
}

.elementor-widget-button.elementor-button-success .elementor-button .elementor-button-icon {
	/* Gradient is not possible on icons. We instead use the nearest solid color. */
	fill: #00ACE8;
	color: #00ACE8;
}

.elementor-widget-button.elementor-button-success .elementor-button .elementor-align-icon-right {
	/* Gradient is not possible on icons. We instead use the nearest solid color. */
	fill: #00aaaf;
	color: #00aaaf;
}

.elementor-widget-button.elementor-button-success .elementor-button:hover,
.elementor-widget-button.elementor-button-success .elementor-button:active,
.elementor-widget-button.elementor-button-success .elementor-button:focus {
	background-image: var(--gradient-turquoise);
}

.elementor-widget-button.elementor-button-success .elementor-button:hover .elementor-button-icon,
.elementor-widget-button.elementor-button-success .elementor-button:active .elementor-button-icon,
.elementor-widget-button.elementor-button-success .elementor-button:focus .elementor-button-icon {
	fill: var(--white);
}

/* Ghost button styling */
.elementor-widget-button.elementor-button-ghost .elementor-button {
	transition: none;
	background-color: transparent;
	border-radius: 5px;
	border-image: var(--border-white);
}

.elementor-widget-button.elementor-button-ghost .elementor-button-text {
	color: var(--white);
}

.elementor-widget-button.elementor-button-ghost .elementor-button .elementor-button-icon {
	/* Gradient is not possible on icons. We instead use the nearest solid color. */
	fill: var(--white);
	color: var(--white);
}

.elementor-widget-button.elementor-button-ghost .elementor-button:hover,
.elementor-widget-button.elementor-button-ghost .elementor-button:active,
.elementor-widget-button.elementor-button-ghost .elementor-button:focus {
	background-color: var(--white);
}

.elementor-widget-button.elementor-button-ghost .elementor-button:hover .elementor-button-text,
.elementor-widget-button.elementor-button-ghost .elementor-button:active .elementor-button-text,
.elementor-widget-button.elementor-button-ghost .elementor-button:focus .elementor-button-text {
	color: var(--red);
}

.elementor-widget-button.elementor-button-ghost .elementor-button:hover .elementor-button-icon,
.elementor-widget-button.elementor-button-ghost .elementor-button:active .elementor-button-icon,
.elementor-widget-button.elementor-button-ghost .elementor-button:focus .elementor-button-icon {
	fill: var(--red);
}


/* Button sizes */
.elementor-button {
	line-height: 1.2857;
	white-space: nowrap;
}

.elementor-button.elementor-size-sm,
.dce-pdf-controls button {
	font-size: 0.875rem;
}

/* 3.3 Elementor videos */
.elementor-element.elementor-widget-video .elementor-wrapper iframe,
.elementor-element.elementor-widget-video .elementor-wrapper video {
	background-color: transparent;
}

/* 4. Elementor generic classes */

/* 4.1 Elementor Title Gradients */

.elementor-element[class*="gradient-title-"] [class*="-title"] {
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	padding-bottom: 5px;
	margin-bottom: -5px;
	display: inline-block;
}

.elementor-element.gradient-title-blue [class*="-title"] {
	background-image: var(--gradient-blue, #303A82);
}

.elementor-element.gradient-title-cyan [class*="-title"] {
	background-image: var(--gradient-cyan, #7CF3FC);
}

.elementor-element.gradient-title-turquoise [class*="-title"] {
	background-image: var(--gradient-turquoise, #58BCCA);
}

.elementor-element.gradient-title-navy [class*="-title"] {
	background-image: var(--gradient-navy, #1E2542);
}

.elementor-element.gradient-title-aqua [class*="-title"] {
	background-image: var(--gradient-aqua, #00A0FF);
}

.elementor-element.gradient-title-yellow [class*="-title"] {
	background-image: var(--gradient-yellow, #F7CB50);
}

.elementor-element.gradient-title-red [class*="-title"] {
	background-image: var(--gradient-red, #E1251B);
}

.elementor-element.gradient-title-purple [class*="-title"] {
	background-image: var(--gradient-purple, #762469);
}

.elementor-element.gradient-title-magenta [class*="-title"] {
	background-image: var(--gradient-magenta, #D8317F);
}

/* 5. Elementor fixes */

/* 5.1 Elementor editor overrides */
.elementor-editor-active .elementor-editor-element-settings .elementor-editor-element-setting:not(#id) {
	padding-left: 0;
	margin-bottom: 0;
}

.elementor-editor-active .elementor-editor-element-settings .elementor-editor-element-setting:not(#id):before {
	display: none;
}

/* 5.2 Elementor Timeline Fixes */
.pswfe-process li:before {
	border-top: 0;
	border-left: 0;
}

.pswfe-process .pswfe-vertical-marker-text svg,
.pswfe-process .pswfe-marker-text svg {
	width: calc(var(--marker-size) * var(--marker-text-size));
	max-height: calc(var(--marker-size)* var(--marker-text-size));
	height: auto;
	fill: currentColor;
}

.pswfe-steps.pswfe-process {
	overflow: initial;
}

.pswfe-process .pswfe-hover-animation {
	/* Fix for Safari */
    -webkit-mask-image: -webkit-radial-gradient(white, black);
}

/* Elementor Tabs fix */
.elementor-widget-n-tabs .e-n-tab-title {
	--n-tabs-title-align-items-toggle: flex-start;
}

.elementor-widget-n-tabs [data-touch-mode=true] .e-n-tab-title[aria-selected=false]:hover .e-n-tab-icon i:last-child,
.elementor-widget-n-tabs [data-touch-mode=true] .e-n-tab-title[aria-selected=false]:hover .e-n-tab-icon svg:last-child {
	height: var(--n-tabs-icon-size, var(--n-tabs-title-font-size));
}

/* 5.3 Dynamic Content for Elementor */
/* 5.3.1 DCE PDF */
input.dce-pdf-current-page {
	background-color: #ffffff;
	border-color: var(--dark-gray);
	border-width: 2px 2px 2px 2px;
	border-radius: 5px 5px 5px 5px;
	font-size: 0.875rem;
	color: #1f2124;
	padding: .5rem 1rem;
	min-height: 41px;
	-moz-appearance: textfield;
	text-align: center;
}
input.dce-pdf-current-page::-webkit-outer-spin-button,
input.dce-pdf-current-page::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.dce-pdf-renderer{
    width: 100%;
}

.elementor-widget-dce-pdf-viewer:not(.default-button) .dce-pdf-controls button {
	padding: 9px 30px;
}

/* 6. HubSpot Forms */

/* 6.1 HubSpot Forms overrides */
.hbspt-form form {
	display: flex;
	flex-direction: column;
}

.hbspt-form form fieldset {
	width: 100%;
	max-width: 100%;
}

.hbspt-form form input[type="text"]:not(#id),
.hbspt-form form input[type="email"]:not(#id),
.hbspt-form form input[type="tel"]:not(#id),
.hbspt-form form textarea,
.hbspt-form form select {
	background-color: #ffffff;
	border-color: var(--gray);
	border-width: 2px 2px 2px 2px;
	border-radius: 5px 5px 5px 5px;
	font-size: 0.875rem;
	color: #1f2124;
	padding: .5rem 1rem;
	min-height: 41px;
}

.hbspt-form form input[type="text"]:focus,
.hbspt-form form input[type="email"]:focus,
.hbspt-form form input[type="tel"]:focus,
.hbspt-form form textarea:focus,
.hbspt-form form textarea:focus {
	outline: 0;
}

.hbspt-form form input::placeholder,
.hbspt-form form textarea::placeholder {
	color: var(--dark-gray);
	opacity: 1;
}

.hbspt-form form .hs-form-field {
	margin-bottom: 24px;
}

.hbspt-form form .form-columns-1 .input {
	display: flex;
}

.hbspt-form form .form-columns-1 .input .hs-input:not([type="checkbox"]) {
	width: 100%;
}

.hbspt-form form fieldset[class*="form-columns"] .field:last-child .input {
	margin-right: 0;
}

/* Overrides of the default list styling from the theme. */
.hbspt-form .hs-form-booleancheckbox:before {
	display: none;
}

.hbspt-form .hs-form-booleancheckbox {
	padding-left: 0;
	margin-bottom: 10px;
}

.hbspt-form .hs-form-booleancheckbox-display input.hs-input[type="checkbox"],
.hbspt-form .hs-form-radio-display input.hs-input[type="radio"] {
	width: 18px;
	height: 18px;
	margin-right: 10px;
	margin-top: 2px;
	flex-shrink: 0;
}

.hbspt-form .hs-form-booleancheckbox-display,
.hbspt-form .hs-form-radio-display {
	display: flex;
}

.hbspt-form .hs-form-booleancheckbox .hs-form-booleancheckbox-display > span,
.hbspt-form .hs-form-radio .hs-form-radio-display > span{
	display: block;
	line-height: 1.3;
	margin: 0;
}

/* Overrides default list item styling. */
.hbspt-form .inputs-list:not(.hs-error-msgs) li {
	padding-left: 0;
	margin-bottom: 5px;
}
.hbspt-form .inputs-list li:before {
	display: none;
}

/* Only hide labels by default if they have a placeholder... */
.hbspt-form form label[for]:has(~ .input :is(input,textarea)[placeholder]:not([placeholder=""])):not(.hs-form-booleancheckbox-display),
/* ..or if they are empty. */
.hbspt-form form label[for]:has(> span:empty):not(.hs-form-booleancheckbox-display),
.hbspt-form form label[placeholder="Enter your "] {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.hbspt-form form .field > label[for] {
	margin: 10px 0;
	font-weight: 600;
}

.hbspt-form form .field > label[for] + legend:not(:empty) {
	margin-top: -10px;
	margin-bottom: 10px;
	font-size: smaller;
}

.hbspt-form form .hs-submit input.hs-button[type="submit"] {
	border: none;
	border-image: var(--border-gradient-red);
	font-size: 0.875rem;
	line-height: 1.2857;
	white-space: nowrap;
	color: #d41338;
	transition: none;
	font-family: inherit;
	text-shadow: none;
}

.hbspt-form form .inputs-list {
	line-height: 1;
}

.hbspt-form form .hs-error-msgs label:not(.hs-error-msg) {
	display: none;
}

.hbspt-form form label.hs-error-msg {
	font-size: 0.625rem;
	position: absolute;
	letter-spacing: -0.5px;
	padding-top: 6px;
	padding-left: 18px;
	font-family: inherit;
}

.hbspt-form form .hs-error-msg:before {
	content: '!';
	display: inline-block;
	width: 12px;
	height: 12px;
	background-color: var(--red);
	border-radius: 50%;
	text-align: center;
	vertical-align: middle;
	line-height: 12px;
	color: var(--white);
	font-size: 10px;
	font-weight: bold;
	position: absolute;
	left: 2px;
	top: 4px;
}

.hbspt-form form .input .invalid.error {
	border-color: rgba(225, 37, 27, 0.4);
}

.hbspt-form form .hs-submit input.hs-button[type="submit"]:hover,
.hbspt-form form .hs-submit input.hs-button[type="submit"]:focus,
.hbspt-form form .hs-submit input.hs-button[type="submit"]:active {
	background-image: var(--gradient-red);
	color: #FFFFFF;
	outline: none;
	font-family: inherit;
}

.hbspt-form form .hs_error_rollup {
	order: 1;
	display: flex;
	align-items: center;
	position: relative;
	/* Hidden for now */
	display: none !important;
}

.hbspt-form form .hs_error_rollup .hs-error-msgs {
	top: 0;
	position: absolute;
}

.hbspt-form form .hs_error_rollup .hs-error-msgs li:not(#id) {
	padding-left: 24px;
	position: relative;
	font-size: 0.875rem;
	margin-top: 10px;
}

.hbspt-form form .hs_error_rollup .hs-error-msgs li:not(#id):before {
	content: '!';
	display: inline-block;
	width: 16px;
	height: 16px;
	background-color: var(--red);
	border-radius: 50%;
	text-align: center;
	vertical-align: middle;
	line-height: 16px;
	color: var(--white);
	font-size: 12px;
	font-weight: bold;
	position: absolute;
	left: 0;
}

@media (max-width: 400px),
(min-device-width: 320px) and (max-device-width: 480px) {
	.hbspt-form form .form-columns-2 .hs-form-field.field .input {
		margin-right: 0;
	}

	.hbspt-form form .form-columns-2 .hs-form-field.field .input .hs-input {
		width: 100%;
	}
}


/* 7. Cookie Consent */

/* 7.1 Hiding Cookie consent banner by default when it's blocked by the browser (ex: Brave or Safari on iOS) */

#cliSettingsPopup[aria-hidden="true"] {
	display: none; /* Impacts all browsers without causing any issue if not blocked by the browser. */
}

#cookie-law-info-bar:not([data-cli-type]) {
	display: none; /* [data-cli-type] is added by JS. If it's not there, then the browser is blocking the script. */
}

/* 7.2 Cookie Consent warning when a feature is disabled. */
.wt-cli-iframe-placeholder .wt-cli-inner-text {
	background-image: var(--gradient-yellow, #F7CB50);
	margin: 16px;
	padding: 16px;
	line-height: 1.2;
	border-radius: 30px;
	font-weight: bold;
	position: relative;
	overflow: hidden;
}

.wt-cli-iframe-placeholder .wt-cli-inner-text .cli_manage_current_consent {
	color: var(--blue);
}

.cli_manage_current_consent:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0);
	transition: background-color 0.2s;
}
.cli_manage_current_consent:hover:before {
	background-color: rgba( 0,0,0,0.1);
}

/* 7.3 Cookie consent banner and pop-up. */

#cliSettingsPopup:focus-visible,
#cliSettingsPopup button:focus-visible,
#cliSettingsPopup a:focus-visible,
.cli-modal-body a:focus-visible,
#cliSettingsPopup input:focus-visible + .cli-slider,
.cli-modal-body input:focus-visible + .cli-slider,
.cli-modal-body .cli-tab-pane:focus-visible {
    outline: Highlight auto 1px;
    outline: -webkit-focus-ring-color auto 1px;
}

#cookie-law-info-bar {
	width: 480px; !important;
	padding: 25px !important;
}

.cli-modal-open #cookie-law-info-bar {
	opacity: 1 !important;
	z-index: 1000;
}

#cookie-law-info-bar #wt-cli-cookie-banner-title,
#wt-cli-privacy-title {
	margin-bottom: 15px;
	text-align: left;
	background-image: var(--gradient-purple, #74146F);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-size: 1.25rem;
	line-height: 1;
}

#wt-cli-cookie-banner .cli-bar-message {
	line-height: 1.5;
	margin-bottom: 25px;
	font-size: 1rem;
}

#wt-cli-cookie-banner .cli-bar-btn_container {
	height: 28px;
	text-align: right;
}
#wt-cli-cookie-banner .cli-bar-btn_container a:last-child {
	margin-right: 0;
}

.cli-preference-btn-wrapper {
	justify-content: space-between;
}
.cli-preference-btn-wrapper .wt-cli-element:not(:last-child) {
	margin-right: 10px;
	flex: 0 1 auto;
}

#wt-cli-cookie-banner #wt-cli-accept-btn,
#wt-cli-cookie-banner #wt-cli-settings-btn {
	padding: 10px 20px 11px !important;
	font-size: 0.875rem;
}

#wt-cli-save-preferences-btn,
#wt-cli-reject-btn,
#wt-cli-settings-btn,
#wt-cli-accept-btn,
#wt-cli-accept-all-btn {
	background-color: transparent;
	border-image: var(--border-gradient-red);
	font-family: "Figtree", Sans-serif;
	font-weight: bold;
	text-transform: uppercase;
	padding: 11px 30px !important;
	border-radius: 5px !important;
	font-size: 0.875rem;
	cursor: pointer;
	opacity: 1;
	line-height: 1.2857;
}

#wt-cli-save-preferences-btn {
	border-image: var(--border-gradient-navy);
	cursor: pointer;
}

#wt-cli-accept-all-btn,
#wt-cli-accept-btn {
	border-image: var(--border-gradient-turquoise);
	cursor: pointer;
}
#wt-cli-save-preferences-btn:not(:hover):not(:active):not(:focus) .inner-text,
#wt-cli-reject-btn:not(:hover):not(:active):not(:focus) .inner-text,
#wt-cli-settings-btn:not(:hover):not(:active):not(:focus) .inner-text,
#wt-cli-accept-btn:not(:hover):not(:active):not(:focus) .inner-text,
#wt-cli-accept-all-btn:not(:hover):not(:active):not(:focus) .inner-text {
	background-image: var(--gradient-red, #E31D1A);
	-webkit-text-fill-color: transparent;
	-webkit-background-clip: text;
	background-clip: text;
	color: var(--red);
	fill: var(--red);
	display: inline-block;
}
#wt-cli-accept-btn:not(:hover):not(:active):not(:focus) .inner-text,
#wt-cli-accept-all-btn:not(:hover):not(:active):not(:focus) .inner-text {
	background-image: var(--gradient-turquoise, #58BCCA);
	color: var(--aqua);
	fill: var(--aqua);
}
#wt-cli-save-preferences-btn:not(:hover):not(:active):not(:focus) .inner-text {
	background-image: var(--gradient-navy, #2B3F82);
	color: var(--navy);
	fill: var(--navy);
}
#wt-cli-reject-btn:hover,
#wt-cli-reject-btn:active,
#wt-cli-reject-btn:focus,
#wt-cli-settings-btn:hover,
#wt-cli-settings-btn:active,
#wt-cli-settings-btn:focus {
	background-image: var(--gradient-red);
}
#wt-cli-accept-btn:hover,
#wt-cli-accept-btn:active,
#wt-cli-accept-btn:focus,
#wt-cli-accept-all-btn:hover,
#wt-cli-accept-all-btn:active,
#wt-cli-accept-all-btn:focus {
	background-image: var(--gradient-turquoise, #58BCCA);
}
#wt-cli-save-preferences-btn:hover,
#wt-cli-save-preferences-btn:active,
#wt-cli-save-preferences-btn:focus {
	background-image: var(--gradient-navy);
}
#wt-cli-save-preferences-btn:hover .inner-text,
#wt-cli-save-preferences-btn:active .inner-text,
#wt-cli-save-preferences-btn:focus .inner-text,
#wt-cli-reject-btn:hover .inner-text,
#wt-cli-reject-btn:active .inner-text,
#wt-cli-reject-btn:focus .inner-text,
#wt-cli-settings-btn:hover .inner-text,
#wt-cli-settings-btn:active .inner-text,
#wt-cli-settings-btn:focus .inner-text,
#wt-cli-accept-btn:hover .inner-text,
#wt-cli-accept-btn:active .inner-text,
#wt-cli-accept-btn:focus .inner-text,
#wt-cli-accept-all-btn:hover .inner-text,
#wt-cli-accept-all-btn:active .inner-text,
#wt-cli-accept-all-btn:focus .inner-text {
	color: var(--white);
	fill: var(--white);
}

.cli-tab-container .cli-row {
	max-height: calc( 100vh - 140px );
	max-height: calc( 100dvh - 140px );
}
.cli-bar-popup .cli-modal-close:hover,
.cli-bar-popup .cli-modal-close:focus {
	background: none;
}

/* Hide categories with no cookies. */
/*
.cli-tab-section:not(:has(.cookielawinfo-row-cat-table)) {
	display: none;
}
*/
.cli-tab-header {
	background-color: var(--light-gray);
}
.cli-tab-header .cli-nav-link:before {
	content: '';
	display: inline-block;
	width: 8px;
	height: 8px;
	border: 0;
	border-top: 3px solid;
	border-left: 3px solid;
	vertical-align: middle;
	transform: rotate(135deg);
	left: 4px;
	top: 9px;
	border-color: var(--blue);
}
.cli-tab-header.cli-tab-active .cli-nav-link:before,
.cli-sub-tab-header.cli-tab-active .cli-nav-link:before {
	transform: rotate(225deg);
}

.cli-switch .cli-slider {
	background-color: var(--gray);
	font-weight: 600;
}
.cli-switch .cli-slider:after {
	font-size: 0.8275rem;
}

span.cli-necessary-caption {
	font-weight: 600;
	font-size: 0.8275rem;
}

.cli-tab-header.cli-tab-active {
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
	border-bottom: 1px solid var(--gray);
}

.cli-tab-section .cli-tab-content {
	max-height: 300px;
	overflow-y: scroll;
	background-color: var(--light-gray);
	border-radius: 0 0 5px 5px;
	padding: 12px 0 12px 12px;
}
.cli-tab-content::-webkit-scrollbar {
	width: 20px;
}
.cli-tab-content::-webkit-scrollbar-track {
	background-color: transparent;
}
.cli-tab-content::-webkit-scrollbar-thumb {
	background-color: var(--gray);
	border-radius: 20px;
	border: 6px solid transparent;
	background-clip: content-box;
	cursor: pointer;
}
.cli-tab-content::-webkit-scrollbar-thumb:hover {
	background-color: var(--steel-blue);
}

table.cookielawinfo-row-cat-table thead {
	display: none;
}

table.cookielawinfo-row-cat-table,
table.cookielawinfo-row-cat-table tbody,
table.cookielawinfo-row-cat-table tbody tr,
table.cookielawinfo-row-cat-table tbody tr td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

table.cookielawinfo-row-cat-table {
	margin-top: 10px;
}

table.cookielawinfo-row-cat-table tbody tr.cookielawinfo-row td {
	display: inline;
	font-size: 0.75rem;
	line-height: 1;
}

table.cookielawinfo-row-cat-table tbody tr.cookielawinfo-row {
	position: relative;
	padding-left: 20px;
	display: list-item;
	list-style: none;
	line-height: 1.1;
	padding-bottom: 8px;
	letter-spacing: -0.5px;
}
table.cookielawinfo-row-cat-table tbody tr.cookielawinfo-row .cookielawinfo-column-1:before {
	content: '';
	display: inline-block;
	position: absolute;
	width: 8px;
	height: 8px;
	border-top: 3px solid;
	border-left: 3px solid;
	vertical-align: middle;
	transform: rotate(135deg);
	left: 4px;
	top: 5px;
	top: 0.35lh;
	border-color: var(--red);
}

table.cookielawinfo-row-cat-table tbody tr.cookielawinfo-row .cookielawinfo-column-1 {
	font-weight: bold;
}

table.cookielawinfo-row-cat-table tbody tr.cookielawinfo-row .cookielawinfo-column-3 {
	background-color: var(--steel-blue);
	color: var(--white);
	padding: 2px 10px;
	border-radius: 10px;
	font-size: 0.5625rem;
	margin-left: 5px;
	line-height: 1;
	position: relative;
	top: -1px;
	font-weight: 500;
	white-space:nowrap;
}
table.cookielawinfo-row-cat-table tbody tr.cookielawinfo-row .cookielawinfo-column-3:before {
	content: '';
	width: 10px;
	height: 10px;
	display: inline-block;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 0a256 256 0 1 1 0 512 256 256 0 1 1 0-512zm-24 120v136c0 8 4 16 11 20l96 64c11 7 26 4 33-7s4-26-7-33l-85-57V120a24 24 0 1 0-48 0z' fill='%23FFF'/%3E%3C/svg%3E");
	background-position: center;
	position: relative;
	top: 2px;
	left: -4px;
}
table.cookielawinfo-row-cat-table tbody tr.cookielawinfo-row .cookielawinfo-column-4:before {
	content: "\2014";
	margin: 0 4px;
}

table.cookielawinfo-row-cat-table tbody tr.cookielawinfo-row .cookielawinfo-column-4 {
	font-size: 0.75rem;
}

@media (min-width:576px) {
	.cli-modal .cli-modal-dialog {
		max-width: 90vw;
	}
}

@media (max-width:768px), (max-width:1024px) and (orientation:landscape) {
	#wt-cli-save-preferences-btn {
		width: auto;
	}

	#cliSettingsPopup .cli-preference-btn-wrapper {
		gap: 10px;
	}

	#cliSettingsPopup .cli-preference-btn-wrapper .wt-cli-element {
		margin: 0 !important;
		text-align: center;
		padding: 8px 15px !important;
		order: 2;
		letter-spacing: -0.5px;
		font-size: 0.75rem;
	}

	#cliSettingsPopup .cli-privacy-content-text,
	#cliSettingsPopup .wt-cli-cookie-description {
		font-size: 0.6875rem;
		line-height:1.25;
	}

	#cookie-law-info-bar {
		inset: auto auto 20px 20px !important;
		max-width: calc( 100% - 40px );
	}

	#wt-cli-cookie-banner .cli-bar-btn_container {
		flex-direction: row;
		justify-content: right;
		gap: 10px;
		height: auto;
		margin-top: 0;
	}

	.wt-cli-privacy-overview-actions {
		padding-top: 10px;
	}

	#wt-cli-cookie-banner .cli-bar-btn_container .wt-cli-element {
		width: auto;
		order: 0;
		margin-top: 0 !important;
	}

	.cli-tab-section .cli-tab-content {
		padding: 12px;
	}

	table.cookielawinfo-row-cat-table tbody tr.cookielawinfo-row .cookielawinfo-column-1 {
		font-size: 0.6875rem;
	}

	table.cookielawinfo-row-cat-table tbody tr.cookielawinfo-row .cookielawinfo-column-4 {
		font-size: 0.625rem;
	}
}

@media (max-width:409px) {
	#cliSettingsPopup #wt-cli-save-preferences-btn {
		width: 100%;
		order: 1;
	}

	#cliSettingsPopup .cli-bar-popup {
		padding: 12px;
	}
}


@media (max-height: 840px) {
	.cli-tab-section .cli-tab-content {
		max-height: unset;
		overflow: unset;
		padding: 12px;
	}
}