:root {
	--color-gray: #E8E8E8;
	--color-darkgray: #C5C3C4;
	--color-yellow: #F6D83A;
	--color-white: #FFFFFF;
	--color-black: #000000;
	--color-green: #0D7C01;
	--color-orange: #F38B05;
	--color-red: #FC2828;
	--gutter: 4px;

	--g1: calc(var(--gutter) * 1);   /* 4px */
	--g2: calc(var(--gutter) * 2);   /* 8px */
	--g3: calc(var(--gutter) * 3);   /* 12px */
	--g35: calc(var(--gutter) * 3.5);/* 14px */
	--g4: calc(var(--gutter) * 4);   /* 16px */
	--g5: calc(var(--gutter) * 5);   /* 20px */
	--g6: calc(var(--gutter) * 6);   /* 24px */
	--g7: calc(var(--gutter) * 7);   /* 28px */
	--g8: calc(var(--gutter) * 8);   /* 32px */
	--g9: calc(var(--gutter) * 9);   /* 36px */
	--g10: calc(var(--gutter) * 10); /* 40px */
	--g11: calc(var(--gutter) * 11); /* 44px */
	--g12: calc(var(--gutter) * 12); /* 48px */
	--g13: calc(var(--gutter) * 13); /* 52px */
	--g14: calc(var(--gutter) * 14); /* 56px */
	--treeselectjs-tag-bg: transparent !important;
	--treeselectjs-tag-bg-hover: transparent !important;
	--treeselectjs-icon: #000000 !important;
	--treeselectjs-item-focus-bg: white !important;
	--treeselectjs-item-selected-bg: white !important;
	--treeselectjs-checkbox-checked-bg: #F6D83A !important;
}

/* Global Padding Bottom */
body {
	background-color: var(--color-white);
}

.esraSoftFBP.pb 
{
	padding-bottom: 30px;
	padding-top: 0 !important;
}

.esraSoftFBP .bt_topmenu.noselect.row  
{
	margin-top: 61px;
  	padding-top: 35px;
}

@media (max-width: 991px) {
	.esraSoftFBP .bt_topmenu .mainmenu.checked {
		margin-top: 100px;
	}
}


/* ══ TYPOGRAPHY HELPERS ══════════════════════════════════════════
   Scales: small 1×  |  normal 1×  |  large 1.1×
   Breakpoints: mobile 1×  |  ≥992 1.1×  |  ≥1301 1.2×
   ════════════════════════════════════════════════════════════════ */

/* ft_h2 & ft_title share the same size logic */
.esraSoftFBP .ft_h2 {
	font-family: 'nunito_extrabold';
	font-size: var(--g5);
	line-height: var(--g5);
	margin-bottom: 0 !important;
}
.esraSoftFBP .ft_title {
	font-size: var(--g5);
	line-height: 1.5;
}
html.small .esraSoftFBP .ft_h2,
html.small .esraSoftFBP .ft_title  { font-size: calc(var(--g5)); line-height: calc(var(--g5) * 1.5); }
html.large .esraSoftFBP .ft_h2,
html.large .esraSoftFBP .ft_title  { font-size: calc(var(--g5) * 1.1); line-height: calc(var(--g5) * 1.1 * 1.5); }

@media (min-width: 1200px) {
	.esraSoftFBP .ft_h2,
	.esraSoftFBP .ft_title              { font-size: calc(var(--g5) * 1.1 * 1.2); }
	html.small .esraSoftFBP .ft_h2,
	html.small .esraSoftFBP .ft_title   { font-size: calc(var(--g5) * 1.1); line-height: calc(var(--g5) * 1.5 * 1.1);}
	html.large .esraSoftFBP .ft_h2,
	html.large .esraSoftFBP .ft_title   { font-size: calc(var(--g5) * 1.1 * 1.3);  line-height: calc(var(--g5) * 1.5 * 1.1 * 1.3); }
}

/* ft_copy */
.esraSoftFBP .ft_copy { font-size: 18px !important; }
html.small .esraSoftFBP .ft_copy { font-size: 15px !important; }
html.large .esraSoftFBP .ft_copy { font-size: 21px !important; }

/* ft_medium */
.esraSoftFBP .ft_medium { font-size: calc(var(--g3) * 1.2); }
html.small .esraSoftFBP .ft_medium { font-size: calc(var(--g3)); }
html.large .esraSoftFBP .ft_medium { font-size: calc(var(--g3) * 1.3); }
@media (min-width: 1200px) {
	.esraSoftFBP .ft_medium              { font-size: calc(var(--g3) * 1.1 * 1.2); }
	html.small .esraSoftFBP .ft_medium   { font-size: calc(var(--g3) * 1.1); }
	html.large .esraSoftFBP .ft_medium   { font-size: calc(var(--g3) * 1.1 * 1.3); }
}

/* ft_label */
.esraSoftFBP .ft_label { font-size: calc(var(--g4) * 1.2) !important; }
html.small .esraSoftFBP .ft_label { font-size: calc(var(--g4)) !important; }
html.large .esraSoftFBP .ft_label { font-size: calc(var(--g4) * 1.3) !important; }
@media (min-width: 1200px) {
	.esraSoftFBP .ft_label              { font-size: calc(var(--g4) * 1.1 * 1.2) !important; }
	html.small .esraSoftFBP .ft_label   { font-size: calc(var(--g4) * 1.1) !important; }
	html.large .esraSoftFBP .ft_label   { font-size: calc(var(--g4) * 1.1 * 1.3) !important; }
}

/* ft_label_small */
.esraSoftFBP .ft_label_small { font-size: calc(var(--g35) * 1.2); }
html.small .esraSoftFBP .ft_label_small { font-size: calc(var(--g35)); }
html.large .esraSoftFBP .ft_label_small { font-size: calc(var(--g35) * 1.3); }
@media (min-width: 1200px) {
	.esraSoftFBP .ft_label_small              { font-size: calc(var(--g35) * 1.1 * 1.2); }
	html.small .esraSoftFBP .ft_label_small   { font-size: calc(var(--g35) * 1.1); }
	html.large .esraSoftFBP .ft_label_small   { font-size: calc(var(--g35) * 1.1 * 1.3); }
}

/* ft_bold */
.esraSoftFBP .ft_bold { font-weight: bold; }

/* ══ Truncate ═══════════════════════════════════════════════════ */

html .esraSoftFBP .card .ft_title {
	overflow: hidden;
}



.esraSoftFBP #esrafilterholder {
	position: relative;
}

/* ══ UTILITIES ═══════════════════════════════════════════════════ */

#content { padding-top: var(--g6); }
@media (min-width: 992px) { #content { padding-top: var(--g11); } }

@media (max-width: 992px) { .esraSoftFBP .hide_below_md { display: none; } }

.esraSoftFBP .esra-max-width {
	max-width: 1000px;
}


/* ══ BUTTONS ═════════════════════════════════════════════════════ */

body #content #esraSoftContent .btn, body .esraSoftFBP #content .btn {
	cursor: pointer;
	color: var(--color-black);
	text-decoration: none;
	border-radius: 0;
	background-color: var(--color-gray);
	background-image: none;
	margin: var(--g4) var(--g5) var(--g2) 0;
	font-family: 'nunito_sansregular';
	font-size: var(--g5);
	padding: var(--g3);
	line-height: var(--g7);
	transition: 0.3s;
	display: inline-flex;
	justify-content: center;
	align-items: center;
}

body #content #esraSoftContent .btn.small, body .esraSoftFBP #content .btn.small {
	padding: var(--g1) var(--g3);
	margin: 0;
}

body #content #esraSoftContent .btn.darkgray {
	background-color: var(--color-darkgray);
}

body #content #esraSoftContent .btn:hover {
	background-color: var(--color-black);
	color: var(--color-white);
	border-color: var(--color-black);
}

body #content #esraSoftContent .btn svg path {
	transition: 0.3s;
}

body #content #esraSoftContent .btn:hover svg path {
	fill: var(--color-white);
}

/* High-contrast btn overrides */
html.ct-blue-yellow body #content #esraSoftContent .btn,
html.ct-yellow-blue body #content #esraSoftContent .btn,
html.ct-black-yellow body #content #esraSoftContent .btn,
html.ct-yellow-black body #content #esraSoftContent .btn,
html.ct-black-white body #content #esraSoftContent .btn,
html.ct-white-black body #content #esraSoftContent .btn {
	background-color: var(--ct_first_color);
	color: var(--ct_second_color);
	border-color: var(--ct_second_color);
}
html.ct-blue-yellow body #content #esraSoftContent .btn:hover,
html.ct-yellow-blue body #content #esraSoftContent .btn:hover,
html.ct-black-yellow body #content #esraSoftContent .btn:hover,
html.ct-yellow-black body #content #esraSoftContent .btn:hover,
html.ct-black-white body #content #esraSoftContent .btn:hover,
html.ct-white-black body #content #esraSoftContent .btn:hover {
	background-color: var(--ct_second_color);
	color: var(--ct_first_color);
	border-color: var(--ct_second_color);
}

body #content #esraSoftContent .btn-primary { background-color: var(--color-yellow); border-color: var(--color-yellow); }
html.ct-blue-yellow body #content #esraSoftContent .btn-primary,
html.ct-yellow-blue body #content #esraSoftContent .btn-primary,
html.ct-black-yellow body #content #esraSoftContent .btn-primary,
html.ct-yellow-black body #content #esraSoftContent .btn-primary,
html.ct-black-white body #content #esraSoftContent .btn-primary,
html.ct-white-black body #content #esraSoftContent .btn-primary {
	background-color: var(--ct_second_color);
	color: var(--ct_first_color);
	border-color: var(--ct_first_color);
}

html.ct-blue-yellow body #content #esraSoftContent .btn-primary:hover,
html.ct-yellow-blue body #content #esraSoftContent .btn-primary:hover,
html.ct-black-yellow body #content #esraSoftContent .btn-primary:hover,
html.ct-yellow-black body #content #esraSoftContent .btn-primary:hover,
html.ct-black-white body #content #esraSoftContent .btn-primary:hover,
html.ct-white-black body #content #esraSoftContent .btn-primary:hover {
	background-color: var(--ct_first_color);
	color: var(--ct_second_color);
	border-color: var(--ct_second_color);
}

