
/* -------*/
/*  Tags  */
/* -------*/
html {
	scroll-behavior: smooth;
}

body {
	position: relative;
	height: auto;
	background-color: #fafafa;
	font-family: 'Open Sans', sans-serif;
	color: #777;
}

body:not(.home) {
	padding-top: 52px;
}

h1 {
	color: #000;
}

/* -------- */
/*  Header  */
/* -------- */
header.main {
	padding: 1rem 0 0;
	padding-bottom: 1rem;
	background-color: #fff;
}

	header.main .page-header {
		margin: 0;
	}

	header.main .banner-username {
		margin-right: 1rem;
		font-weight: bold;
	}

	header.main h1 {
		margin-top: 0;
	}

	.breadcrumb {
		margin-top: 2rem;
		margin-bottom: 0;
	}

section.body {
	background-color: #fff;
	padding-bottom: 3rem;
}

section.body h1 .alert {
	display: inline-block;
	margin: 0 0 0 2rem;
	padding: 0.5rem 1rem;
	font-size: 1.5rem;
	vertical-align: middle;
}

form.login {
	margin-top: 3rem;
	padding: 5rem;
	background-color: #eee;
	border-radius: 6px;
}
	.login-logo {
		margin: 0 0 2rem 0;
	}

.navbar-brand {
	padding: 0;
}

	.navbar-brand img {
		max-height: 50px;
	}

.navbar-right-username {
	padding: 15px 0;
	font-weight: bold;
}

/* ------ */
/*  Home  */
/* ------ */
.thumbnails-dashboard {
	margin-top: 5rem;
}

.thumbnails-dashboard a:hover {
	text-decoration: none;
}

	.thumbnail-dashboard {
		padding: 2rem !important;
		font-size: 3.5rem;
		text-align: center;
	}

		.thumbnail-dashboard .glyphicon {
			font-size: 7rem;
		}

		.thumbnail-dashboard .caption {
			font-size: 1.4rem;
			padding: 0 !important;
		}


/* -------------- */
/*  Product View  */
/* -------------- */

.btn-product-archives {
	margin-left: 1rem;
}

.table-product {
	margin: 2rem 0;
}
	table.table-product > tbody > tr > td {
		vertical-align: middle;
	}
	.table-product .checkbox {
		margin: 0;
	}
	.table-product .btns {
		width: 155px;
		height: 35px;
	} 
		.table-product .btns a {
			display: none;
		}
		.table-product tr:hover > .btns a {
			display: inline-block;
		}
		.table-product .product-duplicate,
		.table-product .devis-duplicate {
			margin-left: 1rem;
		}

	.table-product .glyphicon-plus {
		cursor: pointer;
	}

	.table-product .glyphicon-plus::before {
	    content: "\2212";
	}

	.table-product .glyphicon-plus.collapsed::before {
	    content: "\002b";
	}

	.table-product .product-online {
		cursor: pointer;
	}


.table-condensed.table-product > tbody > tr > td.table-product-children-container {
	padding: 0 0 0 7rem;
}

.table-product-children {
	width: 100%;
	margin-bottom: 0;
}

	.table-product-children > caption {
		padding: 0.5rem 1rem;
		font-weight: bold;
	}

	.table-product-children .product-child-online {
		cursor: pointer;
	}


/* -------------------- */
/*  Product Add / Edit  */
/* -------------------- */
form.product,
form.product-child {
	margin: 2rem 0;
}
	form.product fieldset,
	form.product-child fieldset {
		margin-top: 2rem;
	}
	form.product legend,
	form.product-child legend {
		padding-top: 1rem;
		scroll-margin-top: 51px;
	}
	form.product .control-label,
	form.product-child .control-label {
		padding: 7px 0 0;
		cursor: pointer;
		font-weight: normal;
	}
	form.product .control-label.required,
	form.product-child .control-label.required {
		font-weight: bold;
	}
	form.product textarea,
	form.product-child textarea {
		max-width: 100%;
		min-width: 100%;
		width: 100%;
	}
	form.product .input-group-addon.w-input,
	form.product-child .input-group-addon.w-input {
		padding: 0;
	}
		form.product .input-group-addon.w-input input,
		form.product-child .input-group-addon.w-input input {
			min-width: 10rem;
			height: 32px;
			border: 0;
		}

