
html {
	scroll-behavior: smooth;
}

/*
.container  {
	max-width: 1440px;
	padding-left: 40px;
	padding-right: 40px;
}
*/

.navbar {
	padding-left: 30px;
	padding-right: 30px;
}

.button {
	border-width: 2px 2px 2px 2px;
	padding-bottom: 28px;
}

h1,
h2,
h3 {
	letter-spacing: 0.5px;
}

h2 {
	margin-top: 30px;
}

textarea.form-input {
	max-width: 100%;
}

.card {
	border: 1px solid #cccccc;
	/*border-radius: 10px;*/
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
  	overflow:visible;
}

.card-shadow {
	box-shadow: rgba(17, 12, 46, 0.15) 0px 48px 100px 0px;
}

.card-borderless {
	border: none;
}

.card-header {
	border-bottom: 1px solid #cccccc;
}

.card.no-border-top {
	border-top: none;
}

.card-header .title {
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 0.5px;
}

.card-hover {
	opacity: 1;
	cursor: pointer;
	transition: 0.3s;
}

.card-hover:hover {
	opacity: 0.8;
	transition: 0.3s;
}

.card-body {
	padding: 30px;
}
.card-action-button {
	position: absolute;
	bottom: 15px;
	right: 25px;
}
.card-action-button i {
	font-size: 20px;
}

@media (max-width: 767px){
	.card-body {
		padding: 20px;
	}
}

.card-body-without-padding {
	padding: 0px;
}

.card-transparent {
	background: transparent;
}

.col-border-right {
	border-right: 1px solid #cccccc;
}

.border-top {
	border-top: 1px solid #cccccc;
}
.border-bottom {
	border-bottom: 1px solid #cccccc;
}

.zoom {
	transition: transform 0.5s;
	overflow: hidden;
}

.zoom:hover {
	transform: scale(1.025);
}

.text-white {
	color: #ffffff;
}

input[type="file"] {
	display: none;
}

.custom-file-upload {
	display: block;
	cursor: pointer;
}

.table-remove-start-and-end-border td {
	border-top: none !important;
}

.table-remove-end-border > tbody > tr:last-child {
	border-bottom-style: hidden !important;
}

@media screen and (max-width: 767px) {
	.table.table--responsive-headers.table--borderless tr td {
		padding-left: 0px !important;
	}
	.table.table--responsive-headers.table--borderless tr:first-child {
		border-top: none !important;
	}
	.table.table--responsive-headers.table--borderless td {
		padding: 5px;
	}
	.table.table--responsive-headers.table--borderless tr {
		padding-top: 15px;
		padding-bottom: 15px;
	}
}

.spinner-inline {
	padding: 0;
	font-size: 5px;
	width: 1em;
	height: 1em;
	border-radius: 50%;
	position: relative;
	text-indent: 0;
	-webkit-animation: spinner 1.1s infinite ease;
	animation: spinner 1.1s infinite ease;
	transform: translateZ(0);
	top: 50%;
	display: none;
}

.link {
	text-decoration: underline;
	cursor: pointer;
	color: #0275d8;
}

.no-underline {
	text-decoration: none;
}
.row.vdivide [class*="col-"]:not(:last-child):after {
	background: #dddddd;
	width: 1px;
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	min-height: 100px;
}

.pointer {
	cursor: pointer;
}

/* Hover for clickable rows in overview cards (analyse) */
.card .row.row-bordered.pointer:hover {
	background-color: #f0f4f8;
	transition: background-color 0.15s ease;
}

.align-middle {
	vertical-align: middle !important;
}

.align-bottom {
	vertical-align: bottom !important;
}

.Toastify__toast-body {
	padding: 15px 15px !important;
}

.Toastify__toast {
	border-radius: 0 !important;
}

.disabled-link {
	pointer-events: none;
	opacity: 0.5;
}

.disabled-div {
	opacity: 0.5;
}

.icon-muted {
	opacity: 0.3;
}