body #content #esraSoftContent a.esraSoftLink.btn-wide,
body #content #esraSoftContent input.btn-wide { width: 100%; max-width: 420px; }

body #content #esraSoftContent a.esraSoftLink.btn-wide2,
body #content #esraSoftContent input.btn-wide2 { width: 100%; margin: var(--g4) 0 var(--g2); }

body #content #esraSoftContent a.btn-no-margin,
body #content #esraSoftContent input.btn-no-margin { margin: 0 0 0 var(--g5); }

/* ══ NAV ═════════════════════════════════════════════════════════ */

.esraSoftFBP.nav-wrapper .bt_topitem.basket svg path{
	fill: var(--ct_first_color) !important;
}
.esraSoftFBP.nav-wrapper .bt_topitem.basket:hover svg path{
	fill: var(--ct_second_color) !important;
}
html.ct-default .esraSoftFBP.nav-wrapper .bt_topitem.basket svg path{
	fill: var(--ct_second_color) !important;
}
html.ct-default .esraSoftFBP.nav-wrapper .bt_topitem.basket:hover svg path{
	fill: var(--ct_first_color) !important;
}

.esraSoftFBP.nav-wrapper { display: flex; }

.esraSoftFBP.nav-wrapper .svg_holder {
	position: relative;
	float: left;
	width: fit-content;
}
html.ct-default .esraSoftFBP.nav-wrapper .svg_holder.active svg path {
	fill: var(--color-yellow) !important;
	stroke: var(--color-yellow) !important;
}
.esraSoftFBP.nav-wrapper .svg_holder .bookmarks_amount {
	position: absolute;
	background-color: var(--color-black);
	border-radius: 100%;
	width: var(--g35);  /* ~14px */
	height: var(--g35);
	font-size: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-white);
	top: 0;
	right: calc(var(--g2) * -1);
}

.esraSoftFBP .mainmenu a { cursor: pointer; }


.esraSoftLinkActive::after {
    background-color: #000 !important;
  	bottom: 10px !important;
  	content: "" !important;
  	height: 4px !important;
  	left: 0 !important;
  	width: calc(100% - 45px) !important;
	position: absolute !important;
	opacity: 100 !important;
  }


/* ══ CONTAINER ═══════════════════════════════════════════════════ */

.esraSoftFBP.container {
	display: flex !important;
	flex-direction: column;
}

.esraSoftFBP .courselist {
	display: flex !important;
	flex-direction: column;
	gap: var(--g4);
}

/* ══ FILTER ══════════════════════════════════════════════════════ */

.esraSoftFBP .filter {
	display: flex;
	flex-direction: column;
	gap: var(--g1);
	padding: var(--g5);
	background-color: var(--color-gray);
}
@media (min-width: 1200px) { .esraSoftFBP .filter { padding: var(--g8) var(--g10); } }
@media (min-width: 1446px) { .esraSoftFBP .controls-container { width: 75%; } }
/* @media (min-width: 1600px) { .esraSoftFBP .controls-container { width: 60%; } } */

.esraSoftFBP .filter .controls {
	display: flex;
	flex-direction: column;
	gap: var(--g4);
}
@media (min-width: 1024px) {
	.esraSoftFBP .filter .controls { flex-direction: row; flex-wrap: wrap; }
	.esraSoftFBP .filter .controls .holder,
	.esraSoftFBP .filter .controls .holder_bottom { display: contents !important; }
	.esraSoftFBP .filter .controls .holder_col {
		    flex: 0 0 calc(50% - var(--g2));	
	}
}

.esraSoftFBP .filter .controls .holder {
	display: flex;
	flex-direction: column;
	gap: var(--g3);
}

/* Inputs */
.esraSoftFBP .filter .controls .holder .inputs {
	display: flex;
	flex-direction: column;
	gap: var(--g3);
}
@media (min-width: 1024px) {
	.esraSoftFBP .filter .controls .holder .inputs {
		flex-direction: row;
		flex-wrap: wrap;
		flex: 0 0 calc(50% - var(--g2));
		align-content: flex-start;
	}
	.esraSoftFBP .filter .controls .holder .inputs .input:first-child   { flex: 0 0 100%; }
	.esraSoftFBP .filter .controls .holder .inputs .input:not(:first-child) { flex: 0 0 calc(50% - calc(var(--g1) * 1.5)); }
}

.esraSoftFBP .filter .controls .holder .inputs .input { display: flex; flex-direction: column; gap: var(--g1); }
.esraSoftFBP .filter .controls .holder .inputs .input input {
	height: var(--g8);
	color: var(--color-black);
	border: none;
	padding-left: var(--g3);
	width: 100%;
}
.esraSoftFBP .filter .controls .holder .inputs .input input[type="date"] {
	width: 100%;
	padding-right: var(--g3);
	text-transform: uppercase;
}

.esraSoftFBP .filter .controls .holder .inputs .input input[type="search"] {
	padding-right: var(--g3);
}

.esraSoftFBP .filter .controls .holder .inputs .input input::placeholder { color: var(--color-darkgray) !important;
 }

.esraSoftFBP .filter .controls .holder .inputs .input .inputwrapper {
	position: relative;
	display: flex;
}

.esraSoftFBP .filter .controls .holder .inputs .input .inputwrapper .calendar-icon {
	background-color: var(--color-white);
	padding-right: var(--g4);
	display: flex;
    align-items: center;
	border: none;
}

.esraSoftFBP .filter .controls .holder .inputs .input .inputwrapper svg {
	width: 20px;
    height: 20px;
}


/* Selects */
.esraSoftFBP .filter .controls .holder .selects {
	display: flex;
	flex-direction: column;
	gap: var(--g3);
	min-width: 0;
}
@media (min-width: 1024px) {
	.esraSoftFBP .filter .controls .holder .selects {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: flex-start;
		flex: 0 0 calc(50% - var(--g2));
	}
}
	/* Visual order: 1 3 2 4 */
	.esraSoftFBP .filter .controls .holder .selects .select:nth-child(1) { order: 1; }
	.esraSoftFBP .filter .controls .holder .selects .select:nth-child(2) { order: 3; }
	.esraSoftFBP .filter .controls .holder .selects .select:nth-child(3) { order: 2; }
	.esraSoftFBP .filter .controls .holder .selects .select:nth-child(4) { order: 4; }
	.esraSoftFBP .filter .controls .holder .selects .select { flex: 0 0 calc(50% - calc(var(--g1) * 1.5)); }

.esraSoftFBP .filter .controls .holder .selects .select { display: flex; flex-direction: column; gap: var(--g1); }

.esraSoftFBP .filter .controls .holder .selects .select select {
	appearance: none;
	padding: 0 0 0 var(--g3) !important;
	outline: none;
	width: 100%;
	background-size: 10px;
	background-color: var(--color-white);
}

.esraSoftFBP .filter .controls .holder .selects .select select option.black {
	color: var(--color-black);
}

.esraSoftFBP .filter .controls .holder .selects .select .selectwrapper {
	position: relative;
}

.esraSoftFBP .filter .controls .holder .selects .select .selectwrapper svg {
	position: absolute;
	right: var(--g4);
	height: var(--g3);
	bottom: 50%;
    transform: translateY(50%);
	pointer-events: none;
}

.esraSoftFBP .filter .controls .holder .selects .select select,
.esraSoftFBP .filter .controls .holder .selects .select select option,
.esraSoftFBP .filter .controls .holder .selects .select button.ms-choice,
.esraSoftFBP .filter .controls .holder .selects .select ul>li {
	height: var(--g8);
	color: var(--color-darkgray);
	border: none;
	border-radius: 0;
}

.esraSoftFBP .filter .controls .holder .selects .select select {
	color: var(--color-black);
}

.esraSoftFBP .filter .controls .holder .selects .select select:has(option[value=""]:checked) {
	color: var(--color-darkgray);
}

/* Format checkboxes */
.esraSoftFBP .filter .controls .formats {
	display: flex;
	flex-direction: column;
	gap: var(--g1);
}
@media (min-width: 1024px) { .esraSoftFBP .filter .controls .formats { flex: 0 0 calc(50% - var(--g2)); } }
@media (min-width: 1024px) { .esraSoftFBP .filter .controls .active_filters_wrapper { flex: 0 0 calc(50% - var(--g2)); } }

.esraSoftFBP .filter .controls .formats .checkboxes {
	display: flex;
	flex-wrap: wrap;
	gap: var(--g2);
}
@media (min-width: 992px) { .esraSoftFBP .filter .controls .formats .checkboxes { gap: var(--g4); } }
.esraSoftFBP .filter .controls .formats .checkboxes .checkbox { display: flex; align-items: baseline; }
.esraSoftFBP .filter .controls .formats .checkboxes .checkbox label { line-height: 1; }

.esraSoftFBP .filter .controls .formats .checkboxes .checkbox input {
	position: absolute;
	width: var(--g5);
	height: var(--g5);
	opacity: 0;
	cursor: pointer;
	z-index: 1;
}
.esraSoftFBP .filter .controls .formats .checkboxes .checkbox .checkmark {
	/* display: inline-block; */
	width: var(--g5);
	height: var(--g5);
	margin-right: var(--g2);
	/* vertical-align: middle; */
	background-color: var(--color-white);
	border: 2px solid var(--color-black);
	transition: border-color 0.3s;
	position: relative;
}

.ui-widget.ui-widget-content {
	border: none !important;
}

.ui-widget.ui-widget-content li.ui-menu-item div {
	padding-left: var(--g3) !important;
}

html.ct-blue-yellow .ui-widget.ui-widget-content li.ui-menu-item div, html.ct-yellow-blue .ui-widget.ui-widget-content li.ui-menu-item div, html.ct-black-yellow .ui-widget.ui-widget-content li.ui-menu-item div, html.ct-yellow-black .ui-widget.ui-widget-content li.ui-menu-item div, html.ct-black-white .ui-widget.ui-widget-content li.ui-menu-item div, html.ct-white-black .ui-widget.ui-widget-content li.ui-menu-item div { background-color: var(--ct_first_color); color: var(--ct_second_color); }