#navbar-product.affix,
#navbar-option.affix {
	top: 60px;
}

	#navbar-option .nav > li > .nav {
		display: none;
	}

	#navbar-option .nav > li.active > .nav {
		display: block;
	}

		#navbar-option .nav > li > .nav > li > a {
			font-size: 1.3rem;
			margin-left: 1rem;
			padding-top: 0.5rem;
			padding-bottom: 0.5rem;
			border-left: 3px solid transparent;
		}
		
		#navbar-option .nav > li > .nav > li.active > a {
			border-left-color: #337ab7;
		}

#navbar-product.affix-top,
#navbar-option.affix-top {
	margin-top: 60px;
}

#navbar-product .nav-to-top,
#navbar-option .nav-to-top {
	display: inline-block;
	padding: 10px 15px;
	font-size: 1.2rem;
}

#drag-drop-area.hover {
	border-color: #00a0d2;
}

.image-to-upload {
	display: inline-block;
	width: 190px;
	/*height: 340px;*/
	margin: 0.5rem;
	padding: 1rem;
	border: 1px solid #6F6F6F;
	vertical-align: top;
}
.image-to-upload.edit {
	width: 250px;
	height: 385px;
	margin-bottom: 0;
}
.image-to-upload.placeholder {
	box-shadow: inset 0 0 10px 0 #9D9D9D;
}
.image-to-upload .image {
	height: 140px;
}
.image-to-upload.edit .image {
	height: 140px;
}
.image-to-upload img {
	display: inline-block;
	max-width: 100%;
	max-height: 140px;
	height: auto;
}
.image-to-upload.edit img {
	cursor: move;
}
.image-to-upload h3 {
	margin-top: 0;
	font-size: 1.1em;
	word-wrap: break-word;
}
.image-to-upload input,
.image-to-upload textarea {
	width: 100%;
}
.image-to-upload textarea {
	height: 4rem;
	max-height: 4rem;
	min-height: 4rem;
	font-size: 0.8rem;
	word-wrap: break-word;
}
.image-to-upload.edit .delete {
	text-align: right;
}
.image-to-upload.edit .delete a {
	color: #a00;
	text-decoration: none;
}
.image-to-upload.edit .delete a:hover {
	color: red;
}

.product-dropzone.dz-drag-hover {
	border: 0;
}

.product-dropzone.dz-drag-hover .message {
	box-shadow: 0 0 0 transparent;
}

.product-dropzone .dz-message {
    height: 100px;
	margin: 0 0 2rem;
	padding-top: 2.5rem;
	background-color: #eee;
    text-align: center;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
    cursor: pointer;
}

.product-dropzone .dropzone-previews {
	display: flex;
	flex-direction: row;
	justify-content: space-around;
}

.product-dropzone .dz-preview {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.product-dropzone .dz-preview.product-photo .dz-image {
	border-radius: 4px;
}
.product-dropzone .dz-preview.product-photo .dz-details {
	opacity: 1;
}

.product-photo .dz-image {
	width: 150px;
}

.product-photo .dz-details {
	width: 150px;
}

	.product-photo-del {
		width: 100%;
		padding: 0;
	}

.progress {
  height: 20px;
  /*margin-bottom: 20px;*/
  margin-bottom: 0;
  overflow: hidden;
  background-color: #f5f5f5;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
          box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
}
.progress-bar {
  float: left;
  width: 0;
  height: 100%;
  font-size: 12px;
  line-height: 20px;
  color: #fff;
  text-align: center;
  background-color: #337ab7;
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);
          box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);
  -webkit-transition: width .6s ease;
       -o-transition: width .6s ease;
          transition: width .6s ease;
}
.progress-striped .progress-bar,
.progress-bar-striped {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
  -webkit-background-size: 40px 40px;
          background-size: 40px 40px;
}
.progress.active .progress-bar,
.progress-bar.active {
  -webkit-animation: progress-bar-stripes 2s linear infinite;
       -o-animation: progress-bar-stripes 2s linear infinite;
          animation: progress-bar-stripes 2s linear infinite;
}
.progress-bar-success {
  background-color: #5cb85c;
}
.progress-striped .progress-bar-success {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
}
.progress-bar-info {
  background-color: #5bc0de;
}
.progress-striped .progress-bar-info {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
}
.progress-bar-warning {
  background-color: #f0ad4e;
}
.progress-striped .progress-bar-warning {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
}
.progress-bar-danger {
  background-color: #d9534f;
}
.progress-striped .progress-bar-danger {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
}


