/**
    CI COLORS E360
    main blue: rgba(14, 65, 110, 255)
    subheader blue: rgb(52, 68, 112)
    green: rgb(172, 204, 35)
    darker green: rgb(172, 196, 12)
*/

/* general settings */
@font-face {
    /* font family used on energie360.de */
    /* src: https://font.download/font/ubuntu */
    font-family: "Ubuntu Regular";
    src:
      local("Ubuntu Regular"),
      url("ubuntu-webfont/Ubuntu-R.woff") format("woff");
}

* {
    font-family: 'Ubuntu Regular', sans-serif;
}

.main-content {
    zoom: 0.5;
}

/* Zoom for flowchart-container, if 'Anlage fertig' is finished */
.body-zoomed--05 {
    zoom: 0.5;
}

.body-zoomed--05 .bigger {
    scale: 2.0;
}

.body-zoomed--05 .bigger--special {
    scale: 1.8;
}

/* Zoom for flowchart-container, if cloud consumer is active */
.body-zoomed--03 {
    zoom: 0.3;
}

.body-zoomed--03 .bigger {
    /* scale: 4.0; */
    scale: 2, 2;
}

.body-zoomed--03 .bigger--special {
    scale: 3.5;
}

.height-0 {
    height: 0;
}

.hover-container {
    position: fixed;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 10;
}

.hover-container .projection-container,
.hover-container .contract-init-container,
.hover-container .netrequest-container,
.hover-container .roof-container,
.hover-container .electric-container,
.hover-container .system-ready-container,
.hover-container .cloud-container,
.hover-container .remote-care-container,
.hover-container .insurance-container,
.hover-container .cloud-consumer-container,
.hover-container .descriptiontext-container {
    position: absolute;
    top: 200px;
    left: 15%;
    z-index: 100;
}

.hover-container .projection-container .overlay-container,
.hover-container .contract-init-container .overlay-container,
.hover-container .netrequest-container .overlay-container,
.hover-container .roof-container .overlay-container,
.hover-container .electric-container .overlay-container,
.hover-container .system-ready-container .overlay-container,
.hover-container .cloud-container .overlay-container,
.hover-container .remote-care-container .overlay-container,
.hover-container .insurance-container .overlay-container,
.hover-container .cloud-consumer-container .overlay-container,
.hover-container .descriptiontext-container .overlay-container {
    display: none!important;
}

.hover-container .projection-container:hover .overlay-container,
.hover-container .contract-init-container:hover .overlay-container,
.hover-container .netrequest-container:hover .overlay-container,
.hover-container .roof-container:hover .overlay-container,
.hover-container .electric-container:hover .overlay-container,
.hover-container .system-ready-container:hover .overlay-container,
.hover-container .cloud-container:hover .overlay-container,
.hover-container .remote-care-container:hover .overlay-container,
.hover-container .insurance-container:hover .overlay-container,
.hover-container .cloud-consumer-container:hover .overlay-container,
.hover-container .descriptiontext-container:hover .overlay-container {
    display: inline-block!important;
}

/* special settings for content with zoom factor */
.body-zoomed--03 .hover-container .projection-container,
.body-zoomed--03 .hover-container .contract-init-container,
.body-zoomed--03 .hover-container .netrequest-container,
.body-zoomed--03 .hover-container .roof-container,
.body-zoomed--03 .hover-container .electric-container,
.body-zoomed--03 .hover-container .system-ready-container,
.body-zoomed--03 .hover-container .cloud-container,
.body-zoomed--03 .hover-container .remote-care-container,
.body-zoomed--03 .hover-container .insurance-container,
.body-zoomed--03 .hover-container .cloud-consumer-container,
.body-zoomed--03 .hover-container .descriptiontext-container {
    position: fixed;
    top: 75%;
    left: 72%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    scale: 5;
    z-index: 100;
}

/* special settings for descriptiontext-container */
.body-zoomed--03 .hover-container .descriptiontext-container {
    top: 50%;
    left: 65%;
    width: 10%;
}

/* special settings for roof- & cloud-consumer-container */
.body-zoomed--03 .hover-container .roof-container,
.body-zoomed--03 .hover-container .cloud-consumer-container.ccc-3 {
    top: 75%!important;
}

/* move top & bottom row */
.netrequest-container,
.roof-container {
    margin-left: 160px!important;
}

/* special settings for extreme wide containers */
.body-zoomed--03 .hover-container .cloud-container {
    left: 80%;
}

/* set z-index of last 4 optional lines */
.leader-line:nth-last-child(-n + 4) {
    z-index: 250;
}

