﻿@font-face {
font-family: 'Source Sans 3';
font-style: normal;
font-weight: 200 900;
font-display: swap;
src: url('/font/SourceSans3-VariableFont_wght.ttf');
}

@font-face {
font-family: 'Source Sans 3';
font-style: italic;
font-weight: 200 900;
font-display: swap;
src: url('/font/SourceSans3-Italic-VariableFont_wght.ttf');
}

html, body {
font-family: 'Source Sans 3';
font-size: 15px;
}

.navbar-header {
position: relative;
top: -4px;
}

.navbar-brand > .icon-banner {
position: relative;
top: -2px;
display: inline;
}

.logged-out iframe {
display: none;
width: 0;
height: 0;
}

.page-consent .client-logo {
float: left;
}

.page-consent .client-logo img {
width: 80px;
height: 80px;
}

.page-consent .consent-buttons {
margin-top: 25px;
}

.page-consent .consent-form .consent-scopecheck {
display: inline-block;
margin-right: 5px;
}

.page-consent .consent-form .consent-description {
margin-left: 25px;
}

.page-consent .consent-form .consent-description label {
font-weight: normal;
}

.page-consent .consent-form .consent-remember {
padding-left: 16px;
}

.grants .page-header {
margin-bottom: 10px;
}

.grants .grant {
margin-top: 20px;
padding-bottom: 20px;
border-bottom: 1px solid lightgray;
}

.grants .grant img {
width: 100px;
height: 100px;
}

.grants .grant .clientname {
font-size: 140%;
font-weight: bold;
}

.grants .grant .granttype {
font-size: 120%;
font-weight: bold;
}

.grants .grant .created {
font-size: 120%;
font-weight: bold;
}

.grants .grant .expires {
font-size: 120%;
font-weight: bold;
}

.grants .grant li {
list-style-type: none;
display: inline;
}

.grants .grant li:after {
content: ', ';
}

.grants .grant li:last-child:after {
content: '';
}

#pages {
background-color: #fff;
}

table {
border-collapse: collapse;
}

code {
background-color: #fff;
border: 1px solid #ccc;
border-radius: 0.5em;
padding: 0.5em;
}

.a-c {
text-align: center;
}

.a-c img {
width: 100%;
}

.a-c h1 {
font-size: 2.5rem;
}

.a-l {
text-align: left;
}

.ag-cell:focus {
outline: none !important;
}

.ag-bootstrap {
font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif;
font-size: 14px;
line-height: 1.4285em;
color: rgba(0, 0, 0, 0.87);
}

.ag-bootstrap .ag-ltr .ag-cell-no-focus,
.ag-bootstrap .ag-ltr .ag-header-cell {
border-right: 1px solid #ddd;
}

.ag-bootstrap .ag-ltr .ag-cell-no-focus:last-child,
.ag-bootstrap .ag-ltr .ag-header-cell:last-child {
border-right: none;
}

.ag-layout-auto-height {
min-height: 50vh;
}

.c-divider {
padding-top: 1em;
}

.c-dkred {
color: #d00;
}

.c-bigheader {
background-color: #e3e3e3;
}

.c-footer-nav {
background-color: #fff !important;
border-radius: 0 !important;
bottom: 0;
position: fixed;
}

@media all and (min-width: 30em) {
.c-footer-nav {
display: none !important;
}
}

.c-main {
margin-bottom: 1em;
margin-top: 1em;
}

@media all and (max-width: 30em) {
.c-main {
margin: 1em;
}
}

.c-mainlist {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
margin: -1rem;
padding: 0;
}

@media (max-width: 30em) {
.c-mainlist {
grid-template-columns: repeat(auto-fill, minmax(6rem, 1fr));
}
}

.c-mainlist-item {
border-radius: 0.25rem;
cursor: pointer;
list-style: none;
padding: 0.5rem;
text-align: center;
}

.c-mainlist-item:hover {
background-color: #eee;
}

.c-mainlist-item-description {
color: #555;
display: block;
}

.c-menu-padded-pagecontent {
margin: 0 0 0 14rem;
padding-left: 1rem;
}

@media (max-width: 30em) {
.c-menu-padded-pagecontent {
margin: 0;
padding-left: 0;
}
}

.c-page-header {
color: #999 !important;
font-weight: 400 !important;
font-size: 1.6rem !important;
padding-top: 1rem !important;
padding-bottom: 1rem !important;
}

.cur-p {
cursor: pointer;
}

@media all and (max-width: 30em) {
.desktop-only {
display: none !important;
}
}

.fade-enter {
/* easeInQuart */
opacity: 0.01;
-webkit-transition: opacity 0.2s cubic-bezier(0.895, 0.03, 0.685, 0.22);
transition: opacity 0.2s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}

.fade-enter.fade-enter-active {
opacity: 1;
}

.flex,
.flex-collapse {
display: flex;
}

@media all and (max-width: 30em) {
.flex-collapse {
display: block;
}
}

.flex-1 {
flex: 1;
}