.esraSoftFBP .filter .controls .formats .checkboxes .checkbox .checkmark svg {
	opacity: 0;
    inset: 2px;
    transition: 0.3s;
    position: absolute;
}
.esraSoftFBP .filter .controls .formats .checkboxes .checkbox input:checked + .checkmark svg { opacity: 1; }

/* Submit */
.esraSoftFBP .filter .controls .submit-wrapper {
	margin-top: var(--g3);
	display: flex;
	align-items: flex-end;
}
.esraSoftFBP .filter .controls .submit-wrapper .submit {
	background-color: var(--color-yellow);
	width: 100%;
	gap: var(--g3);
}
@media (min-width: 1024px) {
	.esraSoftFBP .filter .controls .submit-wrapper {
		flex: 0 0 calc(50% - var(--g2));
		margin-top: var(--g8);
	}

	.esraSoftFBP .filter .controls .submit-wrapper .submit {
		height: 100%;
	}
}

/* Treeselect */
.esraSoftFBP .filter .controls .holder .selects .select .treeselect-input {
	padding-left: var(--g3);
	min-height: 32px;
	border-radius: 0;
	border: none;
}

.esraSoftFBP .filter .controls .holder .selects .select {
	min-width: 0;
}

.esraSoftFBP .filter .controls .holder .selects .select .treeselect-input__tags {
	flex-wrap: nowrap;
	overflow: hidden;
	justify-content: flex-start;
	display: flex;
	gap: 0;
	padding-right: var(--g2);
}

.esraSoftFBP .filter .controls .holder .selects .select .treeselect-input__tags .treeselect-input__tags-element{
	min-width: 0;
	padding: 0;
}

.esraSoftFBP .filter .controls .holder .selects .select .treeselect-input__tags-cross:after {
	content: ',';
	margin-right: 4px;
}

.esraSoftFBP .filter .controls .holder .selects .select .treeselect-input__tags-name,
.esraSoftFBP .filter .controls .holder .selects .select .treeselect-list__item-label {
	font-size: calc(var(--g35) * 1.2);
}
html.small .esraSoftFBP .filter .controls .holder .selects .select .treeselect-input__tags-name,
html.small .esraSoftFBP .filter .controls .holder .selects .select .treeselect-list__item-label { font-size: calc(var(--g35)); }
html.large .esraSoftFBP .filter .controls .holder .selects .select .treeselect-input__tags-name,
html.large .esraSoftFBP .filter .controls .holder .selects .select .treeselect-list__item-label { font-size: calc(var(--g35) * 1.3); }
@media (min-width: 1200px) {
	.filter .controls .holder .selects .select .treeselect-input__tags-name,
	.filter .controls .holder .selects .select .treeselect-list__item-label             { font-size: calc(var(--g35) * 1.1 * 1.2); }
	html.small .filter .controls .holder .selects .select .treeselect-input__tags-name,
	html.small .filter .controls .holder .selects .select .treeselect-list__item-label   { font-size: calc(var(--g35) * 1.1); }
	html.large .filter .controls .holder .selects .select .treeselect-input__tags-name,
	html.large .filter .controls .holder .selects .select .treeselect-list__item-label   { font-size: calc(var(--g35) * 1.1 * 1.3); }
}


.esraSoftFBP .filter .controls .holder .selects .select .treeselect-input__tags-element:last-of-type .treeselect-input__tags-cross:after {
	display: none;
}

.esraSoftFBP .filter .controls .holder .selects .select .treeselect-input__tags-cross svg {
	display: none;
}

.esraSoftFBP .filter .controls .holder .selects .select .treeselect-input__operators {
	right: var(--g3);
}

.esraSoftFBP .filter .controls .holder .selects .select .treeselect-input .treeselect-input__edit::placeholder {
	color: var(--color-darkgray) !important;
	font-size: calc(var(--g35) * 1.2);
}
html.small .esraSoftFBP .filter .controls .holder .selects .select .treeselect-input .treeselect-input__edit::placeholder { font-size: calc(var(--g35)); }
html.large .esraSoftFBP .filter .controls .holder .selects .select .treeselect-input .treeselect-input__edit::placeholder { font-size: calc(var(--g35) * 1.3); }
@media (min-width: 1200px) {
	.esraSoftFBP .filter .controls .holder .selects .select .treeselect-input .treeselect-input__edit::placeholder              { font-size: calc(var(--g35) * 1.1 * 1.2); }
	html.small .esraSoftFBP .filter .controls .holder .selects .select .treeselect-input .treeselect-input__edit::placeholder   { font-size: calc(var(--g35) * 1.1); }
	html.large .esraSoftFBP .filter .controls .holder .selects .select .treeselect-input .treeselect-input__edit::placeholder   { font-size: calc(var(--g35) * 1.1 * 1.3); }
}

.esraSoftFBP .filter .controls .holder .selects .select .treeselect-list {
	border-radius: 0;
	border: none;
}

/* Active filters */
.esraSoftFBP .filter .controls .active_filters_wrapper { display: flex; flex-direction: column; gap: var(--g3); width: 100%; padding-top: 10px }
/* Width, padding top temp */
.esraSoftFBP .filter .controls .active_filters_wrapper .title { display: flex; }
.esraSoftFBP .filter .controls .active_filters_wrapper .icon { padding-right: var(--g2); }
.esraSoftFBP .filter .controls .active_filters_wrapper .icon svg { height: var(--g5); }
.esraSoftFBP .filter .controls .active_filters_wrapper .icon svg .st0 {
	fill: none;
	stroke: var(--color-black);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: var(--g5); /* ~20px, approximates 19.8px */
}
.esraSoftFBP .filter .controls .active_filters_wrapper .active_filters {
	display: flex;
	gap: var(--g3) var(--g4);
	flex-wrap: wrap;
}
.esraSoftFBP .filter .controls .active_filters_wrapper .active_filters .active_filter {
	display: flex;
	gap: var(--g2);
	border: 1px solid var(--color-black);
	padding: var(--g1) var(--g2);
	background: var(--color-white);
	align-items: center;
}
.esraSoftFBP .filter .controls .active_filters_wrapper .active_filters .active_filter i { display: flex; align-items: center; }
.esraSoftFBP .filter .controls .active_filters_wrapper .active_filters .active_filter i svg { height: var(--g3); }

.esraSoftFBP .filter .controls .active_filters_wrapper .active_filters_reset {
	background-color: var(--color-darkgray);
	padding: var(--g1) var(--g3);
	text-align: center;
	width: 100%;
}
@media (min-width: 1024px) { .esraSoftFBP .filter .controls .active_filters_wrapper .active_filters_reset { width: 80%; } }


/* ══ SLIDER ══════════════════════════════════════════════════════ */

.esraSoftFBP .slider {
	display: flex;
	flex-direction: column;
	gap: var(--g3);
	padding-bottom: var(--g8);
}
.esraSoftFBP .slider .splide__pagination.splide__pagination--ltr {
	bottom: calc(var(--g3) * -1);
	transform: translateY(100%);
}
.esraSoftFBP .slider .splide__pagination__page {
	width: var(--g3);
	height: var(--g3);
	margin: 0 calc(var(--g1) * 1.5);
}
.esraSoftFBP .slider .splide__slide .card { height: 100%; }

.esraSoftFBP .slider .splide__arrows .splide__arrow { transition: 0.3s; background: transparent; }
.esraSoftFBP .slider .splide__arrows .splide__arrow svg { width: var(--g8); }
.esraSoftFBP .slider .splide__arrows .splide__arrow--next { right: calc(var(--g14) * -1); }
.esraSoftFBP .slider .splide__arrows .splide__arrow--prev { left:  calc(var(--g14) * -1); }

@media (min-width: 992px) {
	.esraSoftFBP .slider .splide__arrows .splide__arrow--next { right: calc(var(--g10) * -1); }
	.esraSoftFBP .slider .splide__arrows .splide__arrow--prev { left:  calc(var(--g10) * -1); }
}

@media (min-width: 1446px) {
	.esraSoftFBP .slider .splide__arrows .splide__arrow--next { right: calc(var(--g12) * -1); }
	.esraSoftFBP .slider .splide__arrows .splide__arrow--prev { left:  calc(var(--g12) * -1); }
}

.esraSoftFBP .slider .splide__pagination--ltr .splide__pagination__page          { background-color: var(--color-darkgray); border: none; }
.esraSoftFBP .slider .splide__pagination--ltr .splide__pagination__page.is-active { background-color: var(--color-yellow); }


/* ══ CARDS ═══════════════════════════════════════════════════════ */

.esraSoftFBP .card {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: var(--g8) var(--g5) var(--g6);
	border: 2px solid var(--color-darkgray);
	cursor: pointer;
	transition: border-color 0.3s;
	background-image: none;
}
.esraSoftFBP .card:hover { border-color: var(--color-black); }

.esraSoftFBP .card .title {
	hyphens: auto;
	font-weight: bold;
	display: flex;
	align-items: center;
	height: 100%;
	min-height: calc(var(--g5) * 1.5 * 2);
}
.esraSoftFBP .card .title .title_inner {
	max-height: calc(var(--g5) * 1.5 * 2);
}

html.large .esraSoftFBP .card .title .title_inner { 
	/* min-height: calc(var(--g5) * 1.5 * 1.1 * 2); */
	max-height: calc(var(--g5) * 1.5 * 1.1 * 2);
}
html.small .esraSoftFBP .card .title .title_inner {
	/* min-height: calc(var(--g5) * 1.5 * 2); */
	max-height: calc(var(--g5) * 1.5 * 2);
}

@media (min-width: 650px) {
	.esraSoftFBP .card .title {
		min-height: 0;
	}
}

@media (min-width: 1200px) {
	.esraSoftFBP .card .title .title_inner        { 
		/* min-height: calc(var(--g5) * 1.5 * 2 * 1.1 * 1.2);  */
		max-height: calc(var(--g5) * 1.5 * 2 * 1.1 * 1.2); 
	}
	html.large .esraSoftFBP .card .title .title_inner { 
		/* min-height: calc(var(--g5) * 1.5 * 2 * 1.1 * 1.3);  */
		max-height: calc(var(--g5) * 1.5 * 2 * 1.1 * 1.3); 
	}
	html.small .esraSoftFBP .card .title .title_inner { 
		/* min-height: calc(var(--g5) * 1.5 * 1.1 * 2);  */
		max-height: calc(var(--g5) * 1.5 * 1.1 * 2); 
	}
}

