/******************************************
/* SPECIFIC LUTECE DEFAULT THEME STYLES   *
******************************************/
/* CORE STYLES 														*/
@font-face {font-family: 'Montserrat Ultra Light'; font-style: normal; font-weight: normal; src:url('../fonts/Montserrat-UltraLight.woff') format('woff');}
@font-face{font-family:'Montserrat Light'; src:url('../fonts/Montserrat-Light-webfont.eot');src:url('../fonts/Montserrat-Light-webfont.eot?#iefix') format('embedded-opentype'),url('../fonts/Montserrat-Light-webfont.woff2') format('woff2'),url('../fonts/Montserrat-Light-webfont.woff') format('woff'),url('../fonts/Montserrat-Light-webfont.ttf') format('truetype'),url('../fonts/Montserrat-Light-webfont.svg#montserratlight') format('svg');font-weight:300;font-style:normal;}
@font-face{font-family:'Montserrat'; src:url('../fonts/Montserrat-Regular-webfont.eot');src:url('../fonts/Montserrat-Regular-webfont.eot?#iefix') format('embedded-opentype'),url('../fonts/Montserrat-Regular-webfont.woff2') format('woff2'),url('../fonts/Montserrat-Regular-webfont.woff') format('woff'),url('../fonts/Montserrat-Regular-webfont.ttf') format('truetype'),url('../fonts/Montserrat-Regular-webfont.svg#montserratregular') format('svg');font-weight:500;font-style:normal;}
@font-face{font-family:'Montserrat Bold'; src:url('../fonts/Montserrat-Bold-webfont.eot');src:url('../fonts/Montserrat-Bold-webfont.eot?#iefix') format('embedded-opentype'),url('../fonts/Montserrat-Bold-webfont.woff2') format('woff2'),url('../fonts/Montserrat-Bold-webfont.woff') format('woff'),url('../fonts/Montserrat-Bold-webfont.ttf') format('truetype'),url('../fonts/Montserrat-Bold-webfont.svg#montserratbold') format('svg');font-weight:700;font-style:normal;}

html { 
	position:relative; 
	min-height:100%; 
	font-size: 16px; 
	font-weight:300; 
}


body, table { 
	min-height:100%; 
	height:100%; 
	margin:0; 
}

main{
	min-height:90vh; 
	padding-bottom: 80px;
}

body, header, nav, footer, table, td, h1, h2, h3, h4, h5, h6, p, a { 
	font-family: "Montserrat", sans-serif;
}

h1{ 
	font-weight: bold; 
	font-size: 3rem  
}

h2{ 
	font-weight: bold; 
	font-size: 1.5rem 
}

h3{ 
	font-weight: bold; 
	font-size: 1.2rem 
}

p{
	line-height: 20px;
}

a{
	color: #071f32;
}

/* Accessibility 															*/
.skipnav { 
	text-align: left; 
}

.skipnav a { 
	position: absolute; 
	left: -10000px; 
	width: 1px; 
	height: 1px; 
	overflow: hidden; 
}

.skipnav a:focus, .skipnav a:active { 
	position: static; 
	left: 0; 
	width: auto; 
	height: auto; 
	overflow: visible; 
	text-decoration: underline; 
}

/** Components 															**/
/* Helper classes 													 */
.img-home{
	background-size: contain;
	width: 200px;
}

.text-decoration-underline, .text-underline{ 
	text-decoration: underline ;
}

.hidden{
	display: none !important;
}

/* Colors 																	*/
.font-m-light{
	font-family: "Montserrat Light", Arial, Helvetica, sans-serif;
	line-height: 1.2;
}

.main-color { 
	color: #071f32;
}

.border-main{ 
	border-color: #071f32 !important;
}

.second-color { 
	color: #394ec7;
}
  
.main-bg-color { 
	background-color: #071f32;
}

.main-bg-color form .invalid-feedback{ 
	color: #ffc107;
}

.second-bg-color { 
	background-color: #394ec7;
}

.third-color{
  color: #666;
}

.alt-bg-color{
	background-color: #f2f2f2;
}

/* Buttons BS 4 - Overrides												*/
.btn{
	padding-top: 0.87rem;
	padding-bottom: 0.87rem;
}

