
body.border-size-class,
body.border-size-class *,
* {
	box-sizing: border-box;	
}

body {
	--font-regular: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif,
	'Apple Color Emoji', 'Segoe UI Emoji';

	font:13px/1.8em var(--font-regular);
	background-color:#fff;
}

.hidden { display:none; }


/* Body fixes */
.bodyFix_Legacy .ssi-app {
	/*min-height: calc(100vh - 89px);*/
	margin-top: -30px;
}

.bodyFix_Legacy .ssi-app .app-header {
	top: calc(var(--navigation-bar-height) - var(--navigation-bar-offset));
}

.bodyFix .ssi-app {
	/*min-height: calc(100vh - 80px);*/
    margin-top: -20px;	
}

.bodyFix .ssi-app .app-header {
	top: 80px;
}

hr {
	border-top: 1px solid #ddd;
	border-bottom:0;
}

.single-page-view {
	padding:20px;
	background-color:#e9e9e9;
}






.tile-view {
	display: flex;
	flex-wrap: wrap;
	align-content: stretch;
	/*width:100%;*/
}

.tiles-center {
	justify-content: center;
	padding:50px 30px;
}

.tiles-contrast-background {
	background-color:#b0bcc5;
}

.tile-item {
	display:flex;
	margin:10px;
}
.tile-element {
	margin:10px;
	border-radius:5px;
	overflow:hidden;
}
.tile-small-margin {
	margin:5px;
}


.tile-view-6 .tile-single {
	width:calc(calc(100% / 6) - 20px);
}
.tile-view-5 .tile-single {
	width:calc(calc(100% / 5) - 20px);
}
.tile-view-4 .tile-single {
	width:calc(calc(100% / 4) - 20px);
}
.tile-view-3 .tile-single {
	width:calc(calc(100% / 3) - 20px);
}
.tile-view-2 .tile-single {
	width:calc(calc(100% / 2) - 20px);
}
.tile-view-1 .tile-single {
	width:calc(100% - 20px);
}

.tile-view-6 .tile-small-margin {
	width:calc(calc(100% / 6) - 10px);
}
.tile-view-5 .tile-small-margin {
	width:calc(calc(100% / 5) - 10px);
}
.tile-view-4 .tile-small-margin {
	width:calc(calc(100% / 4) - 10px);
}
.tile-view-3 .tile-small-margin {
	width:calc(calc(100% / 3) - 10px);
}
.tile-view-2 .tile-small-margin {
	width:calc(calc(100% / 2) - 10px);
}
.tile-view-1 .tile-small-margin {
	width:calc(100% - 10px);
}

.tile-limit-width-300 {
	width:300px;
}
.tile-limit-width-250 {
	width:250px;
}

.tag-cloud {
	max-height:30px;
	overflow:hidden;
	transition:all 0.2s;
	line-height:32px;
}
.tag-cloud:hover {
	max-height:100px;
}

.inactive img {
	filter:grayscale(100%);
}

.tile-single > img {
	width:100%;
	height:auto;
	display: block;
}


.tag-cloud a {
	display: inline-block;
	margin: 0 5px 0px 0;
	padding: 0px 6px 0px 6px;
	border-radius: 20px;
	background-color: rgba(255,255,255,0.2);
	cursor: pointer;
	color: #666;
	border: 1px solid #ccc;
	line-height: 22px;
}
.tag-cloud a.active {
	background-color:#28a4c9;
	border-color:#28a4c9;
	color:#fff;
	padding: 0px 8px 0px 8px;
}

.tag-cloud a span {
	display: inline-block;
	background-color: rgba(100,100,100,0.2);
	font-size: 10px;
	line-height: 15px;
	border-radius: 10px;
	margin-left: 5px;
	color: #333;
	text-align: center;
	padding: 0 5px;
	vertical-align: middle;
	margin-top: -2px;
	font-weight: bold;
}

.tag-cloud a.active span {
	background-color:transparent;
	color: #fff;
	font-size: 13px;
	padding: 0 2px;
}


/* Main grid elements */
.content-sticky {
	position: sticky;
	top: 80px;
	z-index: 4;
	-webkit-backdrop-filter: blur(10px);
	-moz-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	display:flex;
}

.full-page-element {
	padding: 10px 20px;
	background-color: rgba(255,255,255,0.9);
	border-bottom: 1px solid #0009;		
}
.col-group {
	display:flex;
	flex-wrap: wrap;
}
.app-style {
	height:100vh;
	position:relative;
}
.app-style .app-has-header {
	padding-top:50px;
}


/* Fallback – for now */
.col-group-float {
	display:block;
}
.col-group-float h2 {
	padding:10px 0 5px 0px !important;
	background-color:#fff;
}

.constrain {
	max-width:1200px;
	margin:0 auto;
}

.col-group-max {
	width:100%;
}
.col-align-right {
	justify-content: flex-end;
}

.col-group .right-buttons {
	float:right;
}
.text-align-right {
	text-align: right;
}
.col-group .right-buttons a {
	display:inline-block;
	margin-left:15px;
	color: #63818f;
}

.col-highlight {
	/*border-top:1px solid #ccc;*/
	border-radius: 5px;
	padding: 20px;
	margin: 0 0 15px 0;
	background-color: #fff;
}
.col-group.col-highlight {
	padding:10px !important;
}
.col-unwrap {
	flex-wrap: unset;
}

	/* border-top:1px solid #ccc;
} */

.col-inlay {
	/*border-top:1px solid #ccc;*/
	padding: 10px 10px 20px 10px;
}


.col-contrast {
	border: 1px solid #e0e0e0;
	background-color: #dfe4e7;
}
.col-border {
	border: 1px solid #e9e9e9;
	padding: 10px 10px 20px 10px;
	border-radius: 6px;
	background-color: #fafafa;
}
.col-rounded {
	border-radius:5px;
	overflow: hidden;
} 
.col-head {
	border-bottom: 1px solid #ccc;
	background-color: #fff;
	font-weight: bold;
}
.col-white {
	background-color:#fff;
}
.col-fit {
	padding:0 !important;
	overflow: hidden;
}

