:root {
	--primary: 0, 85, 106;
	--on-primary: 255, 255, 255;
	--secondary: 52, 136, 156;
	--on-secondary: 255, 255, 255;
	--text: 16, 52, 62;
	--warning: 255, 88, 0;
	--danger: 255, 88, 0;
	--background: 225, 233, 235;
	--foreground: 255, 255, 255;
}

body {
	overflow-y: scroll;
	font-family: 'Roboto', sans-serif;
	color: rgb(var(--text));
	font-size: 1rem;
}

::-webkit-input-placeholder { /* Edge */
  color: rgb(var(--text));
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: rgb(var(--text));
}

::placeholder {
  color: rgb(var(--text));
}

:focus {
    outline: none !important;
}

h1,
.h1 {
	font-weight: bold;
	font-size: 2.375rem;
	text-transform: uppercase;
	letter-spacing: 0.063rem;
	margin-bottom: 0;
}

h2,
.h2 {
	font-size: 1.8rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.063rem;
	margin-bottom: .6rem;
}

h3,
.h3 {
	font-size: 1.3rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.063rem;
}

.text-success,
.text-primary {
	color: rgb(var(--primary)) !important;
}

.text-body {
	color: rgb(var(--body)) !important;
}

.text-warning {
	color: rgb(var(--warning)) !important;
}


.alert.alert-danger,
.bg-warning {
	background-color: rgb(var(--warning)) !important;
}

.btn.btn-warning,
.btn.btn-raised.btn-warning {
	background-color: rgb(var(--warning)) !important;
	border-color: rgb(var(--warning)) !important;
}

.text-light {
	color: rgba(var(--text), .5) !important;
}

a.text-light:hover {
    color: rgb(var(--primary)) !important;
}

/*.text-danger {
	color: #EF7D00 !important;
}*/

a {
	color: rgb(var(--secondary));
	transition: .4s ease;
}

a:hover,
a:focus {
	color: rgb(var(--primary));
	text-decoration: none;
}

*:focus {
	box-shadow: none!important;
}

.font-weight-medium {
	font-weight: 500;
}

.top-0 {
	top: 0;
}

.right-0 {
	right: 0;
}

.bottom-0 {
	bottom: 0;
}

.generate-pdf {
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    display: block;
    height: 3.313rem;
    line-height: 1.5;
    color: rgb(var(--on-primary)) !important;
    background-color: rgb(var(--primary)) !important;
    content: "Browse";
}

.custom-file-label::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    display: block;
    height: 100%;
    padding: .375rem .75rem;
    line-height: 1.5;
    content: "Browse";
    border-left: inherit;
    border-radius: 0 .25rem .25rem 0;
}

.custom-file-input~.custom-file-label[data-browse]::after {
    content: attr(data-browse);
}

a.page-link {
    color: #000;
}

.page-item.active a.page-link {
    color: rgb(var(--secondary));
}

.page-item.active .page-link {
	background-color: transparent !important;
}

.material-icons {
	font-family: 'Material Icons';
	font-weight: normal;
	font-style: normal;
	font-size: 1.5rem;  /* Preferred icon size */
	display: inline-block;
	line-height: 1;
	text-transform: none;
	letter-spacing: normal;
	word-wrap: normal;
	white-space: nowrap;
	direction: ltr;

	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	-moz-osx-font-smoothing: grayscale;
	font-feature-settings: 'liga';
}


/* Responsive videos */
.frame-type-textmedia .ce-gallery figure {
	display: block;
}

.frame-type-textmedia .ce-gallery, 
.frame-type-textmedia .ce-column,
.frame-type-textmedia .ce-outer,
.frame-type-textmedia .ce-inner {
	float: none;
}

.ce-outer, 
.ce-inner {
	width: 100%;
}

.typo3-messages {
    padding: 0;
    list-style: none;
}

.typo3-messages p {
	margin-bottom: 0;
	color: rgb(var(--foreground)) !important;
}
	
.has-error input,
.has-error textarea,
.has-error select {
	padding-left: 0.313rem;
	background: rgb(var(--warning));
	color: rgb(var(--foreground));
}

