/*
 
 POLYKUM DigiLab Web App v2
 provided by POLYKUM e.V.
 
 CSS style
 
 Author: Hendrik Bugdoll
 Copyright (c) 2018-2026 AppsolutEinfach UG (haftungsbeschraenkt), Germany.
 Copyright (c) 2026 Fraunhofer IMWS, Germany.
 
*/

html, body {
    height: 100%;
}

body {
    font-family: "Open Sans";
    
    padding-top: 50px;
    padding-bottom: 20px;
    
    /* disable text selection highlighting */
    /*-webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;*/
    
    /* background image */
    background-image: url('../images/Biopolymer_BG.svg');
    background-size: cover;
    /*background-size: auto 100%;
    background-repeat: no-repeat;
    background-position: left top;*/
    background-attachment: fixed;
}
@media (max-width: 767px) { /* smartphone */
    body {
        padding-top: 62px;
    }
}

.digilab-bottom-padding {
    padding-bottom: 50px;
}
@media (max-width: 767px) { /* smartphone */
    .digilab-bottom-padding {
        padding-bottom: 40px;
    }
}

.small-top-padding {
    padding-top: 4px !important;
}

.no-top-padding {
    padding-top: 0px !important;
}

.no-top-margin {
    margin-top: 0px !important;
    padding-top: 0px !important;
}

.no-bottom-margin {
    margin-bottom: 0px !important;
    padding-bottom: 0px !important;
}

.no-left-padding {
    padding-left: 0px !important;
}

.no-right-padding {
    padding-right: 0px !important;
}

.upper {
    text-transform: uppercase;
}



/* colors */

