﻿/*Root css for use of shared variables/values*/
:root {
	--purple-button-color: #702082;
	--banner-purple: #9d4edd;
	--standard-font-size: 14px;
	--smaller-standard-font-size: 13px;
	--white-color: #FFFFFF;
	--offwhite-color: #f5f5f5;
	--black-color: #000000;
	--gray-color: #efefef;
	--light-textbox-background: #efefef;
	--dark-textbox-background: #d9d9d9;
}

/* #region Body/Html */
html {
	font-size: var(--standard-font-size);
}

@media(min-width:1200px) {
	.main-content {
		width: 1170px
	}
}

@media (min-width: 768px) {
	html {
		font-size: 16px;
	}
}



html {
	position: relative;
	min-height: 100%;
}

body {
	/*margin-bottom: 60px;*/
	font-family: 'NeueHaasGroteskText W02', Helvetica, Arial, sans-serif !important;
	background-color: var(--gray-color) !important;
	font-size: 14px !important;
}

	body p {
		color: var(--black-color);
		font-size: var(--smaller-standard-font-size)
	}

	body a {
		color: var(--purple-button-color);
	}

	/* #endregion Body/Html */

	/* #region Headers */
	body h2 {
		font-family: 'NeueHaasGroteskText W02', Helvetica, Arial, sans-serif !important;
		font-size: 25px;
		color: var(--black-color);
		margin-bottom: 30px;
	}

.block-white h3 {
	font-family: 'NHaasGroteskTXW02-65Md', Helvetica, Arial, sans-serif !important;
	font-size: 18px;
	color: var(--purple-button-color);
	margin-bottom: 20px;
	margin-top: 15px;
	font-weight: normal;
}

.block-white h4 {
	font-family: 'NHaasGroteskTXW02-65Md', Helvetica, Arial, sans-serif !important;
	font-size: var(--standard-font-size);
	color: var(--purple-button-color);
	line-height: 15.4px;
	border-bottom: 1px solid #ddd;
	padding-bottom: 5px;
	margin-top: 10px;
	margin-bottom: 20px;
	margin-left: 15px
}
/* #endregion Headers */

/* #region Common page building blocks / sections */
.main-content {
	padding-top: 30px;
	padding-right: 15px !important;
}

.block-white {
	width: 100%;
	height: auto;
	margin-bottom: 20px;
	padding: 0 15px 15px;
	background-color: #fff;
}

	.block-white .row {
		margin: 0 0 20px 0;
	}

.block-form {
	margin: 20px 0 25px 0;
	background-color: var(--white-color);
	padding-bottom: 1px;
}

	.block-form input[type="text"]:read-only {
		color: GrayText;
	}

.breadcrumbs {
	padding: 8px 15px;
	margin-bottom: 20px;
	list-style: none;
	background-color: var(--offwhite-color);
	border-radius: 4px;
	width: 100%;
	display: block;
}

.hidden {
	display: none;
}

/* #endregion Common page components */

/* #region Form Fields */
.form-input-field select {
	background-color: #d9d9d9;
	border: 0;
	padding: 8px 13px;
	width: 100%;
	-moz-box-shadow: 0 2px 0 0 #d7d6dd;
	-webkit-box-shadow: 0 2px 0 0 #d7d6dd;
	-o-box-shadow: 0 2px 0 0 #d7d6dd;
	box-shadow: 0 2px 0 0 #d7d6dd;
}

.form-input-field > input[type=text] {
	background-color: var(--dark-textbox-background);
	border: 0;
	padding: 8px var(--smaller-standard-font-size);
	width: 100%;
	-moz-box-shadow: 0 2px 0 0 #d7d6dd;
	-webkit-box-shadow: 0 2px 0 0 #d7d6dd;
	-o-box-shadow: 0 2px 0 0 #d7d6dd;
	box-shadow: 0 2px 0 0 #d7d6dd;
}

.form-input-field > label {
	font-family: 'NHaasGroteskTXW02-65Md', Helvetica, Arial, sans-serif !important;
	color: var(--black-color);
	font-size: var(--standard-font-size);
	font-weight: lighter !important;
	display: block;
	margin-bottom: 5px;
}

.select-wrapper select {
	background-image: url('/img/icons/select-arrow.png');
	background-position-x: calc(100% - 10px);
	background-position-y: center;
	background-repeat: no-repeat;
	cursor: pointer;
	white-space: nowrap;
	-webkit-appearance: none;
	-moz-appearance: none;
	text-indent: 1px;
	text-overflow: ''
}

.selectListFullWidth {
	width: 100%
}

