@font-face {
	font-family: 'Inter';
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}

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

:root {
	--grey: #f2f2f2;
	--error: #ff4d49;
	--white-smoke: white;
	--white: white;
	--black: black;
	--dim-grey: #525252;
	--blue: #2962ff;
	--white-smoke-2: #f1f1f2;
	--green: #5db921;
	--primary: #f9d137;

	/* Date/Time Picker */
	--sdt-bg-main: #fff;
	--sdt-shadow-color: #ccc;
	--sdt-wrap-shadow: 0 0px 0px var(--sdt-shadow-color);
	--sdt-radius: 4px;
	--sdt-color: #000;
	--sdt-color-selected: #fff;
	--sdt-header-color: #000;
	--sdt-header-btn-bg-hover: #dfdfdf;
	--sdt-bg-selected: #286090;
	--sdt-today-bg: #1e486d;
	--sdt-today-color: var(--sdt-bg-main);
	--sdt-clear-color: #dc3545;
	--sdt-clear-bg: transparent;
	--sdt-clear-hover-color: var(--sdt-bg-main);
	--sdt-clear-hover-bg: #dc3545;
	--sdt-table-selected-bg: var(--blue);
	--sdt-table-disabled-date: #b22222;
	--sdt-table-disabled-date-bg: #eee;
	--sdt-table-bg: transparent;
	--sdt-table-data-bg-hover: #eee;
	--sdt-table-today-indicator: #ccc;

	/* Input Styles */
	--input-border: rgba(0, 0, 0, 0.2);
	--input-border-hover: rgba(0, 0, 0, 0.4);
	--input-border-focus: #000000;
}

/* ===========================================
   BASE STYLES
   =========================================== */

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	color: #000;
	font-family: Inter, sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
}

h1 {
	letter-spacing: -0.03125rem;
	margin-top: 0;
	margin-bottom: 0;
	font-family: Inter, sans-serif;
	font-size: 4rem;
	font-weight: 700;
	line-height: 1.1;
}

h2 {
	margin-top: 0;
	margin-bottom: 0;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1.2;
}

h3 {
	margin-top: 0;
	margin-bottom: 0;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.2;
}

h4 {
	margin-top: 0;
	margin-bottom: 0;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.4;
}

h5 {
	margin-top: 0;
	margin-bottom: 0;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.5;
}

h6 {
	margin-top: 0;
	margin-bottom: 0;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
}

p {
	margin-bottom: 0;
	margin-top: 0;
}

ul,
ol {
	margin-top: 0;
	margin-bottom: 0;
	padding-left: 1.5rem;
}

li {
	margin-bottom: 0.25rem;
}

img {
	max-width: 100%;
	display: inline-block;
}

label {
	margin-bottom: 0;
	font-size: 0.825rem;
	font-weight: 400;
}

/* ===========================================
   LAYOUT & CONTAINERS
   =========================================== */

.container-small {
	width: 100%;
	max-width: 40rem;
	margin-left: auto;
	margin-right: auto;
}

.container-medium {
	width: 100%;
	max-width: 64rem;
	margin-left: auto;
	margin-right: auto;
}

.container-large {
	width: 100%;
	max-width: 80rem;
	margin-left: auto;
	margin-right: auto;
}

.container-medium,
.container-small,
.container-large {
	margin-right: auto !important;
	margin-left: auto !important;
}

/* ===========================================
   TYPOGRAPHY
   =========================================== */

.heading-style-h2 {
	font-size: 2.9rem;
	font-weight: 700;
	line-height: 1.2;
}

.text-size-tiny {
	font-size: 0.75rem;
}

.text-size-small {
	font-size: 0.875rem;
	line-height: 1.2;
}

.text-weight-bold {
	font-weight: 700;
}

.text-color-dark-grey {
	color: var(--dim-grey);
}

.text-color-green {
	color: var(--green);
}

/* ===========================================
   BUTTONS
   =========================================== */

.button {
	grid-column-gap: 0.5rem;
	grid-row-gap: 0.5rem;
	color: #000;
	text-align: center;
	cursor: pointer;
	background: #f9d137;
	border: 1px solid #000;
	align-items: center;
	padding: 0.75rem 1.5rem;
	font-size: 1rem;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.3s ease-in-out;
	display: flex;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
	border-radius: 8px;
}