.digilab-color     { color: #1f5f5c; }
.bio-color         { color: #78BE1D; }
.text-color        { color: #333; }
.text-lightgray    { color: #CCC; }
.text-gray         { color: #AAA; }
.text-green        { color: green; }
.text-orange       { color: orange; }
.text-red          { color: #b92c28; }
.text-danger       { color: #b92c28; }

.bg-digilab-color  { background-color: #1f5f5c; }
.bg-bio-color      { background-color: #78BE1D; }
.bg-text-color     { background-color: #333; }
.bg-green          { background-color: #C4EFA7; }
.bg-orange         { background-color: #F7D694; }
.bg-red            { background-color: #FEB6B8; }
.bg-gray           { background-color: #AAA; }


h2 {
    font-size:  28px;
    margin-top: 18px;
}
hr.title {
    margin-top:    17px;
    margin-bottom: 12px;
}
@media (max-width: 767px) { /* smartphone */
    h2 {
        font-size:  22px;
        margin-top: 15px;
    }
    
    hr {
        margin-top:    15px;
        margin-bottom: 15px;
    }
    
    .center-xs {
        text-align: center;
    }
}


/* links */
a,
a:hover,
a:focus {
    text-decoration: none;
}

a > span.gray {
    color: #AAA;
}



/* no blue outline */
a:focus {
    outline: none;
}


/* text formatting */
.text-small {
    font-size: 75%;
}

div.top-margin,
p.top-margin,
h5.top-margin {
    margin-top: 30px;
}

p.small-bottom-margin {
    margin-bottom: 5px;
}

/* disable auto-zoom on input forms */
input[type=text],
input[type=number],
textarea {
    /*font-size: 16px;*/
    font-size: 14px;
}

#input-rgb {
    border: none;
    border-radius: 0px;
    box-shadow: none;
    background-color: #FFFFFF;
}

/* circled icons */
.digilab-icon {
  display: inline-block;
  margin-left:  1px;
  margin-right: 1px;
}

.icon-circled {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: white;
  border: 1px solid currentColor;
  width:         20px;
  height:        20px;
  border-radius: 20px;
}

.icon-circled-solid {
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  width:         20px;
  height:        20px;
  border-radius: 20px;
}

.icon-circled > i,
.icon-circled-solid > i {
  transform: scale(0.85);
}

.icon-carbon-footprint {
    position: relative;
}

.icon-carbon-footprint-text {
    position: absolute;
    top:  5px;
    left: 4px;
    font-size: 60%;
    font-weight: 500;
    color: white;
}


/* popovers */
.popover {
    font-family: "Open Sans";
    font-style: normal;
    color: #333; /* like normal text */
    -webkit-box-shadow: 0 3px 5px rgba(0,0,0,.1);
    box-shadow: 0 3px 5px rgba(0,0,0,.1);
    padding: 0px;
    max-width: 400px;
}

.popover.bottom .arrow::after {
    /* colored top arrow */
    border-bottom-color: #F7F7F7;
}

.fas.disabled,
.far.disabled {
    color: #ccc;
}

/* other */
.todo {
    color: red;
}

.red {
    color: red;
}

.text-lightbold {
    font-weight: 500;
}

.remove {
    color: red;
    text-decoration: line-through;
}

/*.close {
    line-height: 18px;
}*/

.bullet {
    margin-top: 4px;
    margin-bottom: -4px;
    margin-left: -1px;
    margin-right: 0px;
}
@media (min-width: 768px) {
    .bullet {
        margin-top: 4px;
        margin-bottom: -4px;
        margin-left: 4px;
        margin-right: 4px;
    }
}

.front-logo {
    height: 75px;
}


/* navbar */

.navbar-default .navbar-nav>li>a {
    font-size: 110%;
}
@media (max-width: 767px) { /* smartphone */
    .navbar-nav>li>a {
        padding: 10px 12px;
    }
}

.navbar-nav {
    margin: 0px !important;
}

.navbar {
    min-height: 40px !important;
}


.navbar-brand-logo {
    width:  55px;
    height: 20px;
}
@media (min-width: 768px) {
    .navbar-brand-logo {
        width:  100px;
        height: 36px;
    }
}

.navbar-brand {
    margin-top:    -4px;
    margin-bottom: -6px;
    margin-left:   -16px;
    margin-right:  -4px;
}
@media (min-width: 768px) { /* tablet */
    .navbar-brand {
        margin-top:   -8px;
        margin-bottom: 0px;
        margin-left:  -3px;
        margin-right:  0px;
    }
}

.navbar-brand-text {
    margin-top:    -5px;
    margin-bottom: -5px;
    margin-left:  -18px !important;
}
@media (min-width: 768px) { /* tablet */
    .navbar-brand-text {
        margin-top:    0px;
        margin-bottom: 0px;
        margin-left: -20px !important;
    }
}

@media (max-width: 767px) { /* smartphone */
    .navbar-text {
        margin-top: 10px;
        margin-bottom: 10px;
    }
}

/* no navbar collapse */
.navbar-collapse.collapse {
    display: block !important;
}

.navbar-nav>li, .navbar-nav {
    float: left !important;
}

.navbar-nav.navbar-right:last-child {
    /*margin-right: -15px !important;*/
}

.navbar-right {
    float: right !important;
}

.navbar-flag {
    width:  24px;
    height: 14px;
    margin-bottom: 2px;
}

@media (max-width: 767px) { /* smartphone */
    /* restore original layout */
    .navbar-nav .open .dropdown-menu {
        position: absolute;
        float: left;
        background-color: #fff;
        border: 1px solid rgba(0,0,0,.15);
        border-radius: 4px;
        -webkit-box-shadow: 0 6px 12px rgba(0,0,0,.175);
        box-shadow: 0 6px 12px rgba(0,0,0,.175)
    }
    .navbar-right .dropdown-menu {
        right: 0;
        left: auto;
    }
    .navbar-default .navbar-nav .open .dropdown-menu>li>a {
        color: #333;
    }
}

@media (max-width: 767px) { /* smartphone */
    .caret {
        margin-right: -10px;
    }
}


.text-teaser {
    color: #183854;
}

a.disabled,
a.disabled:hover,
a.disabled:active {
    color: #AAA;
    cursor: default;
}




/* footer */
.footer {
    margin-top:    20px;
    margin-bottom: 20px;
    color: #111;
}
.footer > a {
    color: #22527a;
}
.footer > a:hover {
    color: #183854;
}
@media (max-width: 767px) { /* smartphone */
    .footer {
        font-size: 75%; /* like text-small */
        margin-top:    10px;
        margin-bottom: 10px;
    }
}


/* loading indicator */
.glyphicon-spin {
    -webkit-animation: spin 1500ms infinite linear;
    animation: spin 1500ms infinite linear;
}
@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg);
    }
}
@keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg);
    }
}

.digilab-slider {
    width: 100% !important;
}

@media (max-width: 1024px) { /* small tablet */
    #components-table .slider-horizontal {
        width: 150px !important;
    }
}
@media (max-width: 375px) { /* smartphone */
    .slider-horizontal {
        width: 200px !important;
    }
    #components-table .slider-horizontal {
        width: 140px !important;
    }
}
@media (max-width: 320px) { /* smartphone */
    .slider-horizontal {
        width: 170px !important;
    }
    #components-table .slider-horizontal {
        width: 120px !important;
    }
}

@media (max-width: 1024px) { /* small tablet */
    #prediction-table .slider-horizontal {
        width: 140px !important;
    }
}
@media (max-width: 375px) { /* smartphone */
    .slider-horizontal {
        width: 200px !important;
    }
    #prediction-table .slider-horizontal {
        width: 200px !important;
    }
}
@media (max-width: 320px) { /* smartphone */
    .slider-horizontal {
        width: 170px !important;
    }
    #prediction-table .slider-horizontal {
        width: 170px !important;
    }
}


.digilab-slider .slider-selection {
    background: #92c4ef;
}

.slider-tick-label {
    color: #AAA;
}

@media (max-width: 767px) { /* smartphone */
    .slider-horizontal {
        margin-top: 3px;
    }
}

/* fix slider's height problem when re-layout doesn't work */
#prediction-options-table-rows .slider {
    margin-bottom: 0px !important;
}
@media (max-width: 767px) { /* smartphone */
    #prediction-options-table-rows .slider {
        margin-bottom: 35px !important;
    }
}