select {
	font-size: 1rem;
}

input {
	font-size: 1rem;
	line-height: 1.5;
}

.btn {
	font-weight: normal !important;
	margin-bottom: 0;
	/*font-size: 1rem;*/
	/*box-shadow: none !important;*/
	transition: .4s ease;
}

.bg-primary,
a.bg-primary:focus, 
a.bg-primary:hover, 
.bmd-btn-fab.btn-primary.custom-file-control:before, 
.btn-group-raised .btn-primary.custom-file-control:before, 
.btn-group-raised .btn.btn-primary, 
.btn-raised.btn-primary.custom-file-control:before, 
.btn.bmd-btn-fab.btn-primary, 
.btn.btn-raised.btn-primary {
	background-color: rgb(var(--primary))!important;
	border-color: rgb(var(--primary))!important;
}

.btn.btn-raised.btn-secondary:focus,
.btn.btn-raised.btn-secondary:hover,
.btn.btn-raised.btn-secondary {
	background-color: rgb(var(--primary))!important;
    border-color: rgb(var(--primary))!important;
}

.dropdown .btn {
	font-size: 1rem;
}

.dropdown-menu .dropdown-item {
	min-height: 0;
	white-space: break-spaces;
}

.alert.alert-success,
.bg-secondary {
	background-color: rgb(var(--secondary))!important;
}

a.bg-secondary:hover {
	background-color: rgb(var(--secondary))!important;
}

.border-secondary {
	border-color: rgb(var(--secondary))!important;
}

.text-secondary {
	color: rgb(var(--secondary)) !important;
}

.btn.btn-disabled {
	transition: .4s ease;
	opacity: .5;
}

.btn.btn-disabled:hover {
	opacity: 1;
}

form,
.btn-group {
	margin: 0;
}

.btn-group-raised .btn-primary.custom-file-control:before, 
.btn-group-raised .btn.btn-primary, 
.btn-raised.btn-primary.custom-file-control:before, 
.btn.bmd-btn-fab.btn-primary, 
.btn.btn-raised.btn-primary {
	color: rgb(var(--foreground)) !important;
}

.btn-primary {
	color: rgb(var(--primary))!important;
}

.btn-primary:hover, 
.btn-primary:focus {
	color: rgb(var(--foreground)) !important;
}

.bg-light {
	background-color: rgb(var(--background))!important;
	border-color: rgb(var(--background))!important;
}

.border-light {
	border-color: rgba(var(--primary), .5)!important;
}

.btn-white {
	background-color: rgb(var(--foreground)) !important;
}

.rounded-left, 
.rounded-right,
.rounded {
	border-radius: .3rem!important;
}

.rounded-left {
	border-top-right-radius: 0!important;
	border-bottom-right-radius: 0!important;
}

.rounded-right {
	border-top-left-radius: 0!important;
	border-bottom-left-radius: 0!important;
}

.text-inherit {
	text-transform: inherit !important; 
}

.radio label, .checkbox label {
	line-height: 1.2;
	color: rgb(var(--text));
}

.radio label .bmd-radio:before, 
label.radio-inline .bmd-radio:before,
.radio label input[type=radio]:checked~.bmd-radio:before, 
label.radio-inline input[type=radio]:checked~.bmd-radio:before {
	background-color: rgb(var(--secondary))!important;
}

.checkbox label input[type=radio] {
    position: absolute;
    left: 0;
    z-index: -1;
    width: 0;
    height: 0;
    margin: 0;
    overflow: hidden;
    pointer-events: none;
    opacity: 0;
}

.checkbox label input[type=radio]:checked+.checkbox-decorator .check {
	border-color: rgb(var(--secondary))!important;
}

.checkbox label input[type=radio]:checked+.checkbox-decorator .check:before {
	color: rgb(var(--secondary))!important;
	box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px;
    animation: b .3s forwards;
}

.radio label input[type=radio], label.radio-inline input[type=radio] {
    position: absolute;
    left: 0.125rem;
    top: 0;
    width: 1.188rem;
    height: 1.188rem;
}