.bigger {
    scale: 1.5;
}

.bigger--special {
    scale: 1.2;
}

.container__content-main {
    max-width: 95%;
}

.descriptiontext-container.bigger .description-text {
    display: contents;
}

.descriptiontext-container.bigger .description-text__inner {
    padding: 20px;
}

/* icon settings */
.icon-default {
    fill: gray;
}

.icon-progress {
    fill: orange;
}

.icon-finish {
    /* color from CI colors from E360 */
    fill: rgb(52, 140, 60);
}

/* flowchart settings */
.flowchart-row {
    width: auto;
    max-width: max-content;
    flex: none;
    margin: 20px 0;
}

.flowchart-element {
    position: relative;
    display: inline-block;
    width: 240px;
    height: 150px;
    margin: 0 20px;
    text-align: center;
}

.flowchart-element--wide {
    width: 220px!important;
}

.flowchart-element--higher {
    width: 270px!important;
    height: 200px!important;
}

/* Special show case for roof container, that contains text inside the container */
.flowchart-element--extra {
    min-height: 350px!important;
}

.flowchart-element--extra-description {
    top: 160px!important;
}

.flowchart-element__title {
    min-height: 70px;
    padding-bottom: 10px!important;
    font-size: 18px;
}

.flowchart-element__title--bigger {
    font-size: 24px;
}

.flowchart-element__title--bigger-1,
.flowchart-element__title--bigger-2 {
    font-weight: bold;
    color: rgba(14, 65, 110, 1.0);
    -webkit-filter: drop-shadow(0.75px 1px 0.5px rgba(14, 65, 110, 1.0));
    filter: drop-shadow(0.5px 1px 0.5px rgba(14, 65, 110, 1.0));
}

.flowchart-element__title--extended {
    padding: 0 20px;
    white-space: pre-wrap;
    word-break: break-word;
}

.flowchart-element__icon {
    padding: 4px 0;
}

.flowchart-element__description {
    content: attr(data-text);
    position: absolute;

    /* positioning */
    top: 135%;
    z-index: 1;

    /* basic styles */
    width: 240px;
    padding: 10px;

    /* border: 1px solid black;
    border-radius: 10px; */
    background: transparent;
    color:black;
    text-align: center;

    /* hide by default */
    /* display: none; */
}

/* container settings */
.overlay-container {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    margin: 0 auto;
    z-index: 2;
    background-color: rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    cursor: pointer;
}

.overlay-container__icon {
    position: relative;
    top: calc(50% - 10px); /* 50% - 3/4 of icon height */

    display: inline-block;
    width: 100%;
    text-align: center;
}

.container--zoomed {
    position: static;
    transform: translate(-50%, -50%);

    transform: scale(1.5);
    transform-origin: 40% 20%;
}

.visible {
    top: 37.5%;
    left: 37.5%;
}

.projection-container,
.contract-init-container,
.netrequest-container,
.roof-container,
.electric-container,
.cloud-container,
.remote-care-container,
.insurance-container,
.cloud-consumer-container,
.system-ready-container,
.descriptiontext-container {
    position: relative;
    display: inline-block;
    margin: 0 40px;
    padding: 20px 0 10px 0;
    background-color: white;
    box-shadow: rgba(14, 65, 110, 1.0) 0px 1px 2px 0px, rgba(14, 65, 110, 1.0) 0px 1px 4px 0px;
    border-radius: 10px;
}

/* reset margin for some containers because of their position */
.projection-container {
    margin: 0 20px;
}

.roof-container {
    margin-right: 20px!important;
}

.electric-container,
.remote-care-container {
    margin-left: 0!important;
}

.descriptiontext-container {
    box-shadow: none!important;
}

.flowchart-element[data-id='6'] {
    margin-right: 30px;
}

.flowchart-element[data-id='7'] {
    margin-left: 30px;
}

.netrequest-container {
    padding-top: 0;
}

.contract-init-container .header,
.projection-container .header,
.netrequest-container .header,
.roof-container .header,
.electric-container .header,
.cloud-container .header,
.remote-care-container .header,
.insurance-container .header,
.cloud-consumer-container .header {
    position: absolute;
    top: -35px;
    z-index: 2;
    width: 100%;
    padding: 10px;
    font-size: 24px;
    text-align: center;
    background-color: transparent;
}