#prediction-options-table-rows .digilab-input {
    margin-top: 12px !important;
}

.table > tbody > tr > td {
    vertical-align: middle;
}

.table > tbody > tr > td.text-top {
    vertical-align: top;
}


.digilab-white-rounded {
    background: white;
    border-radius: 20px;
    padding: 0px 20px;
}
.digilab-top-row-margin {
    margin-top: 22px;
}
.digilab-bottom-row-margin {
    margin-bottom: 22px;
}

@media (max-width: 767px) { /* smartphone */
    .digilab-white-rounded {
        margin-left:  -7px;
        margin-right: -7px;
        padding: 0px 14px;
    }
    .digilab-top-row-margin {
        margin-top: -10px;
    }
    .digilab-bottom-row-margin {
        margin-bottom: 12px;
    }
}

@media (min-width: 768px) { /* tablet */
    .vcenter {
        display: flex;
        align-items: center;
    }
}


.hidden-row-cell {
    border-top:     none !important;
    padding-top:    0px !important;
    padding-bottom: 0px !important;
}

.hidden-row-cell .result-details {
    line-height: 1.8em;
    padding-left:  10px;
    padding-bottom: 8px;
}
@media (max-width: 767px) { /* smartphone */
    .hidden-row-cell .result-details {
        padding-top:  5px;
        padding-left: 0px;
    }
}

.hidden-row-cell .result-links {
    display: flex;
    flex-direction: row;
}
@media (max-width: 767px) { /* smartphone */
    .hidden-row-cell .result-links {
        flex-direction: column;
    }
}
@media (min-width: 768px) { /* tablet */
    /* not supported by Safari 13.x and 14.0 */
    /*.hidden-row-cell .result-links {
        gap: 20px;
    }*/
    .hidden-row-cell .result-links a {
        margin-right: 20px;
    }
}

.prediction-results-row-cell {
    border-top:     none !important;
    padding-top:    0px !important;
}

.no-top-border {
    border-top:     none !important;
}

.no-bottom-border {
    border-bottom:  none !important;
}

.table {
    margin-bottom: 8px;
}
@media (max-width: 767px) { /* smartphone */
    .table {
        margin-bottom: 3px;
    }
}

@media (max-width: 767px) { /* smartphone */
    .digilab-left-cell {
        padding-left: 0px !important;
    }
    .digilab-right-cell {
        padding-right: 0px !important;
    }
}

.bottom-padding {
    padding-bottom: 8px;
}

.left-padding {
    padding-left:  10px;
}


label,
th {
    font-weight: 500; /* lighter than default */
}

tr.digilab-searchoption-row {
    /* height: 65px; fix slider size problem */
}

tr.disabled td:not(.action-buttons) {
    opacity: 0.5;
}


/*
.filter-item-all {
    display: inline-block;
    vertical-align: middle;
}

.filter-item {
    display: inline-block;
    vertical-align: middle;
    margin-left:  15px;
    padding-left: 15px;
}

.filter-item-boder {
    border-left:  1px solid #DDD;
}

.filter-col1 {
    width: 175px;
}

.filter-col2 {
    width: 230px;
}

.filter-left-padding {
    padding-left: 12px !important;
}
*/

#filter-table-horline {
    margin-top:    15px;
    margin-bottom: 15px;
}