.btn-primary{
	background-color: #394ec7;
	border-color: #394ec7;
	text-transform: uppercase;
	font-size: 0.8rem;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active  {
	background-color: #283BA9;
	border-color: #283BA9;
	box-shadow: none;
}

.btn-outline-primary{
	border-color: #4457c5;
	color: #4457c5;
	text-transform: uppercase;
	font-size: 0.8rem;
}

.btn-outline-primary:hover, .btn-outline-primary:focus, .btn-outline-primary:active {
	background-color: #F0F0F0;
	border-color: #4457c5;
	color: #4457c5;
	box-shadow: none;
}

/* End override  																					*/
.btn-external-link{
	background-color: #FB394A;
	border-color: #FB394A;
	color: #fff;
	text-transform: uppercase;
	font-size: 0.8rem;
}

.btn-external-link:hover, .btn-external-link:focus, .btn-external-link:active{
	background-color: #BD2130;
	border-color: #BD2130;
	color: #fff;
	box-shadow: none;
}

.text-alternate, .border-alternate {
	border-color: #4457c5;
}

.btn-main{
	background-color: #071f32;
	border-color: #071f32;
	text-transform: uppercase;
	font-size: 0.8rem;
	color: #fff
}

.btn-main:hover {
	background-color: #092c47;
	border-color: #092c47;
	color: #f0f0f0;
}

/* 	Nav 																	*/
.nav-link{ 
	color: #fff;
	font-weight: 300;
}
 
.nav-link:hover{ 
	color: #fff;
}

/* 	Pagination 														*/
.page-link {
	color: #394ec7;
	border: 1px solid #dee2e6;
}
.page-item.active .page-link {
	background-color: #394ec7;
	border-color: #394ec7;
}

/** Pages				 												**/
.page-bordered{
	border-top: 2px solid #ccc;
	min-height: 85vh;
}

/** Forms 															**/
/* BS4 - Override											 	 */
.form-group label, .form-row label{
	font-family: "Montserrat light",sans-serif;
}
.form-group .form-text{
	font-family: 'Montserrat Light', sans-serif;
	font-size: 13px;
}

.form-control {
	font-family: 'Montserrat Light', sans-serif;
	font-size: 15px;
	background-color: #fff;
	border: 1px solid #D7D7D7;
}

.form-control::placeholder {
	font-family: 'Montserrat Light', sans-serif;	
	color: #485159;
}

.form-control:focus {
	box-shadow: 0 0 0 .2rem rgba(47, 47, 47, 0.25);
}

/* Label mandatory form info */
#info-mandatory .input-group-text{
	background-color: #394ec7;
	border-color: #394ec7;
	color: #fff;
}

#info-mandatory .form-control{
	border-color: #394ec7;
	color: #394ec7;
	font-family: 'Montserrat Light', sans-serif;
	font-size: 1rem;
} 

.input-group > .form-control-alternate {
	padding-top: 5px;
	padding-bottom: 5px;
}

/* custom select  */
.custom-select {
	height: calc(1.5em + 1rem + 2px);
	padding: .5rem 1rem;
}

.custom-select:disabled {
  color: #495057;
}

.custom-control-input ~ .custom-control-label::before {
	border-color: #071F32;
	background-color: transparent;
	color: #fff;
}

.custom-control-input:checked ~ .custom-control-label::before {
	border-color: #071F32;
	background-color: #071F32;
}

.custom-control-input:not(:disabled):active ~ .custom-control-label::before {
	color: #fff;
	background-color: #071F32;
	border-color: #071F32;
}

.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
	border-color: #071F32;
}

.custom-control-input:focus ~ .custom-control-label::before {
	box-shadow: none;
}

/*** custom-file error  								***/
.custom-file ~ .progress ~ .invalid-feedback{
	display: block;
}

/* 
.custom-file-input:empty{
	opacity: 1;
} 
*/

/*** Check no input 										***/
.form-check-noinput{
	position: absolute;
	left: -99999px;
}

.file-input input[type="file"]{
	padding: 0;
}

/*** Ocr file  												***/
.ocr-file{
	margin-top: 60px;
}

.ocr-file .custom-file-label span{
	position: absolute;
	top: -55px;
	left: 0;
	color: #212529;
}

.ocr-file .custom-file-label:after{
	content: "Parcourir";
}

/*** 	Switch 												***/ 
.switch {
  font-size: 1rem;
  position: relative;
}


.switch input {
  position: absolute;
  height: 1px;
  width: 1px;
  background: none;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  padding: 0;
}

.switch input + label {
  position: relative;
  min-width: calc(calc(2.375rem * .8) * 2);
  border-radius: calc(2.375rem * .8);
  height: calc(2.375rem * .8);
  line-height: calc(2.375rem * .8);
  display: inline-block;
  cursor: pointer;
  outline: none;
  user-select: none;
  vertical-align: middle;
  text-indent: calc(calc(calc(2.375rem * .8) * 2) + .5rem);
}

