@charset "utf-8";
/* CSS Document */

/* Elements */

html {
	font-size:16px;
}

body {
	color:var(--ark-text);
	font-weight:300;
	font-family:var(--ark-body-family);
}

h1, h2, h3, h4, .btn {
	font-family:var(--ark-header-family);
	font-weight:700;
}

h1 {
	text-align:center;
	margin-bottom:.5em;
	text-wrap:balance;
}

h2, h3 {
	color:var(--ark-dark);
}

h5 {
	font-weight:700;
}

a {
	font-weight:700;
	text-decoration:none;
	color:var(--ark-dark);
}

a:hover {
	color:var(--ark-primary-dk);
}

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

p {
	margin-bottom:0;
}

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

blockquote {
	margin-top:1em;
	padding-left:1em;
	border-left:.5em solid var(--ark-primary-lt);
}

* + h2,
* + h3,
* + h4,
* + h5,
* + p,
* + ul,
li h5:first-child {
	margin-bottom:0;
	margin-top:1em;
}

ul p,
ul ul {
	margin-top:0;
}

li * + p {
	margin-top:.5em;
}

ol ol li {
	list-style-type:lower-alpha;
}

ol ol ol li {
	list-style-type:lower-roman;
}

ol ol ol ol li {
	list-style-type:upper-alpha;
}


/* Text Styles */

.text-justify {
	text-align:justify;
}

.text-balance {
	text-wrap:balance;
}

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

.text-italic {
	font-style:italic;
}

.text-bigger,
.text-lg {
	font-size:1.25em;
}

.text-biggest,
.text-xl {
	font-size:1.5em;
}

@media (min-width: 768px) {
	.text-md-bigger,
	.text-md-lg {
		font-size:1.25em;
	}
}

.text-smaller,
.text-sm {
	font-size:.8em;
}

.text-smallest,
.text-xs {
	font-size:.66em;
}

.text-header {
	font-family:var(--ark-header-family);
}

.word-wrap {
	word-break:break-all;
}

/* Basic Palette */

.text-base,
.btn.disabled.text-base {
	color:var(--ark-text) !important;
}

.bg-primary {
	background-color:rgb(var(--ark-primary-dk-rgb) / var(--bs-bg-opacity)) !important;
}

.text-primary {
	color:var(--ark-primary-dk) !important;
}

.bg-secondary {
	background-color:rgb(var(--ark-secondary-dk-rgb) / var(--bs-bg-opacity)) !important;
}

.text-secondary {
	color:var(--ark-secondary-dk) !important;
}

.bg-dark {
	background-color:rgb(var(--ark-dark-rgb) / var(--bs-bg-opacity)) !important;
}

.text-dark {
	color:var(--ark-dark) !important;
}

.bg-light {
	background-color:rgb(var(--ark-primary-lt-rgb) / var(--bs-bg-opacity)) !important;
}

.text-light {
	color:rgb(var(--ark-bg-color-rgb)/.7) !important;
}

.bg-faded {
	background-color:rgb(var(--ark-faded-rgb) / var(--bs-bg-opacity, 1)) !important;
}

.text-faded {
	color:var(--ark-faded) !important;
}

.text-light a,
.text-light button,
.text-bg {
	color:var(--ark-bg-color) !important;
}

.text-light a:hover,
.text-light button:hover {
	color:rgb(var(--ark-bg-color-rgb)/.7) !important;
}

.bg-primary a,
.bg-secondary a {
	color:var(--ark-bg-color);
}

.bg-primary a:hover,
.bg-secondary a:hover {
	color:rgb(var(--ark-bg-color-rgb) / .7);
}

/* Containers */

.frontend .bg-cover {
	background-size:cover;
	background-attachment:fixed;
	background-position:center;
	/*position:relative;
	z-index:-200;*/
}

.content {
	padding:1.5rem;
	background:var(--ark-bg-color);
	border-radius:.5rem;
}

.outline-block {
	padding:2rem;
	border-radius:1rem;
	border:2px solid var(--ark-primary-dk);
	background-color:var(--ark-bg-color);
}

.w-33 {
	width:calc(100% / 3);
}

.rounded-5 {
	border-radius:.5rem;
}

.shadow {
	box-shadow:-.125rem .25rem .5rem rgb(var(--ark-text-rgb) / .15) !important;
}