.radio label input[type=radio]:checked~.bmd-radio:after, 
label.radio-inline input[type=radio]:checked~.bmd-radio:after {
	border-color: rgb(var(--secondary)) !important;
}

.checkbox label input[type=checkbox]:checked+.checkbox-decorator .check:before, label.checkbox-inline input[type=checkbox]:checked+.checkbox-decorator .check:before {
	color: rgb(var(--secondary))!important;
}

.checkbox label input[type=checkbox]:checked+.checkbox-decorator .check, label.checkbox-inline input[type=checkbox]:checked+.checkbox-decorator .check {
	border-color: rgb(var(--secondary))!important;
}

.dropdown-menu {
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 0;
}

.material-icons {
	font-size: 1.25rem;
}

.custom-file-control, 
.form-control, 
.is-focused .custom-file-control, 
.is-focused .form-control {
	   background-image: linear-gradient(0deg, rgb(var(--primary)) 0.125rem, rgba(63,81,181,0) 0), linear-gradient(0deg,rgba(0,0,0,.26) 0.063rem, transparent 0);
}

.checkbox label, 
.radio label,
.accordion-heading, 
label, 
table td {
	font-size: 1.125rem;
	line-height: 1.5;
	font-weight: 500;
	margin-bottom: 0;
}

.md-checkbox-list.flex label,
label .hint {
	font-size: 1rem;
	line-height: 1.5;
	font-weight: 400;
}

.form-group {
	margin-bottom: 1.5rem;
}

.form-group .form-control,
.custom-file,
.custom-file-label:after,
.checkbox label .checkbox-decorator .check,
.select2-container--bootstrap4 .select2-selection {
	background-image: none;
	background-color: rgb(var(--foreground));
	border-radius: .3rem;
	border: none;
}

.form-group .form-control {
	padding: 0 20px 0 8px;
}

.select2-container--bootstrap4 .select2-selection--single .select2-selection__rendered {
    font-size: 1rem;
    line-height: 2.5;
}

.select2-dropdown .select2-results__options--nested {
	max-height: unset !important;
}

.select2-dropdown .select2-results__options--nested > li {
	padding-left: 20px;
}

.select2-dropdown .select2-results__option strong {
	background-color: rgb(var(--secondary));
	color: rgb(var(--on-secondary));
}

.select2-dropdown  .select2-results__option--highlighted {
	background-color: rgb(var(--background)) !important;
	color: rgb(var(--text));
}

.select2-container--bootstrap4 .select2-results__option--highlighted, .select2-container--bootstrap4 .select2-results__option--highlighted.select2-results__option[aria-selected=true] {
	color: rgb(var(--text)) !important;
}

.md-checkbox-list.flex {
	display: flex;
	flex-wrap: wrap;
}

.md-checkbox-list.flex .checkbox {
	width: 33.33%;
}

.checkbox label .checkbox-decorator .check:before {
    margin-top: -2px;
    margin-left: 8px;
}

.checkbox label .checkbox-decorator, label.checkbox-inline .checkbox-decorator {
	top: 2px;
}

.card,
.card .btn,
.card table td {
	font-weight: 400;
	font-size: 1rem;
}

.company-selection option {
	background-color: rgb(var(--primary));
	color:  rgb(var(--foreground));
}

.custom-file-label {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    padding-left: 55px;
    font-size: 1rem;
    font-weight: normal;
    border: 0 !important;
}

.custom-file-input~.custom-file-label::after {
    content: "\f093" !important;
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    left: 0;
    right: auto;
    background-color: rgb(var(--primary))!important;
    color: rgb(var(--foreground));
    display: flex;
    padding: .825rem;
    align-items: center;
}

.custom-file-icon i {
    background: rgb(var(--danger));
    display: flex;
    align-items: center;
    height: 100%;
    padding: 15px;
}

span.error.help-block {
    color: rgb(var(--danger));
}

/* Page */
body > header {
	position: sticky;
	top: -5rem;
    z-index: 999;
}