.esraSoftFBP .card .state_section {
	display: flex;
	flex-direction: column;
	/* align-items: center; */
	gap: var(--g2);
	padding-top: var(--g3);
}

.esraSoftFBP .card .state,
.esraSoftFBP .detail .state { display: flex; align-items: center; }
.esraSoftFBP .card .state div { display: flex; }
.esraSoftFBP .card .state span,
.esraSoftFBP .detail .state span { line-height: 1; }

/* State colour pairs */
.esraSoftFBP .state.green     { color: var(--color-green); }
.esraSoftFBP .state svg { fill: var(--color-green); }

.esraSoftFBP .state.orange      { color: var(--color-orange); }
.esraSoftFBP .state.orange svg  { fill: var(--color-orange); }

.esraSoftFBP .state.red      { color: var(--color-red); }
.esraSoftFBP .state.red svg  { fill: var(--color-red); }

.esraSoftFBP .card .icon              { padding-right: var(--g2); }
.esraSoftFBP .detail .state .icon     { margin-right: var(--g4); }

/* Color Themes */
html.ct-blue-yellow .esraSoftFBP .state, html.ct-yellow-blue .esraSoftFBP .state, html.ct-black-yellow .esraSoftFBP .state, html.ct-yellow-black .esraSoftFBP .state, html.ct-black-white .esraSoftFBP .state, html.ct-white-black .esraSoftFBP .state { color: var(--ct_second_color); transition: 0.3s; }
html.ct-blue-yellow .esraSoftFBP .state svg, html.ct-yellow-blue .esraSoftFBP .state svg, html.ct-black-yellow .esraSoftFBP .state svg, html.ct-yellow-black .esraSoftFBP .state svg, html.ct-black-white .esraSoftFBP .state svg, html.ct-white-black .esraSoftFBP .state svg { fill: var(--ct_second_color); transition: 0.3s; }
html.ct-blue-yellow .esraSoftFBP .fav .bt_side_crumb.loginicon .bookmarks_amount, html.ct-yellow-blue .esraSoftFBP .fav .bt_side_crumb.loginicon .bookmarks_amount, html.ct-black-yellow .esraSoftFBP .fav .bt_side_crumb.loginicon .bookmarks_amount, html.ct-yellow-black .esraSoftFBP .fav .bt_side_crumb.loginicon .bookmarks_amount, html.ct-black-white .esraSoftFBP .fav .bt_side_crumb.loginicon .bookmarks_amount, html.ct-white-black .esraSoftFBP .fav .bt_side_crumb.loginicon .bookmarks_amount { background-color: var(--ct_second_color); border: 1px solid var(--ct_first_color); color: var(--ct_first_color); }
html.ct-blue-yellow .esraSoftFBP .esraSoft_txt_green, html.ct-yellow-blue .esraSoftFBP .esraSoft_txt_green, html.ct-black-yellow .esraSoftFBP .esraSoft_txt_green, html.ct-yellow-black .esraSoftFBP .esraSoft_txt_green, html.ct-black-white .esraSoftFBP .esraSoft_txt_green, html.ct-white-black .esraSoftFBP .esraSoft_txt_green { color: var(--ct_second_color)}
html.ct-blue-yellow .esraSoftFBP small.form-text.text-muted, html.ct-yellow-blue .esraSoftFBP small.form-text.text-muted, html.ct-black-yellow .esraSoftFBP small.form-text.text-muted, html.ct-yellow-black .esraSoftFBP small.form-text.text-muted, html.ct-black-white .esraSoftFBP small.form-text.text-muted, html.ct-white-black .esraSoftFBP small.form-text.text-muted { color: var(--ct_second_color)!important; }
html.ct-blue-yellow .main .esraSoftFBP a.card, html.ct-yellow-blue .main .esraSoftFBP a.card, html.ct-black-yellow .main .esraSoftFBP a.card, html.ct-yellow-black .main .esraSoftFBP a.card, html.ct-black-white .main .esraSoftFBP a.card, html.ct-white-black .main .esraSoftFBP a.card { background-image: none; background-color: var(--ct_first_color); color: var(--ct_second_color)!important; border-color: var(--ct_second_color); transition: 0.3s; }
html.ct-blue-yellow .main .esraSoftFBP a.card:hover, html.ct-yellow-blue .main .esraSoftFBP a.card:hover, html.ct-black-yellow .main .esraSoftFBP a.card:hover, html.ct-yellow-black .main .esraSoftFBP a.card:hover, html.ct-black-white .main .esraSoftFBP a.card:hover, html.ct-white-black .main .esraSoftFBP a.card:hover {background-color: var(--ct_second_color); color: var(--ct_first_color)!important; }
html.ct-blue-yellow .main .esraSoftFBP a.card:hover .favorite.is-favorite svg path, html.ct-yellow-blue .main .esraSoftFBP a.card:hover .favorite.is-favorite svg path, html.ct-black-yellow .main .esraSoftFBP a.card:hover .favorite.is-favorite svg path, html.ct-yellow-black .main .esraSoftFBP a.card:hover .favorite.is-favorite svg path, html.ct-black-white .main .esraSoftFBP a.card:hover .favorite.is-favorite svg path, html.ct-white-black .main .esraSoftFBP a.card:hover .favorite.is-favorite svg path { fill: var(--ct_first_color); }
html.ct-blue-yellow .main .esraSoftFBP a.card:hover .favorite svg path, html.ct-yellow-blue .main .esraSoftFBP a.card:hover .favorite svg path, html.ct-black-yellow .main .esraSoftFBP a.card:hover .favorite svg path, html.ct-yellow-black .main .esraSoftFBP a.card:hover .favorite svg path, html.ct-black-white .main .esraSoftFBP a.card:hover .favorite svg path, html.ct-white-black .main .esraSoftFBP a.card:hover .favorite svg path { stroke: var(--ct_first_color); }
html.ct-blue-yellow .main .esraSoftFBP a.card:hover  .state, html.ct-yellow-blue .main .esraSoftFBP a.card:hover  .state, html.ct-black-yellow .main .esraSoftFBP a.card:hover  .state, html.ct-yellow-black .main .esraSoftFBP a.card:hover  .state, html.ct-black-white .main .esraSoftFBP a.card:hover  .state, html.ct-white-black .main .esraSoftFBP a.card:hover  .state { color: var(--ct_first_color)}
html.ct-blue-yellow .main .esraSoftFBP a.card:hover  .state svg, html.ct-yellow-blue .main .esraSoftFBP a.card:hover  .state svg, html.ct-black-yellow .main .esraSoftFBP a.card:hover  .state svg, html.ct-yellow-black .main .esraSoftFBP a.card:hover  .state svg, html.ct-black-white .main .esraSoftFBP a.card:hover  .state svg, html.ct-white-black .main .esraSoftFBP a.card:hover  .state svg { fill: var(--ct_first_color)}
html.ct-blue-yellow .main .esraSoftFBP .favorite.is-favorite svg path, html.ct-yellow-blue .main .esraSoftFBP .favorite.is-favorite svg path, html.ct-black-yellow .main .esraSoftFBP .favorite.is-favorite svg path, html.ct-yellow-black .main .esraSoftFBP .favorite.is-favorite svg path, html.ct-black-white .main .esraSoftFBP .favorite.is-favorite svg path, html.ct-white-black .main .esraSoftFBP .favorite.is-favorite svg path { fill: var(--ct_second_color); }
html.ct-blue-yellow .main .esraSoftFBP .favorite svg path, html.ct-yellow-blue .main .esraSoftFBP .favorite svg path, html.ct-black-yellow .main .esraSoftFBP .favorite svg path, html.ct-yellow-black .main .esraSoftFBP .favorite svg path, html.ct-black-white .main .esraSoftFBP .favorite svg path, html.ct-white-black .main .esraSoftFBP .favorite svg path { stroke: var(--ct_second_color); }
html.ct-blue-yellow .esraSoftFBP .filter, html.ct-yellow-blue .esraSoftFBP .filter, html.ct-black-yellow .esraSoftFBP .filter, html.ct-yellow-black .esraSoftFBP .filter, html.ct-black-white .esraSoftFBP .filter, html.ct-white-black .esraSoftFBP .filter { background-color: var(--ct_second_color); color: var(--ct_first_color); }
html.ct-blue-yellow .filter .controls .formats .checkboxes .checkbox .checkmark, html.ct-yellow-blue .filter .controls .formats .checkboxes .checkbox .checkmark, html.ct-black-yellow .filter .controls .formats .checkboxes .checkbox .checkmark, html.ct-yellow-black .filter .controls .formats .checkboxes .checkbox .checkmark, html.ct-black-white .filter .controls .formats .checkboxes .checkbox .checkmark, html.ct-white-black .filter .controls .formats .checkboxes .checkbox .checkmark { border-color: var(--ct_first_color); background-color: var(--ct_second_color); }
html.ct-blue-yellow body #content #esraSoftContent .btn.darkgray, html.ct-yellow-blue body #content #esraSoftContent .btn.darkgray, html.ct-black-yellow body #content #esraSoftContent .btn.darkgray, html.ct-yellow-black body #content #esraSoftContent .btn.darkgray, html.ct-black-white body #content #esraSoftContent .btn.darkgray, html.ct-white-black body #content #esraSoftContent .btn.darkgray { border-color: var(--ct_first_color); }

html.ct-blue-yellow body #content #esraSoftContent .headerRow > td, html.ct-yellow-blue body #content #esraSoftContent .headerRow > td, html.ct-black-yellow body #content #esraSoftContent .headerRow > td, html.ct-yellow-black body #content #esraSoftContent .headerRow > td, html.ct-black-white body #content #esraSoftContent .headerRow > td, html.ct-white-black body #content #esraSoftContent .headerRow > td { background-color: var(--ct_second_color); }