.dead-centre {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

img_DISABLED {
	image-rendering: -moz-crisp-edges; /* Firefox */
	image-rendering: -o-crisp-edges; /* Opera */
	image-rendering: -webkit-optimize-contrast; /* Webkit (non-standard naming) */
	image-rendering: crisp-edges;
	-ms-interpolation-mode: nearest-neighbor; /* IE (non-standard property) */
}

.tag.tag-info {
	color: #1a1a1a;
	background-color: #e2f2fb;
}
.tag.tag-success {
	color: #1a1a1a;
	background-color: #eeffe2;
}
.tag.tag-warning {
	color: #1a1a1a;
	background-color: #ffeecc;
}
.tag.tag-error {
	color: #1a1a1a;
	background-color: #ffe0e0;
}

.tag-bold {
	font-weight: bold;
}

.tag {
	cursor: default;
}

.short-line {
	width: 50px;
	height: 1px;
	border-top: 1px solid #747474;
	margin: auto;
}

@media (min-width: 768px) {
	.five-cols .col-md-1,
	.five-cols .col-sm-1,
	.five-cols .col-lg-1 {
		width: 50%;
		*width: 50%;
	}
}

@media (min-width: 992px) {
	.five-cols .col-md-1,
	.five-cols .col-sm-1,
	.five-cols .col-lg-1 {
		max-width: 20%;
		flex: 0 0 20%;
	}
}

@media (min-width: 1281px) {
	.five-cols .col-md-1,
	.five-cols .col-sm-1,
	.five-cols .col-lg-1 {
		max-width: 20%;
		flex: 0 0 20%;
	}
}

.capitalize {
	text-transform: capitalize;
}

footer .footer{
	margin-top:40px;
	border-top:1px solid #cccccc;
}

.navbar-primary {
  border-bottom-color: #cccccc;
  background-color: #fcfcfc;
}

.navbar-inner {
	border: none !important;
}

.overflow-menu .button-overflow-menu{
	min-height: auto;
	padding: 0;
	padding-top: 2px;
}

.button.button-icon {
  padding:calc(2px) calc(10px - 2px) 0px;
  font-size:1.4rem;
  min-height:30px;
}

.row.row-bordered {
  padding-top:7px;
  padding-bottom:7px;
}
.row.row-bordered:last-of-type{
  border-bottom: none;
}
.row.row-bordered:first-of-type{
	border-top: none;
}
.row.row-bordered-compact {
	padding-top:7px;
	padding-bottom:7px;
}

.date-picker__calendar{
  box-shadow:none;
}

.toast-info {
	background: #e2f2fb;
	border-left: 8px solid #1B86C3;
}
.toast-info .fa-solid {
	color: #1B86C3;
	padding-top: 3px;
}

.toast-success {
	background: #eeffe2;
	border-left: 8px solid #358000;
}
.toast-success .fa-solid {
	color: #358000;
	padding-top: 3px;
}

.toast-warning {
	background: #ffeecc;
	border-left: 8px solid #febb30;
}
.toast-warning .fa-solid {
	color: #febb30;
	padding-top: 3px;
}

.toast-error {
	background: #ffe0e0;
	border-left: 8px solid #CC0000;
}
.toast-error .fa-solid {
	color: #CC0000;
	padding-top: 3px;
}

.toast-close {
  position: absolute;
  top: 10px;
  right: 10px;
  padding: 0;
  line-height: 1;
}

.form-select-compact{
  font-size:1.4rem;
  line-height:1.6rem;
  height:calc(1.6rem + (8px * 2));
  width:auto;
  margin-top:0px;
  text-align:left;
  padding:calc(8px - 1px) calc(16px - 1px);
  padding-right:32px;
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
}


a:focus, button:focus, input:focus, select:focus, textarea:focus,
.focus{
  outline:none;
}
a:focus, a.link-focus{
  outline:none;
}
.button.focus, .button:focus{
  outline:none;
}
.tag.focus, .tag:focus{
  outline:none;
}
input[type=checkbox].form-toggle:focus ~ .form-toggle-label:after{
  outline:none;
}
.form-input:focus, .form-input.focus{
  outline:none;
}
.form-select:focus, .form-select.focus{
  outline:none;
}

#map {
  height: 500px;
  width: 100%;
}

.text-small {
	font-size:80%;
}

@media (max-width: 767px){
  .pagination .pagination__items{
    display:block;
  }
  .pagination .pagination-item{
    display:none;
  }

}

@media (max-width: 767px){
	.fds-modal {
		display: none;
		margin: 15px;
	}
}

.fds-modal .modal-content{
  max-width:600px;
  width:100%;
}

.fds-modal .modal-icon{
	position: absolute;
	top: -10px; right: -10px;
}

.fds-modal .modal-icon-success{
  color:#358000;
}

.fds-modal .modal-icon-warning{
  color:#febb30;
}

.fds-modal .modal-icon-error{
  color:#CC0000;
}

.fds-modal .modal-icon-info{
  color:#1B86C3;
}


.fds-modal .modal-body{
	padding-top: 20px;
}

@media (min-width: 768px){
  .fds-modal .modal-header{
    padding:20px 40px 8px 40px;
  }
}

.full-overlay-wrapper {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	display: none;
}
.full-overlay {
	background-color: black;
	width: 100%;
	height: 100%;
	opacity: 0.4;
}
.overlay-content-wrapper {
	position: absolute;
	top: 0;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}

