/* Import design tokens */
@import url('/styles/design-tokens.css');

/* Responsive breakpoint */
/* ---Colors--- */
/* ---Fonts---- */
@import url("https://fonts.googleapis.com/css?family=Alata|Open+Sans&display=swap");

/* ---Style---- */
.accent1 {
	background-color: var(--color-warning);
}

.accent2 {
	background-color: var(--color-info-bright);
}

.accent3 {
	background-color: var(--color-info-light);
}

.accent4 {
	background-color: var(--color-info-light);
}

.aria-visible {
	left: -999px;
	position: absolute;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
	z-index: -999;
}

.v-sm {
	display: none;
}

@media screen and (min-width: 568px) {
	.v-sm {
		display: block;
	}
}

.frm-gs {
	display: block;
}

@media screen and (max-width: 1279px) {
	.frm-gs {
		display: none;
	}
}

@media screen and (min-width: 568px) {
	.h-sm {
		display: none;
	}
}

.v-md {
	display: none;
}

@media screen and (min-width: 768px) {
	.v-md {
		display: block;
	}
}

@media screen and (min-width: 768px) {
	.h-md {
		display: none;
	}
}

.v-lg {
	display: none;
}

@media screen and (min-width: 1024px) {
	.v-lg {
		display: block;
	}
}

@media screen and (min-width: 1024px) {
	.h-lg {
		display: none;
	}
}

html,
body {
	margin: 0;
	padding: 0;
	height: 100vh;
	scroll-behavior: smooth;
}

html *,
body * {
	box-sizing: border-box;
}

body {
	-webkit-font-smoothing: antialiased;
	font-family: 'Open Sans', sans-serif;
	background: var(--bg-primary);
	color: var(--text-primary);
	font-weight: 300;
	font-size: 14px;
}

@media screen and (min-width: 568px) {
	body {
		font-size: 15px;
	}
}

@media screen and (min-width: 1024px) {
	body {
		font-size: 16px;
	}
}

svg.inl {
	display: inline-block;
	vertical-align: middle;
}

h1,
h2,
h3,
h4 {
	font-family: 'Alata', sans-serif;
	letter-spacing: 0.02em;
}

.gn a,
.li-a {
	color: var(--text-primary);
	font-family: 'Open Sans', sans-serif;
	-webkit-appearance: none;
	text-decoration: none;
	border: none;
	background: none;
	font-weight: bold;
	font-size: 0.8em;
	cursor: pointer;
	margin: 0;
	padding: 0;
}

.gn a:hover,
.gn a:active,
.gn a:focus,
.li-a:hover,
.li-a:active,
.li-a:focus {
	text-decoration: underline;
	outline: none;
}

img {
	max-width: 100%;
}

.clr-a {
	color: var(--color-error-dark);
}

.clr-1 {
	color: var(--color-warning);
}

.clr-2 {
	color: var(--color-info-bright);
}

.hide-sm {
	display: none;
}

@media screen and (min-width: 768px) {
	.hide-sm {
		display: block;
	}
}

.show-sm {
	display: block;
}

@media screen and (min-width: 768px) {
	.show-sm {
		display: none;
	}
}

.ui-in,
.ui-bt {
	-webkit-appearance: none;
	appearance: none;
	border: none;
	background: none;
	font-weight: 400;
	padding: 0;
	margin: 0;
	outline: none;
}

label.ui-in {
	font-size: 0.8em;
	font-size: 16px;
}

input.ui-in {
	background: var(--bg-primary);
	border-bottom: 2px solid var(--border-primary);
	max-width: 100%;
	padding: 0.2em 0.4em;
	font-size: 16px;
	height: 2.7em;
	border-radius: 4px;
}

input.ui-in:focus {
	border-bottom-color: var(--color-brand-primary);
}

input.ui-in:-webkit-autofill,
input.ui-in:-webkit-autofill:hover,
input.ui-in:-webkit-autofill:focus {
	background-color: var(--bg-primary) !important;
}