.separate-top {
	border-top:2px solid #ddd; /*#e9e9e9;*/
	padding:10px 0px;
	margin-top:20px;
}
.separate {
	padding: 0px 0px 10px 0px;
	margin-bottom: 20px;
}
.separate-container {
	padding:10px 0px;
	border:1px solid #ddd;
	border-radius:5px;
	margin-top:20px;
}

.highlight-left {
	padding-left:20px;
	border-left:2px solid #598fbd;
}


/* Columns */
.col-1, .col-2, .col-3, .col-4,
.col-5, .col-6, .col-7, .col-8,
.col-9, .col-10, .col-11, .col-12,
.col-fixed, .col-auto {
	justify-content: stretch;
	padding:10px;
}

.col-unwrap .col-1, .col-unwrap .col-2, .col-unwrap .col-3, .col-unwrap .col-4,
.col-unwrap .col-5, .col-unwrap .col-6, .col-unwrap .col-7, .col-unwrap .col-8,
.col-unwrap .col-9, .col-unwrap .col-10, .col-unwrap .col-11, .col-unwrap .col-12,
.col-unwrap .col-fixed, .col-unwrap .col-auto {
	margin-right:15px;
}

/* MESSY. Quick and dirty!! Better create more general subset of "col"... */
.col-unwrap > div.col-1:last-of-type, 
.col-unwrap > div.col-2:last-of-type, 
.col-unwrap > div.col-3:last-of-type, 
.col-unwrap > div.col-4:last-of-type,
.col-unwrap > div.col-5:last-of-type, 
.col-unwrap > div.col-6:last-of-type, 
.col-unwrap > div.col-7:last-of-type, 
.col-unwrap > div.col-8:last-of-type,
.col-unwrap > div.col-9:last-of-type, 
.col-unwrap > div.col-10, 
.col-unwrap > div.col-11, 
.col-unwrap > div.col-12,
.col-unwrap > div.col-fixed, 
.col-unwrap > div.col-auto {
	margin-right:0;
}

.col-x-aligned {
	padding:0 10px;
}

.col-1 {
	width:8.33%
}
.col-2 {
	width:16.66%
}
.col-3 {
	width:25%;
}
.col-4 {
	width:33.33%;
}
.col-5 {
	width:41.66%;
}
.col-6 {
	width:50%;
}
.col-7 {
	width:58.33%;
}
.col-8 {
	width:66.66%;
}
.col-9 {
	width:75%;
}
.col-10 {
	width:83.33%;
}
.col-11 {
	width:91.66%;
}
.col-12 {
	width:100%
}

.col-fixed {
	flex-shrink: 0;
}

.col-auto {
	width:auto;
	flex-grow:1;
}
.col-width-200 {
	width:200px;
}
.col-width-250 {
	width:250px;
}
.col-width-300 {
	width:300px;
}
.col-width-350 {
	width:350px;
}
.col-width-400 {
	width:400px;
}

.col-width-200 + .col-auto {
	width:calc(100% - 200px);
}
.col-width-250 + .col-auto {
	width:calc(100% - 250px);
}
.col-width-300 + .col-auto {
	width:calc(100% - 300px);
}

.col-scroll-y {
	overflow-x: hidden;
	overflow-y:auto;
}
.col-scale-height-100 {
	height:100%;
}



/* Text elements */
.col-group h2 {
	font-size: 18px;
	font-weight: 500;
	line-height: 22px;
	margin: 8px 0 5px 0;
	padding: 0px 0 5px 0;	
	color: #333;
}

.col-group h2.underlined,
.col-group h3.underlined {
	border-bottom: 1px dotted #aaa;
}

.col-group h3 {
	font-size: 16px;
	font-weight: bold;
	line-height: 22px;
	margin: 0 0 5px 0;
	padding: 0 0 0 0;	
	color: #333;
}
.col-group p {
	margin:0 0 10px 0;
	line-height:18px;
	color:#333;
}
.fixed-top h3 {
	margin-top:0px;
}

.col-group h2:last-of-type,
.col-group p:last-of-type {
	margin-bottom:0px !important;
}
.col-group ul {
	padding-left: 15px;
	margin-top: 10px;
}
.col-group li {
	line-height: 18px;
	margin-bottom: 10px;
}

/* Text elements */
.col-group h2 {
	font-size: 18px;
	font-weight: 500;
	line-height: 22px;
	margin: 8px 0 5px 0;
	padding: 0 0 5px 0;
	border-bottom: 1px dotted #aaa;
	color: #333;
}
.col-group h3 {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.2;
	margin: 0 0 .35em 0;
	padding: 0 0 0 0;	
	color: #333;
}
.col-group p {
	margin:0 0 10px 0;
	line-height:18px;
	color:#333;
}

.col-group h2:last-of-type,
.col-group p:last-of-type {
	margin-bottom:0px !important;
}
.col-group ul {
	padding-left: 15px;
	margin-top: 10px;
}
.col-group li {
	line-height: 18px;
	margin-bottom: 10px;
}


/* Forms */
.ssi-element input,
.ssi-form input[type="text"],
.ssi-form input[type="select"] {
	width: 100%;
	border: 1px solid #ddd;
	border-radius: 8px;
	padding: 5px 8px;	
	font-size: 13px;
	line-height: 16px;
}
.ssi-form label.checkbox-item {
	position:relative;
	padding: 2px 0 0 22px;
	line-height:16px;
	margin-bottom:15px;
}
.ssi-form label.checkbox-item input {
	/*width:20px;
	height:20px;*/
	position:absolute;
	left:0;
	top:0;
}

.search-field {
	width:250px;
	float:right;
	position:relative;
	margin-top: 0px;
}
.search-field input[type="text"] {
	font-size: 11px;
	line-height: 15px;
	padding: 3px 10px;
	border-radius: 5px;
}

.search-field .clear-search {
	width: 17px;
	height: 17px;
	background-color: #999;
	color: #fff;
	text-align: center;
	line-height: 16px;
	border-radius: 10px;
	position: absolute;
	right: 4px;
	top: 4px;
	/* font-weight: bold; */
	font-size: 12px;
	display: none;
	cursor: pointer;
}

.search-field.is-searching .clear-search {
	display:block;
}
.search-field.is-searching input {
	background-color:#f0f0f0;
}

