/* Main css file that contains most of the style of the website.*/

:root{
	--border-color: #DEE1EA;
	--accent-color: #D8127D;
	--section-bg-color: #FAFAFA;
	--function-off-color: #FBF5F4;
	--green: #1EB564;
	--red: #D02626;
	--yellow: #FFC600;
	--grey: #00000080;
	--blue: #00A3DA;
	
	
}

textarea {
	resize: none;
}


@media print {
    .achtergrond_verwijderen
    {
    	font-size: 20px;
    	background-color: #333!important;
    	color: #fff!important;
    }
    .innerModalIframe.left
    {
    	width: 50%!important;
    }
    .print_style_memo
    {
    	background-color: #333!important;
    	color: #fff!important;
    }
    .toptex_div
    {
		display: none;
	}
	#productsForm label
	{
		display: inline-block;
		width: 150px;
	}
	input
	{
		color: #000;
	}
	.stock_print
	{
		display: inline-block;
	}
}
.stock_print
	{
		display: none;
	}

*
{
	font-family: Montserrat, 'Open Sans', sans-serif;
}
#confirmSetStateDiv
{
	z-index: 1200;
}

.page-active
{
	background-color: #e5007e!important; 
	font-weight: bold;
}

.bestellen-menu a
{
	background-color: #e5007eb3; 
	color: #fff;
	padding: 7px;
	border-radius: 4px;
	margin-right: 5px;
}

.bestellen-menu a:hover
{
	text-decoration: none;
	background-color: #e5007e; 
}

.pdf-button
{
	background-color: #ccc;
    max-width: 200px;
    text-align: center;
    color: #000;
    text-decoration: none!important;
    padding: 10px;
    border-radius: 15px;
    font-size: 13px;
    margin-top: 10px;
    display: inline-block;
}
.pdf-button:hover
{
	background-color: #333;
	color: #fff;
}
.datum_search_form
{
	width: 600px;
    margin: 0px;
    display: inline-block;
    text-align: center;
}
h3
{
	padding: 0px;
	margin: 0px;
	margin-bottom: 8px;
}
.navbar-default
{
	padding: 4px;
	margin-bottom: 0px!important;
}
.innerModalIframe
{
	font-family: 'Open Sans', sans-serif;
}
.dropbtn {
    background-color: #4CAF50;
    color: white;
    padding: 16px;
    font-size: 16px;
    border: none;
    cursor: pointer;
}

iframe {
    border: none;
    width: 100%;
    height: 60%;
}
label {
    font-weight: bold;
}
ul.nav.navbar-nav.pull-right {
    margin: 0;
}
img.left-img {
    height: 260px;
}
img.right-img {
    height: 260px;
}
img.winkel-image {
    width: 100%;
}
.section.section-left {
    text-align: center;
}
.section.section-right {
    text-align: center;
}
.dropbtn:hover, .dropbtn:focus {
    background-color: #3e8e41;
}
.verhuur-content-div {
    margin-top:2vh;
    height: 500px;
}
.dropdown {
    position: relative;
    display: inline-block;
}
.dropdown-content {
    display: none;
    position: absolute;
    background-color: #f9f9f9;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
}

.dropdown-content a {
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
}