.headshot {
	border:.25rem solid var(--ark-primary-dk);
	border-radius:100vmax;
	overflow:hidden;
	margin:0 auto 1.5rem;
}

@media only screen and (min-width: 576px) {
	.headshot {
		width:75%;
	}
}

@media only screen and (max-width: 576px) {
	.hide-on-mobile {
		display:none;
	}
}

.scrollbar-none {
	-ms-overflow-style: none;  /* IE and Edge */
	scrollbar-width: none;  /* Firefox */
}

.scrollbar-none::-webkit-scrollbar { /* Hide scrollbar for Chrome, Safari and Opera */
  display: none;
}

.ratio-2x1 {
	--bs-aspect-ratio:50%;
}

/* Grid and Flex */

.colspan-2 {
	grid-column:2;
}
.colspan-3 {
	grid-column:3;
}
.colspan-4 {
	grid-column:4;
}
.colspan-5 {
	grid-column:5;
}

.rowspan-2 {
	grid-row:2;
}
.rowspan-3 {
	grid-row:3;
}
.rowspan-4 {
	grid-row:4;
}
.rowspan-5 {
	grid-row:5;
}

/* Tables */

.table-responsive {
	margin-bottom:1rem;
}

.table {
	margin-bottom:0;
}

.table th,
.table td {
	vertical-align:middle;
}

.table th:not(:first-child),
.table td:not(:first-child) {
	text-align:center;
}

.table .email,
.table .file {
	font-size:.8em;
	word-break:break-all;
	width:15rem;
}

.table .actions a,
.table .actions button,
.table .actions span {
	padding:0;
	margin:.125rem .25rem;
}

.table .actions:has(.g-col-2) {
	width:5.5rem;
}

.table .actions:has(.g-col-3) {
	width:8rem;
}

.table .actions .d-grid {
	grid-template-columns:repeat(var(--_cols,1), 1fr);
	gap:.5rem;
}

.table .actions .d-grid > form {
	/*position:absolute;*/
}

.table .actions .d-grid > * {
	grid-column:auto / span 2;
}

.table .actions .d-grid.g-col-2 {
	--_cols: 4;
}

/*.table .actions .d-grid.g-col-2 > *:last-child:nth-child(odd) {
	grid-column-start:2;
}*/

.table .actions .d-grid.g-col-3 {
	--_cols: 6;
}

.table .actions .d-grid .o-1 {
	grid-column-start:2;
}
.table .actions .d-grid .o-2 {
	grid-column-start:3;
}
.table .actions .d-grid .o-3 {
	grid-column-start:4;
}

/*.table .actions .d-grid.g-col-3  > *:nth-child(3n + 5):last-child {
	grid-column-start:3;
}*/

.table .actions .d-grid a,
.table .actions .d-grid button,
.table .actions .d-grid span {
	margin:0;
}

.table .actions.actions_2x2 {
	min-width:5.5rem;
}

.table .actions .icon {
	font-size:1.5em;
}

.table .tags {
	padding-block:.25rem;
}

.table .featured td {
	position:relative;
	z-index:9;
}

.table .featured td::before {
	content:'';
	display:block;
	position:absolute;
	inset:0;
	background-color:rgb(var(--ark-secondary-dk-rgb)/.2);
	z-index:-1;
}

.clients .table td {
	height:4.5rem;
}

.inputs-row td {
	padding:.25rem 0 .25rem .25rem;
}

th.adaptable,
td.adaptable {
	width:1px;
	white-space:nowrap;
}

td.avatar {
	width:5rem;
	padding:0;
}

td.avatar img {
	width:5rem;
	height:auto;
}

td.hero-shot {
	width:8rem;
	text-align:center;
	text-wrap:balance;
	padding:0;
}

td.hero-shot img {
	width:100%;
	height:auto;
}

.index .email {
	font-size:.8em;
	word-break:break-all;
	width:15rem;
}

.index .counter {
	position:absolute;
	right:-.25rem;
	bottom:0;
	display:inline-flex;
	height:1rem;
	padding:0 .33rem !important;
	justify-content:center;
	align-items:center;
	font-size:.66rem;
	font-weight:700;
	border-radius:.5rem;
	pointer-events:none;
}

.index .search-form {
	width:100%;
}

@media (min-width: 992px) {
	.index .search-form {
		width:50%;
	}
}