.ssi-element select,
.ssi-form select {
	width: 100%;
	border: 1px solid #ddd;
	border-radius: 8px;
	padding: 5px 8px;	
	font-size: 13px;
	line-height: 16px;
	-webkit-appearance:none;
	appearance: none;
}

.btn-comply {
	width:100%;
	background-color:#209a05;
	text-align: center;
	color:#fff;
	border-radius: 5px;
	font-size: 14px;
	padding: 6px 0px;
	border: 0;
}

.ssi-btn {
	background-color:#eee;
	text-align: center;
	border-radius: 5px;
	font-size: 14px;
	padding: 4px 7px;
	display:inline-block;
	cursor:pointer;
}

.btn-cta {
	background-color: #eee;
	color: #333;
	
}
.btn-cta i {
	font-size: 10px;
}
.btn-cta-small {
	font-size:12px;
}
.btn-cta-orange {
	background-color:orange;	
}

.btn-tag,
a.btn-tag {
	display: inline-block;
	margin: 0 5px 5px 0;
	background-color: #f0f0f0;
	font-size: 12px;
	line-height: 14px;
	padding: 4px 9px;
	border-radius: 10px;
	color: #666;
	border: 1px solid #ddd;
}

.ssi-form label.checkbox-item {
	position:relative;
	padding: 2px 0 0 22px;
	line-height:16px;
	margin-bottom:15px;
}
.ssi-form label.checkbox-item input {
	/*width:20px;
	height:20px;*/
	position:absolute;
	left:0;
	top:0;
}


label.tile-item {
	font-weight:bold;
}
label.tile-item span {
	font-weight:normal;
	display:block;
}
label.tile-item input[type="checkbox"] {	
	position:absolute;
	left:0;
	margin:2px 0 0 0;
}
label.tile-item > div {
	padding:0 0 0 20px;
	position:relative;
	line-height: 16px;
	font-size:12px;
}


/* MISC */
.un-flex {
	display:block;
	width:100%;
}

h3 span.subline {
	color:#333;
	font-weight:bold;
	font-size:0.7em;
	display:block;
	margin-top:2px;
}

/*
.tile-item.red-mark,
.tile-item.orange-mark,
.tile-item.green-mark {
	font-weight:normal;
}
*/
/*
.tile-item.red-mark > div,
.tile-item.orange-mark > div,
.tile-item.green-mark > div {
	border-radius: 0px;
	margin: 0px 10px 0px 0;
	line-height: 14px;
	text-align: right;
	display: block;
	float: left;
	padding: 3px 10px 2px 0px;
	font-size: 11px;	
	font-weight: bold;
	width: 60px;
}
*/

.tile-indicator {
	line-height:16px;
}

.tile-indicator > div {
	border-radius: 0px;
	margin: 0px 10px 0px 0;
	line-height: 16px;
	text-align: right;
	display: block;
	float: left;
	padding: 0px 10px 0px 0px;
	font-size: 11px;	
	font-weight: bold;
	width: 60px;
	border-right-width: 2px;
	border-right-style: solid;
}

.tile-indicator > span {
	color:#aaa;
	display:block;
}
.tile-indicator > span b {
	display:block;
}

/* TILE INDICATOR – COLORS */
.tile-indicator.red-mark > div {
	border-color:#a80000;
}
.tile-indicator.orange-mark > div {
	border-color:#ec8b0e;
}
.tile-indicator.green-mark > div {
	border-color:#6bab2c;
}
.tile-indicator.red-mark,
.tile-indicator.red-mark span b {
	color:#a80000;
}
.tile-indicator.orange-mark,
.tile-indicator.orange-mark span b {
	color:#ec8b0e;
}
.tile-indicator.green-mark,
.tile-indicator.green-mark span b {
	color:#6bab2c;
}




/* APP */

.xo-cards-wrapper {
	display:flex;	
	gap:1.5em;
	padding:0 1em;

	input[type="search"] {
		margin-bottom: 1em;
		width: 100%;
		border: 1px solid #ddd;
		border-radius: 5px;
		padding: .25em .5em;
	}
}

.xo-card-side {
	width:calc((100% - 1.5em) / 2);
	padding:0;

	.formGroupHighlight,
	.module-section {
		padding:20px;
	}

	.module-comment {
		padding:1em 0 1.5em;
		border-bottom:1px solid #dfdfdf;
		margin:1em 0 1.5em;
	}

	.module-comment:empty {
		display: none;
	}

	.module-fit {
		padding:0;
	}

	.xo-overlay-close {
		display: none;
	}
}


.two-bubbles {
	margin-top:15px;
	display: flex;
	width: 100%;
	gap:15px;
}

.two-bubbles-1,
.two-bubbles-2 {	
	padding:15px;
	border:1px solid #ddd;
	border-radius:8px;

	h3 {
		text-wrap: balance;
	}
}

.two-bubbles-1 {
	background-color:#f0f0f0;
	width:calc(67.6% - 8px);
}
.two-bubbles-2 {
	border-color:var(--color-ssi-red);
	width:calc(32.6% - 8px);
	background-color: hsl(0, 70%, 60%);

	p {
		color:white;
		font-weight: 600;
	}
}



.ssi-app {
	display:block;
	position:relative;
	min-height:70vh;
	font-family: var(--font-regular);
}
.ssi-app .SSI_preloaderOverlay {
	width:100vw;
	height:100vh;
	position:fixed;
	left:0; top:0;
	opacity:0;
	pointer-events: none;
	transition:all 0.5s;
	/*transition-delay:0.2s;*/
	z-index:3;
	background-color: rgba(255,255,255,0.1);
	backdrop-filter: blur(0px);
	-webkit-backdrop-filter: blur(0px);
	-moz-backdrop-filter: blur(0px);
}
.ssi-app .SSI_preloaderOverlay img {
	background-color: #fff;
	border-radius: 30px;
	border: 2px solid #fff;
}

.ssi-app .SSI_preloaderOverlay.show-preloader {
	pointer-events: all;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	-moz-backdrop-filter: blur(6px);
	opacity:1;
}

.ssi-app select { width:auto !important; }

/*
.ssi-app .contentNavigation {
	max-width:1170px;
}
*/

.ssi-app .progressContainer {
	max-width:900px;
}


/* Application header and main content area */