@media (min-width: 768px) { /* tablet */
    .prediction-col-1 {
        width: 40px;
    }
    .prediction-col-2 {
        width: 210px;
    }
    .prediction-col-3 {
        width: 120px;
    }
    .prediction-col-4 {
        width: 230px;
    }
}
@media (min-width: 1200px) { /* xl */
    .prediction-col-1 {
        width: 40px;
    }
    .prediction-col-2 {
        width: 260px;
    }
    .prediction-col-3 {
        width: 160px;
    }
    .prediction-col-4 {
        width: 240px;
    }
}

.comment-span {
    display: inline-block;
    line-height: 14pt !important;
}

.symbol-span {
    display: inline-block;
    width: 40px !important;
}

.symbol-span .digilab-icon {
    margin-left: -1px !important;
}

.progress {
    border-radius: 0px; /* override */
}

.components-span-loading,
.values-span-loading {
    display: inline-block;
    width:   90px;
    margin-right: 10px;
}
@media (max-width: 767px) { /* smartphone */
    .components-span-loading,
    .values-span-loading {
        margin-right: 6px;
    }
}

.digilab-components,
.digilab-values {
    display: inline-block;
    width:   90px;
    height:  10px;
    margin-bottom: 0px !important;
    margin-right: 10px;
}
@media (max-width: 767px) { /* smartphone */
    .digilab-components,
    .digilab-values {
        margin-right: 6px;
    }
}

.digilab-values {
    overflow: visible; /* for overlapping children */
}

