/*==========FONTS==========*/

@font-face {
    font-family: 'Mundo Sans W01 Light';
    src: url('https://dev.bankonbox.linkconsulting.com/haitong-psd2temp/font/fonts/MundoSansW01-Light.eot');
    src: url('https://dev.bankonbox.linkconsulting.com/haitong-psd2temp/font/fonts/MundoSansW01-Light.eot?#iefix') format('embedded-opentype'),
    url('https://dev.bankonbox.linkconsulting.com/haitong-psd2temp/font/fonts/MundoSansW01-Light.woff') format('woff'),
    url('https://dev.bankonbox.linkconsulting.com/haitong-psd2temp/font/fonts/MundoSansW01-Light.ttf') format('truetype'),
    url('https://dev.bankonbox.linkconsulting.com/haitong-psd2temp/font/fonts/MundoSansW01-Light.svg') format('svg');
    font-weight: lighter;
    font-style: normal;
}
@font-face {
    font-family: 'Mundo Sans W01 Medium';
    src: url('https://dev.bankonbox.linkconsulting.com/haitong-psd2temp/font/fonts/MundoSansW01-Medium.eot');
    src: url('https://dev.bankonbox.linkconsulting.com/haitong-psd2temp/font/fonts/MundoSansW01-Medium.eot?#iefix') format('embedded-opentype'),
    url('https://dev.bankonbox.linkconsulting.com/haitong-psd2temp/font/fonts/MundoSansW01-Medium.woff') format('woff'),
    url('https://dev.bankonbox.linkconsulting.com/haitong-psd2temp/font/fonts/MundoSansW01-Medium.ttf') format('truetype'),
    url('https://dev.bankonbox.linkconsulting.com/haitong-psd2temp/font/fonts/MundoSansW01-Medium.svg') format('svg');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'FontAwesome';
    src: url('https://dev.bankonbox.linkconsulting.com/haitong-psd2temp/font/fonts/fontawesome-webfont.eot');
    src: url('https://dev.bankonbox.linkconsulting.com/haitong-psd2temp/font/fonts/fontawesome-webfont.eot') format('embedded-opentype'),
    url('https://dev.bankonbox.linkconsulting.com/haitong-psd2temp/font/fonts/fontawesome-webfont.woff') format('woff'),
    url('https://dev.bankonbox.linkconsulting.com/haitong-psd2temp/font/fonts/fontawesome-webfont.ttf?') format('truetype'),
    url('https://dev.bankonbox.linkconsulting.com/haitong-psd2temp/font/fonts/fontawesome-webfont.svg') format('svg');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'Font Awesome 6 Pro';
    font-style: normal;
    font-weight: 300;
    font-display: auto;
    src: url("https://dev.bankonbox.linkconsulting.com/haitong-psd2temp/font/fonts/fa-light-300.eot");
    src: url("https://dev.bankonbox.linkconsulting.com/haitong-psd2temp/font/fonts/fa-light-300.eot?#iefix") format("embedded-opentype"),
    url("https://dev.bankonbox.linkconsulting.com/haitong-psd2temp/font/fonts/fa-light-300.woff2") format("woff2"),
    url("https://dev.bankonbox.linkconsulting.com/haitong-psd2temp/font/fonts/fa-light-300.woff") format("woff"),
    url("https://dev.bankonbox.linkconsulting.com/haitong-psd2temp/font/fonts/fa-light-300.ttf") format("truetype"),
    url("https://dev.bankonbox.linkconsulting.com/haitong-psd2temp/font/fonts/fa-light-300.svg#fontawesome") format("svg");
}

/*ICONS
@font-face {
    font-family: 'icomoon';
    src:
        url('../public/assets/fonts/icomoon.ttf') format('truetype'),
        url('../public/assets/fonts/icomoon.woff') format('woff');
    font-weight: normal;
    font-style: normal;
} */

:root {
    --primary: #2980b7!important;
}

