@charset "utf-8";

/* General */

.disabled:not(.form-control) {
	color:rgb(var(--ark-faded-rgb) / .75) !important;
	cursor:not-allowed;
}

.unlock {
	cursor:url(../img/icons/unlock-solid.svg), auto !important;
}

.anchor {
	scroll-margin-top:calc(var(--ark-menu-height) + .5rem);
}

body.processing {
	cursor:progress !important;
}

/* Buttons */

.btn {
	border-radius:.5rem;
	font-weight:bold;
	box-shadow:-.125rem .125rem .25rem rgb(var(--ark-text-rgb) / .3) !important;
	display:inline-flex;
	justify-content:center;
	align-items:center;
	white-space:nowrap;
}

.btn:focus {
	box-shadow:0 0 0 0.25rem var(--ark-primary-lt) !important;
}

.btn-primary {
	background-color:var(--ark-primary-lt);
	border-color:var(--ark-primary-lt);
	color:var(--ark-dark);
}

.btn-primary:focus {
	background-color:var(--ark-primary-lt);
	border-color:var(--ark-primary-dk);
	color:var(--ark-dark);
}

.btn-primary:hover,
.btn-primary:active {
	background-color:var(--ark-primary-dk);
	border-color:var(--ark-primary-dk);
	color:var(--ark-bg-color);
}

.btn-secondary {
	background-color:var(--ark-secondary-lt);
	border-color:var(--ark-secondary-lt);
	color:var(--ark-dark);
}

.btn-secondary:focus {
	background-color:var(--ark-secondary-lt);
	border-color:var(--ark-secondary-dk);
	color:var(--ark-dark);
}

.btn-secondary:hover,
.btn-secondary:active {
	background-color:var(--ark-secondary-dk);
	border-color:var(--ark-secondary-dk);
	color:var(--ark-bg-color);
}

.btn-dark:hover {
	background-color:var(--ark-text);
	border-color:var(--ark-text);
}

.btn-light {
	color:var(--ark-dark);
	background-color:var(--ark-bg-color);
	border-color:var(--ark-bg-color);
}

.btn-light:hover {
	color:var(--ark-primary-dk);
}

.no-btn {
	color:var(--ark-dark);
	border:none;
	background:transparent;
	padding:0;
	display:inline-block;
}

.no-btn:hover{
	color:var(--ark-primary-dk);
}

.btn.disabled {
	pointer-events:auto;
	cursor:not-allowed;
	background-color:var(--ark-faded);
	border-color:var(--ark-faded);
	color:var(--ark-bg-color) !important;
}

.scroll-to-top {
	position:fixed;
	right:1rem;
	bottom:2rem;
	width:4rem;
	height:4rem;
	z-index:99;
	background-color:rgb(var(--ark-dark-rgb)/.5);
	border-radius:100vmax;
	animation-fill-mode:forwards !important;
	-webkit-mask-image:url('../img/icons/icon-top-to-line-inverted.svg');
	mask-image:url('../img/icons/icon-top-to-line-inverted.svg');
	-webkit-mask-origin:padding-box;
	mask-origin:padding-box;
	-webkit-mask-repeat:no-repeat;
	mask-repeat:no-repeat;
	transition: background-color 1s ease-in-out;
}

.scroll-to-top:hover {
	background-color:var(--ark-dark);
}

.scroll-to-top.fadeInAnimate {
	animation:fadeIn 2s;
}

.scroll-to-top.fadeOutAnimate {
	animation:fadeOut 2s;
}

/* Animations */

@keyframes fadeIn {
	from {
		opacity:0;
	}
	
	to {
		opacity:1;
	}
}

.fadeOut {
	animation:fadeOut 1s;
	opacity:0;
}

@keyframes fadeOut {
	from {
		opacity:1;
	}
	
	to {
		opacity:0;
	}
}

/* Icons */

svg.icon {
	fill:currentcolor;
}

.icon {
	font-size:1.5em;
}

.icon-sm {
	font-size:1em;
}

.icon-lg {
	font-size:2em;
}

.icon-xl {
	font-size:3em;
}

.social-icons {
	display:flex;
	gap:1.5rem;
}

