/*
 *  Copyright (c) 2017-2022 AxonIQ B.V. and/or licensed to AxonIQ B.V.
 *  under one or more contributor license agreements.
 *
 *  Licensed under the AxonIQ Open Source License Agreement v1.0;
 *  you may not use this file except in compliance with the license.
 *
 */

@font-face {
	font-family: 'Montserrat';
	src: url(../fonts/Montserrat-Regular.ttf);
}
@font-face {
	font-family: 'Montserrat';
	src: url(../fonts/Montserrat-Italic.ttf);
	font-style: italic;
}
@font-face {
	font-family: 'Montserrat';
	src: url(../fonts/Montserrat-SemiBold.ttf);
	font-weight: bold;
}

@font-face {
	font-family: Lato;
	src: url(../fonts/lato-normal.ttf);
}
@font-face {
	font-family: Lato;
	src: url(../fonts/lato-bold.ttf);
	font-weight: bold;
}
@font-face {
	font-family: Lato;
	src: url(../fonts/lato-italic.ttf);
	font-style: italic;
}
@font-face {
	font-family: Lato;
	src: url(../fonts/lato-bold_italic.ttf);
	font-weight: bold;
	font-style: italic;
}


html{
	height: 100%;
}
body{
	position: relative;
	display: table;
	margin: 0;
	padding: 0;
	height: 100%;
	width: 100%;
	font-family: Lato, sans-serif;
	font-size: 16px;
	line-height: 1.45;
	color: #21252b;
}
nav{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	height: auto;
	min-height: 100%;
	width: 64px;
	background: #21252b;
	border-right: 1px solid #f35c00;
}
nav:before{
	position: absolute;
	content: "";
	display: block;
	left: 64px;
	width: 8px;
	height: 100%;
	background: rgba(0,0,0,.1);
}
nav svg {
    color: white;
    padding: 10px 0 0 0;
    margin: 10px;
}
	nav a  {
		display: block;
		position: relative;
		text-decoration: none;
        padding-bottom: 10px;
		margin: 0 5px;
		text-align: center;
		font-size: 12px;
		font-weight: 300;
		color: #fff;
		opacity: .6;
		border-top: 1px solid rgba(255,255,255,.16666);
	}
    nav a.menu-img {
        padding: 50px 0 13px 0;
    }
	nav a.menu-img:before{
        position: absolute;
		content: "";
		display: block;
		top: 20px;
		width: 24px;
		height: 24px;
		left: 50%;
		margin-left: -12px;
	}
	nav a:first-child{
		border: none;
	}
	nav .current,
	nav a:hover{
		opacity: 1;
		border-color: rgba(255,255,255,.1);
	}

	.menu-settings:before{
		background: url('../img/icon-cog.png') no-repeat;
		background-size: contain;
	}
	.menu-overview:before{
		background: url('../img/icon-eye.png') no-repeat;
		background-size: contain;
	}
	.menu-queries:before{
		background: url('../img/icon-questionmark.png') no-repeat;
		background-size: contain;
	}
	.menu-commands:before{
		background: url('../img/icon-command.png') no-repeat;
		background-size: contain;
	}
		
header{
	height: 80px;
	border-bottom: 1px solid #e5e5e5;
}
	header h1{
		margin: 0;
		padding: 30px 0;
		font-size: 0;
		display: block;
		width: 300px;
		height: 18px;
		background: url('../img/axon-server.png') no-repeat left center;
		background-size: contain;

	}
article {
	margin: 0 40px 0 104px;
	min-height: 100%;
	height: 100%;
	padding-bottom: 20px;
	box-sizing: border-box;
	/*overflow-x: hidden; !* prevents a horizontal scrollbar on the page when there is a vertical scrollbar *!*/
}

footer {
    height: 40px;
    margin: -41px 40px 0 104px;
    border-top: 1px solid #e5e5e5;
    text-align: right;
    color: #333;
    font-size: 12px;
}

footer p {
    margin: 9px 0;
    line-height: 20px;
    font-weight: 300;
}

footer span.logo {
    font-size: 0;
    display: inline-block;
    width: 40px;
    height: 12px;
    background: url('../img/logo-axoniq.png') no-repeat left center;
    background-size: contain;
}