body {
    font-family: 'Mundo Sans W01 Light, Arial, sans-serif';
}

fieldset {
    margin-bottom: 20px;
}

legend {
    color: var(--primary)!important;
}

.side-nav#mobile-demo {
    background-color: var(--primary)!important;
}

.side-nav#mobile-demo a.menu-link {
    color: white!important;
    height: 56px;
    font-size: 1rem;
    border: 0;
}

.side-nav#mobile-demo a.menu-link:hover,
.side-nav#mobile-demo a.menu-link.active {
    border: 0;
}

.side-nav .divider {
    margin: 0;
}

.stage {
    position: relative;
    width: 100%;
    margin: 0;
    margin-top: 10px;
}

.stage-picture img {
    width: 100%; height: auto;
    vertical-align: bottom;
}

.stage-caption {
    position: absolute;
    top: 0; bottom: 0;
    right: 0; left: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    text-align: center;
    color: white;
}

.stage-caption h1 {
    color: white;
    /*font-size: 60px;*/
    font-weight: 600;
    line-height: 90px;
}

.stage-caption h2 {
    color: white;
    margin-top: 0;
}

.stage-caption h1, .stage-caption h2 {
    padding-left: 20px;
    padding-right: 20px;
}

@media only screen and (min-width: 993px){
    .row .col.offset-l4 {
        margin-left: 0;
    }
}

@media (max-width: 992px) {
    .home .stage-caption h1 {
        font-size: 7vw;
        line-height: 8vw;
    }
    nav .button-collapse {
        margin: 0;
    }
}

@media (min-width: 993px) {
    .home .stage-caption h1 {
        font-size: 60px!important;
    }
}

@media (min-width: 600px) {
    .home .header {
        margin-top: 10px;
    }
    .row .col.offset-m3 {
        margin-left: 0;
    }
}

@media (max-width: 767px) {
    .tabs {
        margin: 10px 0 10px 10px;
        height: 55px;
        width: auto;
    }
}

.swagger-ui .model-box {
    display: inherit;
}

.header-text {
    position: relative;
    top: 30%;
    text-align: center;
    width:100%;
}

.home-teaser{
    padding-bottom: 40px;
    text-align: center;
    color: white;
    background-color: #005BAC;
}

.home-teaser h1 {
    margin-top: 0px;
    padding-top: 40px;
    color: white;
    margin-bottom: 40px;
}

.home-teaser h2 {
    font-weight: 500;
    color: white;
}

.teaser-icon {
    font-size: 64px;
    padding-bottom: 20px;
}

.teaser-col-content {
    position: relative;
    width: 100%;
}

.home-teaser .col:not(:last-child) .teaser-col-content:after  {
    position: absolute;
    top: 0; bottom: 0;
    right: calc(-1rem - 8px); /* (padding-right of .process__item) - (half-width) */
    content: "";
    width: 16px;
    background: linear-gradient(
            rgba(41,128,183,1),
            rgba(41,128,183,0),
            rgba(41,128,183,1)),
    url('../public/assets/img/process-separator.svg') center center no-repeat;
    background-size: auto, cover;
}

@media (max-width: 600px) {
    .home-teaser .col:not(:last-child) .teaser-col-content:after {
        display: none; /* visibility: none; */
    }
}

.teaser-guide {
    margin-top: 0px;
    margin-bottom: 40px;
    padding-top: 40px;
    padding-bottom: 40px;
    background-color: #f3f3f3;
    color: #14405C;
}

.teaser-guide h1 {
    margin-bottom: 40px;
}

.teaser-guide ul {
    margin-top: 0;
    margin-bottom: 0;
}

.teaser-guide li {
    list-style-type: disc;
    line-height: 60px;
    font-size: 18px;
}

.teaser-guide li:not(:first-child):before {
    content: "";
    display: block;
    height: 2px;
    background: linear-gradient(
            to right,
            rgba(41,128,183,0),
            rgba(41,128,183,1),
            rgba(41,128,183,0))
}