.required:after {
	content: " *";
	color: var(--purple-button-color)
}
/* #endregion Form Fields */

/* #region Buttons */

.gs-button-primary {
	font-size: 1em;
	padding: .625em 1.5em;
	margin: 6px 0;
	text-transform: uppercase;
	border-radius: 0
}

	.gs-button-primary,
	.gs-button-primary:visited {
		font-family: Helvetica, Arial, sans-serif;
		color: var(--white-color);
		background-color: var(--purple-button-color);
		text-decoration: none;
		border: 0 none;
		transition: all .2s ease-out;
		white-space: normal
	}

		.gs-button-primary:hover,
		.gs-button-primary:active,
		.gs-button-primary:focus {
			outline: 0 none;
			background-color: #661878;
			color: var(--white-color);
			text-decoration: none;
			cursor: pointer
		}
/* #endregion Buttons */

/* #region Element Overrides/Modifiers */
.font-color-black-override {
	color: var(--black-color) !important;
}

.pull-right {
	text-align: right;
}

a {
	text-decoration: none;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
	box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #000000; /* Black outline instead of blue */
	outline: 2px solid #000000; /* Black outline for all interactive elements */
	outline-offset: 2px;
}
/* #endregion Element Overrides/Modifiers */

/* #region Table Components */

.table > tbody > tr > td > a {
	font-size: var(--smaller-standard-font-size);
	text-decoration: none;
}

.table > tbody > tr > td {
	text-align: left;
	font-size: var(--smaller-standard-font-size);
	text-decoration: none;
	padding: 8px;
	line-height: 1.42857143;
	vertical-align: top;
	border-top: 1px solid #aaa !important;
}

.table-striped > tbody > tr:nth-of-type(2n+1) {
	background-color: #f9f9f9;
}


.table th {
	color: var(--white-color);
	background-color: #666;
	font-family: 'NeueHaasGroteskText W02', Helvetica, Arial, sans-serif !important;
	font-weight: normal
}

.table td {
	color: var(--black-color);
	background-color: var(--white-color);
	border-top: 1px solid #aaa !important;
	padding: 10px
}

.table-header {
	font-size: var(--smaller-standard-font-size);
	color: var(--white-color);
	text-decoration: none;
}


table.tablesorter thead tr .tablesorter-headerUnSorted {
	background: url("/img/icons/icon-table-bg.png") no-repeat center left 7px;
	background-color: #666;
	padding-left: 20px;
	vertical-align: middle;
	text-align: left
}

.sorter-false {
	background: initial !important;
	background-color: #666 !important;
}

table.tablesorter thead tr .tablesorter-headerAsc {
	background: url("/img/icons/icon-table-up.png") no-repeat center left 7px;
	background-color: #666;
	padding-left: 20px;
	vertical-align: middle;
	text-align: left !important
}

table.tablesorter thead tr .tablesorter-headerDesc {
	background: url("/img/icons/icon-table-down.png") no-repeat center left 7px;
	background-color: #666;
	padding-left: 20px;
	vertical-align: middle;
	text-align: left !important
}

/* #endregion Table Components */

/* #region Profile Page - Shared across multiple views within profile */
.profil-pswd-field {
	width: 90% !important;
	background-color: var(--light-textbox-background);
	border: 0;
	padding: 8px 13px;
	box-shadow: 0 2px 0 0 #d7d6dd;
	outline: 0;
}

.profil-page-body-header {
	padding-top: 40px;
}
/* #endregion Profile Page */

/* #region Fonts */
@font-face {
	font-family: "NeueHaasGroteskText W02";
	src: url("/fonts/825442/518b22b9-0894-4b42-9c6f-fd0a5fcaa8f0.eot?#iefix");
	src: url("/fonts/825442/518b22b9-0894-4b42-9c6f-fd0a5fcaa8f0.eot?#iefix") format("eot"), url("/fonts/825442/058e449e-6b71-4b05-9a5b-9a951d40efa6.woff2") format("woff2"), url("/fonts/825442/d32982a5-a70a-4fd5-af56-7ab60b665ca3.woff") format("woff"), url("/fonts/825442/7355d21e-8f3a-4515-a797-1e605d410a1a.ttf") format("truetype");
}

@font-face {
	font-family: "NHaasGroteskTXW02-56It";
	src: url("/fonts/825445/246e68c9-e939-4366-a39b-44b02142d2bc.eot?#iefix");
	src: url("/fonts/825445/246e68c9-e939-4366-a39b-44b02142d2bc.eot?#iefix") format("eot"), url("/fonts/825445/5d8de6bd-191a-4ef2-b446-27f06879dcf5.woff2") format("woff2"), url("/fonts/825445/780633a6-5e89-4243-b67f-ff41b0a6d2a9.woff") format("woff"), url("/fonts/825445/e068c6db-8e04-43f6-b72f-cea2eddd0126.ttf") format("truetype");
}