.switch input + label::before,
.switch input + label::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: calc(calc(2.375rem * .8) * 2);
  bottom: 0;
  display: block;
}

.switch input + label::before {
  right: 0;
  background-color: #071f32;
  border-radius: calc(2.375rem * .8);
  transition: 0.2s all;
}

.switch input + label::after {
  top: 2px;
  left: 2px;
  width: calc(calc(2.375rem * .8) - calc(2px * 2));
  height: calc(calc(2.375rem * .8) - calc(2px * 2));
  border-radius: 50%;
  background-color: white;
  transition: 0.2s all;
}

.switch input:checked + label::before {
  background-color: #3ECD2E;
}
.switch input:checked + label::after {
  margin-left: calc(2.375rem * .8);
}

.switch input:focus + label::before {
  outline: none;
  box-shadow: 0 0 0 0.2rem rgba(0, 136, 221, 0.25);
}

.switch input:disabled + label {
  color: #868e96;
  cursor: not-allowed;
}
.switch input:disabled + label::before {
  background-color: #e9ecef;
}

.switch.switch-sm {
  font-size: 0.875rem;
}

.switch.switch-sm input + label {
  min-width: calc(calc(1.9375rem * .8) * 2);
  height: calc(1.9375rem * .8);
  line-height: calc(1.9375rem * .8);
  text-indent: calc(calc(calc(1.9375rem * .8) * 2) + .5rem);
}

.switch.switch-sm input + label::before {
  width: calc(calc(1.9375rem * .8) * 2);
}
.switch.switch-sm input + label::after {
  width: calc(calc(1.9375rem * .8) - calc(2px * 2));
  height: calc(calc(1.9375rem * .8) - calc(2px * 2));
}

.switch.switch-sm input:checked + label::after {
  margin-left: calc(1.9375rem * .8);
}
.switch.switch-lg {
  font-size: 1.25rem;
}

.switch.switch-lg input + label {
  min-width: calc(calc(3rem * .8) * 2);
  height: calc(3rem * .8);
  line-height: calc(3rem * .8);
  text-indent: calc(calc(calc(3rem * .8) * 2) + .5rem);
}

.switch.switch-lg input + label::before {
  width: calc(calc(3rem * .8) * 2);
}
.switch.switch-lg input + label::after {
  width: calc(calc(3rem * .8) - calc(2px * 2));
  height: calc(calc(3rem * .8) - calc(2px * 2));
}

.switch.switch-lg input:checked + label::after {
  margin-left: calc(3rem * .8);
}

.switch + .switch {
  margin-left: 1rem;
}

/* Table 																*/
.table-bordered{
	border-top: 0;
}

.table-bordered tr:hover{	
	cursor: pointer;
}

.table-bordered td {
	border: 0;
	border-top: 1px solid #E7E7E7;
}

.table-bordered .crm-demand-head{
	border-bottom: 1px solid #E7E7E7;
}

.table-bordered .crm-demand-head.selected{
	border-bottom: 0;
	padding-bottom: 0;
	margin-bottom: 0
}

.table-bordered .sub td{
	padding: 0 auto;
	border-top: 0;
	border-bottom: 1px solid #E7E7E7;
}

.table-bordered .sub td .media{
	padding: 10px 0;
	border-top: 1px solid #E7E7E7;
}

/***  Header  ***/
header .navbar{  
 	align-items: stretch;
 	padding:  0;
}

header img{
	background-size: contain;
	height: 100%;
	height: 40px;
	width: 140px;
}

header .navbar .navbar-brand img{
	margin-top: 0.5rem;
	margin-left: 2.5rem;
}

header .navbar .nav-item{
	padding: 0.7rem 1rem;
}

header .navbar .nav-item:hover{
	background-color: #071f32;
}

header .navbar .nav-item:nth-last-child(2){
	padding-right: 0;
}

header .navbar-light .navbar-nav .nav-link {
	color: #071f32;
}

header .navbar-light .navbar-nav .nav-link:hover {
	color: #fff;
}

header .navbar .nav-item:nth-last-child(2):hover{
	background-color: #fff;
} 

header .navbar-light .navbar-nav .nav-link.user-info{
	color: #fff;
	padding: 0 15px 0 5px;
}

header .navbar-light .navbar-nav .nav-link.user-info:hover{
	color: #394ec7;
}

header .user-info img, header .user-info object{
	width: 35px;
	padding-right: 15px;
} 

header .user-info:hover img, header .user-info:hover object{
	-webkit-filter: invert(.6) sepia(1) saturate(8) hue-rotate(210deg);
	filter: invert(.6) sepia(1) saturate(8) hue-rotate(212deg);
} 