.dropdown-content a:hover {background-color: #f1f1f1}

.show {display:block;}

.header {
    width: 50%;
    margin-top: 0px;
    margin-left: 34px;
}
.section.center {
    width: 40%;
    text-align: center;
    margin-left: 30%;
    margin-top: 5%;
}

a.custom_a{
    color:black;
}
a.custom_a:hover{
    text-decoration:none;
}
.top_beheer {
    width: 200px;
}
label{
    min-width: 200px;
}
.custom_button {
    margin-bottom: 10px;
    background-color: #15b10d;
    width: 200px;
    text-align: center;
    color: white;
    text-decoration: none;
    height: 40px;
    border-radius: 5px;
    padding: 12px;
}
body{
    margin:0px;
    /*background-color: #616161;*/
}
.orderButton:hover {
    background-color: #e08d45;
}
.orderButton{
    border:none;
    background-color: #d2680b;
    color: white;
    width: 90%;
    margin-left: 5%;
    cursor: pointer;
    border-radius: 5px;
    height: 30px;
    text-align: center;
    padding-top: 4px;
}
.text-wrapper {
    height: 190px;
    text-align: left;
}
.one-third-div{
    width: 16vw;
    height: 410px;
    margin-left: 7vw;
    float:left;
    border-radius: 5px;
    background-color: white;
    border-bottom: gray solid 2px;
    text-align: justify;
    padding: 10px;
    background-color: #efefef;
}
img.custom_modal_image {
    height: 100px;
    width: auto;
    position: absolute;
    right: 20px;
    top: 60px;
}
.custom_modal_header_text {
    width: 350px;
    text-align: left;
}
.image-wrapper{
    overflow:hidden;
    height:150px;
    width:200px;
}
.one-third-img{
    width:100%;
}
.one-third-div:first-of-type {
    margin-left: 14vw;
}


div.side_bar ~ .section{
	position: absolute;
	top: 70px;
	left: 230px;
    background-color: var(--section-bg-color);
    width: calc(100% - 230px);
    height: calc(100% - 70px);
    padding: 0px 20px 20px 20px;
    overflow: auto;
}
.modal-header{
    background-color:white;
}
.modal-body{
    background-color:white;
}
.modal-footer{
    background-color:#efefef;
}
img.table-image {
    margin-left: 20px;
    width: 50px;
}
img.logo {
    height: 50px;
    width: auto;
}
td {
    max-width: 180px;
    overflow: auto;
	color: black;
}
a.optieButton {
    font-size: 16px;
}
.modal {
    width: 80%;
    margin: auto;
    margin-top: 0vh;
}
.ordertable th
{
	text-align: left;
}
.ordertable td, .ordertable th
{
	border-bottom: dashed 1px #333;
}

div.dialog_shadow{
	background: rgba(0, 0, 0, 0.5);
	backdrop-filter: blur(2px);
	/* klikken op de schaduw sluit het venster, dus de cursor is daar het sluiten-icoontje */
	cursor: url('../images/close_cursor.svg') 16 16, pointer;
}

div.dialog_shadow div.dialog{
	cursor: auto;
}

div.dialog
{
	background: white;
	padding: 20px;
	border: 1px solid var(--border-color);
	box-shadow: 3px 3px 100px 0px #00000008;
	border-radius: 5px;
}

fieldset
{
	padding: 0px;
    margin: 0px;
    border: none;
}

div.legend
{
	color: black;
	height: 45px;
	text-align: left;
	-webkit-user-select: none;
	border-bottom: 1px solid var(--border-color);
	display: flex;
	justify-content: space-between;
	align-items: center;
}

div.legend h1{
	font-weight: 600;
    font-size: 18px;
    line-height: 27px;
    margin: 0px;
}

div.legend button.closeBtn{
	cursor: pointer;
	float: right;
	max-height: 30px;
	display: flex;
	gap: 10px;
	align-items: center;
	background: none;
	border: none;
	outline: none;
}

button.closeBtn img{
	border: 1px solid var(--border-color);
	border-radius: 50%;
	padding: 8px;
}

div.fieldset
{
	overflow: auto;
}

div.dialog div.fieldset{
     height: calc(100% - 45px);
     word-break: break-all;
}

div.dialog div.fieldset input[type='submit']{
	position: absolute;
	right: 10px;
	bottom: 10px;
}

div.dialog button.add_button{
	top: auto;
	bottom: 20px;
}

div.dialog div.fieldset{
	display: flex;
	gap: 20px;
}

/*
 * Het bevestigingsvenster van showConfirm() in custom.js: de vraag bovenaan, de knoppen
 * rechtsonder. Knoppen in de vorm van .add_button, de bevestiging in rood omdat hij iets
 * weghaalt.
 */
div.confirmDialog{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 100%;
	padding-top: 16px;
	word-break: normal;
}

div.confirmDialog p{
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
}

div.confirmActions{
	display: flex;
	justify-content: flex-end;
	gap: 10px;
}

button.confirmBtn{
	height: 36px;
	padding: 0 18px;
	border: 1px solid var(--border-color);
	border-radius: 18px;
	background: white;
	font-family: inherit;
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
}

button.confirmBtn:hover{
	background: var(--section-bg-color);
}

button.confirmBtn.danger{
	background: var(--red);
	border-color: var(--red);
	color: white;
}

button.confirmBtn.danger:hover{
	filter: brightness(0.92);
}

button.confirmBtn:focus-visible{
	outline: 2px solid var(--accent-color);
	outline-offset: 2px;
}

div.columnContainer{
	display: flex;
    flex-direction: column;
    gap: 20px;
    flex-grow: 1;
    max-height: calc(100% - 40px);
    padding-top:14px;
}

div.dialog .inputContainer.grow{
	flex-grow: 1;
	display: flex;
    flex-direction: column;
    gap: 5px;
}

div.dialog input:not([type="checkbox"]){
	width: 100%;
	height: 44px;
	border: 1px solid var(--border-color);
    border-radius: 8px;
    padding-left: 14px;
    padding-right: 14px;
    outline: none;
}

div.dialog textarea{
    width: 100%;
    flex-grow: 1;
    height: auto;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 14px;
    outline: none;
}

div.dialog select{
    width: 100%;
    height: 44px;
    border: 1px solid var(--border-color);
    background: white;
    border-radius: 8px;
    padding-left: 14px;
    padding-right: 14px;
    outline: none;
}

.select2-selection{
	border: 1px solid var(--border-color)!important;
    border-radius: 8px!important;
    height: 44px!important;
    padding-left: 14px!important;
    padding-right: 14px!important;
    outline: none!important;
}

.select2-selection .select2-search textarea{
	height: 37px!important;
	line-height: 32px!important;
	font-size: 14px!important;
}

.select2-selection ul{
	display: inline-block!important;
	margin-top: 5px;
}

div.inputContainer div.previewAndDropZone{
    display: flex;
    gap: 10px;
    max-height: 127px;;
}

div.previewContainer img{
	max-width: 100%;
    max-height: 127px;
    border-radius: 5px;
    object-fit: contain;
}

div.inputContainer label.dropZone{
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 10px;
    align-items: center;
    justify-content: center;
    border: 2px dashed var(--border-color);
    border-radius: 5px;
    cursor: pointer;
    text-align: center;
    padding: 10px;
    flex-grow: 1;
    font-size: 12px;
    font-weight: 500;
    margin-bottom: 0px;
    max-height: 127px;
}

label.dropZone div.dropBtn{
	border: 1px solid var(--border-color);
    border-radius: 5px;
    width: 143px;
    height: 26px;
    line-height: 26px;
    padding: 0px;
    cursor: pointer;
    background: white;
    color: black;
    font-weight: 500;
    font-size: 12px;
}

select option.placeholder{
	color: #667085;
}

#alertBox{
     top: 100px;
     width: 400px;
     height: 200px;
     z-index: 9999;
}

#alertBox div.fieldset{
	height: calc(100% - 50px);
}

div.modal-content{
	min-width: 1115px;
}

button.btn_approved{
	background-color: #9cec7a;
}