.digilab-component,
.digilab-value {
    background-image:none;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.digilab-value {
    width: 100%;
    position: relative;
}

.digilab-component1 {
    background-color: #f4b66c; /* orange */
}

.digilab-component2 {
    background-color: #fbf28c; /* yellow */
}

.digilab-component3 {
    background-color: #e7736f; /* red */
}

.digilab-component4 {
    background-color: #9fc0d0; /* blue */
}

.digilab-component5 {
    background-color: #79a647; /* green */
}

.digilab-component6 {
    background-color: #b7b60c; /* dark yellow */
}

.digilab-component7 {
    background-color: #02456f; /* dark blue */
}

.digilab-mixing-ratio {
    display: inline-block;
    width: 90px;
    text-align: center;
}


.digilab-diagram-bg {
    background-color: #eaeaea;
    z-index: 1;
}

.digilab-diagram-interval {
    background-color: #9ec6e8;
    z-index: 1;
}

.digilab-value-line {
    position: relative;
    top:    -5px; /* overlapping */
    height: 20px;
    width:   2px;
    background-color: #3172ad;
    z-index: 2;
}

.digilab-value-interval {
    position: relative;
    top:    -5px; /* overlapping */
    height: 20px;
    /*background-color: #3172ad33;*/
    border-left:  2px #3172ad solid;
    border-right: 2px #3172ad solid;
    z-index: 2;
}
.digilab-value-interval::after {
    content: '';
    position: absolute;
    border-bottom: 2px #3172ad solid;
    height: 100%;
    width:  100%;
    left:   0px;
    transform: translateY(-48%); /* vertical middle */
}

.digilab-ol,
.digilab-ul {
    padding-left: 20px;
    margin-bottom: 0px
}

/* custom radio buttons and checkboxes (use of Font Awesome */

input[type=radio].with-font ~ label,
input[type=checkbox].with-font ~ label {
    margin-bottom: 0px;
    font-weight: 400;
}

input[type=radio].with-font,
input[type=checkbox].with-font {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

input[type=radio].with-font ~ label::before,
input[type=checkbox].with-font ~ label::before {
    font-family: 'Font Awesome 5 Free Regular';
    display: inline-block;
    content: "\f111";
    letter-spacing: 10px;
    font-size: 1.2em;
    color: #337ab7;
    width: 1.4em;
}

input[type=radio].with-font:checked ~ label::before,
input[type=checkbox].with-font:checked ~ label::before {
    font-size: 1.2em;
    color: #337ab7;
    letter-spacing: 5px;
}

input[type=radio].with-font:checked ~ label::before {
    font-family: 'Font Awesome 5 Free'; /* Solid */
    content: "\f192";
}

input[type=checkbox].with-font:checked ~ label::before {
    font-family: 'Font Awesome 5 Free'; /* Solid */
    content: "\f058";
}

input[type=radio].with-font:hover ~ label::before,
input[type=radio].with-font:focus ~ label::before,
input[type=checkbox].with-font:hover ~ label::before,
input[type=checkbox].with-font:focus ~ label::before,
input[type=radio].with-font:hover ~ label,
input[type=radio].with-font:focus ~ label,
input[type=checkbox].with-font:hover ~ label,
input[type=checkbox].with-font:focus ~ label
{
    color: #23527c;
}

input[type=radio].with-font:disabled ~ label::before,
input[type=checkbox].with-font:disabled ~ label::before,
input[type=radio].with-font:disabled ~ label,
input[type=checkbox].with-font:disabled ~ label
{
    color: #ccc;
}



.digilab-input {
    display: inline-block;
    width:  70px;
    height: auto;
    border-width: 1px;
    font-size: 14px;
    padding: 4px;
}


.modal-footer {
    text-align: left;
}
@media (min-width: 768px) { /* tablet */
    .modal-footer {
        /*line-height: 34px;*/
    }
}

.modal-fullscreen {
    margin: 0;
    margin-top: 50px; /* height of navbar */
    display: block; /* show */
}


@media (max-width: 767px) { /* smartphone */
    #outdated-warning {
        margin-top: 0px;
    }
}

.alert-danger,
.alert-warning,
.alert-success {
    background-image: none;
}

.alert:not(.alert-sticky) {
    border-radius: 6px;
    border: none;
}

.alert-sticky {
    position: fixed;
    left:  0px;
    width: 100%;
    border-radius: 0px; /* remove rounded corners */
    border-left: none;
    border-right: none;
    border-top: none;
    z-index: 99;
}

.digilab-subheading-top-margin {
    margin-top: 20px;
}

.digilab-app-logo {
    width:  100px;
    height: 100px;
    margin-right: 10px;
    margin-top:    5px;
}
.digilab-start-logo {
    padding: 25px 50px 5px 50px;
}
@media (max-width: 767px) { /* smartphone */
    .digilab-app-logo {
        width:  80px;
        height: 80px;
        margin-right: 10px;
        margin-top:    4px;
    }
    .digilab-start-logo {
        /*padding: 15px 25px 0px 25px;*/
        padding: 15px 0px 0px 25px
    }
}

/* bootstrap-slider overflow fix on smartphone */
@media (max-width: 767px) { /* smartphone */
    .slider-tick-label-container {
        overflow-x: hidden !important;
        margin-right: -50px !important;
    }
}

.badge {
    vertical-align: text-bottom !important;
}

h1 .badge,
h2 .badge,
h3 .badge,
h4 .badge,
h5 .badge {
    vertical-align: middle !important;
}

.digilab-badge {
    background-color: #E00;
    font-weight: 500;
    margin-bottom: 2px;
    margin-left: 2px;
    padding: 2px 6px;
}

.button-icon {
    display: inline-block;
    width: 18px;
}

.bluedot {
    height: 10px;
    width:  10px;
    background-color: #00AAFC;
    border-radius: 50%;
    display: inline-block;
}

.bluedot-col {
    width:  20px;
}

.datetime-col {
    width:  155px;
}

tr.vertical-align-middle > td {
    vertical-align: middle !important;
}

tr.vertical-align-middle > td > .text-small {
    font-size: 75%;
    line-height: 15px !important;
}

.button-space {
    margin-left: 15px !important;
}

.link-space {
    margin-left: 10px;
}

.table-filter-group {
    width: 30%;
}
@media (max-width: 767px) { /* smartphone */
    .table-filter-group {
        width: 100%;
    }
}

.table-filter {
    padding-right: 2px; /* for searchfield-cancel-button */
}

input[type=search]::-webkit-search-cancel-button {
    -webkit-appearance: searchfield-cancel-button; /* reset to default */
}

.col-filter-thead-row th {
    padding: 0px 5px 8px 5px !important;
    border-top: none !important;
}

.col-filter-group .input-group-addon,
.table-filter-group .input-group-addon {
    padding: 6px 3px;
}

.col-filter-group input,
.table-filter-group input {
    padding-left: 6px;
    font-weight: 400 !important;
}

/* modal dialog title */
.modal-title {
    height: 34px;
    line-height: 34px;
}

.modal-title h4 {
    vertical-align: middle;
    margin-top:    0px;
    margin-bottom: 0px;
    line-height: 34px;
}

.modal-title button {
    vertical-align: middle;
}

.has-feedback .form-control {
    /*padding-right: 12px !important;*/
    padding-right: 0px !important;
}

.digilab-input:disabled,
input[type=text]:disabled {
    background-color: #f5f5f5; /* lighter */
}

/* fractions */
.frac {
    display: inline-block;
    position: relative;
    vertical-align: middle;
    letter-spacing: 0.001em;
    text-align: center;
    font-size: 90%;
    margin-top:    -8px;
    margin-bottom: -5px;
}
.frac > span.nom {
    display: block;
    padding: 0.1em;
    border-bottom: thin solid black; /* if nom is wider than denom */
}
.frac span.denom {
    border-top: thin solid black; /* if denom is wider than nom */
}


#search-options-table-rows .form-group,
#prediction-options-table-rows .form-group {
    margin-bottom: 0px;
}