.teaser-guide li:last-child {
    border-bottom: none;
}

.btn-publishing {
    padding-top: 10px;
    height: 56px;
}

.btn {
    box-shadow: none!important;
    letter-spacing:0;
    border-radius: 0!important;
    line-height: 2.3!important;
    background-color: var(--primary);
}

.btn-default {
    border: 2px solid var(--primary)!important;
    background-color: transparent;
    color: #333;
    font-weight: bold;
    padding: 6px 64px;
    height: 50px;
    text-transform: uppercase;
    line-height: 2.3!important;
}

.btn-default:hover,
.btn:hover {
    background-color: var(--primary)!important;
    color: white;
    text-decoration: none;
}

.cards {
    padding-bottom: 50px;
    margin-top: 15px;
    margin-bottom: 40px;
}

.card {
    border:1px solid #ddd;
    border-radius: 0;
    box-shadow:none;
}

.card .card-content {
    color: var(--team-grey-dark);
    min-height: 155px;
    background-size: 10px 10px;
    background: repeating-linear-gradient(-45deg,#fff 2px,#fff 3px,#ddd 4px,#ddd 4px);

}

.card[_ngcontent-c4]:hover {
    border-top: 4px solid var(--primary);
}

i[_ngcontent-c4] {
    color: var(--primary);
    padding-bottom: 20px;
    justify-content: center;
    display: flex;
    /*width: 165px;*/
}

.card.horizontal i[_ngcontent-c4] {
    color: white!important;
}

:host /deep/ .card {
    height: 280px !important;
}

.teaser-guide .icon-desc {
    font-size: 7em;
}

.cards-teaser {
    padding-top: 10px;
    padding-bottom: 20px;
    margin: 0 auto;
}

.row.cards-teaser {
    justify-content: center;
}

.row.cards-teaser .cards.material-icons {
    font-family:'FontAwesome';
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
}

.card[_ngcontent-c4] {
    height: 295px!important;
}

.card[_ngcontent-c4] .card-title[_ngcontent-c4] {
    font-weight: 600!important;
    color: var(--primary)!important;
}

/*.cards p[_ngcontent-c4] {
    font-family: 'Mundo Sans W01 Medium, Arial, sans-serif';
    white-space: pre-wrap;
    font-size: 1.4rem;
    line-height: initial;
}*/

.guide-links a {
    margin-top: 10px;
}

[class^="ico-"], [class*=" ico-"] {
    /* use !important to prevent issues with browser extensions that change fonts */
    /*font-family: 'icomoon' !important;*/
    font-family: 'fontawesome' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;

    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.ico-telescope:before {
    content: "\e900";
}

.ico-lab:before {
    content: "\e901";
}

.ico-box:before {
    content: "\e902";
}

.ico-files:before {
    content: "\e903";
}

.ico-grid:before {
    content: "\e904";
}

.ico-equalizer:before {
    content: "\e905";
}

.ico-stats:before {
    content: "\e906";
}

.fade-text {
    -webkit-animation: fadein 2s; /* Safari, Chrome and Opera > 12.1 */
    -moz-animation: fadein 2s; /* Firefox < 16 */
    -ms-animation: fadein 2s; /* Internet Explorer */
    -o-animation: fadein 2s; /* Opera < 12.1 */
    animation: fadein 2s;
}
@keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}
/* Firefox < 16 */
@-moz-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}
/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}
/* Internet Explorer */
@-ms-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}
/* Opera < 12.1 */
@-o-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/*Custom NDGIT styles (menu and breadcrumbs) */