footer .info {
    margin: 9px 3px;
    line-height: 20px;
    font-weight: 300;
    color: darkgray;
}

	footer .important {
		margin: 9px 3px;
		line-height: 20px;
		font-weight: 300;
		color: red;
		animation: blink 0.5s ease-in-out infinite;
		cursor: pointer;
	}

	@keyframes blink {
		from, to { opacity: 1 }
		50% { opacity: 0 }
	}

	footer .info:hover {
		color: lightgray;
	}

	#info section span {
		font-weight: 400;
		color: #999;
		font-size: 14px;
	}

	#info section a {
		color: brown;
	}



.developer-license, .basic-license, .standard-license, .enterprise-license {
	display: none;
}




h2,h3{
	font-family: Montserrat, sans-serif;
	font-weight: 500;
}
	h2{
		font-size: 24px;
		line-height: 36px;
		white-space: nowrap;
		text-overflow: ellipsis;
		overflow: hidden;
	}
	h3{
		font-size: 18px;
		line-height: 27px;
	}

input[type="text"],
input[type="password"],
input[type="search"] {
	border: 1px solid #a1a4aa;
	border-radius: 4px;
	padding: 12px 18px 13px 18px;
	font-size: 16px;
}

.userPassword {
	padding: 2px 2px 2px 2px;

}

.button {
	padding: 13px 32px 14px 32px;
	font-size: 16px;
	border-radius: 4px;
	background: #f35c00;
	border: none;
	color: #fff;
	cursor: pointer;
}

.button-reset {
	padding: 14px 14px 14px 14px;
	font-size: 12px;
	border-radius: 4px;
	background: #f35c00;
	border: none;
	color: #fff;
}

.button:disabled {
	opacity: 0.5;
	border-color: rgba(255,255,255,.1);
}

.icon{
	width: 24px;
	height: 24px;
	border: none;
	cursor: pointer;
}
.icon span{
	display: none;
}
.msg{
	margin: 15px 0;
	padding: 10px 18px;
	border: 1px solid #a1a4aa;
	border-radius: 4px;
	font-style: italic;
	display: block;
}
	.msg.warning{
		border-color: #ffe033;
		background: #ff9;
	}

	.msg.info{
		border-color: #4fff19;
		background: #b1ff93;
	}

.help {
	margin: 15px 0;
	padding: 10px 18px;
	border: 1px solid #a1a4aa;
	border-radius: 4px;
	font-style: italic;
	background: #cccccc;
}

#helpToggle {
	font-weight: bold;
	cursor: pointer;
	text-decoration: underline;
}

.search-bar{
	margin: 15px 0;
	display: flex;
}
	.search-bar input[type="search"]{
		flex: 1;
		margin-right: 5px;
	}

.column-wrapper{
	display: table;
	width: 100%;
	margin: 20px 32px 20px -32px;
	
	max-width: 1600px; /* Remove for liquid lay-out */
}
	.column{
		display: table-cell;
		border-left: 1px solid #ecedee;
	}
	.column:first-child{
		border: none;
	}
	.configuration{
		width: 40%;
	}
	.status,
	.license{
		width: 30%;
	}
		.column section{
			margin: 0 32px;
		}
		.column.titleButton section{
			position: relative;	
		}
			
			.column.titleButton h2{
				padding-right: 32px;
			}
			.column.titleButton .icon{
				position: absolute;	
				top: 7px;
				right: 0;
			}

		.column ul{
			margin: 0;
			padding: 0;
			list-style: none;
		}
			.column li{
				font-size: 0;
			}
		.column li:after{
			content: "";
			display: table;
			clear: both;
		}
				.column li span{
					float: left;
					display: block;
					box-sizing: border-box;
					font-weight: 400;
					color: #999;
					font-size: 14px;
					width: 40%;
					padding: 3px 10px 3px 0;
				}
				.column li span + span{
					font-weight: 400;
					color: #434a56;
					width: 60%;
					padding-right: 0;
				}

.narrow {
	width: 200px !important;
}

.contextColumn {
	width: 160px !important;
}

.nodesColumn {
	width: 60%;
}

.roleColumn {
	width: 50%;
}