header .navbar-light .navbar-toggler {
	border: none;	
}

header .navbar-light .navbar-toggler-icon {
	filter: invert(0) sepia(1) ;
}

header .second-bg-color:hover { 
	background-color: #fff !important;
}

/**  Banner  																**/
.banner{
	background-image: url(../images/local/skin/banner.jpg);
	background-size: cover;
	width: 100%;
	min-height: 30vh;
}
.banner h1 {
	text-shadow: 1px 1px 2px black;
}

/**  Footer  																**/
footer {
	background-color: #071f32;
	padding-top: 12px;
	padding-bottom: 12px;
	position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
	font-size: 14px;
}
footer a img{
	background-size: contain;
	height: 100%;
	height: 20px;
	width: 76px;
}
footer .nav-link{
	font-size: 0.8rem;
}

footer .nav-link:hover{
	border-bottom: 1px solid #fff;
	padding-bottom: 0.1px;
}

/** 	Content 														**/
/* 		Steps 															 */
/* 		Step Title 									         */
/* 		Step Title Label						         */
.step-title h2{
	font-weight:700; 
	font-size: 1.7rem; 
	color:#fff; 
	margin:15px 0;
}

.step-title h2.next {
	color:#071f32;
}

/* 		Step Title Number							         */
.step-title h2 span{
	font-size:1.3rem;
	border: 2px solid #fff; 
	border-radius: 100%; 
	margin: 0 10px 0 0; 
	width: 30px; 
	height: 30px; 
	display: inline-block; 
	text-align: center; 
	line-height: 28px;
}

.step-title h2 span.next{
	border-color:#071f32;
}

.step-title h2 span.previous{
	background-color:#071F32; 
	border-color:#071F32; 
	color:#fff;
}

/* 		Current Step Title 									 */
.step-title.current h2::after {
	content: ''; 
	width: 0; 
	height: 0; 
	position: absolute; 
	border-top: 16px solid #071F32; 
	border-bottom: 15px solid transparent; 
	border-left: 30px solid transparent; 
	border-right: 30px solid transparent; 
	left: 50%; 
	bottom: -30px; 
	margin-left: -30px;
}
/* 		Current Step Box										 */
.current-step-box{ 
	border: 1px solid #c7c3c3; 
	background-color:#fff; 
	border-radius:5px; 
	padding:20px 25px 15px 25px; 
}
/* Previous Steps  												*/
.step-done{
	font-family: 'Montserrat Light';
	margin-bottom: 2rem;
}
.step-done h1, .step-done h2, .step-done h3{
	font-family: 'Montserrat';
	font-weight: 200;
}

.step-done label{
	font-weight: 700
}

/* 		Step Help Box   									 */
.step-help{ 
	color:#1A1A1A; 
	background:#ffcd00; 
	padding: 20px; 
	margin-left: 40px;
	margin-right: 20px;
	border-radius: 5px; 
	font-size: 0.8rem; 
	z-index:1; 
}

.step-help::after {
	content: '';
	position: absolute;
	border-style: solid;
	border-width: 15px 15px 15px 0;
	border-color: transparent #FFCD00;
	display: block;
	width: 0;
	z-index: 1;
	left: 35px;
	top: 35px;
}

/* ensure group iteration can be scrolled to the top of the screen */
a[name^="last_"]:before {
  content: "\00a0";
  position: absolute;
  height: 100vh;
}

.form-submited{
	margin: 30px 15%;
}

/*  Summary of a submission  */
#summary_validate .card > .card-heading{
	position: relative;	
}

#summary_validate .card > .card-heading  > .card-title{
	margin-left: 30px;
	position: relative;	
}

#summary_validate .card > .card-heading  > .card-title:before{
	content: "\f00c";
	font-family: "FontAwesome";
	position: absolute;
	top: 0;
	left: -40px;
	border-radius: 50%;
	padding: 10px;
 	background-color: #0c518a;
	border-color: #0c518a;
	color: #fff;
	font-size: 13px;
	font-weight: normal;
}

#summary_validate .summary_actions {
	position: sticky;
	bottom: 0;
	background-color: white;
}

#summary_validate .summary_actions.actions_shadow {
	box-shadow: 0px -5px 5px 0px rgba(0,0,0,0.6);
}