.ui-bt {
	white-space: nowrap;
	display: inline-block;
	height: 3em;
	line-height: 3em;
	padding: 0 14px;
	box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
	background: var(--bg-primary);
	border: 1px solid var(--border-primary);
	border-radius: 0.5em;
	font-weight: 600;
	font-size: 15px;
	letter-spacing: .025em;
	color: var(--text-secondary);
	text-decoration: none;
	transition: all .15s ease;
	cursor: pointer;
	text-align: center;
}

.ui-bt:hover,
.ui-bt:focus {
	transform: translateY(-1px);
	box-shadow: 0 13px 27px -5px rgba(50, 50, 93, 0.25), 0 8px 16px -8px rgba(0, 0, 0, 0.3), 0 -6px 16px -6px rgba(0, 0, 0, 0.025);
}

.ui-bt:active {
	transform: translateY(1px);
	box-shadow: 0 6px 12px -2px rgba(50, 50, 93, 0.25), 0 3px 7px -3px rgba(0, 0, 0, 0.3);
}

.ui-bt:disabled,
.ui-bt.ui-disabled {
	pointer-events: none;
	box-shadow: none;
	opacity: 0.6;
}

.ui-bt.ui-prime {
	color: var(--bg-primary);
	background: var(--color-brand-primary);
	text-transform: uppercase;
}

.ui-tgl:not(.active) {
	display: none !important;
}

header.gn nav,
.docsie-section-container,
footer.gn section {
	width: 100%;
	max-width: 1200px;
	margin: 0;
	padding: 0 15px;
}

@media screen and (min-width: 768px) {

	header.gn nav,
	.docsie-section-container,
	footer.gn section {
		padding: 0 30px;
	}
}

@media screen and (min-width: 1024px) {

	header.gn nav,
	.docsie-section-container,
	footer.gn section {
		width: 90vw;
		margin: 0 auto;
		padding: 0;
	}
}

/* Header */
header.gn {
	/* Styles */
	font-size: 1em;
	padding: 1em 0;
	background: transparent;
	/* Logo */
	/* Navigation */
	;
}

@media screen and (min-width: 768px) {
	header.gn {
		font-size: 1.1em;
	}
}

header.gn a {
	white-space: nowrap;
}

header.gn .lg {
	display: inline-block;
}

header.gn .lg-dx {
	display: none;
}

@media screen and (min-width: 1024px) {
	header.gn .lg-dx {
		display: inline-block;
	}
}

header.gn nav {
	background: transparent;
	/* Mobile */
	/* --------- */
	;
}

header.gn nav>ul.nv-l {
	display: flex;
	flex-direction: row;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
	/* Dropdown */
	;
}

header.gn nav>ul.nv-l .spacer {
	flex: 1 1;
}

header.gn nav>ul.nv-l .nv-lg {
	text-decoration: none;
	padding: 0;
}

header.gn nav>ul.nv-l>li {
	flex: 0 0;
}

header.gn nav>ul.nv-l>li>a,
header.gn nav>ul.nv-l>li>button {
	display: inline-block;
	padding: 0.5em 0.8em;
	margin: 0 0.5em;
}

header.gn nav>ul.nv-l .li-a {
	background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAZ0lEQVQ4je3NMQ6CQBQG4U8WKL0KV7Oy2lhxEQqIBZfxQsZmTczG3SCxZKpX/DOPg7/S4IK2smnTpvmU3jzR447uixww4Zy2Ra5Ys0jAjFtNLEUClpJ8qkQihnQ/MG79nkfiHvHgB16RDgvkI1IiVwAAAABJRU5ErkJggg==");
	background-repeat: no-repeat;
	background-position: right center;
	padding-right: 1.5em;
	white-space: nowrap;
}