.roles td, .roles th {
	padding-left: 0;
}

.status li span{
	width: 60% !important;
}
.status li span + span{
	width: 40% !important;
}


.number {
	text-align: right;
}


.results {
	margin: 20px 0;
	position: relative;
}

.results:after {
	content: "";
	width: 100%;
	position: absolute;
	left: 0;
	top: 55px;
	height: 2px;
	background: #006bae;
	background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(19, 116, 207, 1)), color-stop(100%, rgba(33, 37, 43, 1)));
	background: -webkit-linear-gradient(left, rgba(19, 116, 207, 1) 0%, rgba(33, 37, 43, 1) 100%);
	background: -moz-linear-gradient(left, rgba(19, 116, 207, 1) 0%, rgba(33, 37, 43, 1) 100%);
	background: -ms-linear-gradient(left, rgba(19, 116, 207, 1) 0%, rgba(33, 37, 43, 1) 100%);
	background: -o-linear-gradient(left, rgba(19, 116, 207, 1) 0%, rgba(33, 37, 43, 1) 100%);
	background: linear-gradient(left, rgba(19, 116, 207, 1) 0%, rgba(33, 37, 43, 1) 100%);
}

.singleHeader:after {
	top: 33px;
}

.nodes:after {
	content: "";
	width: 100%;
	position: absolute;
	left: 0;
	top: 33px;
	height: 2px;
	background: #006bae;
	background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(19, 116, 207, 1)), color-stop(100%, rgba(33, 37, 43, 1)));
	background: -webkit-linear-gradient(left, rgba(19, 116, 207, 1) 0%, rgba(33, 37, 43, 1) 100%);
	background: -moz-linear-gradient(left, rgba(19, 116, 207, 1) 0%, rgba(33, 37, 43, 1) 100%);
	background: -ms-linear-gradient(left, rgba(19, 116, 207, 1) 0%, rgba(33, 37, 43, 1) 100%);
	background: -o-linear-gradient(left, rgba(19, 116, 207, 1) 0%, rgba(33, 37, 43, 1) 100%);
	background: linear-gradient(left, rgba(19, 116, 207, 1) 0%, rgba(33, 37, 43, 1) 100%);
}

	table{
		width: 100%;
		border-collapse: collapse;
		table-layout: fixed;
	}
		th{
            font-family: Montserrat, sans-serif;
			font-weight: 400;
			font-size: 12px;
			color: #999;
			text-align: left;
			padding: 8px 5px;
		}
		td{
			vertical-align: top;
			padding: 5px;
			border-top: 1px solid #ecedee;
		}
		tbody tr:first-child td{
			border: none;
		}
		.token{
			width: 5%;
		}
.aggregateIdentifier {
	width: 9%;
}

.eventIdentifier {
	width: 9%;
}

.aggregateSequenceNumber {
	width: 5%;
}

.aggregateType {
	width: 9%;
}

.payloadType {
	width: 18%;
}

.payloadRevision {
	width: 5%;
}

.payloadData {
	width: 25%;
}

.timestamp {
	width: 8%;
}

.metaData {
	width: 7%;
}

th.master {
	width: 45px;
}

th.httpPort {
	width: 10%;
}

th.grpcPort {
	width: 10%;
}

td.master {
    font-weight: bold;
    text-align: center;
    color: #f35c00;
}