body > header #navbarTop .dropdown-menu {
	left: auto;
	right: 0;
	padding: 0.938rem 0;
}

body > header #navbarBottom:after {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 0.125rem;
	background-color: #e9ecef;
}

body > header #navbarBottom .logo {
	max-width: 18.75rem;
	transition: .3s ease;
    position: absolute;
    top: 1rem;
    right: 1rem;
}

body > header.shrink #navbarBottom .logo {
    max-width: 11rem;
        top: 3rem !important;
}


body > header #navbarBottom > div {
	position: relative;
	padding-top: 1.875rem;
}

body > header nav > .container {
	padding-left: 0.938rem !important;
	padding-right: 0.938rem !important;
}

body > header #menuMain .material-icons {
	font-size: 1.5rem;
}

body > header #menuMain > .nav > .nav-item {
	line-height: 1.563rem;
	z-index: 1;
    background: no-repeat bottom,50% calc(100% - 0.063rem);
    background-image: linear-gradient(0deg, rgb(var(--secondary)), 0.313rem,rgba(213,0,0,0) 0),linear-gradient(0deg,rgba(0,0,0,.0) 0.063rem,transparent 0);
    background-size: 0% 100%, 100% 100%;
    transition: .4s ease;
}

body > header #menuMain > .nav > .nav-item > .nav-link {
	display: inline-block;
}

body > header #menuMain a {
	transition: .4s ease;
}

body > header #menuMain a:hover,
body > header #menuMain a.current,
body > header #menuMain a.active {
	color: rgb(var(--primary)) !important;
}

body > header #menuMain > .nav > .nav-item:hover,
body > header #menuMain > .nav > .nav-item.active {
	background-size: 100% 100%, 100% 100%;
}

body > header #menuMain .nav-item.level2 {
	position: relative;
}

body > header #menuMain > .nav > .nav-item:hover > a,
body > header #menuMain > .nav > .nav-item.current > a,
body > header #menuMain > .nav > .nav-item.active > a {
	color: rgb(var(--primary));
}

body header #menuMain > .nav .nav-item {
	cursor: pointer;
	position: static;
}

body > header #menuMain .nav-sub {
	position: absolute;
	display: none;
	left: 0;
	top: 100%;
	z-index: 999;
	width: 100%;
}

body > header #menuMain .nav-item.active .nav-sub {
	display: flex;
}

body > header #menuMain .nav-sub > .nav-item > .nav-link  {
	line-height: 4.375rem;
	padding: 0 1.563rem;
}

body > header #menuMain .dropdown-menu {
	background-color: rgb(var(--foreground));
}

body #content:after {
    display: block;
    clear: both;
    content: "";
}

table.table {
	margin: 0 !important;
	width: 100% !important;
}

table.table-striped tbody tr:nth-of-type(odd) {
	background-color: rgba(0,0,0,.03);
}

table .material-icons {
    color: #7f7f7f;
}

table.dataTable thead th {
	font-weight: normal;
    position: relative;
    background-image: none !important;
}

table.dataTable thead .sorting:before, table.dataTable thead .sorting_asc:before, table.dataTable thead .sorting_desc:before, table.dataTable thead .sorting_asc_disabled:before, table.dataTable thead .sorting_desc_disabled:before {
    content: "\f0de";
}

table.dataTable thead .sorting:after, table.dataTable thead .sorting_asc:after, table.dataTable thead .sorting_desc:after, table.dataTable thead .sorting_asc_disabled:after, table.dataTable thead .sorting_desc_disabled:after {
    content: "\f0dd";
}

table.dataTable thead .sorting:before, table.dataTable thead .sorting:after, table.dataTable thead .sorting_asc:before, table.dataTable thead .sorting_asc:after, table.dataTable thead .sorting_desc:before, table.dataTable thead .sorting_desc:after, table.dataTable thead .sorting_asc_disabled:before, table.dataTable thead .sorting_asc_disabled:after, table.dataTable thead .sorting_desc_disabled:before, table.dataTable thead .sorting_desc_disabled:after {
    right: 5px;
    font-weight: bold !important;
    font-size: 1.2rem;
    font-family: 'Font Awesome 5 Free';
    bottom: .5rem;
}