.app-header {
	background-color: #fbfbfb;  /*ffffffdd*/
	position: sticky;
	height:95px;
	z-index:4;
	/* border-bottom:1px solid #e6e6e6; */
	/* -webkit-box-shadow: inset 0px 3px 6px -4px rgba(0,0,0,0.3);
	-moz-box-shadow: inset 0px 3px 6px -4px rgba(0,0,0,0.3);
	box-shadow: inset 0px 3px 6px -4px rgba(0,0,0,0.3); */
	/* backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	-moz-backdrop-filter: blur(10px); */

	&::before {
		content: '';
		position: absolute;
		height: 3px;
		width:100%;
		bottom:0;
		left:0;
		background-color:#ddd;
		z-index:-1;
	}
}

.app-footer {
	background-color: #ffffffcc;
	position: sticky;
	bottom: 0;
	height: 55px;
	z-index: 3;
	border-top: 0px;
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	-moz-backdrop-filter: blur(5px);
}

.app-header .inner-content,
.app-footer .inner-content {
	max-width:1140px;
	margin:0 auto;
}
.app-footer .inner-content {
	border-top: 1px solid #ddd;
}

.app-header h1 {
	font-size: 22px;
	line-height: 35px;
	font-weight: normal;
	margin: 0;
	padding: 18px 0 0 0;
	color: #333;
}

.header-buttons {
	float:right;
	margin-top: 5px;
}
.app-footer .header-buttons {
	margin-top: 13px;
}

.header-buttons button,
.header-buttons a {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 7px;
	line-height: 21px;
	background-color: #e6e6e6;
    color: #999;
	font-weight: bold;
	margin-left:10px;
	border:0px;
}
.header-buttons button.btn-highlight,
.header-buttons a.btn-highlight {
	background-color:#63818f;
	color:#fff;
}

.header-buttons a.btn-help {
	background-color: transparent;
	padding: 0 10px;
	height: 27px;
	text-align: center;
	color: #63818f;
	font-size: 13px;
	border: 1px solid #63818f;
}
.header-buttons a.btn-help i {
	margin-top: 6px;
	margin-right:4px;
	display: inline-block;
}

.app-navigation {
	position:absolute;
	bottom:0px;
	z-index:2;
	display:flex;
	gap:0em;
	/* padding:2px; */
	/* border-radius: 99px;
	background-color:#efefef; */

	
}
.app-navigation div {
	font-family: var(--font-regular);
	display: inline-block;
	/* margin-right: 15px; */
	font-size: 14px;
	/* line-height: 30px; */
	/* border-bottom: 3px solid transparent; */
	color:#6b6b6b;
	cursor:pointer !important;
	padding:.15em .75em;
	/* border-radius: 99px; */
}
.app-navigation div:not(.btn-off):not(.active):hover {	
	/* border-bottom: 3px solid #d6d6d6; */
	/* background-color:#ccc; */
	color:#111;
}
.app-navigation div.active {
	border-bottom: 3px solid #63818f;
	/* background-color:#999; */
	/* color:white; */
	/* font-weight: bold; */
}
.app-navigation div.btn-off {
	opacity:0.5;
	pointer-events: none;
}

.app-navigation div.missing {
	color: #a80000;
}

.app-navigation div.missing.active {	
	/* background-color:#a80000;
	color:white; */
	border-bottom: 3px solid #a80000;
}

.app-content {
	padding-top:20px;
	/*transition:all 0.5s;*/
}
.app-content .myssi-smallCol1 {
	max-width:1160px;
}

.sticky-subheadline {
	position: sticky;
	top: 175px;
	background-color: #fff;
	z-index: 2;
}

.sticky-subheadline-legacy {
	top:80px;
}

.sticky-top {
	position:sticky;
	top:0;
	background-color: #fffffff9;
	padding-top: 0px !important;
	margin-top: 0px !important;
	z-index: 5;
	/* -webkit-backdrop-filter: blur(14px);
	-moz-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px); */
	border-bottom: 0;
}

.sticky-top .col-1,
.sticky-top .col-2,
.sticky-top .col-3,
.sticky-top .col-4,
.sticky-top .col-5,
.sticky-top .col-6,
.sticky-top .col-7,
.sticky-top .col-8,
.sticky-top .col-9,
.sticky-top .col-10,
.sticky-top .col-11,
.sticky-top .col-12 {
	padding:10px 15px;
}

.app-has-header .sticky-top {
	top:50px;
}

.fixed-top {
	position:fixed;
	top:0;
	width:100%;
	height:50px;
	background-color: #f0f0f0;
	padding-top: 0px !important;
	margin-top: 0px !important;
	z-index: 10;
	/* -webkit-backdrop-filter: blur(10px);
	-moz-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px); */
	border-bottom: 1px solid #f3f3f3;
}

.app-options {
	position: absolute;
	right: 0;
	padding:10px;
}



/* ------------------------------------------ */

/* Lists */
.list-item {
	width:100%;
	height:100%;
}
.list-item span {
	display: block;
	float: left;
	border-radius: 7px;
	border: 1px solid #ccc;
	padding: 1px 5px;
	font-weight: bold;
	color: #999;
	text-align: center;
	font-size: 10px;
	width: 75px;
	margin-right: 10px;
	background-color: #fff;
}
.list-item p {
	display: block;
	padding: 4px 0 0 0;
}


/* Tables */
table.rule-table-2 {
	width:100%;
}
table.rule-table-2 tr td:first-of-type {
	width:110px;
	padding-right:10px;
}
table.rule-table-2 tr td {
	padding:4px 0;
	border-bottom:1px solid #f0f0f0;
}
table.rule-table-2 tr:last-of-type td {
	border-bottom:0px;
}

table.clean-table {
	width:100%;
	border-collapse: collapse;
}
table.clean-table tr td {
	padding:6px 0;
	line-height: 16px;
	border-bottom:1px solid #ddd;
	vertical-align: middle;
}
table.clean-table tr:last-of-type td {
	border-bottom:0px;
}


/* Fullscreen overlay */
.fullscreen-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: 100;
	background-color: #000d;
	-webkit-backdrop-filter: blur(15px);
	-moz-backdrop-filter: blur(15px);
	backdrop-filter: blur(15px);
}
.overlay-content-outer {
	position:absolute;
	left:50%;
	top:50%;
}
.overlay-content-medium {
	padding:20px;
	border-radius:7px;
	background-color: #eee;
	width: 400px;
	margin-left: -200px;
	height: 410px;
	margin-top: -205px;
}