html.ct-blue-yellow .esraSoftFBP .filter .controls .holder .inputs .input .inputwrapper svg, html.ct-yellow-blue .esraSoftFBP .filter .controls .holder .inputs .input .inputwrapper svg, html.ct-black-yellow .esraSoftFBP .filter .controls .holder .inputs .input .inputwrapper svg, html.ct-yellow-black .esraSoftFBP .filter .controls .holder .inputs .input .inputwrapper svg, html.ct-black-white .esraSoftFBP .filter .controls .holder .inputs .input .inputwrapper svg, html.ct-white-black .esraSoftFBP .filter .controls .holder .inputs .input .inputwrapper svg { fill: var(--ct_second_color); }
html.ct-blue-yellow .esraSoftFBP .filter .controls .holder .inputs .input .inputwrapper .calendar-icon, html.ct-yellow-blue .esraSoftFBP .filter .controls .holder .inputs .input .inputwrapper .calendar-icon, html.ct-black-yellow .esraSoftFBP .filter .controls .holder .inputs .input .inputwrapper .calendar-icon, html.ct-yellow-black .esraSoftFBP .filter .controls .holder .inputs .input .inputwrapper .calendar-icon, html.ct-black-white .esraSoftFBP .filter .controls .holder .inputs .input .inputwrapper .calendar-icon, html.ct-white-black .esraSoftFBP .filter .controls .holder .inputs .input .inputwrapper .calendar-icon { background-color: var(--ct_first_color); }

html.ct-blue-yellow .esraSoftFBP .filter .controls .holder .selects .select .selectwrapper svg, html.ct-yellow-blue .esraSoftFBP .filter .controls .holder .selects .select .selectwrapper svg, html.ct-black-yellow .esraSoftFBP .filter .controls .holder .selects .select .selectwrapper svg, html.ct-yellow-black .esraSoftFBP .filter .controls .holder .selects .select .selectwrapper svg, html.ct-black-white .esraSoftFBP .filter .controls .holder .selects .select .selectwrapper svg, html.ct-white-black .esraSoftFBP .filter .controls .holder .selects .select .selectwrapper svg { fill: var(--ct_second_color); }
html.ct-blue-yellow .esraSoftFBP .filter .controls .holder .selects .select select option.black, html.ct-yellow-blue .esraSoftFBP .filter .controls .holder .selects .select select option.black, html.ct-black-yellow .esraSoftFBP .filter .controls .holder .selects .select select option.black, html.ct-yellow-black .esraSoftFBP .filter .controls .holder .selects .select select option.black, html.ct-black-white .esraSoftFBP .filter .controls .holder .selects .select select option.black, html.ct-white-black .esraSoftFBP .filter .controls .holder .selects .select select option.black { color: var(--ct_second_color); }


html.ct-blue-yellow .esraSoftFBP .filter .controls .holder .inputs .input input, html.ct-yellow-blue .esraSoftFBP .filter .controls .holder .inputs .input input, html.ct-black-yellow .esraSoftFBP .filter .controls .holder .inputs .input input, html.ct-yellow-black .esraSoftFBP .filter .controls .holder .inputs .input input, html.ct-black-white .esraSoftFBP .filter .controls .holder .inputs .input input, html.ct-white-black .esraSoftFBP .filter .controls .holder .inputs .input input { background-color: var(--ct_first_color); color: var(--ct_second_color); }
html.ct-blue-yellow .esraSoftFBP .filter .controls .holder .inputs .input input::placeholder, html.ct-yellow-blue .esraSoftFBP .filter .controls .holder .inputs .input input::placeholder, html.ct-black-yellow .esraSoftFBP .filter .controls .holder .inputs .input input::placeholder, html.ct-yellow-black .esraSoftFBP .filter .controls .holder .inputs .input input::placeholder, html.ct-black-white .esraSoftFBP .filter .controls .holder .inputs .input input::placeholder, html.ct-white-black .esraSoftFBP .filter .controls .holder .inputs .input input::placeholder { color: var(--ct_second_color)!important; }
html.ct-blue-yellow .esraSoftFBP .filter .controls .treeselect-input, html.ct-yellow-blue .esraSoftFBP .filter .controls .treeselect-input, html.ct-black-yellow .esraSoftFBP .filter .controls .treeselect-input, html.ct-yellow-black .esraSoftFBP .filter .controls .treeselect-input, html.ct-black-white .esraSoftFBP .filter .controls .treeselect-input, html.ct-white-black .esraSoftFBP .filter .controls .treeselect-input { background-color: var(--ct_first_color); color: var(--ct_second_color); }
html.ct-blue-yellow .esraSoftFBP .filter .controls .treeselect-input input, html.ct-yellow-blue .esraSoftFBP .filter .controls .treeselect-input input, html.ct-black-yellow .esraSoftFBP .filter .controls .treeselect-input input, html.ct-yellow-black .esraSoftFBP .filter .controls .treeselect-input input, html.ct-black-white .esraSoftFBP .filter .controls .treeselect-input input, html.ct-white-black .esraSoftFBP .filter .controls .treeselect-input input { background-color: var(--ct_first_color); color: var(--ct_second_color); }
html.ct-blue-yellow .esraSoftFBP .filter .controls .holder .selects .select .treeselect-input .treeselect-input__edit::placeholder, html.ct-yellow-blue .esraSoftFBP .filter .controls .holder .selects .select .treeselect-input .treeselect-input__edit::placeholder, html.ct-black-yellow .esraSoftFBP .filter .controls .holder .selects .select .treeselect-input .treeselect-input__edit::placeholder, html.ct-yellow-black .esraSoftFBP .filter .controls .holder .selects .select .treeselect-input .treeselect-input__edit::placeholder, html.ct-black-white .esraSoftFBP .filter .controls .holder .selects .select .treeselect-input .treeselect-input__edit::placeholder, html.ct-white-black .esraSoftFBP .filter .controls .holder .selects .select .treeselect-input .treeselect-input__edit::placeholder {  color: var(--ct_second_color) !important; }
html.ct-blue-yellow .esraSoftFBP .filter .controls .treeselect-list, html.ct-yellow-blue .esraSoftFBP .filter .controls .treeselect-list, html.ct-black-yellow .esraSoftFBP .filter .controls .treeselect-list, html.ct-yellow-black .esraSoftFBP .filter .controls .treeselect-list, html.ct-black-white .esraSoftFBP .filter .controls .treeselect-list, html.ct-white-black .esraSoftFBP .filter .controls .treeselect-list {  background-color: var(--ct_first_color) !important; }
html.ct-blue-yellow .esraSoftFBP .filter .controls .treeselect-input__clear svg, html.ct-yellow-blue .esraSoftFBP .filter .controls .treeselect-input__clear svg, html.ct-black-yellow .esraSoftFBP .filter .controls .treeselect-input__clear svg, html.ct-yellow-black .esraSoftFBP .filter .controls .treeselect-input__clear svg, html.ct-black-white .esraSoftFBP .filter .controls .treeselect-input__clear svg, html.ct-white-black .esraSoftFBP .filter .controls .treeselect-input__clear svg {  stroke: var(--ct_second_color); }
html.ct-blue-yellow .esraSoftFBP .filter .controls .treeselect-input__arrow svg, html.ct-yellow-blue .esraSoftFBP .filter .controls .treeselect-input__arrow svg, html.ct-black-yellow .esraSoftFBP .filter .controls .treeselect-input__arrow svg, html.ct-yellow-black .esraSoftFBP .filter .controls .treeselect-input__arrow svg, html.ct-black-white .esraSoftFBP .filter .controls .treeselect-input__arrow svg, html.ct-white-black .esraSoftFBP .filter .controls .treeselect-input__arrow svg {  stroke: var(--ct_second_color); }
html.ct-blue-yellow .esraSoftFBP .filter .controls .treeselect-list .treeselect-list__item--focused, html.ct-yellow-blue .esraSoftFBP .filter .controls .treeselect-list .treeselect-list__item--focused, html.ct-black-yellow .esraSoftFBP .filter .controls .treeselect-list .treeselect-list__item--focused, html.ct-yellow-black .esraSoftFBP .filter .controls .treeselect-list .treeselect-list__item--focused, html.ct-black-white .esraSoftFBP .filter .controls .treeselect-list .treeselect-list__item--focused, html.ct-white-black .esraSoftFBP .filter .controls .treeselect-list .treeselect-list__item--focused {  background-color: var(--ct_first_color) !important; }
html.ct-blue-yellow .esraSoftFBP .filter .controls .treeselect-list .treeselect-list__item--focused, html.ct-yellow-blue .esraSoftFBP .filter .controls .treeselect-list .treeselect-list__item--focused, html.ct-black-yellow .esraSoftFBP .filter .controls .treeselect-list .treeselect-list__item--focused.treeselect-list__item--checked, html.ct-yellow-black .esraSoftFBP .filter .controls .treeselect-list .treeselect-list__item--focused.treeselect-list__item--checked, html.ct-black-white .esraSoftFBP .filter .controls .treeselect-list .treeselect-list__item--focused.treeselect-list__item--checked, html.ct-white-black .esraSoftFBP .filter .controls .treeselect-list .treeselect-list__item--focused.treeselect-list__item--checked {  background-color: var(--ct_first_color) !important; }
html.ct-blue-yellow .esraSoftFBP .filter .controls .treeselect-list .treeselect-list__item-label, html.ct-yellow-blue .esraSoftFBP .filter .controls .treeselect-list .treeselect-list__item-label, html.ct-black-yellow .esraSoftFBP .filter .controls .treeselect-list .treeselect-list__item-label, html.ct-yellow-black .esraSoftFBP .filter .controls .treeselect-list .treeselect-list__item-label, html.ct-black-white .esraSoftFBP .filter .controls .treeselect-list .treeselect-list__item-label, html.ct-white-black .esraSoftFBP .filter .controls .treeselect-list .treeselect-list__item-label {  color: var(--ct_second_color) !important; }
html.ct-blue-yellow .esraSoftFBP .filter .controls .holder .selects .select select, html.ct-yellow-blue .esraSoftFBP .filter .controls .holder .selects .select select, html.ct-black-yellow .esraSoftFBP .filter .controls .holder .selects .select select, html.ct-yellow-black .esraSoftFBP .filter .controls .holder .selects .select select, html.ct-black-white .esraSoftFBP .filter .controls .holder .selects .select select, html.ct-white-black .esraSoftFBP .filter .controls .holder .selects .select select {  color: var(--ct_second_color) !important;  background-color: var(--ct_first_color) !important; }
html.ct-blue-yellow .esraSoftFBP .bookmarks .bookmark-wrapper, html.ct-yellow-blue .esraSoftFBP .bookmarks .bookmark-wrapper, html.ct-black-yellow .esraSoftFBP .bookmarks .bookmark-wrapper, html.ct-yellow-black .esraSoftFBP .bookmarks .bookmark-wrapper, html.ct-black-white .esraSoftFBP .bookmarks .bookmark-wrapper, html.ct-white-black .esraSoftFBP .bookmarks .bookmark-wrapper {  border-color: var(--ct_second_color); }