table#tableTools {
	margin-top: 1rem !important;
}

table.dataTable tbody tr:nth-of-type(odd) {
    background-color: rgba(var(--background), .8);
}

table.dataTable th {
	font-size: 1rem;
	text-transform: uppercase;
    color: rgb(var(--foreground));
    background-color: rgb(var(--primary));
}

table.dataTable td {
	font-size: 1rem;
	font-weight: 400;
}

#tableTools_wrapper .form-control {
    background: rgb(var(--background));
    border-radius: 2px;
    text-align: center;
}


table .material-icons:hover {
    color: rgb(var(--primary));
}

.checkbox label .checkbox-decorator .check, label.checkbox-inline .checkbox-decorator .check {
    width: 1.2rem;
    height: 1.2rem;
}

div.dataTables_wrapper div.dataTables_filter input {
	border: 0.063rem solid rgba(0, 0, 0, 0.06);
    padding: 0 0.313rem;
    background: none;
}

.custom-select.custom-select-sm.form-control.form-control-sm {
	background-image: none;
	border: 0.063rem solid rgba(0, 0, 0, 0.06);
	width: auto;
	padding: 0 0.313rem;
	cursor: pointer;
}

#memberships {
	margin-bottom: 1.875rem;
}

.membership-wrap {
	display: none;
	position: relative;
}

.membership-wrap.visible {
	display: block;
}

.membership-wrap .delete {
	position: absolute;
	right: 0.313rem;
	top: 0.313rem;
	cursor: pointer;
}

#p1 #login {
	min-height: 100vh;
}

#p1 #login .logo {
	text-align: center;
}

#p1 #login > div {
	width: 600px;
}
/*#p1 > canvas {
	position: absolute;
	top: 0;
	z-index: -1;
	height: 100%;
	width: 100%;
}*/

#p11 td,
#p11 td > img {
    height: 3.125rem !important;
    width: auto;
}

.permissionset-wrap {
  	border-top: 0.125rem solid rgb(var(--foreground));
    background: rgb(var(--primary), .17);
}

.permissionset-wrap:first-of-type {
    border-top: 0;
}

.permissionset-wrap .permissionset-wrap {
    margin: 0.938rem 0 0.313rem 0;
}

.progress-tile {
	height: 0.625rem;
	flex: 1;
	position: relative;
}

.progress-tile:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 0.125rem;
    bottom: 0;
    background: rgb(var(--foreground));
}

.progress-tile:last-child::after {
	display: none;
}


.dashboard .dataTables_wrapper  {
	width: 100%;
}

.tx-dm-managementpsas .form-view .row > div,
.tx-dm-managementtools .form-view .row > div {
    max-width: 25%;
    flex: 0 0 25%;
    padding-right: 0.938rem;
    padding-left: 0.938rem;
}

.tx-dm-managementtools .preview {
	min-width: 6.25rem;
}

.tx-dm-managementpsas .psa .img,
.tx-dm-managementtools .tool .img {
	height: 10rem;
    width: 100%;
}

.tx-dm-managementpsas .psa .img img,
.tx-dm-managementtools .tool .img img {
	max-height: 100%;
	height: auto;
	width: auto;
}

.tx-dm-managementpsas .psa .not-checked-info,
.tx-dm-managementtools .tool .not-checked-info {
    top: 0.188rem;
    right: 0.188rem;
    border: 0.25rem solid rgba(var(--warning), 0);
    animation: impulse 3s infinite;
}

.tx-dm-managementpsas .psa .not-checked-info > span,
.tx-dm-managementtools .tool .not-checked-info > span {
    width: 1.25rem;
    height: 1.25rem;
    line-height: 1.25rem;
    padding-left: 0.063rem;
    font-size: 0.938rem;
}


.tx-dm-managementpsas .psa .content > div,
.tx-dm-managementtools .tool .content > div {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

#deleteSearch {
    top: 0;
    right: 0;
    bottom: 0;
    cursor: pointer;
}