:root {
    --primary: #005BAC;
    --secondary: #616469;
    --primary-accent: #0153FF;
    --secondary-accent: #00E16C;
    --team-black: #000;
    --team-grey: #3f3f3f;
    --team-grey-dark: #333;
    --negative: #BE2223;
    --group-1: #343434;
    --group-1-dark: #012980;
    --group-1-medium: #0153ff;
    --group-2: #343434;
    --group-2-dark:  #007034;
    --group-2-medium: #00CC66;
}

body {
    font: 400 15px/22.5px 'Mundo Sans W01', Helvetica, Arial, sans-serif!important;
}

h1, h2, a.breadcrumb, table tr th, .side-nav-item a {
    font-family: 'Mundo Sans W01', Helvetica, Arial, sans-serif!important;
    font-weight: 600 !important;
}

.table {
    background-color: white!important;
}

.table tbody th,
.table thead th {
    border-bottom: 2px solid #f3f3f3!important;
    padding: 0 20px!important;
}

a {
    color: var(--primary);
}

h2, h3 {
    color: var(--secondary);
    font-size: 1.5rem!important;
}

h2[_ngcontent-c3] {
    text-transform: uppercase;
}

h1 {
    text-transform: uppercase;
    color: var(--team-grey-dark);
    font-weight: bolder!important;
    margin: 10px 0 10px;
    letter-spacing: -0.03em;
    font-family: 'Mundo Sans W01', Helvetica, Arial, sans-serif !important;
    font-size: 2rem!important;
}

.home-teaser h1,
.teaser-guide h1 {
    font-size: 2rem;
}

nav .button-collapse:hover {
    text-decoration: none;
}

.side-nav li.active {
    border-right: 2px solid var(--primary) !important;
    background-color: rgba(0, 0, 0, 0.05)!important;
}

.side-nav li.active {
    border-right: 2px solid var(--primary) !important;
    background-color: rgba(0, 0, 0, 0.05)!important;
}

.side-nav li:hover {
    background-color: rgba(0, 0, 0, 0.05);
}

.side-nav .collapsible-header.menu-link.active {
    background-color: #636466!important;
}

.side-nav .collapsible-header.menu-link.active i {
    color: #fff!important;
}

.side-nav#mobile-demo .divider {
    background-color: #00529C;
    opacity: 0.4;
}

.side-nav li > a > i.material-icons {
    width: 0px!important;
}

.side-nav a:hover {
    background-color: transparent;
}

.side-nav li.active > div > a {
    color: var(--primary) !important;
}

.side-nav li.active i {
    color: var(--primary) !important;
}

.side-nav-item {
    padding: 10px;
}

.side-nav h2 {
    /*padding-top: 20px;*/
    padding-bottom: 10px;
}

.side-nav ul li a {
    line-height: 30px;
    font-weight: lighter;
}

.side-nav[_ngcontent-c6] li[_ngcontent-c6] a[_ngcontent-c6] {
    padding-top: 4px;
}

.nav-wrapper .brand-logo-link .brand-logo {
    max-height: 40px;
}

nav[_ngcontent-c1] {
    background-color: #efefef!important;
    box-shadow: none;
    border-bottom: 1px solid black;
    height: 66px;
}

nav ul a:hover {
    border: 3px solid black;
    background-color: transparent;
}

ul[_ngcontent-c1] > li[_ngcontent-c1] > a.dropdown-button[_ngcontent-c1] {
    display: block;
    border: 3px solid transparent;
    text-transform: initial;
    font-weight: 100;
}

a.collapsible-header.menu-link:hover,
a.collapsible-header.menu-link.active,
.collapsible-body > ul a:hover,
.collapsible-body > ul a.active {
    border: 0;
}

.side-nav .collapsible-header:active {
    background-color: #636466!important;
}

.collapsible-body {
    padding: 0;
}

.collapsible-body li a {
    padding: 13px!important;
}

a.breadcrumb, .breadcrumb::before {
    color: var(--team-black) !important;
}

.tabs-wraper ul#tabs li a:not(.active) {
    color: var(--team-grey);
}