@font-face {
	font-family: "NHaasGroteskTXW02-65Md";
	src: url("/fonts/825448/c82c2f76-c370-4ad8-84af-9a28b73a4209.eot?#iefix");
	src: url("/fonts/825448/c82c2f76-c370-4ad8-84af-9a28b73a4209.eot?#iefix") format("eot"), url("/fonts/825448/83daa6d0-79e4-4489-b513-acebd8761116.woff2") format("woff2"), url("/fonts/825448/19b27aaa-69bc-4951-ab70-a4ccf86edaf1.woff") format("woff"), url("/fonts/825448/f299a4ab-f04b-4919-b800-f802e06acb4e.ttf") format("truetype");
}

@font-face {
	font-family: "NHaasGroteskTXW02-66MdI";
	src: url("/fonts/825451/dbe4d0a5-c692-431c-91da-0f53e8e812fb.eot?#iefix");
	src: url("/fonts/825451/dbe4d0a5-c692-431c-91da-0f53e8e812fb.eot?#iefix") format("eot"), url("/fonts/825451/e08ca1c6-730c-4a35-a7ac-99155b60101c.woff2") format("woff2"), url("/fonts/825451/b4c9fdfd-e938-4985-b410-c88e323a85a9.woff") format("woff"), url("/fonts/825451/1bd6c3e3-e0a9-409c-a7ca-be5a91e27be9.ttf") format("truetype");
}

@font-face {
	font-family: "NHaasGroteskTXW02-75Bd";
	src: url("/fonts/825454/28d08ecc-c0e5-46af-bc86-3eb895c5240e.eot?#iefix");
	src: url("/fonts/825454/28d08ecc-c0e5-46af-bc86-3eb895c5240e.eot?#iefix") format("eot"), url("/fonts/825454/f3d9cc0a-8a1d-4c4c-b2ef-2ad9ca6520f6.woff2") format("woff2"), url("/fonts/825454/4f2145f0-cad6-4108-9ef3-542dcc65ea39.woff") format("woff"), url("/fonts/825454/536a1e93-40c7-43a8-a64f-39bb6d0af12e.ttf") format("truetype");
}

@font-face {
	font-family: "NHaasGroteskTXW02-76BdI";
	src: url("/fonts/825457/d81ecba5-95b9-4979-b151-f67a11a0fba4.eot?#iefix");
	src: url("/fonts/825457/d81ecba5-95b9-4979-b151-f67a11a0fba4.eot?#iefix") format("eot"), url("/fonts/825457/1b0f3b03-f597-4952-97d4-fda5b7224d93.woff2") format("woff2"), url("/fonts/825457/2a02931a-611a-4b4c-b530-313018d73e00.woff") format("woff"), url("/fonts/825457/b03ccd66-787c-4685-9769-287d8f6c6527.ttf") format("truetype");
}

@font-face {
	font-family: "NHaasGroteskDSW02-45Lt";
	src: url("/fonts/825478/919838ba-9fda-46bb-bb6c-54609ed514f6.eot?#iefix");
	src: url("/fonts/825478/919838ba-9fda-46bb-bb6c-54609ed514f6.eot?#iefix") format("eot"), url("/fonts/825478/b3ce2e5b-89dc-4c27-a438-9a18f8cc8be3.woff2") format("woff2"), url("/fonts/825478/1528e8f6-e73d-494a-b8be-5016b792879d.woff") format("woff"), url("/fonts/825478/9695f3aa-777d-42fb-b0b0-aff4ac43757b.ttf") format("truetype");
}

@font-face {
	font-family: "NHaasGroteskDSW02-46LtI";
	src: url("/fonts/825481/a1bd46b0-71e8-4dd6-9873-6c7aa99f4b19.eot?#iefix");
	src: url("/fonts/825481/a1bd46b0-71e8-4dd6-9873-6c7aa99f4b19.eot?#iefix") format("eot"), url("/fonts/825481/9f457065-8fd2-4003-bcd5-a79ce7411dae.woff2") format("woff2"), url("/fonts/825481/2eea9fbd-7b8b-461c-b27e-b6de13068a57.woff") format("woff"), url("/fonts/825481/b4cfdca2-d2e4-4431-bf6a-92d2a7f627a7.ttf") format("truetype");
}
/* #endregion Fonts */