.thumbnail {
  padding: 4px;
  margin-bottom: 20px;
  line-height: 1.42857143;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  -webkit-transition: border .2s ease-in-out;
       -o-transition: border .2s ease-in-out;
          transition: border .2s ease-in-out;
}
.thumbnail > img,
.thumbnail a > img {
  margin-right: auto;
  margin-left: auto;
}
a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
  border-color: #337ab7;
}
.thumbnail .caption {
  padding: 9px;
  color: #333;
}


/* --------- */
/*  Options  */
/* --------- */
.nav-tabs-option a:focus {
	outline: 0;
}
.tab-content-option {
	padding-top: 1rem;
}

/* -------------*/
/*   Customer   */
/* -------------*/

.table-customer {
	margin: 1.5rem 0;
}

	.table-customer-col-actions {
		width: 7rem;
	}

	.table-customer-state-contact {
		color: orange;
	}

	.table-customer-state-client {
		color: green;
	}


/* --------*/
/*  Devis  */
/* --------*/

.table-devis-col-actions {
	width: 15rem;
}

.list-pagination {
	text-align: center;
}

.list-group-devis-download {
	margin-top: 4rem;
}

.container-devis .alert {
	margin-top: 1rem;
}
.container-devis .jumbotron {
	margin-top: 3rem;
}

.nav-devis {
}

.nav-devis > li {
	margin-bottom: 0;
}
	.nav-devis > li > a,
	.nav-devis.nav-justified > li > a {
		padding: 10px 10px;
		margin-right: 1rem;
		background-color: #272727;
		color: #fff;
		font-size: 1.3rem;
		text-transform: uppercase;
		border: 0;
		border-radius: 0;
		transition: background-color 150ms;
	}
	.nav-devis > li:last-child > a,
	.nav-devis.nav-justified > li:last-child > a {
		margin-right: 0;
	}
	.nav-devis > li.active > a,
	.nav-devis > li.active > a:hover,
	.nav-devis > li.active > a:visited,
	.nav-devis > li.active > a:focus,
	.nav-devis > li > a:hover,
	.nav-tabs.nav-devis.nav-justified>.active>a,
	.nav-tabs.nav-devis.nav-justified>.active>a:focus,
	.nav-tabs.nav-devis.nav-justified>.active>a:hover {
		background-color: #525252;
		/*background-color: #00ccff;*/
		/*color: #fff;*/
		color: #00ccff;
		border-color: #525252;
		transition: background-color 150ms;
	}

form.devis {
	margin-top: 3rem;
}

	form.devis label.text-left {
		text-align: left;
	}

.table-product-result-col-qte{
	width: 7rem;
}

.table-product-result-col-select{
	width: 7rem;
}

.devis .thumbnail b {
	float: right;
	display: block;
	text-align: right;
}

.devis .thumbnail br {
	clear: both;
}

.devis .thumbnail .caption > span {
	display: inline-block;
	max-width: 80%;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}

.devis-options .checkbox .help-block {

}

.devis-options .form-control-shipment-radio {
	margin-top: 9px;
}

.devis-options .form-control-shipment-label {
	min-width: 50rem;
}

.product-select .btn {
	display: inline-block;
}

.product-select input[type="radio"] {
	display: none;
}

.customer-type-exist {
	display: none;
}