.flex-2 {
flex: 2;
}

.h-100 {
height: 100%;
}

.invis {
display: none;
}

.m-0.m-0 {
margin: 0;
}

.m-05e {
margin: 0.5em;
}

.m-t-1e {
margin-top: 1rem;
}

.m-1e {
margin: 1rem;
}

.m-a {
margin: auto;
}

.m-b-0 {
margin-bottom: 0;
}

.m-b-1e {
margin-bottom: 1rem;
}

.m-barfix {
margin-top: -1rem;
margin-right: -1rem;
margin-left: -1rem;
}

.m-t-0 {
margin-top: 0;
}

.m-tb-1e {
margin-top: 1rem;
margin-bottom: 1rem;
}

.mx-w-3e {
max-width: 3em;
}

.mx-w-30e {
max-width: 30em;
}

.mx-w-50e {
max-width: 50em;
}

.mainlist-btn {
background-color: #fff;
color: #a9a9a9 !important;
display: grid;
font-weight: 600;
margin: auto;
overflow: visible;
padding: 1.5rem;
text-align: center;
width: 12rem;
}

.mainlist-btn:hover {
background-color: #e5e5e5;
color: #8c8c8c !important;
display: grid;
font-weight: 600;
margin: auto;
overflow: visible;
padding: 1.5rem;
text-align: center;
width: 12rem;
}

.min-table th {
border-bottom: 2px solid #aaa;
/*line-height: 2em;*/
}

.min-table td {
border-bottom: 1px solid #ccc;
/*line-height: 2em;*/
}

.min-table tr:last-child td {
border-bottom: none;
}

.notextselect {
-webkit-touch-callout: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}

.o-0 {
opacity: 0;
}

.p-0.p-0 {
padding: 0;
}

.p-05e {
padding: 0.5em;
}

.p-1e {
padding: 1em;
}

.p-b-0 {
padding-bottom: 0;
}

.p-b-1e {
padding-bottom: 1em;
}

.p-sides-1e {
padding: 0 1em;
}

.p-t-1e {
padding-top: 1em;
}

.row-hover:hover {
background-color: #eee;
cursor: pointer;
}

.smalltext {
font-size: 0.75em;
color: #aaa;
}

.u-touchable td {
padding: 0.5em 0;
}

.w-33.w-33 {
width: 33%;
}

.w-67.w-67 {
width: 67%;
}

.w-95.w-95 {
width: 95%;
}

.w-100 {
width: 100%;
}

.update-notification {
background-color: #2ad;
color: #fff;
text-shadow: none;
}

.update-notification a {
color: #fff;
text-decoration: underline;
font-weight: 400;
cursor: pointer;
}

.desktop-only .active-link {
box-shadow: 0 5px 0 #4a90cd !important;
}

.mobile-only .active-link {
box-shadow: 0 -5px 0 #4a90cd !important;
}

.selected {
background-color: #4a90cd !important;
border-color: #008844 !important;
color: #ffffff !important;
text-shadow: 0 1px 0 #008844 !important;
font-weight: bold;
}

.clearfix:after {
visibility: hidden;
display: block;
font-size: 0;
content: ' ';
clear: both;
height: 0;
}

.clearfix {
display: inline-block;
}
/* start commented backslash hack \*/
* html .clearfix {
height: 1%;
}

.clearfix {
display: block;
}
/* close commented backslash hack */

@media all and (min-width: 30em) {
.mobile-only {
display: none;
}

.icon-list li {
float: left;
width: 6.25em;
padding: 0.5em;
height: 9em;
}

.icon-list li.ui-li-divider {
height: auto;
}

.icon-list li .ui-btn {
background: none;
border-width: 0 !important;
/*float: left;*/
padding: 0 !important;
margin: 0 !important;
text-align: center !important;
/*width: 5em;*/
}

.icon-list li .ui-btn:hover {
background: none;
}

.icon-list li .ui-btn > img {
max-width: inherit !important;
position: relative !important;
}

.icon-list .description {
/*background-color: #f3f3f3;*/
border-radius: 0.5em;
display: block;
font-weight: 400;
/*padding: .25em;*/
white-space: normal;
}

.icon-list li .ui-btn:hover .description {
background: #999;
color: #fff;
text-shadow: none;
}

.icon-list .ui-btn-icon-notext:after,
.icon-list .ui-btn-icon-left:after,
.icon-list .ui-btn-icon-right:after {
top: 0;
margin-top: 0.5em;
}

.icon-list > .ui-listview > li.ui-li-has-alt > .ui-btn + .ui-btn {
height: inherit;
}
}

/* ----------------- component stuff ----------------------------*/

/* ----------------- table stuff --------------------------------*/
.table {
width: 100%;
}

.table td,
.table th {
padding: 0.25rem;
}

.table th {
border-bottom: 1px solid #ddd;
}

.table tr {
cursor: pointer;
}

.table tr:hover td {
background-color: #f8f8f8;
}

.table-responsive {
border: 1px solid #ddd;
}