.social-icons a {
	display:block;
	border-radius:100vmax;
	background-color:currentColor;
}

.social-icons a:hover {
	color:var(--ark-bg-color) !important;
}

.social-icons a.fb:hover {
	background-color:#1877f2;
}

.social-icons a.li:hover {
	background-color:#0a66c2;
}

.social-icons a.ig:hover {
	background-color:#c32aa3;
}

.social-icons a.tt:hover {
	background-color:#010101;
}

.social-icons a.yt:hover {
	background-color:#ff0000;
}

.social-icons a.tx:hover {
	background-color:#000000;
}

.social-icons a.gt:hover {
	background-color:#e60000;
}

.social-icons a.ma:hover {
	background-color:#6364ff;
}

.social-icons img {
	height:5rem;
	width:5rem;
}

.icon.handle:hover {
	cursor:grabbing;
}

/* Forms */

form {
	--_background-normal:;
	--_border-normal:;
	--_background-focus:;
	--_border-focus:;
	--_focus-shadow:;
}

.form-label {
	font-weight:700;
}

label.required::after {
	content:'*';
	color:red;
}

.form-control,
.form-select,
.selectize-control .selectize-input,
.form-check-input,
.ck-editor,
.ck-editor__editable {
	border-color:var(--ark-primary-lt) !important;
	background-color:rgb(var(--ark-primary-lt-rgb) / .25) !important;
	border-radius:.5rem;
}

.form-control:focus,
.form-select:focus,
.selectize-input.focus,
.form-check-input:focus,
input[type="submit"]:active:focus,
.ck-editor:has(.ck-focused),
.ck-editor__editable.ck-focused {
	border-color:var(--ark-primary-dk) !important;
	box-shadow:0 0 0 0.25rem var(--ark-primary-lt) !important;
	background-color:var(--ark-bg-color) !important;
}

.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-toolbar {
	background-color:rgb(var(--ark-faded-rgb)/.66);
}

.ck-editor__editable {
	box-shadow:none !important;
	padding:.375rem .75rem !important;
}

form .ck.ck-editor__editable_inline>:first-child {
	margin-top:0;
}

form .ck.ck-editor__editable_inline>:last-child {
	margin-bottom:0;
}

.ck-editor__editable.ck-rounded-corners {
	border-radius:0 0 .5rem .5rem !important;
}

.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-toolbar {
	border-radius:.5rem .5rem 0 0 !important;
}

.ck-editor:has(.ck-focused) .ck.ck-editor__top .ck-sticky-panel .ck-toolbar {
	border-color:var(--ark-primary-dk);
}

form .ck.ck-button.ck-on,
a.ck.ck-button.ck-on {
	background-color:var(--ark-primary-dk);
	color:var(--ark-bg-color);
}

form .ck.ck-button.ck-on:not(.ck-disabled):hover,
form a.ck.ck-button.ck-on:not(.ck-disabled):hover {
	background-color:var(--ark-primary-lt);
	color:var(--ark-dark);
}

.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content {
	border:none !important;
}

.ck.ck-toolbar .ck.ck-toolbar__separator {
	background-color:var(--ck-color-text) !important;
}

.ck-balloon-panel.ck-powered-by-balloon .ck-powered-by {
	display:none;
}

textarea.form-control {
	min-height:inherit;
	height:auto !important;
}

.form-check-input:checked {
	background-color:var(--ark-primary-dk) !important;
	border-color:var(--ark-primary-dk) !important;
}

.selectize-control.multi .selectize-input > .tag {
	background-color:var(--ark-secondary-lt);
	color:var(--ark-dark);
	font-family:var(--ark-body-family);
	font-weight:400;
	box-shadow:-0.125rem 0.125rem 0.25rem rgb(var(--ark-text-rgb) / .15) !important;
	margin:0 .25rem 0 0;
}

.selectize-dropdown,
.ui-autocomplete {
	border-radius:.5rem;
	background-color:var(--ark-bg-color) !important;
	padding:.375rem .75rem !important;
	z-index:999 !important;
	box-shadow:0 .25rem 1rem rgb(var(--ark-text-rgb) / .3) !important;
}