@media (max-width: 768px) {
	.index .search-form {
		flex-grow:1;
	}
}

.filter-form {
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-end;
	gap:1rem;
}

.form-control.w-4 {
	width:4rem;
}

.form-control.w-6 {
	width:6rem;
}

.form-control.w-8 {
	width:8rem;
}

@media (max-width: 768px) {
	.date .form-control.w-sm-8 {
		width:8rem;
	}
}
	
.form-control.w-12 {
	width:12rem;
}

.form-control.w-16 {
	width:16rem;
}

.form-control.w-20 {
	width:20rem;
}

.filter-form .form-control.w-24 {
	width:24rem;
}

.square-success::before {
	content:'∎';
	display:inline-block;
	color:var(--bs-success);
}

/* = Pages = */

#hero-banner {
	background-position:top center;
	background-size:cover;
}

.hero-banner {
	aspect-ratio:16/6;
}

.hero-banner h1 {
	text-transform:uppercase;
	color:var(--ark-bg-color);
	text-shadow: -2px -2px 2px rgb(var(--ark-text-rgb)/.33),
				  2px  2px 2px rgb(var(--ark-text-rgb)/.33),
				 -2px  2px 2px rgb(var(--ark-text-rgb)/.33),
				  2px -2px 2px rgb(var(--ark-text-rgb)/.33),
				 -1px -1px 0 var(--ark-text),
				  1px  1px 0 var(--ark-text),
				 -1px  1px 0 var(--ark-text),
				  1px -1px 0 var(--ark-text);
}

/* Views */

.view dl {
	display:grid;
	gap:.5rem 1.5rem;
	margin:0;
}

@media screen and (min-width: 576px) {
	.view dl {
		grid-template-columns:auto 1fr;
	}
}

.view dl h3 {
	grid-column: 1 / 3;
}

.view dt {
	font-size:1.15em;
}

.view * + h3 {
	margin-top:.5em;
}

/* Products */

.products .masonry h3 {
	display:flex;
	justify-content:center;
	align-items:center;
	min-height:68px;
}

.products .masonry h3 a {
	text-wrap:balance;
}
.products .masonry .summary {
	display:flex;
	justify-content:center;
	align-items:center;
	text-wrap:balance;
	min-height:72px;
}

.online-order .product-name {
	line-height:1;
}

/* Documents */

.document .docu-wrapper {
	padding:1rem;
	position:relative;
	display:none;
}

.document .docu-title {
	width:auto;
	font-size:.8em;
	line-height:1;
	font-weight:700;
	position:absolute;
	top:-.5em;
	left:1.5rem;
	padding:0 .5rem;
	margin-bottom:0;
	color:var(--ark-primary-dk);
	background-color:var(--ark-bg-color);
	z-index:9;
}

.document .document-terms {
	padding:.75rem 0;
}
.document .document-terms > div {
	padding:.75rem 1.5rem;
	aspect-ratio:16/9;
	overflow-y:scroll;
	position:relative;
}

.document .document-terms::before,
.document .document-terms::after {
	content:'';
	position:absolute;
	left:0;
	right:0;
	height:1.5rem;
	pointer-events:none;
	z-index:9;
}

.document .document-terms::before {
	border-radius:1.5rem 1.5rem 0 0;
	top:.75rem;
	background:linear-gradient(to bottom, rgb(var(--ark-bg-color-rgb) / 1) 0%, rgb(var(--ark-bg-color-rgb) / 0) 100%);
}

.document .document-terms::after {
	border-radius:0 0 1.5rem 1.5rem;
	bottom:.75rem;
	background:linear-gradient(to bottom, rgb(var(--ark-bg-color-rgb) / 0) 0%, rgb(var(--ark-bg-color-rgb) / 1) 100%);
}

.document .minor-data,
.document .conditional-data {
	display:none;
}

.signature {
	position:relative;
	width:100%;
	box-shadow: inset 0 0 .5rem rgb(var(--ark-primary-dk-rgb) / .5);
	display:inline-flex;
	justify-content:center;
	align-items:center;
	aspect-ratio:5 / 2;
}

.document .signature {
	max-width:18rem;
}
.documents-related .signature {
	max-width:25rem;
}