header.gn nav>ul.nv-l .li-a.active {
	color: var(--color-neutral-1000);
	text-decoration: underline;
	background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAX0lEQVQ4y2NgGAU0BzVQjBMwE9Csz8DAIMHAwKDOwMBwiBSbyxgYGNYwMDCwQi1ZxsDAUEeOZmSXLiXGEGya8RrChMb+xcDAEMHAwPAbiwF/GRgY4hkYGD6h6RsFlAIALfcOMXr/NUkAAAAASUVORK5CYII=");
}

header.gn nav>ul.nv-l .li-dd {
	position: relative;
}

header.gn nav>ul.nv-l [role="dropdown"] {
	display: grid;
	position: absolute;
	top: 100%;
	left: 50%;
	z-index: 100;
	transform: translateX(-50%);
	width: auto;
	max-width: 100vw;
	margin-top: 1em;
	padding: 20px 35px;
	min-width: 320px;
	background: var(--bg-primary);
	box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.16), 0 2px 4px rgba(0, 0, 0, 0.3);
	grid-column-gap: 1.5em;
	grid-auto-columns: 1fr;
	grid-auto-flow: column;
	border-radius: 4px;
}

header.gn nav>ul.nv-l [role="dropdown"].active {
	animation-name: fade-in;
	animation-duration: 250ms;
	animation-fill-mode: backwards;
}

header.gn nav>ul.nv-l [role="dropdown"]:before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	transform: rotate(45deg) translateX(-50%);
	background: var(--bg-primary);
	height: 20px;
	width: 20px;
	border-radius: 4px 0 0 0;
}

header.gn nav>ul.nv-l [role="dropdown"].left {
	left: 0;
	transform: none;
}

header.gn nav>ul.nv-l [role="dropdown"].left:before {
	left: 15%;
}

header.gn nav>ul.nv-l [role="dropdown"].right {
	left: unset;
	right: 0;
	transform: none;
}

header.gn nav>ul.nv-l [role="dropdown"].right:before {
	left: 95%;
}

header.gn nav>ul.nv-l [role="dropdown"]>ul {
	display: block;
	margin: 0;
	padding: 0;
	-moz-column-break-inside: avoid;
	break-inside: avoid;
	list-style: none;
	min-width: 200px;
}

header.gn nav>ul.nv-l [role="dropdown"]>ul a {
	padding: 0.5em 0 0.2em;
}

header.gn nav>ul.nv-l [role="dropdown"]>ul .li-hr {
	color: var(--text-tertiary);
	text-transform: uppercase;
}

header.gn nav>ul.nv-l [role="dropdown"]>ul .li-hdr {
	font-weight: bold;
}

header.gn nav>ul.nv-l [role="dropdown"]>ul li,
header.gn nav>ul.nv-l [role="dropdown"]>ul a {
	display: block;
	font-size: 1em;
}

header.gn nav>ul.nv-l [role="dropdown"]>ul li {
	margin-bottom: 1em;
}

header.gn nav>ul.nv-l [role="dropdown"]>ul li span {
	color: var(--text-tertiary);
	font-size: 0.8em;
}

header.gn nav .m-tr,
header.gn nav .nv-m {
	position: absolute;
}

@media screen and (min-width: 568px) {

	header.gn nav .m-tr,
	header.gn nav .nv-m {
		display: none;
	}
}

header.gn nav .m-tr {
	top: 10px;
	right: 10px;
	width: 48px;
	height: 48px;
	text-align: center;
	background: var(--bg-primary);
	border-radius: 50%;
	z-index: 5;
	-webkit-appearance: none;
	text-decoration: none;
	white-space: nowrap;
	border: none;
	cursor: pointer;
	outline: none;
	mading: 0;
}

header.gn nav .m-tr svg {
	display: inline;
	vertical-align: middle;
}

header.gn nav .m-tr.active svg:first-of-type {
	display: none;
}

header.gn nav .m-tr.active svg:last-of-type {
	display: inline;
}

header.gn nav .m-tr svg:last-of-type {
	display: none;
}