/* #region Error Validation Messaging*/

.field-validation-error {
	color: red;
}

	.field-validation-error > span {
		color: red;
	}

.validation-summary-errors {
	width: 100%;
	padding: 15px;
	border: 1px solid #b10000;
	color: #b10000
}

/* #endregion Error Validation Messaging*/

/* #region Checkbox*/

/* Cachons la case à cocher */
[type="checkbox"]:not(:checked),
[type="checkbox"]:checked {
	position: absolute;
	left: -9999px;
}

	/* on prépare le label */
	[type="checkbox"]:not(:checked) + label,
	[type="checkbox"]:checked + label {
		position: relative; /* permet de positionner les pseudo-éléments */
		padding-left: 45px; /* fait un peu d'espace pour notre case à venir */
		cursor: pointer; /* affiche un curseur adapté */
		height: 22px;
		font-family: 'NeueHaasGroteskText W02', Helvetica, Arial, sans-serif !important;
	}

		/* Aspect des checkboxes */
		/* :before sert à créer la case à cocher */
		[type="checkbox"]:not(:checked) + label:before,
		[type="checkbox"]:checked + label:before {
			content: '';
			position: absolute;
			left: 5px;
			top: -3px;
			width: 30px;
			height: 30px;
			/* border: 1px solid #aaa; */
			background: #d9d9d9;
			/* border-radius: 3px; */
			/* box-shadow: inset 0 1px 3px rgba(0,0,0,.3) /* légère ombre interne; */
		}

		/* Aspect général de la coche */
		[type="checkbox"]:not(:checked) + label:after,
		[type="checkbox"]:checked + label:after {
			content: '✔';
			position: absolute;
			top: 2px;
			left: 15px;
			font-size: 14px;
			color: black;
			transition: all .2s; /* on prévoit une animation */
		}

		/* Aspect si "pas cochée" */
		[type="checkbox"]:not(:checked) + label:after {
			opacity: 0; /* coche invisible */
			transform: scale(0); /* mise à l'échelle à 0 */
		}

		/* Aspect si "cochée" */
		[type="checkbox"]:checked + label:after {
			opacity: 1; /* coche opaque */
			transform: scale(1); /* mise à l'échelle 1:1 */
		}

/* aspect désactivée */
[type="checkbox"]:disabled:not(:checked) + label:before,
[type="checkbox"]:disabled:checked + label:before {
	box-shadow: none;
	border-color: #bbb;
	background-color: #ddd;
}

/* styles de la coche (si cochée/désactivée) */
[type="checkbox"]:disabled:checked + label:after {
	color: #999;
}

/* on style aussi le label quand désactivé */
[type="checkbox"]:disabled + label {
	color: #aaa;
}

/* aspect au focus de l'élément */
[type="checkbox"]:checked:focus + label:before,
[type="checkbox"]:not(:checked):focus + label:before {
	border: 1px dotted blue;
}

/* #endregion Checkbox*/

/* #region Radio Button*/

[type="radio"]:not(:checked),
[type="radio"]:checked {
	position: absolute;
	left: -9999px
}

	[type="radio"]:not(:checked) + label,
	[type="radio"]:checked + label {
		position: relative;
		padding-left: 35px;
		cursor: pointer;
		padding-top: 5px;
		font-family: 'NeueHaasGroteskText W02', Helvetica, Arial, sans-serif !important
	}

		[type="radio"]:not(:checked) + label:before,
		[type="radio"]:checked + label:before {
			content: '';
			position: absolute;
			left: 0;
			top: 2px;
			width: 30px;
			height: 30px;
			background: #d9d9d9;
			border-radius: 20px
		}

		[type="radio"]:not(:checked) + label:after,
		[type="radio"]:checked + label:after {
			content: '';
			position: absolute;
			top: 11.5px;
			left: 10px;
			font-size: 14px;
			background-color: #6e1f83;
			transition: all .2s;
			border-radius: 10px;
			width: 10px;
			height: 10px
		}

		[type="radio"]:not(:checked) + label:after {
			opacity: 0;
			transform: scale(0)
		}

		[type="radio"]:checked + label:after {
			opacity: 1;
			transform: scale(1)
		}

[type="radio"]:disabled:not(:checked) + label:before,
[type="radio"]:disabled:checked + label:before {
	box-shadow: none;
	border-color: #bbb;
	background-color: #ddd
}

[type="radio"]:disabled:checked + label:after {
	color: #999
}

[type="radio"]:disabled + label {
	color: #aaa
}

