@import url('https://fonts.googleapis.com/css?family=Alegreya+Sans+SC:300|Titillium+Web:400|Ubuntu:300&display=swap');

body {
    height: 100vh!important;
    width: 100vw!important;
    display: flex;
    overflow: hidden;
    flex-direction: row;
    font-family: 'Ubuntu', sans-serif;
	background: #f2f2f2;
	/*color: #454545;*/
	color: rgb(18,125,167);
}
.maincontainer{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	overflow-y: auto;
	padding-bottom:60px; /*a cause de la barre du haut*/
	width:100%;
}
.flexcentered{
	align-items:  center;
	justify-content:  center;
}
.flexstartered{
	align-items: flex-start;
}
/*** COULEURS ***/
.main.bg-dark *{
	background-color: inherit;
	color: #1ABB9C;
}

.green {
	color: #1ABB9C;
}

.red {
	color: #E74C3C;
}

.greyblue {
	color: #73879C;
}

.com {
	color: #DDE8F2;
	background-color: #5A8DC3;
}

.pcom {
	color: #D8F2D7;
	background-color: #44BD3E;
}

.whitebg {
	background-color: #fff;
}

.borderblue {
	border-color: #73879C;
}

/**********************************************/
/*banner*/
.banner-main {
    height: 60px;
    flex: 0 0 auto;
}
.entelebar{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 1vw 0 1vw;
}
.entelebar .cell{
    display: flex;
}
#side-menu {
    display: none;
    position: fixed;
    top: 60px;
    right: 0px;
    height: calc(100vh - 60px);
    z-index: 999;
	overflow: auto;
}

.main {
    flex: 1 1 auto;
    padding: 0px;
    margin: 0px;
    height: 100%;
    overflow: auto;
}
.btn-mainmenu{
	border:none;
	color:rgb(18,125,167);
}
@media all and (max-width: 1024px) {
    .banner-main h1,
    h2 {
        font-size: 2em;
    }
}