.tx-dm-managementtools .fas {
	line-height: 1.5;
}

#viewTypeSelector i:before {
	color: rgb(var(--primary));
	font-size: 1.25rem;
}

.fas {
	font-size: 1rem;
	transition: .4s ease;
}

@keyframes impulse {
  0%   {border-color: rgba(var(--warning), 0);}
  45%  {border-color: rgba(var(--warning), 0.5);}
  55%  {border-color: rgba(var(--warning), 0.5);}
  100% {border-color: rgba(var(--warning), 0);}
}

table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>td:first-child:before,
table.dataTable.dtr-inline.collapsed>tbody>tr[role="row"]>th:first-child:before {
	top: 50%;
    transform: translateY(-50%);
    background-color: rgb(var(--primary));
}

table.dataTable.dtr-inline.collapsed>tbody>tr.parent>td:first-child:before,
table.dataTable.dtr-inline.collapsed>tbody>tr.parent>th:first-child:before {
    background-color: rgba(var(--text), .5);
}



/* Media queries */
@media (max-width: 1589px) {

}

@media (max-width: 1361px) {

}

@media (max-width: 1199px) {

}

@media (max-width: 991px) {
	body > header #menuMain > .nav {
	    padding: 1.25rem 0;
	}

	body > header #menuMain .nav-sub > .nav-item > .nav-link:hover {
		color: #16181b;
		text-decoration: none;
		background-color: #f8f9fa;
	}
	
	body > header #menuMain .nav-sub > .nav-item > .nav-link {
		line-height: 2.188rem;
		display: block;
		width: 100%;
		padding: .25rem 1.5rem;
		clear: both;
		font-weight: 400;
		color: #212529;
		text-align: inherit;
		white-space: nowrap;
		background-color: transparent;
		border: 0;
	}

	body > header #menuMain .nav-item .nav-sub {
		position: static;
		display: none;
	}

	body > header #menuMain > .nav > .nav-item:hover, body > header #menuMain > .nav > .nav-item.active {
		border-color: transparent;
	}

	body > header #menuMain .nav-item .nav-sub .dropdown-menu {
	    padding-left: 1.563rem;
	}

	body > header #navbarBottom {
		border-bottom: 1rem solid rgb(var(--foreground)) !important;
	}

	body > header #navbarBottom:after {
		display: none;
	}

	body > header #menuMain .nav-item.active .nav-sub {
		display: none;
	}

	body header #menuMain > .nav .nav-item {
		margin: 0 !important;
	}

	.tx-dm-managementtools .form-view .row > div {
	    max-width: 100%;
	    flex: 0 0 100%;
	}

}

@media (max-width: 767px) {

	h1, .h1 {
		font-size: 1.525rem;
	}

	h2, .h2 {
		font-size: 1.3rem;
	}

	#p1 {
		background-color: rgb(var(--foreground)) !important;
	}

	#p1 #login .shadow {
		box-shadow: none !important;
	}

	body > header {
		top: -37px;
	}

	body > header.shrink #navbarBottom .logo,
	body > header #navbarBottom .logo {
		position: static;
		max-width: 12rem;
	}

	.username {
		word-break: break-all;
	}

	.tx-dm-management > .d-flex {
    	/*display: block !important;*/
	}

	.tx-dm-management > .d-flex > a{
    	/*display: block !important;*/
	}

	.tx-dm-management > .d-flex >  .ml-2 {
		/*margin-left: 0 !important;*/
	}

	div.dataTables_wrapper div.dataTables_length, div.dataTables_wrapper div.dataTables_filter, div.dataTables_wrapper div.dataTables_info, div.dataTables_wrapper div.dataTables_paginate {
    	/*text-align: left;*/
	}

	div.dataTables_wrapper div.dataTables_paginate ul.pagination {
		/*justify-content: normal;*/
	}

	#p1 .w-75 {
		width: 100% !important;
	}

	.checkbox label, .radio label, label {
		margin-bottom: 1rem;
	}
}