.selectize-dropdown .selectize-dropdown-content {
	padding:0 !important;
}

.selectize-dropdown .selectize-dropdown-content .option:hover,
.ui-autocomplete .ui-menu-item div:hover {
	background-color:var(--ark-primary-lt);
	margin:0 !important;
}

.preventive-autocomplete .ui-autocomplete .ui-menu-item div:hover {
	background-color:rgb(var(--bs-danger-rgb), .5);
}

.form-control:disabled,
.form-control[readonly] {
	background-color:rgb(var(--ark-faded-rgb)/.33) !important;
}

.form .input {
	position:relative;
}

.date .form-control {
	max-width:7.5rem;
}

.form .error-message,
label.error {
	position:absolute;
	top:3.5em;
	z-index:9;
	display:block;
	padding:.125rem .25rem;
	border:1px solid currentcolor;
	color:red;
	background-color:#ffbbbb;
	border-radius:.25rem;
	text-align:left;
	font-size:.8em;
}

.form .error-message {
	width:100%;
	order:3;
	border-radius:.25rem !important;
	text-wrap:pretty;
}

.form .error-message::before,
label.error::before {
	content:'';
	position:absolute;
	top:-1rem;
	left:.5rem;
	z-index:1;
	width:.5rem;
	height:.5rem;
	border:.5rem solid transparent;
	border-bottom-color:red;
}

.form .error-message::after,
label.error::after {
	content:'';
	position:absolute;
	top:calc((1rem - 1px) * -1);
	left:.5rem;
	z-index:2;
	width:.5rem;
	height:.5rem;
	border:.5rem solid transparent;
	border-bottom-color:#ffbbbb;
}

.form .error-message ul {
	list-style:none;
	padding:0;
}

.input-group .btn:not(:focus) {
	box-shadow:none !important;
}

.input-group-text {
	border-radius:.5rem;
}

.color-box {
	width:fit-content;
	border-radius:.5rem;
	overflow:hidden;
	background-color:#eee;
	flex-wrap:wrap;
}

.color-box label:first-child {
	padding-left:.5rem;
}

.color-box .color-picker {
	width:90px;
	box-sizing:content-box;
}