#components-table .form-group,
.device-data-import .form-group {
    margin-top:    4px;
    margin-bottom: 1px;
}

#material-properties-import .form-group {
    margin-top:    5px;
    margin-bottom: 1px;
}

.help-block {
    margin-top:    4px;
    margin-bottom: 0px;
}

.device-data-import .help-block {
    margin-top:    1px;
    margin-bottom: 0px;
}

.help-block ul {
    margin-bottom: 0px;
}

@media (max-width: 767px) { /* smartphone */
    #current-state {
        width: 100%;
    }
    #dataset-activate-button {
        float: left !important;
        margin-left: 0px;
    }
    #dataset-deactivate-button {
        float: left !important;
        margin-left: 0px;
    }
}

/* modal dialogs */
.modal-device-dialog,
.modal-dataset-dialog {
    width: 1000px;
    /*max-width: 90%;*/
    max-width: 85%;
    margin-top: 15px;
}
.modal-privacy-dialog {
    width: 1050px;
    max-width: 90%;
    margin-top: 15px;
}
@media (max-width: 767px) { /* smartphone */
    .modal-device-dialog,
    .modal-dataset-dialog,
    .modal-privacy-dialog {
        max-width: 95%;
        margin-top: 10px;
    }
}

#dialog-howto b {
    font-weight: 500;
}

.digilab-title-muted {
    color: #777; /* muted */
    background-color: #FAFAFA;
    font-size: 12px !important;
    font-weight: 500;
    padding: 4px !important;
    border-bottom: 1px solid #DDD;
}

.flex-logo-container {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    margin-top:    15px;
    margin-bottom: 25px;
    text-align: center;
}
.flex-logo-item {
    margin-top:    5px;
    margin-bottom: 5px;
    flex: 20%;
}
@media (max-width: 767px) { /* smartphone */
    .flex-logo-container {
        flex-wrap: wrap;
    }
    .flex-logo-item {
        flex: 100%;
    }
}

.flex-eco-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin-top:     5px;
    margin-bottom: 15px;
}

.flex-eco-item {
    flex: 33.33%;
    padding-left:  15px;
    padding-right: 15px;
}

@media (max-width: 767px) { /* smartphone */
    .flex-eco-item {
        flex: 100%;
        padding-left:  15px;
        padding-right: 15px;
    }
    .flex-eco-container :nth-child(4),
    .flex-eco-container :nth-child(7) {
        margin-top: 8px;
    }
}

/* radar chart */
#radar-chart {
    height: 460px; /* fix problem after sliding up */
}

/* fix for Chrome (double underline) */
abbr {
   text-decoration: none;
}

/* icon overlay */
.image-container {
    position: relative;
    width:  100%;
    margin-top:    15px;
    margin-bottom: 20px;
}

.image-container .image {
    width:  100%;
}

.image-container .overlay {
    position: absolute;
    top:    0;
    bottom: 0;
    left:   0;
    right:  0;
    height: 100%;
    width:  100%;
}
.image-container:hover .overlay {
    display: block;
    background: rgba(0, 0, 0, 0.6);
}

.image-container .overlay .overlay-content {
    color: white;
    position: absolute;
    /* centering */
    top:  50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

/* maintenance mode */
.maintenance-container {
    padding: 60px 20px;
    line-height: 1.2;
}
.maintenance-container h2 {
    line-height: 1.3;
}
.maintenance-container p {
    line-height: 1.75;
}

.maintenance-white-rounded {
    max-width: 400px;
    margin: auto;
    padding: 15px;
    background: white;
    border-radius: 20px;
}

.maintenance-brand-logo {
    width: 100px;
    height: 36px;
}

.maintenance-spinner {
    margin-top:    15px;
    margin-bottom: 20px;
}