/* Small devices (landscape phones, 576px and up) */
/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) { 
	/* BS items override */
	h1{
		font-size: 2rem;
	}

	figure {
		margin-bottom: 0;
	}

	/* Buttons */
	.btn-link{
		font-size: 0.8rem;
	}

	/* Form */
	.form-control::placeholder {
		font-size: 1rem;
	}

	.form-row .form-group{
		width: 100%;
	}
	
	/* Responsive table */
	.table {
		width: 100%;
  	border-collapse: collapse;
	}

	.table thead {
    display: none
	}

 	.table-bordered td {
		display: block;
		border: 0;
	}
	
	.table-bordered td::before {
    content: attr(data-label);
		width: 30%;
		padding-left: 15px;
	}

	.table-bordered .sub > td::before {
    content: '';
		width: auto;
		padding-left: 0;
	}
	
	/* Pages 	*/
		.input-group > .form-control {
    font-size: 0.62em;
		padding: inherit;
		padding-left: 5px;
	}

	/* Footer */
	footer{
		position: relative;
	}

	footer .nav{
		flex-direction: column;
		flex-basis: 100%;
	}
	
	footer .navbar .navbar-brand, footer .nav .nav-item .nav-link{
		text-align: center;
		margin:0 auto;
		width: 100%;	
	}
	
	footer .nav-link:hover {
		border-bottom: none;
		padding-bottom: 0.5rem;
		text-decoration: underline
	}
	/* Content */
	.banner{
		min-height: 15vh;
	}
	
	.step-title h2{
		font-size: 1rem;
		margin-left: 0.5rem;
	}

	.step-title h2 span {
		font-size: 1rem;
	}
	
	.step-title.current h2::after {
		left: 50%;
	}
	.current-step-box .btn-help {
		position: absolute;
		top: -10px;
		right: -8px;
	}
	
	#info-mandatory .form-control{
		font-size: 0.6rem;
		padding: 22px 5px;
	} 
	.popover{
		color: #1A1A1A; 
		background-color: #ffcd00; 
		border-color: #ffcd00; 
	}
	.bs-popover-auto[x-placement^="left"] > .arrow::after, .bs-popover-left > .arrow::after {
		border-left-color: #fbd400;
	}
}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) and (max-width: 767.98px) { 
	h1 {
		font-size: 2.5rem;
	}
	.form-control::placeholder {
		font-size: 0.8rem;
	}
	.banner{
		min-height: 15vh;
	}

	.step-title h2{
		font-size: 1.2rem
	}

	.step-title.current h2::after {
		left: 50%;
	}

	.current-step-box .btn-help {
		position: absolute;
		top: -10px;
		right: -8px;
	}

	#info-mandatory .form-control{
		font-size: 0.9rem;
	} 
	.popover{
		color: #1A1A1A; 
		background-color: #ffcd00; 
		border-color: #ffcd00; 
	}
	.bs-popover-auto[x-placement^="left"] > .arrow::after, .bs-popover-left > .arrow::after {
		border-left-color: #fbd400;
	}
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) and (max-width: 991.98px) { 
	.step-help{ 
		margin-left: 20px;

	}
	.step-help::after {
		left: 15px;
	}

	.step-title h2{
		font-size: 1.35rem
	}

	#info-mandatory .form-control{
		font-size: 0.8rem;
	} 
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) and (max-width: 1199.98px) { 
	
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) { 
	
}

/* Offcanvas Menu */
@media (max-width: 991.98px) {
  .offcanvas-collapse {
    position: fixed;
    top: 0; /* Height of navbar */
    bottom: 0;
    left: 100%;
    width: 80%;
    padding-right: 1rem;
    padding-left: 1rem;
    overflow-y: auto;
    visibility: hidden;
		background-color: #071f32;
		transition-timing-function: ease-in-out;
    transition-duration: .3s;
		transition-property: left, visibility;
		z-index: 9999;
	}
	
  .offcanvas-collapse.open {
    left: 20%;
    visibility: visible;
	}
	
	.offcanvas-collapse.open .nav-item{
		border-bottom: 0.5px solid #fff;
	}

	.offcanvas-collapse.open .nav-item a{
		color: #fff;
	}
	.offcanvas-collapse.open .nav-item.second-bg-color{
		background-color: #071f32;
		color: #fff;
	}
	.offcanvas-collapse.open .navbar-nav .navbar-toggler-close{
		font-family: 'Montserrat Ultra Light', sans-serif;
		font-size: 2rem;
		color: #fff;
	}

}

/* Ipad */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (-webkit-min-device-pixel-ratio: 1){ 
	.btn::after { content:""; display: none;  position: relative;  left:0; top:0; width:0; transition:none;  z-index:1 }
}

/* IE10+ specific styles go here */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
	.input-group > .form-control{ 
		padding-top: 5px;
	}
}