form.devis-init .checkbox input[type="checkbox"],
form.devis-sav .checkbox input[type="checkbox"],
form.devis-install .checkbox input[type="checkbox"],
form.devis-structures .checkbox input[type="checkbox"],
form.devis-options .checkbox input[type="checkbox"]{
	margin-left: 0;
}

.btn-group-pose,
.btn-group-products,
.btn-group-struct {
	display: block;
}

	.btn-group-pose .btn,
	.btn-group-products .btn,
	.btn-group-struct .btn {
		float: none;
		margin: 0;
		text-align: left;
		border-radius: 0;
		white-space: normal;
	}

	.btn-group-pose .btn + .btn,
	.btn-group-products .btn + .btn, 
	.btn-group-struct .btn + .btn {
		margin-top: -1px;
		margin-left: 0;
	}

.btn-group-products .list-group-item {
	position: relative;
}

.btn-group-products .list-group-item-heading {
	width: 35rem;
}

.btn-group-products .list-group-item-text {
	margin-top: 1.5rem;
}

.btn-group-products .list-group-item-qte {
	position: absolute;
	top: 5px;
	right: 10px;
	width: 10rem;
}

.devis-shipment-price-preview {
	position: absolute;
	right: 0;
	top: 12px;
}

.table-devis-detail {
	margin-top: 3rem;
	text-align: right;
}

	.table-devis-detail .d-col-lbl {
		text-align: left;
	}

	.table-devis-detail .d-col-qte {
		width: 12rem;
	}

	.table-devis-detail .form-control-ratio {
		float: right;
		width: 5rem;
		text-align: right;
	}

	.table-devis-detail th label {
		font-weight: bold;
	}

	.table-devis-detail tr > td:nth-child(4),
	.table-devis-detail tr > td:last-child {
		text-align: right;
	}

	.table-devis-detail .d-row-tab > th {
		padding-left: 3rem;
	}

	.table-devis-detail .d-row-tab-child > th {
		padding-left: 6rem;
	}

	.table-devis-detail .d-row-bold > td:nth-child(4),
	.table-devis-detail .d-row-bold > td:last-child {
		font-weight: bold;
	}

	.table-devis-detail .d-col-lbl {
		width: 20rem;
	}
	.table-devis-detail .d-col-function {
		width: 6rem;
	}

#d_liv_client {
	width: 5rem;
}


/* ------------- */
/*  Distributor  */
/* ------------- */

.btn-distributor-affect {
	margin-left: 1rem;
}

.table-distributor {
	margin: 2rem 0;
}
	table.table-distributor > tbody > tr > td {
		vertical-align: middle;
	}
	.table-distributor .btns {
		width: 155px;
		height: 35px;
	} 
		.table-distributor .btns a {
			display: none;
		}
		.table-distributor tr:hover > .btns a {
			display: inline-block;
		}

.distributor-affect-spinner {
	display: flex;
	align-items: center;
	height: 34px;
	transform: rotate(0deg);
}

@keyframes spinner_rotation {
	to { transform: rotate(360deg); }
}

.load-spinner {
	display: none;
	font-size: 1.4rem;
	animation-delay: none;
	animation-duration: 1s;
	animation-iteration-count: infinite;
	animation-name: spinner_rotation;
	animation-timing-function: circular;
}

.distributor-affect-infos {
	display: flex;
	justify-content: space-around;
	margin-bottom: 2rem;
	padding: 1.5rem;
	border: 1px solid #bbb;
	border-radius: 4px;
}

	.distributor-affect-infos ul {
		margin: 0;
		padding-left: 1.5rem;
	}

.distributor-affect-customers-list {
	max-height: 75vh;
	overflow: auto;
}

/* -------- */
/*  Footer  */
/* -------- */
.save-status {
	position: fixed;
	right: 0;
	bottom: 0;
	padding: 0.5rem 1.5rem;
}

footer.main {
	height: 150px;
	padding-top: 1rem;
	border-top: 1px solid #e8e8e8;
}


/* ----- */
/*  RWD  */
/* ----- */
@media ( max-width: 767px ) {
	
	form.product .control-label {
		padding-right: 15px;
		padding-left: 15px;
	}
}