html.ct-blue-yellow .esraSoftFBP .dot, html.ct-yellow-blue .esraSoftFBP .dot, html.ct-black-yellow .esraSoftFBP .dot, html.ct-yellow-black .esraSoftFBP .dot, html.ct-black-white .esraSoftFBP .dot, html.ct-white-black .esraSoftFBP .dot {  border: 1px solid var(--ct_second_color); background-color: transparent; }

/* Slider */
html.ct-blue-yellow .esraSoftFBP .splide__arrow svg path, html.ct-yellow-blue .esraSoftFBP .splide__arrow svg path, html.ct-black-yellow .esraSoftFBP .splide__arrow svg path, html.ct-yellow-black .esraSoftFBP .splide__arrow svg path, html.ct-black-white .esraSoftFBP .splide__arrow svg path, html.ct-white-black .esraSoftFBP .splide__arrow svg path {  fill: var(--ct_second_color); }
html.ct-blue-yellow .esraSoftFBP .slider .splide__pagination--ltr .splide__pagination__page.is-active, html.ct-yellow-blue .esraSoftFBP .slider .splide__pagination--ltr .splide__pagination__page.is-active, html.ct-black-yellow .esraSoftFBP .slider .splide__pagination--ltr .splide__pagination__page.is-active, html.ct-yellow-black .esraSoftFBP .slider .splide__pagination--ltr .splide__pagination__page.is-active, html.ct-black-white .esraSoftFBP .slider .splide__pagination--ltr .splide__pagination__page.is-active, html.ct-white-black .esraSoftFBP .slider .splide__pagination--ltr .splide__pagination__page.is-active {  background-color: var(--ct_second_color); }
html.ct-blue-yellow .esraSoftFBP .slider .splide__pagination--ltr .splide__pagination__page, html.ct-yellow-blue .esraSoftFBP .slider .splide__pagination--ltr .splide__pagination__page, html.ct-black-yellow .esraSoftFBP .slider .splide__pagination--ltr .splide__pagination__page, html.ct-yellow-black .esraSoftFBP .slider .splide__pagination--ltr .splide__pagination__page, html.ct-black-white .esraSoftFBP .slider .splide__pagination--ltr .splide__pagination__page, html.ct-white-black .esraSoftFBP .slider .splide__pagination--ltr .splide__pagination__page {  background-color: transparent; border: 1px solid var(--ct_second_color); }

/* Popup */
html.ct-blue-yellow #esraSoftOverlay .form-control, html.ct-yellow-blue #esraSoftOverlay .form-control, html.ct-black-yellow #esraSoftOverlay .form-control, html.ct-yellow-black #esraSoftOverlay .form-control, html.ct-black-white #esraSoftOverlay .form-control, html.ct-white-black #esraSoftOverlay .form-control {  background-color: var(--ct_first_color); color: var(--ct_second_color); border-color: var(--ct_second_color); }
html.ct-blue-yellow #esraSoftOverlay .form-control::placeholder, html.ct-yellow-blue #esraSoftOverlay .form-control::placeholder, html.ct-black-yellow #esraSoftOverlay .form-control::placeholder, html.ct-yellow-black #esraSoftOverlay .form-control::placeholder, html.ct-black-white #esraSoftOverlay .form-control::placeholder, html.ct-white-black #esraSoftOverlay .form-control::placeholder { color: var(--ct_second_color) !important; }

html.ct-blue-yellow #esraSoftOverlay .form-group .input input[type=radio].form-check-input+label::before, html.ct-yellow-blue #esraSoftOverlay .form-group .input input[type=radio].form-check-input+label::before, html.ct-black-yellow #esraSoftOverlay .form-group .input input[type=radio].form-check-input+label::before, html.ct-yellow-black #esraSoftOverlay .form-group .input input[type=radio].form-check-input+label::before, html.ct-black-white #esraSoftOverlay .form-group .input input[type=radio].form-check-input+label::before, html.ct-white-black #esraSoftOverlay .form-group .input input[type=radio].form-check-input+label::before { border-color: var(--ct_second_color); background-color: var(--ct_first_color); }
html.ct-blue-yellow .esraSoftFBP .filter .controls .formats .checkboxes .checkbox input + .checkmark svg, html.ct-yellow-blue .esraSoftFBP .filter .controls .formats .checkboxes .checkbox input + .checkmark svg, html.ct-black-yellow .esraSoftFBP .filter .controls .formats .checkboxes .checkbox input + .checkmark svg, html.ct-yellow-black .esraSoftFBP .filter .controls .formats .checkboxes .checkbox input + .checkmark svg, html.ct-black-white .esraSoftFBP .filter .controls .formats .checkboxes .checkbox input + .checkmark svg, html.ct-white-black .esraSoftFBP .filter .controls .formats .checkboxes .checkbox input + .checkmark svg { border-color: var(--ct_second_color); fill: var(--ct_first_color); }

html.small .esraSoftFBP .card .icon svg,
html.small .esraSoftFBP .detail .icon svg { height: calc(var(--g6) * 0.9 ); width: calc(var(--g6) * 0.9 ); }
html.large .esraSoftFBP .card .icon svg,
html.large .esraSoftFBP .detail .icon svg { height: calc(var(--g6) * 1.1 ); width: calc(var(--g6) * 1.1 ); }
.esraSoftFBP .card .icon svg,
.esraSoftFBP .detail .icon svg { height: var(--g6); width: var(--g6); }

.esraSoftFBP .card .favorite { position: absolute; top: var(--g2); right: var(--g2); z-index: 5; }
.esraSoftFBP .card .favorite svg path { transition: 0.3s; }

/* ══ COURSES GRID ════════════════════════════════════════════════ */

.esraSoftFBP .courses { display: flex; flex-direction: column; gap: var(--g3); }
.esraSoftFBP .courses-holder {
	display: flex;
	flex-direction: column;
	gap: var(--g4);
	padding-bottom: var(--g4);
}
@media (min-width: 768px) {
	.esraSoftFBP .courses-holder { flex-direction: row; flex-wrap: wrap; gap: var(--g5); }
	.esraSoftFBP .courses-holder .course { flex: 0 0 calc((100% - var(--g5)) / 2); }
}
@media (min-width: 992px)  { .esraSoftFBP .courses-holder .course { flex: 0 0 calc((100% - var(--g5) * 2) / 3); } }
@media (min-width: 1510px) { .esraSoftFBP .courses-holder .course { flex: 0 0 calc((100% - var(--g5) * 3) / 4); } }
@media (min-width: 2000px) { .esraSoftFBP .courses-holder .course { flex: 0 0 calc((100% - var(--g5) * 4) / 5); } }

/* load more Dots */
.esraSoftFBP .dots {
	align-items: center;
	gap: 12px;
	justify-content: center;
	display: none;
}
.esraSoftFBP .dots.visible {
	display: flex !important;
}

.esraSoftFBP .dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--color-darkgray);
  animation: esrapulse 1.2s ease-in-out infinite;
}

/* stagger each dot by 0.2s */
.esraSoftFBP .dot:nth-child(1) { animation-delay: 0s; }
.esraSoftFBP .dot:nth-child(2) { animation-delay: 0.2s; }
.esraSoftFBP .dot:nth-child(3) { animation-delay: 0.4s; }

@keyframes esrapulse {
  0%, 100%  { transform: scale(1);   opacity: 0.4; }
  40%       { transform: scale(1.4); opacity: 1;   }
}

/* ══ FAVORITES ═══════════════════════════════════════════════════ */

.esraSoftFBP .favorite svg { height: var(--g5); }
html.small .esraSoftFBP .favorite svg { height: calc(var(--g5) * 0.9 ); }
html.large .esraSoftFBP .favorite svg { height: calc(var(--g5) * 1.1 ); }

.esraSoftFBP .favorite svg path {
	fill: transparent;
	stroke: var(--color-black);
	stroke-width: var(--g8); /* ~25px */
}
.esraSoftFBP .favorite.is-favorite svg path {
	fill: var(--color-yellow);
	stroke: var(--color-yellow);
}

/* ══ BOOKMARKS ═══════════════════════════════════════════════════ */

.esraSoftFBP .bookmarks .bookmark-wrapper {
	width: 100%;
	padding: var(--g8) 0;
	border-bottom: 1px solid var(--color-black);
	max-width: 720px;
}
.esraSoftFBP .bookmarks .bookmark-wrapper:first-child { padding-top: 0; }

@media (min-width: 992px)  {
	.esraSoftFBP .bookmarks .bookmark-wrapper,
	.bookmarks_load_more { max-width: 960px; }
}
@media (min-width: 1200px) { .esraSoftFBP .bookmarks .bookmark-wrapper { max-width: 1140px; } }
@media (min-width: 1400px) { .esraSoftFBP .bookmarks .bookmark-wrapper { max-width: 1320px; } }
@media (min-width: 1500px) { .esraSoftFBP .bookmarks .bookmark-wrapper { max-width: 1930px; } }

body .esraSoftFBP #content #esraSoftContent .bookmarks .detailitem.date { padding-top: var(--g6); }

.esraSoftFBP .bookmarks .date svg,
.esraSoftFBP .bookmarks .location svg,
.esraSoftFBP .detail .date svg,
.esraSoftFBP .detail .location svg { height: var(--g6); }

html.small .esraSoftFBP .bookmarks .date svg,
html.small .esraSoftFBP .bookmarks .location svg { height: calc(var(--g6) * 0.9); }