.tabs-wraper ul#tabs li a.active {
    color: var(--primary)!important;
    font-weight: bold;
}

ul.tabs[_ngcontent-c4] li[_ngcontent-c4] a[_ngcontent-c4] {
    font-weight: lighter;
}

.tabs-wraper ul#tabs li.indicator {
    background: var(--primary)!important;
}

.ui-paginator-bottom {
    margin-top: 15px;
}

ul li a.toc-h2, .toc-h3 {
    color: var(--primary) !important;
}

.table-of-contents li {
    border-bottom: 1px solid #ddd;
    padding: 10px 0;
}

.toc-h2[_ngcontent-c5] {
    font-size: .9rem!important;
    text-transform: uppercase;
    font-weight: 500!important;
    font-family: Arial,sans-serif!important;
}

ul.table-of-contents a:hover {
    border-left: 1px solid transparent!important;
}

.table-of-contents li:hover {
    background-color: #f3f3f3;
}

input:focus:not([readonly]) + label {
    color: var(--team-black) !important;
}

input:focus:not([readonly]), textarea:focus:not([readonly]) {
    border-bottom: 1px solid var(--primary) !important;
    box-shadow: none !important;
}

input[type="text"].valid {
    border-bottom: 1px solid var(--primary) !important;
    box-shadow: none !important;
}

label.active2 {
    color: var(--team-black) !important;
}

.dropdown-content li > a,
.dropdown-content li > span {
    color: white !important;
    text-transform: none;
    font-size: .85rem;
}

.dropdown-content active {
    background-color: #616469;
    color: white;
    border-left: 0;
}

.dropdown-content li > a:hover {
    border: 3px solid transparent;
    background-color: #3f3f3f;
    text-decoration: underline;
}

.dropdown-content li {
    border-left: 0!important;
}

.dropdown-content li > span:hover {
    color: #3f3f3f!important;
}

.dropdown-content li:hover, .dropdown-content li.active, .dropdown-content li.selected {
    background-color: #eee;
    color: #3f3f3f!important;
}

.chips.focus {
    border-bottom: 1px solid var(--primary);
    box-shadow: 0 1px 0 0 var(--primary);
}

form input[type] {
    margin-bottom: 25px;
}

form input.ng-invalid {
    border-bottom: 1px solid var(--negative);
}

[type="radio"]:checked + label,
[type="radio"]:not(:checked) + label {
    padding-left: 25px;
    padding-right: 15px;
}

[type="checkbox"]:checked + label::before {
    border-right-color: var(--primary);
    border-bottom-color: var(--primary);
}


[type="radio"]:checked + label::after {
    border-color: var(--primary);
    background-color: var(--primary);
}

.ui-datatable thead th {
    color: var(--team-black);
}

button.btn:not(.btn-flat), div.btn, a.btn-primary, .swagger-ui button.btn.authorize {
    background-color: var(--primary);
    text-transform: uppercase;
    padding: 7px 35px;
    height: 50px;
}

form button.btn:hover, div.btn:hover, a.btn-primary:hover,.swagger-ui button.btn.authorize:hover {
    box-shadow: 0px 3px 5px 2px rgba(0, 0, 0, 0.5);
    background-color: var(--team-black);
}

.switch label input[type="checkbox"]:checked + .lever::after {
    background-color: var(--primary) !important;
}
.switch label input[type="checkbox"]:checked + .lever {
    background-color: #599bff;;
}

.create-btn, .refresh-btn, .create-btn:active, .refresh-btn:active{
    background-color: var(--primary);
}

.create-btn:hover, .refresh-btn:hover {
    background-color: var(--primary);
    box-shadow: 0px 3px 5px 2px rgba(0, 0, 0, 0.5);
}

.delete-btn, .remove-btn {
    background-color: var(--negative);
}

.delete-btn:hover, .remove-btn:hover {
    background-color: var(--negative);
    box-shadow: 0px 3px 5px 2px rgba(0, 0, 0, 0.5);
}

