.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: #F5F5F5;
    color: #2c2c2c;
    border-left: 4px solid #00BCD4;
}

.teaser-guide h1 {
    margin-bottom: 40px;
    color: #2c2c2c;
}

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

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

.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,0.15),
            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;
    color: #00BCD4;
}

.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;
    color: #00BCD4;
}

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

/*Creditplus Styling (NDGIT base) */

:root {
    --primary: #009597;
    --primary-dark: #006A4E;
    --secondary: #FFFFFF;
    --primary-accent: #004652;
    --secondary-accent: #E8E8E8;
    --team-black: #2c2c2c;
    --negative: #ED1B2F;
    --group-1: #343434;
    --group-1-dark: #072f51;
    --group-1-medium: #00BCD4;
    --group-2: #343434;
    --group-2-dark:  #0097A7;
    --group-2-medium: #00BCD4;
    --text-primary: #2c2c2c;
    --text-secondary: #666666;
}

body {
    font: 400 15px/22.5px Metropolis, Helvetica, Arial, sans-serif !important;
    background-color: #fafafa;
    color: #2c2c2c;
}

h1, h2, a.breadcrumb, table tr th, .side-nav-item a {
    font-family: Metropolis, Helvetica, Arial, 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 #009597 !important;
}

.side-nav li.active > div > a {
    color: #009597 !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: 2px solid var(--primary) !important;
    box-shadow: none !important;
}

input[type="text"].valid {
    border-bottom: 2px 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: 2px solid var(--primary);
    box-shadow: 0 1px 0 0 var(--primary);
}

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

form input.ng-invalid {
    border-bottom: 2px 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);
    background-color: #F5F5F5;
}

button.btn:not(.btn-flat), div.btn, a.btn-primary, .swagger-ui button.btn.authorize {
    background-color: var(--primary);
    color: white;
    border-radius: 6px;
    border: none;
}

form button.btn:hover, div.btn:hover, a.btn-primary:hover, .swagger-ui button.btn.authorize:hover {
    box-shadow: 0px 4px 12px rgba(0, 188, 212, 0.3);
    background-color: var(--primary-dark);
}

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

.switch label input[type="checkbox"]:checked + .lever {
    background-color: rgba(0, 188, 212, 0.4);
}

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

.create-btn:hover, .refresh-btn:hover {
    background-color: var(--primary-dark);
    box-shadow: 0px 4px 12px rgba(0, 188, 212, 0.3);
}

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

.delete-btn:hover, .remove-btn:hover {
    background-color: #B03935;
    box-shadow: 0px 4px 12px rgba(199, 63, 59, 0.3);
}

.edit-btn, .show-btn, .item-add-btn, .member-add-btn, .details-btn {
    background-color: var(--primary);
    color: white;
    border-radius: 6px;
    border: none;
}

.details-btn:hover {
    background-color: var(--primary-dark);
    box-shadow: 0px 4px 12px rgba(0, 188, 212, 0.3);
}

.edit-btn:hover, .show-btn:hover, .item-add-btn:hover, .member-add-btn:hover {
    background-color: var(--primary-dark);
    box-shadow: 0px 4px 12px rgba(0, 188, 212, 0.3);
}

button.btn.ladda-button:disabled {
    background-color: #CCCCCC !important;
    color: #666666;
    cursor: not-allowed;
}

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

header nav .nav-wrapper a.active {
    background: inherit;
    border-bottom: 3px solid var(--primary);
    color: var(--primary) !important;
}

header nav ul li:last-child a.active {
    text-decoration: none;
    color: var(--primary) !important;
}

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: #999999 !important;
}

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

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

header nav ul li .menu-link.pos1 {
    color: #00BCD4;
}

header nav ul li .menu-link.pos2 {
    color: #0097A7;
}

header nav ul li .menu-link.pos3 {
    color: #00BCD4;
}

header nav ul li .menu-link.pos4 {
    color: #00BCD4;
}

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

header nav ul li .menu-link.pos6 {
    color: #00BCD4;
}

header nav ul li .menu-link.pos7 {
    color: #0097A7;
}

header nav ul li .menu-link.pos8 {
    color: #00BCD4;
}

footer.page-footer.grey {
    background-color: var(--team-black) !important;
}

div.wrapper.top-wrapper .kpi1 .card-panel {
    background: #006A4E !important;
}

div.wrapper.top-wrapper .kpi2 .card-panel {
    background: #009597 !important;
}

div.wrapper.top-wrapper .kpi3 .card-panel {
    background: #ED1B2F !important;
}

div.wrapper.bottom-wrapper .kpi1 .card-panel {
    background: #006A4E !important;
}

div.wrapper.bottom-wrapper .kpi2 .card-panel {
    background: #009597 !important;
}

div.wrapper.bottom-wrapper .kpi3 .card-panel {
    background: #ED1B2F !important;
}

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

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

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

.card.card-demo .card-type.chip {
    background: var(--primary-dark) !important;
}

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

.card.card-productive .card-type.chip {
    background: var(--primary) !important;
}

.card.card-productive {
    background: rgba(0, 188, 212, 0.08) !important;
}

.qwist-turquoise {
    background-color: #00BCD4;
}

.qwist-dark-blue {
    background-color: #2c2c2c;
}

.qwist-ndgit-blue {
    background-color: var(--primary);
}

.blue-darken-3 {
    background-color: #006A4E;
}

.blue-darken-4 {
    background-color: #009597;
}

.blue-darken-5 {
    background-color: #ED1B2F;
}

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