html.large .esraSoftFBP .bookmarks .date svg,
html.large .esraSoftFBP .bookmarks .location svg { height: calc(var(--g6) * 1.1); }

#content #esraSoftContent .detailitem .eventicon { height: var(--g6); width: var(--g6); }
html.small #content #esraSoftContent .detailitem .eventicon { height: calc(var(--g6) * 0.9); width: calc(var(--g6) * 0.9); }
html.large #content #esraSoftContent .detailitem .eventicon { height: calc(var(--g6) * 1.1); width: calc(var(--g6) * 1.1); }

.esraSoftFBP .bookmarks .location,
.esraSoftFBP .detail .location { padding-top: var(--g2); }

.esraSoftFBP .bookmarks .actions {
	display: flex;
	flex-direction: column;
	gap: var(--g2);
	padding-top: var(--g3);
}

.esraSoftFBP .bookmarks .actions > * {
	margin: 0 !important;
}

.esraSoftFBP .bookmarks .actions .action {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--color-gray);
	width: 100%;
	text-decoration: none;
	background-image: none;
}
.esraSoftFBP .bookmarks_load_more {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: var(--g8) !important;
	margin-bottom: var(--g6) !important;
	background-color: var(--color-gray);
	width: 100%;
	text-decoration: none;
	background-image: none;
}
.esraSoftFBP .bookmarks .bookmark-wrapper .bookmark .title { margin-bottom: 0 !important; }

@media (min-width: 768px) {
	.esraSoftFBP .bookmarks .actions { flex-direction: row; }
	.esraSoftFBP .bookmarks .actions .action { flex: 0 0 calc(50% - var(--g1)); }
}
@media (min-width: 1200px) {
	.esraSoftFBP .bookmarks .bookmark-wrapper .bookmark { width: 90%; }
	.esraSoftFBP .bookmarks_load_more { width: calc(45% - var(--g1)); }
}


/* ══ DETAIL ══════════════════════════════════════════════════════ */

.esraSoftFBP .detail { padding-bottom: var(--g8); }

.esraSoftFBP .detail .options { 
	display: flex;
	flex-direction: column;
	gap: var(--g3);
}

.esraSoftFBP .detail .price select {
	height: var(--g13);
}

@media (min-width: 768px)  {
	.esraSoftFBP .detail .options > div { width: calc(33.3% - calc(var(--g3) / 2) - 2px); } 
	.esraSoftFBP .detail .options { flex-direction: row; }
}

.esraSoftFBP .detail .actions {
	padding-top: var(--g4);
	display: flex;
	gap: var(--g3);
	flex-direction: column;
}

.esraSoftFBP .detail .actions > * {
	margin: 0 !important;
}

@media (min-width: 768px) {
	.esraSoftFBP .detail .actions { flex-direction: row; flex-wrap: wrap; }
	.esraSoftFBP .detail .actions > * { width: calc(33.3% - calc(var(--g3) / 2) - 2px ) !important; }
}
.esraSoftFBP .detail .actions .book                             { background-color: var(--color-yellow); background-image: none; }
.esraSoftFBP .detail .actions .continue_browsing,
.esraSoftFBP .detail .actions .addToFavorites                   { background-color: var(--color-gray); background-image: none; }


/* ══ LOGIN TYPE ══════════════════════════════════════════════════ */

.esraSoftFBP .logintype .courselist,
.esraSoftFBP .login .courselist { max-width: 1480px; }

/* ══ LEGACY STYLES ═══════════════════════════════════════════════ */

div.esraSoftSubTitle { margin: 0 0 var(--g2); line-height: normal; font-weight: bold; }

div.esraSoftVaListBlock { padding-top: var(--g6); border-bottom: 1px solid var(--color-black); }
html.ct-blue-yellow body #content #esraSoftContent div.esraSoftVaListBlock,
html.ct-yellow-blue body #content #esraSoftContent div.esraSoftVaListBlock,
html.ct-black-yellow body #content #esraSoftContent div.esraSoftVaListBlock,
html.ct-yellow-black body #content #esraSoftContent div.esraSoftVaListBlock,
html.ct-black-white body #content #esraSoftContent div.esraSoftVaListBlock,
html.ct-white-black body #content #esraSoftContent div.esraSoftVaListBlock { border-color: var(--ct_second_color); }

div.esraVaList > div.esraSoftVaListBlock:first-of-type { border-top: 1px solid var(--color-black); }

body #content #esraSoftContent h1 { font-size: var(--g10); margin-top: var(--g2); }
body #content #esraSoftContent h2 { font-size: var(--g6); line-height: var(--g12); /* ~30px */ }
body #content #esraSoftContent .ug_2022_form_formframework h2 { font-size: var(--g6) !important; line-height: var(--g8) !important; margin-bottom: var(--g5); }

body #content #esraSoftContent .alert {
	font-size: 1.2rem;
	color: var(--color-black);
	font-weight: 600;
	margin-bottom: var(--g8);
}
html.ct-blue-yellow body #content #esraSoftContent .alert,
html.ct-yellow-blue body #content #esraSoftContent .alert,
html.ct-black-yellow body #content #esraSoftContent .alert,
html.ct-yellow-black body #content #esraSoftContent .alert,
html.ct-black-white body #content #esraSoftContent .alert,
html.ct-white-black body #content #esraSoftContent .alert {
	color: var(--ct_second_color);
	background-color: var(--ct_first_color);
	border-color: var(--ct_second_color);
}

body #content #esraSoftContent .esraSoftVaListBlock h2 { margin: 0 0 var(--g3); }
body #content #esraSoftContent .esraSoftBasket h2 { margin: var(--g5) 0 var(--g4); }
body #content #esraSoftContent .esraSoftBooked h2 { margin: 0 0 var(--g4); }
body #content #esraSoftContent .esraUnregisterForm h2 { margin: -2px 0 var(--g4); }

body #content #esraSoftContent .detailitem {
	line-height: var(--g7);
	padding: 0;
	margin: 0;
	font-family: nunito_sansregular;
}
body #content #esraSoftContent.esraEventDetails .detailitem { margin-bottom: var(--g1); /* ~3px */ line-height: 1.8; }
body #content #esraSoftContent .detailitem .eventicon {
	margin-right: var(--g4) !important;
	min-width: var(--g6);
}

body #content #esraSoftContent .vcard {
	background-color: var(--color-gray);
	padding: var(--g8);
	margin-bottom: var(--g13); /* ~52px ≈ 50px */
	border: 1px solid var(--color-gray);
}
html.ct-blue-yellow body #content #esraSoftContent .vcard,
html.ct-yellow-blue body #content #esraSoftContent .vcard,
html.ct-black-yellow body #content #esraSoftContent .vcard,
html.ct-yellow-black body #content #esraSoftContent .vcard,
html.ct-black-white body #content #esraSoftContent .vcard,
html.ct-white-black body #content #esraSoftContent .vcard { background-color: var(--ct_first_color); border-color: var(--ct_second_color); }

body #content #esraSoftContent input.form-check-input { width: 0.01em; height: 0.01em; }
body #content #esraSoftContent .form-group span.label-text { display: block; padding-left: var(--g5); }
body #content #esraSoftContent .vcard .form-group .input .form-check-block { margin-bottom: var(--g4); width: 100%; }

body #content #esraSoftContent .esraPerstypSelectMsg,
body #content #esraSoftContent .full-width .form-check { width: 100%; }

body #esraSoftContent .esraSoftLabel { margin: 0 0 var(--g2); }
body #esraSoftContent .esraSoftLabelLarge { font-size: var(--g6); }
body #content #esraSoftContent .esraSoftBold { font-weight: bold; }

.esraCondition p { display: inline; }
body #content #esraSoftContent .form-group .input .form-check.noFloat { float: none; }
.esraSoftClear { clear: both; }

.esraSoftErrorMsg {
	color: var(--color-red);
	padding-top: var(--g1);
	font-size: 13px;
	text-align: left;
	border: 1px solid transparent;
}
html.ct-blue-yellow body #content #esraSoftContent .esraSoftErrorMsg,
html.ct-yellow-blue body #content #esraSoftContent .esraSoftErrorMsg,
html.ct-black-yellow body #content #esraSoftContent .esraSoftErrorMsg,
html.ct-yellow-black body #content #esraSoftContent .esraSoftErrorMsg,
html.ct-black-white body #content #esraSoftContent .esraSoftErrorMsg,
html.ct-white-black body #content #esraSoftContent .esraSoftErrorMsg { color: var(--ct_second_color); }

.esraSoftErrorTxt { color: var(--color-red); }
html.ct-blue-yellow body #content #esraSoftContent .esraSoftErrorTxt,
html.ct-yellow-blue body #content #esraSoftContent .esraSoftErrorTxt,
html.ct-black-yellow body #content #esraSoftContent .esraSoftErrorTxt,
html.ct-yellow-black body #content #esraSoftContent .esraSoftErrorTxt,
html.ct-black-white body #content #esraSoftContent .esraSoftErrorTxt,
html.ct-white-black body #content #esraSoftContent .esraSoftErrorTxt { color: var(--ct_second_color); }

.esraSoftMarginTop-2 { margin-top: -2px; display: block; }
.esraSoftMarginTop-5 { margin-top: -5px; display: block; }

body #content #esraSoftContent p.news-img-caption {
	font-size: 14px;
	margin-top: var(--g1);
	font-family: nunito_sansitalic;
	font-style: italic;
	display: block;
}
body #content #esraSoftContent .h-line {
	border-bottom: 2px solid var(--color-darkgray);
	height: 1px;
	margin-top: var(--g5);
	margin-bottom: var(--g8);
}
body #content #esraSoftContent .esraSoftMarginBottom-10 { margin-bottom: var(--g2); /* ~8px ≈ 10px */ }

.fa-times:before { content: "x"; }
.fa, .fas { font-weight: 900; }
.fa, .fab, .fad, .fal, .far, .fas {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	font-style: normal;
	font-feature-settings: normal;
	font-variant: normal;
	text-rendering: auto;
	line-height: 1;
}