.button:hover {
	background: rgb(255, 255, 29);
	box-shadow: 0 4px 12px rgba(249, 209, 55, 0.3);
}

.button.is-text {
	color: #000;
	background-color: transparent;
	border: 2px solid transparent;
}

.button.is-small {
	padding: 0.5rem 1.25rem;
}

.button.is-large {
	padding: 1rem 2rem;
}

.button.is-secondary {
	background-color: var(--white);
	color: #000;
	border: 1px solid #000;
}

.button.is-secondary:hover {
	background-color: var(--black);
	color: var(--white);
}

.button.is-inverse {
	background-color: var(--white);
	color: var(--black);
}

.button.is-inverse:hover {
	border-color: var(--white);
	background-color: var(--black);
	color: var(--white);
}

.button-group {
	grid-column-gap: 1rem;
	grid-row-gap: 1rem;
	flex-flow: wrap;
	justify-content: flex-start;
	align-items: center;
	display: flex;
}

/* ===========================================
   FORMS
   =========================================== */

.form {
	grid-column-gap: 0rem;
	grid-row-gap: 0rem;
	flex-direction: column;
	display: flex;
}

.form_block {
	margin-bottom: 0;
	flex: 1;
}

.form_field_wrapper {
	grid-column-gap: 0.5rem;
	grid-row-gap: 0.5rem;
	flex-direction: column;
	flex: 1;
	padding-bottom: 1.5rem;
	display: flex;
	color: #080808;
}

.form_field_wrapper > small {
	color: red;
}

.form_input_label {
	font-size: 0.95rem;
	font-weight: 700;
}

.form_input_label.no-margin {
	margin: 0;
}