[type="radio"]:checked:focus + label:before,
[type="radio"]:not(:checked):focus + label:before {
	border: 1px dotted blue
}


/* #endregion Radio Button*/

.formerrors {
	width: 100%;
	padding: 15px;
	border: 1px solid #b10000;
	color: #b10000
}

/* --- Modal container --- */
.custom-modal {
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	inset: 0;
	background-color: rgba(0, 0, 0, 0.3);
	z-index: 9999;
}

/* --- Modal box --- */
.custom-modal-content {
	background: #fff;
	border: 1px solid #aaa;
	width: 420px;
	padding: 0;
	box-shadow: 0 2px 10px rgba(0,0,0,0.2);
	text-align: left;
	font-family: Arial, sans-serif;
}

/* --- Header section --- */
.custom-modal-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #f2f2f2;
	border-bottom: 1px solid #ccc;
	padding: 10px 15px;
}

.custom-modal-title {
	font-weight: bold;
	font-size: 15px;
	color: #000;
}

/* --- Close button --- */
.custom-modal-close {
	background: none;
	border: none;
	font-size: 20px;
	cursor: pointer;
	color: #000;
	line-height: 1;
}

/* --- Body section --- */
.custom-modal-body {
	padding: 15px;
	font-size: 14px;
	white-space: pre-line; /* supports \r\n */
}

.hidden {
	display: none;
}





/* #region Tooltip */

.tooltip {
	position: relative;
	display: inline-block;
	opacity: 1;
	z-index: unset;
}

	.tooltip .tooltiptext {
		visibility: hidden;
		width: 420px;
		background-color: #E6D4F2;
		color: #000;
		text-align: center;
		border-radius: 6px;
		position: absolute;
		z-index: 9;
		top: 150%;
		left: -30%;
		margin-left: -60px;
		padding: 10px;
	}

		.tooltip .tooltiptext::after {
			content: "";
			position: absolute;
			bottom: 100%;
			left: 50%;
			margin-left: -5px;
			border-width: 5px;
			border-style: solid;
			border-color: transparent transparent #AAAAD8 transparent;
			border: 0px solid hsl(276deg 54% 45%);
		}

		.tooltip .tooltiptext:before {
			content: '';
			display: block;
			position: absolute;
			left: 47%;
			bottom: 100%;
			width: 0;
			height: 0;
			border: 12px solid transparent;
			border-bottom-color: #E6D4F2;
		}

	.tooltip .tooltiptext1 {
		left: 32px;
		width: 300px;
		top: 24px;
	}

		.tooltip .tooltiptext1:before {
			left: 28px;
		}

	.tooltip .tooltiptext2 {
		left: 135px;
		width: 400px;
		text-decoration: none;
		font-weight: normal;
	}

span.tooltip span.tooltiptext2.historic {
	left: -80px;
}

.tooltip:hover .tooltiptext {
	visibility: visible;
}

.tooltip-paragraph {
	font-size: 14px;
	font-weight: bold;
	margin: 0;
}
/* #endregion Tooltip */
.custom-alert {
	border: 0.5px solid #4a5e1c;
	color: #4a5e1c;
	padding: 1em;
	border-radius: 0; /* 1️⃣ remove rounded corners */
	width: 98%; /* 2️⃣ reduce width by 10% */
}

.custom-alert-message {
	padding-left: 10px;
}

.success-icon {
	fill: #709110; /* 3️⃣ circle fill color */
}

#ayantsDroitsTable.dataTable thead > tr > th.dt-orderable-asc,
#ayantsDroitsTable.dataTable thead > tr > th.dt-orderable-desc,
#ayantsDroitsTable.dataTable thead > tr > th.dt-ordering-asc,
#ayantsDroitsTable.dataTable thead > tr > th.dt-ordering-desc {
	position: relative;
	padding-left: 24px !important;
	padding-right: 12px !important;
}

#ayantsDroitsTable.dataTable thead > tr > th span.dt-column-order {
	left: 8px !important;
	right: auto !important;
	width: 12px !important;
}

	#ayantsDroitsTable.dataTable thead > tr > th span.dt-column-order:before,
	#ayantsDroitsTable.dataTable thead > tr > th span.dt-column-order:after {
		color: #fff !important;
		opacity: 1 !important;
	}

#ayantsDroitsTable.dataTable thead > tr > th.dt-ordering-asc span.dt-column-order:after {
	opacity: 1 !important;
}

#ayantsDroitsTable.dataTable thead > tr > th.dt-ordering-desc span.dt-column-order:before {
	opacity: 1 !important;
}