.signature:hover::before {
	content:'';
	position:absolute;
	inset:0;
	background-image:url('../img/icons/icon-pen-fancy-white.svg');
	background-position:center;
	background-repeat:no-repeat;
	background-color:rgb(var(--ark-text-rgb) / .6);
	background-size:25%;
	z-index:9;
}

/* Customer Vault */

.vault-profile .credit-cards {
	list-style:none;
	padding:0 1.5rem;
}

.vault-profile .credit-cards .card,
.vault-profile .credit-cards .add-card {
	padding:.5rem;
	border-radius:1rem;
}

.vault-profile .credit-cards .card {
	border:1px solid var(--ark-primary-dk);
	margin-bottom:1rem;
}

.vault-profile .credit-cards .card.primary {
	outline:2px solid var(--ark-primary-dk);
}

.vault-profile .credit-cards .add-card {
	background-color:var(--ark-dark);
	border:1px solid var(--ark-dark);
	color:var(--ark-bg-color);
	box-shadow: inset -.125rem 0.125rem 0.25rem rgb(var(--ark-text-rgb) / .3);
}

.credit-cards .card-img {
	display:inline-block;
	width:auto;
	height:3em;
}

.vault-profile .credit-cards .actions {
	text-align:right;
}

.revere-payment-form iframe {
	min-height:38px;
}

/* Tickets */

.ticket-reply .btn[aria-expanded="false"]::before, .ticket-reply .btn[aria-expanded="false"]::after {
	content:'▼';
	font-size:1.5em;
}

.ticket-reply .btn[aria-expanded="true"]::before, .ticket-reply .btn[aria-expanded="true"]::after {
	content:'▲';
	font-size:1.5em;
}

.ticket .countdown {
	padding:.375rem;
}

.ticket .countdown-counting {
	font-size:2em;
}

/* Landing Home */

.fullscreen-hero {
	background-size:cover;
	background-position:center;
	min-height:100svh;
}

@media screen and (min-width: 992px) {
	.fullscreen-hero {
		aspect-ratio:16/9;
	}
}

.fullscreen-hero .branding {
	left:2rem;
	top:2rem;
}

@media screen and (max-width: 768px) {
	.fullscreen-hero .branding {
		display:none;
	}
}

.home-titles {
	text-shadow:  2px  2px 1px var(--ark-dark),
				 -2px  2px 1px var(--ark-dark),
				 -2px -2px 1px var(--ark-dark),
				  2px -2px 1px var(--ark-dark);
}

.home-titles h1,
.home-titles h2 {
	text-align:center;
	color:var(--ark-bg-color);
}

.home-titles h1 {
	margin:0;
	font-size:10em;
	line-height:1;
}

.home-titles h2 {
	margin-top:.5em;
}

.home-titles a {
	font-weight:900;
	color:var(--ark-bg-color);
}

.home-titles a:hover {
	color:var(--ark-secondary-lt);
}

.login-dropdown {
	right:2rem;
	top:2rem;
}

@media screen and (max-width: 768px) {
	.login-dropdown {
		right:1.5rem;
		top:1.5rem;
	}
}

.login-dropdown .dropdown-toggle {
	font-size:1.5em;
	align-items:center;
}

@media screen and (min-width: 1024px) {
	.login-dropdown .dropdown-toggle {
		opacity:0;
		transition: opacity 1s ease-in-out;
	}
	
	.login-dropdown .dropdown-toggle:hover {
		opacity:1;
	}
}

.login-dropdown .dropdown-toggle img {
	width:2.25rem;
	border-radius:100vmax;
	border:4px solid var(--ark-bg-color);
}

.login-dropdown .dropdown-menu {
	right:0 !important;
	
	left:auto !important;
	min-width:max-content;
	text-align:right;
	
	transform:scaleY(0);
}

.login-dropdown .dropdown-menu.login {
	min-width:20rem !important;
}

.login-dropdown .dropdown-menu.profile {
	top:1rem;
}

@media screen and (min-width: 992px) {
	.login-dropdown .dropdown-menu.profile {
		top:3rem;
	}
}

.login-dropdown .dropdown-menu.show {
	transform:scaleY(100%);
}

@media only screen and (max-width: 992px) {
	.home-titles h1 {
		font-size:6em;
	}
	
	.login-dropdown .dropdown-menu {
		position:relative !important;
	}
	
	.login-dropdown .dropdown-menu.login {
		min-width:16rem !important;
		max-width:18rem !important;
		top:-3.5rem !important;
	}
}