.form_input_element {
	width: 100%;
	min-height: 3.25rem;
	color: #1a1a1a;
	background-color: #ffffff;
	border: 1px solid var(--input-border);
	border-radius: 8px;
	flex: 1;
	margin-bottom: 0;
	padding: 0.75rem 1rem;
	font-size: 1rem;
	transition: all 0.2s ease;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.form_input_element:hover {
	border-color: var(--input-border-hover);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.form_input_element:focus {
	outline: none;
	border-color: var(--input-border-focus);
	box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
	color: #1a1a1a;
}

.form_input_element.is--select {
	background-position: 98.5%;
	background-repeat: no-repeat;
	background-size: auto;
}

.form_button-wrapper {
	grid-column-gap: 1rem;
	grid-row-gap: 1rem;
	justify-content: flex-end;
	display: flex;
}

.form-checkbox {
	display: flex;
	flex-direction: row;
	margin-bottom: 0.5rem;
	padding-left: 0;
	gap: 0.75rem;
}

.form-checkbox > input {
	flex: 0;
	min-height: 0px;
	margin-top: 2.5px;
	margin-right: 0.25rem;
	margin-left: 0.25rem;
	align-self: baseline;
}

.radio_button_field {
	flex-direction: row;
	justify-content: flex-start;
	align-items: flex-start;
	padding-bottom: 0.6rem;
	display: flex;
}

.radio_button_field.is-optional {
	margin-bottom: 0;
}

.radio-remove-wrapper {
	justify-content: flex-end;
	align-items: center;
	padding-top: 0.25rem;
	display: flex;
}

.remove-button-wrapper {
	color: red;
	justify-content: flex-end;
	padding-top: 0.5rem;
	display: flex;
}

.remove-button {
	all: unset;
	cursor: pointer;
}

/* Global input styles */
input:not([type='checkbox']):not([type='radio']),
textarea,
select {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	min-height: 3.5rem;
	padding: 0.75rem 1rem;
	background-color: #ffffff;
	border: 1px solid var(--input-border);
	border-radius: 8px;
	font-size: 1rem;
	color: #1a1a1a;
	transition: all 0.2s ease;
	margin-bottom: 0;
	font-family: inherit;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

input:not([type='checkbox']):not([type='radio']):hover,
textarea:hover,
select:hover {
	border-color: var(--input-border-hover);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

input:not([type='checkbox']):not([type='radio']):focus,
textarea:focus,
select:focus {
	outline: none;
	border-color: var(--input-border-focus);
	box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
	background-color: #ffffff;
	color: #1a1a1a;
}

textarea {
	min-height: 10rem;
}

input:not(:placeholder-shown) {
	color: #000000;
}

textarea.filled {
	color: #000000;
}

input[type='checkbox']:checked {
	background-color: #000000;
	color: #000000;
	border-color: #000000;
}

input[type='checkbox'],
input[type='radio'] {
	margin-left: 0px;
	height: 14px;
	margin-right: 0rem;
	border: 1px solid rgba(0, 0, 0, 0.77);
	padding: 0.4rem;
	border-radius: 0px;
}

*[tabindex]:focus-visible,
input[type='file']:focus-visible,
input[type='text']:focus-visible,
input[type='tel']:focus-visible,
input[type='email']:focus-visible,
input[type='date']:focus-visible,
textarea:focus-visible {
	outline: none;
}

/* ===========================================
   FILE UPLOAD
   =========================================== */

.file-upload {
	z-index: 99;
	width: 100%;
	height: 100%;
	min-height: 8rem;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	display: flex;
	position: relative;
}

.file_upload-field {
	height: 10rem;
	position: relative;
}

.file-input {
	position: absolute;
	height: 100%;
	width: 100%;
	cursor: pointer;
	opacity: 0;
	z-index: 500;
}

.file-input:focus {
	outline: none;
}

.multi-image-upload_border {
	width: 100%;
	height: 100%;
	color: rgba(0, 0, 0, 0.55);
	padding: 0;
	position: absolute;
}

/* ===========================================
   GRIDS
   =========================================== */

.ohs-grid {
	grid-column-gap: 2rem;
	grid-row-gap: 2rem;
	grid-template-rows: auto auto;
	grid-template-columns: 1fr 1fr 1fr;
	padding-top: 3rem;
	display: grid;
}

.policy-grid {
	grid-column-gap: 2rem;
	grid-row-gap: 2rem;
	grid-template-rows: auto auto;
	grid-template-columns: 1fr 1fr 1fr;
	padding-top: 3rem;
	display: grid;
}

/* ===========================================
   ICONS
   =========================================== */

.icon-1x1-small {
	width: 1rem;
	height: 1rem;
	flex: none;
	justify-content: center;
	align-items: center;
	display: flex;
}

.icon-1x1-small.is-back {
	padding-right: 2px;
}

.icon-embed-tick {
	width: 3.375rem;
	height: 3.375rem;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	display: flex;
}

.icon-button-wrapper {
	color: #fff;
	cursor: pointer;
	background-color: #000;
	border-radius: 100vw;
	justify-content: center;
	align-items: center;
	padding: 0.85rem;
	display: flex;
	width: 1rem;
	height: 1rem;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}

/* ===========================================
   DECORATIVE ELEMENTS
   =========================================== */

.arrow {
	width: 40%;
	justify-content: center;
	align-items: center;
	transform: rotate(0);
}

.arrow-wrapper {
	z-index: -1;
	opacity: 0.23;
	justify-content: center;
	align-items: center;
	display: flex;
	position: absolute;
	top: 40%;
	bottom: auto;
	left: 0%;
	right: 0%;
}

.line {
	height: 1.5px;
	background-color: rgba(103, 36, 135, 0.15);
	margin-top: 0.5rem;
	margin-bottom: 1.05rem;
}

.line.more-margin {
	margin-top: 1.5rem;
	margin-bottom: 1.5rem;
}

/* ===========================================
   STICKY LAYOUT
   =========================================== */

.sticky_container {
	flex-direction: column;
	align-self: flex-start;
	align-items: flex-start;
	display: flex;
	position: sticky;
	top: 10%;
	grid-column-gap: 0.5rem;
	grid-row-gap: 0.5rem;
	flex: 1;
}

.sticky_section-wrapper {
	width: 100%;
	display: flex;
	position: relative;
}

/* ===========================================
   MISC COMPONENTS
   =========================================== */

.company-logo {
	height: 2rem;
	/* margin: -4.5rem auto 3rem; */
}

.company-logo.is-centered-page {
	margin-bottom: 3rem;
}

.company-logo.is-normal {
	margin-top: 0;
	margin-bottom: 0;
}

.company-logo.is-form {
	height: 1.8rem;
	margin-top: 0;
	margin-bottom: 0;
}

.heading_back_wrapper {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 1rem;
}

.centered-text-header {
	display: flex;
	text-align: center;
	flex-direction: column;
	align-items: center;
}

.centered-page-wrapper {
	margin-top: -3rem;
}

@media screen and (max-width: 767px) {
	.centered-page-wrapper {
		margin-top: 0;
	}
}

.hide {
	display: none;
}

.pointer-events-off {
	pointer-events: none;
}

/* ===========================================
   SPACING UTILITIES
   =========================================== */

.margin-small {
	margin: 1rem;
}

.margin-xsmall {
	margin: 0.5rem;
}

.margin-bottom {
	margin-top: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.margin-bottom.marging-h3 {
	margin-bottom: 1rem;
}

.margin-bottom.margin-form_input {
	margin-bottom: 0.25rem;
}

.margin-top {
	margin-bottom: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.padding-xsmall {
	padding: 0.5rem;
}

.padding-small {
	padding: 1rem;
}

.padding-large {
	padding: 2rem;
}

.padding-top {
	padding-bottom: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.padding-bottom {
	padding-top: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.padding-bottom.h1 {
	padding-bottom: 1.9rem;
}

.padding-bottom.paragraph {
	padding-bottom: 1.5rem;
}

.padding-section-custom {
	padding-top: 6rem;
	padding-bottom: 6rem;
}

.padding-global {
	width: 100%;
	flex: 1;
	margin-left: auto;
	margin-right: auto;
	padding-left: 2.5rem;
	padding-right: 2.5rem;
}

.padding-global.expand {
	flex: 1;
}

.max-width-medium {
	max-width: 34rem;
}

/* ===========================================
   RESPONSIVE
   =========================================== */

@media screen and (max-width: 991px) {
	.padding-large {
		padding: 1rem;
	}

	.icon-embed-tick {
		width: 3.5rem;
		height: 3.5rem;
	}

	.ohs-grid {
		grid-template-columns: 1fr 1fr;
	}

	.policy-grid {
		grid-template-columns: 1fr 1fr;
		gap: 0.5rem;
		padding-top: 0rem;
	}

	.sticky_container {
		max-width: 46rem;
		text-align: center;
		align-items: center;
		margin-left: auto;
		margin-right: auto;
		position: relative;
	}

	.sticky_section-wrapper {
		flex-direction: column;
	}

	.company-logo {
		margin-top: 0;
	}

	.arrow {
		width: 60%;
	}

	.arrow-wrapper {
		bottom: 20%;
	}

	.icon-button-wrapper {
		z-index: 9999;
		position: fixed;
		top: 2%;
		left: 2%;
	}
}

@media screen and (max-width: 767px) {
	h1 {
		font-size: 2.6rem;
	}

	h2 {
		font-size: 2rem;
	}

	h3 {
		font-size: 1.5rem;
	}

	h4 {
		font-size: 1.25rem;
	}

	h5 {
		font-size: 1rem;
	}

	h6 {
		font-size: 0.875rem;
	}

	.heading-style-h2 {
		font-size: 2rem;
	}

	.padding-global {
		padding-left: 2.15rem;
		padding-right: 2.15rem;
	}

	.icon-embed-tick {
		width: 3rem;
		height: 3rem;
	}

	.padding-section-custom {
		padding-top: 3rem;
		padding-bottom: 3rem;
	}

	.ohs-grid {
		grid-template-columns: 1fr;
		grid-row-gap: 1rem;
		padding-top: 1.5rem;
	}

	.policy-grid {
		grid-template-columns: 1fr 1fr;
	}

	.arrow-wrapper {
		bottom: 40%;
	}

	input[type='checkbox'] {
		margin-right: -0.25rem;
	}

	.company-logo.is-centered-page {
		margin-bottom: 2rem;
	}
}

@media screen and (max-width: 479px) {
	.padding-global {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.page-wrapper {
		overflow: hidden;
	}

	.ohs-grid {
		padding-top: 2rem;
	}

	.policy-grid {
		padding-top: 1rem;
	}

	.arrow-wrapper {
		display: none;
	}
}