button.btn_denied{
	background-color: #ec7a7a;
}

button.btn_manual{
	background-color: #4f89be;
	color: #fff;
}

/* De scan-styling staat in scan.css */

div.orderStatusContainer{
	width: 100%;
	height: 20px;
	margin-bottom: 2px;
}

div.orderStationStatus{
	float: left;
	margin-left: 10px;
	border-right: 1px solid lightgray;
	padding-right: 10px;	
}

@media (min-width: 768px){
	.modal-dialog {
	    width: 100%;
	    margin: 0px auto;
	}
}


#bakken
{
	width: 100%;
}

#bakken td
{
	padding: 5px;
	
}

#bak-berichten
{
	background-color: #cb3e29;
    padding: 20px;
    color: #fff;
    border-radius: 20px;
    width: 94%;
    margin-bottom: 10px;
}
#bak-berichten #bak_extrainfo
{
	background-color: #00000033;
    border: 1px solid #fff;
    padding: 5px;
    color: #fff;
    width: 100%;
    overflow: hidden;
}

#bak-berichten .button
{
	color: #fff;
    background-color: #d9534f;
    border-color: #d43f3a;
    padding: 6px 12px;
    margin-top: 6px;
    border-radius: 4px;
}
#bak-berichten .button:hover
{
	color: #fff;
    background-color: #c9302c;
    border-color: #ac2925;
    cursor: pointer;
}


#reason {
    width: 200px;
    background: #f5f5f5;
    border: 1px solid #ddd;
    padding: 5px;
    display: inline-block;
}

#reason[placeholder]:empty:before {
    content: attr(placeholder);
    color: #555; 
}

#reason[placeholder]:empty:focus:before {
    content: "";
}
.customLightbox
{
	width: 100%;
	height: 100%;
	position: fixed;
	background-color: #d3d3d3;
	z-index: 2000;
	top: 0px;
	left: 0px;
	display: none;
	background-repeat: no-repeat;
    background-size: auto;
    background-position-x: center;
    overflow:auto;
    text-align: center;
}

.customLightbox img
{
	vertical-align: middle;
    object-fit: contain;
    max-width: 100%;
    max-height: 90%;
}


.icons
{
	width: 24px; 
	height: 24px;
	cursor: pointer;
	margin-left: 4px;
	margin-right: 4px;
	color: #e5007e;
}

.toptex_div
{
	padding: 10px; 
	background-color: #b9b9b9; 
	border-radius: 6px; 
	width: 100%;
}

.toptex_div label
{
	display: inline-block; 
	width: 50%;
}

.toptex_div textarea
{
	width: 100%;
}

.processstock
{
	color: #fff;
	margin-right: 0px;
	padding: 8px;	
	background-color: #e6007e;
	border: 0px;
	margin-top: 10px;
}
.processstock:hover
{
	background-color: #ed3d9d;
}

.image-status
{
    width: 150px;
    text-align: center;
    font-size: 14px;
    padding: 4px;
    color: #333;
    margin-right: 10px;
    background-color: #9cec7a;
    display: inline-block;
    cursor: pointer;
}

.image-afgekeurd
{
	background-color: #ec7a7a!important;
}

/*
Nieuw login deel
*/

.loginContainer{
	position: absolute;
	top: 0px;
	left: 0;
	right: 0;
	margin: auto;
	width:500px;
	display: flex;
	flex-direction: column;
}

.loginContainer .logoContainer img{
	margin-top: 57px;
	max-height: 57px;
	margin-bottom: 57px;
}

.loginContainer .hContainer h1{
	font-weight: 700;
	font-size: 27px;
}

.loginContainer .hContainer span{
	font-weight: 400;
	font-size: 13px;
	line-height: 27px;
	vertical-align: middle;
}