.modal-spinner {
	position: absolute;
	top: 30px; right: 40px;
}

.spinner-inline {
  margin: auto;
  margin-top: 0;
  padding: 0;
  font-size: 5px;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  position: relative;
  text-indent: 0;
  -webkit-animation: spinner 1.1s infinite ease;
  animation: spinner 1.1s infinite ease;
  transform: translateZ(0);
  top: 50%;
}

.header .button-menu-close{
  width:unset;
  background-color: none;
  color: black;
  margin-top: 15px;
  padding-right: 15px;
}

#side-panel {
	z-index: 3;
	position: fixed;
	top: 0;
	right: 0;
	right: -750px;
	min-width: 750px;
	height: 100%;
	background: white;
	max-width: 750px;
	padding: 40px;
	transition: 0.250s;
	overflow: scroll;
}

@media (max-width: 767px){
	#side-panel {
		right: -1000px;
		min-width: auto;
		width: 100%;
		padding: 30px;
		overflow-x: scroll;
	}
}

@media (min-width: 1400px) {
	.container{
		max-width: 1400px;
	}
}

.button-quaternary{
  padding-left: 12px !important;
  padding-right: 12px !important;
}

.badge.badge-neutral{
  color:#cccccc;
  background-color:white;
}
.badge.badge-grey{
	color:white;
	background-color:#aaaaaa;
}
.badge.badge-info-dark{
	color:white;
	background-color:#2b8cbe;
}

.badge.badge-bold{
	font-weight: bold;
}
.badge{
	font-weight: 500;
}

ul.icon-list li {
  float: left;
}

.hidden {
	display: none;
}

.overflow {
	overflow: auto;
}

.fa-success {
	color:#358000;
}

.no-wrap {
	white-space: nowrap;
}

.text-ellipsis {
	display: inline-block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.helios-chart-small .echarts { min-height: 300px !important; }
.helios-chart-small #chart, .helios-chart-small [id^="chart"] { min-height: 300px !important; }

.text-bold {
	font-weight: 500;
}

.text-muted {
	color: #888;
}

.text-smaller {
	font-size: 0.8em;
}

.portal-header .overflow-list li {
	height: 30px;
}

.portal-header .overflow-list li small {
	font-size: 0.7em !important;
}

.card-refresh-spinner {
	position: absolute;
	top: 15px;
	right: 25px;
}

.large-title {
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.5px;
}

.divider {
	border-bottom: 1px solid #cccccc;
	margin-top: 25px;
	margin-bottom: 25px;
}

.console-simple {
	border-left: 3px solid darkslateblue;
	color: darkslateblue;
	font-family: monospace;
	width: 100%;
	overflow: scroll;
	line-height: 1.5rem;
	box-sizing: border-box;
	padding-left: 20px;
	font-size: 0.8em;
}

.console-classic {
	margin: 5px 0;
	background-color: darkslategray;
	color: white;
	font-family: monospace;
	width: 100%;
	overflow: scroll;
	line-height: 1.5rem;
	box-sizing: border-box;
	padding: 5px 15px;
	font-size: 0.8em;
	border-radius: 5px;
}

.git-deploy-status-badges {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
}

tr.repo-row-deploy-failed {
	background-color: rgba(220, 53, 69, 0.08);
}

tr.git-deploy-log-failed {
	background-color: rgba(220, 53, 69, 0.06);
}

.percentage-progress-bar-wrapper {
	height: 1px;
	background: #eee;
	width: 100%;
}
.percentage-progress {
	height: 100%;
	background: #aaa;
	width: 0;
}
.percentage-progress.black {
	height: 2px;
	background: #000;
}

.nav-primary .overflow-menu .button-overflow-menu:focus, .nav-primary .overflow-menu .button-overflow-menu:active{
	outline:none;
}

.nav-primary .current .overflow-menu .button-overflow-menu[aria-expanded=true]:hover, .nav-primary .current .overflow-menu .button-overflow-menu[aria-expanded=true]:focus, .nav-primary .current .overflow-menu .button-overflow-menu[aria-expanded=true]:active{
	background-color:red;
	color:white;
}

.navbar-primary .overflow-menu .overflow-list li {
	border-bottom: 1px solid #999999;
	padding-top: 3px;
	padding-bottom: 3px;
}

.navbar-primary .overflow-menu .overflow-list li:first-child {
	padding-top: 0px;
}

.navbar-primary .overflow-menu .overflow-list li:last-child {
	border-bottom: none;
	padding-bottom: 0px;
}

@media (min-width: 992px){
	.nav-primary .overflow-menu .button-overflow-menu[aria-expanded=true]{
		background-color:#706666;
		border: 0;
	}
}

@media (min-width: 992px){
	.nav-primary .overflow-menu .overflow-menu-inner{
		background-color: #706666;
		border: 0;
	}
}

/* Git udgivelse: tag chips + add field share one row (matches .badge.badge-small rhythm) */
.repo-tag-editor {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.45rem;
	max-width: 100%;
	margin: 0.2rem 0 0.4rem 0;
}

.repo-tag-editor .tag-display {
	margin: 0;
}

.repo-tag-add-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	min-width: 2rem;
	margin: 0;
	padding: 0;
	font-size: 0.9rem;
	line-height: 1;
	color: #4a4a4a;
	background: #f0f0f0;
	border: 1px dashed #a8a8a8;
	border-radius: 3px;
	box-shadow: none;
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.repo-tag-add-btn:hover {
	color: #1a1a1a;
	background: #e4e4e4;
	border-color: #6e6e6e;
}

.repo-tag-add-btn:focus {
	outline: 2px solid #747474;
	outline-offset: 1px;
}

.repo-tag-input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: inline-block;
	width: auto;
	min-width: 7.5rem;
	max-width: 16rem;
	flex: 0 1 auto;
	margin: 0;
	padding: 0 0.5rem;
	font-size: 1.4rem;
	line-height: 2rem;
	height: 2rem;
	box-sizing: border-box;
	color: #1a1a1a;
	background: #ececec;
	border: 1px solid #b8b8b8;
	border-radius: 3px;
	box-shadow: none;
	vertical-align: middle;
}