.edit-btn, .show-btn, .item-add-btn, .member-add-btn, .details-btn {
    background-color: var(--team-black);
}

.details-btn:hover {
    background-color: var(--team-black);
    box-shadow: 0px 3px 5px 2px rgba(0, 0, 0, 0.5);
}

.edit-btn:hover, .show-btn:hover, .item-add-btn:hover, .member-add-btn:hover {
    background-color: var(--team-black);
    box-shadow: 0px 3px 5px 2px rgba(0, 0, 0, 0.5);
}

button.btn.ladda-button:disabled {
    background-color:  var(--team-black) !important;
}

.input-field .prefix.active {
    color: var(--primary);
}

nav ul li:last-child {
    border-left: 1px solid black;
}

header nav ul li a, header nav .menu-link {
    text-transform: uppercase;
    font-size: .85rem;
    font-weight: 600;
    line-height: 59px;
    background-color: efefef!important;
}

header nav .nav-wrapper a.active {
    background: inherit;
    border: 3px solid black;
}

header nav ul li:last-child a.active {
    text-decoration: none;
    color: #000000;
}

header nav div > ul > li:nth-child(2) a {
    text-transform: none;
}

header nav .nav-wrapper i {
    height: 61px;
    line-height: 61px;
}

header nav ul.dropdown-content {
    top: 65px !important;
    background-color: #3f3f3f;
}

.dropdown-content {
    background-color: #3f3f3f!important;
}

header nav ul > li > a {
    color: var(--team-grey) !important;
    font-weight: Bolder;
    border: 3px solid transparent;
}

header nav .nav-wrapper  .collapsible-body li a{
    text-transform: none;
    color: rgb(128, 128, 128) !important;
    border: 0;
}

.tabs-wraper ul#tabs li a.active {
    color: #0066ff;
}

.tabs-wraper ul#tabs li.indicator {
    background: #0066ff;
}

header nav ul li .menu-link.pos1 {
    color: #2980b7;
}

header nav ul li .menu-link.pos2 {
    color: #14405c;
}

header nav ul li .menu-link.pos3 {
    color: #1f6089;
}

header nav ul li .menu-link.pos4 {
    color: #689f38;
}

header nav ul li .menu-link.pos5 {
    color: #009688;
}

header nav ul li .menu-link.pos6 {
    color: #2980b7;
}

header nav ul li .menu-link.pos7 {
    color: #14405c;
}

header nav ul li .menu-link.pos8 {
    color: #1f6089;
}

footer.page-footer.grey {
    background-color: #616469!important;
}

div.wrapper.top-wrapper .kpi1 .card-panel {
    background: var(--group-1) !important;
}

div.wrapper.top-wrapper .kpi2 .card-panel {
    background: var(--group-1-dark) !important;
}

div.wrapper.top-wrapper .kpi3 .card-panel {
    background: var(--group-1-medium) !important;
}

div.wrapper.bottom-wrapper .kpi1 .card-panel {
    background: var(--group-2) !important;
}

div.wrapper.bottom-wrapper .kpi2 .card-panel {
    background: var(--group-2-dark) !important;
}

div.wrapper.bottom-wrapper .kpi3 .card-panel {
    background: var(--group-2-medium) !important;
}

.column.guides .light-green {
    background: var(--primary)!important;
    color: white !important;
}

.card.horizontal {
    height: 120px!important;
}

.column.guides .red {
    background: var(--group-1-medium) !important;
    color: white !important;
}

.card.card-owner .card-type.chip {
    background: var(--group-1-medium) !important;
}

.card.card-demo .card-type.chip {
    background: var(--group-2-medium) !important;
}

.card.card-inactive .card-type.chip {
    background: #7f7f7f !important;
}

.card.card-productive .card-type.chip {
    background: #002575 !important;
}

.card.card-productive {
    background: #DEE2F4 !important;
}