.loginContainer .formContainer{
	border: 1px solid var(--border-color);
	border-radius: 5px;
	box-shadow: 3px 3px 100px 0px #00000008;
	padding: 28px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.loginContainer .formContainer label{
    font-weight: 500;
    font-size: 14px;
}

.loginContainer .formContainer input{
    width: 443px;
    height: 44px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding-left: 14px;
    padding-right: 14px;
}

.loginContainer .inputContainer{
    position: relative;
}

.formContainer img{
	position: absolute;
	bottom: 10px;
	right: 15px;
}

.loginContainer .formContainer button{
	width: 443px;
	height: 44px;
	border-radius: 8px;
	background-color: #2B9D63;
	color: white;
	text-align: center;
	border: 0px;
	font-weight: 500;
	font-size: 16px;
	/*
	 * .formContainer button verderop zet de knop op display: flex, en dan legt justify-content
	 * de tekst neer en niet text-align hier boven. Zonder deze regel stond "Inloggen" daardoor
	 * tegen de linkerkant aan.
	 */
	justify-content: center;
}

/* Stations keuze deel */

.stationsContainer{
	position: absolute;
	top: 280px;
	left: 0;
	right: 0;
	margin: auto;
	display: flex;
    justify-content: space-between;;
    row-gap: 40px;
	max-width: 620px;
	flex-wrap: wrap;
}

.stationsContainer .stationItem{
	width: 187px;
	height: 80px;
	border-radius: 8px;
	background-color: #FBF5F4;
	font-weight: 600;
	font-size: 16px;
	vertical-align: middle;
	text-align: center;
	line-height: 80px;
	cursor: pointer;
	transition: background-color 0.3s, color 0.3s;
}

.stationsContainer .stationItem:hover{
	background-color: var(--accent-color);
	color: white;
}

/* nieuwe indeling */

.top_bar{
	height: 70px;
	width: 100%;
	border-bottom: 1px solid var(--border-color);	
	display: flex;
}

.top_bar .logoContainer{
	position: relative;
	height: 100%;
	text-align: center;
	width: 230px;
	border-right: 1px solid var(--border-color);
	padding: 20px;
}

.top_bar .logoContainer img{
    max-height: 100%;
}

.top_bar .functionsContainer{
	display: flex;
	width: calc(100% - 230px);
	justify-content: space-between;
	padding: 10px 20px;
}

.searchContainer{
	position: relative;
}

.searchContainer input{
    width: 220px;
    height: 49px;
    border: 1px solid var(--border-color);
    border-radius: 4px;
    padding-left: 10px;
    padding-right: 10px;
}

.searchContainer i{
	position: absolute;
	bottom: 17px;
	right: 17px;
}

/*
 * Het resultatenlijstje onder de zoekbalk. De zoekbalk filtert de overzichten niet meer,
 * hier komen de gevonden bestellingen te staan om er een te openen.
 */
.searchResults{
	display: none;
	position: absolute;
	top: 54px;
	left: 0px;
	width: 420px;
	max-height: 60vh;
	overflow-y: auto;
	background: #fff;
	border: 1px solid var(--border-color);
	border-radius: 6px;
	box-shadow: 0px 8px 24px rgba(20, 20, 40, .14);
	z-index: 1000;
	padding: 4px;
}

.searchResult{
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 10px;
	border-radius: 4px;
	cursor: pointer;
}

.searchResult:hover{
	background: var(--section-bg-color);
}

.searchResult .nr{
	flex: none;
	font-weight: 700;
	min-width: 68px;
}

.searchResult .wie{
	flex: 1;
	min-width: 0px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.searchResult .wie .leeg{
	color: var(--grey);
	font-style: italic;
}

.searchResult .datum{
	flex: none;
	font-size: 12px;
	color: var(--grey);
	white-space: nowrap;
}

.searchResult .status{
	flex: none;
	font-size: 11px;
	font-weight: 700;
	border-radius: 20px;
	padding: 3px 9px;
	background: var(--section-bg-color);
	color: var(--grey);
	white-space: nowrap;
}

.searchResult .status.wc-processing{ background: #E9F3FF; color: #1F6FD0; }
.searchResult .status.wc-completed{ background: #E9F7EF; color: #1C8C40; }
.searchResult .status.wc-on-hold{ background: #FFF4E5; color: #B4720A; }
.searchResult .status.wc-pending{ background: #FDECEC; color: #C0392B; }
.searchResult .status.wc-cancelled,
.searchResult .status.wc-refunded,
.searchResult .status.wc-failed{ background: #F1F1F4; color: #6B6B75; }

.searchLeeg{
	padding: 12px 10px;
	font-size: 13px;
	color: var(--grey);
}

/* rechts in de topbar: de dagteller van het station, met de gebruiker er naast */
.top_bar .rechtsContainer{
	display: flex;
	align-items: center;
	gap: 30px;
}

.vandaagTeller{
	text-align: right;
	white-space: nowrap;
}

.vandaagTeller .cijfers{
	font-weight: 800;
	font-size: 26px;
	line-height: 26px;
}

/* strak onder het getal, zonder extra ruimte er omheen */
.vandaagTeller .label{
	font-family: Montserrat, 'Open Sans', sans-serif;
	font-weight: 700;
	font-size: 10px;
	line-height: 10px;
	padding: 0px;
	margin: 0px;
	color: #A9AFB6;
}

.top_bar .userContainer{
    position: relative;
    display: flex;
    align-items: center;
    min-width: 188px;
    gap: 10px;
    cursor: pointer;
}

.userContainer .userIcon{
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	border-radius: 8px;
}

/* geen foto: de eerste letter van de naam */
.userContainer .userIcon.letter{
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--section-bg-color);
	border: 1px solid var(--border-color);
	font-weight: 700;
	font-size: 17px;
	color: var(--grey);
}

.userContainer .textContainer{
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0px;
	flex-grow: 1;
}

.userContainer .stationName{
	font-weight: 700;
	font-size: 13px;
	line-height: 17px;
	white-space: nowrap;
}

.userContainer .name{
	font-size: 11px;
	line-height: 15px;
	color: var(--grey);
	white-space: nowrap;
}

.userContainer .arrow{
	flex-shrink: 0;
	font-size: 11px;
	color: var(--grey);
}

/* het uitklapmenu rechtsboven */
.userContainer .userMenu{
	display: none;
	position: absolute;
	top: 56px;
	right: 0px;
	z-index: 1000;
	min-width: 220px;
	background: #fff;
	border: 1px solid var(--border-color);
	border-radius: 8px;
	padding: 6px;
	box-shadow: 0px 6px 20px #0000001a;
	cursor: default;
}

.userContainer .userMenu.open{
	display: block;
}

.userContainer .userMenu .kop{
	font-weight: 600;
	font-size: 10px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: var(--grey);
	padding: 6px 10px;
}

.userContainer .userMenu a{
	display: block;
	padding: 8px 10px;
	border-radius: 5px;
	font-size: 13px;
	color: #000;
	text-decoration: none;
	cursor: pointer;
}

.userContainer .userMenu a:hover{
	background: var(--section-bg-color);
}

.userContainer .userMenu a.actief{
	font-weight: 700;
	color: var(--accent-color);
}

.userContainer .userMenu .streep{
	height: 1px;
	background: var(--border-color);
	margin: 6px 0px;
}

.userContainer .userMenu a.uitloggen{
	color: var(--red);
	font-weight: 600;
}

.side_bar{
	width: 230px;
	height: calc(100vh - 70px);
	border-right: 1px solid var(--border-color);
}

.side_bar ul{
	display: flex;
	flex-direction: column;
	gap: 5px;
	margin: 0px;
	padding: 0px;
	height: 100%;
}

.side_bar ul li{
    position: relative;
    list-style: none;
    width: 100%;
}

.side_bar ul li:not(.seperator){
	height: 50px;
	line-height: 50px;
	display: flex;
	justify-content: center;;
	gap: 10px;
}

.side_bar ul li.seperator{
    border-top: 1px solid var(--border-color);
    margin: 10px 0px;
}

.side_bar ul li.title{
	font-size: 13px;
	text-align: left;
}

.side_bar ul li a{
	width: 187px;
	padding-left: 20px;
	display: flex;
	gap: 10px;
	color: black;
	font-weight: 500;
	font-size: 14px;
	text-decoration: none;
	align-items: center;
}

.side_bar ul li a svg{
	max-width: 20px;
	max-height: 20px;
}

a svg path{
	fill: black;
}

li.active a svg path, .side_bar ul li:hover a svg path{
    fill: white;
}

.side_bar ul li.active a, .side_bar ul li:not(.title):hover a{
	background-color: var(--accent-color);
    color: white;
    border-radius: 6px;
}

.side_bar ul li.active::before, .side_bar ul li:hover::before{
	content: '';
    position: absolute;
    left: 0px;
    width: 5px;
    height: 50px;
    background-color: var(--accent-color);
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
}

.side_bar ul li.logout{
	margin-top: auto;
}

.section h1{
	font-weight: 600;
	font-size: 26px;
}

/* Bestellingen */

.filterContainer{
    display: flex;
    gap: 0px;
    width: 100%;
    margin-bottom: -1px;
    position: relative;
	z-index: 1;
	justify-content: space-evenly;
}

.filterContainer.with-bottom-space{
	margin-bottom: 5px;
}

.filterContainer .filterBtn{
	/*width: 113px;*/
	flex-grow: 1;
    height: 38px;
    line-height: 38px;
    text-align: center;
    font-weight: 500;
    font-size: 14px;
    cursor: pointer;
}

.filterContainer .filterBtn:hover, .filterContainer .filterBtn.active{
    border-bottom: 1px solid var(--accent-color);
    color: var(--accent-color);
}

.filterContainer .sortContainer{
	margin-left: auto;
	display: flex;
    align-items: center;
    gap: 8px;
    width: 113px;
}

.filterContainer .sortContainer.left{
	margin-left: 0px;
	width: auto;
}

.filterContainer .searchContainer{
	margin-left: auto;
}

.sortBtn{
	width: 28px;
	height: 28px;
	cursor: pointer;
	border: 1px solid var(--border-color);
	border-radius: 8px;
	background-color: white;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* er wordt gezocht of gesorteerd in de lijst die open staat */
.sortBtn.actief{
	border-color: var(--accent-color);
	box-shadow: 0 0 0 1px var(--accent-color);
}

/* een knop met het schermpje dat er onder uitklapt */
.sortMenu{
	position: relative;
}

.sortMenu.open .sortBtn{
	border-color: var(--accent-color);
}

.sortMenu .sortPanel{
	display: none;
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	z-index: 10;
	width: 260px;
	padding: 12px;
	flex-direction: column;
	gap: 8px;
	background: white;
	border: 1px solid var(--border-color);
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
	cursor: auto;
}

.sortMenu.open .sortPanel{
	display: flex;
}

/* staat de knop links op de pagina, dan klapt het schermpje naar rechts uit */
.sortContainer.left .sortMenu .sortPanel{
	left: 0;
	right: auto;
}

.sortMenu .sortPanel label{
	margin: 0;
	font-weight: 600;
	font-size: 13px;
}

.sortMenu .sortPanel input, .sortMenu .sortPanel select{
	width: 100%;
	height: 36px;
	padding: 0 10px;
	border: 1px solid var(--border-color);
	border-radius: 8px;
	background: white;
	font-size: 14px;
	outline: none;
}

.sortMenu .sortPanel input:focus, .sortMenu .sortPanel select:focus{
	border-color: var(--accent-color);
}

.sortMenu .sortPanelKnoppen{
	display: flex;
	justify-content: flex-end;
	gap: 8px;
}

.sortMenu .sortPanelKnoppen button{
	height: 32px;
	padding: 0 12px;
	border: 1px solid var(--border-color);
	border-radius: 8px;
	background: white;
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
}

.sortMenu .sortPanelKnoppen button.primair{
	border-color: var(--accent-color);
	background: var(--accent-color);
	color: white;
}

.dataTable, #stations, #users{
	/*border-top: 1px solid var(--border-color);*/
	border-bottom: none!important;;
}

.dataTable th, .dataTable tr:not(.progress_row) td, #stations td, #users td{
    height: 48px;
    border-bottom: 1px solid var(--border-color)!important;
    border-top: 0px!important;
    background-color: white;
    padding: 8px 10px!important;
    font-weight: 500;
    font-size: 14px;
	line-height: 28px;
}

/*
 * De stylesheet van DataTables zet box-sizing op content-box en wint dat op specificiteit,
 * vandaar het !important. Bij een scrollende tabel staat de kop in een eigen tabel naast die
 * met de regels: DataTables meet de breedte van de verborgen kopregel in de regeltabel en zet
 * die inline op de echte kop. Die verborgen regel heeft padding 0 (zie hieronder) en de echte
 * kop 8px 10px, dus met content-box komt die padding er bij de kop bovenop en staan de kolommen
 * niet meer boven hun inhoud. Met border-box is de opgegeven breedte de totale breedte en lopen
 * kop en regels gelijk.
 */
.dataTable th, .dataTable td{
    box-sizing: border-box!important;
}

/* de vinkjes in een tabel, zowel die in de kop als die op de regels */
table input[type="checkbox"]{
    opacity: 0.2;
}

.dataTable u{
	cursor: pointer;
	text-decoration: none;
}

.dataTable u:hover{
	text-decoration: underline;
	color: var(--accent-color);
}

.dataTable tr.progress_row td{
	height: 117px;
	vertical-align: top!important;
	background-color: var(--section-bg-color);
}

.dataTable tr.progress_row td div.containerTitle{
	font-weight: 600;
    font-size: 16px;
    margin-bottom: 10px;
}

.dataTable th{
    font-weight: 700;
    font-size: 13px;
    background-image: none!important;
}

.dataTable button.showProgress{
	background: var(--function-off-color);
	border-radius: 50%;
	height: 28px;
	width: 28px;
	border: none;
	outline: none;
	font-size: 10px;
	font-weight: 700;
	transition: transform 0.3s;
}

/*
 * Een opengeklapte orderregel wisselt van kleur met zijn chevron: de regel krijgt de tint die de
 * knop normaal heeft, en de knop wordt wit. Anders zou de knop wegvallen tegen zijn eigen kleur.
 * De kleur staat op de td en niet op de tr: de cellen hebben zelf een witte achtergrond (zie
 * .dataTable tr:not(.progress_row) td hier boven) en die zou er anders overheen liggen.
 */
.dataTable tr.open td{
    background-color: var(--function-off-color)!important;
}

.dataTable tr.open button.showProgress{
    transform: rotate(180deg);
    background: white;
}

.dataTables_filter{	
    display: none;
}

div.dataTables_scrollBody thead tr th{
	height: 0px;
	padding: 0px!important;
	border: none!important;
	padding: 0px!important;
}

.dataTables_scrollBody{
	border: none!important;
}

/*
 * Ordernummer en statusicoon in de lijsten. Het nummer heeft een vaste minimale breedte met
 * cijfers die allemaal even breed zijn, zodat de iconen onder elkaar in 1 lijn staan.
 */
.dataTable tbody td .orderNr{
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.dataTable tbody td .orderNr > u{
	min-width: 8ch;
	font-variant-numeric: tabular-nums;
}

.dataTable tbody td .orderNrIcoon{
	display: inline-flex;
	align-items: center;
}

.dataTable tbody td .orderNrIcoon:empty{
	display: none;
}

/* het fix-icoon is geen plaatje maar een fontawesome teken, vandaar de eigen regel */
.dataTable tbody td i.statusIcon{
	color: var(--accent-color);
}

.dataTable tbody div.statusContainer{
    display: flex;
    align-items: center;
    gap: 6px;
}

.dataTable tbody i.fa-circle{
    font-size: 8px;
    line-height: 14px;
}

.dataTable tbody div.wc-pending{
	color: var(--red);
}

.dataTable tbody div.wc-processing{
	color: var(--green);
}

.dataTable tbody div.wc-on-hold{
	color: var(--yellow);
}

.dataTable tbody div.wc-completed{
	color: var(--blue);
}

.dataTable tbody div.wc-cancelled{
	color: var(--grey);
}

.dataTable tbody div.wc-refunded{
	color: var(--grey);
}

.dataTable tbody div.wc-failed{
	color: var(--grey);
}

.dataTable button.btn{
	background: none;
	border: none;
	color: var(--accent-color);
	font-weight: 500;
	font-size: 14px;
	text-align: left;
	box-shadow: none!important;
	outline: none!important;
}

/*
 * De eerste knop in een cel lijnt zo uit met de kolomkop er boven. Bootstrap geeft .btn links
 * padding mee, en omdat de knop hier geen achtergrond of rand heeft zie je daar alleen dat de
 * tekst inspringt. Alleen de eerste knop: een volgende knop houdt zijn ruimte naar de vorige.
 */
.dataTable td button.btn:first-of-type{
	padding-left: 0;
}

.a_button{
	border-radius: 50%;
	height: 28px;
	width: 28px;
	line-height: 28px;
	border: 1px solid var(--border-color);
	outline: none;
	font-size: 10px;
	background: white;
	padding: 0px;
	margin-right: 5px;
}

.dataTables_wrapper{
	height: calc(100% - 114px);
}

.bottom-space .dataTables_wrapper{
    height: auto;
    padding-bottom: 68px;
}

/*
 * Een pagina die het scherm vult in plaats van door te lopen: de pagina zelf schuift niet, alleen
 * de rijen van de tabel. .section heeft een vaste hoogte, en elke laag hier onder geeft de ruimte
 * die overblijft door aan de volgende, tot bij de rijen.
 *
 * De min-height: 0 hoort telkens bij de flex: 1. Een flexitem wil standaard niet kleiner worden
 * dan zijn eigen inhoud, en een tabel met 50 rijen duwt zich er dan alsnog doorheen.
 */
.pageContainer{
	height: 100%;
	display: flex;
	flex-direction: column;
}

.pageContainer > .table-responsive{
	flex: 1;
	min-height: 0;
	display: flex;
	flex-direction: column;
}

.pageContainer .dataTables_wrapper{
	flex: 1;
	min-height: 0;
	height: auto;
	display: flex;
	flex-direction: column;
}

.pageContainer .dataTables_scroll{
	flex: 1;
	min-height: 0;
	display: flex;
	flex-direction: column;
}

/*
 * Hier komen de rijen te staan. DataTables zet uit scrollY zelf een hoogte op deze laag, inline
 * en dus sterker dan een gewone regel: met scrollCollapse een max-height, anders een height. Die
 * moet wijken voor de hoogte die uit de verdeling hier boven komt.
 */
.pageContainer .dataTables_scrollBody{
	flex: 1;
	min-height: 0;
	max-height: none!important;
	height: auto!important;
}

/* de twee formulieren onder de tabel houden hun eigen hoogte */
.pageContainer > .table-responsive > .bottomContainer{
	flex: none;
}

button.buttons-print{
	display: none!important;
}

.dataTables_info{
	position: absolute;
	bottom: 7px;
	left: 20px;
	font-weight: 500;
	font-size: 15px;
	width: 100%;
}

.dataTables_info select{
	min-width: 80px;
	min-height: 38px;
	line-height: 38px;
	border: 1px solid var(--border-color);
	border-radius: 6px;
	background: white;
	text-align: center;
	outline: none;
}

.dataTables_info button{
	border: 1px solid var(--border-color);
	border-radius: 8px;
	height: 44px;
	font-weight: 500;
	font-size: 12px;
	background: white;
}

.dataTables_info button i{
	color: var(--green);
}

.dataTables_paginate{
    position: absolute;
	bottom: 7px;
	right: 20px;
	display: flex;
    gap: 4px;
    padding: 0px!important;
    height: 47px;
    align-items: center;
}

.dataTables_paginate > span{
	display: flex;
	gap: 4px;
}

/*
 * Het grensnummer weghalen: bij veel pagina's zet DataTables achter de reeks nog "… 47", en dat
 * laatste nummer hoort hier niet in beeld. Alleen telt het er pas als grensnummer zolang er een
 * ellipsis voor staat. Vanaf 8 pagina's is dat zo; daaronder zet DataTables gewoon alle pagina's
 * achter elkaar zonder ellipsis, en was op deze manier de laatste echte pagina niet aan te
 * klikken - bij twee pagina's bleef er zo maar een knop over. De ~ kijkt daarom of er een
 * ellipsis aan vooraf gaat.
 */
.dataTables_paginate span.ellipsis, .dataTables_paginate span.ellipsis ~ a.paginate_button:last-child{
    display: none!important;
}

.dataTables_paginate a.paginate_button{
    width: 28px;
    height: 28px;
    font-weight: 700;
    font-size: 13px;
    border-radius: 4px!important;
    border: none!important;
    background: var(--function-off-color)!important;
    color: black!important;
    padding: 0px!important;
    display: flex!important;
    flex-direction: column;
    justify-content: center;
}

div.dataTables_wrapper div.dataTables_paginate a.paginate_button.current, div.dataTables_wrapper div.dataTables_paginate a.paginate_button:hover, div.dataTables_wrapper div.dataTables_paginate a.paginate_button.current:hover{
    background: var(--accent-color)!important;
    color: white!important;
}

.orderStatusContainer{
	display: flex;
	gap: 10px;
	height: auto!important;
}

.orderStationStatus{
	width: 140px;
	height: 60px;
	border-radius: 8px;
	background-color: rgb(from var(--border-color) r g b / 0.3);
	padding: 5px 10px;
	border: none!important;
	margin: 0px!important;
	color: black;
}

.orderStationStatus.done{
	background-color: #D5F2E2;
	opacity: 1;
}

.orderStationStatus.active{	
    background-color: var(--function-off-color);
    border: 1px solid var(--border-color)!important;
    opacity: 1;
}

.orderStationStatus div.title{
	font-weight: 600;
	font-size: 12px;
	color: rgba(0, 0, 0, 0.5);
}

.orderStationStatus.done div.title, .orderStationStatus.active div.title{
	color: black;
}

.orderStationStatus div.date, .orderStationStatus div.name{
    font-weight: 500;
    font-size: 11px;
}
.orderStationStatus div.name{
	font-style: italic;
}

td .positionContainer{
	display: flex;
	gap: 6px;
}

td .positionContainer .a_button{
	background: var(--function-off-color);
	border: none;
}

.add_button{
	position: absolute;
	right: 20px;
	top: 20px;
	display: flex;
	align-items: center;
	gap: 5px;
	border: 1px solid var(--border-color);
	border-radius: 13px;
	font-weight: 500;
	font-size: 12px;
	background: white;
	height: 26px;
	width: 102px;
	justify-content: center;
}

.add_button i, .formContainer button i{
	color: var(--green);
}

/*
 * De knop om de bestelling door te voeren, zie Bestellen::openOrderOverview(). Staat in de
 * wrapper van de tabel op de plek van de paginering (die tabel heeft er geen), rechts op
 * dezelfde hoogte als de tekst "batches in totaal" links.
 */
.tabelActies{
	position: absolute;
	bottom: 7px;
	right: 20px;
	display: flex;
	align-items: center;
	height: 47px;
}

.doorvoerKnop{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 40px;
	padding: 0px 18px;
	border-radius: 8px;
	background: var(--green);
	font-weight: 500;
	font-size: 14px;
	color: #fff;
	text-decoration: none;
	cursor: pointer;
}

.doorvoerKnop:hover{
	color: #fff;
	text-decoration: none;
	filter: brightness(0.95);
}

.doorvoerKnop i{
	font-size: 16px;
}

/* op staging staat bestellen uit: de knop grijs, met de reden ernaast */
.doorvoerKnop.uit{
	background: var(--border-color);
	color: var(--grey);
	cursor: not-allowed;
}

.doorvoerUit{
	margin-right: 15px;
	font-size: 12px;
	color: var(--grey);
}

/*
voorraad
*/

#stock-table_filter, #deletedProducts-table_filter{
	display: none;
}

.table-responsive{
    border-radius: 8px;
    padding-right: 20px;
    background: white;
}

.bottomContainer{
	display: flex;
    justify-content: space-around;
    align-items: center;
    margin-bottom: 20px;
    gap: 20px;
    padding-left: 20px;
    padding-right: 20px;
}

.bottomContainer .functionContainer{
	display: flex;
	flex-direction: column;
	gap: 5px;
	border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 10px;
    flex-grow: 1;
}

.functionContainer .formContainer{
	display: flex;
    gap: 5px;
}

.functionContainer .title{
	font-weight: 700;
    font-size: 14px;
}

.formContainer input{
	flex-grow: 1;
	height: 44px;
	border: 1px solid var(--border-color);
    border-radius: 8px;
    padding-left: 14px;
    padding-right: 14px;
}

.formContainer button{	
    height: 44px;
    border-radius: 8px;
    border: 1px solid var(--border-color);
    font-weight: 500;
    font-size: 12px;
    padding: 0px 20px;
    cursor: pointer;
    background: white;
    display: flex;
    align-items: center;
    gap: 5px;
}

#topTexProduct-table td input, #restvoorraad-table td input{
	width: 30px;
	height: 100%;
	text-align: center;
	border: none;
}

.numberInputContainer{
    display: flex;
    align-items: center;
    gap: 0px;
    border: 1px solid var(--border-color);
    width: 60px;
    height: 30px;
}

/*
 * De regels in het toptex productoverzicht: Rest (met het invulveld), FR en BE onder elkaar.
 * Geen br's meer; de hoogte van een regel en de ruimte er tussen staan hier, en gelden voor de
 * typekolom en de maatkolommen samen zodat alles op een lijn blijft.
 */
#topTexProduct-table td .voorraadRegel{
	display: flex;
	align-items: center;
	min-height: 30px;
}

#topTexProduct-table td .voorraadRegel + .voorraadRegel{
	margin-top: 6px;
}

/* de rest regel is hoger dan de tekstregels: ruimte tussen het invulveld en de FR regel */
#topTexProduct-table td .voorraadRegel.rest{
	margin-bottom: 4px;
	font-size: 13px;
}

#topTexProduct-table td .voorraadRegel.depot{
	font-weight: 500;
	font-size: 12px;
	min-height: 24px;
}

