

* {
	box-sizing: border-box;
	margin: 0;
}

html {
    /* overflow kills position sticky */
	/* overflow-x: hidden; */

    /* hyphenate all words that overflow container */
    -ms-hyphens: auto;
    hyphens: auto;

    overflow-wrap: break-word;
    scroll-padding-top: 200px;
}

body {
	margin: 0;
	max-width: 100%;
	overflow-x: hidden;
}

a {
	text-decoration: none;
}

img {
	image-orientation: from-image;
}

/* ===== SITE ===== */
.site {
	position: relative;
    min-height: 100vh;
}

.site_foldout {
	box-shadow: 0 0 5px 3px rgba(0,0,0,0.4);
	/*transition: *//* 0.25s ease-in;*/
	transition: left 0.25s ease-in;
}

.body_disabled,
.body_foldout {
	overflow: hidden !important;
	position: inherit;
}

.body_disabled {
	width: 100%;
	height: 100%;
}

.site_content {
	margin: auto;
    min-height: 2.5em;
}

.forced_fullwidth,
.main_content section.forced_fullwidth {
	max-width: 100%;
	width: 100%;
}

.forced_maxwidth,
.main_content section {
    max-width: 1800px;
    width: 100%;
    margin: auto;
}

/* ===== FOOTER ===== */
.site_footer {
    margin-top: 0;
    height: auto;
}

.site_footer section {
	margin: auto;
	width: 100%;
}

/* ===== NAVIGATION ===== */
/* Skip Navigation (For keyboard users) */
.skip_nav_link {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 999;

    opacity: 0;
    height: 0;
    transition: all 0.15s ease-in!important;
}

.skip_nav_link {
    pointer-events: none;
}

.skip_nav_link:focus-visible {
    opacity: 1;
    height: auto;
}

.skip_nav_link_right {
    width: 180px;
    transform-origin: right top;
    transform: translate(-180px, 3px) rotate(-90deg);
}

.skip_nav_link_top {
    width: 75%;
    margin: 0 auto;
    left: 50%;
    transform: translateX(-50%);
}

/* Language Picker navigation */
.content_language_set {
    position: relative;
}

.language_picker_menu {
    position: relative;
    z-index: 9;
}

.language_picker_menu li a {
    display: block;
}

.language_picker_menu li a img {
    display: block;
}

/* Mobile navigation Foldout */
/* noinspection CssOverwrittenProperties */
.mobile_nav {
	display: none;
	
	height: 100%;
	width: 100%;

	position: fixed;
	bottom: 0;
	left: 60px;
	right: 0;
	top: 0;
	list-style: none;
	overflow-y: scroll;
	z-index: 0;
}

/* ===== OTHER ===== */
.border_radius {
    border-radius: var(--border_radius);
}

.border_radius_input {
    border-radius: var(--border_radius_input);
}

.box_shadow {
    box-shadow: var(--box_shadow);
}

.box_shadow_large {
    box-shadow: var(--box_shadow_large);
}

.clear_both {
    clear: both;
}

.cursor_pointer {
    cursor: pointer;
}

.default_line_height {
    line-height: var(--default_line_height);
}

.collapsable {
    width: 100%;
    float: none;
}

.collapsable[collapsable_data_bodyclick="true"] .collapsable_body,
.collapsable_header {
    cursor: pointer;
}

.collapsable_header > span {
    margin-right: var(--default_spacing_small);
}

.collapsable .inputrow_label {
    width: 100%;
}

.direction_rtl {
    direction: rtl;
}

.direction_ltr {
    direction: ltr;
}