.contract-init-container .header__inner,
.projection-container .header__inner,
.netrequest-container .header__inner,
.roof-container .header__inner,
.electric-container .header__inner,
.cloud-container .header__inner,
.remote-care-container .header__inner,
.insurance-container .header__inner,
.cloud-consumer-container .header__inner {
    padding: 5px 10px;
    background-color: white;
    box-shadow: rgba(14, 65, 110, 0.2) 0px 2px 4px;
    border-radius: 10px;
}

/* special settings due to several invisible containers */
.cloud-container .flowchart-element.invisible,
.remote-care-container .flowchart-element.invisible {
    display: none;
}

.system-ready-container {
    margin-left: 100px;
    padding-bottom: 45px;
}

.cloud-container {
    margin-left: 100px!important;
    padding-top: 45px; /** ??? ### */
}

/* Adjustments of container margin due to zoom to be aligned accordingly */
/* Zoom factor 03 */
.body-zoomed--03 .cloud-container {
    margin-left: 103px!important;
}

.body-zoomed--03 .remote-care-container {
    margin-left: 12px!important;
}

.body-zoomed--03 .insurance-container {
    margin-left: 82px!important;
}

/* Zoom factor 05 */
.body-zoomed--05 .cloud-container {
    margin-left: 103px!important;
}

.body-zoomed--05 .remote-care-container {
    margin-left: 12px!important;
}

.body-zoomed--05 .insurance-container {
    margin-left: 82px!important;
}

.cloud-consumer-container.ccc-1 {
    margin-left: 1px;
}

.cloud-consumer-container.ccc-2 {
    /* margin-top: 200px; */
    margin-left: 1px;
}

.cloud-consumer-container.ccc-3 {
    /* margin-top: 120px; */
    margin-left: 60px;
}

.cloud-consumer-container.ccc-4 {
    margin-top: 40px;
    margin-left: 60px;
}

.cloud-consumer-container.ccc-5 {
    margin-top: 40px;
    margin-left: 60px;
}

.insurance-container {
    margin-left: 75px!important;
}

/* legend settings */
.legend {
    position: absolute;
    top: 150px;
    left: 275px;
}

.legend .legend-title {
    text-align: left;
    margin-bottom: 5px;
    font-weight: bold;
    font-size: 90%;
}

.legend .legend-scale ul {
    margin: 0;
    margin-bottom: 5px;
    padding: 0;
    float: left;
    list-style: none;
}

.legend .legend-scale ul li {
    font-size: 80%;
    list-style: none;
    margin-left: 0;
    line-height: 18px;
    margin-bottom: 2px;
}

.legend ul.legend-labels li span {
    display: block;
    float: left;
    height: 16px;
    width: 30px;
    margin-right: 5px;
    margin-left: 0;
    border: 1px solid #999;
}

.legend .legend-source {
    font-size: 70%;
    color: #999;
    clear: both;
}

.legend a {
    color: #777;
}

.tooltiptext__label,
.tooltiptext__data-label,
.legend__label,
.legend__data-label {
    line-height: 1.8;
    vertical-align: middle;
}

.tooltiptext__label,
.legend__label {
    display: inline-block;
    width: 174px;
}

.description-text {
    position: relative;
    width: 1750px;
}

.description-text__inner {
    display: inline-block;
    text-align: left!important;
}

.loading-screen {
    display: block;
    position: absolute;
    top: 0;
    left: 0;

    z-index: 300;

    width: 100%;
    height: 100%;

    background-color: rgba(0, 0, 0, 0.25);
    text-align: center;
}

.loading-screen span {
    position: absolute;
    top: 50%;
    margin: auto;
    line-height: 100%;
}

.loading-screen__text {
    margin-bottom: 36px;
    font-size: 68px;
}

.loading-spinner {
    .spinner_circle {
        animation: spinner 1.05s infinite;
    }

    .spinner_circle__inner {
        animation-delay: .1s;
    }

    .spinner_circle__outer {
        animation-delay: .2s;
    }

    @keyframes spinner {
        0%, 57.14% {
            animation-timing-function: cubic-bezier(0.33, .66, .66, 1);
            transform: translate(0);
        }

        28.57% {
            animation-timing-function: cubic-bezier(0.33, 0, .66, .33);
            transform: translateY(-6px);
        }
        
        100% {
            transform: translate(0);
        }
    }
}

.custom-alert {
    position: absolute;
    top: 0;
    width: 100%;
}

.javascript-missing-alert {
    position: absolute;
    z-index: 300;
    height: 100%;
    padding: 20px;
    background: rgba(0, 0, 0, 0.4);
    text-align: center;
    font-size: 48px;
}

.javascript-missing-alert__inner {
    padding: 50px 0;
    border-radius: 20px;
    background-color: #fff;
}