.fullscreen-overlay img {
	width:100%;
	height:auto;
}

.fullscreen-overlay p {
	line-height: 16px;
	color:#333;
}

.fullscreen-overlay hr {
	border-color:#999;
}





/* Image Viewer */
.image-viewer {
	height:420px;
	border-radius: 8px;
	overflow: hidden;
}

.image-viewer > img {
	/* width:100px;
	height:auto; */
	display: none !important;
}
.image-viewer-loaded {
	height:initial !important;
}
.image-viewer .main-image {
	height: 420px;
	text-align: center;
	position: relative;
	background-color: transparent;
	/* border-bottom: 1px solid #ddd; */
	overflow:hidden;
}
.image-viewer .main-image img {
	/* max-width: 100%;
	max-height: 100%; */
	/* position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%); */
	width: 100%;
	height: 100%;
	/* object-fit: cover;
	background-color: #f0f0f0; */
	object-fit: contain;
	background-color: #333;
}

.image-viewer .btn-switch {
	width:40px; 
	height:80px; 
	position:absolute; 
	top: 50%; 
	z-index:10; 
	border-radius:5px; 
	font-size: 20px;
	line-height: 80px; 
	background-color: #ffffffaa; 
	color: #666; 
	transform: translateY(-40px); 
	cursor: pointer;
	transition:all 0.4s;
}

.image-viewer .btn-next {
	right:-50px; 
}
.image-viewer .btn-prev {
	left:-50px; 
}

.image-viewer .main-image:hover .btn-next {
	right:5px; 
}
.image-viewer .main-image:hover .btn-prev {
	left:5px; 
}

.image-viewer .btn-navigation-switch {
	width: 20px;
	height: 80px;
	position: absolute;
	bottom: 15px;
	z-index: 10;	
	font-size: 13px;
	line-height: 80px;
	background-color: #bfced5;
	color: #333;
	cursor: pointer;
	text-align: center;
	transition: all 0.4s;
}
.image-viewer .btn-next-navigation {
	right:0px;
	border-radius: 5px 0 0 5px;
}
.image-viewer .btn-prev-navigation {
	left:0px;
	border-radius: 0 5px 5px 0;
}

.image-viewer .thumbnails {	
	background-color:#f0f0f0;
	padding: 0 25px;
	overflow-x: hidden;
	position:relative;
	height:110px;
	display: none;
}
.image-viewer .thumbnails .thumbnails-inner {
	position:absolute;
	white-space: nowrap;
	padding: 0 25px;
	top: 15px;
	left: 0;
	transition:all 0.5s ease-out;
}

.image-viewer .thumbnails-inner > .thumbnail {
	display: inline-block;
	cursor: pointer;
	height: 80px;
	width: 120px;
	position: relative;
	margin: 0 8px;
	background-size: cover;
	background-position: center center;
	border-radius: 5px;
	overflow: hidden;	
	border:0
}

.image-viewer .thumbnail.active {
	/* border: 1px solid #fff; */
	-webkit-box-shadow: 0px 0px 5px 1px rgba(0,0,0,0.15);
	-moz-box-shadow: 0px 0px 5px 1px rgba(0,0,0,0.15);
	box-shadow: 0px 0px 5px 1px rgba(0,0,0,0.15);
}


/* date-tile */

.date-tile {
	background-color:#f0f0f0;
	border-radius:5px;
	height:100%;
	position:relative;
	overflow: hidden;
	backdrop-filter: blur(0px);
	-webkit-backdrop-filter: blur(0px);
	-moz-backdrop-filter: blur(0px);
	cursor: pointer;
}

.date-image {
	position:relative;
	width:100%;
	padding-top:63.54%;
	background-color:#f9f9f9;
	background-size:cover;
	background-position: center center;;
}
.date-tile .date-indicator {
	position:absolute;
	top: 0px;
	left: 0px;
	width: 40px;
	height: 40px;
	padding-top: 8px;
	background-color: #dfe4e799;
	border-radius: 0 0 5px 0;
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	-moz-backdrop-filter: blur(5px);
}
.date-tile .date-indicator h3,
.date-tile .date-indicator h4 {
	color:#333;
	text-align: center;
	/*padding:0;*/
	margin:0;
	overflow: hidden;
	text-overflow: ellipsis;
	padding: 0 3px;
}
.date-tile .date-indicator h3 {
	font-size: 18px;
	line-height: 14px;
}
.date-tile .date-indicator h4 {
	font-size:10px;
	line-height: 15px;
	font-weight:normal;
}
.date-tile .date-text {
	padding:10px;	
}
.date-tile .date-text h3 {
	font-size:12px;
	line-height:16px;
	font-weight:normal;
	height: 32px;
	overflow: hidden;
}
.date-tile .date-text p {
	font-size:12px;
	line-height:16px;
	display:none;
}
.date-tile .date-more {
	vertical-align: bottom;
	margin: 10px;
	text-align: right;
}
.date-tile .date-more a {
	display:inline-block;
	background-color: #e3e3e3;
	padding: 1px 10px;
	border-radius: 38px;
	color: #333;
	text-decoration: none;
	border: 1px solid #ddd;
}

.list-view .tile-outer  {
	width:100% !important;
}
.list-view .date-tile {
	width:100%;
	display: flex;
	height:auto;
	background-color: transparent;
	border-radius:0px;
	border-bottom:1px solid #e0e0e0;
	padding: 9px 0px 9px 0;
}
.list-view .date-image {
	width: 100px;
	height: 63.54px;
	padding:0 !important;
	flex-shrink: 0;
	order: 2;
	margin: 0 20px 0 0;
}
.list-view .date-text {
	width:auto;
	padding: 0px 20px 0px 0px;
	order: 3;
	flex-grow: 1;
}
.list-view .date-text h3 {
	font-weight: bold;
	font-size:14px;
	line-height:18px;
	height:auto;
	
}
.list-view .date-text p {
	display:block;	
}

.list-view .date-indicator {
	position: initial;
	width: 70px;
	background-color: transparent;
	flex-shrink: 0;
	order: 1;
	margin: 0 10px 0 10px;
}