.login-dropdown .dropdown-menu a {
	color:var(--ark-primary-dk);
	display:flex;
	justify-content:flex-end;
	align-content:center;
	padding:.5rem;
}

.login-dropdown .dropdown-menu a:hover {
	background-color:var(--ark-dark);
	color:var(--ark-bg-color);
}

/* Notes */

.notes blockquote {
	border:1px solid rgb(var(--ark-primary-dk-rgb)/.33);
	border-radius:.5rem;
	padding:2rem .75rem .375rem;
	position:relative;
}

.notes .meta,
.notes .author {
	display:flex;
}

.notes .meta {
	padding:.375rem .75rem 0;	
	justify-content:space-between;
	position:absolute;
	right:0;
	top:0;
	left:0;
}

.tickets-notes.notes .meta {
	top:auto;
	bottom:.25rem;
}

.notes > * + * {
	margin:1rem 0 0;
}

.notes > form:first-of-type {
	margin-top:0;
}

.notes blockquote .actions {
	visibility:hidden;
}

.notes .actions a,
.notes .actions button {
	margin-left:.5rem;
}

.notes blockquote:hover .actions {
	visibility:visible;
}

.notes .notes-textarea {
	padding:2rem .75rem .375rem;
	position:relative;
	z-index:0;
	overflow-y:hidden;
}

.notes form .meta {
	border-radius:.25rem .25rem 0 0;
	border:1px solid var(--ark-primary-lt);
	border-bottom:none;
	z-index:2;
	overflow:hidden;
}

.notes form:focus-within .meta {
	border:1px solid var(--ark-primary-dk);
	border-bottom:none;
}
	
.notes form .meta::before {
	content:'';
	position:absolute;
	inset:0;
	z-index:-1;
	background: -moz-linear-gradient(top, rgb(var(--md-bg-rgb)/1) 0%, rgb(var(--md-bg-rgb)/1) 75%, rgb(var(--md-bg-rgb)/0) 100%);
	background: -webkit-linear-gradient(top, rgb(var(--md-bg-rgb)/1) 0%, rgb(var(--md-bg-rgb)/1) 75%, rgb(var(--md-bg-rgb)/0) 100%);
	background: -ms-linear-gradient(top, rgb(var(--md-bg-rgb)/1) 0%, rgb(var(--md-bg-rgb)/1) 75%, rgb(var(--md-bg-rgb)/0) 100%);
	background: linear-gradient(to bottom, rgb(var(--md-bg-rgb)/1) 0%, rgb(var(--md-bg-rgb)/1) 75%, rgb(var(--md-bg-rgb)/0) 100%);
}

.notes form .meta::after {
	--_color:rgb(var(--ark-primary-dk-rgb) / .1);
	content:'';
	position:absolute;
	inset:0;
	z-index:1;
	background: -moz-linear-gradient(top, var(--_color) 0%, var(--_color) 75%, rgb(var(--md-bg-rgb)/0) 100%);
	background: -webkit-linear-gradient(top, var(--_color) 0%, var(--_color) 75%, rgb(var(--md-bg-rgb)/0) 100%);
	background: -ms-linear-gradient(top, var(--_color) 0%, var(--_color) 75%, rgb(var(--md-bg-rgb)/0) 100%);
	background: linear-gradient(to bottom, var(--_color) 0%, var(--_color) 75%, rgb(var(--md-bg-rgb)/0) 100%);
}

.notes form:focus-within .meta::after {
	display:none;
}

.notes .author {
	justify-content:flex-end;
	gap:.25rem;
	opacity:.66;
}

.notes .author:hover {
	opacity:1;
}

/* Data Cards */

.data-card {
	border-radius:.5rem;
}

@media only screen and (min-width: 768px) {
	.data-card.dl-col-2 {
		grid-column-start:2;
	}
}

@media only screen and (max-width: 767px) {
	.data-card.dl-col-2 {
		grid-column-start:1;
		grid-column-end:3;
	}
}

.data-card .meta {
	padding:.375rem .75rem 0;
}

@media only screen and (min-width: 768px) {
	.data-card .meta {
		opacity:0;
	}
	
	.data-card .meta:hover {
		opacity:1;
	}
}

.data-card .card-body {
	padding:.375rem .75rem;
}

.data-card .card-body p + p {
	margin-top:.5em;
}