/* ----------------- chart stuff --------------------------------*/
span.ct-label.ct-horizontal {
transform: rotate(15deg);
-webkit-transform: rotate(15deg);
-moz-transform: rotate(15deg);
-ms-transform: rotate(15deg);
-o-transform: rotate(15deg);
}

.ct-chart .ct-series.ct-series-a .ct-line {
stroke: #009966;
stroke: rgba(0, 153, 102, 0.65);
stroke-width: 3px;
}

.ct-chart .ct-series.ct-series-a .ct-point {
stroke: #009966;
stroke-width: 5px;
}

.ct-chart .ct-series.ct-series-a .ct-area {
fill: rgba(0, 153, 102, 1);
}

.ct-chart .ct-series.ct-series-b .ct-line {
stroke: #0089bb;
stroke: rgba(0, 137, 187, 0.65);
stroke-width: 3px;
}

.ct-chart .ct-series.ct-series-b .ct-point {
stroke: #0089bb;
stroke-width: 5px;
}

.ct-chart .ct-series.ct-series-b .ct-area {
fill: rgba(0, 137, 187, 1);
}

.ui.selection.dropdown .menu > .item {
white-space: nowrap;
}

.ui.radio.checkbox {
width: 100%;
}

.ui.category.search > .results .category > .name {
white-space: normal;
}

.card {
border: 1px solid #dedede;
border-radius: .8rem;
padding: 1.5rem;
box-shadow: 0 1.5px 3px #00000040;
}

.card,
.ui.basic.segment,
.ui.basic.segment .ui.form {
display: flex;
flex-direction: column;
align-items: center;
gap: 1rem;
width: 100%;
}

.ui.basic.segment {
width: 100%;
margin: 0;
padding: 0;
}

.label-group {
display: flex;
flex-direction: column;
align-items: start;
gap: 0.3rem;
width: 100%;
}

.ui.form .label-group input[type="email"],
.ui.form .label-group input[type="password"] {
all: unset;
text-overflow: ellipsis;
box-sizing: border-box;
color: #333;
background-color: #fff;
border: 1px solid #707071;
border-radius: .25em;
outline: none;
align-items: center;
width: 100%;
height: 2.5rem;
padding: 0 .5em;
font-size: 1em;
line-height: normal;
display: flex;
position: relative;
}

.ui.form div.field {
width: 100%;
margin: 0;
}

.ui.form button.ui.button {
all: unset;
box-sizing: border-box;
margin: 0;
width: 100%;
height: 2.5em;
appearance: none;
cursor: pointer;
border: none;
border-radius: 0.25em;
flex-direction: row;
justify-content: center;
align-items: center;
gap: .5em;
font-size: 1em;
line-height: 1em;
display: flex;
padding: 0 1.5em;
}

a.ui.primary.button,
.ui.form button.ui.primary.button {
background-color: #859b44 !important;
color: #f4f3f2 !important;
}

a.ui.primary.button:hover,
.ui.form button.ui.primary.button:hover {
background-color: #c7d7a4 !important;
color: #4b6000 !important;
}

a.ui.primary.button:active,
.ui.form button.ui.primary.button:active {
background-color: #4b6000 !important;
color: #fff !important;
}

.ui.form button.ui.primary.button.disabled {
opacity: 0.5 !important;
background-color: #859b44 !important;
color: #f4f3f2 !important;
}

.ui.form button.ui.primary.button.disabled:hover {
opacity: 0.5 !important;
background-color: #859b44 !important;
color: #f4f3f2 !important;
}

.ui.form button.ui.primary.button.disabled:active {
opacity: 0.5 !important;
background-color: #859b44 !important;
color: #f4f3f2 !important;
}

.ui.form button.ui.secondary.button {
background-color: #f2f2f2 !important;
}

.ui.form button.ui.secondary.button:hover {
background-color: #ccc !important;
}

.ui.form button.ui.secondary.button:active {
background-color: #a6a7a8 !important;
}

.ui.form button.ui.secondary.button.disabled {
opacity: 0.5 !important;
background-color: #859b44 !important;
color: #f4f3f2 !important;
}

.ui.form button.ui.secondary.button.disabled:hover {
opacity: 0.5 !important;
background-color: #859b44 !important;
color: #f4f3f2 !important;
}

.ui.form button.ui.secondary.button.disabled:active {
opacity: 0.5 !important;
background-color: #859b44 !important;
color: #f4f3f2 !important;
}

.or-divider {
display: flex;
flex-direction: row;
width: 80%;
gap: 1ch;
align-items: center;
}

.or-divider div {
margin: 0;
width: 100%;
height: 1px;
background-color: #d3d2d1;
}

.or-divider span {
color: #333;
margin: 0;
}

.external-providers {
display: flex;
flex-direction: column;
gap: 0.5rem;
width: 100%;
}

.external-providers .ui.form {
width: 100%;
}

.external-providers .button .logo {
width: 1.5rem;
height: 1.5rem;
}