.repo-tag-input::placeholder {
	color: #6b6b6b;
	font-weight: 500;
	font-size: 1.2rem;
}

.repo-tag-input:hover {
	background: #e3e3e3;
	border-color: #9a9a9a;
}

.repo-tag-input:focus {
	outline: 2px solid #747474;
	outline-offset: 1px;
	border-color: #454545;
	background: #fff;
}

.taggroup-preview-pills {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.3rem 0.4rem;
	max-width: 28rem;
}

/* Crontab-side: tabel og udkommenterede rækker (ingen ekstra rammer – kun baggrund) */
.crontab-jobs-table thead th {
	background: #f2f3f5;
	font-weight: 600;
}
.crontab-jobs-table tbody tr.crontab-row--active:hover {
	background: rgba(0, 70, 120, 0.04);
}
.crontab-jobs-table tbody tr.crontab-row--inactive {
	background: #f7f8f9;
}
.crontab-jobs-table tbody tr.crontab-row--freetext {
	background: #fafbfc;
}
.crontab-jobs-table tbody tr.crontab-row--raw {
	background: #fff8f0;
}
.crontab-badge--inactive {
	background: #6c757d;
	color: #fff;
	font-weight: 600;
}
/* Fem felter: værdi over, label under — justeret pr. søjle */
.crontab-expr-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0.4rem 0.5rem;
	width: 100%;
	max-width: 36rem;
	align-items: start;
}
.crontab-expr-col {
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.3rem;
	text-align: center;
}
.crontab-expr-val {
	margin: 0;
	padding: 0;
	font-size: 1.45em;
	font-weight: 600;
	line-height: 1.2;
	white-space: pre-wrap;
	word-break: break-word;
	font-family: ui-monospace, "Cascadia Code", "Consolas", "Courier New", monospace;
	background: transparent;
	color: inherit;
}
.crontab-expr-lbl {
	font-size: 0.8rem;
	line-height: 1.25;
	display: block;
	max-width: 100%;
	hyphens: auto;
	-webkit-hyphens: auto;
}
.crontab-jobs__td-expr {
	min-width: 12rem;
	vertical-align: top;
}
.crontab-when__p {
	max-width: 46rem;
	line-height: 1.45;
}
.crontab-freetext-code {
	white-space: pre-wrap;
	word-break: break-word;
}
.crontab-blik-tekst {
	font-size: 1.1em;
	margin-bottom: 0.3rem;
	line-height: 1.25;
}
.crontab-np-line {
	font-size: 0.85em;
	line-height: 1.45;
}
/* To rækker, to søjler: etiketter højrestilles så kolonnerne flugter */
.crontab-np__grid {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	gap: 0.15rem 0.5rem;
	align-items: baseline;
}
.crontab-np__lbl {
	text-align: end;
	white-space: nowrap;
	font-weight: 500;
	opacity: 0.95;
}
.crontab-np__val {
	min-width: 0;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}
.crontab-np__val b {
	font-weight: 600;
}
.crontab-jobs__td-when {
	min-width: 11.5rem;
}
.crontab-hvornar {
	min-width: 0;
}