td div, th div {
  display: inline-block;
  position: relative;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

td div:hover, th div:hover {
    z-index: 1;
    width: auto;
    background-color: #F4FFF4;
    /*text-overflow: inherit;*/
    /*overflow: visible;*/
}

.queryCol {
    width: 50%;
}
.commandCol {
    width: 40%;
}
button:focus {outline:0 !important;}

.form-inline {
    float: right;
}

.switch {
	position: relative;
	display: inline-block;
	width: 40px;
	height: 24px;
    vertical-align: middle;
}

.switch input {display:none;}

.slider {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #ccc;
	-webkit-transition: .4s;
	transition: .4s;
}

.slider:before {
	position: absolute;
	content: "";
	height: 16px;
	width: 16px;
	left: 4px;
	bottom: 4px;
	background-color: white;
	-webkit-transition: .4s;
	transition: .4s;
}

input:checked + .slider {
	background-color: #1374CF;
}

input:focus + .slider {
	box-shadow: 0 0 1px #1374CF;
}

input:checked + .slider:before {
	-webkit-transform: translateX(16px);
	-ms-transform: translateX(16px);
	transform: translateX(16px);
}

/* Rounded sliders */
.slider.round {
	border-radius: 34px;
}

.slider.round:before {
	border-radius: 50%;
}

tr.selected {
	background: #ffff99 !important;
}

tbody.selectable tr:hover {
	 cursor: pointer;
	 background: #f9f9f9  	;
 }

table svg, .refresh svg{
    color: #f35c00;
    cursor: pointer;
    margin-right: 10px;
}

.table-button:hover, .button:hover, table svg:hover  {
	opacity: 0.5;
	border-color: rgba(255,255,255,.1);
}

ul {
	list-style: none;
	padding: 0;
	-webkit-padding-start: 0;
	margin: 0;
}

.contextSelector {
	float: right;
	padding-top: 3px;
	padding-bottom: 3px;
}

.typeSelector {
	float: left;
	padding-top: 3px;
	padding-bottom: 3px;
}

select {
	font-family: Lato, sans-serif;
	font-size: 14px;
}

#applicationDetails, #userDetails {
	width: 100%;
	padding-top: 50px;
	padding-left: 6px;
}

.pager {
	float: right;
	font-size: smaller;
}

.nodeName {
	display: inline-block !important;
	float: none !important;
	width: 400px;
}

.nodeRoleName {
	display: inline-block !important;
	float: none !important;
	width: 200px;
}
.contextName {
	display: inline-block !important;
	float: none !important;
	width: 100%;
}
.roleName {
	display: inline-block !important;
	float: none !important;
	width: 100%;
}
.messaging {
	display: inline-block;
	width: 100px;
}
.storage {
	display: inline-block;
	width: 100px;
}

.hidden {
    display: none;
}

.modal {
    padding: 20px;
}

.modal .button-bar {
    margin-top: 20px;
}

.propertyName {
    width: 100%;
}

.propertyValue {
	width: 95%;
}

.nestedTable td {
    border-top: none;
    padding-top: 0;
    padding-bottom: 2px;
	padding-left: 0;
}

.nestedTable th {
	border-top: none;
	padding-top: 2px;
	padding-bottom: 2px;
	padding-left: 0;
}

.pluginProperties input {
	padding: 2px;
}

.pluginProperties select {
	padding: 2px;
}

#replicationGroups {
	display: block;
	overflow-x: hidden;
}

@media only screen and (max-width: 1024px) {
	.column-wrapper {
		display: block;
		margin: 20px 0;
	}

	.column {
		display: block;
		border: none;
	}
		.configuration,
		.status,
		.license{
			width: 100%;
		}
			.column section{
					margin: 0;
				}
}

@media only screen and (max-width: 640px){
	article{
		margin: 0 10px 0 74px;
	}

	footer{
		margin: -41px 10px 0 74px;
	}
		.column li span,
		.column li span + span{
			width: 100%;
		}
		.column li span + span{
			margin-bottom: 10px;
		}
		.number{
			text-align: left;
		}
}

.modal-mask {
	position: fixed;
	z-index: 9998;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	display: table;
}

.modal-wrapper {
	display: table-cell;
	vertical-align: middle;
}

.modal-container {
	width: 40%;
	max-height: 400px;
	overflow: auto;
	margin: 0px auto;
	padding: 20px 30px;
	background-color: #fff;
	border-radius: 2px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.33);
	transition: all 0.3s ease;
	font-family: Helvetica, Arial, sans-serif;
}

.modal-header h3 {
	margin-top: 0;
	color: #DA5407;
	text-align: left;
}

.modal-body {
	margin: 20px 0;
	text-align: left;
	white-space: pre-wrap;
}

.modal-default-button {

}

/*
 * The following styles are auto-applied to elements with
 * transition="modal" when their visibility is toggled
 * by Vue.js.
 *
 * You can easily play with the modal transition by editing
 * these styles.
 */

.modal-enter {
	opacity: 0;
}

.modal-leave-active {
	opacity: 0;
}