header.gn nav .nv-m {
	top: 70px;
	left: 3%;
	background: var(--bg-primary);
	width: 93%;
	margin: 0;
	padding: 1.5em 2em;
	box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.16), 0 2px 4px rgba(0, 0, 0, 0.3), 0 0 999em var(--color-neutral-1000);
	border-radius: 4px;
	font-size: 1.5em;
	list-style: none;
}

header.gn nav .nv-m.active {
	animation-name: fade-in;
	animation-duration: 250ms;
	animation-fill-mode: backwards;
}

header.gn nav .nv-m li {
	margin-bottom: 10px;
	text-align: center;
}

header.gn nav .nv-m li a {
	display: block;
	padding: 10px 0;
}

header.gn nav .box-rg .rg-gr {
	margin-top: 4px;
}

header.gn nav .box-rg input {
	display: none;
}

@media screen and (min-width: 1024px) {
	header.gn nav .box-rg input {
		display: block;
	}
}

header.gn nav .box-rg .rg-info {
	display: none;
}

/* ------ */
/* Footer */
footer.gn {
	background: var(--bg-secondary);
	color: var(--text-muted);
}

footer.gn .ft-nav {
	display: flex;
	flex-direction: row;
	align-items: center;
	padding: 0 2em 4em 2em;
}

@media screen and (min-width: 568px) {
	footer.gn .ft-nav {
		padding: 0 4em 4em 4em;
	}
}

@media screen and (min-width: 1024px) {
	footer.gn .ft-nav {
		padding: 0 0 4em 0;
	}
}

footer.gn .ft-nav .nav-logo {
	padding: 0 60px 0 40px;
}

footer.gn .ft-nav nav {
	flex-grow: 1;
	display: grid;
	grid-template-columns: repeat(1, 1fr);
}

@media screen and (min-width: 568px) {
	footer.gn .ft-nav nav {
		grid-template-columns: repeat(2, 1fr);
		grid-column-gap: 2em;
	}
}

@media screen and (min-width: 1024px) {
	footer.gn .ft-nav nav {
		grid-template-columns: repeat(4, 1fr);
		grid-column-gap: 1em;
	}
}

footer.gn .ft-nav nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

footer.gn .ft-nav nav ul li {
	margin: 0 0 1em 0;
}

footer.gn .ft-nav nav div {
	display: flex;
	flex-direction: column;
}

footer.gn .ft-cc {
	padding: 15px 0;
	font-size: 80%;
	text-align: right;
}

/* Registration */
.box-rg {
	margin: 0;
	padding: 0;
	font-size: 16px;
}

.box-rg fieldset {
	margin: 0;
	padding: 0;
	border: none;
}

.box-rg .rg-gr {
	max-width: 100%;
	margin: 0 auto;
}

@media screen and (min-width: 568px) {
	.box-rg .rg-gr {
		width: 400px;
	}
}

@media screen and (min-width: 768px) {
	.box-rg .rg-gr {
		/*display: flex;*/
	}

	.box-rg .rg-gr input.ui-in {
		flex-grow: 1;
		margin-right: 1em;
	}
}

.box-rg .rg-gr input.ui-in,
.box-rg .rg-gr button.ui-bt {
	display: block;
	width: 100%;
	margin-bottom: 1em;
}

@media screen and (min-width: 768px) {

	.box-rg .rg-gr input.ui-in,
	.box-rg .rg-gr button.ui-bt {
		display: inline-block;
		width: auto;
	}
}

.box-rg .rg-info {
	margin-top: 0.5em;
	font-size: 90%;
}

/* Grids */
.docsie-grid .docsie-section-container {
	display: grid;
	grid-gap: 1em;
	grid-template-columns: repeat(1, 1fr);
}

