/* common */
body {
	min-height: 100vh;
}

.text-primary {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;
}

.text-blue {
  opacity: 1;
  color: var(--bs-blue) !important;

}
.text-indigo {
  opacity: 1;
  color: var(--bs-indigo) !important;
}
.text-purple {
  opacity: 1;
  color: var(--bs-purple) !important;
}
.text-pink {
  opacity: 1;
  color: var(--bs-pink) !important;
}
.text-red {
  opacity: 1;
  color: var(--bs-red) !important;
}
.text-orange {
  opacity: 1;
  color: var(--bs-orange) !important;
}
.text-yellow {
  opacity: 1;
  color: var(--bs-yellow) !important;
}
.text-green {
  opacity: 1;
  color: var(--bs-green) !important;
}
.text-teal {
  opacity: 1;
  color: var(--bs-teal) !important;
}
.text-cyan {
  opacity: 1;
  color: var(--bs-cyan) !important;
}
.text-white {
  opacity: 1;
  color: var(--bs-white) !important;
}
.text-gray {
  opacity: 1;
  color: var(--bs-gray) !important;
}
.text-gray-dark {
  opacity: 1;
  color: var(--bs-gray-dark) !important;
}
.text-gray-100 {
  opacity: 1;
  color: var(--bs-gray-100) !important;
}
.text-gray-200 {
  opacity: 1;
  color: var(--bs-gray-200) !important;
}
.text-gray-300 {
  opacity: 1;
  color: var(--bs-gray-300) !important;
}
.text-gray-400 {
  opacity: 1;
  color: var(--bs-gray-400) !important;
}
.text-gray-500 {
  opacity: 1;
  color: var(--bs-gray-500) !important;
}
.text-gray-600 {
  opacity: 1;
  color: var(--bs-gray-600) !important;
}
.text-gray-700 {
  opacity: 1;
  color: var(--bs-gray-700) !important;
}
.text-gray-800 {
  opacity: 1;
  color: var(--bs-gray-800) !important;
}
.text-gray-900 {
  opacity: 1;
  color: var(--bs-gray-900) !important;
}

a {
	text-decoration: none;
}

main a:hover {
	text-decoration: underline;
}

main a.btn:hover, 
main ul.dropdown-menu a:hover, 
main ul.pagination a:hover {
	text-decoration: none;
}

/* /common */

/* navbar */

.bg-navbar {
  --tfm-bg-opacity: 1;
  /* --tfm-bg-navbar: 45, 73, 157; */
  --tfm-bg-navbar-rgb: 42, 90, 181;
  background-color: rgba(var(--tfm-bg-navbar-rgb), var(--tfm-bg-opacity)) !important;
}


/* /navbar */

/* sidebar */

.sidebar {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 100;
  padding: 90px 0 0;
  box-shadow: inset -1px 0 0 rgba(0, 0, 0, .1);
  z-index: 99;
  overflow-y: auto;
}

@media (max-width: 767.98px) {
  .sidebar {
    top: 9.3rem;
    padding: 0;
  }
}

.navbar {
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .1);
}

@media (min-width: 767.98px) {
  .navbar {
    top: 0;
    position: sticky;
    z-index: 999;
  }
}

/*
.sidebar .nav-link {
  color: #333;
}

.sidebar .nav-link.active {
  color: #0d6efd;
}
*/

.sidebar {
	& .nav-link:not(.active):hover {
		background-color: rgba(var(--bs-secondary-rgb), 0.1);
		transition: all 0.5s 0s ease;
	}
	& .nav-link {
		transition: all 0.5s 0s ease;
	}
	
	& .menu .sidebar-item {
		&.has-sub {
			position: relative;
			
			& .sidebar-link.active{
				color: var(--bs-nav-pills-link-active-color) !important;
			}

			& .sidebar-link::after {
				position: absolute;
				margin: 0 0 0 0.3rem;
				top: 21px;
				/* width: 1.25em; */
				line-height: 0;
				font-family: "bootstrap-icons";
				content: "\F282";
				transition: transform .35s ease;
				transform-origin: .5em 50%;
			}
		}
		
		& .nav-link.active{
			color: var(--bs-nav-pills-link-active-color) !important;
		}

	}

	& .submenu-item {
		& a.active {
			/* font-weight: 400; */
			color: var(--bs-primary) !important;
		}
		
		& a {
			padding-right: 2.5rem !important;
			padding-left: 2.5rem !important;
			transition: all 0.3s 0s ease;
		}
		
		& a:hover {
			background-color: rgba(var(--bs-secondary-rgb), 0.1);
			margin-left: 0.3rem;
			transition: all 0.3s 0s ease;
		}
	}
}

/*
.sidebar .menu .sidebar-item.has-sub .sidebar-link[aria-expanded="true"]::after {
  transform: rotate(180deg);
}
*/

/* /sidebar */

/* login */

#login {
  height: 100vh;
  overflow-x: hidden;
}

#login #login-right {
  /* background: linear-gradient(90deg, #2d499d, #3f5491); */
  /* background-color: #2d499d; */
  --tfm-bg-opacity: 1;
  --tfm-bg-login-right-rgb: 42, 90, 181;
  background-color: rgba(var(--tfm-bg-login-right-rgb), var(--tfm-bg-opacity)) !important;
  height: 100%;
}

#login #login-left {
  padding: 5rem 7rem;
}

@media screen and (max-width:767px) {
  #login #login-left {
    padding: 5rem;
  }
}

@media screen and (max-width:576px) {
  #login #login-left {
    padding: 5rem 3rem;
  }
}

