.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 {
    background-color: rgba(0, 0, 0, 0.4);
    padding-left: 20px;
    padding-right: 20px;
}

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

@media (min-width: 600px) {
    .home .header {
        margin-top: 10px;
    }
}

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

.home-teaser {
    padding-bottom: 40px;
    text-align: center;
    color: black;
}

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

.home-teaser h2 {
    padding-bottom: 40px;
    text-align: center;
    color: black;
}

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

.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: 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: #E8ECEF;
    color: black;
}

.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(0,0,0,0),
            rgba(0,0,0,1),
            rgba(0,0,0,0))
}

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

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

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

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

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

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

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

/* 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;
}

[class^="ico-"], [class*=" ico-"] {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'icomoon' !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: #00559D;
    --secondary: #7AC6B6;
    --primary-accent: #00559D;
    --secondary-accent: #7AC6B6;
    --team-black: #001E3B;
    --negative: #BE2223;
    --group-1: #343434;
    --group-1-dark: #072f51;
    --group-1-medium: #00559D;
    --group-2: #343434;
    --group-2-dark:  #5e8a81;
    --group-2-medium: #7AC6B6;
}

body {
    font: 400 15px/22.5px 'Instrument Sans', sans-serif !important;
}

h1, h2, a.breadcrumb, table tr th, .side-nav-item a {
    font-family: Montserrat, sans-serif !important;
    font-weight: 600 !important;
}

a {
    color: var(--primary);
}
h1, h2, h3 {
    color: var(--team-black);
}

.side-nav li.active {
    border-right: 2px solid var(--primary-accent) !important;
}

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

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

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

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

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

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

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

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

.tabs-wraper ul#tabs li a.active {
    color: var(--primary-accent);
}

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

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

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

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: var(--team-black) !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="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(--team-black);
}

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);
}

header nav ul li a, header nav .menu-link {
    text-transform: capitalize;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 63px;
}

header nav .nav-wrapper a.active {
    background: inherit;
    border-bottom: 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: 50px !important;
}

header nav ul > li > a {
    color: var(--team-black) !important;
}

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

.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: var(--team-black) !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(--group-2-medium) !important;
    color: white !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;
}

.qwist-turquoise {
    background-color: #7AC6B6;
}

.qwist-dark-blue {
    background-color: #001E3B;
}

.qwist-ndgit-blue {
    background-color: #00559D;
}

.statusGreen, .result-success, .success, i.icon-green {
    color: #40aa90 !important;
}