@media screen and (min-width: 768px) {
	.docsie-grid.grid-2 .docsie-section-container {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (min-width: 768px) {
	.docsie-grid.grid-3 .docsie-section-container {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (min-width: 1024px) {
	.docsie-grid.grid-3 .docsie-section-container {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media screen and (min-width: 768px) {
	.docsie-grid.grid-4 .docsie-section-container {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (min-width: 1024px) {
	.docsie-grid.grid-4 .docsie-section-container {
		grid-template-columns: repeat(4, 1fr);
	}
}

.docsie-grid .docsie-section-title {
	grid-column: 1 / -1;
}

.docsie-grid .docsie-grid-cell {
	width: 100%;
	min-width: 260px;
}

/* Card */
.docsie-card {
	width: auto;
	height: 100%;
	display: flex;
	flex-direction: column;
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
	border-radius: 4px;
	overflow: hidden;
	background-color: var(--bg-primary);
	color: var(--text-primary);
}

.docsie-card .meta {
	color: var(--text-tertiary);
}

.docsie-card .comment {
	font-size: initial;
	padding: 1em;
	padding-bottom: 0;
}

.docsie-card>p {
	margin: 1em;
}

.docsie-card>img {
	max-width: 100%;
	height: auto;
}

.docsie-card>*:first-child {
	flex-grow: 1;
}

.docsie-card>*:last-child {
	font-size: 80%;
}

/* Carousel */
.cr-ft {
	width: 100%;
	display: flex;
	text-align: left;
	flex-direction: row;
	position: relative;
	transition: all 450ms ease-out;
}

.cr-ft figure.ft-f {
	margin: 0;
	padding: 0;
	flex-grow: 1;
	display: flex;
	align-items: center;
	position: relative;
	overflow: hidden;
	background-color: var(--bg-primary);
	box-shadow: 5px 0px 20px -5px rgba(0, 0, 0, 0.5);
	border-radius: 2px;
}

.cr-ft figure.ft-f img {
	width: 100%;
	height: auto;
	position: absolute;
	transform: translateX(100%);
	opacity: 0;
	transition: all 450ms ease-out;
	z-index: 1;
}

.cr-ft figure.ft-f img.current {
	transform: translateX(0%);
	opacity: 1;
	z-index: 2;
}

.cr-ft figure.ft-f figcaption {
	position: absolute;
	z-index: 3;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 1em;
	font-family: "Alata", sans-serif;
	text-align: center;
}

.cr-ft nav.ft-n {
	width: 260px;
	flex-shrink: 0;
}

.cr-ft nav.ft-n ul {
	margin: 0;
	padding: 0;
	list-style: none;
	padding: 1em;
}

.cr-ft nav.ft-n ul li {
	margin: 0;
	padding: 0;
	display: block;
}

.cr-ft nav.ft-n ul li button {
	position: relative;
	padding-left: 40px;
}

.cr-ft nav.ft-n ul li .i {
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
}

.cr-ft nav.ft-n ul li a {
	display: block;
	width: 100%;
	font-size: 15px;
	padding: 14px;
}

.cr-ft nav.ft-n ul button {
	display: block;
	width: 100%;
	-moz-appearance: none;
	-webkit-appearance: none;
	display: inline-block;
	padding: 14px;
	margin-bottom: 1em;
	box-shadow: none;
	background: rgba(255, 255, 255, 0.6);
	border: 1px solid transparent;
	border-radius: 0.5em;
	font-weight: 600;
	font-size: 15px;
	letter-spacing: .025em;
	color: var(--text-secondary);
	text-decoration: none;
	transition: all .15s ease;
	cursor: pointer;
	text-align: left;
}

.cr-ft nav.ft-n ul button:hover,
.cr-ft nav.ft-n ul button:focus {
	transform: translateY(-1px);
	box-shadow: 0 13px 27px -5px rgba(50, 50, 93, 0.25), 0 8px 16px -8px rgba(0, 0, 0, 0.3), 0 -6px 16px -6px rgba(0, 0, 0, 0.025);
}

.cr-ft nav.ft-n ul button.active {
	transform: translateY(1px);
	box-shadow: 0 6px 12px -2px rgba(50, 50, 93, 0.25), 0 3px 7px -3px rgba(0, 0, 0, 0.3);
	border: 1px solid var(--bg-primary);
	color: var(--text-primary);
	background: var(--bg-primary);
}

.cr-ft nav.ft-n ul button .i {
	color: var(--color-brand-primary);
}

.cr-ft .n-m {
	position: absolute;
	z-index: 4;
	width: 48px;
	height: 48px;
	top: 45%;
	-webkit-appearance: none;
	border: none;
	background: var(--color-info-light);
	border-radius: 50%;
	cursor: pointer;
}

.cr-ft .n-m[type=left] {
	left: -10px;
}

@media screen and (min-width: 768px) {
	.cr-ft .n-m[type=left] {
		left: -24px;
	}
}

.cr-ft .n-m[type=right] {
	right: -10px;
}

@media screen and (min-width: 768px) {
	.cr-ft .n-m[type=right] {
		right: -24px;
	}
}

.cr-ft .n-m:active {
	transform: translateY(1px);
}

/* Animations */
@keyframes fade-in {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

/* Cookie policy */
.cookie-policy .cookie-policy-alert {
	bottom: 0;
	box-sizing: border-box;
	border: 0;
	display: none;
	padding: 1em;
	padding-right: 4em;
	position: fixed;
	z-index: 200;
	background: var(--color-info-light);
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
	border-radius: 2px;
}

@media screen and (min-width: 1024px) {
	.cookie-policy .cookie-policy-alert {
		bottom: 1em;
		left: 50%;
		margin-left: calc(980px / -2);
		width: 980px;
	}
}

.cookie-policy .cookie-policy-alert .off-screen {
	height: 1px !important;
	left: -10000px !important;
	overflow: hidden !important;
	position: absolute !important;
	top: auto !important;
	width: 1px !important;
}

.cookie-policy .cookie-policy-alert .cookie-policy-content {
	margin: 0;
	padding-right: 1.5em;
	text-align: left;
}

.cookie-policy .cookie-policy-alert .cookie-policy-close {
	background-color: transparent;
	background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAAZklEQVQoz2NmYGDwZ2BgEGJgYHjCgB9YMjAwGMMYzxgYGOwJKH7GwMBghy5gT4xifJpwKsamiaBiZE1voBhDMRMBzYzEmA5zBsHQw+ZmnJrweRBDEzGhAdfECE0arxgYGI4T4T8xAPIsHC/5L52UAAAAAElFTkSuQmCC");
	background-position: center;
	background-repeat: no-repeat;
	/* background-size: 1em; */
	border: 0;
	cursor: pointer;
	width: 48px;
	height: 48px;
	padding: 1em;
	position: absolute;
	top: 0;
	right: 0;
	text-indent: -99999px;
}

::-webkit-scrollbar {
	width: 8px;
	height: 8px;
}

::-webkit-scrollbar-track {
	background-color: transparent;
}

::-webkit-scrollbar-thumb {
	background-color: #d6dee1;
	border-radius: 20px;
	border: 6px solid transparent;
}

::-webkit-scrollbar-thumb:hover {
	background: #a8bbbf;
}

/* Pure CSS gradient fallback for performance */
.docsie-background-img-gradient {
	background: linear-gradient(135deg, 
		#ffeef8 0%, 
		#ffe0f0 25%, 
		#ffccdd 50%, 
		#ffc0e0 75%, 
		#ffb3d9 100%);
	background-attachment: fixed;
}

/* Image-based background with performance optimizations */
.docsie-background-img {
	background-image: url("/assets/Desktop-reduce.jpeg");
	background-image: image-set(
		url("/assets/Desktop-reduce.webp") type("image/webp"),
		url("/assets/Desktop-reduce.jpeg") type("image/jpeg")
	);
	background-size: cover;
	background-attachment: fixed;
	background-position: center;
	background-repeat: no-repeat;
	will-change: transform;
}

.cal-inline-container {
  overflow: auto;
}
@media (max-width: 768px) {
    #demo-cal-inline {
      min-height: 900px !important;
      min-width: 300px !important;
    }
}