dl {
    display: -webkit-box;	/* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-box;		/* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox;	/* TWEEN - IE 10 */
    display: -webkit-flex;	/* NEW - Chrome */
    display: flex;			/* NEW, Spec - Opera 12.1, Firefox 20+ */

    -webkit-flex-direction: row;
    flex-direction: row;

    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

dt,
dd {
    flex: none;
}

.float_right {
    float: right;
}

.float_left {
    float: left;
}

.font_header {
	font-family: 'Exo','Arial',sans-serif;
}

.font_text_header {
	font-family: 'Exo','Arial',sans-serif;
}

.font_text {
	font-family: 'Roboto Flex','Arial',sans-serif;
}

.font_link {
    font-family: 'Roboto Flex','Arial',sans-serif;
}

.font_button {
    font-family: 'Roboto Flex','Arial',sans-serif;
}

.fontsize_10 { font-size: 0.6rem !important; }
.fontsize_15 { font-size: 0.9rem !important; }
.fontsize_20 { font-size: 1.25rem !important; }
.fontsize_25 { font-size: 1.5rem !important; }
.fontsize_30 { font-size: 1.9rem !important; }
.fontsize_40 { font-size: 2.5rem !important; }
.fontsize_50 { font-size: 3rem !important; }
.fontsize_60 { font-size: 3.75rem !important; }
.fontsize_70 { font-size: 4.4rem !important; }
.fontsize_80 { font-size: 5rem !important; }
.fontsize_90 { font-size: 5.6rem !important; }
.fontsize_100 { font-size: 6.25rem !important; }

.fontsize_x_small       {   font-size: var(--fs_x_small); 	}
.fontsize_small         {   font-size: var(--fs_small); 	}
.fontsize_regular       {   font-size: var(--fs_regular); 	}
.fontsize_medium        {   font-size: var(--fs_medium); 	}
.fontsize_large         {   font-size: var(--fs_large); 	}
.fontsize_x_large       {   font-size: var(--fs_x_large); 	}
.fontsize_xx_large      {   font-size: var(--fs_xx_large);  }

.font_weight_light      {   font-weight: var(--fw_light);   }
.font_weight_regular    {   font-weight: var(--fw_regular); }
.font_weight_medium     {   font-weight: var(--fw_medium);  }
.font_weight_bold       {   font-weight: var(--fw_bold);    }
.font_weight_x_bold     {   font-weight: var(--fw_x_bold);  }

H1, H2, H3,
.h1, .h2, .h3 {
	padding: 0;
	margin: 0 0 0.3em 0;
}

.h1, .h2, .h3, .h4, .h5 {
    display: block;
}

.height_0 {
    height: 0;
}

.height_100 {
    height: 100%;
}

.height_100vh {
    height: 100vh;
}

.img_align_right,
.img_align_left,
.img_align_top,
.img_align_bot {
    margin: 0;
}

.img_align_right {
    float: right;
    margin-left: var(--default_spacing);
}

.img_align_left {
    float: left;
    margin-right: var(--default_spacing);
}

.img_align_top:not(.img_floating) {
    margin-bottom: var(--default_spacing_small);
}

.img_align_bot:not(.img_floating) {
    margin-top: var(--default_spacing_small);
}

.letter_spacing {
    letter-spacing: var(--letter_spacing);
}

.line_height_initial {
    line-height: initial;
}

.list_style_none {
    list-style: none;
    padding-inline-start: 0;
}

.mobile_visible {
    display: none;
}

.min_target_size_square {
    display: -ms-grid;
    display: grid;
    min-height: var(--min_target_size);
    aspect-ratio: 1 / 1;
    place-content: center;
}

.no_filter {
	-webkit-filter: none;
	-ms-filter: none;
	filter: none;
}

.no_scroll {
    overflow: hidden;
}

.overflow_hidden {
    overflow: hidden;
}

.overflow_y_auto {
    overflow-y: auto;
}

.overflow_y_scroll {
    overflow-y: scroll;
}

P, P P {
    font-weight: normal;
    padding: 0;
	margin: 0 0 0.3em 0;
}

P:empty:first-of-type { display: none; }

.pointer_events_none {
    pointer-events: none;
}

.position_absolute {
    position: absolute;
}

.position_relative {
    position: relative;
}

.position_sticky {
    position: sticky;
}

.rounded {
    border-radius: var(--border_radius);
    overflow: clip;
}

.strike_through {
    text-decoration: line-through;
}

strong,
.bold {
    font-weight: bold;
}

.text_center,
.center {
    text-align: center;
}

.text_left,
.left {
    text-align: left;
}

.text_right,
.right {
    text-align: right;
}

.text_justify {
    text-align: justify;
}

.text_underline {
    text-decoration: underline;
}

.toggle_element {
	display: none;
}

.toggle_element_button {
	cursor: pointer;
}

.top_0 {
    top: 0;
}

.transition_all {
    -webkit-transition: all var(--animate_duration) linear;
    transition: all var(--animate_duration) linear;
}

.user_select_none {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.uppercase 		{ text-transform: uppercase; }
.lowercase 		{ text-transform: lowercase; }
.capitalize 	{ text-transform: capitalize; }

.width_auto     { width: auto; }
.width_50       { width: 50%; }
.width_75       { width: 75%; }
.width_100,
.fullwidth      { width: 100%; }

.whitespace_nowrap {
	white-space: nowrap;
}

.visibility_hidden {
    visibility: hidden;
}

/* ===== FLEX ===== */
section {
    display: -webkit-box;		/* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-box;			/* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox;		/* TWEEN - IE 10 */
    display: -webkit-flex;		/* NEW - Chrome */
    display: flex;				/* NEW, Spec - Opera 12.1, Firefox 20+ */

    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;

    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: stretch;
    align-items: stretch;

    margin-bottom: 1.25em;
    padding: 0;
}

section div {
    margin-bottom: 0;
}

.div1_12,
.div2_12,
.div3_12,
.div4_12,
.div5_12,
.div6_12,
.div7_12,
.div8_12,
.div9_12,
.div10_12,
.div11_12,
.div12_12 {
    margin: var(--default_spacing_small) var(--spacing_unit_percentage);

    -ms-flex: 1 0 calc(var(--flex_width) - calc(2 * var(--spacing_unit_percentage)));        /* IE 10 */
    -webkit-flex: 1 0 calc(var(--flex_width) - calc(2 * var(--spacing_unit_percentage)));    /* NEW - Chrome */
    flex: 1 0 calc(var(--flex_width) - calc(2 * var(--spacing_unit_percentage)));	        /* NEW, Spec - Opera 12.1, Firefox 20+ */
}

/* 100/12 x nr of columns, round down */
.div1_12 {  --flex_width: 8%;   }
.div2_12 {  --flex_width: 16%;  }
.div3_12 {  --flex_width: 25%;  }
.div4_12 {  --flex_width: 33%;  }
.div5_12 {  --flex_width: 41%;  }
.div6_12 {  --flex_width: 50%;  }
.div7_12 {  --flex_width: 58%;  }
.div8_12 {  --flex_width: 66%;  }
.div9_12 {  --flex_width: 75%;  }
.div10_12 { --flex_width: 83%;  }
.div11_12 { --flex_width: 91%;  }
.div12_12 { --flex_width: 100%; }

.display_flex {
    display: -webkit-box;       /* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-box;          /* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox;       /* TWEEN - IE 10 */
    display: -webkit-flex;      /* NEW - Chrome */
    display: flex;              /* NEW, Spec - Opera 12.1, Firefox 20+ */
}

.display_flex_row,
.display_flex_row_wrap {
    display: -webkit-box;		/* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-box;			/* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox;		/* TWEEN - IE 10 */
    display: -webkit-flex;		/* NEW - Chrome */
    display: flex;				/* NEW, Spec - Opera 12.1, Firefox 20+ */

    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

.display_flex_row_nowrap {
    display: -webkit-box;		/* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-box;			/* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox;		/* TWEEN - IE 10 */
    display: -webkit-flex;		/* NEW - Chrome */
    display: flex;				/* NEW, Spec - Opera 12.1, Firefox 20+ */

    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.display_flex_column,
.display_flex_column_wrap {
    display: -webkit-box;		/* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-box;			/* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox;		/* TWEEN - IE 10 */
    display: -webkit-flex;		/* NEW - Chrome */
    display: flex;				/* NEW, Spec - Opera 12.1, Firefox 20+ */

    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

.display_flex_column_nowrap {
    display: -webkit-box;		/* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-box;			/* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox;		/* TWEEN - IE 10 */
    display: -webkit-flex;		/* NEW - Chrome */
    display: flex;				/* NEW, Spec - Opera 12.1, Firefox 20+ */

    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.flex_0 {
    -webkit-box-flex: 0;	/* OLD - iOS 6-, Safari 3.1-6 */
    -moz-box-flex: 0;	    /* OLD - Firefox 19- */
    -ms-flex: 0;	        /* IE 10 */
    -webkit-flex: 0;	    /* NEW - Chrome */
    flex: 0;	            /* NEW, Spec - Opera 12.1, Firefox 20+ */
}

.flex_1 {
    -webkit-box-flex: 1;	/* OLD - iOS 6-, Safari 3.1-6 */
    -moz-box-flex: 1;	    /* OLD - Firefox 19- */
    -ms-flex: 1;	        /* IE 10 */
    -webkit-flex: 1;	    /* NEW - Chrome */
    flex: 1;	            /* NEW, Spec - Opera 12.1, Firefox 20+ */
}

.flex_2 {
    -webkit-box-flex: 2;	/* OLD - iOS 6-, Safari 3.1-6 */
    -moz-box-flex: 2;	    /* OLD - Firefox 19- */
    -ms-flex: 2;	        /* IE 10 */
    -webkit-flex: 2;	    /* NEW - Chrome */
    flex: 2;	            /* NEW, Spec - Opera 12.1, Firefox 20+ */
}

.flex_3 {
    -webkit-box-flex: 3;	/* OLD - iOS 6-, Safari 3.1-6 */
    -moz-box-flex: 3;	    /* OLD - Firefox 19- */
    -ms-flex: 3;	        /* IE 10 */
    -webkit-flex: 3;	    /* NEW - Chrome */
    flex: 3;	            /* NEW, Spec - Opera 12.1, Firefox 20+ */
}

.flex_4 {
    -webkit-box-flex: 4;	/* OLD - iOS 6-, Safari 3.1-6 */
    -moz-box-flex: 4;	    /* OLD - Firefox 19- */
    -ms-flex: 4;	        /* IE 10 */
    -webkit-flex: 4;	    /* NEW - Chrome */
    flex: 4;	            /* NEW, Spec - Opera 12.1, Firefox 20+ */
}

.flex_1_0_0 {
    -ms-flex: 1 0 0;	        /* IE 10 */
    -webkit-flex: 1 0 0;	    /* NEW - Chrome */
    flex: 1 0 0;	            /* NEW, Spec - Opera 12.1, Firefox 20+ */
}

.flex_2_0_0 {
    -ms-flex: 2 0 0;	        /* IE 10 */
    -webkit-flex: 2 0 0;	    /* NEW - Chrome */
    flex: 2 0 0;	            /* NEW, Spec - Opera 12.1, Firefox 20+ */
}

.flex_1_0_auto {
    -ms-flex: 1 0 auto;		    /* IE 10 */
    -webkit-flex: 1 0 auto;		/* NEW - Chrome */
    flex: 1 0 auto;		        /* NEW, Spec - Opera 12.1, Firefox 20+ */
}

.flex_basis_100 {
    flex-basis: 100%;
}

.flex_grow {
    -webkit-flex-grow: 1;
    flex-grow: 1;
}

.flex_nogrow {
    -webkit-flex-grow: 0 !important;
    flex-grow: 0 !important;
}

.flex_none {
    flex: none;
}

.flex_wrap {
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

.flex_nowrap {
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.space_between,
.justify_space_between {
    -webkit-justify-content: space-between !important;
    justify-content: space-between !important;
}

.space_around,
.justify_space_around {
    -webkit-justify-content: space-around !important;
    justify-content: space-around !important;
}

.justify_center {
    -webkit-justify-content: center !important;
    justify-content: center !important;
}

.justify_items_center {
    justify-items: center !important;
}

.flex_start,
.justify_flex_start {
    -webkit-justify-content: flex-start !important;
    justify-content: flex-start !important;
}

.flex_end,
.justify_flex_end {
    -webkit-justify-content: flex-end !important;
    justify-content: flex-end !important;
}

.justify_self_start {
    justify-self: flex-start !important;
}

.justify_self_end {
    justify-self: flex-end !important;
}

.justify_self_center {
    justify-self: center !important;
}

.align_center {
    -webkit-align-items: center !important;
    align-items: center !important;
}

.align_content_center {
    -webkit-align-content: center !important;
    align-content: center !important;
}

.align_content_start {
    -webkit-align-content: start !important;
    align-content: start !important;
}

.align_items_start {
    -webkit-align-items: start !important;
    align-items: start !important;
}

.align_flex_start {
    -webkit-align-items: flex-start !important;
    align-items: flex-start !important;
}

.align_flex_end {
    -webkit-align-items: flex-end !important;
    align-items: flex-end !important;
}

.align_self_start {
    -webkit-align-self: flex-start;
    align-self: flex-start;
}

.align_self_end {
    -webkit-align-self: flex-end;
    align-self: flex-end;
}

.align_self_center {
    -webkit-align-self: center;
    align-self: center;
}

.align_stretch {
    -webkit-align-items: stretch;
    align-items: stretch;
}

.place_center {
    place-content: center;
}

/* ===== GRID ===== */
.grid_auto_columns {
    grid-auto-columns: minmax(0, 1fr);
}

.grid_auto_rows {
    grid-auto-rows: minmax(0, 1fr);
}

.grid_col1 {
    grid-template-columns: minmax(0, 1fr);
}

.grid_col2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid_col3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid_col4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.grid_col5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.grid_col25_75 {
    grid-template-columns: 1fr 3fr;
}

.grid_col75_25 {
    grid-template-columns: 3fr 1fr;
}

.grid_col33_67 {
    grid-template-columns: 1fr 2fr;
}

.grid_col67_33 {
    grid-template-columns: 2fr 1fr;
}

.grid_span1 {
    grid-column: span 1;
    grid-row: span 1;
}

.grid_span2rows {
    grid-row: auto / span 2;
}

.grid_span3rows {
    grid-row: auto / span 3;
}

.grid_span4rows {
    grid-row: auto / span 4;
}

.grid_span2columns {
    grid-column: auto / span 2;
}

.grid_span3columns {
    grid-column: auto / span 3;
}

.grid_span4columns {
    grid-column: auto / span 4;
}

.grid_gap_0 {
    grid-gap: 0;
}

.grid_gap_col_0 {
    column-gap: 0;
}

.grid_gap_row_0 {
    row-gap: 0;
}

.grid_col_span_all {
    grid-column: 1 / -1;
}

/* ===== DISPLAY ===== */
.display_grid {
    display: -ms-grid;
    display: grid;
}

.display_block {
    display: block;
}

.display_inline_block {
    display: inline-block;
}

.display_inline {
    display: inline;
}

.display_none {
    display: none !important;
}

.opacity_1 {
    opacity: 1;
}

.opacity_0 {
    opacity: 0;
}

/* ===== TABLE MOCK CLASSES ===== */
.table    { display: table }
.tr       { display: table-row }
.thead    { display: table-header-group }
.tbody    { display: table-row-group }
.tfoot    { display: table-footer-group }
.col      { display: table-column }
.colgroup { display: table-column-group }
.td, .th  { display: table-cell }
.caption  { display: table-caption }

table,
.table {
    border-collapse: collapse;
    margin-bottom: 1.25em;
}

table[border="0"] td,
table[border="0"] th {
    border: 0;
}

th, td,
.th, .td {
    padding: var(--default_spacing_small);
    margin: 0;
}

td.borderless,
.borderless {
    border: none;
}

/* ===== NO SUPPORT OLD BROWSER ===== */
.nosupport_overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    overflow: auto;
    height: 100%;
    background-color: rgba(255,255,255, 0.95);
    z-index: 9999;
}

.nosupport_overlay .nosupport_overlay_content {
    position: relative;
    top: 30%;
    margin: 0 auto;
    max-width: 50vw;
    text-align: center;
    transform: translateY(-50%);
}

/* ===== PADDINGS & MARGINS ===== */
.default_padding {
    padding: var(--default_spacing);
}

.default_padding_ver {
    padding: var(--default_spacing) 0;
}

.default_padding_hor {
    padding: 0 var(--default_spacing);
}

.default_padding_small {
    padding: var(--default_spacing_small);
}

.default_padding_small_ver {
    padding: var(--default_spacing_small) 0;
}

.default_padding_small_hor {
    padding: 0 var(--default_spacing_small);
}

.default_padding_large {
    padding: calc(2 * var(--default_spacing));
}

.default_padding_large_ver {
    padding: calc(2 * var(--default_spacing)) 0;
}

.default_padding_large_hor {
    padding: 0 calc(2 * var(--default_spacing));
}

.default_padding_top	        { padding-top: var(--default_spacing) !important; }
.default_padding_small_top	    { padding-top: var(--default_spacing_small) !important; }

.default_padding_bot            { padding-bottom: var(--default_spacing) !important; }
.default_padding_small_bot	    { padding-bottom: var(--default_spacing_small) !important; }

.default_padding_right	        { padding-right: var(--default_spacing) !important; }
.default_padding_small_right    { padding-right: var(--default_spacing_small) !important; }

.default_padding_left           { padding-left: var(--default_spacing) !important; }
.default_padding_small_left	    { padding-left: var(--default_spacing_small) !important; }

/* Margins */
.default_margin {
    margin: var(--default_spacing);
}

.default_margin_ver {
    margin: var(--default_spacing) 0;
}

.default_margin_hor {
    margin: 0 var(--default_spacing);
}

.default_margin_small {
    margin: var(--default_spacing_small);
}

.default_margin_small_ver {
    margin: var(--default_spacing_small) 0;
}

.default_margin_small_hor {
    margin: 0 var(--default_spacing_small);
}

.default_margin_large {
    margin: calc(2 * var(--default_spacing));
}

.default_margin_large_ver {
    margin: calc(2 * var(--default_spacing)) 0;
}

.default_margin_large_hor {
    margin: 0 calc(2 * var(--default_spacing));
}

.default_margin_top	        { margin-top: var(--default_spacing) !important; }
.default_margin_small_top	{ margin-top: var(--default_spacing_small) !important; }

.default_margin_bot         { margin-bottom: var(--default_spacing) !important; }
.default_margin_small_bot	{ margin-bottom: var(--default_spacing_small) !important; }

.default_margin_right	    { margin-right: var(--default_spacing) !important; }
.default_margin_small_right	{ margin-right: var(--default_spacing_small) !important; }

.default_margin_left        { margin-left: var(--default_spacing) !important; }
.default_margin_small_left	{ margin-left: var(--default_spacing_small) !important; }

.margin_auto { margin: auto !important; }
.margin_0_auto { margin: 0 auto !important; }

.margin_0	{ margin: 0 !important; }
.margin_5	{ margin: 0.3rem !important; }
.margin_10	{ margin: 0.625rem !important; }
.margin_15	{ margin: 0.9rem !important; }
.margin_20	{ margin: 1.25rem !important; }
.margin_25	{ margin: 1.5rem !important; }
.margin_30	{ margin: 1.8rem !important; }
.margin_35	{ margin: 2.2rem !important; }
.margin_40	{ margin: 2.5rem !important; }
.margin_50	{ margin: 3rem !important; }
.margin_80	{ margin: 5rem !important; }

.margin_hor_5	{ margin: 0 0.3rem !important; }
.margin_hor_10	{ margin: 0 0.625rem !important; }
.margin_hor_15	{ margin: 0 0.9rem !important; }
.margin_hor_20	{ margin: 0 1.25rem !important; }
.margin_hor_25	{ margin: 0 1.5rem !important; }
.margin_hor_30	{ margin: 0 1.8rem !important; }
.margin_hor_35	{ margin: 0 2.2rem !important; }
.margin_hor_40	{ margin: 0 2.5rem !important; }
.margin_hor_50	{ margin: 0 3rem !important; }
.margin_hor_80	{ margin: 0 5rem !important; }

.margin_ver_5	{ margin: 0.3rem 0 !important; }
.margin_ver_10	{ margin: 0.625rem 0 !important; }
.margin_ver_15	{ margin: 0.9rem 0 !important; }
.margin_ver_20	{ margin: 1.25rem 0 !important; }
.margin_ver_25	{ margin: 1.5rem 0 !important; }
.margin_ver_30	{ margin: 1.8rem 0 !important; }
.margin_ver_35	{ margin: 2.2rem 0 !important; }
.margin_ver_40	{ margin: 2.5rem 0 !important; }

.margin_top_0	{ margin-top: 0 !important; }
.margin_top_5	{ margin-top: 0.3rem !important; }
.margin_top_10	{ margin-top: 0.625rem !important; }
.margin_top_15	{ margin-top: 0.9rem !important; }
.margin_top_20	{ margin-top: 1.25rem !important; }
.margin_top_25	{ margin-top: 1.5rem !important; }
.margin_top_30	{ margin-top: 1.8rem !important; }
.margin_top_35	{ margin-top: 2.2rem !important; }
.margin_top_40	{ margin-top: 2.5rem !important; }
.margin_top_50	{ margin-top: 3rem !important; }
.margin_top_80	{ margin-top: 5rem !important; }

.margin_bot_0	{ margin-bottom: 0 !important; }
.margin_bot_5	{ margin-bottom: 0.3rem !important; }
.margin_bot_10	{ margin-bottom: 0.625rem !important; }
.margin_bot_15	{ margin-bottom: 0.9rem !important; }
.margin_bot_20	{ margin-bottom: 1.25rem !important; }
.margin_bot_25	{ margin-bottom: 1.5rem !important; }
.margin_bot_30	{ margin-bottom: 1.8rem !important; }
.margin_bot_35	{ margin-bottom: 2.2rem !important; }
.margin_bot_40	{ margin-bottom: 2.5rem !important; }
.margin_bot_50	{ margin-bottom: 3rem !important; }
.margin_bot_80	{ margin-bottom: 5rem !important; }

.margin_right_5     { margin-right: 0.3rem !important; }
.margin_right_10    { margin-right: 0.625rem !important; }
.margin_right_15	{ margin-right: 0.9rem !important; }
.margin_right_20	{ margin-right: 1.25rem !important; }
.margin_right_25	{ margin-right: 1.5rem !important; }
.margin_right_30	{ margin-right: 1.8rem !important; }
.margin_right_35	{ margin-right: 2.2rem !important; }
.margin_right_40    { margin-right: 2.5rem !important; }
.margin_right_50    { margin-right: 3rem !important; }
.margin_right_80    { margin-right: 5rem !important; }

.margin_left_5     { margin-left: 0.3rem !important; }
.margin_left_10    { margin-left: 0.625rem !important; }
.margin_left_15	   { margin-left: 0.9rem !important; }
.margin_left_20    { margin-left: 1.25rem !important; }
.margin_left_25    { margin-left: 1.5rem !important; }
.margin_left_30    { margin-left: 1.8rem !important; }
.margin_left_35    { margin-left: 2.2rem !important; }
.margin_left_40    { margin-left: 2.5rem !important; }
.margin_left_50    { margin-left: 3rem !important; }
.margin_left_80    { margin-left: 5rem !important; }


.padding_0	{ padding: 0 !important; }
.padding_5	{ padding: 0.3em !important; }
.padding_10	{ padding: 0.625em !important; }
.padding_15	{ padding: 0.9em !important; }
.padding_20	{ padding: 1.25em !important; }
.padding_25	{ padding: 1.5em !important; }
.padding_30	{ padding: 1.8em !important; }
.padding_40	{ padding: 2.5em !important; }
.padding_50	{ padding: 3em !important; }
.padding_80	{ padding: 5em !important; }

.padding_40_20	{ padding: 2.5em 1.25em !important; }

.padding_ver_5	{ padding: 0.3em 0 !important; }
.padding_ver_10	{ padding: 0.625em 0 !important; }
.padding_ver_15	{ padding: 0.9em 0 !important; }
.padding_ver_20	{ padding: 1.25em 0 !important; }
.padding_ver_25	{ padding: 1.5em 0 !important; }
.padding_ver_30	{ padding: 1.8em 0 !important; }
.padding_ver_40	{ padding: 2.5em 0 !important; }
.padding_ver_50	{ padding: 3em 0 !important; }
.padding_ver_80	{ padding: 5em 0 !important; }

.padding_hor_5	{ padding: 0 0.3em !important; }
.padding_hor_10	{ padding: 0 0.625em !important; }
.padding_hor_15	{ padding: 0 0.9em !important; }
.padding_hor_20	{ padding: 0 1.25em !important; }
.padding_hor_25	{ padding: 0 1.5em !important; }
.padding_hor_30	{ padding: 0 1.8em !important; }
.padding_hor_40	{ padding: 0 2.5em !important; }
.padding_hor_50	{ padding: 0 3em !important; }
.padding_hor_80	{ padding: 0 5em !important; }

.padding_bot_0	{ padding-bottom: 0 !important; }
.padding_bot_5	{ padding: 0 0 0.3em 0 !important; }
.padding_bot_10	{ padding: 0 0 0.625em 0 !important; }
.padding_bot_15	{ padding: 0 0 0.9em 0 !important; }
.padding_bot_20	{ padding: 0 0 1.25em 0 !important; }
.padding_bot_25	{ padding: 0 0 1.5em 0 !important; }
.padding_bot_30	{ padding: 0 0 1.8em 0 !important; }
.padding_bot_40	{ padding: 0 0 2.5em 0 !important; }
.padding_bot_50	{ padding: 0 0 3em 0 !important; }
.padding_bot_80	{ padding: 0 0 5em 0 !important; }

.padding_top_0	{ padding-top: 0 !important; }
.padding_top_5	{ padding: 0.3em 0 0 0 !important; }
.padding_top_10	{ padding: 0.625em 0 0 0 !important; }
.padding_top_15	{ padding: 0.9em 0 0 0 !important; }
.padding_top_20	{ padding: 1.25em 0 0 0 !important; }
.padding_top_25	{ padding: 1.5em 0 0 0 !important; }
.padding_top_30	{ padding: 1.8em 0 0 0 !important; }
.padding_top_40	{ padding: 2.5em 0 0 0 !important; }
.padding_top_50	{ padding: 3em 0 0 0 !important; }
.padding_top_80	{ padding: 5em 0 0 0 !important; }

/* Gap */
.default_gap {
    gap: var(--default_spacing);
}

.default_gap_small {
    gap: var(--default_spacing_small);
}

.default_gap_col {
    column-gap: var(--default_spacing);
}

.default_gap_col_small {
    column-gap: var(--default_spacing_small);
}

.gap_0 {
    gap: 0;
}

/* ===== COLORS ===== */
.text_hover_body:hover:not(.disabled):not(:disabled),
.text_body,
a.text_body {
	color: rgb(52,56,112);
}

.text_hover_a:hover:not(.disabled):not(:disabled),
.text_a,
a.text_a {
	color: rgb(52,56,112);
}

.text_hover_b:hover:not(.disabled):not(:disabled),
.text_b,
a.text_b {
	color: rgb(171,210,241);
}

.text_hover_c:hover:not(.disabled):not(:disabled),
.text_c,
a.text_c {
	color: rgb(253,88,143);
}

.text_hover_d:hover:not(.disabled):not(:disabled),
.text_d,
a.text_d {
	color: rgb(84,88,199);
}

.text_hover_e:hover:not(.disabled):not(:disabled),
.text_e,
a.text_e {
	color: rgb(236,240,242);
}

.text_hover_gray:hover:not(.disabled):not(:disabled),
.text_gray,
a.text_gray {
	color: rgb(174,186,200);
}

.text_hover_white:hover:not(.disabled):not(:disabled),
.text_white,
a.text_white {
	color: rgb(255,255,255);
}

.text_hover_black:hover:not(.disabled):not(:disabled),
.text_black,
a.text_black {
	color: rgb(56,56,59);
}

.bg_hover_a:hover:not(.disabled):not(:disabled),
.bg_a {
	background-color: rgb(52,56,112);
}

.bg_hover_b:hover:not(.disabled):not(:disabled),
.bg_b {
	background-color: rgb(171,210,241);
}

.bg_hover_c:hover:not(.disabled):not(:disabled),
.bg_c {
	background-color: rgb(253,88,143);
}

.bg_hover_d:hover:not(.disabled):not(:disabled),
.bg_d {
	background-color: rgb(84,88,199);
}

.bg_hover_e:hover:not(.disabled):not(:disabled),
.bg_e {
	background-color: rgb(236,240,242);
}

.bg_hover_gray:hover:not(.disabled):not(:disabled),
.bg_gray {
	background-color: rgb(174,186,200);
}

.bg_hover_white:hover:not(.disabled):not(:disabled),
.bg_white {
	background-color: rgb(255,255,255);
}

.bg_hover_black:hover:not(.disabled):not(:disabled),
.bg_black {
	background-color: rgb(56,56,59);
}

.bg_hover_body:hover:not(.disabled):not(:disabled),
.bg_body {
	background-color: rgb(52,56,112);
}

.bg_red {
    background-color: var(--color_invalid);
}

.checkbox_border_a {
    border-color: rgb(52,56,112);
}

.checkbox_border_b {
    border-color: rgb(171,210,241);
}

.checkbox_border_c {
    border-color: rgb(253,88,143);
}

.checkbox_border_d {
    border-color: rgb(84,88,199);
}

.checkbox_border_e {
    border-color: rgb(236,240,242);
}

.checkbox_border_gray {
    border-color: rgb(174,186,200);
}

.checkbox_border_white {
    border-color: rgb(255,255,255);
}

.checkbox_border_black {
    border-color: rgb(56,56,59);
}

.checkbox_border_body {
    border-color: rgb(52,56,112);
}

/* For Fancy Input - soon to be obsolete? */
.checkbox_border_a input[type="checkbox"] + span:before,
.checkbox_border_a input[type="radio"] + span:before {
    border: var(--input_border_width) solid rgb(52,56,112);
}

.checkbox_border_b input[type="checkbox"] + span:before,
.checkbox_border_b input[type="radio"] + span:before {
    border: var(--input_border_width) solid rgb(171,210,241);
}

.checkbox_border_c input[type="checkbox"] + span:before,
.checkbox_border_c input[type="radio"] + span:before {
    border: var(--input_border_width) solid rgb(253,88,143);
}

.checkbox_border_d input[type="checkbox"] + span:before,
.checkbox_border_d input[type="radio"] + span:before {
    border: var(--input_border_width) solid rgb(84,88,199);
}

.checkbox_border_e input[type="checkbox"] + span:before,
.checkbox_border_e input[type="radio"] + span:before {
    border: var(--input_border_width) solid rgb(236,240,242);
}
.checkbox_border_gray input[type="checkbox"] + span:before,
.checkbox_border_gray input[type="radio"] + span:before {
    border: var(--input_border_width) solid rgb(174,186,200);
}

.checkbox_border_white input[type="checkbox"] + span:before,
.checkbox_border_white input[type="radio"] + span:before {
    border: var(--input_border_width) solid rgb(255,255,255);
}

.checkbox_border_black input[type="checkbox"] + span:before,
.checkbox_border_black input[type="radio"] + span:before {
    border: var(--input_border_width) solid rgb(56,56,59);
}

.checkbox_border_body input[type="checkbox"] + span:before,
.checkbox_border_body input[type="radio"] + span:before {
    border: var(--input_border_width) solid rgb(52,56,112);
}

.checkbox_border_a input[type="radio"]:checked + span:before {
    background-color: rgb(52,56,112);
}

.checkbox_border_b input[type="radio"]:checked + span:before {
    background-color: rgb(171,210,241);
}

.checkbox_border_c input[type="radio"]:checked + span:before {
    background-color: rgb(253,88,143);
}

.checkbox_border_d input[type="radio"]:checked + span:before {
    background-color: rgb(84,88,199);
}

.checkbox_border_e input[type="radio"]:checked + span:before {
    background-color: rgb(236,240,242);
}

.checkbox_border_gray input[type="radio"]:checked + span:before {
    background-color: rgb(174,186,200);
}

.checkbox_border_white input[type="radio"]:checked + span:before {
    background-color: rgb(255,255,255);
}

.checkbox_border_black input[type="radio"]:checked + span:before {
    background-color: rgb(56,56,59);
}

.checkbox_border_body input[type="radio"]:checked + span:before {
    background-color: rgb(52,56,112);
}
/* == end of soon te be obsolete css == */


.input_background_a {
    background-color: rgba(52,56,112,0.5);
}

.input_background_b {
    background-color: rgba(171,210,241,0.5);
}

.input_background_c {
    background-color: rgba(253,88,143,0.5);
}

.input_background_d {
    background-color: rgba(84,88,199,0.5);
}

.input_background_e {
    background-color: rgba(236,240,242,0.5);
}

.input_background_gray {
    background-color: rgba(174,186,200,0.5);
}

.input_background_white {
    background-color: rgba(255,255,255,0.5);
}

.input_background_black {
    background-color: rgba(56,56,59,0.5);
}

.input_background_body {
    background-color: rgba(52,56,112,0.5);
}

.input_border_a {
    border: var(--input_border_width) solid rgb(52,56,112);
}

.input_border_b {
    border: var(--input_border_width) solid rgb(171,210,241);
}

.input_border_c {
    border: var(--input_border_width) solid rgb(253,88,143);
}

.input_border_d {
    border: var(--input_border_width) solid rgb(84,88,199);
}

.input_border_e {
    border: var(--input_border_width) solid rgb(236,240,242);
}

.input_border_gray {
    border: var(--input_border_width) solid rgb(174,186,200);
}

.input_border_white {
    border: var(--input_border_width) solid rgb(255,255,255);
}

.input_border_black {
    border: var(--input_border_width) solid rgb(56,56,59);
}

.input_border_body {
    border: var(--input_border_width) solid rgb(52,56,112);
}

.input_border_transparent {
    border: var(--input_border_width) solid transparent;
}

.input_color_a {
    color: rgba(52,56,112,0.8);
}

.input_color_b {
    color: rgba(171,210,241,0.8);
}

.input_color_c {
    color: rgba(253,88,143,0.8);
}

.input_color_d {
    color: rgba(84,88,199,0.8);
}

.input_color_e {
    color: rgba(236,240,242,0.8);
}

.input_color_gray {
    color: rgba(174,186,200,0.8);
}

.input_color_white {
    color: rgba(255,255,255,0.8);
}

.input_color_black {
    color: rgba(56,56,59,0.8);
}

.input_color_body {
    color: rgba(52,56,112,0.6);
}

.input_background_focused_a:focus {
    background-color: rgba(52,56,112,0.25);
}

.input_background_focused_b:focus {
    background-color: rgba(171,210,241,0.25);
}

.input_background_focused_c:focus {
    background-color: rgba(253,88,143,0.25);
}

.input_background_focused_d:focus {
    background-color: rgba(84,88,199,0.25);
}

.input_background_focused_e:focus {
    background-color: rgba(236,240,242,0.5);
}

.input_background_focused_gray:focus {
    background-color: rgba(174,186,200,0.25);
}

.input_background_focused_white:focus {
    background-color: rgba(255,255,255,1);
}

.input_background_focused_black:focus {
    background-color: rgba(56,56,59,0.25);
}

.input_background_focused_body:focus {
    background-color: rgba(52,56,112,0.25);
}

.input_border_focused_a:focus {
    border: var(--input_border_width) solid rgb(52,56,112);
}

.input_border_focused_b:focus {
    border: var(--input_border_width) solid rgb(171,210,241);
}

.input_border_focused_c:focus {
    border: var(--input_border_width) solid rgb(253,88,143);
}

.input_border_focused_d:focus {
    border: var(--input_border_width) solid rgb(84,88,199);
}

.input_border_focused_e:focus {
    border: var(--input_border_width) solid rgb(236,240,242);
}

.input_border_focused_gray:focus {
    border: var(--input_border_width) solid rgb(174,186,200);
}

.input_border_focused_white:focus {
    border: var(--input_border_width) solid rgb(255,255,255);
}

.input_border_focused_black:focus {
    border: var(--input_border_width) solid rgb(56,56,59);
}

.input_border_focused_body:focus {
    border: var(--input_border_width) solid rgb(52,56,112);
}

.input_color_focused_a:focus {
    color: rgba(52,56,112);
}

.input_color_focused_b:focus {
    color: rgba(171,210,241);
}

.input_color_focused_c:focus {
    color: rgba(253,88,143);
}

.input_color_focused_d:focus {
    color: rgba(84,88,199);
}

.input_color_focused_e:focus {
    color: rgba(236,240,242);
}

.input_color_focused_gray:focus {
    color: rgba(174,186,200);
}

.input_color_focused_white:focus {
    color: rgba(255,255,255);
}

.input_color_focused_black:focus {
    color: rgba(56,56,59);
}

.input_color_focused_body:focus {
    color: rgba(52,56,112);
}

.button_border_a {
    border: var(--button_border_width) solid rgb(52,56,112);
}

.button_border_b {
    border: var(--button_border_width) solid rgb(171,210,241);
}

.button_border_c {
    border: var(--button_border_width) solid rgb(253,88,143);
}

.button_border_d {
    border: var(--button_border_width) solid rgb(84,88,199);
}

.button_border_e {
    border: var(--button_border_width) solid rgb(236,240,242);
}

.button_border_gray {
    border: var(--button_border_width) solid rgb(174,186,200);
}

.button_border_white {
    border: var(--button_border_width) solid rgb(255,255,255);
}

.button_border_black {
    border: var(--button_border_width) solid rgb(56,56,59);
}

.button_border_body {
    border: var(--button_border_width) solid rgb(52,56,112);
}

.button_border_transparent {
    border: var(--button_border_width) solid transparent;
}

.button_border_hover_a:hover:not(.disabled):not(:disabled) {
    border: var(--button_border_width) solid rgb(52,56,112);
}

.button_border_hover_b:hover:not(.disabled):not(:disabled) {
    border: var(--button_border_width) solid rgb(171,210,241);
}

.button_border_hover_c:hover:not(.disabled):not(:disabled) {
    border: var(--button_border_width) solid rgb(253,88,143);
}

.button_border_hover_d:hover:not(.disabled):not(:disabled) {
    border: var(--button_border_width) solid rgb(84,88,199);
}

.button_border_hover_e:hover:not(.disabled):not(:disabled) {
    border: var(--button_border_width) solid rgb(236,240,242);
}

.button_border_hover_gray:hover:not(.disabled):not(:disabled) {
    border: var(--button_border_width) solid rgb(174,186,200);
}

.button_border_hover_white:hover:not(.disabled):not(:disabled) {
    border: var(--button_border_width) solid rgb(255,255,255);
}

.button_border_hover_black:hover:not(.disabled):not(:disabled) {
    border: var(--button_border_width) solid rgb(56,56,59);
}

.button_border_hover_body:hover:not(.disabled):not(:disabled) {
    border: var(--button_border_width) solid rgb(52,56,112);
}

.button_border_hover_transparent:hover:not(.disabled):not(:disabled) {
    border: var(--button_border_width) solid transparent;
}

[class*='text_hover_']:not(.text_hover_transparent):not(.back_to_top_button):not(.disabled):not(:disabled) {
    -webkit-transition: color var(--animate_duration) ease;
    transition: color var(--animate_duration) ease;
}

[class*='bg_hover_']:not(.bg_hover_transparent):not(.back_to_top_button):not(.disabled):not(:disabled) {
    -webkit-transition: background-color var(--animate_duration) ease, border var(--animate_duration) ease;
    transition: background-color var(--animate_duration) ease, border var(--animate_duration) ease;
}

:root {
    /* Sizes */
    --max_width: 1800px;
    --min_target_size: 2.75rem; /* minimum recommended size for target/pointer input = 44 x 44 px (WCAG AAA) */
    --topbar_height: 4rem;
    --flex_width: 100%;

    /* Spacers */
    --default_spacing: 1.875rem;
    --default_spacing_small: 0.9375rem;
    --spacing_unit_percentage: 2%;
    --default_gap: var(--default_spacing);
    --default_gap_small: var(--default_spacing_small);

    /* Font styling */
    --default_line_height: 1.6;
    --letter_spacing: 2px;

    /* Font weights */
    --fw_light:     300;
    --fw_regular:   400;
    --fw_medium:    600;
    --fw_bold:      700;
    --fw_x_bold:    800;

    /* Container styling */
    --border_radius: 0.3125rem;
    --box_shadow_large: 0 0 30px 0 rgba(174,186,200,0.4);
    --box_shadow: 0 0 10px 0 rgba(174,186,200,0.4);

    --animate_duration: 0.3s;

    /* Frontoffice and Webman only */
    --breadcrumb_height: 4.5rem;
    --langnav_width: 85px;
    --right_input_width: 400px;
}

/* ===== ANIMATIONS and TRANSITIONS ===== */
.animate__animated {
    -webkit-animation-duration: var(--animate_duration);
    animation-duration: var(--animate_duration);
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate__fadeInDown {
    -webkit-animation-name: fadeInDown;
    animation-name: fadeInDown;
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(50px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.animate__fadeInRight {
    -webkit-animation-name: fadeInRight;
    animation-name: fadeInRight;
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(50px);
    }

    50% {
        opacity: 0.3;
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate__fadeInUp {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp;
}

@media (prefers-reduced-motion: reduce) {
    .animate__animated {
        -webkit-animation-duration: 1ms !important;
        animation-duration: 1ms !important;
        -webkit-transition-duration: 1ms !important;
        transition-duration: 1ms !important;
        -webkit-animation-iteration-count: 1 !important;
        animation-iteration-count: 1 !important;
    }

    .animate__animated[class*='Out'] {
        opacity: 0;
    }
}

.transition {
    -webkit-transition: all .5s cubic-bezier(.455,.03,.515,.955);
    transition: all .5s cubic-bezier(.455,.03,.515,.955);
}

.transform_opacity_move_up {
    transform: translateY(50px);
    opacity: 0;
}

.transform_opacity_move_down {
    transform: translateY(-50px);
    opacity: 0;
}

.transform_opacity_move_right {
    transform: translateX(50px);
    opacity: 0;
}

.transform_opacity {
    opacity: 0;
}

.brightness_on_hover img:hover {
    filter: brightness(1.05);
}

.shadow_on_hover {
    transition: box-shadow 0.2s cubic-bezier(.455,.03,.515,.955);
}

.shadow_on_hover:hover {
    box-shadow: var(--box_shadow_large);
}

.text_link_icon_animated {
    position: relative;
    display: inline-block;
    transform: translateX(0);
    transition: transform var(--animate_duration);
}

.text_link_animated:hover .text_link_icon_animated {
    transform: translateX(10px);
}

.text_link_animated_to_left.text_link_animated:hover .text_link_icon_animated {
    transform: translateX(-10px);
}

/* ===== SITE ===== */
body {
    color: rgb(52,56,112);
    font-family: 'Roboto Flex','Arial',sans-serif;
}

section img {
    margin: 0 var(--default_spacing_small) var(--default_spacing_small) 0;
    display: block;
    height: auto;
    max-width: inherit;
    width: 100%;
}

section * li  {
    margin: 0.3em 0;
}

.ul_in_content {
    padding-inline-start: 30px;
    padding-bottom: 0.3em;
    line-height: var(--default_line_height);
    overflow-wrap: initial;
}

.ul_in_content li::marker { }

/* ===== FOOTER ===== */
/* margin-top = 0 default, adjust if needed */
.site_footer { }

.site_footer section {
    max-width: 1800px;
}

.footer_copyright {
    font-size: var(--fs_small);
    line-height: var(--default_line_height);
}

/* ===== NAVIGATION ===== */
/* Skip Navigation (For keyboard users) */
.skip_nav_link {
    font-size: var(--fs_small);
    text-align: center;
    border-radius: 0 0 0.5em 0.5em;
    padding: 0.25em 0.5em;
    color: rgb(52,56,112);
    background-color: rgb(174,186,200);
}

/* Language Picker navigation */
.language_picker_menu {
    --spacing_language_picker_menu: 0.6rem;
    --spacing_language_picker_menu_small: 0.3rem;
    margin-left: var(--spacing_language_picker_menu);
}

.language_picker_menu li.has_submenu {
    min-width: var(--min_target_size);
}

.language_picker_menu button.main_nav_menu_toggle:has(.main_nav_menu_toggle_arrow_visual_only) {
    width: 100%;
}

/* Language Picker dropdown menu */
.language_picker_dropdown {
    padding: var(--spacing_language_picker_menu);
}

.language_picker_dropdown li {
    padding-bottom: var(--spacing_language_picker_menu);
}

.language_picker_dropdown li:last-of-type {
    padding-bottom: 0;
}

.language_picker_dropdown li a {
    padding: var(--spacing_language_picker_menu_small);
    border: var(--input_border_width) solid transparent;
}

.language_picker_dropdown li a:hover {
    padding: var(--spacing_language_picker_menu_small);
    border-radius: var(--spacing_language_picker_menu_small);
    border: var(--input_border_width) solid rgb(171,210,241);
}

.language_picker_dropdown {
    position: absolute;
    left: var(--min_target_size);
    top: var(--min_target_size);
    transform: translateX(calc(-100% - var(--spacing_language_picker_menu_small)));
    list-style-type: none;
}

/* Breadcrumb */
.breadcrumb {
    font-family: 'Roboto Flex','Arial',sans-serif;
    font-size: var(--fs_small);
    font-weight: normal;
}

/* TODO Melo: simplify CSS, remember this also affects navigation in website, frontoffice and webman! */
/* ===== MAIN NAVIGATION ===== */
/* Main navigation keyboard-friendly */
/* ul */
nav:not(.webman_side_menu) .main_nav_menu {
    max-width: 1800px;
    padding: 0 0.25em;
    margin: 0 auto;
    gap: 0.25rem 1.75rem;
    place-content: center;
    list-style: none;
}

/* li */
.main_nav_menu_item {
    display: inline-block;
    /*font-family: *//*;*/
    min-height: var(--min_target_size);
    vertical-align: middle;
}

/* a (link) */
.main_nav_menu_link {
    position: relative;
    display: inline-block;
    align-content: center;
    min-height: var(--min_target_size);
    vertical-align: inherit;
}

/* toggle menu = span */
.main_nav_menu_toggle {
    display: table-cell;
    cursor: pointer;
    margin: 0;
    padding: 0;
    border: none!important;
    background: none;
    vertical-align: inherit;
}

/* toggle menu = button */
button.main_nav_menu_toggle {
    font-family: inherit;
    font-size: inherit;
    min-height: var(--min_target_size);
}

/* toggle menu = button with arrow = visual only */
button.main_nav_menu_toggle:has(.main_nav_menu_toggle_arrow_visual_only) {
    display: inline-grid;
    grid-template-columns: 1fr calc(0.5 * var(--min_target_size));
    align-items: center;
}

/* arrow */
.main_nav_menu_toggle .main_nav_menu_toggle_arrow {
    display: block;
    place-content: center;
    min-height: var(--min_target_size);
}

/* arrow = button */
.main_nav_menu_toggle .main_nav_menu_toggle_arrow {
    font-size: 0.5em;
    aspect-ratio: 1 / 1;
}

/* arrow = visual only */
.main_nav_menu_toggle .main_nav_menu_toggle_arrow.main_nav_menu_toggle_arrow_visual_only {
    font-size: 0.4em;
    aspect-ratio: auto;
}

/* animate arrow */
.main_nav_menu_toggle[aria-expanded="true"] span.main_nav_menu_toggle_arrow {
    transform: rotate(180deg);
}

/* active links - manually change to desired (bg)color */
.main_nav:not(.mobile_nav) .main_nav_menu_link.active,
.main_nav:not(.mobile_nav) .main_nav_menu_link.active ~ button,
.main_nav:not(.mobile_nav) .main_nav_menu_item:has(.main_nav_submenu_link.active) .main_nav_menu_toggle,
.main_nav:not(.mobile_nav) .main_nav_submenu_link.active {
    color: rgb(171,210,241);
}

/* Submenu ul */
nav.main_nav:not(.mobile_nav) .main_nav_submenu {
    position: absolute;
}

.main_nav_submenu {
    margin: 0;
    padding: 0;
    list-style: none;
    z-index: 999;
}

.main_nav_submenu[hidden] {
    display: none;
}

.main_nav_submenu_link {
    display: block;
    width: 100%;
    min-height: var(--min_target_size);
    padding: 0.15em 0.75rem;
    place-content: center;
}

/* Optioneel: ook openen op hover/focus */
nav.main_nav:not(.mobile_nav) .has_submenu:hover > .main_nav_submenu {
    display: block;
}

nav.main_nav:not(.mobile_nav) .main_nav:not(.mobile_nav) .has_submenu:hover .main_nav_menu_link,
nav.main_nav:not(.mobile_nav) .main_nav:not(.mobile_nav) .has_submenu:hover .main_nav_menu_toggle {
    color: inherit;
    background-color: inherit;
}

@media (prefers-reduced-motion: reduce) {
    .main_nav { transition: none !important; }
}

/* TODO Melo: simplify CSS, remember this also affects navigation in website, frontoffice and webman! */
/* ===== MOBILE NAVIGATION ===== */
/* Mobile navigation keyboard-friendly */
.mobile_nav {
    max-width: calc(100vw - 60px);
}

/* ul */
.mobile_nav .main_nav_menu {
    display: block;
    border-bottom: 1px solid rgba(255,255,255,0.25);
}

/* li */
.mobile_nav .main_nav_menu_item {
    display: -ms-grid;
    display: grid;
    grid-template-columns: 1fr auto;
    border-top: 1px solid rgba(255,255,255,0.25);
}

.mobile_nav .main_nav_menu_item:first-of-type {
    border-top: none;
}

/* links (a / button) */
.mobile_nav .main_nav_menu_link,
.mobile_nav .main_nav_menu_toggle:not(.main_nav_menu_toggle_arrow) .main_nav_menu_toggle,
.mobile_nav .main_nav_menu_toggle:has(.main_nav_menu_toggle_arrow_visual_only) {
    width: 100%;
    place-items: center start;
    padding-left: 0.75rem;
}

/* Mobile - submenu */
.mobile_nav .h2 {
    font-family: 'Exo','Arial',sans-serif;
}

.mobile_nav .main_nav_submenu[hidden] {
    display: none;
}

.mobile_nav .main_nav_submenu {
    position: initial;
    min-inline-size: -moz-min-content;
    min-inline-size: min-content;
    grid-column: 1 / -1;
    background-color: rgba(255,255,255,0.05);
}

.mobile_nav .main_nav_submenu_link {
    padding-left: 1.75rem;
}

.mobile_nav .main_nav_submenu_item {
    border-top: 1px solid rgba(255,255,255,0.2);
}

.mobile_nav .main_nav_submenu_item:first-of-type {
    border-top: none;
}

/* links colors */
.mobile_nav .main_nav_menu_toggle,
.mobile_nav .main_nav_menu_item a,
.mobile_nav a.main_nav_submenu_link {
    color: rgb(255,255,255);
}

.mobile_nav .main_nav_menu_toggle:hover,
.mobile_nav .main_nav_menu_item a:hover,
.mobile_nav a.main_nav_submenu_link:not(.active):hover {
    color: rgb(171,210,241);
}

.mobile_nav .main_nav_menu_item a:not(.main_nav_submenu_link).active,
.mobile_nav .main_nav_menu_link.active,
.mobile_nav .main_nav_menu_link:hover,
.mobile_nav .main_nav_submenu_link:hover,
.mobile_nav .main_nav_menu_item button.main_nav_menu_toggle:hover,
.mobile_nav .main_nav_menu_item:has(.main_nav_submenu_link.active) button.main_nav_menu_toggle {
    background-color: rgba(255,255,255,0.15);
}

.mobile_nav .main_nav_submenu_link.active {
    background-color: rgba(255,255,255,0.25);
}

.mobile_nav .main_nav_menu_item span.main_nav_menu_toggle_arrow:not(.main_nav_menu_toggle_arrow_visual_only) {
    background-color: rgba(255,255,255,0.25);
}

/* Animated hamburger - manually change to desired color */
.hamburger_animated_button {
    --color_menu: rgb(52,56,112);
    background-color: transparent;
    border: none;
}

.hamburger_animated_button:hover {
    --color_menu: rgb(84,88,199);
}

.hamburger-svg-icon {
    width: var(--min_target_size);
    margin: 0 auto;
    display: block;
}

/* ===== OTHER ===== */
.fontsize_larger {
    font-size: 125%;
}

.fontsize_smaller {
    font-size: 90%;
}

.icon:before {
    vertical-align: middle;
}

.icon_margin_right:before {
    margin-right: calc(0.5 * var(--default_spacing_small));
}

.icon_margin_left:before {
    margin-left: calc(0.5 * var(--default_spacing_small));
}

.blur {
    -webkit-filter: blur(1.25rem) grayscale(50%);
    filter: blur(1.25rem) grayscale(50%);
}

.border_bottom_e {
    border-bottom: 1px solid rgb(236,240,242);
}

.border_bottom_gray {
    border-bottom: 1px solid rgb(174,186,200);
}

.border_gray {
    border: 1px solid rgb(174,186,200);
}

.border_none {
    border: none;
}

.disabled,
:disabled {
    opacity: 0.3;
    cursor: initial!important;
}

dt {
    width: 30%;
    font-weight: var(--fw_bold);
}

dd {
    width: 70%;
}

.error404 {
    background-image: url("https://www.northseaporttalent.eu/resources_shared/img/error-404.png");
    background-repeat: no-repeat;
    background-position: left center;
    background-size: cover;

    font-size: var(--fs_x_large);
    font-weight: normal;
    text-align: center;
    margin: var(--default_spacing);
    padding: var(--default_spacing);
}

.grid_col1,
.grid_col2,
.grid_col3,
.grid_col4,
.grid_col5,
.grid_col25_75,
.grid_col75_25,
.grid_col33_67,
.grid_col67_33 {
    gap: var(--default_spacing);
}

.img_align_left,
.img_align_right {
    width: 40%;
    min-width: 10em;
}

.img_align_small {
    width: 25%;
}

/* File upload */
.file_upload_file_name {
    word-break: break-all;
}

.file_upload_file_indicator {
    width: 1.5em;
    color: rgb(174,186,200);
}

.file_upload_progress_container {
    width: calc(100% - 1.5em);
}

.file_upload_file_progress {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    inline-size: auto;
    height: 0.5em;
    border-radius: 1em;
    overflow: hidden;
}

.file_upload_file_progress::-webkit-progress-value {
    background-color: rgb(52,56,112);
}

.file_upload_file_progress[value]::-moz-progress-bar {
    background-color: rgb(52,56,112);
}

.file_upload_file_progress[value]::-webkit-progress-bar {
    background-color: rgb(174,186,200);
}

/* Tooltip */
/* Question mark behind label name */
label.tooltip_trigger:after {
    content: '?';
    display: inline-block;
    width: 1.2rem;
    height: 1.2rem;
    font-family: 'Roboto Flex','Arial',sans-serif;
    font-size: var(--fs_small);
    text-align: center;
    color: rgb(255,255,255);
    background-color: rgb(52,56,112);
    border-radius: 50%;
}

label.tooltip_trigger:hover:after {
    background-color: rgb(84,88,199);
}

/* Tooltip content container */
.tooltip {
    position: absolute;
    top: 0;
    left: 0;
    min-height: 10em;
    min-width: 20em;
    max-width: 50vw;
    color: rgb(52,56,112);
    background-color: rgb(174,186,200);
    box-shadow: var(--box_shadow_large);
    border-radius: var(--border_radius);
    overflow: hidden;
    resize: both;
    z-index: 999;
}

.tooltip_content {
    height: 100%;
    padding: var(--default_spacing_small);
    overflow: auto;
}

.tooltip_header {
    height: 3rem;
    cursor: move;
}

.tooltip_close {
    display: none;
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 3rem;
    height: 3rem;
    padding-top: 1em;
    text-align: center;
    color: rgb(255,255,255);
    cursor: pointer;
}

.tooltip_manually_activated {
    color: rgb(255,255,255);
    background-color: rgb(56,56,59);
}

.tooltip_manually_activated .tooltip_close {
    display: inline-block;
}

.tooltip_manually_activated .tooltip_content {
    overflow: auto;
}

:has(> .visually_hidden) {
    position: relative;
}

.visually_hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    overflow: hidden;
}

/* ===== FRONTOFFICE & WEBMAN ONLY ===== */
.dashboard-category-icon-container:hover {
    background-color: rgba(174,186,200,0.35);
}

.custom_margin_left {
    margin-left: 1.625rem;
}

/* ===== 3RD PARTY ===== */
/* UI Datepicker */
.ui-datepicker {
    background-color: rgb(255,255,255);
    padding: 0.4em;
    margin-left: 0.2em;
    display: none;
}

.ui-datepicker select {
    margin-bottom: 0.2em;
}

.ui-datepicker a.ui-state-default {
    color: rgb(52,56,112);
}

.ui-datepicker a.ui-state-active,
.ui-datepicker a.ui-state-default:hover {
    text-decoration: underline;
}

.ui-datepicker-prev {
    float: left;
    background-position: center -30px;
}

.ui-datepicker-next {
    float: right;
    background-position: center 0;
}

/* Bootbox */
.modal-footer .btn {
    margin: 0;
    border: var(--input_border_width) solid rgb(52,56,112);
    background-color: rgb(255,255,255);
}

.modal-footer .btn:hover {
    border: var(--input_border_width) solid rgb(84,88,199);
    color: rgb(255,255,255);
    background-color: rgb(84,88,199);
}

.modal-footer .btn.icon:before {
    margin-right: 0.4em;
}

h4.modal-title {
    margin: 0;
    padding: 0;
    font-size: 1.1em;
    font-weight: normal;
}

.bootbox-close-button {
    --button_padding: 0.3em;
    --button_fontsize: 1rem;
    border-radius: 50%;
    padding: var(--button_padding) 0;
    width: calc((var(--button_fontsize) + (2 * var(--button_padding))) + 0.125em);
    height: calc((var(--button_fontsize) + (2 * var(--button_padding))) + 0.125em);
    line-height: 1;
    margin: 0;
    color: rgb(52,56,112);
    border: var(--input_border_width) solid rgb(174,186,200);
    background-color: rgb(174,186,200);
}

.bootbox-close-button:hover {
    color: rgb(255,255,255);
    border: var(--input_border_width) solid rgb(84,88,199);
    background-color: rgb(84,88,199);
}

.close {
    float: right;
}

.btn-primary,
.btn.bootbox-accept {
    color: rgb(255,255,255);
    border: var(--input_border_width) solid rgb(52,56,112);
    background-color: rgb(52,56,112);
}

.btn-primary:hover,
.btn.bootbox-accept:hover {
    color: rgb(255,255,255);
    border: var(--input_border_width) solid rgb(84,88,199);
    background-color: rgb(84,88,199);
}

.bootbox-body a {
    text-decoration: underline;
}
/* ===== STANDARD FORM ===== */
form {
    padding: var(--default_spacing_small) 0;
    text-align: left;
}

form > div {
    margin: 0 0 0.6em 0;
    /*overflow: hidden;*/
}

form > div > fieldset > div > div {
    margin: 0 0 0.3em 0;
}

.inputrow_label {
    width: 25%;
    float: left;
    padding-right: 1.25em;
    /*padding-top: var(--default_spacing_small);*/
}

.inputrow_input {
    width: 75%;
    float: right;
}

fieldset {
    border: 0;
    padding: 0;
}

label {
    margin: var(--default_spacing_small) 0;
    padding: 0;
    position:relative;
}

.datatable-noclick:not(th) {
    pointer-events: none;
    cursor: default;
}

.datatable-noclick input[type=checkbox],
.datatable-noclick a,
.datatable-noclick span {
    pointer-events: all;
    cursor: pointer;
    display: inline-block;
}

/* ===== STANDARD INPUTS ===== */
/* Removes all browser styles */
input[type=text]:not(:focus-visible),
input[type=search]:not(:focus-visible),
input[type=number]:not(:focus-visible),
input[type=email]:not(:focus-visible),
input[type=tel]:not(:focus-visible),
input[type=url]:not(:focus-visible),
input[type=file]:not(:focus-visible),
input[type=password]:not(:focus-visible),
input[type=reset]:not(:focus-visible),
input[type=submit]:not(:focus-visible),
input[type=button]:not(:focus-visible),
textarea:not(:focus-visible),
select,
.btn:not(:focus-visible),
.button:not(:focus-visible) {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
}

/* Removes IE select arrows */
select::-ms-expand {
    display: none;
}

input[type=text],
input[type=search],
input[type=number],
input[type=email],
input[type=tel],
input[type=url],
input[type=file],
input[type=password],
select,
textarea {
    --input_padding: calc( (var(--min_height_input) / 2) - var(--input_fontsize)) 1rem;
    padding: var(--input_padding);
}

textarea {
    height: 7.5em;
}

input[type=file] {
    --input_fontsize: 0.8rem;
}

input[type=text],
input[type=search],
input[type=email],
input[type=tel],
input[type=url],
input[type=file],
input[type=password],
textarea,
select {
    width: 100%;
}

input[type=submit],
input[type=reset],
.button,
.btn,
input[type=button] {
    cursor: pointer;
    text-decoration: none;
}

input[type=text]:focus:not(:focus-visible),
input[type=search]:focus:not(:focus-visible),
input[type=email]:focus:not(:focus-visible),
input[type=url]:focus:not(:focus-visible),
input[type=password]:focus:not(:focus-visible),
textarea:focus:not(:focus-visible),
select:focus:not(:focus-visible) {
    outline: 0;
}

.inputrow {
    display: -webkit-box;		/* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-box;			/* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox;		/* TWEEN - IE 10 */
    display: -webkit-flex;		/* NEW - Chrome */
    display: flex;				/* NEW, Spec - Opera 12.1, Firefox 20+ */

    -webkit-flex-direction: row;
    flex-direction: row;

    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;

    -webkit-justify-content: flex-start;
    justify-content: flex-start;

    -webkit-align-items: stretch;
    align-items: stretch;
}

* .display_none {
    display: none !important;
}

.inputrow_unit {
    width: auto;
    margin-left: 0.9em;
}

.inputrow_input {
    position: relative;
    -webkit-box-flex: 2;    /* OLD - iOS 6-, Safari 3.1-6 */
    -moz-box-flex: 2;	    /* OLD - Firefox 19- */
    -ms-flex: 2;	        /* IE 10 */
    -webkit-flex: 2;	    /* NEW - Chrome */
    flex: 2;	            /* NEW, Spec - Opera 12.1, Firefox 20+ */
}

.input_decimal .inputrow,
.input_date .inputrow,
.input_time .inputrow {
    display: inline-block;
    margin-bottom: 0;
}

.input_decimal input[type=number],
.input_date select,
.input_time select {
    width: auto;
}

input::-ms-clear {
    display: none;
}

/* FANCY CHECKBOXES AND RADIO */
div.fancy_input_container {
    margin: var(--default_spacing_small) 0;
    position: relative;
    line-height: var(--default_line_height);
    height: 20px;
}

/* hides the original input, but keeps the functionality */
.fancy_input_container input[type="checkbox"],
.fancy_input_container input[type="radio"] {
    position: absolute;
    visibility: hidden;
}
/* creates space for new input, moves label text to the right */
.fancy_input_container label {
    display: block;
    position: relative;

    padding-left: 25px;
    font-size: 0.9rem;
    margin: 0;

    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}
/* draws new input type */
.fancy_input_container input[type="checkbox"] + span:before,
.fancy_input_container input[type="radio"] + span:before {
    content: '';
    display: block;
    width: 14px;
    height: 14px;
    position: absolute;
    left: 0;
    top: 0;
}

.fancy_input_container input[type="checkbox"] + span:before {
    -webkit-transition: all .12s, border-color .08s;
    transition: all .12s, border-color .08s;
}

.fancy_input_container input[type="radio"] + span:before {
    background-color: rgb(255,255,255);
    border-radius: 50%;
}
/* animates new input types on :checked state */
.fancy_input_container input[type="checkbox"]:checked + span:before {
    width: 7px;
    top: -4px;
    left: 4px;
    border-radius: 0;
    border-top-color: transparent;
    border-left-color: transparent;
    transform: rotate(45deg);
}

.fancy_input_container input[type="radio"]:checked + span:before {
    -webkit-transition: background-color 0.3s linear;
    -o-transition: background-color 0.3s linear;
    -moz-transition: background-color 0.3s linear;
    transition: background-color 0.3s linear;
}

/*  ===== BACK TO TOP BUTTON =====  */
.button.back_to_top_button {
    display: -ms-grid;
    display: grid;
    place-content: center;
    width: 4rem;
    height: 4rem;
    padding: var(--button_padding);
    border-radius: 50%;
    /*cursor: initial;*/
    opacity: 0;
    -webkit-transition: all var(--animate_duration) linear;
    transition: all var(--animate_duration) linear;
    z-index: 33;
}

.button.back_to_top_button:hover {
    transform: translateY(-0.5rem);
}

/* ===== ICONS & ERROR MESSAGES ===== */
.icon-input-ok,
.icon-input-nok,
.icon-input-required {
    position: absolute;
    top: calc( ((var(--min_height_input) / 2 ) - (var(--icon_form_validation_fontsize) / 2)) );
    right: calc( ( ((var(--min_height_input) / 2 ) - var(--input_fontsize)) + (var(--icon_form_validation_fontsize) / 2) ) );
    font-size: var(--icon_form_validation_fontsize);
    z-index: 1;
}

.icon-input-ok {
    color: var(--color_valid);
}

.icon-input-nok {
    color: var(--color_invalid);
}

.icon-input-required {
    color: rgb(253,88,143);
}

.input-valid {
    border-color: var(--color_valid);
}

.input-invalid {
    border-color: var(--color_invalid);
}

/* IE11 FIX, if flex-direction: column, then we need flex-basis auto! */
.internet_explorer_trident .inputrow_input {
    -ms-flex: 2 0 auto;	    /* IE 10 */
    -webkit-flex: 2 0 auto;	/* NEW - Chrome */
    flex: 2 0 auto;	        /* NEW, Spec - Opera 12.1, Firefox 20+ */
    flex-basis: auto;
}

.internet_explorer_trident [class*=flex_] {
    flex-basis: auto;
}

/* ===== FORM SPECIFIC MEDIA QUERIES ===== */
@media (min-width: 1200px) {

    form > div > label {
        text-align: right;
    }

}

@media (max-width: 600px) {
    form > div,
    .inputrow_label {
        margin: 0 0 0.3em 0;
    }

    .inputrow_input,
    .inputrow_label {
        float: none;
        width: 100%;
    }

    .inputrow {
        -webkit-flex-direction: column;
        flex-direction: column;
    }

    input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]),
    textarea,
    select {
        font-size: var(--input_fontsize);
    }

}

:root {
    /* Colors */
    --color_valid: #507A49;
    --color_invalid: #E02646;
    --focus_color: rgb(84,88,199);

    /* Inputs */
    --input_border_width: 2px;
    --min_height_input: 48px;
    --input_fontsize: 1rem;
    --border_radius_input: 24px;
    --icon_form_validation_fontsize: 0.6rem;

    /* Buttons */
    --button_border_width: 2px;
    --button_fontsize: 0.9375rem;
    /*--button_padding: 0.6875em;*/
    --button_padding: 0.75em;
    --border_radius_button: 2rem;
}

:focus-visible {
    outline: 2px solid var(--focus_color);
    outline-offset: 1px;
    box-shadow: 0 0 0 4px rgb(255,255,255);
}


/* ===== STANDARD FORM ===== */
form > div > label {
    font-size: var(--fs_small);
}

/* ===== STANDARD INPUTS ===== */
input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]):not([type=reset]),
textarea,
select {
    font-family: 'Roboto Flex','Arial',sans-serif;
    font-size: var(--input_fontsize);
    min-height: var(--min_height_input);
    min-width: 90px;
    margin: 0.15em 0;
    border-radius: var(--border_radius_input);
}

input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]):not([type=reset]) {
    /*height: var(--min_height_input);*/
}

.min_height_input,
.min_height_input > * {
    line-height: var(--default_line_height);
    min-height: var(--min_height_input);
}

.min_height_input {
    --input_padding: calc( (var(--min_height_input) / 2) - var(--input_fontsize));
    padding-top: var(--input_padding);
}

.placeholder,
::placeholder {
    color: rgba(56,56,59,0.5);
}

/* For future reference
input:focus:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]),
textarea:focus,
select:focus { }*/

input[readonly]:disabled,
input[readonly]:focus,
input[readonly] {
    color: rgba(56,56,59,0.5);
    border: var(--input_border_width) solid rgb(174,186,200);
}

input[readonly]:hover {
    cursor: default;
}

.inputrow_unit {
    font-size: inherit;
}

.inputrow_label {
    font-size: inherit;
    max-width: 300px;
}

label {
    font-family: 'Roboto Flex','Arial',sans-serif;
    line-height: var(--default_line_height);
}

.file-input-info {
    margin: var(--default_spacing_small) 0;
}

.file-input-info img {
    max-width: 300px;
}

/* ===== CUSTOM INPUTS ===== */
/* Chrome autofill - Change the white to any color */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active  {
    -webkit-box-shadow: 0 0 0 2rem rgb(255,255,255) inset !important;
}

.inputs_horizontal {
    margin: 0 0 0.6em 0;
}

.inputs_horizontal .inputrow {
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    margin-right: var(--default_spacing_small);
}

.inputs_horizontal .inputrow:last-of-type {
    margin-right: 0;
}

.inputs_horizontal label,
.inputs_horizontal .inputrow_input {
    width: auto;
}

.inputs_horizontal .button {
    display: -ms-grid;
    display: grid;
    -webkit-align-content: center;
    align-content: center;
    -webkit-align-self: flex-end;
    align-self: flex-end;
    height: var(--min_height_input);
    margin: 0.15em 0;
}

.seperator {
    opacity: 0.8;
    padding: 0 var(--default_spacing_small);
}


/* STANDARD BUTTONS */
.button,
.btn,
input[type=button],
input[type=reset],
input[type=submit] {
    --fw_regular: 500;
    padding: var(--button_padding) calc(1.5 * var(--button_padding));
    border: var(--button_border_width) solid transparent;
    border-radius: var(--border_radius_button);

    font-family: 'Roboto Flex','Arial',sans-serif;
    font-size: var(--button_fontsize);
    font-weight: var(--fw_regular);
    text-align: center;

    -webkit-transition: background-color var(--animate_duration) ease, border var(--animate_duration) ease;
    transition: background-color var(--animate_duration) ease, border var(--animate_duration) ease;
}

/* CUSTOM BUTTONS */
.button.button_with_icon,
.btn.button_with_icon,
input[type=button].button_with_icon,
input[type=reset].button_with_icon,
input[type=submit].button_with_icon {
    display: inline-flex;
    align-items: center;
}

.button.button_with_icon:before,
.btn.button_with_icon:before,
input[type=button].button_with_icon:before,
input[type=reset].button_with_icon:before,
input[type=submit].button_with_icon:before {
    font-size: var(--fs_medium);
    vertical-align: middle;
}

.button.smaller,
.btn.smaller,
input[type=button].smaller,
input[type=reset].smaller,
input[type=submit].smaller {
    --button_fontsize: 0.8rem;
    --button_padding: 0.3rem;
}

.button.larger,
.btn.larger,
input[type=button].larger,
input[type=reset].larger,
input[type=submit].larger {
    --button_fontsize: 1.3rem;
    --button_padding: 1rem;
    font-weight: var(--fw_bold);
    padding: var(--button_padding) calc(3 * var(--button_padding));
}

.button.smaller.button_with_icon:before,
.btn.smaller.button_with_icon:before,
input[type=button].smaller.button_with_icon:before,
input[type=reset].smaller.button_with_icon:before,
input[type=submit].smaller.button_with_icon:before {
    --fs_medium: 1.2rem;
}

.button.larger.button_with_icon:before,
.btn.larger.button_with_icon:before,
input[type=button].larger.button_with_icon:before,
input[type=reset].larger.button_with_icon:before,
input[type=submit].larger.button_with_icon:before {
    --fs_medium: 1.6rem;
}

.button.button_secondary,
.btn.button_secondary,
input[type=button].button_secondary,
input[type=reset].button_secondary,
input[type=submit].button_secondary {
    border: var(--button_border_width) solid rgb(52,56,112);
    color: rgb(52,56,112);
    background-color: rgb(255,255,255);
}

.button.button_secondary:hover,
.btn.button_secondary:hover,
input[type=button].button_secondary:hover,
input[type=reset].button_secondary:hover,
input[type=submit].button_secondary:hover {
    border: var(--button_border_width) solid rgb(84,88,199);
    color: rgb(84,88,199);
    background-color: rgb(236,240,242);
}

.button {
    display: inline-block;
}

.button.display_block {
    display: block;
}

button.button_no_styling,
button.button_no_styling:hover {
    border: none;
    background-color: unset;
}

button.button_no_styling {
    color: rgb(52,56,112);
}

button.button_no_styling:hover {
    color: rgb(84,88,199);
    cursor: pointer;
}

/* Change --button_padding to same size (horizontal only) as custom button above */
.button.button_round,
.btn.button_round,
input[type=button].button_round,
input[type=reset].button_round,
input[type=submit].button_round {
    --button_fontsize: 1rem;
    border-radius: 50%;
    padding: var(--button_padding) 0;
    width: calc((var(--button_fontsize) + (2 * var(--button_padding))) + 0.125em);
    height: calc((var(--button_fontsize) + (2 * var(--button_padding))) + 0.125em);
    display: -ms-grid;
    display: grid;
    place-content: center;
}

/* CUSTOM SELECT */
select {
    background-image: url("https://www.northseaporttalent.eu/resources_shared/img/custom-select-icon.png");
    background-position-x: 99%;
    background-position-y: 50%;
    background-repeat: no-repeat;
}

/* ICONS & ERROR MESSAGES */
.default_error_message ul {
    list-style: none;
}

.error_message,
.error_message_row li {
    padding: var(--default_spacing);
    margin-bottom: var(--default_spacing_small);
    border-radius: var(--border_radius);
    background-color: rgba(253,88,143,0.5);
}

.error_message.bg_a {
    background-color: rgb(253,88,143);
}

.error_message ul {
    list-style: none;
    padding: calc(var(--default_spacing) * 0.5) calc(var(--default_spacing) * 2);
}

ul.error_message_row {
    list-style: none;
    padding: 0;
}

p:has(+ ul.error_message_row) {
    margin-top: var(--default_spacing_small);
    color: rgb(253,88,143);
}

/* Inputs - Extra information */
.input-with-suggestions-suggestions-container {
    max-height: 14rem;
    overflow-y: scroll;
}

.input-with-suggestions-container.border_bottom_e:last-of-type {
    border-bottom: none;
}

.hidden-suggestion-item {
    padding: 0.5em 1em 0.25em 1em;
    border-bottom: 1px solid rgba(255,255,255,0.5);
}

.hidden-suggestion-item:first-of-type {
    border-radius: var(--border_radius_input) var(--border_radius_input) 0 0;
}

.hidden-suggestion-item:last-of-type {
    border-radius: 0 0 var(--border_radius_input) var(--border_radius_input);
}

/* ===== WCAG TESTING ===== */
.wrapper_wcag_input {
    --wcag_input_size: 24px;
    --wcag_label_fontsize: 0.9rem;
    --wcag_input_border_width: var(--button_border_width);
    --wcag_input_radio_selection_size_factor: 0.5;
    position: relative;
    margin: 0.3em 0;
}

.wrapper_wcag_input input {
    position: absolute;
    width: calc(var(--wcag_input_size) + var(--wcag_input_border_width));
    height: calc(var(--wcag_input_size) + var(--wcag_input_border_width));
    opacity: 0;
}

.wrapper_wcag_input label {
    position: relative;
    display: block;
    font-size: var(--wcag_label_fontsize);
    line-height: var(--default_line_height);
    /*padding: calc((((var(--default_line_height) - 1) * (var(--wcag_input_size))) - var(--wcag_label_fontsize)) / 2 + var(--wcag_input_border_width)) 0 calc((var(--wcag_input_size) - var(--wcag_label_fontsize)) / 2 + var(--wcag_input_border_width)) calc(var(--wcag_input_size) + (6 * var(--wcag_input_border_width)));*/
    padding-top: calc((((var(--default_line_height) - 1) * (var(--wcag_input_size))) - var(--wcag_label_fontsize)) / 2 + var(--wcag_input_border_width));
    padding-right: 0;
    padding-bottom: calc((var(--wcag_input_size) - var(--wcag_label_fontsize)) / 2 + var(--wcag_input_border_width));
    padding-left: calc(var(--wcag_input_size) + (6 * var(--wcag_input_border_width)));
    margin: 0;
    border-color: inherit;
    -ms-user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    user-select: none;
    cursor: pointer;
}

.wrapper_wcag_input input + label:before {
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: var(--wcag_input_size);
    height: var(--wcag_input_size);
    border: var(--wcag_input_border_width);
    border-style: solid;
    border-color: inherit;
}

.wrapper_wcag_input input + label:after {
    position: absolute;
    content: '';
    transition: opacity var(--animate_duration) ease-in-out;
    opacity: 0;
}

.wrapper_wcag_input input[type="checkbox"] + label:after {
    top: calc(0.15 * var(--wcag_input_size));
    left: calc(0.425 * var(--wcag_input_size));
    width: calc(0.2 * var(--wcag_input_size));
    height: calc(0.6 * var(--wcag_input_size));
    border: calc(1.5 * var(--wcag_input_border_width));
    border-style: solid;
    border-color: inherit;
    border-left: 0;
    border-top: 0;
    transform-origin: center;
    transform: rotate(45deg);
}

.wrapper_wcag_input input[type="radio"] + label:before {
    border-radius: 50%;
}

.wrapper_wcag_input input[type="radio"] + label:after {
    top: calc(((var(--wcag_input_size) + (var(--wcag_input_border_width) * 2)) - ((var(--wcag_input_size) + (var(--wcag_input_border_width) * 2)) * var(--wcag_input_radio_selection_size_factor))) /2);
    left: calc(((var(--wcag_input_size) + (var(--wcag_input_border_width) * 2)) - ((var(--wcag_input_size) + (var(--wcag_input_border_width) * 2)) * var(--wcag_input_radio_selection_size_factor))) /2);
    border: calc(((var(--wcag_input_size) + (var(--wcag_input_border_width) * 2)) / 2) * var(--wcag_input_radio_selection_size_factor));

    border-style: solid;
    border-color: inherit;
    border-radius: 50%;
}

.wrapper_wcag_input input:checked + label:after {
    opacity: 1;
}

.wrapper_wcag_input input[type="radio"]:checked + label:after {
    opacity: 1;
}

.wrapper_wcag_input input:focus-visible + label:before {
    outline: 2px solid var(--focus_color);
    outline-offset: 1px;
    box-shadow: 0 0 0 4px rgb(255,255,255);
}

.inputrow_input:has(span.icon-form-validation) .wrapper_wcag_input label {
    width: calc(100% - var(--icon_form_validation_fontsize) - var(--default_spacing));
}


/*
 * This combined file was created by the DataTables downloader builder:
 *   https://datatables.net/download
 *
 * To rebuild or modify this file with the latest versions of the included
 * software please visit:
 *   https://datatables.net/download/#dt/dt-1.10.18/r-2.2.2
 *
 * Included libraries:
 *   DataTables 1.10.18, Responsive 2.2.2
 */

table.dataTable{width:100%;margin:0 auto;clear:both;border-collapse:separate;border-spacing:0}table.dataTable thead th,table.dataTable tfoot th{font-weight:bold}table.dataTable thead th,table.dataTable thead td{padding:10px 18px;border-bottom:1px solid #111}table.dataTable thead th:active,table.dataTable thead td:active{outline:none}table.dataTable tfoot th,table.dataTable tfoot td{padding:10px 18px 6px 18px;border-top:1px solid #111}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{cursor:pointer;*cursor:hand;background-repeat:no-repeat;background-position:center right}table.dataTable thead .sorting{background-image:url("DataTables-1.10.18/images/sort_both.png")}table.dataTable thead .sorting_asc{background-image:url("DataTables-1.10.18/images/sort_asc.png")}table.dataTable thead .sorting_desc{background-image:url("DataTables-1.10.18/images/sort_desc.png")}table.dataTable thead .sorting_asc_disabled{background-image:url("DataTables-1.10.18/images/sort_asc_disabled.png")}table.dataTable thead .sorting_desc_disabled{background-image:url("DataTables-1.10.18/images/sort_desc_disabled.png")}table.dataTable tbody tr{background-color:#ffffff}table.dataTable tbody tr.selected{background-color:#B0BED9}table.dataTable tbody th,table.dataTable tbody td{padding:8px 10px}table.dataTable.row-border tbody th,table.dataTable.row-border tbody td,table.dataTable.display tbody th,table.dataTable.display tbody td{border-top:1px solid #ddd}table.dataTable.row-border tbody tr:first-child th,table.dataTable.row-border tbody tr:first-child td,table.dataTable.display tbody tr:first-child th,table.dataTable.display tbody tr:first-child td{border-top:none}table.dataTable.cell-border tbody th,table.dataTable.cell-border tbody td{border-top:1px solid #ddd;border-right:1px solid #ddd}table.dataTable.cell-border tbody tr th:first-child,table.dataTable.cell-border tbody tr td:first-child{border-left:1px solid #ddd}table.dataTable.cell-border tbody tr:first-child th,table.dataTable.cell-border tbody tr:first-child td{border-top:none}table.dataTable.stripe tbody tr.odd,table.dataTable.display tbody tr.odd{background-color:#f9f9f9}table.dataTable.stripe tbody tr.odd.selected,table.dataTable.display tbody tr.odd.selected{background-color:#acbad4}table.dataTable.hover tbody tr:hover,table.dataTable.display tbody tr:hover{background-color:#f6f6f6}table.dataTable.hover tbody tr:hover.selected,table.dataTable.display tbody tr:hover.selected{background-color:#aab7d1}table.dataTable.order-column tbody tr>.sorting_1,table.dataTable.order-column tbody tr>.sorting_2,table.dataTable.order-column tbody tr>.sorting_3,table.dataTable.display tbody tr>.sorting_1,table.dataTable.display tbody tr>.sorting_2,table.dataTable.display tbody tr>.sorting_3{background-color:#fafafa}table.dataTable.order-column tbody tr.selected>.sorting_1,table.dataTable.order-column tbody tr.selected>.sorting_2,table.dataTable.order-column tbody tr.selected>.sorting_3,table.dataTable.display tbody tr.selected>.sorting_1,table.dataTable.display tbody tr.selected>.sorting_2,table.dataTable.display tbody tr.selected>.sorting_3{background-color:#acbad5}table.dataTable.display tbody tr.odd>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd>.sorting_1{background-color:#f1f1f1}table.dataTable.display tbody tr.odd>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd>.sorting_2{background-color:#f3f3f3}table.dataTable.display tbody tr.odd>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd>.sorting_3{background-color:whitesmoke}table.dataTable.display tbody tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_1{background-color:#a6b4cd}table.dataTable.display tbody tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_2{background-color:#a8b5cf}table.dataTable.display tbody tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_3{background-color:#a9b7d1}table.dataTable.display tbody tr.even>.sorting_1,table.dataTable.order-column.stripe tbody tr.even>.sorting_1{background-color:#fafafa}table.dataTable.display tbody tr.even>.sorting_2,table.dataTable.order-column.stripe tbody tr.even>.sorting_2{background-color:#fcfcfc}table.dataTable.display tbody tr.even>.sorting_3,table.dataTable.order-column.stripe tbody tr.even>.sorting_3{background-color:#fefefe}table.dataTable.display tbody tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_1{background-color:#acbad5}table.dataTable.display tbody tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_2{background-color:#aebcd6}table.dataTable.display tbody tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_3{background-color:#afbdd8}table.dataTable.display tbody tr:hover>.sorting_1,table.dataTable.order-column.hover tbody tr:hover>.sorting_1{background-color:#eaeaea}table.dataTable.display tbody tr:hover>.sorting_2,table.dataTable.order-column.hover tbody tr:hover>.sorting_2{background-color:#ececec}table.dataTable.display tbody tr:hover>.sorting_3,table.dataTable.order-column.hover tbody tr:hover>.sorting_3{background-color:#efefef}table.dataTable.display tbody tr:hover.selected>.sorting_1,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_1{background-color:#a2aec7}table.dataTable.display tbody tr:hover.selected>.sorting_2,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_2{background-color:#a3b0c9}table.dataTable.display tbody tr:hover.selected>.sorting_3,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_3{background-color:#a5b2cb}table.dataTable.no-footer{border-bottom:1px solid #111}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}table.dataTable.compact thead th,table.dataTable.compact thead td{padding:4px 17px 4px 4px}table.dataTable.compact tfoot th,table.dataTable.compact tfoot td{padding:4px}table.dataTable.compact tbody th,table.dataTable.compact tbody td{padding:4px}table.dataTable th.dt-left,table.dataTable td.dt-left{text-align:left}table.dataTable th.dt-center,table.dataTable td.dt-center,table.dataTable td.dataTables_empty{text-align:center}table.dataTable th.dt-right,table.dataTable td.dt-right{text-align:right}table.dataTable th.dt-justify,table.dataTable td.dt-justify{text-align:justify}table.dataTable th.dt-nowrap,table.dataTable td.dt-nowrap{white-space:nowrap}table.dataTable thead th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable tfoot td.dt-head-left{text-align:left}table.dataTable thead th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable tfoot td.dt-head-center{text-align:center}table.dataTable thead th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable tfoot td.dt-head-right{text-align:right}table.dataTable thead th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable tfoot td.dt-head-justify{text-align:justify}table.dataTable thead th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable tfoot td.dt-head-nowrap{white-space:nowrap}table.dataTable tbody th.dt-body-left,table.dataTable tbody td.dt-body-left{text-align:left}table.dataTable tbody th.dt-body-center,table.dataTable tbody td.dt-body-center{text-align:center}table.dataTable tbody th.dt-body-right,table.dataTable tbody td.dt-body-right{text-align:right}table.dataTable tbody th.dt-body-justify,table.dataTable tbody td.dt-body-justify{text-align:justify}table.dataTable tbody th.dt-body-nowrap,table.dataTable tbody td.dt-body-nowrap{white-space:nowrap}table.dataTable,table.dataTable th,table.dataTable td{box-sizing:content-box}.dataTables_wrapper{position:relative;clear:both;*zoom:1;zoom:1}.dataTables_wrapper .dataTables_length{float:left}.dataTables_wrapper .dataTables_filter{float:right;text-align:right}.dataTables_wrapper .dataTables_filter input{margin-left:0.5em}.dataTables_wrapper .dataTables_info{clear:both;float:left;padding-top:0.755em}.dataTables_wrapper .dataTables_paginate{float:right;text-align:right;padding-top:0.25em}.dataTables_wrapper .dataTables_paginate .paginate_button{box-sizing:border-box;display:inline-block;min-width:1.5em;padding:0.5em 1em;margin-left:2px;text-align:center;text-decoration:none !important;cursor:pointer;*cursor:hand;color:#333 !important;border:1px solid transparent;border-radius:2px}.dataTables_wrapper .dataTables_paginate .paginate_button.current,.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{color:#333 !important;border:1px solid #979797;background-color:white;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(100%, #dcdcdc));background:-webkit-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-moz-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-ms-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-o-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:linear-gradient(to bottom, #fff 0%, #dcdcdc 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active{cursor:default;color:#666 !important;border:1px solid transparent;background:transparent;box-shadow:none}.dataTables_wrapper .dataTables_paginate .paginate_button:hover{color:white !important;border:1px solid #111;background-color:#585858;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111));background:-webkit-linear-gradient(top, #585858 0%, #111 100%);background:-moz-linear-gradient(top, #585858 0%, #111 100%);background:-ms-linear-gradient(top, #585858 0%, #111 100%);background:-o-linear-gradient(top, #585858 0%, #111 100%);background:linear-gradient(to bottom, #585858 0%, #111 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button:active{outline:none;background-color:#2b2b2b;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c));background:-webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);box-shadow:inset 0 0 3px #111}.dataTables_wrapper .dataTables_paginate .ellipsis{padding:0 1em}.dataTables_wrapper .dataTables_processing{position:absolute;top:50%;left:50%;width:100%;height:40px;margin-left:-50%;margin-top:-25px;padding-top:20px;text-align:center;font-size:1.2em;background-color:white;background:-webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255,255,255,0)), color-stop(25%, rgba(255,255,255,0.9)), color-stop(75%, rgba(255,255,255,0.9)), color-stop(100%, rgba(255,255,255,0)));background:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-ms-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-o-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%)}.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_processing,.dataTables_wrapper .dataTables_paginate{color:#333}.dataTables_wrapper .dataTables_scroll{clear:both}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody{*margin-top:-1px;-webkit-overflow-scrolling:touch}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>td,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>td{vertical-align:middle}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>td>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>td>div.dataTables_sizing{height:0;overflow:hidden;margin:0 !important;padding:0 !important}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:1px solid #111}.dataTables_wrapper.no-footer div.dataTables_scrollHead table.dataTable,.dataTables_wrapper.no-footer div.dataTables_scrollBody>table{border-bottom:none}.dataTables_wrapper:after{visibility:hidden;display:block;content:"";clear:both;height:0}@media screen and (max-width: 767px){.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{float:none;text-align:center}.dataTables_wrapper .dataTables_paginate{margin-top:0.5em}}@media screen and (max-width: 640px){.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter{float:none;text-align:center}.dataTables_wrapper .dataTables_filter{margin-top:0.5em}}

table.dataTable.dtr-inline.collapsed>tbody>tr>td.child,table.dataTable.dtr-inline.collapsed>tbody>tr>th.child,table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty{cursor:default !important}table.dataTable.dtr-inline.collapsed>tbody>tr>td.child:before,table.dataTable.dtr-inline.collapsed>tbody>tr>th.child:before,table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty:before{display:none !important}table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>td:first-child,table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>th:first-child{position:relative;padding-left:30px;cursor:pointer}table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>td:first-child:before,table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>th:first-child:before{top:9px;left:4px;height:14px;width:14px;display:block;position:absolute;color:white;border:2px solid white;border-radius:14px;box-shadow:0 0 3px #444;box-sizing:content-box;text-align:center;text-indent:0 !important;font-family:'Courier New', Courier, monospace;line-height:14px;content:'+';background-color:#31b131}table.dataTable.dtr-inline.collapsed>tbody>tr.parent>td:first-child:before,table.dataTable.dtr-inline.collapsed>tbody>tr.parent>th:first-child:before{content:'-';background-color:#d33333}table.dataTable.dtr-inline.collapsed.compact>tbody>tr>td:first-child,table.dataTable.dtr-inline.collapsed.compact>tbody>tr>th:first-child{padding-left:27px}table.dataTable.dtr-inline.collapsed.compact>tbody>tr>td:first-child:before,table.dataTable.dtr-inline.collapsed.compact>tbody>tr>th:first-child:before{top:5px;left:4px;height:14px;width:14px;border-radius:14px;line-height:14px;text-indent:3px}table.dataTable.dtr-column>tbody>tr>td.control,table.dataTable.dtr-column>tbody>tr>th.control{position:relative;cursor:pointer}table.dataTable.dtr-column>tbody>tr>td.control:before,table.dataTable.dtr-column>tbody>tr>th.control:before{top:50%;left:50%;height:16px;width:16px;margin-top:-10px;margin-left:-10px;display:block;position:absolute;color:white;border:2px solid white;border-radius:14px;box-shadow:0 0 3px #444;box-sizing:content-box;text-align:center;text-indent:0 !important;font-family:'Courier New', Courier, monospace;line-height:14px;content:'+';background-color:#31b131}table.dataTable.dtr-column>tbody>tr.parent td.control:before,table.dataTable.dtr-column>tbody>tr.parent th.control:before{content:'-';background-color:#d33333}table.dataTable>tbody>tr.child{padding:0.5em 1em}table.dataTable>tbody>tr.child:hover{background:transparent !important}table.dataTable>tbody>tr.child ul.dtr-details{display:inline-block;list-style-type:none;margin:0;padding:0}table.dataTable>tbody>tr.child ul.dtr-details>li{border-bottom:1px solid #efefef;padding:0.5em 0}table.dataTable>tbody>tr.child ul.dtr-details>li:first-child{padding-top:0}table.dataTable>tbody>tr.child ul.dtr-details>li:last-child{border-bottom:none}table.dataTable>tbody>tr.child span.dtr-title{display:inline-block;min-width:75px;font-weight:bold}div.dtr-modal{position:fixed;box-sizing:border-box;top:0;left:0;height:100%;width:100%;z-index:100;padding:10em 1em}div.dtr-modal div.dtr-modal-display{position:absolute;top:0;left:0;bottom:0;right:0;width:50%;height:50%;overflow:auto;margin:auto;z-index:102;background-color:#f5f5f7;border:1px solid black;border-radius:0.5em;box-shadow:0 12px 30px rgba(0,0,0,0.6)}div.dtr-modal div.dtr-modal-content{position:relative;padding:1em}div.dtr-modal div.dtr-modal-close{position:absolute;top:6px;right:6px;width:22px;height:22px;border:1px solid #eaeaea;background-color:#f9f9f9;text-align:center;border-radius:3px;cursor:pointer;z-index:12}div.dtr-modal div.dtr-modal-close:hover{background-color:#eaeaea}div.dtr-modal div.dtr-modal-background{position:fixed;top:0;left:0;right:0;bottom:0;z-index:101;background:rgba(0,0,0,0.6)}@media screen and (max-width: 767px){div.dtr-modal div.dtr-modal-display{width:95%}}


/* ===== OVERRULE DEFAULT HERE ===== */
/* See https://datatables.net/download/ */

.dataTables_wrapper {
	/*font-size: 15px;*/
}

/* Header and footer styles */
.new-record {
	font-size: 1.25em;
    line-height: var(--default_line_height);
    text-transform: uppercase;
}

.new-record span:last-child {
	font-size: 1rem;
    font-family: 'Roboto Flex','Arial',sans-serif;
	position: relative;
	top: -0.1rem;
}

[class*="generalOption_"] {
    font-size: var(--fs_large);
    -webkit-transition: color var(--animate_duration) ease;
    transition: color var(--animate_duration) ease;
}

[class*="generalOption_"]:has(+ [class*="generalOption_"]) {
    margin-right: 15px;
}

.dataTable tr[role="row"] td:not(.align_left):last-child {
	text-align: right;
}

.inputrow_unit .button {
	padding: 0 1.25em;
}

.dataTables_wrapper input:not([type="checkbox"]),
.dataTables_wrapper select {
	width: auto;
    height: var(--min_height_input);
	padding: 0.5em;
    margin: 0.15em 0;
    color: rgb(52,56,112);
	background-color: rgb(255,255,255);
	border: var(--input_border_width) solid rgba(236,240,242);
    border-radius: var(--border_radius_input);
}

.dataTables_wrapper select.dataTables_filter {
    float: left;
    text-align: left;
}

.dataTables_wrapper input:focus,
.dataTables_wrapper select:focus {
	border: var(--input_border_width) solid rgba(171,210,241);
    color: rgb(56,56,59);
}

.button.datatable-remove-filter {
    height: var(--min_height_input);
    min-height: var(--min_height_input);
}

.dt-buttons {
	display: -webkit-box;		/* OLD - iOS 6-, Safari 3.1-6 */
	display: -moz-box;			/* OLD - Firefox 19- (buggy but mostly works) */
	display: -ms-flexbox;		/* TWEENER - IE 10 */
	display: -webkit-flex;		/* NEW - Chrome */
	display: flex;				/* NEW, Spec - Opera 12.1, Firefox 20+ */

	-webkit-align-items: center;
	align-items: center;

	-webkit-justify-content: flex-end;
	justify-content: flex-end;

	margin-bottom: 0.625em;
}

.dt-buttons:not([class*="dt-has-custom-button-style"]) .dt-button {
	padding: 0.625em;
	margin: 0.3em;
    background-color: rgb(171,210,241);
    color: rgb(255,255,255);
    border: none;
    font-size: 0.9em;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.dt-buttons:not([class*="dt-has-custom-button-style"]) .dt-button:hover {
	background-color: rgb(236,240,242);
}

.dt-buttons:not([class*="dt-has-custom-button-style"]) .buttons-excel:before,
.dt-buttons:not([class*="dt-has-custom-button-style"]) .buttons-pdf:before,
.dt-buttons:not([class*="dt-has-custom-button-style"]) .buttons-print:before,
.dt-buttons:not([class*="dt-has-custom-button-style"]) .buttons-csv:before,
.dt-buttons:not([class*="dt-has-custom-button-style"]) .buttons-copy:before
{
	font-family: "default";
	text-transform: none;
	font-weight: normal;
	margin-right: 0.3em;
}

.dt-buttons:not([class*="dt-has-custom-button-style"]) .buttons-excel:before {
	content: "\31";
}
.dt-buttons:not([class*="dt-has-custom-button-style"]) .buttons-pdf:before {
	content: "\33";
}
.dt-buttons:not([class*="dt-has-custom-button-style"]) .buttons-print:before {
	content: "\32";
}
.dt-buttons:not([class*="dt-has-custom-button-style"]) .buttons-csv:before {
	content: "\30";
}
.dt-buttons:not([class*="dt-has-custom-button-style"]) .buttons-copy:before {
	content: "\63";
}

.datatable_header {
	display: -webkit-box;		/* OLD - iOS 6-, Safari 3.1-6 */
	display: -moz-box;			/* OLD - Firefox 19- (buggy but mostly works) */
	display: -ms-flexbox;		/* TWEEN - IE 10 */
	display: -webkit-flex;		/* NEW - Chrome */
	display: flex;				/* NEW, Spec - Opera 12.1, Firefox 20+ */

	-webkit-flex-direction: row;
	flex-direction: row;
	
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	
	-webkit-align-items: center;
	align-items: center;

	-webkit-justify-content: space-between;
	justify-content: space-between;

	background-color: rgb(174,186,200);
	padding: var(--default_spacing);
    border-radius: var(--border_radius);
	margin-bottom: 2.5em;
}

.datatable_header select {
	width: auto;
}

.datatable_header .dataTables_filter input[type=search] {
    margin-left: 0.3em;
}

.datatable_footer {
	padding: var(--default_spacing);
	display: -webkit-box;		/* OLD - iOS 6-, Safari 3.1-6 */
	display: -moz-box;			/* OLD - Firefox 19- (buggy but mostly works) */
	display: -ms-flexbox;		/* TWEEN - IE 10 */
	display: -webkit-flex;		/* NEW - Chrome */
	display: flex;				/* NEW, Spec - Opera 12.1, Firefox 20+ */

	-webkit-align-items: center;
	align-items: center;
}

.datatable_footer div {
	-webkit-box-flex: 1;    /* OLD - iOS 6-, Safari 3.1-6 */
	-moz-box-flex: 1;	    /* OLD - Firefox 19- */
	-ms-flex: 1;	        /* IE 10 */
	-webkit-flex: 1;	    /* NEW - Chrome */
	flex: 1;	            /* NEW, Spec - Opera 12.1, Firefox 20+ */
}

table.dataTable thead th,
table.dataTable thead td {
	padding: var(--default_spacing_small) var(--default_spacing);
	border-bottom: 1px solid rgb(171,210,241);
}

table.dataTable thead th:active,
table.dataTable thead td:active {
	outline: none;
}

table.dataTable tfoot th,
table.dataTable tfoot td {
	padding: 0.625em 1.1em 0.3em 1.1em;
	border-top: 1px solid rgb(171,210,241);
}

table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc {
	cursor: pointer;
}

table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc,
table.dataTable thead .sorting_asc_disabled,
table.dataTable thead .sorting_desc_disabled {
	background-repeat: no-repeat;
	background-position: center right;
}

table.dataTable thead .sorting {
	background-image: url("https://www.northseaporttalent.eu/resources_shared/img/sort_both.png");
}

table.dataTable thead .sorting_asc {
	background-image: url("https://www.northseaporttalent.eu/resources_shared/img/sort_asc.png");
}

table.dataTable thead .sorting_desc {
	background-image: url("https://www.northseaporttalent.eu/resources_shared/img/sort_desc.png");
}

table.dataTable thead .sorting_asc_disabled {
	background-image: url("https://www.northseaporttalent.eu/resources_shared/img/sort_asc_disabled.png");
}

table.dataTable thead .sorting_desc_disabled {
	background-image: url("https://www.northseaporttalent.eu/resources_shared/img/sort_desc_disabled.png");
}

table.dataTable tbody tr {
	background-color: rgb(255,255,255);
}

table.dataTable tbody tr.selected {
	background-color: rgba(171,210,241,0.25);
    mix-blend-mode: multiply;
}

table.dataTable tbody th,
table.dataTable tbody td {
	padding: var(--default_spacing_small);
	cursor: pointer;
}

table.dataTable.row-border tbody th, table.dataTable.row-border tbody td, table.dataTable.display tbody th, table.dataTable.display tbody td {
	border-top: 1px solid rgb(174,186,200);
}

table.dataTable.row-border tbody tr:first-child th,
table.dataTable.row-border tbody tr:first-child td, table.dataTable.display tbody tr:first-child th,
table.dataTable.display tbody tr:first-child td {
	border-top: none;
}

table.dataTable.cell-border tbody th, table.dataTable.cell-border tbody td {
	border-top: 1px solid rgb(174,186,200);
	border-right: 1px solid rgb(174,186,200);
}

table.dataTable.cell-border tbody tr th:first-child,
table.dataTable.cell-border tbody tr td:first-child {
	border-left: 1px solid rgb(174,186,200);
}

table.dataTable.cell-border tbody tr:first-child th,
table.dataTable.cell-border tbody tr:first-child td {
	border-top: none;
}

table.dataTable.stripe tbody tr.odd, table.dataTable.display tbody tr.odd {
	background-color: #f7f7f9;
}

table.dataTable.stripe tbody tr.odd.selected, table.dataTable.display tbody tr.odd.selected {
    background-color: rgba(171,210,241,0.25);
    mix-blend-mode: multiply;
}

table.dataTable.hover tbody tr:hover, table.dataTable.display tbody tr:hover {
	background-color: #eff0f3;
}

table.dataTable.hover tbody tr:hover.selected, table.dataTable.display tbody tr:hover.selected {
    background-color: rgba(171,210,241,0.2);
    mix-blend-mode: multiply;
}

table.dataTable.order-column tbody tr > .sorting_1,
table.dataTable.order-column tbody tr > .sorting_2,
table.dataTable.order-column tbody tr > .sorting_3, table.dataTable.display tbody tr > .sorting_1,
table.dataTable.display tbody tr > .sorting_2,
table.dataTable.display tbody tr > .sorting_3 {
	background-color: #ececf1;
}

table.dataTable.order-column tbody tr.selected > .sorting_1,
table.dataTable.order-column tbody tr.selected > .sorting_2,
table.dataTable.order-column tbody tr.selected > .sorting_3, table.dataTable.display tbody tr.selected > .sorting_1,
table.dataTable.display tbody tr.selected > .sorting_2,
table.dataTable.display tbody tr.selected > .sorting_3 {
    background-color: rgba(171,210,241,0.25);
    mix-blend-mode: multiply;
}

table.dataTable.display tbody tr.odd > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd > .sorting_1 {
	background-color: #EAECF1;
}

table.dataTable.display tbody tr.odd > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd > .sorting_2 {
	background-color: #f3f3f3;
}

table.dataTable.display tbody tr.odd > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd > .sorting_3 {
	background-color: whitesmoke;
}

table.dataTable.display tbody tr.odd.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_1 {
    background-color: rgba(171,210,241,0.275);
    mix-blend-mode: multiply;}

table.dataTable.display tbody tr.odd.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_2 {
    background-color: rgba(171,210,241,0.3);
    mix-blend-mode: multiply;
}

table.dataTable.display tbody tr.odd.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_3 {
    background-color: rgba(171,210,241,0.325);
    mix-blend-mode: multiply;
}

table.dataTable.display tbody tr.even > .sorting_1, table.dataTable.order-column.stripe tbody tr.even > .sorting_1 {
	background-color: #fbfbfb;
}

table.dataTable.display tbody tr.even > .sorting_2, table.dataTable.order-column.stripe tbody tr.even > .sorting_2 {
	background-color: #fcfcfc;
}

table.dataTable.display tbody tr.even > .sorting_3, table.dataTable.order-column.stripe tbody tr.even > .sorting_3 {
	background-color: #fefefe;
}

table.dataTable.display tbody tr.even.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_1 {
    background-color: rgba(171,210,241,0.25);
    mix-blend-mode: multiply;
}

table.dataTable.display tbody tr.even.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_2 {
    background-color: rgba(171,210,241,0.35);
    mix-blend-mode: multiply;
}

table.dataTable.display tbody tr.even.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_3 {
    background-color: rgba(171,210,241,0.375);
    mix-blend-mode: multiply;
}

table.dataTable.display tbody tr:hover > .sorting_1, table.dataTable.order-column.hover tbody tr:hover > .sorting_1 {
	background-color: #e8e8ef;
}

table.dataTable.display tbody tr:hover > .sorting_2, table.dataTable.order-column.hover tbody tr:hover > .sorting_2 {
	background-color: #ececec;
}

table.dataTable.display tbody tr:hover > .sorting_3, table.dataTable.order-column.hover tbody tr:hover > .sorting_3 {
	background-color: #efefef;
}

table.dataTable.display tbody tr:hover.selected > .sorting_1, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_1 {
    background-color: rgba(171,210,241,0.4);
    mix-blend-mode: multiply;
}

table.dataTable.display tbody tr:hover.selected > .sorting_2, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_2 {
    background-color: rgba(171,210,241,0.425);
    mix-blend-mode: multiply;
}

table.dataTable.display tbody tr:hover.selected > .sorting_3, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_3 {
    background-color: rgba(171,210,241,0.45);
    mix-blend-mode: multiply;
}

table.dataTable.no-footer {
	border-bottom: 1px solid #111;
}

table.dataTable.nowrap th, table.dataTable.nowrap td {
	white-space: nowrap;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
	color: #333 !important;
	border: var(--input_border_width) solid transparent;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current, .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
	color: #333 !important;
	border: var(--input_border_width) solid rgb(171,210,241);
	background: rgb(255,255,255);
}

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active {
  cursor: default;
  color: rgb(174,186,200) !important;
  border: var(--input_border_width) solid transparent;
  background: transparent;
  box-shadow: none;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
  color: rgb(255,255,255) !important;
  border: var(--input_border_width) solid rgb(171,210,241);
  background: rgb(171,210,241);
}

.dataTables_wrapper .dataTables_paginate .paginate_button:active {
  outline: none;
  background-color: rgb(56,56,59);
  box-shadow: inset 0 0 3px #111;
}

.dataTables_wrapper .dataTables_paginate .ellipsis {
  padding: 0 1em;
}

.dataTables_wrapper .dataTables_processing {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 40px;
  margin-left: -50%;
  margin-top: -25px;
  padding-top: 20px;
  text-align: center;
  font-size: 1.2em;
  background-color: white;
  background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(25%, rgba(255, 255, 255, 0.9)), color-stop(75%, rgba(255, 255, 255, 0.9)), color-stop(100%, rgba(255, 255, 255, 0)));
  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
  background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
  background: -ms-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
  background: -o-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
}

.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_processing,
.dataTables_wrapper .dataTables_paginate {
	color: rgb(52,56,112);
}

.dataTables_wrapper.no-footer .dataTables_scrollBody {
	border-bottom: 1px solid #111;
}

.dataTables_wrapper.no-footer div.dataTables_scrollHead table.dataTable,
.dataTables_wrapper.no-footer div.dataTables_scrollBody > table {
	border-bottom: none;
}

table.dataTable.dtr-inline.collapsed > tbody > tr[role="row"] > td:first-child:before,
table.dataTable.dtr-inline.collapsed > tbody > tr[role="row"] > th:first-child:before {
	color: white;
	border: var(--input_border_width) solid white;
	box-shadow: 0 0 3px #444;
	background-color: var(--color_valid);
}

table.dataTable.dtr-inline.collapsed > tbody > tr.parent > td:first-child:before,
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > th:first-child:before {
	background-color: var(--color_invalid);
}

table.dataTable.dtr-column > tbody > tr > td.control:before,
table.dataTable.dtr-column > tbody > tr > th.control:before {
	color: white;
	border: var(--input_border_width) solid white;
	box-shadow: 0 0 3px #444;
	background-color: var(--color_valid);
}

table.dataTable.dtr-column > tbody > tr.parent td.control:before,
table.dataTable.dtr-column > tbody > tr.parent th.control:before {
	background-color: var(--color_invalid);
}

table.dataTable > tbody > tr.child:hover {
	background: transparent !important;
}

table.dataTable > tbody > tr.child ul.dtr-details > li {
	border-bottom: 1px solid #efefef;
}

table.dataTable > tbody > tr.child ul.dtr-details > li:last-child {
	border-bottom: none;
}

div.dtr-modal div.dtr-modal-display {
	background-color: #f5f5f7;
	border: var(--input_border_width) solid black;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.6);
}

div.dtr-modal div.dtr-modal-close {
	border: var(--input_border_width) solid #e8e8ef;
	background-color: #f7f7f9;
}

div.dtr-modal div.dtr-modal-close:hover {
	background-color: #e8e8ef;
}

div.dtr-modal div.dtr-modal-background {
	background: rgba(0, 0, 0, 0.6);
}

.datatable-onclick {
	cursor: pointer;
}


/* BOOTBOX CSS */
.modal-dialog {
    width: 70%;
    margin: 30px auto;
}

@media (min-width: 768px) and (max-width: 1366px) {
    .modal-dialog {
        width: 60%;
    }
}
@media (min-width: 1366px) {
    .modal-dialog {
        width: 40%;
    }
}
@media (max-width: 600px) {
    .modal-dialog {
        width: 80%;
    }
    .modal-footer .btn,
    .modal-footer .btn + .btn {
        margin-bottom: 5px;
    }

}

html {
    scroll-behavior: smooth;
}

.payoff_header.transition {
    transition-duration: 0.7s;
}

.payoff_header.transform_opacity_move_right {
    transform: translateX(100vw);
}

/* ===== CUSTOM SEARCH ===== */
.custom-search_wrapper {
    --bg-search-form: rgb(255,255,255);
    --border-search-form: rgb(52,56,112);
    container-type: inline-size;
    container-name: customSearch;
}

@container customSearch (min-width: 750px) {
    .custom-search_container {
        display: grid;
        grid-auto-columns: auto;
        grid-auto-flow: column;
        gap: var(--default_spacing_small);
    }

    .job-offer-search.custom-search_container {
        grid-template-columns: 3fr 2fr;
    }

    .education-course-search.custom-search_container {
        grid-template-columns: 2fr 1fr 1fr;
    }
}

.custom-search_title {
    padding: var(--default_spacing) 0 var(--default_spacing_small) 0;
}

/* Container with icon + input */
.input-container_icon-with-visually-hidden-input-element {
    grid-template-columns: var(--min_height_input) 1fr;
}

.input-container_icon-with-visually-hidden-input-element label {
    margin: 0;
    grid-column: 1 / -1;
}

.input-container_icon-with-visually-hidden-input-element span {
    grid-column: 1;
    display: -ms-grid;
    display: grid;
    place-content: center;
    text-align: center;
    font-size: var(--fs_medium);
}

.input-container_icon-with-visually-hidden-input-element input,
.input-container_icon-with-visually-hidden-input-element select {
    grid-column: 2;
}

/* Remove default styling inputs and add custom styling */
.custom-search_select {
    border: none;
}

.input-container_icon-with-visually-hidden-input-element,
.custom-search_select {
    background-color: var(--bg-search-form);
    box-shadow: 0 0 0 2px var(--border-search-form) inset;
    border-radius: var(--border_radius_input);
}

.input-container_icon-with-visually-hidden-input-element input,
.input-container_icon-with-visually-hidden-input-element input:focus,
.input-container_icon-with-visually-hidden-input-element select,
.input-container_icon-with-visually-hidden-input-element select:focus {
    margin: 0!important;
    padding-left: 0;
    outline: none;
    box-shadow: none;
    border-color: transparent;
    background-color: transparent;
}

.input-container_icon-with-visually-hidden-input-element:has(input:focus),
.input-container_icon-with-visually-hidden-input-element:has(select:focus),
.custom-search_select:focus-visible {
    --bg-search-form: rgb(236,240,242);
    --border-search-form: rgb(84,88,199);
    outline: 2px solid var(--focus_color);
    outline-offset: 1px;
}

/* ===== SEARCH - RESULTS ===== */
.custom-search_search-result,
.custom-search_search-result {
    min-width: 12rem;
}

/* ===== SEARCH - FILTERS ===== */
.filters-container {
    z-index: 1;
}

.filter-login-prompt-container {
    margin: 0 var(--default_spacing_small) 0 0;
    width: clamp(11rem, 20vw, 19.5rem);
}

@media (max-width: 750px) {
    .filter-login-prompt-container {
        width: 100%;
        margin: 0 0 var(--default_spacing_small) 0;
    }
}

/* Styling for all filter buttons */
.button.filter-button {
    --button_padding: 0.3em;
    padding: var(--button_padding) var(--default_spacing_small);
    border: var(--button_border_width) solid rgb(52,56,112);
}

.button.filter-button:not(.smaller) {
    min-height: var(--min_target_size);
    margin: 0.3em 0.15em;
}

.button.filter-button[aria-expanded="true"],
.button.filter-button[aria-pressed=true],
.button.filter-button:hover {
    border: var(--button_border_width) solid rgb(171,210,241);
    background-color: rgb(171,210,241);
}

.filter-button span {
    display: inline-block;
    vertical-align: middle;
}

.filter-button span:not(.filter-button-icon) {
    margin-right: 0.3em;
}

.filter-button .filter-button-icon + span {
    margin-right: 0;
    margin-left: 0.3em;
}

.filter-button-amount-badge {
    display: grid;
    place-content: center;
    width: 1.3rem;
    height: 1.3rem;
    border-radius: 50%;
    font-size: var(--fs_x_small);
    font-weight: var(--fw_bold);
    text-align: center;
    color: rgb(255,255,255);
    background-color: rgb(52,56,112);
}

/* animate arrow */
.filter-button[aria-expanded="true"] span.filter-button-icon {
    transform: rotate(180deg);
}

/* Filter Dropdowns */
.filter-dropdown-container {
    display: inline-block;
}

/* ul */
.filter-dropdown-menu {
    --lightness: 20%;
    position: absolute;
    background-color: rgb(255,255,255);
    margin-block: 0.3rem;
    filter: drop-shadow(0 0 7px hsla(0, 0%, var(--lightness)));
}

.filter-dropdown-menu .filter-button {
    margin-block: 0.3rem;
    min-height: 2.25rem;
}

.filter-dropdown-menu .filter-button-icon:before {
    vertical-align: text-bottom;
}

.filters-deselect-button {
    display: inline-flex;
    align-items: center;
}

.filters-deselect-button:has(+ .filter-button) {
    margin-right: 0.3rem;
}

/* ===== SEARCH - SPLIT BUTTON (list/map) ===== */
.split-button-container {
    display: table;
}

.split-button {
    --button_padding: 0.3em;
    --position_gradient: left;
    --split_button_color: rgb(52,56,112);

    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;

    min-width: 6rem;

    font-family: 'Roboto Flex','Arial',sans-serif;
    font-size: var(--button_fontsize);
    font-weight: var(--fw_regular);
    text-align: center;
    margin: 0;
    padding: var(--button_padding) var(--default_spacing_small);
    border: var(--button_border_width) solid var(--split_button_color);

    color: var(--split_button_color);
    background: linear-gradient(to var(--position_gradient), var(--split_button_color) 50%, rgb(255,255,255) 50%);
    background-position: var(--position_gradient) bottom;
    background-size: 200% 100%;
    transition: all .5s ease-out;
}

.split-button-left {
    border-right: none;
    border-radius: var(--border_radius_button) 0 0 var(--border_radius_button);
}

.split-button-right {
    --position_gradient: right;
    border-radius: 0 var(--border_radius_button) var(--border_radius_button) 0;
}

.split-button[aria-pressed="true"] {
    color: rgb(255,255,255);
}

.split-button-left[aria-pressed="true"] {
    background-position: right bottom;
}

.split-button-right[aria-pressed="true"] {
    background-position: left bottom;
}

/* icon */
.split-button span {
    font-size: var(--fs_medium);
    font-weight: var(--fw_regular);
    vertical-align: middle;
}

/* ===== SEARCH - COMPETENCY ===== */
section.job-offer-competency-search_container {
    max-width: 125ch;
}

.job-offer-competency-search_container form {
    display: grid;
    justify-items: center;
    width: 100%;
    max-width: 100%;
    margin: var(--default_spacing) auto;
    text-align: center;
}

/* RADIO/CHECKBOX TO DIV STRUCTURE WCAG */
fieldset:has(.job-competency_input-div_wrapper) {
    /*width: max-content;*/
}

fieldset:has(.radio-to-div.job-competency_input-div_wrapper) {
    filter: drop-shadow(0 0 7px hsla(0, 0%, var(--lightness)));
}

.job-competency_input-div_wrapper {
    --bg_color: rgb(52,56,112);
    position: relative;
    background-color: var(--bg_color);
    border: 2px solid hsl(from rgb(52,56,112) h s 20%);
    transition: background-color 0.3s ease;
}

.job-competency_input-div_wrapper:hover {
    --bg_color: hsl(from rgb(52,56,112) h s 20%);
}

.job-competency_input-div_wrapper:has(input[type="radio"]:checked),
.job-competency_input-div_wrapper:has(input[type="checkbox"]:checked),
.job-competency_input-div_wrapper:has(input[type="radio"]:focus-visible),
.job-competency_input-div_wrapper:has(input[type="checkbox"]:focus-visible) {
    --bg_color: rgb(253,88,143);
}

/* hiding the input, WCAG proof */
.job-competency_input-div_wrapper input {
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
}

/* make label the new input, WCAG proof */
.job-competency_input-div_wrapper label {
    padding: 0.5rem 1rem 0.5rem 0.5rem;
    color: rgb(255,255,255);
    font-size: var(--fs_small);
    font-weight: var(--fw_medium);
    margin: 0;
    -ms-user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    user-select: none;
    cursor: pointer;

    display: flex;
    flex-direction: row;
    align-items: center;
}

.job-competency_input-div_wrapper label:before {
    /*font-size: var(--fs_x_small);*/
    /*margin-right: 0.5rem;*/
    /*color: rgb(*//*);*/
}

.job-competency_input-div_wrapper img {
    width: auto;
    margin: 0 0.3rem 0 0;
}

/* Radio div styling */
.radio-to-div.job-competency_input-div_wrapper:first-of-type {
    border-radius: var(--border_radius_input) var(--border_radius_input) 0 0;
}

.radio-to-div.job-competency_input-div_wrapper:last-of-type {
    border-radius: 0 0 var(--border_radius_input) var(--border_radius_input);
}

.radio-to-div.job-competency_input-div_wrapper:has(+ .radio-to-div.job-competency_input-div_wrapper) {
    border-bottom: 0;
}

/* Checkbox div styling */
.checkbox-to-div.job-competency_input-div_wrapper {
    display: inline-block;
    border-radius: 2rem;
    margin: 0.3rem;
}


/* ===== CARDS - STYLING ===== */
/* Styling for all cards */
:root {
    --lightness: 80%;
}

div.bg_white[class*="_wrapper"] .card_styling {
    --lightness: 80%;
}

div.bg_a[class*="_wrapper"] .card_styling,
div.bg_d[class*="_wrapper"] .card_styling {
    --lightness: 20%;
}

.card_styling {
    display: -ms-grid;
    display: grid;
    filter: drop-shadow(0 0 7px hsla(0, 0%, var(--lightness)));
}

.aside_styling,
.content_styling:not(:has(.job-offer-details_agency-applications)) {
    --lightness: 20%;
    padding: var(--default_spacing);
    border-radius: var(--border_radius);
    filter: drop-shadow(0 0 7px hsla(0, 0%, var(--lightness)));
}

.drop-shadow-container {
    padding: calc(1.7 * var(--default_spacing));
    filter: drop-shadow(0 0 7px hsla(0, 0%, var(--lightness)));
}

/* ===== JOB OFFER CARDS ===== */
/* Wrapper div always needed for container queries! */
.job-offer_wrapper,
.education-courses_wrapper {
    --jo_logo_width: 5rem;
    --jo_premium_img_min_height: 8.75rem;
    --jo_premium_img_max_height: 30cqi;
    --jo_padding: clamp(var(--default_spacing), 5cqi, 3.125rem);

    container-type: inline-size;
    container-name: joboffer;
    list-style: none;
    width: 100%;
    margin-top: var(--default_spacing);
}

.display_grid .job-offer_wrapper,
.display_grid .education-courses_wrapper {
    margin-top: 0;
}

.job-offer_card,
.education-courses_card {
    /*display: -ms-grid;*/
    /*display: grid;*/
    /*filter: drop-shadow(0 0 7px hsla(0, 0%, var(--lightness)));*/
}

.job-offer_card:hover,
.education-courses_card:hover {
    box-shadow: 0 0 0 4px rgb(84,88,199);
}

.homepage_row_container .job-offer_card:first-of-type,
.job-offer_teaser .job-offer_card:first-of-type,
.education-courses_teaser .education-courses_card:first-of-type {
    margin-top: 0;
}

.job-offer_card > div,
.education-courses_card > div {
    padding: var(--default_spacing_small) var(--jo_padding);
}

.job-offer_card > div:first-of-type,
.education-courses_card > div:first-of-type {
    padding-top: var(--jo_padding);
    padding-bottom: 0;
}

.job-offer_card > div:last-child,
.education-courses_card > div:last-child {
    padding-top: 0;
    padding-bottom: var(--jo_padding);
}

.job-offer_teaser .job-offer_card > div,
.education-courses_teaser .education-courses_card > div {
    --jo_padding: clamp(calc(1.5 * var(--default_spacing)), 5cqi, 3.125rem);
}

/* Rounded corners */
.job-offer_card.rounded > div,
.education-courses_card.rounded > div {
    background-color: transparent!important;
}

.job-offer_card:has(.badges-container).rounded {
    overflow-y: visible;
}

/* Logo, name & location */
.job-offer_organisation_container:has(.job-offer_organisation_logo),
.education-courses_organisation_container:has(.education-courses_organisation_logo) {
    display: -ms-grid;
    display: grid;
    grid-template-columns: var(--jo_logo_width) 1fr;
    grid-template-rows: min-content 1fr;
    column-gap: var(--default_spacing_small);
    align-items: start;
}

.homepage_row_container .job-offer_organisation_container,
.job-offer_teaser .job-offer_organisation_container,
.education-courses_teaser .education-courses_organisation_container {
    --jo_logo_width: 7.5rem;
}

.job-offer_organisation_logo,
.education-courses_organisation_logo {
    width: 100%;
    height: 100%;
    min-height: 3rem;
    max-height: 8rem;
    object-fit: contain;
    background-color: rgb(255,255,255);
    border: 0.05rem solid rgba(84,88,199,0.5);
    margin: 0;
    padding: 0.15em 0.3em;

    grid-column: 1;
    grid-row: span 2;
    place-content: center;
}

.job-offer_organisation_location {
    font-size: var(--fs_small);
}

/* Title, date, description */
.job-offer_date,
.education-courses_date {
    font-size: var(--fs_x_small);
}

.job-offer_description {
    display: none;
}

/* show description on Homepage & Teaser */
.homepage_row_container .job-offer_description,
.job-offer_teaser .job-offer_description,
.education-courses_teaser .education-courses_description {
    display: block;
}

/* Button, mark as fav icon */
.job-offer_actions_container,
.education-courses_actions_container {
    align-items: center;
}

.job-offer_actions_icon,
.education-courses_actions_icon {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    inline-size: auto;
    cursor: pointer;
    margin-left: var(--default_spacing_small);
    color: rgb(52,56,112);
    background-color: transparent;
}

/*.job-offer_card:has(.badge-premium) .job-offer_actions_icon {*/
/*    color: rgb(*//*);*/
/*}*/

/* Premium Image */
.job-offer_premium_img,
.education-courses_premium_img {
    width: 100%;
    height: 100%;
    max-height: max(var(--jo_premium_img_min_height), var(--jo_premium_img_max_height));
    object-fit: cover;
    border-top-left-radius: var(--border_radius);
    border-top-right-radius: var(--border_radius);
}

.homepage_row_container .job-offer_premium_img,
.job-offer_teaser .job-offer_premium_img {
    --jo_premium_img_min_height: 50cqi;
}

/* Badges Premium, New, Limited, Match */
.badges-container {
    display: -webkit-inline-flex;
    display: inline-flex;
    transform: translate(var(--jo_padding), calc(-1 * var(--default_spacing_small)));
    z-index: 999;
}

.badges-container > span:has(+ span) {
    margin-right: var(--default_spacing_small);
}

.badge,
.badge-premium,
.badge-new,
.badge-limited,
.badge-match {
    --border_radius: 0.15em;
    border-radius: var(--border_radius);
    font-size: var(--fs_x_small);
    font-weight: var(--fw_medium);
    line-height: 1;
    padding: 0.625em;
    color: rgb(255,255,255);
}

.badge,
.badge-premium {
    background-color: rgb(52,56,112);
}

.badge-new,
.badge-limited {
    background-color: rgb(253,88,143);
}

/* ANIMATED BADGE MATCH */
/* Animation works everywhere except in Firefox */
/*@property --value {*/
/*    syntax: '<percentage>';*/
/*    inherits: false;*/
/*    initial-value: 0%;*/
/*}*/
/**/
/*@property --fill-percentage {*/
/*    syntax: '<percentage>';*/
/*    inherits: false;*/
/*    initial-value: 0%;*/
/*}*/
/**/
/*.badge-match {*/
/*    --value: 0%;*/
/*    --fill-percentage: 0%;*/
/*    --progress-empty-color: rgb(*//*);*/
/*    --progress-match-color: rgb(*//*);*/
/*    background: -moz-linear-gradient(to right, var(--progress-match-color) 0% var(--value), var(--progress-empty-color) var(--value) 100%);*/
/*    background: linear-gradient(to right, var(--progress-match-color) 0% var(--value), var(--progress-empty-color) var(--value) 100%);*/
/*    -moz-animation: progressMatch 2s 0.5s ease-in-out forwards;*/
/*    animation: progressMatch 2s 0.5s ease-in-out forwards;*/
/*}*/
/**/
/*@keyframes progressMatch {*/
/*    from {*/
/*        --value: 0%;*/
/*    }*/
/*    to {*/
/*        --value: var(--fill-percentage, 0%);*/
/*    }*/
/*}*/

/* Animation with JS for Firefox */
@property --value {
    syntax: '<percentage>';
    inherits: false;
    initial-value: 0%;
}

.badge-match {
    --value: 0%;
    --progress-empty-color: rgb(56,56,59);
    --progress-match-color: rgb(84,88,199);

    background: linear-gradient(
            to right,
            var(--progress-match-color) 0%,
            var(--progress-match-color) var(--value),
            var(--progress-empty-color) var(--value),
            var(--progress-empty-color) 100%
    );

    transition: --value 2s ease-in-out 0.5s;
}


@container joboffer (max-width: 480px) {
    /* square img */
    .homepage_row_container .job-offer_premium_img,
    .job-offer_teaser .job-offer_premium_img {
        --jo_premium_img_max_height: 100vw;
        aspect-ratio: 1;
    }

    .job-offer_title,
    .education-courses_title {
        font-size: min(5.5vw, var(--fs_medium));
    }
}

@container joboffer (min-width: 768px) {
    .job-offer_premium_img {
        grid-column: 1;
        grid-row: span 3;
        contain: size;
        max-height: unset;

        border-top-left-radius: var(--border_radius);
        border-top-right-radius: 0;
        border-bottom-left-radius: var(--border_radius);
    }

    .job-offer_organisation_container,
    .education-courses_organisation_container {
        --jo_logo_width: 7.5rem;
    }
}

@container joboffer (min-width: 768px) and (max-width: 1024px) {
    .job-offer_card:has(.job-offer_premium_img) {
        grid-template-columns: minmax(15rem, 15cqi) 1fr;
    }

    .job-offer_card:has(.job-offer_premium_img) > div {
        grid-column: 2;
    }

}

@container joboffer (min-width: 1024px) {
    .job-offer_card,
    .education-courses_card {
        --jo_padding: clamp(var(--default_spacing_small), 3cqi, 2rem);
    }

    .job-offer_card > div,
    .education-courses_card > div {
        padding: var(--default_spacing_small) var(--jo_padding) var(--jo_padding) var(--jo_padding);
    }

    .job-offer_card > div:last-child,
    .education-courses_card > div:last-child {
        padding-left: 0;
    }

    .job-offer_card:has(.job-offer_premium_img) {
        grid-template-columns: minmax(15rem, 15cqi) 1fr max-content;
    }

    .job-offer_card:has(.job-offer_premium_img) > div {
        grid-column: 2;
    }

    .job-offer_card:has(.job-offer_premium_img) .job-offer_actions_container {
        grid-column: 3;
    }

    .job-offer_premium_img {
        grid-row: span 2;
    }

    .job-offer_card:not(:has(.job-offer_premium_img)),
    .education-courses_card:not(:has(.job-offer_premium_img)) {
        grid-template-columns: 1fr max-content;
    }

    .job-offer_content_container,
    .job-offer_actions_container,
    .education-courses_content_container,
    .education-courses_actions_container {
        grid-row: 2 / 3;
    }

    .job-offer_actions_container,
    .education-courses_actions_container {
        align-items: end;
        gap: var(--default_spacing_small);
    }
}


/* ===== JOB OFFERS IN HOMEPAGE ROW ===== */
.homepage_row_container:has(.job-offer_homepage-row_container) h1 {
    font-size: var(--fs_large);
}

.homepage_row_container:has(.job-offer_homepage-row_container) .homepage_row_title_container {
    margin-top: var(--default_spacing);
}

@media (min-width: 750px) {
    .homepage_row_container:has(.job-offer_homepage-row_container) {
        display: grid;
        grid-template-columns: minmax(12rem, 1fr) 3fr;
        grid-template-rows: auto 1fr;
        column-gap: 3rem;
    }

    .homepage_row_container:has(.job-offer_homepage-row_container) > div:not(.job-offer_homepage-row_container) {
        grid-column: 1;
    }

    .job-offer_homepage-row_container {
        grid-column: 2;
        grid-row: 1 / -1;
    }

    /* sticky text aside */
    .homepage_row_container:has(.job-offer_homepage-row_container) .homepage_row_title_container {
        position: sticky;
        top: 8rem;
    }
}


/* ===== JOB OFFER DETAILS ===== */
.job-offer-details_container,
.education-course-details_container {
    --jo_logo_width: 12rem;
    container-type: inline-size;
    container-name: jobOfferDetails;
    padding: var(--default_spacing) var(--default_spacing_small);
    align-items: start;
}

.job-offer-details_container,
.job-offer-details_aside,
.job-offer-details_content,
.education-course-details_container,
.education-course-details_aside,
.education-course-details_content {
    gap: var(--default_spacing_small);
}

.job-offer-details_aside,
.job-offer-details_content,
.education-course-details_aside,
.education-course-details_content {
    display: grid;
    align-content: start;
}

.job-offer-details_employer-info,
.education-course-details_employer-info {
    display: grid;
    gap: var(--default_spacing_small);
    align-items: center;
}

.job-offer-details_employer-info:has(.job-offer_organisation_logo),
.education-course-details_employer-info:has(.education-courses_organisation_logo) {
    grid-template-columns: var(--jo_logo_width) 1fr;
}

.job-offer-details_employer-info:not(:has(.job-offer_organisation_logo)),
.education-course-details_employer-info:not(:has(.education-courses_organisation_logo)) {
    grid-template-columns: 1fr minmax(11rem, max-content);
}

.job-offer-details_container .job-offer_organisation_logo,
.education-course-details_container .education-courses_organisation_logo {
    grid-row: 1;
}

.job-offer-details_container h2,
.job-offer-details_container h3,
.job-offer-details_container h4,
.job-offer-details_container h5,
.education-course-details_container h2,
.education-course-details_container h3,
.education-course-details_container h4,
.education-course-details_container h5 {
    margin: 0.3em 0 0.3em 0;
}


/* ===== EMPLOYER DETAILS ===== */
.job-offer-details_container .job-offer-details_aside-contact:has(img),
.education-course-details_container .education-course-details_aside-contact:has(img) {
    place-content: center;
}

.job-offer-details_aside-contact img,
.education-course-details_aside-contact img {
    margin: 0;
}

.employer-details_job-offers-overview-container,
.employer-details_education-courses-overview-container {
    display: grid;
    grid-template-columns: 3fr minmax(8rem, 1fr) minmax(6rem, max-content) minmax(6rem, max-content);
    column-gap: var(--default_spacing);
}

.employer-details_job-offers-overview-container div,
.employer-details_education-courses-overview-container div {
    display: grid;
    grid-template-columns: subgrid;
}

.employer-details_job-offers-overview_header {
    grid-column: 1 / -1;
    font-weight: var(--fw_bold);
    border-bottom: 2px solid rgb(171,210,241);
}
.employer-details_education-courses-overview_header {
    grid-column: 1 / 5;
    font-weight: var(--fw_bold);
    border-bottom: 2px solid rgb(171,210,241);
}

.employer-details_job-offers-overview_link-container {
    grid-column: 1 / -1;
    padding: var(--default_spacing_small) 0;
    border-bottom: 1px solid rgb(171,210,241);
}

.employer-details_education-courses-overview_link-container {
    grid-column: 1 / 5;
    padding: var(--default_spacing_small) 0;
    border-bottom: 1px solid rgb(171,210,241);
}

.education-course-details_content .job-offer_wrapper {
    margin-top: var(--default_spacing_small);
}

@container jobOfferDetails (min-width: 1000px) {
    .job-offer-details_employer-info:has(.job-offer_organisation_logo),
    .education-course-details_employer-info:has(.education-courses_organisation_logo) {
        grid-template-columns: var(--jo_logo_width) 1fr auto;
    }

}

@container jobOfferDetails (min-width: 750px) {
    .job-offer-details_aside,
    .education-course-details_aside,
    aside:has(.job-offer-details_aside),
    aside:has(.education-course-details_aside) {
        width: clamp(15rem, 20cqi, 20rem);
        position: sticky;
        top: calc(3 * var(--default_spacing));
    }

    .job-offer-details_content,
    .education-course-details_content {
        flex: 1;
    }
}

@container jobOfferDetails (min-width: 450px) and (max-width: 749.9px) {
    /* Employer Details page */
    .job-offer-details_container:has(.employer-details_job-offers-overview-container) .job-offer-details_aside,
    .job-offer-details_aside,
    .education-course-details_container:has(.employer-details_education-courses-overview-container) .education-course-details_aside,
    .education-course-details_aside {
        grid-template-columns: 1fr 1fr;
    }
}

@container jobOfferDetails (max-width: 749.9px) {
    .job-offer-details_aside:not(.job-seeker_search-details .job-offer-details_aside),
    .education-course-details_aside,
    aside:has(.job-offer-details_aside),
    aside:has(.education-course-details_aside) {
        order: 2;
        width: 100%;
    }

    .job-offer-details_aside-apply-button,
    .education-course-details_aside-apply-button {
        order: 3;
    }

    .job-offer-details_job-offer-info .button,
    .education-course-details_job-offer-info .button {
        width: 100%;
    }

    /* Employer Details page */
    .job-offer-details_content:has(.employer-details_job-offers-overview-container),
    .education-course-details_content:has(.employer-details_education-courses-overview-container) {
        order: 4;
    }
}

@container jobOfferDetails (max-width: 450px) {
    .job-offer-details_employer-info_text,
    .job-offer-details_employer-info .button,
    .education-course-details_employer-info_text,
    .education-course-details_employer-info .button {
        grid-column: 1 / -1;
    }

    .job-offer-details_employer-info:has(.job-offer_organisation_logo),
    .education-course-details_employer-info:has(.education-courses_organisation_logo) {
        grid-template-columns: 1fr;
    }

    .employer-details_job-offers-overview-container,
    .employer-details_education-courses-overview-container {
        grid-template-columns: 1fr;
        overflow-y: auto;
    }
}


/* ===== EMPLOYERS OVERVIEW ===== */
.employers-overview_wrapper {
    --logo_size: 5rem;
    max-width: 100%;
    display: grid;
    grid-template-columns: repeat(auto-fit, calc(var(--logo_size) + (2 * var(--default_spacing_small))));
    gap: var(--default_spacing_small);
}

.employers-overview_logo {
    width: 100%;
    height: 100%;
    max-width: var(--logo_size);
    max-height: var(--logo_size);
    object-fit: contain;
    object-position: top;
    margin: 0 auto 0.5rem auto;
}

.employers-overview_card:hover {
    box-shadow: 0 0 0 4px rgb(84,88,199);
}

.employers-overview_card .employers-overview_name {
    align-self: end;
}


/* ===== JOB SEEKER ===== */
/* JOB SEEKER - STRUCTURE */
.job-seeker_container {
    --gap: var(--default_spacing_small);
    container-type: inline-size;
    container-name: jobSeekerPageWrapper;
    justify-content: center;
}

.job-seeker_right-bg-container {
    width: 100%;
}

/* JOB SEEKER - ASIDE */
/* Aside - Profile pic */
.job-seeker_aside-account_container {
    justify-items: center;
    gap: var(--gap);
    padding: var(--default_spacing_small) 0 calc(1.5 * var(--default_spacing)) 0;
}

.job-seeker_aside-account_icon {
    width: 4.5rem;
    height: 4.5rem;
    border-radius: 50%;
    place-content: center;
    font-size: var(--fs_x_large);
    color: rgb(255,255,255);
    background-color: rgb(174,186,200);
}

.job-seeker_aside-account_name {
    font-weight: var(--fw_x_bold);
}

/* Aside - Buttons */
.job-seeker_submenu-button_wrapper .button {
    --button_fontsize: 1rem;
    --fw_regular: 400;
    --button_padding: 0.5rem;
    color: rgb(52,56,112);
    padding: var(--button_padding) calc(1.5 * var(--button_padding));
    margin: 0.3rem 0.3rem 0.3rem 0;
    border: none;
    white-space: nowrap;
    transition: background-color 0.15s ease;
}

.job-seeker_submenu-button_wrapper .button.active {
    color: rgb(255,255,255);
    background-color: rgb(52,56,112);
}

.job-seeker_submenu-button_wrapper .button:before {
    font-size: var(--fs_medium);
}

.is-complete-circle {
    margin-left: calc(0.5 * var(--default_spacing_small));
}

.is-complete-circle:before {
    content: '';
    display: inline-block;
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
    background-color: rgb(253,88,143);
}

.job-seeker_aside-auxiliary-submenus {
    margin-top: 2rem;
}

/* JOB SEEKER - CONTENT */
.job-seeker_content {
    --gap: var(--default_spacing);
    --img-profile_width: 120px;
    container-type: inline-size;
    container-name: jobSeekerContentWrapper;
}

.inactive {
    opacity: 0.3;
    pointer-events: none;
}

/* Container Queries for JOB SEEKER Structure */
@container jobSeekerPageWrapper (min-width: 750px) {
    .job-seeker_left-bg-container {
        width: 30%;
        display: flex;
        justify-content: flex-end;
    }

    .job-seeker_right-bg-container {
        display: flex;
        justify-content: flex-start;
        flex: 1;
    }

    .job-seeker_content {
        width: 100%;
        max-width: 1360px;
        padding: calc(2.5 * var(--default_spacing));
    }

    .job-seeker_aside {
        width: 290px;
    }

    .job-seeker_submenu-button_wrapper .button {
        width: 100%;
    }

    .job-seeker_submenu-button_wrapper .button:not(.active):hover {
        background-color: rgb(236,240,242);
    }

    .job-seeker_aside-auxiliary-submenus {
        margin-top: 8rem;
    }
}

@container jobSeekerPageWrapper (max-width: 749.9px) {
    .job-seeker_container {
        flex-direction: column;
    }

    .job-seeker_right-bg-container {
        padding: var(--default_spacing) 0;
    }

    .job-seeker_aside {
        width: 100%;
    }

    .job-seeker_submenu-button_wrapper {
        display: inline-block;
    }

    .job-seeker_submenu-button_wrapper .button {
        background-color: rgb(236,240,242);
    }
}

/* JOB SEEKER - CARDS - Default */
.job-seeker_card {
    --gap: var(--default_spacing_small);
    --fw_500: 500;
    display: grid;
    container-type: inline-size;
    container-name: jobSeekerCard;
    gap: var(--gap);
    margin-top: var(--default_spacing);
}

.job-seeker_card h4:not(.job-offer_title) {
    color: #4B5E7C;
}

.job-seeker_card:not(:has(.job-seeker-permission_wrapper)) span.text_body {
    font-weight: var(--fw_500);
    line-height: var(--default_line_height);
}

.job-seeker_card_grid-equal-cols {
    --repeat: 1;
    grid-template-columns: repeat(var(--repeat), minmax(80px, 1fr));
    gap: var(--gap);
}

.job-seeker_card_grid-gap {
    gap: var(--gap);
}

/* Job Seeker CARD - Buttons */
.job-seeker_edit-button {
    margin: 0.3rem 0 0.3rem 0.3rem;
}

.job-seeker_save-button input {
    /*background-color: red!important;*/
}

.delete-button-square-no-bg {
    font-size: 1.3rem;
    min-height: var(--min_target_size);
    padding-inline-start: 0.8rem;
}

.missing-badge {
    display: inline-block;
    font-size: var(--fs_x_small);
    color: rgb(255,255,255);
    background-color: rgb(253,88,143);
    border-radius: 0.3rem;
    padding: 0.3rem;
    margin-top: 0.15rem;
    line-height: 1;
}

/* Job Seeker CARD - Edit Forms */
.job-seeker_edit-form {
    width: 100%;
    max-width: 100%;
    padding: 0;
}

.job-seeker_edit-form > div {
    margin: 0 0 var(--default_spacing_small) 0;
}

.job-seeker_form-content fieldset {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    column-gap: 0.5rem;
    align-items: start;
}

.job-seeker_form-content fieldset > div {
    display: grid;
    grid-template-columns: subgrid;
}

fieldset.item_grouping_background {
    padding-inline: var(--default_spacing_small);
    padding-block: var(--default_spacing_small);
    margin-inline: 0;
    margin-block: var(--default_spacing_small) var(--default_spacing);
    border-radius: var(--border_radius);
    background-color: rgb(236,240,242);
}

/* ==== JOB SEEKER - DASHBOARD ==== */
.job-seeker_dashboard_show-download-buttons {
    gap: var(--gap);
    padding: var(--default_spacing) 0 3.5rem 0;
}

.job-seeker_dashboard_show-download-buttons > div {
    display: grid;
    grid-template-rows: var(--min_target_size);
    align-items: center;
    justify-items: start;
}

.job-seeker_dashboard_show-download-buttons > div:has(.text-available-from) {
    grid-template-rows: var(--min_target_size) auto;
    row-gap: var(--default_spacing_small);
}

/* JOB SEEKER - DASHBOARD - Profile Score */
/* Pie chart */
.pie-container {
    display: grid;
    justify-items: center;
    gap: var(--gap);
    padding: var(--default_spacing_small) 0 calc(2 * var(--default_spacing)) 0;
}

.pie {
    --pie: 180px;
    position: relative;
    width: var(--pie);
    height: var(--pie);
}

.pie:before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    /* variable defined in mijnProfiel */
    background: conic-gradient(rgb(84,88,199) calc(var(--percentage) * 1%),rgba(171,210,241) 0);
}

.pie-profile-score {
    font-size: 0.8em;
}

/* JOB SEEKER - DASHBOARD - Progress Tracker */
.progress-tracker-wrapper {
    width: 100%;
    display: grid;
    container-type: inline-size;
    container-name: progressTrackerCard;
}

.progress-grid-container {
    gap: var(--gap);
}

.progress-bar-container {
    border-radius: 1rem;
    position: relative;
    background-color: rgba(171,210,241);
    height: 0.675rem;
}

.progress-bar {
    border-radius: 1rem;
    position: relative;
    background-color: rgba(84,88,199);
    height: 100%;
    width: 0;
}

.progress-bar:after {
    content: '';
    position: absolute;
    inset: 0;
    background-size: 1.5em 1.5em;
}

.progress {
    /* variable defined in mijnProfiel */
    width: calc(var(--width) * 1%);
}

@container progressTrackerCard (min-width: 350px) {
    .progress-grid-container {
        --gap: 2rem;
        grid-template-columns: 1fr 1fr;
    }

    .progress-container {
        align-content: space-between;
    }
}

/* ==== JOB SEEKER - ABOUT ==== */
/* JOB SEEKER - ABOUT - My Details */
.about_my-details {
    grid-template-columns: var(--img-profile_width) 1fr;
    column-gap: 3rem;
}

.about_my-details_image {
    width: var(--img-profile_width);
    height: var(--img-profile_width);
}

.about_my-details_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.about_my-details_content {
    display: grid;
    gap: var(--gap);
}

.about_my-details_upload-image_grid-container {
    grid-template-columns: var(--img-profile_width) 1fr;
    column-gap: 3rem;
    align-items: center;
}

/* JOB SEEKER - ABOUT - My Details - EDIT */
.about_my-details_upload-image_grid-container:has(.about_my-details_upload-input-with-label) {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

.about_my-details_upload-input-with-label {
    flex-grow: 1;
    min-width: 9rem;
}

/* Add link: input with icon at the end  */
.grid_col1_with_icon_alignment {
    grid-template-columns: minmax(0, 1fr) minmax(1.5rem, auto);
}

.grid_col1_with_icon_alignment:has(.icon-delete) span.icon-delete {
    grid-column: 2;
}

.grid_col1_with_icon_alignment:has(.icon-delete) span.icon-delete:not(.input-with-suggestions-current-suggestion-item-delete) {
    position: relative;
    top: calc(0.5 * var(--min_height_input) - 0.5rem);
    height: -moz-fit-content;
    height: -webkit-fit-content;
    height: fit-content;
}

/* ==== JOB SEEKER - SKILLS ==== */
.skills_group-container,
.skills_resume-files_group-container {
    padding: var(--default_spacing);
    border-radius: var(--border_radius);
    border: 1px solid rgb(174,186,200);
}

.skills_resume-files_group-container {
    padding: 0 var(--default_spacing_small);
}

.skills_resume-files_group-container a {
    overflow-wrap: anywhere;
    font-weight: var(--fw_500);
    margin-right: 0.625rem;
}

/* JOB SEEKER - SKILLS - Job Experience */
.job-seeker_job-experience_container {
    font-weight: var(--fw_500);
    align-content: start;
}

/* ==== JOB SEEKER - JOB OFFERS ==== */
.joboffers_applications_table-wrapper {
    width: 100%;
    overflow-y: auto;
}

.joboffers_applications_table {
    width: 100%;
    margin: 0;
}

.joboffers_applications_table th {
    font-size: var(--fs_small);
    text-align: left;
    padding-bottom: 0.3rem;
}

.joboffers_applications_table td {
    font-size: var(--fs_small);
}

.joboffers_applications_table tr td:last-of-type {
    font-size: var(--fs_regular);
}

.joboffers_applications_table td a {
    text-decoration: underline;
    font-weight: var(--fw_500);
}

/* ==== JOB SEEKER - EVENTS ==== */
.job-seeker_event_card_wrapper {
    --gap: var(--default_spacing_small);
    --js_padding: clamp(var(--default_spacing), 5cqi, 3.125rem);
    container-type: inline-size;
    container-name: jobSeekerEventCard;
}

.job-seeker_event_card_content {
    padding: var(--js_padding);
}

.job-seeker_event_card_content-buttons {
    gap: var(--gap);
}

/* Accordion */
.job-seeker_event_card_accordion_header-amount-button {
    --button_fontsize: 0.8rem;
    --button_padding: 0.4em;
    --border_radius_button: 0.3125rem;
    margin-left: var(--default_spacing_small);
}

.nspt-event_program-part,
.nspt-event_speeddate {
    border-bottom: 1px solid rgba(174,186,200,0.5);
}

.nspt-event_program-part:last-of-type,
.nspt-event_speeddate:last-of-type {
    border-bottom: none;
}

@container jobSeekerEventCard (min-width: 800px) {
    .job-seeker_event_card {
        grid-template-columns: 2fr 1fr;
    }

    .job-seeker_event_card_content {
        grid-column: 1;
        grid-row: 1;
    }

    .job-seeker_event_card_img {
        grid-column: 2;
        grid-row: 1;
        height: 100%;
        object-fit: cover;
    }
}

/* ===== JOB SEEKER  - PERMISSION, TODO temporary, needs styling! ===== */
.job-seeker-permission_wrapper {
    --status_color: rgb(171,210,241);
    --color_allow: #507A49; /* allow */
    --color_deny: #E02646; /* deny */
    display: grid;
    container-type: inline-size;
    container-name: JobSeekerPermission;
    padding: var(--default_spacing_small);
    border-radius: var(--border_radius);
    border: 1px solid rgb(174,186,200);
}

.job-seeker-permission_container {
    display: grid;
    gap: var(--gap);
}

.job-seeker-permission_employer-details {
    --gap: var(--default_spacing);
    gap: var(--gap);
}

.job-seeker-permission_employer-logo {
    max-width: 7rem;
}

.job-seeker-permission_employer-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    margin: 0;
}

.split-button.allow {
    --split_button_color: #507A49;
}

.split-button.deny {
    --split_button_color: #E02646;
}

.job-seeker-permission_status-container:has(.split-button.allow[aria-pressed="true"]) {
    --status_color: var(--color_allow);
}

.job-seeker-permission_status-container:has(.split-button.deny[aria-pressed="true"]) {
    --status_color: var(--color_deny);
}

@container JobSeekerPermission (max-width: 450px) {
    /*split button in 2 losse buttons*/
}

@container JobSeekerPermission (max-width: 500px) {
    .job-seeker-permission_status-container {
        border-block-start: 0.4em solid var(--status_color);
    }

    .job-seeker-permission_status-container,
    .job-seeker-permission_details-container {
        padding-block-start: var(--default_spacing_small);
        padding-inline: var(--default_spacing_small);
    }
}

@container JobSeekerPermission (min-width: 500px) {
    .job-seeker-permission_container {
        grid-template-columns: 3fr minmax(min-content,1fr);
    }

    .job-seeker-permission_status-container .split-button-container {
        min-width: max-content;
    }

    .job-seeker-permission_status-container {
        border-inline-start: 0.4em solid var(--status_color);
    }

    .job-seeker-permission_status-container,
    .job-seeker-permission_details-container {
        padding-inline-start: var(--default_spacing_small);
        padding-block: var(--default_spacing_small);
    }
}

/* ===== JOB SEEKER  - SEARCH RESULTS (Frontoffice) ===== */
.job-seeker_card.employer-search.drop-shadow-container {
    position: relative;
    padding: var(--default_spacing);
}

.job-seeker_profile-pie-chart_container {
    --img-profile_width: 140px;
    gap: var(--default_spacing_small);
    grid-template-columns: 1fr 1fr;
    align-items: start;
}

.job-seeker_profile-pie-chart_container .pie-container {
    padding: 0;
}

.job-seeker_search-info_frontoffice {
    top: calc(-0.5 * var(--default_spacing));
    right: var(--default_spacing);
    color: rgb(52,56,112);
    background-color: rgb(171,210,241);
    z-index: 1;
}

/* Search Results Details (Frontoffice) */
.job-seeker_search-details_content-container {
    --fw_500: 500;
    container-type: inline-size;
    container-name: JobSeekerSearchDetailsFrontoffice;
}

.job-seeker_search-details_info {
    gap: var(--default_gap_small);
}

.job-seeker_search-details_info h4,
.table_title {
    color: #4B5E7C;
}

.job-seeker_search-details_info span.text_body {
    font-weight: var(--fw_500);
    line-height: var(--default_line_height);
}

.job-seeker_search-details_info.education .job-seeker_card_grid-equal-cols {
    --repeat: 2;
    grid-template-columns: repeat(var(--repeat), minmax(80px, 1fr));
    gap: var(--default_gap_small);
}

/* Aside */
.job-seeker_search-details_profile-pie-chart_container .about_my-details_image {
    --img-profile_width: 100px;
    margin-bottom: 0.5rem;
}

.job-seeker_search-details_profile-pie-chart_container .pie {
    --pie: 100px;
}

.job-seeker_search-details_profile-pie-chart_container .pie-container {
    --gap: 0.5rem;
    padding: 0;
}

@container JobSeekerSearchDetailsFrontoffice (min-width:750px) {
    .job-seeker_search-details_info:not(.education) .job-seeker_card_grid-equal-cols {
        --repeat: 3;
        grid-template-columns: repeat(var(--repeat), minmax(80px, 1fr));
    }
}

@container JobSeekerSearchDetailsFrontoffice (max-width:750px) {
    .job-seeker_search-details_info .job-seeker_card_grid-equal-cols {
        gap: var(--default_gap_small);
    }
}

/* Container Queries for JOB SEEKER  - CARD */
@container jobSeekerCard (min-width: 400px) {
    .job-seeker_card:not(.about_my-details) .job-seeker_card_grid-equal-cols {
        --repeat: 2;
        column-gap: var(--default_spacing);
    }

    .job-seeker_profile-pie-chart_container {
        grid-template-columns: 10fr 1fr;
    }

    .job-seeker_card.employer-search .pie {
        --pie: 140px;
    }
}

@container jobSeekerCard (max-width: 400px) {
    .job-seeker_profile-pie-chart_container {
        justify-items: center;
    }

    .job-seeker_card.employer-search .pie {
        --pie: 100px;
    }

    .job-seeker_profile-pie-chart_container {
        --img-profile_width: 100px;
    }
}

@container jobSeekerCard (min-width: 500px) {
    .job-seeker_card.about_my-details .job-seeker_card_grid-equal-cols {
        --repeat: 2;
        column-gap: var(--default_spacing);
    }

    .skills_resume-files > div.display_flex_row:first-of-type {
        align-items: center;
    }
}

@container jobSeekerCard (max-width: 500px) {
    .skills_resume-files > div.display_flex_row:first-of-type {
        flex-direction: column;
        align-items: start;
    }

    .skills_resume-files_upload-buttons {
        margin-top: 0.625rem;
    }
}

@container jobSeekerCard (max-width: 650px) {
    .job-seeker_job-experience_container {
        grid-column: span 2;
    }
}

@container jobSeekerCard (min-width: 1000px) {
    .job-seeker_card.employer-search .job-seeker_card_grid-equal-cols {
        --repeat: 3;
    }
}

/* Container Queries for JOB SEEKER - CONTENT */
@container jobSeekerContentWrapper (min-width: 500px) {
    .pie-chart-and-progress-container {
        display: grid;
        grid-template-columns: auto 1fr;
        align-items: start;
        column-gap: 3.5rem;
    }
}

@container jobSeekerContentWrapper (max-width: 500px) {
    .job-seeker_card.about_my-details {
        grid-template-columns: 100%;
    }

    .about_my-details_image {
        justify-self: center;
    }
}

@container jobSeekerContentWrapper (max-width: 400px) {
    .job-seeker_form-content fieldset {
        grid-template-columns: repeat(auto-fill, 100%);
    }
}


/* ===== PAGINATION ===== */
.pagination-main-container {
    gap: var(--default_spacing_small);
}

.pagination {
    gap: 0.15rem;
}

.pagination li {
    margin: 0;
}

.button-pagination {
    --fw_regular: 500;
    --button_fontsize: 0.75rem;
    display: inline-flex;
    margin: 0.15rem 0.3rem;

    font-family: 'Roboto Flex','Arial',sans-serif;
    font-size: var(--button_fontsize);
    font-weight: var(--fw_regular);
    text-align: center;
    color: rgb(52,56,112);
    background-color: rgb(255,255,255);

    padding: var(--button_padding) calc(1.5 * var(--button_padding));
    border: var(--button_border_width) solid transparent;
    border-radius: var(--border_radius_button);

    -webkit-transition: background-color var(--animate_duration) ease, border var(--animate_duration) ease;
    transition: background-color var(--animate_duration) ease, border var(--animate_duration) ease;
}

.button-pagination.active {
    color: rgb(255,255,255);
    background-color: rgb(52,56,112);
}

.button-pagination.inactive {
    opacity: 0.15;
}

.button-pagination:hover:not(.pagination-page-button) {
    color: rgb(84,88,199);
}

/* Page numbers */
.pagination-page-button {
    border: var(--button_border_width) solid rgb(255,255,255);
}

.bg_white .pagination-page-button {
    border: var(--button_border_width) solid rgb(52,56,112);
}

.pagination-page-button:hover:not(.active) {
    color: rgb(255,255,255);
    border-color: rgb(174,186,200);
    background-color: rgb(174,186,200);
}

/* Prev / Next page arrows */
.pagination-previous-page-button,
.pagination-next-page-button {
    --button_fontsize: 1rem;
    --button_padding: 0.5em;
    transform: translateX(0);
    transition: transform var(--animate_duration) ease-in-out;
}

.pagination-next-page-button:hover:not(.inactive) {
    transform: translateX(0.5em);
}

.pagination-previous-page-button:hover:not(.inactive) {
    transform: translateX(-0.5em);
}

/* Select items per page */
.pagination-main-container > form > .inputrow,
    .pagination-main-container .inputrow {
        -webkit-flex-direction: column;
        flex-direction: column;
    }

.pagination-main-container form .inputrow_label,
    .pagination-main-container .inputrow_label {
        font-size: var(--fs_small);
        padding: 0;
        float: none;
        width: auto;
    }


/* ===== GOOGLE MAPS ===== */
/* Job Offer Search Map */
.job-offer_search-map_container .job-offer_wrapper,
.education-courses_search-map_container .education-courses_wrapper {
    --jo_padding: clamp(var(--default_spacing_small), 2.5cqi, 1.5rem);
}

.google-map {
    height: clamp(30rem, 35cqi, 35rem);
}

/* TODO MELO, CHECK CSS */
/* Markers on Search Map */
.google-maps-marker-job-offers {
    align-items: center;
    background-color: rgb(52,56,112);
    border-radius: 50%;
    color: #FFFFFF;
    display: flex;
    font-size: 14px;
    gap: 15px;
    height: 30px;
    justify-content: center;
    padding: 4px;
    position: relative;
    transition: all 0.3s ease-out;
    min-width: 30px;
    transform: translateY(-9px);
}

.google-maps-marker-job-offers::after {
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-top: 9px solid rgb(52,56,112);
    content: '';
    height: 0;
    left: 50%;
    position: absolute;
    top: 90%;
    transform: translate(-50%, 0);
    transition: all 0.3s ease-out;
    width: 0;
    z-index: 1;
}

.google-maps-marker-job-offers .icon {
    align-items: center;
    display: flex;
    justify-content: center;
    color: #ffffff;
}

.google-maps-marker-job-offers .icon svg {
    height: 20px;
    width: auto;
}

/* Placeholder Job Offer Details */
.google-maps-placeholder-container {
    display: -ms-grid;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    cursor: pointer;

    user-select: none;
    -moz-user-select: none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
}

.google-maps-placeholder-image,
.google-maps-placeholder-title {
    grid-column: 1 / -1;
    grid-row: 1 / -1;
}

.google-maps-placeholder-image {
    height: clamp(30rem, 35cqi, 35rem);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: cover;
    background-color: rgb(52,56,112);
}

.google-maps-placeholder-image:hover {
    background-blend-mode: screen;
}

.google-maps-placeholder-title {
    font-family: 'Exo','Arial',sans-serif;
    font-size: var(--fs_large);
    font-weight: var(--fw_bold);
    /*color: rgb(*//*);*/
    place-self: center;
}

/* Search Map Pagination */
.job-offer_search-map div {
    display: -webkit-inline-flex;
    display: inline-flex;
    min-height: var(--min_target_size);
}

.job-offer_search-map div button {
    min-width: var(--min_target_size);
}

.job-offer_search-map_pagination-text,
.education-courses_search-map_pagination-text {
    display: inline-block;
    place-content: center;
    font-size: var(--fs_x_small);
    padding: 0 var(--default_spacing_small);
}


/* TABLE GRID with icon at the end - where is this used? */
.grid_col7_with_icon_alignment {
    grid-template-columns: repeat(6, minmax(0, 1fr)) 1.5rem;
}

.grid_col7_with_icon_alignment {
    gap: var(--default_spacing_small);
}

.grid_col7_with_icon_alignment:has(.icon-delete) span.icon-delete {
    grid-column: 7;
}

.grid_col7_with_icon_alignment:has(.icon-delete) span.icon-delete:not(.input-with-suggestions-current-suggestion-item-delete) {
    position: relative;
    top: calc(0.5 * var(--min_height_input) - 0.5rem);
    height: -moz-fit-content;
    height: -webkit-fit-content;
    height: fit-content;
}

/* ===== NSPT EVENT ===== */
/* NSPT EVENT - Cards */
/* Wrapper div always needed for container queries! */
.nspt-event_wrapper {
    --event_padding: clamp(var(--default_spacing), 5cqi, 3.125rem);
    container-type: inline-size;
    container-name: nsptEvent;
    width: 100%;
    margin-top: var(--default_spacing);
}

.nspt-event_card {
    min-height: 300px;
}

.nspt-event_img_container {
    max-height: 335px;
}

.nspt-event_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    margin: 0;
}

.nspt-event_content_container,
.nspt-event_actions_container {
    padding: var(--event_padding);
}

.nspt-event_content_container {
    padding-bottom: var(--default_spacing_small);
}

.nspt-event_actions_container {
    padding-top: 0;
    -webkit-align-items: end;
    align-items: end;
}

.nspt-event_actions_container:has(label + select) .button {
    min-height: var(--min_height_input);
    margin: 0.15em 0 0.15em var(--default_spacing_small);
    place-content: center;
}

.nspt-event_date_container {
    --fw_medium: 500;
    font-weight: var(--fw_medium);
    gap: 0.6em var(--default_spacing);
}

.nspt-event_date {
    /*white-space: nowrap;*/
}

.button-reserved {
    background-color: var(--color_valid);
    pointer-events: none;
}

.button-fully-booked {
    background-color: rgb(174,186,200);
    pointer-events: none;
}

/* NSPT EVENT - Speeddates */
.nspt-event_wrapper.nspt-event_speeddate_card-container {
    --event_padding: clamp(var(--default_spacing_small), 3cqi, 2rem);
}

.nspt-event_speeddate_card-container .nspt-event_card {
    min-height: unset;
}

.nspt-event_speeddate_card-container .nspt-event_img_container {
    max-height: clamp(120px,calc(25cqi + 1vw),30cqi);
}

@container nsptEvent (min-width: 550px) {
    .nspt-event_speeddate_card-container .nspt-event_card:has(.nspt-event_img) {
        grid-template-columns: minmax(12rem, 12cqi) 1fr;
    }

    .nspt-event_speeddate_card-container .nspt-event_card:has(.nspt-event_img) .nspt-event_content_container,
    .nspt-event_speeddate_card-container .nspt-event_card:has(.nspt-event_img) .nspt-event_actions_container {
        grid-column: 2;
    }

    .nspt-event_speeddate_card-container .nspt-event_img_container {
        max-height: unset;
        grid-row: span 2;
    }
}

@container nsptEvent (min-width: 768px) {
    .nspt-event_card:has(.nspt-event_img) {
        grid-template-columns: minmax(18rem, 18cqi) 1fr;
    }

    .nspt-event_card:has(.nspt-event_img) .nspt-event_content_container,
    .nspt-event_card:has(.nspt-event_img) .nspt-event_actions_container {
        grid-column: 2;
    }

    .nspt-event_img_container {
        max-height: unset;
        grid-row: span 2;
    }
}

/* NSPT EVENT - Details */
.nspt-event_details_visual-container {
    border-radius: var(--border_radius_button);
    overflow: clip;
    margin: 0 auto;
}

.nspt-event_details_visual-content:has(.badge-limited-container) {
    position: relative;
}

.badge-limited-container {
    top: calc((-1 * var(--default_spacing)) / 2);
}

.nspt-event_anchor-container {
    row-gap: 0;
}

.nspt-event_anchor {
    line-height: 2;
}

.nspt-event_anchor:not(:before) {
    text-decoration: underline;
}

.nspt-event_speeddate_card-container {
    padding: 0 var(--default_spacing_small);
}

.inputrow.inputrow_column {
    flex-direction: column;
}

.inputrow.inputrow_column .inputrow_label {
    max-width: 100%;
}

.inputrow.inputrow_column .inputrow_input {
    width: 100%;
}


@media (min-width: 1024px) {
    .nspt-event_details_visual-container {
        --padding: calc(2 * var(--default_spacing));
        width: 100%;
        max-height: 38rem;
        display: grid;
        grid-template-columns: var(--padding) 3fr 2fr var(--padding);
        grid-template-rows: 1fr auto var(--padding);
        align-content: end;
    }

    .nspt-event_details_visual-container img {
        grid-column: 1 / -1;
        grid-row: 1 / -1;
        height: -webkit-fill-available;
        height: stretch;
        object-fit: cover;
    }

    .nspt-event_details_visual-content {
        grid-column: 2 / 3;
        grid-row: 2;
        border-radius: var(--border_radius);
    }
}

/* CUSTOM STYLING */
.title_border_left {
    border-inline-start: 0.25em solid rgb(171,210,241);
    padding-inline-start: var(--default_spacing_small);
}

.job-offer_card:has(.job-offer_premium_img) .title_border_left,
.education-courses_card:has(.job-offer_premium_img) .title_border_left {
    border-inline-start: 0.25em solid rgb(253,88,143);
}

.max_width_readability {
    width: 100%;
    max-width: 75ch;
}

.inputrow_input:not(:focus-visible).bg_a ::placeholder,
.inputrow_input:not(:focus-visible).bg_b ::placeholder,
.inputrow_input:not(:focus-visible).bg_d ::placeholder,
.inputrow_input:not(:focus-visible).bg_black ::placeholder {
    color: rgba(255,255,255,0.6);
}
@media only screen and (min-device-width : 320px)
and (max-device-width : 480px)
and (orientation : landscape) {

    /* Prevent font scaling in landscape while allowing user zoom */
    html {
        -webkit-text-size-adjust: 100%;
    }
   
}


@media (min-width:1200px) {

    .inputrow_label {
        width: 30%;
        max-width: 400px;
    }

}

@media (min-width:1000px) {

    .div1_12,
    .div2_12,
    .div3_12,
    .div4_12,
    .div5_12,
    .div6_12,
    .div7_12,
    .div8_12,
    .div9_12,
    .div10_12,
    .div11_12,
    .div12_12 {
        --spacing_unit_percentage: 1%;
    }
}

@media (max-width:1000px) {

    .div3_12,
    .div4_12,
    .div8_12,
    .div9_12 {
        --flex_width: 50%;
    }

    .grid_col5 {
        grid-template-columns: repeat(3,minmax(0, 1fr));
    }

}
    
@media (max-width:900px) {

    .grid_col2,
    .grid_col3,
    .grid_col4,
    .grid_col5,
    .grid_col25_75,
    .grid_col75_25,
    .grid_col33_67,
    .grid_col67_33 {
        grid-template-columns: repeat(2,minmax(0, 1fr));
    }

    .div5_12,
    .div7_12 {
        --flex_width: 50%;
    }

}

@media (max-width:600px) {

    .div1_12,
    .div2_12,
    .div3_12,
    .div4_12,
    .div5_12,
    .div6_12,
    .div7_12,
    .div8_12,
    .div9_12,
    .div10_12,
    .div11_12,
    .div12_12 {
        --spacing_unit_percentage: 3%;
        --flex_width: 100%;
    }

    .grid_col2,
    .grid_col3,
    .grid_col4,
    .grid_col5,
    .grid_col25_75,
    .grid_col75_25,
    .grid_col33_67,
    .grid_col67_33 {
        grid-template-columns: minmax(0, 1fr);
    }

    .topbar {
        -webkit-justify-content: space-between;
        justify-content: space-between;
    }

    .footer_copyright {
        height: auto;
        -webkit-flex-direction: column;
        flex-direction: column;
    }

}


:root {
    --topbar_height: 4rem;

/* Font sizes */
    --fs_x_small:   0.878rem;
    --fs_small:     0.937rem;
    --fs_regular:   1rem;
    --fs_medium:    1.138rem;
    --fs_large:     1.296rem;
    --fs_x_large:   1.383rem;
    --fs_xx_large:  1.476rem;
}

html	{	font-size: var(--fs_regular);	}
H1 		{	font-size: var(--fs_xx_large);	}
H2 		{	font-size: var(--fs_x_large);	}
H3 		{	font-size: var(--fs_large);	    }
H4 		{	font-size: var(--fs_medium);	}
H5 		{	font-size: var(--fs_medium);	}

H1, H2, H3 {
    font-family: 'Exo','Arial',sans-serif;
    font-weight: var(--fw_bold);
}

/* Fallback for links */
a:not([class*="text_"]) {
    color: rgb(52,56,112);
}

a:not([class*="text_"]):hover {
    color: rgb(84,88,199);
}

/* Structure */
.site,
.site_content {
    display: -ms-grid;
    display: grid;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    grid-template-rows: 1fr auto;
    /*user-select: none;*/
}

.site {
    grid-template-rows: auto 1fr;
    width: 100%;
    height: 100vh;
}

.site_content {
    height: 100%;
}

.calculated_height_container {
    grid-template-rows: 1fr;
    grid-template-columns: 1fr;
    max-height: 100%;
    min-height: var(--calculated_container_height);
    height: var(--calculated_container_height);
}

.main_container_div {
    grid-template-rows: auto 1fr;
}

.main_input_grid {
    position: relative;
    grid-template-areas: "langnav content right";
    grid-template-columns: var(--langnav_width) 1fr minmax(0, max-content);
    -webkit-transition: all 2s ease;
    transition: all 2s ease;
}

/* ===== HEADER ===== */
/* Topbar */
.topbar {
    min-height: var(--topbar_height);
    padding: 0 0.9em;
}

.logo_container {
    max-height: var(--topbar_height);
}

.logo_container svg,
.logo_container img {
    height: calc(var(--topbar_height) - var(--default_spacing_small));
}

.hamburger_animated_button {
    --color_menu: rgb(52,56,112);
}

/* Language Picker */
.language_picker_menu {
    --spacing_language_picker_menu_small: 0.15rem;
}

/* Language navigation tabs */
.langnav_container {
    grid-area: langnav;
    overflow-x: hidden;
    padding-left: var(--default_spacing);
}

.langnav_border {
    border-right: 1px solid rgb(236,240,242);
    height: 100%;
    z-index: 0;
}

.langnav_link {
    width: 100%;
    height: 4rem;
    margin-left: 0;
    border-radius: var(--border_radius) 0 0 var(--border_radius);
    border: 1px solid transparent;
    border-right: none;
    cursor: pointer;
    -webkit-transition: all 0.02s ease;
    transition: all 0.02s ease;
}

.langnav_link.active,
.langnav_link.active:hover {
    width: calc(100% + 2px);
    border-color: rgb(236,240,242);
    background-color: rgb(255,255,255);
    z-index: 2;
}

.langnav_link.active > * {
    margin-left: -2px;
}

.langnav_link:not(.disabled):not(.active):hover {
    border-color: rgb(236,240,242);
    background-color: rgba(174,186,200,0.5);
}

.langnav_link span:before {
    vertical-align: middle;
}

.flag {
    width: 40%;
    height: auto;
    margin: 0;
}

/* ===== MAIN CONTENT ===== */
/* Breadcrumb */
.breadcrumb_section {
    z-index: 3;
}

.breadcrumb_container {
    /*min-height: var(--breadcrumb_height);*/
}

/* Tab group navigation */
.tabgroup_container {
    font-family: 'Roboto Flex','Arial',sans-serif;
    font-weight: var(--fw_medium);
    width: calc(100% - var(--langnav_width));
    margin-left: var(--langnav_width);
    line-height: 2em;
}

.tabgroup_link {
    position: relative;
    margin: 0 var(--default_spacing_small);
    padding: calc(0.5 * var(--default_spacing_small)) 0;
    cursor: pointer;
}

.tabgroup_link.active,
.tabgroup_link:not(.disabled):hover {
    color: rgb(84,88,199);
}

.tabgroup_link:first-of-type {
    margin-left: 0;
    padding-left: 0;
}

.tabgroup_link:after {
    position: absolute;
    content: '';
    bottom: 0;
    left: 0;
    width: 0;
    height: 4px;
    background-color: rgb(84,88,199);
    -webkit-transition: all var(--animate_duration) ease;
    transition: all var(--animate_duration) ease;
}

.tabgroup_link.active:after,
.tabgroup_link:not(.disabled):hover:after {
    width: 100%;
}

.main_input_container,
.right_input {
    border-top: 1px solid rgb(236,240,242);
}

.main_input_container {
    grid-area: content;
    padding: calc(2 * var(--default_spacing));
}

.right_input {
    grid-area: right;
    width: var(--right_input_width);
}

/* Animate content width */
/* Grandparent needs to have grid-template-columns: minmax(2em, max-content) and a grid-area on the column you want to hide */
/* Parent needs to have a set width and grid-area */
/* Tab Show/hide needs same grid-area as parent (set in php function) */
.icon_show_hide {
    grid-column: -1;
    align-self: center;
    width: 2em;
    aspect-ratio: 1;
    padding: 0.3em var(--default_spacing_small);
    font-size: 150%;
    z-index: 3;
    cursor: pointer;
}

.transition_show_hide_end {
    width: 2em;
    overflow: hidden;
    opacity: 0;
}

/* Fixed button container bottom */
.fixed_bottom_button_container {
    z-index: 9;
    margin: 0;
    min-height: 60px;
}

.button.back_to_top_button {
    position: absolute;
    top: -1.5rem;
    right: 1rem;
}

/* ====== LIGHTGAlLERY ====== */
/* Pop-up Container */
/* nodig om de default lightgallery css te overschrijven */
.lg-backdrop {
    background-color: rgba(0,0,0,0.85) !important;
}

.popup_container_grid {
    display: -ms-grid;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr auto;
}

/* ===== LOGIN ===== */
section.bg_login {
    --topbar_height: 4em;
    min-height: calc(100vh - var(--topbar_height));
}

.bg_login {
    background: url("https://www.northseaporttalent.eu/frontoffice/resources/img/bg_login.jpg") no-repeat left bottom;
    background-size: cover;
}

.login_form {
    width: 80%;
    padding: calc(2 * var(--default_spacing));
    margin: auto;
}

.login_form .inputrow_input {
    width: 100%;
}

/* ===== OTHER ===== */
/* Key Value Tables */
.keyvalue_table {

}

.keyvalue_row {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0.3em 0.625em;
}

.keyvalue_row:nth-child(odd) {
    background-color: rgba(174,186,200,0.5);
}

.keyvalue_key {
    font-weight: var(--fw_bold);
}

.keyvalue_colon {
    text-align: center;
    width: 1em;
}

.keyvalue_value {
    flex: 1;
}

.keyvalue_value .button {
    margin-left: 1em;
}

/* Background-color input groups */
.bg_inputrow {
    position: relative;
}

.bg_inputrow:before {
    position: absolute;
    content: '';
    background-color: inherit;
    top: calc(-0.25 * var(--default_spacing));
    bottom: calc(-0.25 * var(--default_spacing));
    right: calc(-0.5 * var(--default_spacing));
    left: calc(-0.5 * var(--default_spacing));
}

.bg_inputrow:first-of-type:before {
    border-radius: 0 10px 0 0;
}

/* Accordion compare old/new content */
.accordion-selector img {
    width: 50px;
}

.comparison-grid-container.order {
    grid-template-columns: 3fr repeat(2, minmax(0, 1fr));
    border-bottom: 1px solid rgb(174,186,200);
    padding-left: calc(50px + var(--default_spacing_small));
}

.comparison-grid-container.order:last-of-type {
    border-bottom: none;
}
/* CUSTOM BUTTONS */

/* INACTIVE BUTTONS */
.inputrow.inactive .button,
.inputrow.inactive button,
.inputrow.inactive input[type=button],
.inputrow.inactive input[type=submit],
.inputrow.inactive .button:hover,
.inputrow.inactive button:hover,
.inputrow.inactive input[type=button]:hover,
.inputrow.inactive input[type=submit]:hover,
.button:not(.button-pagination).inactive,
button.inactive,
input[type=button].inactive,
input[type=submit].inactive,
.button.inactive:hover,
button.inactive:hover,
input[type=button].inactive:hover,
input[type=submit].inactive:hover {
    background-color: rgb(174,186,200);
    cursor: initial;
}

/* ICONS & ERROR MESSAGES */
.error_message_row {
    color: rgb(52,56,112);
}

/* FORM */
.inputrow_input {
    flex: 2 0 0;
}

form {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
}


/* ===== FORM SPECIFIC MEDIA QUERIES ===== */

@media (min-width: 1200px) {

}

@media (max-width: 900px) {

    form > div > label,
    legend {
        float			: none;
        margin			: 0 0 0.3em 0;
        width			: 100%;
    }

    form > div > div,
    form > div > fieldset > div {
        float			: none;
        width			: 100%;
    }

    .inputrow {
        -webkit-flex-direction: column;
        flex-direction	: column;
    }

    .inputrow_input,
    .inputrow_label,
    legend {
        width: 100%;
    }

    input[type=text],
    input[type=search],
    input[type=email],
    input[type=tel],
    input[type=url],
    input[type=password],
    textarea,
    select {
        width			: 100%;
    }

}


/* ===== STATS ===== */
.counter {
    text-align: center;
}

section.counter {
    margin-top: 6.25em;
    max-width: 750px;
}

.counter-icon {
    font-size: 2em;
    color: rgb(52,56,112);
}

.stat-counter {
    font-size: 3em;
    color: rgb(52,56,112);
}

/* ===== DASHBOARD ===== */
.dashboard-blok {
    position: relative;
    flex: 1 0 33%;
    min-width: 270px;
    height: auto;
    margin: 1%;
    padding: 3em;
    text-align: center;
    background-color: rgb(174,186,200);
    overflow: hidden;
}

div .dashboard-blok-icon {
    display: inline-block;
    width: 5em;
    height: 5em;
    border-radius: 50%;
    margin-bottom: 5%;
    color: rgb(52,56,112);
    background-color: rgb(255,255,255);
}

div .dashboard-blok-icon:before {
    font-size: 2.5em;
    line-height: 2;
}

.dashboard-blok h2 {
    font-size: 4.75em;
}

.dashboard-blok p {
    font-size: 1.25em;
}

/* The "shine" element */
.dashboard-blok-shine:after {
    animation: shine 8s ease-in-out infinite;
    animation-fill-mode: forwards;
    content: "";
    position: absolute;
    top: -110%;
    left: -210%;
    width: 200%;
    height: 200%;
    opacity: 0;
    transform: rotate(30deg);

    background: rgba(255,255,255, 0.07);
    background: linear-gradient(to right,
    rgba(255,255,255, 0.07) 0%,
    rgba(255,255,255, 0.13) 77%,
    rgba(255,255,255, 0.5) 92%,
    rgba(255,255,255, 0.0) 100%
    );
}

.dashboard-blok-shine:active:after {
    opacity: 0;
}

@keyframes shine {
    10% {
        opacity: 1;
        top: -30%;
        left: -30%;
        transition-property: left, top, opacity;
        transition-duration: 0.5s, 0.5s, 0.12s;
        transition-timing-function: ease;
    }
    30% {
        opacity: 0;
        top: -30%;
        left: -30%;
        transition-property: left, top, opacity;
    }
}

/* ===== Custom Styling Frontoffice ===== */
.aside_styling,
.content_styling {
    --lightness: 80%;
}

.content_styling:has(.job-offer-details_agency-applications) > div {
    padding: var(--default_spacing);
    border-radius: var(--border_radius);
    filter: drop-shadow(0 0 7px hsla(0, 0%, var(--lightness)));
}

/* ===== EMPLOYER ===== */
/* EMPLOYER Job Offer Creation */
.job-offer-creation_form-wrapper,
.job-offer-creation_form-wrapper > div,
.education-course-creation_form-wrapper,
.education-course-creation_form-wrapper > div {
    display: grid;
    grid-template-columns: 100%;
    align-items: start;
}

.job-offer-creation_form-content fieldset,
.education-course-creation_form-content fieldset {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    column-gap: 0.5rem;
    align-items: start;
}

.job-offer-creation_form-content fieldset > div,
.education-course-creation_form-content fieldset > div {
    display: grid;
    grid-template-columns: subgrid;
}

/* EMPLOYER Job Seeker Search */
.job-seeker_search-details_info span.text_body {
    font-size: var(--fs_medium);
}

.job-seeker_search-details .job-offer-details_aside-criteria {
    border-radius: 0;
}

/* ===== AGENCY ===== */
/* AGENCY Number of Applications */
.job-offer_actions_agency-applications-amount,
.education-course_actions_agency-applications-amount {
    place-content: center;
    min-height: var(--min_height_input);
}

/* AGENCY Job Offer Application Details */
@container jobOfferDetails (min-width: 750px) {
    .job-offer-details_aside {
        top: var(--default_spacing);
    }
}

.job-offer-details_agency-applications_table {
    width: 100%;
    margin-top: 1.25em;
    text-align: left;
}

.job-offer-details_agency-applications_table th {
    background-color: rgb(236,240,242);
}

.job-offer-details_agency-applications_table th:last-of-type {
    text-align: right;
}

.job-offer-details_agency-applications_table td {
    border-bottom: 2px solid rgb(236,240,242);
}



/* ====== MEDIAQUERIES ===== */
@media all and (min-width:1600px) {

    .main_input_container {
        padding: calc(2 * var(--default_spacing)) calc(4 * var(--default_spacing)) calc(2 * var(--default_spacing)) calc(2 * var(--default_spacing));
    }

}

@media all and (min-width:1500px) {

    .keyvalue_key {
        width: 15%;
    }

}

@media all and (min-width:1200px) {

    .login_form {
        max-width: 39em;
    }
}


@media all and (max-width:1200px) {

    :root {
        --right_input_width: 250px;
    }

}

@media (min-width:900px) {

    .img_align_left, .img_align_right {
        width: 35%;
    }

}

@media all and (max-width:900px) {

    .dataTables_wrapper .dataTables_length,
    .dataTables_wrapper .dataTables_filter {
        white-space: normal;
        padding: 0.2em;
    }

}

@media (min-width:800px) and (max-width:1500px) {

    .keyvalue_key {
        width: 20%;
    }

}

@media all and (max-width:800px) {

    .mobile_invisible {
        display: none;
        -webkit-transition: all 0.35s ease-in;
        transition: all 0.35s ease-in;
    }

    .mobile_visible {
        display: inherit;
        -webkit-transition: all 0.35s ease-in;
        transition: all 0.35s ease-in;
    }

    .site_submenu {
        display: none;
    }

    .main_input_grid {
        grid-template-columns: var(--langnav_width) 1fr;
    }

    .topbar {
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-align-content: space-between;
        align-content: space-between;
        gap: 0.3rem;
        padding-bottom: 1.25rem;
        box-shadow: 0 3px 10px 0 rgba(52,56,112, 0.1);
        z-index: 9;
    }

    /*.topbar {*/
    /*    display: grid;*/
    /*    grid-template-columns: repeat(2, 1fr);*/
    /*    gap: 0.3rem;*/
    /*    padding-bottom: 1.25rem;*/
    /*    box-shadow: 0 3px 10px 0 rgba(*//*, 0.1);*/
    /*    z-index: 9;*/
    /*}*/

    .topbar .topbar-left {
        order: 1;
        width: calc((100% - var(--min_target_size)) - (2 * 0.9em) );
    }

    .topbar .hamburger {
        order: 2;
    }

    .topbar .quicklink-button-container {
        order: 3;
    }

    .topbar .topbar-right {
        order: 4;
        padding: 0;
        flex: 999;
    }

    .topbar .topbar-right > div {
        padding: 0!important;
    }

    .login_form {
        padding: var(--default_spacing);
    }

    .keyvalue_key {
        width: 30%;
    }

}

@media all and (max-width:600px) {

    .login_form input[type=submit] {
        margin-left: 0;
    }

}