@media all and (max-width: 720px) {
    .banner-main h1,
    h2 {
        font-size: 1.5em;
    }
}
/*end of banner*/
/**********************************************/
/*Basket specific*/
	.noshow {
		display: none;
	}
	.basket-card.card {
		box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12), 0px 1px 5px 0px rgba(0, 0, 0, 0.2);
		margin: 5px;
		position:relative;
	}
	.fullscreen_card {
		z-index: 1000 !important;
		/*
		height: calc(100vh - 60px) !important;
		width: 100vw !important;
		*/
		top: 60px !important;
		left: 0px !important;
		overflow: hidden !important;
		position: fixed !important;
		width: 100%;
		height:100%!important;
		margin:0;
		padding-bottom: 60px!important;

	}
	.basket-card .card-overlay{
		position:absolute;
		background-color:rgba(255,0, 0, 0.2);
		width:100%;
		height:100%;
		display:none;
		flex-direction: column;
		justify-content: space-evenly;
	}
	.basket-card .card-header {
		padding: 0.2em 0 0.2em 0.2em;
		text-align: left;
	}
	.basket-card .card-header .custom-control-label{
	width: 100%;
	}
	.basket-card .card-footer {
		padding: 0.2em 0 0.2em 0;
		position:relative;
		min-height: 2rem;
	}
	.basket-card .card-footer-btn{
		position:absolute;
		width:100%;
		height:100%;
		top:0;
		left:0;
		display:none;
		line-height: 100%;
		font-weight: 900;
	
	} 
	.basket-card .card-body {
		display: flex;
		padding: 0;
		justify-content: center;
		overflow: hidden;
	}
	.basket-card .card-body-img{
		position:relative;
	}
	.basket-card .card-body-img:hover > .card-body_defdesc{
		display: block;
	}
	
	.card-body_defdesc{
		position:absolute;
		height:100%;
		width:100%;
		background-color:#f2f2f2;
		color:#800;
		word-wrap: break-word;
		display:none;
		border: 1px solid #800;
        border-radius: 0.25rem;
	}
	.basket-card .card-body-text {
		display: none;
		padding: 0 1rem 0 1rem;
	}
	.basket-card .card-body-text .btn-outline-primary{
		width:100%;
	}
	
	.card-body-flexend {
		justify-content: flex-end;
	}
	.navbarperso{
		padding-left: 1rem;
		padding-right: 1rem;
		list-style: none;
	}
	#sidebar{
		padding: 2rem 1rem 1rem 0;
	}
	.nav-link {
		color: rgb(18,125,167);
	}
	.sortfilt-button {
		height: 100%;
		width: 100%;
		justify-content: space-between;
		cursor: pointer;
		background-color: #fff;
		color: #127DA7;
		border: 1px solid #ccc;
		border-radius: 2px;
		box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12), 0px 1px 5px 0px rgba(0, 0, 0, 0.2);
		font-size: 1.25rem;
		text-align: center;
	}
	.act-button {
		padding: 3px;
		display: flex;
		justify-content: space-between;
		flex-grow: 1;
		align-items: center;
	}
	.sort-button {
		padding: 3px;
		display: flex;
		justify-content: space-between;
		flex-grow: 1;
		align-items: center;
	}
	.filt-button {
		border-left: 1px solid #127DA7cc;
		padding: 3px;
	}
	.filt-button:after {
		font-weight: 900;
		font-family: 'Font Awesome\ 5 Free';
		content: '\f0b0';
		color: #ccc;
	}
	.filt-button.actif:after {
		color: #fd7e14;
	}
	.sortup:after {
		font-weight: 900;
		font-family: 'Font Awesome\ 5 Free';
		content: '\2193';
		color: #fd7e14;
	}
	.sortdn:after {
		font-weight: 900;
		font-family: 'Font Awesome\ 5 Free';
		color: #fd7e14;
		content: '\2191';
	}
	.filt-input {
		border: 0;
		background-color: #eee;
		padding: 0;
		margin: 0;
		color: #fd7e14;
		width: 6rem;
		font-weight: bolder;
		padding-left: 0.5rem;
		/*display: none;*/
	}
	.filt-input::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
		font-weight: lighter;
	}
	@media screen and (max-width:472px) {
		#sidebar{
			width: 100%;
		}
		.submenu{
			display: none;
		}
		.show{
			display:block!important;
		}
	
	}
	#sortFilterBar .input-group {
		margin-bottom:4px;
	}
	

/*end of Basket specific*/
/**********************************************/
/*Markup drop area specific*/
	#markupcontainer {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		overflow-y: auto;
		padding-bottom: 60px;
		width: 100%;
		align-items: flex-start;
		height: 100%;
	}
		
 	#mu-drop-area {
        border: 2px dashed #ccc;
        border-radius: 10px;
        position: fixed;
        top: 0;
        height: 60px;
        overflow: hidden;
        padding: 0 10px;
        /*display: flex;*/
		margin: 0 10px;
		opacity:0;
	}
	#mu-drop-area:hover {
		opacity:1;	
	}
    #mu-drop-area.highlight {
		border-color: purple;
		opacity:1;
    }
    .mu-drop-form {
        display: flex;
        flex-direction: row;
        align-items: baseline;
        margin: 0 10px;
    }
    .mu-drop-button {
        display: inline-block;
        background: #ccc;
        cursor: pointer;
        border-radius: 5px;
        border: 1px solid #ccc;
        margin: 0 10px;
    }
    .mu-drop-button:hover {
        background: #ddd;
	}
	.mu-drop-progress {
		width:100%;
	}
    #mu-drop-fileinput {
        display: none;
	}
	.markup-overlay{
		background-color: rgba(255, 255, 255, 0.8)!important;
		position: absolute;
		width: 100%;
		height: 100%;
		padding:2em;
		display: none;
		flex-direction: column;
		/*justify-content: space-evenly;*/

	}