.esraSoftLongLinkTitle  { display: none; }
.esraSoftShortLinkTitle { display: inline-block; }
@media (min-width: 510px) {
	.esraSoftLongLinkTitle  { display: inline-block; }
	.esraSoftShortLinkTitle { display: none; }
}

#esraSoftMultiApplication tr.headerRow td {
	padding: 0 var(--g2) var(--g2);
	border-top: 1px solid var(--color-darkgray);
	border-bottom: 1px solid var(--color-darkgray);
	background-color: var(--color-gray);
}
html.ct-blue-yellow #esraSoftMultiApplication tr.headerRow td,
html.ct-yellow-blue #esraSoftMultiApplication tr.headerRow td,
html.ct-black-yellow #esraSoftMultiApplication tr.headerRow td,
html.ct-yellow-black #esraSoftMultiApplication tr.headerRow td,
html.ct-black-white #esraSoftMultiApplication tr.headerRow td,
html.ct-white-black #esraSoftMultiApplication tr.headerRow td {
	background-color: var(--ct_first_color);
	border-top: 1px solid var(--ct_second_color);
	border-bottom: 1px solid var(--ct_second_color);
}

#esraSoftMultiApplication tr.headerTitle td {
	padding: var(--g1) var(--g2);
	border-top: 1px solid var(--color-darkgray);
	border-bottom: 1px solid var(--color-darkgray);
}
html.ct-blue-yellow #esraSoftMultiApplication tr.headerTitle td,
html.ct-yellow-blue #esraSoftMultiApplication tr.headerTitle td,
html.ct-black-yellow #esraSoftMultiApplication tr.headerTitle td,
html.ct-yellow-black #esraSoftMultiApplication tr.headerTitle td,
html.ct-black-white #esraSoftMultiApplication tr.headerTitle td,
html.ct-white-black #esraSoftMultiApplication tr.headerTitle td {
	border-top: 1px solid var(--ct_second_color);
	border-bottom: 1px solid var(--ct_second_color);
}

.esraSoftMultiAppOptions {
	text-align: right;
	vertical-align: top;
	display: block;
	width: 100%;
	margin-top: var(--g1);
	min-height: var(--g13); /* ~52px ≈ 55px */
}
@media (min-width: 510px) {
	.esraSoftMultiAppOptions { float: right; width: auto; margin-top: 0; }
}

table.esraSoftTable { border-bottom: 1px solid var(--color-darkgray); width: 100%; }
html.ct-blue-yellow table.esraSoftTable,
html.ct-yellow-blue table.esraSoftTable,
html.ct-black-yellow table.esraSoftTable,
html.ct-yellow-black table.esraSoftTable,
html.ct-black-white table.esraSoftTable,
html.ct-white-black table.esraSoftTable { border-bottom: 1px solid var(--ct_second_color); }

table.esraSoftTable td {
	padding: var(--g4) var(--g1);
	border-bottom: 1px solid var(--color-darkgray);
	vertical-align: top;
}
html.ct-blue-yellow table.esraSoftTable td,
html.ct-yellow-blue table.esraSoftTable td,
html.ct-black-yellow table.esraSoftTable td,
html.ct-yellow-black table.esraSoftTable td,
html.ct-black-white table.esraSoftTable td,
html.ct-white-black table.esraSoftTable td { border-bottom: 1px solid var(--ct_second_color); }

table.esraSoftTable th,
table.esraSoftTable2 th,
table.esraSoftTable3 th { font-weight: bold; }

table.esraSoftTable2 { border-top: 1px solid var(--color-darkgray); border-bottom: 1px solid var(--color-darkgray); width: 100%; }
html.ct-blue-yellow table.esraSoftTable2,
html.ct-yellow-blue table.esraSoftTable2,
html.ct-black-yellow table.esraSoftTable2,
html.ct-yellow-black table.esraSoftTable2,
html.ct-black-white table.esraSoftTable2,
html.ct-white-black table.esraSoftTable2 { border-bottom: 1px solid var(--ct_second_color); }

table.esraSoftTable2 td {
	padding: var(--g2) var(--g1);
	border-bottom: 1px solid var(--color-darkgray);
	vertical-align: top;
}
html.ct-blue-yellow table.esraSoftTable2 td,
html.ct-yellow-blue table.esraSoftTable2 td,
html.ct-black-yellow table.esraSoftTable2 td,
html.ct-yellow-black table.esraSoftTable2 td,
html.ct-black-white table.esraSoftTable2 td,
html.ct-white-black table.esraSoftTable2 td { border-bottom: 1px solid var(--ct_second_color); }

table.esraSoftTable3 { width: 100%; }
table.esraSoftTable3 td,
body #content #esraSoftContent .esraSoftBasket { border-bottom: 1px solid var(--color-darkgray); margin: 0; }
table.esraSoftTable3 td { font-size: var(--g6); padding: var(--g3) 0; }
html.ct-blue-yellow table.esraSoftTable3 tr.borderLight td,
html.ct-yellow-blue table.esraSoftTable3 tr.borderLight td,
html.ct-black-yellow table.esraSoftTable3 tr.borderLight td,
html.ct-yellow-black table.esraSoftTable3 tr.borderLight td,
html.ct-black-white table.esraSoftTable3 tr.borderLight td,
html.ct-white-black table.esraSoftTable3 tr.borderLight td { border-bottom: 1px solid var(--ct_second_color); }

body #content #esraSoftContent .row.esraSoftBasket > div { padding: 0; }
body #content #esraSoftContent .borderBold { border-bottom: 1px solid var(--color-darkgray); }
html.ct-blue-yellow body #content #esraSoftContent .borderBold,
html.ct-yellow-blue body #content #esraSoftContent .borderBold,
html.ct-black-yellow body #content #esraSoftContent .borderBold,
html.ct-yellow-black body #content #esraSoftContent .borderBold,
html.ct-black-white body #content #esraSoftContent .borderBold,
html.ct-white-black body #content #esraSoftContent .borderBold { border-bottom: 1px solid var(--ct_second_color); }

table.esraSoftTable3 tr.borderLight td { border-bottom: 1px solid var(--color-gray); }

#esraSoftOverlayBackground {
	position: absolute;
	inset: 0;
	background-color: #666;
	opacity: 0.8;
	z-index: 9999;
	cursor: auto;
}
#esraSoftOverlayLayer { position: absolute; inset: 0; z-index: 9999; cursor: auto; }
#esraSoftOverlayBox {
	margin: var(--g13) auto 0;
	width: 100% !important;
	background-color: var(--color-white);
	padding: var(--g5);
	border-radius: var(--g1);
}
@media (min-width: 510px) { #esraSoftOverlayBox { width: 500px !important; } }
html.ct-blue-yellow #esraSoftOverlayBox,
html.ct-yellow-blue #esraSoftOverlayBox,
html.ct-black-yellow #esraSoftOverlayBox,
html.ct-yellow-black #esraSoftOverlayBox,
html.ct-black-white #esraSoftOverlayBox,
html.ct-white-black #esraSoftOverlayBox { background-color: var(--ct_first_color); }

#esraSoftOverlayBox a { cursor: pointer; }
#esraSoftOverlayBox p > table > span { text-align: left; }
div.esraSoftOverlayBoxClose { float: right; }
div.esraSoftOverlayBoxClose i { font-size: var(--g8); opacity: 0.6; cursor: pointer; }

@media (max-width: 576px) { body #content #esraSoftContent .xsMarign { margin-top: var(--g2); } }

.esraLoadingSpinner {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
	margin: var(--g9) auto;
}
.esraLoadingSpinner .esraLoadingSpinnerText {
	font-weight: normal;
	margin: var(--g2) 0;
	display: block;
	text-align: center;
	font-size: var(--g4);
}
.esraLoadingSpinner .esraLoadingSpinnerImage {
	width: var(--g13); /* ~50px */
	height: var(--g13);
	background: url("/esraSoft/webInterface/esraSoft_files/styles/images/loadingspinner.gif") no-repeat center;
	display: inline-block;
}

body #content #esraSoftContent a { cursor: pointer; }

.esraSoft_s_status_booked  { background-color: var(--color-green);  width: var(--g1); height: var(--g6); }
.esraSoft_s_status_wait    { background-color: var(--color-orange); width: var(--g1); height: var(--g6); }
.esraSoft_s_status_canceled { background-color: var(--color-red);    width: var(--g1); height: var(--g6); }

.esraSoft_txt2red    { color: var(--color-red); }
.esraSoft_txt_green  { color: var(--color-green); }
.esraSoft_txt_orange { color: var(--color-orange); }

body #content #esraSoftContent .ug_2022_form_formframework .form-group .input .form-check.no-margin { margin-right: 0; }
body #content #esraSoftContent .esraSoftDetailsCartPrice { text-align: right; }
@media (max-width: 575px) { body #content #esraSoftContent .esraSoftDetailsCartPrice { text-align: left; } }

.sr-only { position: absolute !important; }

.esraSoftRefernten { width: 100%; }
.esraSoftReferentenData { float: left; margin: 0 var(--g8) 0 0; width: 100px; }
.esraSoftReferentenFoto { margin: var(--g2) 0 var(--g2); }
.esraSoftReferentenFoto img {
	border: 1px solid var(--color-darkgray);
	box-shadow: 0 0 var(--g1) var(--color-darkgray);
	padding: var(--g1);
}
.esraSoftRefernetenName { height: var(--g6); }

.esraSoftColumn { padding: var(--g2) 0 !important; font-size: var(--g5); line-height: var(--g8); }
.esraFormRow2 { position: absolute; margin: 0 0 0 -999em; }

/*Anmelde Stati*/
body #content #esraSoftContent .esraStatusWarteliste{
	text-transform: uppercase;
	background-color: var(--color-orange); 
	color:white; 
	padding: 0 10px; 
	display:inline-block; 
	margin-right:15px;
}

body #content #esraSoftContent .esraStatusAbg{
	text-transform: uppercase;
	background-color: var(--color-red); 
	color:white; 
	padding: 0 10px; 
	display:inline-block; 
	margin-right:15px;
}

.esraSoftFBP .nav .nav-link{
  	padding-right: 45px !important;
}
.esraSoftFBP .nav .nav-item:last-child .nav-link{
  	padding-right: 0 !important;
}

.uppercase{
	text-transform: uppercase;
}