/* .list-view .date-indicator h3,
.list-view .date-indicator h4 {
	text-align:left;
} */

.list-view .date-indicator h3 {
	font-size: 24px;
	line-height: 28px;
}
.list-view .date-indicator h4 {
	font-size: 12px;
}

.list-view .date-more {
	order:4;
	width: 120px;
	flex-shrink: 0;
	margin-top: auto;
}
.list-view .tile-outer {
	padding:0;
}


.date-tile:hover {
	background-color:#ececec;
}


/* View switch */
.view-switch {
	border:0px solid #ccc;
	border-radius:0px;
	float:none;
	display: inline-block;
	height: 25px;
	margin-top: 3px;
	margin-right: 12px;
}

.view-switch a {
	display:inline-block;
	/*background-color:#ddd;*/
	padding:0px;
}
.view-switch a.active {
	background-color:transparent; /*222;*/
}
.view-switch a.active img {
	filter:invert(0.7);
}
.view-switch a img {
	width:25px;
	height:25px;
	filter: invert(0.2);
	display: block;
}

.view-switch a:hover {
	background-color:transparent;
}
.view-switch a:hover img {
	filter:invert(0.7);
}


/* Picker */
.element-picker {	
	margin-right: 0px; /*12px;*/
	position: relative;
	background-color: #ffffff00;
	width: 190px;
	display: inline-block;
	margin-top: 3px;
	vertical-align: top;
	text-align: left;	
}
.element-picker label {
	border: 1px solid #ddd;
	padding: 1px 8px 1px 8px;
	font-weight: normal;
	font-size: 14px;
	margin: 0;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	border-radius: 8px;
	display: block;
	background-color: #fff;
}

.element-picker .element-options {
	position:absolute;
	display:none;
	z-index: 2;
	left: 0px;
	top: 18px;
	width: 240px;
}

.element-picker .element-options .element-options-inner {
	margin-top: 10px;
	background-color: #fff;
	border: 1px solid #e0e0e0;
	border-radius: 5px;
	box-shadow: 0px 4px 8px 0px rgba(0,0,0,0.15);
	overflow: hidden;
}
.element-picker:hover .element-options,
.element-picker:active .element-options {
	display:block;
}
.element-picker:hover label,
.element-picker:active label {
	background-color:#63818f;
	color:#fff;
}

.element-picker .element-options .element-options-inner span {
	padding:6px 12px;
	cursor:pointer;
	display:block;
}
.element-picker .element-options .element-options-inner span:hover,
.element-picker .element-options .element-options-inner span:active {
	background-color:#63818f;
	color:#fff;
}

.side-overlay {
	position:fixed;
	right:0;
	top:0;
	z-index: 8;
}

.side-overlay-inner {
	transition:left 0.4s;
	height:calc(100vh - 50px);
	width:100vw;
	position:absolute;
	left:1px;
	top:50px;
	background-color:#e9e9e9;	
	border-left:0px solid #ddd;
	/* -webkit-box-shadow: -4px 0px 15px 0px rgba(0,0,0,0.25);
	-moz-box-shadow: -4px 0px 15px 0px rgba(0,0,0,0.25);
	box-shadow: -4px 0px 15px 0px rgba(0,0,0,0.25); */
}
.side-overlay-inner.active {
	left:-100vw;
}
.side-overlay-inner-content {
	position:absolute;
	top:0; left:0;
	width:100%;
	height:100%;
	overflow-x:hidden;
	overflow-y:auto;
	padding:20px;
	transition:unset;
}