.form-color-picker {
	width:100%;
	text-align:center;
	font-size:1rem;
	font-weight:400;
	line-height:1.5;
	border:1px solid var(--ark-primary-lt);
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	border-radius:.5rem;
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.form-color-picker:focus {
	border-color: var(--ark-primary-dk);
	box-shadow:0 0 0 0.25rem var(--ark-primary-lt);
	outline:0;
}

.cp-color-picker {
	border-radius:.5rem !important;
	background-color:var(--ark-primary-lt) !important;
	padding:.25rem 0 0 .25rem !important;
	display:flex;
	flex-direction:row-reverse;
	gap:.25rem;
	width:128px !important;
	box-shadow:0 2px .25rem 0 rgb(var(--ark-text-rgb) / 0.6);
}
.cp-color-picker.right {
	border-top-left-radius:0 !important;
}
.cp-color-picker.left {
	border-top-right-radius:0 !important;
}
.cp-z-slider {
	margin-left:0 !important;
	width:1rem !important;
	height:7.5rem !important;
	border-radius:0 .25rem .25rem 0;
}
.cp-xy-slider {
	margin-bottom:.25rem !important;
	width:6.5rem !important;
	height:7.5rem !important;
	border-radius:.25rem 0 0 .25rem;
}

.ui-autocomplete .autocomplete-upload {
	display:block;
	width:100%;
	text-align:left;
	font-style:italic;
	padding:3px 1em 3px .4em;
}
.ui-autocomplete .autocomplete-upload:hover {
	background-color:var(--ark-secondary-lt);
}

option[data-default-account="false"] {
	color:var(--ark-faded);
	font-style:italic;
}

.submit-buttons {
	display:flex;
	justify-content:flex-end;
	align-items:center;
	gap:1.5rem;
	margin-top:.5rem;
}

.process-spinner {
	display:none;
	width:2rem;
	height:2rem;
	flex-shrink:0;
	border:.25rem solid rgb(var(--ark-primary-dk-rgb)/.5);
	border-top:.25rem solid var(--ark-primary-dk);
	border-radius:50%;
	
	-webkit-transition-property: -webkit-transform;
	-webkit-transition-duration: 1.2s;
	-webkit-animation-name: rotate;
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-timing-function: linear;

	-moz-transition-property: -moz-transform;
	-moz-animation-name: rotate; 
	-moz-animation-duration: 1.2s; 
	-moz-animation-iteration-count: infinite;
	-moz-animation-timing-function: linear;
  
	transition-property: transform;
	animation-name: rotate; 
	animation-duration: 1.2s; 
	animation-iteration-count: infinite;
	animation-timing-function: linear;
}

@-webkit-keyframes rotate {
    from {-webkit-transform: rotate(0deg);}
    to {-webkit-transform: rotate(360deg);}
}

@-moz-keyframes rotate {
    from {-moz-transform: rotate(0deg);}
    to {-moz-transform: rotate(360deg);}
}

@keyframes rotate {
    from {transform: rotate(0deg);}
    to {transform: rotate(360deg);}
}

/* Pagination */

.page-link {
	color:var(--ark-primary-dk);
	background-color:var(--ark-bg-color);
	border-color:var(--ark-primary-lt);
}

.page-link:hover {
	color:var(--ark-primary-dk);
	background-color:var(--ark-primary-lt);
	border-color:var(--ark-primary-lt);
}

.page-link:focus {
	color:var(--ark-primary-dk);
	background-color:var(--ark-primary-lt);
	border-color:var(--ark-primary-dk);
	box-shadow:0 0 0 0.25rem var(--ark-primary-lt) !important;
}

.page-item.active .page-link {
	color:var(--ark-bg-color);
	background-color:var(--ark-primary-dk);
	border-color:var(--ark-primary-dk);
}

.page-item.disabled .page-link {
	color:var(--ark-faded);
}


/* Modals */

#signatureModal {
	display:block !important;
	visibility:hidden;
}

.drawing-board {
	width:100%;
	max-width:32rem;
	aspect-ratio:5 / 2;
	box-shadow: inset 0 0 .5rem rgb(var(--ark-primary-dk-rgb) / .5);
}

.drawing-board canvas {
	touch-action:none;
	display:block;
	aspect-ratio:5 / 2;
}

/* Accordions */

.accordion-button {
	background-color:var(--ark-secondary-lt);
	color:var(--ark-text);
}

.accordion-button::after {
	content:'▼';
	font-weight:900;
	background-image:none !important;
}

.accordion-button:not(.collapsed) {
	background-color:var(--ark-secondary-dk);
	color:var(--ark-bg-color);
}

/* reCAPTCHA */

.disclaimer {
	opacity:.5;
}
.disclaimer:hover {
	opacity:1;
	cursor:default;
}

.grecaptcha-badge {
	display:none !important;
}

/* Checklist */

ul.checklist {
	list-style:none;
	padding:0;
}

.checklist li {
	display:flex;
	line-height:1.25;
}

.checklist li + li {
	margin-top:.75em;
}

dd .checklist li {
	line-height:1.5;
}

dd .checklist li + li {
	margin-top:.25em;
}

.checklist li::before {
	font-family:'FontAwesome';
	content:'\f111';
	padding-right:.5rem;
	color:var(--ark-faded);
}

.checklist li.done span {
	text-decoration:line-through;
}

.checklist li.done::before {
	content:'\f058';
	color:green;
}

.checklist li.pending::before {
	content:'\f057';
}

/* Shopping Cart */

.shopping-cart-icon {
	position:relative;
	padding-right:.5rem;
}

.shopping-cart-icon span {
	height:1rem;
	width:1rem;
	font-size:.5em;
	position:absolute;
	top:-.5rem;
	right:0;
	display:flex;
	justify-content:center;
	align-items:center;
	background-color:var(--ark-primary-dk);
	color:var(--ark-bg-color);
	border-radius:100vmax;
	pointer-events:none;
}

.shopping-cart-icon:hover span {
	background-color:var(--ark-dark);
}