/**********************************************/
/*** specific for item, subsystem, discipline picker */ 
.NewObsForm .autocomplete{
	position: relative;
	display: inline-block;
	margin:1em 0;
  }
  
  .NewObsForm .autocomplete input {
	border: 1px solid transparent;
	background-color: #f1f1f1;
	padding: 10px;
	font-size: 16px;
  }
  .NewObsForm .autocomplete input[type=text] {
	background-color: #f1f1f1;
	width: 100%;
  }
  
  .NewObsForm .autocomplete-items {
	border: 1px solid #d4d4d4;
	border-bottom: none;
	border-top: none;
	position: absolute;
	z-index: 99;
	top: 100%;
	left: 0;
	right: 0;
  }
  .NewObsForm .autocomplete-items div {
	padding: 10px;
	cursor: pointer;
	background-color: #fff; 
	border-bottom: 1px solid #d4d4d4; 
  }
  .NewObsForm .autocomplete-items div:hover {
	background-color: #e9e9e9; 
  }
  
  .newObsForm_bg {
	  position:fixed;
	  top:0;
	  left:0;
	  width:100vw;
	  height:100vh;
	  z-index:90;
	  background: rgba(3, 82, 118, .5);
  }
  
  .NewObsForm {
	  width: 400px;
	  border-color: #ccc;
	  position: absolute;
	  top: 50%;
	  left: 50%;
	  transform: translate(-50%, -50%);
	  background-color: #fff;
	  padding: 1em;
	  box-shadow: 5px 0px 40px rgba(0,0,0, .2);
	  border-radius: 8px;
	  z-index:95;
  }
  .NewObsForm:hover {
	  box-shadow: 5px 0px 40px rgba(3, 79, 101, 1);
  }
/**********************************************/
/**********************************************/
	/* specific for modalPopup */

	.modalPopup_bg{
		position:fixed;
		top:0;
		left:0;
		width:100vw;
		height:100vh;
		z-index:990;
		background: rgba(3, 82, 118, .5);
		display: flex;
		align-items: center;
		justify-content: center;
	}
	
	.modalPopup{
		border-color: #ccc;
		background-color: rgb(245, 245, 245);
		padding: 1em;
		box-shadow: 5px 0px 40px rgba(0,0,0, .2);
		border-radius: 8px;
		z-index:999;
	}
	
	.modalPopup:hover{
		box-shadow: 5px 0px 40px rgba(3, 79, 101, 1);
	}
	
	.modalPopupBody{
		padding:0 2em;
		display:flex;
		flex-direction:column;
		justify-content:space-around;
	}
	.modalPopupFooter{
		padding:0 2em;
	}
	
	.modalPopup h2{
		color : rgba(3, 79, 101, 1);
	}


.btn-group-sm>.btn, .btn-sm {
    padding: 0.25rem 0.5rem!important;
    font-size: .875rem!important;
    line-height: 1.5;
    border-radius: 0.2rem!important;
}

.btn-group-sm>.btn, .btn-sm {
    --bs-btn-padding-y: 0.25rem!important;
    --bs-btn-padding-x: 0.5rem!important;
    --bs-btn-font-size: 0.875rem!important;
    --bs-btn-border-radius: 0.25rem!important;
}

.btn-group>.btn-group:not(:first-child), .btn-group>:not(.btn-check:first-child)+.btn {
    margin-left: -1px!important;
}
.btn-group>.btn-group:not(:first-child)>.btn, .btn-group>.btn:nth-child(n+3), .btn-group>:not(.btn-check)+.btn {
    border-top-left-radius: 0!important;
    border-bottom-left-radius: 0!important;
}
.btn-group-vertical>.btn, .btn-group>.btn {
    position: relative!important;
    flex: 1 1 auto!important;
}