.form-group[class*=has-icon-].has-icon-left .form-control {
  padding-left: 2.5rem;
}

.form-group[class*=has-icon-].has-icon-left .form-control-icon {
  left: 0;
}

.form-group[class*=has-icon-] .form-control.form-control-xl~.form-control-icon i {
  font-size: 1.6rem;
}

.form-group[class*=has-icon-] .form-control.form-control-xl~.form-control-icon i:before {
  color: #a6a8aa;
}

.form-group[class*=has-icon-] .form-control-icon {
  padding: 0 .6rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.form-control.form-control-xl {
  font-size: 1.2rem;
  padding: .85rem 1rem;
}

.form-check .form-check-input[class*=bg-] {
  border: 0
}

.form-check .form-check-input:focus {
  box-shadow: none
}

.form-check.form-check-lg .form-check-input {
  height: 1.5rem;
  margin-top: .3em;
  width: 1.5rem
}

.form-check.form-check-lg label {
  font-size: 1rem
}

.text-gray-300 {
  color: #dee2e6!important
}

.text-gray-400 {
  color: #ced4da!important
}

.text-gray-500 {
  color: #adb5bd!important
}

.text-gray-600 {
  color: #6c757d!important
}

/* /login */

/* dashboard */

#dashboard div.card table{
	table-layout: fixed;
}
#dashboard div.card table th.project-name{
	/* max-width: 12rem; */
	/* width: 40%; */
	/* overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap; */
}

#dashboard div.card table td.project-name{
	/* max-width: 12rem; */
	/* width: 40%; */
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#dashboard div.card table th.modified{
	/* min-width: 4rem; */
	width: 6.5rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#dashboard div.card table td.modified{
	/* width: 6rem; */
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#dashboard div.card table th.status,
#dashboard div.card table td.status{
	width: 4rem;
	overflow: hidden;
}

#dashboard div.card table th.action,
#dashboard div.card table td.action{
	width: 5.5rem;
	/* overflow: hidden; */
}

/* /dashboard */

/* factory managements */

div.factory-index table {
	/* table-layout: fixed; */
}

div.factory-index table th.id, 
div.factory-index table td.id, 
div.factory-index table th.name, 
div.factory-index table td.name, 
div.factory-index table th.started, 
div.factory-index table td.started, 
div.factory-index table th.ended, 
div.factory-index table td.ended, 
div.factory-index table th.user, 
div.factory-index table td.user{
	overflow-wrap : break-word;
}

div.factory-index table th.status, 
div.factory-index table td.status{
	width: 4rem;
	overflow: visible;
}

div.factory-index table th.actions, 
div.factory-index table td.actions{
	width: 5.5rem;
	overflow: visible;
}

body#record table th.name, 
body#record table td.name, 
body#recordedit table th.name, 
body#recordedit table td.name{
	width: 18rem;
}

body#record table th.standard, 
body#record table td.standard, 
body#recordedit table th.standard, 
body#recordedit table td.standard{
	width: 11rem;
}

body#record table th.tags, 
body#record table td.tags, 
body#recordedit table th.tags, 
body#recordedit table td.tags{
	width: 6rem;
}

body#record table th.total-weight, 
body#record table td.total-weight, 
body#recordedit table th.total-weight, 
body#recordedit table td.total-weight{
	width: 6rem;
}

/* /factory managements */

/* liverstocks view */

body.liverstocks#view table th.actions, 
body.liverstocks#view table td.actions{
	width: 11.5rem;
	white-space: nowrap;
}

/* /liverstocks view */

/* maaster managements */


/* /maaster managements */

div.master-index table th.actions, 
div.master-index table td.actions{
	width: 12.5rem;
	white-space: nowrap;
}

/* users */

body.users table th.actions, 
body.users table td.actions{
	width: 12.5rem;
	white-space: nowrap;
}

/* /users */

/* honoka */

:root {
  --bs-font-sans-serif: -apple-system, "BlinkMacSystemFont", "Helvetica Neue", Helvetica, "Arial", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  
  --kn-font-weight1: 400;
  --kn-font-weight2: 600;

}

dt {
  font-weight: --kn-font-weight2;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-weight: var(--kn-font-weight2);
}

.lead {
  font-weight: var(--kn-font-weight1);
}

.display-1 {
  font-weight: var(--kn-font-weight1);
}

.display-2 {
  font-weight: var(--kn-font-weight1);
}

.display-3 {
  font-weight: var(--kn-font-weight1);
}

.display-4 {
  font-weight: var(--kn-font-weight1);
}

.blockquote {
  font-size: 1rem;
}

kbd kbd {
  font-weight: var(--kn-font-weight2);
}

.custom-file-input:lang(ja) ~ .custom-file-label::after {
  content: "選択";
}

.navbar {
  /* padding: 1.2rem 1.5rem; */
  padding: 0.7rem 1rem;
}

.navbar-brand {
  margin-right: 1.5rem;
}

.badge {
  font-weight: var(--kn-font-weight2);
}

.alert-link {
  font-weight: var(--kn-font-weight2);
}

.close {
  font-weight: var(--kn-font-weight2);
}

.tooltip {
  font-family: -apple-system, "BlinkMacSystemFont", "Helvetica Neue", Helvetica, "Arial", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

.popover {
  font-family: -apple-system, "BlinkMacSystemFont", "Helvetica Neue", Helvetica, "Arial", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

.font-weight-light {
  font-weight: var(--kn-font-weight1) !important;
}

.font-weight-bold {
  font-weight: var(--kn-font-weight2) !important;
}

/* /honoka */