.side-overlay-clickdummy {
	position:fixed;
	background-color:rgba(0,0,0,0.6);
	width:100vw;
	height:100vh;
	display: none;
	pointer-events:none;
	transition:all 0.35s;
	z-index:9;	
}
.side-overlay-clickdummy.active {
	display:block;
	pointer-events: all;
	-webkit-backdrop-filter: blur(10px);
	-mot-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.side-overlay-close {
	position: absolute;
	top: 7px;
	left: 10px;
	padding: 10px 15px;	
	border-radius: 8px 0 0 8px;
	font-weight: bold;
	transition: all 0.65s;
	white-space: nowrap;
	font-size: 14px;
	line-height: 19px;
}

.active .side-overlay-close {
	right: 50vw; /*test*/
}

.app-style:not(.detail-view) .detail-opened,
.app-style .detail-closed {
	display:none;
}

.app-style.detail-view .detail-opened,
.app-style:not(.detail-view) .detail-closed {
	display:block;
}

.ellipsis-options {
	width: 35px;
	height: 35px;
	display: none;
	/*position: absolute;*/
	background-color: #ddd;
	color: #999;	
	border-radius: 5px;
	text-align: center;
	line-height: 35px;
	font-size: 16px;
	/* right: 10px; */
	/* top: 7px; */
	float: right;
}
.ellipsis-options-inner {
	display:inline-block;
}

.fa-button {
	width: 35px;
	height: 35px;
	display: none;
	/* background-color: #ddd; */
	color: #999 !important;
	border-radius: 5px;
	text-align: center;
	line-height: 35px;
	font-size: 16px;
	display: inline-block;
	/* margin-left: 5px; */
	vertical-align: top;
	margin-top: 0px;
	border: 0;
	/* float: right; */
	border:0 !important;
}

table tr.info td {
	background-color:#d9edf7;
}

.module-image-text {
	width: 100%;
	display: flex;
	/* gap: 1rem; */
	margin: 10px 0px;
	/* flex-flow: row wrap; */
	background-color: #f0f0f0;
	padding: 10px;
	border-radius: 5px;
}
.module-content-image {
	width:130px;
	flex-shrink:0;
	padding:5px;
}
.module-content-image img {
	width:100%;
	height:auto;
}
.module-content-text {
	width:auto;
	flex-grow:1;
	padding:5px;
	font-size: 12px;
}

.right-bubbles {
	float: right;
	margin-bottom: 0px;
	margin-top: -5px;	
}
.right-bubbles:after {
	clear:both;
	content:' ';
	display:block;
}
.right-bubbles .bubble {
	display:inline-block;
	background-color: #fff;
	padding: 2px 5px;
	border-radius: 5px;
	font-size:10px;
	margin-left:5px;
	border: 1px solid #ddd;
}

.module-image-text a.headline5 {
	font-size:14px;
	line-height:16px;
	margin: 0px 0px 10px 0px;
	display: block;
}
a.btn-more {
	text-decoration: underline;
	font-size: 12px;
	font-weight: bold;
	margin-top: 5px;
	display: inline-block;
}

.btn-frameless {
	background-color:transparent !important;
}

.notice {
	display: block;
	color: #a80000 !important;
	font-weight: bold;
	font-size: 14px;
	line-height: 14px !important;
	border-radius: 5px;
	margin-top: 20px !important;
}

ul.checklist {
	padding: 0;
	margin: 15px 0 0 0;
}

ul.checklist li.checkitem {
	list-style-type: none;
	margin-bottom:10px;
	color:#ccc;
}
ul.checklist li.checkitem span {
	display:inline-block;
	margin-right:10px;
	width:15px;
	height:15px;
	border-radius: 10px;
	border:1px solid #ccc;
	vertical-align: middle;
	background-size:90%;
	background-position:center center;
	background-repeat: no-repeat;
	overflow:hidden;
}
ul.checklist li.checkitem.complete {
	color:#333;
}
ul.checklist li.checkitem.complete span {
	background-image:url('/assets/icons/checkmark.png');
	border-color:#6abc6a;
}

.sg23-btn {
	background-color:#e32119;
	color: white;
	border-radius: var(--border-radius-default);
	padding: var(--default-padding-50);
	display: flex;	
	gap:var(--default-padding-50);
	align-items: center;
}

.sg23-btn img {
	height: 27px;
	width: auto;
	border-radius: var(--border-radius-default);
}

.sg23-btn p {
	color:inherit;
	font-size:1rem;
}
.sg23-btn p span {
	display:block;
	font-size:.9rem;
}


.sg23-btn:hover {
	background-color: #b81d17;
}


/* Responsive */


@media (max-width: 992px) {
	.tile-view-6 .tile-single,
	.tile-view-5 .tile-single,
	.tile-view-4 .tile-single,
    .tile-view-3 .tile-single {
		width:calc(calc(100% / 2) - 20px);
	}

	.col-unwrap {
		flex-wrap: wrap;
	}

	.col-1, .col-2, .col-3, .col-4,
	.col-5, .col-6, .col-7, .col-8,
	.col-9, .col-10, .col-11, .col-12,
	.col-auto {
		width:100%;
	}

	.col-unwrap .col-1, .col-unwrap .col-2, .col-unwrap .col-3, .col-unwrap .col-4,
	.col-unwrap .col-5, .col-unwrap .col-6, .col-unwrap .col-7, .col-unwrap .col-8,
	.col-unwrap .col-9, .col-unwrap .col-10, .col-unwrap .col-11, .col-unwrap .col-12,
	.col-unwrap .col-auto {
		margin-right:0px;
	}
}

@media (max-width: 768px) {
    .tile-view-6 .tile-single,
	.tile-view-5 .tile-single,
	.tile-view-4 .tile-single,
    .tile-view-3 .tile-single,
	.tile-view-2 .tile-single,
	.tile-view-1 .tile-single {
		width:calc(100% - 20px);
	}

	.tile-view-mobile-2.tile-view-3 .tile-single,
	.tile-view-mobile-2.tile-view-4 .tile-single,
	.tile-view-mobile-2.tile-view-5 .tile-single,
	.tile-view-mobile-2.tile-view-6 .tile-single {
		width:calc(calc(100% / 2) - 20px);
	}

	.xo-cards-wrapper {
		position: relative;
		padding:0 0 !important;
	}

	.xo-card-side {
		width:100%;	
		padding:0 0 !important;
		border:0 !important;

		.module {
			border:0;
		}


		.module-table-2col > div {
			font-size:13px;
			padding:.25em 0;
			display: flex;
			align-items: flex-start;
			gap:.35em;
			border-bottom:1px solid #ddd;
			display: flex;
		}

		.module-table-2col > div > div:first-of-type {
			/* width:calc(100% - 110px); */
			width:auto;
			text-overflow: initial;
			overflow: visible;
			white-space: normal;
			line-height:1.2;
			align-self:center;
		}
		
		.module-table-2col > div > div:last-of-type {
			width:fit-content;
			text-overflow: initial;
			white-space: nowrap;
			overflow: visible;
			margin-left: auto;
		}
	}

	.xo-card-mobile-scroll {
		padding:0;
		.module-table-scroll {
			max-height: unset;
			overflow: unset;
		}
	}

	.xo-card-mobile-overlay {
		background-color:#fff;
		border-radius:15px 15px 0 0;
		position:fixed;
		inset:100px 0 0 0;
		z-index:30;
		margin: 0;
		box-shadow:0 0 0 rgba(0,0,0,0);
		transform:translateY(100%);
		transition:transform 350ms, box-shadow 350ms;
		padding:0;
		overflow: hidden;

		.formGroupHighlight {
			border:0;
		}

		.xo-overlay-close {
			height:20px;
			position: absolute;
			top:0;
			right:0px;
			display: block;
			padding: 0.5em;
			font-size: 1.8em;
			text-align: right;
		}

		.module-fit {
			/* margin-top:20px; */
			height:100%;
			overflow-y: auto;
		}

	}

	.module.formGroupHighlight {
		background-color: #fff;
	}

	.xo-card-mobile-overlay:has(.side-by-side-card.active-item) {
		transform: translateY(0);
		box-shadow: 0px -30px 60px 40px rgba(0,0,0,.5);
	}
	

	.two-bubbles {
		margin-top:10px;
		flex-wrap: wrap;
	}
	
	.two-bubbles-1,
	.two-bubbles-2 {	
		padding:10px;		
		width:100%;		
	}

	.ssi-app .app-header {
		padding:0 15px;
		height:110px;
	}
	.ssi-app .app-content {
		padding:0 5px;
		margin-top:20px;
	} 
	.ssi-app .app-header {
		overflow-x:hidden;
	}
	.ssi-app .header-buttons {
		margin-top: -32px;
	}

	.ssi-app .app-content {
		.tile-view-6 .tile-single,
		.tile-view-5 .tile-single,
		.tile-view-4 .tile-single,
		.tile-view-3 .tile-single,
		.tile-view-2 .tile-single,
		.tile-view-1 .tile-single {
			width:calc((100% - 40px) / 2);
		}

		.uploadPreviewArea {

			margin:0 0 1em 0;


			.uploadPreviewOptions {
				padding:0;
				margin:0 0 .5em;
				background-color: transparent;
			}
			.fileListItem {
				display:flex;
				gap:.5em;
				width:100%;
			}
			.fileListItem-icon,
			.fileListItem-size {
				display:none;
			}
			.fileListItem-image {
				flex-shrink: 0;
				width:50px;
				div {
					width: 50px;
					height:50px;			
				}
			}
			.fileListItem-options {
				width:40px;
				flex-shrink: 0;
			}
			.fileListItem-filename {
				width: auto;
				flex-grow: 1;
			}
		}

		.file-preview-mobile {			
			background-color:#f0f0f0;

			.tile-item {
				margin:0;
				background-color: white;
			}
			
			.tile-view-6 .tile-single,
			.tile-view-5 .tile-single,
			.tile-view-4 .tile-single,
			.tile-view-3 .tile-single,
			.tile-view-2 .tile-single,
			.tile-view-1 .tile-single {
				width:calc((100% - 60px) / 3);
			}
		}

		.flexCol_50 {
			padding: 0 10px;
		}
		.col-group.separate {
			margin-bottom:0;
		}
		.formGroup.formGroupHighlight {
			padding: 10px;
		}

		.flexCol_100Normal {
			padding:0;
		}

		.formGroupHighlightTransparent {
			padding:10px;
		}

	}

	.app-footer .header-buttons {
		margin-top:13px !important;
		margin-right:15px;
	}

	.header-buttons button,
	.header-buttons a {
		font-size:12px;		
		line-height: 20px;
		padding: 3px 9px;
	}

	.ssi-app h1 {
		font-size:14px;
		font-weight: 600;
		white-space: nowrap;
		text-overflow: ellipsis;
		overflow: hidden;
		padding-right: 100px;
	}

	.app-navigation {
		white-space: nowrap;
		overflow-x:auto;
		width:calc(100% - 30px);
		bottom:0px;
	}

	.app-navigation div {
		font-size:13px;
		padding:.25em .5em;
	}

	.col-width-250.tile-outer {
		width:125px;
		padding: 5px;
	}
	.list-view .col-width-250.tile-outer {
		padding: 0 5px;
	}

	.sticky-top h2 {
		font-size: 14px;
		line-height: 12px;
		font-weight: bold;
	}

	.list-view .date-tile .date-indicator {
		padding-top: 0px;
	}
	/* .list-view .date-text h3 {
		font-size: 12px;
		line-height: 16px;
	} */
	.date-tile .date-text p {
		font-size: 12px;
		line-height: 14px;	
	}
	.date-tile .date-text h3 {
		font-size: 12px;
		line-height: 15px;
		font-weight: normal;
		height: unset;
		overflow: unset;
	}
	.list-view .date-tile .date-text h3 {
		font-weight:bold;
	}

	.list-view .date-image { 
		display:none;
	}

	.list-view .date-tile .date-text p {
		overflow: hidden;
		display: -webkit-box;
		-webkit-line-clamp: 3;
		-webkit-box-orient: vertical;
	}
	

	.btn-navigation-switch {
		display:none;
	}

	.app-options .element-picker {
		display:none;
	}

	.image-viewer .main-image {
		height: 250px;
	}

	.image-viewer .thumbnails .thumbnails-inner {
		top:10px;
	}

	.image-viewer .thumbnails-inner > .thumbnail {		
		height: 60px;
		width: 90px;		
	}

	.image-viewer .thumbnails {
		overflow-x:auto;
		height: 80px;
	}

	.ellipsis-options {
		display:block;
	}
	.ellipsis-options-inner {
		display:none;
	}

	.ellipsis-options-inner.active {
		display: flex;
		flex-wrap: wrap;
		background-color: #ddd;
		position: absolute;
		width: calc(100% - 20px);
		left: 10px;
		top: 39px;
		padding: 5px 10px 10px 10px;
		border-radius: 5px 0 5px 5px;
	}

	.ellipsis-options-inner input[type="text"] {
		order: 1;
		width:100% !important;
		line-height: 25px;
	}

	.ellipsis-options-inner .element-picker {
		order: 2;
		display: block;
		width: 180px;
	}
	.ellipsis-options-inner .element-picker label {
		padding: 4px 10px 4px 10px;
	}

	.ellipsis-options-inner .element-picker .element-options .element-options-inner span {
		padding: 8px 8px;		
		line-height: 16px;
	}

	.ellipsis-options-inner .view-switch {
		order: 3;
		margin-top: 8px;		
	}

	.app-options input {
		width:100px !important;
	}
	
	.right-bubbles {
		float:none;
		margin-left:0;
		margin-right:10px;
		display:block;		
		margin-bottom:5px;
	}
	.right-bubbles .bubble {
		margin-left:0;
		margin-right:5px;
		margin-bottom:5px;
	}	
}

/*
.myssi-page-container-outer {
	--application-width:100%;
	--helpdesk-width:400px;

	width:100%;
	position:relative;
}
.page-container-outer.helpdesk-active {
	--application-width:calc(100% - var(--helpdesk-width));
}

.page-container-outer .page-container {
	width:var(--application-width);
	transition:all .3s ease;
}

div.helpdesk {
	position:fixed;
	top:0;
	right:0;
	width: var(--helpdesk-width);
	height:100%;
	
	border-left: 1px solid #ccc;
	background-color:#fff;
	
	transform: translateX(101%);
	transition:all .3s ease;	
}

.page-container-outer.helpdesk-active > div.helpdesk {
	transform:translateX(0);
}

div.helpdesk a.opener-btn {
	position:absolute;
	left:0;
	top:50%;
	transform: translateX(-50%) rotate(-90deg);
	transform-origin: center bottom;
	padding:.5em 1em;
	background-color:var(--color-ssi-red);
	color:white;
}
*/


/* FIXING */
.customerSearchForm .search-field { float:none; }
.notice {
	float: none;
	max-width: unset;
	margin-left:unset !important;
}