/* de getallen per maat in het midden van de kolom, onder het invulveld */
#topTexProduct-table td.voorraadMaat .voorraadRegel{
	justify-content: center;
	width: 60px;
}

.numberInputContainer .numberBtn{
	width: 15px;
	height: 30px;
	line-height: 30px;
	text-align: center;
	font-size: 18px;
	cursor: pointer;
    user-select: none;
}

#topTexProduct-table td .a_button{
	background: var(--green);
	color: white;
	font-size: 14px;
}

/* de voorkant van het product in deze kleur, onder de kleurnaam */
#topTexProduct-table td img.kleurVoorkant{
	display: block;
	width: 60px;
	height: 60px;
	margin-top: 8px;
	border: 1px solid var(--border-color);
	border-radius: 5px;
	/* de rand telt zo mee in de 60px, anders wordt het vak 62px */
	box-sizing: border-box;
	/*
	 * De foto's zijn 1200x900, dus liggend. Met contain past het hele kledingstuk in het
	 * vierkant, met wat ruimte boven en onder; die valt weg tegen de witte achtergrond van de
	 * foto zelf. Bij cover zou het vak wel helemaal gevuld zijn, maar gaat er links en rechts
	 * een kwart af en kunnen de mouwen buiten beeld vallen.
	 */
	object-fit: contain;
}

.dataTables_info button.callbackBtn{
	float: right;
    margin-right: 20px;
    background: var(--green);
    color: white;
    border: none;
}

button.callbackBtn i{
	color: white;
}

/* Bakken settings */
div.bakSettingsContainer{
	display: inline-flex;
    justify-content: space-around;
    margin: auto;
    width: 68%;
    gap: 10px;
    padding-left: 10px;
    padding-right: 10px;
    line-height: 38px;
}

div.bakSettingsContainer label{
	min-width: auto!important;
	width: auto!important;
}
div.bakSettingsContainer input[type='text']{
    width: 60px;
}
div.bakSettingsContainer input{
	flex-grow: 1;
	height: 44px;
	line-height: 38px;
}

/* de tijd achter de datum in de lijsten, zie Common::lijstDatum() */
.lijstTijd{
	opacity: 0.59;
}

/* korte meldingen rechtsonder, zie toonMelding() in custom.js */
#meldingStapel{
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 2000;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
	pointer-events: none;
}
.melding-toast{
	pointer-events: auto;
	display: flex;
	align-items: center;
	gap: 10px;
	max-width: 360px;
	padding: 12px 18px 12px 14px;
	border-radius: 10px;
	background: #14161C;
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	box-shadow: 0px 6px 24px rgba(0, 0, 0, 0.28);
	cursor: pointer;
	animation: meldingIn 0.25s ease-out;
}
.melding-toast.weg{
	opacity: 0;
	transform: translateY(8px);
	transition: opacity 0.25s, transform 0.25s;
}
.melding-toast .icoon{
	flex: 0 0 24px;
	height: 24px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	font-weight: 800;
	background: #2E9E44;
}
.melding-toast.info .icoon{
	background: #1F5FD1;
}
.melding-toast.fout .icoon{
	background: #D02626;
}
@keyframes meldingIn{
	from{ opacity: 0; transform: translateY(12px); }
	to{ opacity: 1; transform: translateY(0); }
}
