@font-face {
  font-family: "Source Sans 3";
  src: url("/vendor/fonts/SourceSans3-VariableFont_wght.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* ALLGEMEIN */

body {

    font-family: 'Source Sans 3', sans-serif;

    margin: 0;
    padding: 0;

    background: url(../rsc/ela_background.jpg) no-repeat center center fixed;
    -webkit-background-size: contain;
    -moz-background-size: contain;
    -o-background-size: contain;
    background-size: contain;

}

b {
    font-weight: 900;
}

a {
    text-decoration: none;
    color: black;
}

a:visited {
    color: black;
}

a:hover {
    cursor: pointer;
    font-weight: bold;
}

.clear {
    clear: both;
}

/* INDEX */

.notificationErrorBox {
    width: 30%;
    height: fit-content;
    border: 1px solid #006e9f;
    border-radius: 5px;
    background-color: white;
    text-align: center;
    
    top: 20%;
    left: 50%;
    
    margin-left: -15%;
    margin-top: -50px;

    padding: 10px;
    
    position: absolute;
    
    font-size: 15px;
}

#notification {
    border: 1px solid #006e9f;
}

#error {
    border: 1px solid red;
}

.container {
    text-align: center;
    align-items: center;
    vertical-align: middle;
    align-content: center;

    position: absolute;

    height: 320px;
    width: 350px;

    top: 50%;
    left: 50%;

    margin-top: -160px;
    margin-left: -175px;

    background-color: rgba(255, 255, 255, 0.8);
    border: 1px solid black;
    border-radius: 20px;
}

.input {
    margin-top: 10px;
    padding-left: 10px;
    width: 200px;
    height: 30px;
}

#inputSubmit, 
#aPSubmit, 
#addSupplierProductSubmit,
#myBtn,
#searchBtn,
#searchBtn2,
.inputSubmit {
    background-color: #006e9f;
    border: none;
    border-radius: 5px;
    color: white;
    padding: 15px 32px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    transition: all 0.5s;
    cursor: pointer;
}

#inputSubmit span, 
#aPSubmit span, 
#addSupplierProductSubmit span,
#myBtn span,
#searchBtn span,
#searchBtn2 span,
.inputSubmit span {
    cursor: pointer;
    display: inline-block;
    position: relative;
    transition: 0.5s;
}

#inputSubmit span:after, 
#aPSubmit span:after, 
#addSupplierProductSubmit span:after,
#myBtn span:after,
#searchBtn span:after,
#searchBtn2 span:after,
.inputSubmit span:after {
    content: '\00bb';
    position: absolute;
    opacity: 0;
    top: 0;
    right: -20px;
    transition: 0.5s;
}

#inputSubmit:hover span, 
#aPSubmit:hover span, 
#addSupplierProductSubmit:hover span,
#myBtn:hover span,
#searchBtn:hover span,
#searchBtn2:hover span,
.inputSubmit:hover span {
    padding-right: 25px;
}

#inputSubmit:hover span:after, 
#aPSubmit:hover span:after, 
#addSupplierProductSubmit:hover span:after,
#myBtn:hover span:after,
#searchBtn:hover span:after,
#searchBtn2:hover span:after,
.inputSubmit:hover span:after {
    opacity: 1;
    right: 0;
}

/* ----- ELAPORT ----- */

/* navbar */

#navbar ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background-color: #333;
    height: 46px;

    position: fixed;
    top: 0;
    width: 100%;
    z-index: 10;
}
#navbar li {
    float: left;
    height: 46px;
}
#navbar li a:not(#mainLogo) {
    display: flex;
    align-items: center;
    color: white;
    text-align: center;
    height: 46px;
    padding: 0 16px;
    text-decoration: none;
    box-sizing: border-box;
}

#mainLogo {
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0 16px;
    text-decoration: none;
    background-color: white;
    box-sizing: border-box;
}
#mainLogo img {
    display: block;
}
#mainLogo:hover {
    background-color: #e6e6e6;
}

#navbar li a:hover:not(#mainLogo):not(#logOutBtn) {
    background-color: #111;
}

#navbar li a.activeNavbarItem {
    background-color: #006e9f;
}

#logOutForm {
    margin: 0;
    height: 46px;
}

#logOutBtn {
    display: block;
    background: none;
    border: none;

    margin: 0;
    height: 46px;
    padding: 0 16px;

    color: white;
    background-color: #009de0;
    font: inherit;
    box-sizing: border-box;
}
#logOutBtn:hover {
    cursor: pointer;
    background-color: #006e9f;
}

#userNav, #suppliers {
    border-right: 1px solid white;
}
#userNav {
    border-left: 1px solid white;
}

#userNav a {
    gap: 4px;
}

#notiIcon {
    position: relative;
    padding-left: 10px;
}

/* DASHBOARD */

/* feed */

#feed {
    width: 60%;
    float: left;
    margin-left: 3%;
}

#addFeed {
    width: 90%;
    background-color: white;
    border: 1px solid black;
    border-radius: 10px;
    margin: 0 auto;
    margin-bottom: 50px;
}
#addFeedCC {
    height: 30px;
    width: 25%;
    float: left;
    margin-top: 10px;
    margin-left: 5%; 
}
#addFeedV {
    height: 25px;
    float: right;
    margin-top: 15px;
    margin-right: 5%;
    background: white;
    border: 1px solid #B2B2B2;
    border-radius: 5px;
}
#addFeedCC:hover, #addFeedV:hover {
    cursor: pointer;
    border: 2px solid black;
}
#feedSearchSup {
    float: right;
    margin-right: 5%;
    margin-top: 10px;
    height: 30px;
    width: 25%;
    display: none;
}
#feedSearchVal, #feedSearchVal2 {
    float: right;
    height: 30px;
    width: 25%;
    margin-right: 10px;
    margin-top: 10px;
    display: none;
    background-color: white;
    font-size: 10px;
}
#feedSearchVal:hover, #feedSearchVal2:hover {
    font-weight: bold;
    cursor: pointer;
    border: 2px solid black;
}
#addFeedTA {
    width: 90%;
    border: none;
    margin: 10px auto;
    font-size: 18px;
    box-sizing: border-box;
    padding: 10px;
    border: 1px solid #B2B2B2;
    border-radius: 5px;
}
#addFeedTA:focus {
    border: none;
}
#addFeedPost {
    float: right;
    margin-right: 5%;
    margin-bottom: 10px;
    font-size: 14px;
}

#feedSort {
    height: 30px;
    width: 25%;
    float: right;
    margin-right: 5%;
}

.feedEntry {
    width: 90%;
    background-color: white;
    border: 1px solid black;
    border-radius: 10px;
    margin: 0 auto;
    margin-bottom: 30px;
    text-align: left;
}
.feedCat {
    position: relative;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-left: 5%;
    border-bottom: 1px solid gray;
    border-top-left-radius: 9px;
    border-top-right-radius: 9px;
    color: white;
}
.feedDelete {
    float: right;
    margin-right: 5%;
    padding: 3px;
    background-color: white;
    border-radius: 4px;
}
.feedDelete:hover {
    border-bottom: 3px solid #006e9f;
}
.feedDone {
    background-color: #006e9f;
    border: none;
    border-radius: 5px;
    color: white;
    padding: 5px 10px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    cursor: pointer;
}
.feedDone:hover {
    font-weight: bold;
}

.feedCon {
    margin-top: 5px;
    margin-left: 5%;
    width: 90%;
    margin-top: 20px;
    margin-bottom: 20px;
}
.feedEntryLink, .feedEntryLink:visited {
    color: #006e9f;
}
.feedFooterUser {
    float: left;
    margin-left: 5%;
    margin-bottom: 10px;
}
.feedFooterDate {
    float: right;
    margin-right: 5%;
}

/* statistics */

#statistics {
    width: 30%;
    margin-left: 3%;
    float: left;
    background-color: rgba(255, 255, 255, 0.8);
}

.statsGeneral {
    width: 90%;
    margin: 0 auto;
}
.statsGeneral b {
    color: #006e9f;
    font-size: 30px;
}

#statsSuppliers {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100px;
}
#statsSuppliers p {
    font-size: 40px;
}
#statsSuppliers b {
    font-size: 50px;
    margin-right: 20px;
}

#statsCountries {
    margin-bottom: 50px;
}
.statsFlags {
    height: 20px;
    border-radius: 3px;
    margin: 2px;
    border: 1px solid black;
}

#statsLists p {
    text-align: left;
    margin-left: 30%;
}

/* content, tableDiv and searching */

#content {
    width: 100%;
    margin-top: 70px;
    margin-bottom: 100px;
}

#tableDiv {
    width: 75%;
    margin-right: 2%;
    padding-top: 30px;
    padding-bottom: 30px;
    float: right;

    text-align: center;
    align-items: center;
    vertical-align: middle;
    align-content: center;

    background-color: rgba(255, 255, 255, 0.8);
    border: 1px solid black;
    border-radius: 20px;
}

#searching {
    width: 20%;
    margin-left: 2%;
    margin-bottom: 100px;
    padding: 0 0 22px 0;
    float: left;

    text-align: left;

    background-color: rgba(255, 255, 255, 0.92);
    border: 1px solid #b8c6cf;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    overflow: hidden;
}

.quickNavPanel {
    box-sizing: border-box;
    width: 20%;
    margin-left: 2%;
    margin-bottom: 100px;
    padding: 0 0 14px 0;
    float: left;
    text-align: left;
    border: 1px solid #c8d6de;
    border-radius: 8px;
    background-color: rgba(255, 255, 255, 0.95);
    box-shadow: 0 6px 16px rgba(23, 47, 61, 0.07);
    overflow: hidden;
}

.quickNavHeader {
    padding: 14px 16px 12px 16px;
    border-bottom: 1px solid #d6e0e7;
    background-color: #f7fafc;
}

.quickNavHeader h2 {
    margin: 0;
    color: #15384d;
    font-size: 20px;
    line-height: 1.15;
}

.quickNavList {
    display: grid;
    gap: 8px;
    padding: 12px;
}

.quickNavButton {
    display: flex;
    align-items: center;
    min-height: 46px;
    padding: 0 12px;
    border: 1px solid #c8d6de;
    border-radius: 6px;
    background-color: #edf3f7;
    color: #15384d;
    font-weight: 900;
    box-sizing: border-box;
    transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}

.quickNavButton:hover {
    border-color: #8fb1c5;
    background-color: #dfeaf1;
    color: #006e9f;
}

.quickNavButton.quickNavPrimary {
    min-height: 58px;
    border-color: #FC8500;
    background-color: #FC8500;
    color: #fff;
}

.quickNavButton.quickNavPrimary:hover {
    background-color: #e97800;
    color: #fff;
}

.quickNavButton.quickNavMap {
    border-color: #009de0;
    background-color: #009de0;
    color: #fff;
}

.quickNavButton.quickNavMap:hover {
    background-color: #006e9f;
    color: #fff;
}

#users {
    text-align: left;
    width: 90%;
    margin-left: 5%;
}

#nofi {
    box-sizing: border-box;
    width: 94%;
    margin: 0 auto;
}

.success,
.failed {
    box-sizing: border-box;
    max-width: 920px;
    margin: 0 auto 18px auto;
    padding: 15px 18px;
    border: 1px solid;
    border-left-width: 7px;
    border-radius: 8px;
    text-align: left;
    color: #172f3d;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 700;
    box-shadow: 0 12px 28px rgba(21, 56, 77, 0.18);
}

.success {
    border-color: #7fb895;
    border-left-color: #168044;
    background-color: #e4f5ea;
}

.failed {
    border-color: #df9388;
    border-left-color: #bd2f18;
    background-color: #ffe7e3;
}

.success p,
.failed p {
    margin: 0;
}

.success br,
.failed br {
    display: none;
}

.success b,
.failed b {
    color: #15384d;
}

.success u,
.failed u {
    display: inline-block;
    padding: 1px 6px;
    border-radius: 4px;
    background-color: rgba(255, 255, 255, 0.75);
    color: #15384d;
    font-weight: 900;
    text-decoration: none;
}

.userDelete {
    text-decoration: none;
    font-weight: 400;
    color: black;
}

.userDelete:hover {
    color: darkred;
    font-weight: 900;
}

.userRegistryPanel {
    box-sizing: border-box;
    width: 20%;
    margin-left: 2%;
    margin-bottom: 100px;
    padding: 0 0 14px 0;
    float: left;
    text-align: left;
    border: 1px solid #c8d6de;
    border-radius: 8px;
    background-color: rgba(255, 255, 255, 0.95);
    box-shadow: 0 6px 16px rgba(23, 47, 61, 0.07);
    overflow: hidden;
}

.userRegistryHeader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px 12px 16px;
    border-bottom: 1px solid #d6e0e7;
    background-color: #f7fafc;
}

.userRegistryHeader h2 {
    margin: 0;
    color: #15384d;
    font-size: 20px;
    line-height: 1.15;
}

.userRegistryCount {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 28px;
    padding: 0 8px;
    border-radius: 999px;
    background-color: #006e9f;
    color: #fff;
    font-weight: 900;
}

.userRegistryList {
    display: grid;
    gap: 0;
    padding: 6px 12px 0 12px;
}

.userRegistryRow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 4px;
    border-bottom: 1px solid #dce6ec;
    color: #172f3d;
}

.userRegistryRow:last-child {
    border-bottom: 0;
}

.userRegistryRow:hover {
    color: #006e9f;
    font-weight: 900;
}

.userRegistryName {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.userRegistryName small {
    color: #607684;
    font-size: 12px;
    font-weight: 700;
}

.userRegistryBadge {
    flex: 0 0 auto;
    padding: 3px 7px;
    border: 1px solid #c8d6de;
    border-radius: 999px;
    background-color: #eef4f7;
    color: #324d5d;
    font-size: 12px;
    font-weight: 900;
}

.backButton {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 10px;
    border: 1px solid #c8d6de;
    border-radius: 6px;
    background-color: #ffffff;
    color: #006e9f;
    font-weight: 900;
    text-decoration: none;
    white-space: nowrap;
}

.backButton:hover {
    border-color: #9fc2d2;
    color: #009de0;
    cursor: pointer;
}

.sIcon {
    display: table-cell;
}

#imglink:hover img {
    -webkit-filter: contrast(0.1);
    filter: contrast(0.1);
}

.pagesLink:hover {
    font-weight: bold;
}

/* searching */

.searchPanelHeader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 16px 12px 16px;
    background-color: #f7fafc;
    border-bottom: 1px solid #d6e0e7;
}

.searchPanelHeader h2 {
    margin: 0;
    color: #15384d;
    font-size: 24px;
}

.searchReset,
.searchInlineAction {
    color: #006e9f;
    font-size: 13px;
    font-weight: 700;
}

.searchReset:hover,
.searchInlineAction:hover {
    color: #009de0;
    cursor: pointer;
}

.tab.searchTabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    padding: 12px;
    border: 0;
    background-color: transparent;
    overflow: visible;
}

.tab.searchTabs button.searchTabButton {
    float: none;
    width: 100%;
    min-height: 38px;
    padding: 8px 6px;
    border: 1px solid #c4d1da;
    border-radius: 6px;
    background-color: #edf3f7;
    color: #294657;
    font-size: 13px;
    line-height: 1.1;
    transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}

.tab.searchTabs button.searchTabButton:hover {
    background-color: #dfeaf1;
    border-color: #8fb1c5;
}

.tab.searchTabs button.searchTabButton.active {
    background-color: #006e9f;
    border-color: #006e9f;
    color: white;
}

.searchTabContent {
    grid-column: 1 / -1;
    display: none;
    margin-top: 4px;
    padding: 0;
    border: 0;
    background-color: transparent;
}

.searchSection {
    padding: 12px;
    margin-bottom: 10px;
    border: 1px solid #d6e0e7;
    border-radius: 6px;
    background-color: #ffffff;
}

.searchSection h3 {
    margin: 0 0 10px 0;
    color: #15384d;
    font-size: 16px;
    line-height: 1.2;
}

.searchLabel,
.searchLabelText {
    display: block;
    margin: 10px 0 4px 0;
    color: #324d5d;
    font-size: 13px;
    font-weight: 900;
}

.searchInput,
.searchSelect,
#searchSProduct {
    box-sizing: border-box;
    width: 100%;
    min-height: 34px;
    margin: 0;
    padding: 6px 9px;
    border: 1px solid #b8c6cf;
    border-radius: 5px;
    background-color: white;
    color: #1f2d35;
    font-family: inherit;
    font-size: 14px;
}

.searchInput:focus,
.searchSelect:focus,
#searchSProduct:focus {
    outline: none;
    border-color: #006e9f;
    box-shadow: 0 0 0 2px rgba(0, 110, 159, 0.16);
}

.searchInlineInput {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
}

#searchLieferzeit,
#searchQualitaet,
#searchLieferzeit2 {
    width: 100%;
    margin-top: 3px;
}

.searchRangeLabel,
#LieferzeitLabel,
#QualitaetLabel,
#LieferzeitLabel2 {
    margin: 0 0 8px 0;
    color: #006e9f;
    font-size: 13px;
    font-weight: 700;
    text-align: right;
}

.searchActionLine {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 12px;
}

.searchActionLine .searchLabelText {
    margin: 0;
}

.searchSelectedValues {
    min-height: 18px;
    margin: 6px 0 0 0;
    color: #294657;
    font-size: 13px;
    line-height: 1.35;
}

.searchOptionList {
    display: grid;
    gap: 6px;
    margin-top: 8px;
}

.searchOptionList label,
.searchCheckbox {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #1f2d35;
    font-size: 13px;
    line-height: 1.25;
}

.searchOptionList input,
.searchCheckbox input,
.searchDynamicOptions input {
    margin: 0;
}

.searchDynamicOptions {
    margin-top: 10px;
}

.searchDynamicOptions p {
    clear: both;
    margin: 10px 0 6px 0;
    color: #324d5d;
}

#searching .tabcontent b {
    float: none;
    margin-left: 0;
}

.searchDynamicOption {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 6px;
    color: #1f2d35;
    font-size: 13px;
    line-height: 1.25;
}

.searchEmptyOption {
    display: block;
    margin-bottom: 6px;
    color: #6f7f89;
    font-size: 13px;
}

.searchSubmit {
    box-sizing: border-box;
    width: 100%;
    margin-top: 4px;
    background-color: #FC8500;
}

#searchBack {
    margin-top: 10px;
    color: #006e9f;
    font-size: 15px;
}

#searchBack:hover {
    font-weight: 900;
    cursor: pointer;
}

.columns {
    width: 16%;
    float: left;
    margin-left: 2%;
    margin-right: 2%;
}

.searchCountrySubmit {
    margin-top: 20px;
    margin-bottom: 50px;
}

/* table */

.tableSuppliers {
    width: 94%;
    margin-left: 3%;
    margin-right: 3%;
    border-spacing: 0;
    padding: 5px;
    /*border: 2px solid black;
    border-radius: 8px;*/
}

.tableSuppliers thead tr th {
    text-align: left;
    vertical-align: top;
}

.tableSuppliers tbody tr td {
    text-align: left;
    vertical-align: top;
}

.tableLines td {
    border-top: 1px dotted #006e9f;
}

table td, table th {
    padding: 2px 5px 2px 5px;
}

.countryImg {
    height: 15px;
    position: relative;
    z-index: 0;
}

.overflow-x-container {
    width: 100%;
    overflow-x: auto;
}

.sortClick:hover {
    color: #006e9f;
    cursor: pointer;
}

#sortableTable th:not(.sortClick):hover {
    cursor: default;
}

/* supplier info */

.sHead, .sMiddle, .sFooter {
    text-align: left;
    width: 94%;
    margin-left: 3%;
    margin-right: 3%;
    border: 2px solid #006e9f;
    border-radius: 5px;
    background-color: rgba(217,217,217, 0.6);
}

.sMiddle {
    margin-top: 50px;
}

.sFooter {
    margin-top: 50px;
    height: 50px;
}

#sFooterL {
    margin-left: 30px;
    float: left;
}

#sFooterR {
    margin-right: 30px;
    float: right;
}

#sTopRow {
    margin-top: -5px;
}

.sRow {
    width: 100%;
    float: left;
    margin-top: 20px;
    padding-left: 10px;
}

#sFlagCountry {
    float: right;
    margin-top: 20px;
    margin-right: 20px;
    border-radius: 4px;
}

.sRow div {
    float: left;
    /*border: 3px solid red;*/
}

#sContact2 a {
    color: black;
    text-decoration: none;
}

#sContact2 a:hover {
    color: #006e9f;
    font-weight: 900;
    cursor: pointer;
}

.sRow div:not(#sProduction2):not(#sFirma):not(#sLand):not(#sOther):not(#sRanking) {
    width: 24%;
}

#sProduction2, #sFirma, #sLand, #sRanking {
    width: 49%;
}

.sBlue {
    color: #006e9f;
}

/* entity pages */

.entityView {
    box-sizing: border-box;
    width: 94%;
    margin: 0 auto;
    text-align: left;
}

.supplierListToolbar {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    width: 94%;
    margin: 0 auto 14px auto;
}

.supplierListMapLink {
    flex: 0 0 auto;
}

.supplierListCount {
    display: inline-block;
    margin: 0;
    color: #324d5d;
}

.entityHeader {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin: 0 0 18px 0;
    padding: 0 4px;
}

.entityBackActions {
    display: flex;
    justify-content: flex-start;
    margin: 0 0 12px 4px;
}

.entityHeader h2 {
    margin: 0;
    color: #172f3d;
    font-size: 28px;
    line-height: 1.15;
}

.entityEyebrow {
    margin: 0 0 4px 0;
    color: #006e9f;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0;
}

.entitySubtitle {
    margin: 7px 0 0 0;
    color: #526977;
    font-size: 15px;
}

.entityCard,
.entitySectionCard {
    box-sizing: border-box;
    width: 100%;
    border: 1px solid #c8d6de;
    border-radius: 8px;
    background-color: rgba(255, 255, 255, 0.95);
    box-shadow: 0 6px 16px rgba(23, 47, 61, 0.07);
}

.entityCard {
    padding: 22px;
}

.entitySectionCard {
    margin-top: 18px;
    padding: 18px;
}

.entityForm {
    margin: 0;
}

.entityForm hr,
.entityCard hr {
    margin: 22px 0;
    border: 0;
    border-top: 1px solid #dce6ec;
}

.entitySection {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 22px;
}

.entitySection + .entitySection {
    margin-top: 22px;
}

.entitySectionTitle {
    grid-column: 1 / -1;
    margin: 0 0 2px 0;
    padding-bottom: 8px;
    border-bottom: 1px solid #dce6ec;
    color: #15384d;
    font-size: 18px;
    line-height: 1.2;
}

.entityField {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
    color: #263f4d;
    font-size: 14px;
    font-weight: 900;
}

.entityFieldWide {
    grid-column: 1 / -1;
}

.entityDetailItem.entityFieldWide {
    grid-template-columns: minmax(120px, 0.35fr) minmax(0, 1.65fr);
}

.entityFieldInline {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
}

.entityLabel {
    color: #324d5d;
    font-size: 14px;
    font-weight: 900;
}

.entityHint {
    color: #6b7f8b;
    font-size: 12px;
    font-weight: 400;
}

.entityHelpText {
    margin: 6px 0 0 0;
    color: #607684;
    font-size: 13px;
    font-weight: 400;
}

.entityInput,
.entityTextarea,
.entitySelect,
.entityMultiSelect,
.entityForm .input {
    box-sizing: border-box;
    width: 100%;
    min-height: 38px;
    margin: 0;
    padding: 8px 10px;
    border: 1px solid #b8c6cf;
    border-radius: 6px;
    background-color: #fff;
    color: #172f3d;
    font-family: inherit;
    font-size: 15px;
}

.entityTextarea {
    min-height: 120px;
    line-height: 1.35;
}

.entityMultiSelect {
    min-height: 128px;
}

.entityInput:focus,
.entityTextarea:focus,
.entitySelect:focus,
.entityMultiSelect:focus,
.entityForm .input:focus {
    outline: none;
    border-color: #006e9f;
    box-shadow: 0 0 0 3px rgba(0, 110, 159, 0.14);
}

.entityInlineGrid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    align-items: center;
    gap: 10px;
}

.entityInlineFields {
    display: grid;
    grid-template-columns: minmax(80px, 0.35fr) minmax(0, 1fr);
    gap: 10px;
}

.entityButtonBar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 24px;
}

.entityButtonBar .floatRight,
.entityActions .floatRight {
    float: none;
    margin-right: 0;
}

#inputSubmit.entityButton,
#aPSubmit.entityButton,
#myBtn.entityButton,
#addSupplierProductSubmit.entityButton,
.entityButton {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    margin: 0;
    padding: 15px 32px;
    border-radius: 6px;
    font-size: 15px;
    line-height: 1.1;
    text-align: center;
}

#inputSubmit.entityButtonSave,
#aPSubmit.entityButtonSave,
#addSupplierProductSubmit.entityButtonSave,
.entityButtonSave {
    background-color: #FC8500;
}

#inputSubmit.entityButtonCancel,
.entityButtonCancel {
    background-color: #607684;
}

#inputSubmit.entityButtonDanger,
.entityButtonDanger {
    background-color: #FC3000;
}

.entityActions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    min-width: 70px;
}

.entityActions a {
    float: none !important;
    margin: 0 !important;
}

.entityActions img {
    display: block;
}

.entityDetailHeader {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 16px;
}

.entityDetailName {
    margin: 0;
    color: #15384d;
    font-size: 24px;
    font-weight: 900;
    line-height: 1.2;
}

.entityDetailMeta {
    margin: 5px 0 0 0;
    color: #607684;
    font-size: 15px;
}

.entityDescription {
    color: #263f4d;
    font-size: 16px;
    line-height: 1.5;
}

.entityDetailGrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 28px;
    border-top: 1px solid #dce6ec;
    margin-bottom: 20px;
}

.entityDetailItem {
    display: grid;
    grid-template-columns: minmax(120px, 0.35fr) minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    min-width: 0;
    padding: 12px 0;
    border-bottom: 1px solid #dce6ec;
}

.entityDetailLabel {
    margin: 0;
    color: #324d5d;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.35;
}

.entityDetailValue {
    margin: 0;
    color: #172f3d;
    font-size: 15px;
    line-height: 1.35;
}

.entityCertificates {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    align-items: flex-start;
}

.entityNotice {
    margin: 0 0 18px 0;
    padding: 12px 14px;
    border-left: 4px solid #FC8500;
    border-radius: 6px;
    background-color: #fff8ee;
    color: #51320d;
    font-size: 14px;
    line-height: 1.35;
}

.entityChoiceGrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.entityChoiceSet {
    margin: 0;
    padding: 10px 0 0 0;
    border: 1px solid #d6e0e7;
    border-width: 1px 0 0 0;
    border-radius: 7px;
    background-color: transparent;
}

.entityChoiceSet legend {
    padding: 0 5px;
    color: #15384d;
    font-weight: 900;
}

.entityChoiceSet label {
    line-height: 1.6;
}

.entityBooleanLine {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    color: #263f4d;
    font-weight: 900;
}

.entitySelectionGrid#selectZert,
.entitySelectionGrid {
    display: grid;
    grid-template-columns: minmax(170px, 0.7fr) minmax(0, 1fr);
    gap: 12px;
    width: 100%;
    float: none;
    margin: 0;
}

.entitySelectionGrid#selectZert select,
.entitySelectionGrid#selectZert div {
    float: none;
    width: auto;
    margin: 0;
}

.entitySelectionGrid textarea {
    min-height: 128px;
}

.entitySplit {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.8fr);
    gap: 22px;
}

.entityChartBox {
    min-height: 280px;
    padding: 12px 0 0 0;
    border-top: 1px solid #d6e0e7;
    background-color: transparent;
}

.entityChartBox canvas {
    max-width: 100%;
}

.entityMapLink {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    min-height: 34px;
    padding: 0 10px;
    border: 1px solid #c8d6de;
    border-radius: 6px;
    color: #006e9f;
    font-weight: 900;
}

.entityMapLink:hover {
    color: #009de0;
}

.entityFlag {
    height: 22px;
    border-radius: 4px;
    border: 1px solid #c8d6de;
}

.entityHeaderFlag {
    margin-left: 8px;
    position: relative;
    top: 2px;
    vertical-align: baseline;
}

.entityProductsHeader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

.entityProductsHeader h3 {
    margin: 0;
    color: #15384d;
    font-size: 22px;
}

.entityProductsHeader a {
    float: none !important;
    margin: 0 !important;
}

.entityProductCard {
    margin-top: 14px;
    padding: 14px 16px 16px 16px;
    border: 1px solid #c8d6de;
    border-left: 5px solid #006e9f;
    border-radius: 7px;
    background-color: #f7fafc;
    box-shadow: 0 4px 12px rgba(23, 47, 61, 0.06);
}

.entityProductCard h4 {
    margin: 0 0 12px 0;
    color: #006e9f;
    font-size: 18px;
}

.entityProductCard .entityDetailGrid {
    border-top-color: #cfdce4;
}

.entityEmpty {
    margin: 10px 0 0 0;
    color: #607684;
    font-size: 15px;
}

.entityFooterMeta {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    color: #526977;
}

.entityModalForm {
    text-align: left;
}

.entityVariantInputs {
    display: grid;
    gap: 8px;
}

.productVariantInputRow {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
}

.entityModalGrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.aPElement.entityModalField {
    box-sizing: border-box;
    height: auto;
    min-height: 0;
    margin-top: 0;
    padding: 12px 0 0 0;
    border: 1px solid #d6e0e7;
    border-width: 1px 0 0 0;
    border-radius: 0;
    background-color: transparent;
}

.aPElement.entityModalField p {
    margin: 0 0 8px 0;
    color: #15384d;
}

.aPElement.entityModalField select,
.aPElement.entityModalField textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 112px;
    margin: 0;
    padding: 8px;
    border: 1px solid #b8c6cf;
    border-radius: 6px;
}

#sProduction2 table {
    text-align: left;
    margin-left: -1px;
    width: 100%;
}

#sRanking table {
    text-align: left;
    width: 100%;
}

.space {
    color: rgba(255, 255, 255, 0);
    width: 100%;
    /*border: 2px solid red;*/
}

.space:hover {
    cursor: default;
}

#certTable, #sOther table {
    margin-left: -1px;
    width: 100%;
    text-align: left;
}

#sOther table th {
    vertical-align: top;
}

#sProduction2 table td {
    text-align: left;
}

#sOther {
    width: 99%;
}

.rahmen {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    min-height: 24px;
    padding: 3px 8px;
    border: 1px solid #c8d6de;
    border-radius: 5px;
    background-color: #eef4f7;
    color: #15384d;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
}

.sProduct {
    margin-top: 30px;
    margin-left: 30px;
}

.sProduct table th {
    text-align: right;
}

.sProduct:last-child {
    margin-bottom: 30px;
}

/* add button */

.width100 {
    width: 100%;
    height: 50px;
}

.width100 a {
    color: white;
    text-decoration: none;
}

.width100 a:hover {
    cursor: pointer;
}

.floatRight {
    float: right;
    margin-right: 20px;
}

/* add stuff */

textarea {
    resize: none;
}

#select1, #select2, #select3 {
    height: 100px;
    margin-left: 30px;
    margin-bottom: 20px;
}

#display1, #display2, #display3, #display4 {
    width: 100%;
    height: 100%;
    padding-left: 10px;

    font-size: 10px;
    font-weight: 900;
    color: #006e9f;
}

#sCerts {
    height: 140px;
}

#selectZert {
    float: right;
    margin-right: 20px;
}

#selectZert div, #selectZert select {
    float: right;
}

#selectSCountry {
    height: 30px;
}

#addSFlag {
    display: block;
    box-sizing: border-box;
    border-radius: 4px;
    border: 1px solid #b8c6cf;
    background-color: #fff;
    box-shadow: 0 1px 2px rgba(23, 47, 61, 0.08);
}

#addSFlagDiv {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
}

.aPElement {
    width: 100%;
    height: 100px;
    border: 2px solid #006e9f;
    border-radius: 5px;
    margin-top: 10px;
}

.s50percentL {
    float: left;
}

.s50percentR {
    float: right;
}

.s50percentL, .s50percentR {
    width: 48%;
    height: 100px;
}

.s50percentL .s50percentL, 
.s50percentR .s50percentR {
    padding-left: 5px;
}

.aPDiv h2 i {
    color: #006e9f;
}

.aPDiv textarea {
    border: none;
    border-left: 2px solid #006e9f;
    border-right: 2px solid #006e9f;
    background-color: #f2f2f2;

    padding-left: 10px;

    font-size: 18px;
    font-weight: 900;
    color: #006e9f;
}

#aPselectType,
#supplierProductTypeId {
    margin-left: 30px;
    height: 40px;
    width: 200px;
}

#sAddBtn {
    text-align: center;
}

#myBtn {
    margin: 10px 0px;
}

.aPshowProduct {
    background-color: rgba(217,217,217, 0.4);
    border: 2px solid #009de0;
    border-radius: 10px;
    margin: 30px 3%;
    padding: 10px;
}

.aPshowProduct h2 {
    float: left;
    margin-top: 10px;
    margin-left: 20px;
    color: #006e9f;
}

.aPshowProduct table {
    text-align: left;
    margin-left: 30px;
    float: left;
    width: 100%;
}

.aPshowProduct table th {
    text-align: right;
}

.aPeditProduct, .eSupplier {
    padding: 5px;
}

.aPeditProduct:hover, .eSupplier:hover {
    border-radius: 5px;
    background-color: rgba(0, 157, 224, 0.1);
}

#ePtypeName {
    color: #006e9f;
}

#ePtypeName b {
    color: black;
}

.delete {
    margin-top: 15px;
}

/* MODALS */

/* The Modal (background) */
.modal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 1; /* Sit on top */
    padding-top: 60px; /* Location of the box */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0,0,0); /* Fallback color */
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}

/* Modal Content */
.modal-content {
    background-color: #fefefe;
    margin: auto;
    padding: 20px;
    border: 1px solid #888;
    border-radius: 10px;
    width: 80%;
}

/* The Close Button */
.close {
    color: #aaaaaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
}

.close:hover,
.close:focus {
    color: #000;
    text-decoration: none;
    cursor: pointer;
}

/* POPUPS */
.popup {
    position: relative;
    display: inline-block;
    cursor: help;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.popup .popuptext {
    visibility: hidden;
    width: 250px;
    background-color: #555;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 8px 6px;
    position: absolute;
    z-index: 1;
    bottom: 125%;
    left: 50%;
    margin-left: -125px;
}

.popup .popuptext::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #555 transparent transparent transparent;
}

.popup .show {
    visibility: visible;
    -webkit-animation: fadeIn 1s;
    animation: fadeIn 1s;
}

@-webkit-keyframes fadeIn {
    from {opacity: 0;} 
    to {opacity: 1;}
}

@keyframes fadeIn {
    from {opacity: 0;}
    to {opacity:1 ;}
}

/* MAP */

#map {
    position: relative;
    box-sizing: border-box;
    width: 94%;
    height: 600px;
    margin: 0 auto;
    border: 5px solid #006e9f;
    border-radius: 10px;
    z-index: 1;
}

#map a {
    color: #006e9f;
    text-decoration: none;
}

#map a:hover {
    color: black;
    cursor: pointer;
}

.mapMessage {
    position: absolute;
    top: 16px;
    left: 50%;
    z-index: 500;
    transform: translateX(-50%);
    max-width: calc(100% - 32px);
    padding: 10px 14px;
    border: 1px solid #c8d6de;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.96);
    color: #15384d;
    font-weight: 800;
    box-shadow: 0 8px 20px rgba(21, 56, 77, 0.14);
}

.highlight-marker {
    z-index: 1000 !important;
}

/* IMPRESSUM / DATENSCHUTZ */
.impDatWrapper {
    width: 90%;
    max-width: 900px;
    
    padding: 30px;

    margin: 50px auto;

    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 7px;
}

/* MEDIA */

@media screen and (max-width: 900px) {
    #content {
        margin-top: 120px;
    }

    /*#navbar li, #navbar .right {
    float: none;
}*/
}

@media screen and (max-width: 1400px) {
    #sAdd div {
        display: block;
        float: none;
        width: 100%;
        /*border: 1px solid red;*/
    }

    #sCerts {
        height: 180px;
    }

    #selectZert, #selectZert div, #selectZert select {
        float: left;
    }

}

@media screen and (max-width: 1400px) {
    #sAdd .entitySection,
    #sAdd .entityChoiceGrid,
    #sAdd .entitySelectionGrid,
    #sAdd .entityInlineGrid,
    #sAdd .entityInlineFields {
        display: grid;
        float: none;
        width: 100%;
    }

    #sAdd .entityField {
        display: flex;
        float: none;
        width: 100%;
    }

    #sAdd .entityButtonBar {
        display: flex;
        float: none;
        width: 100%;
    }

    #sAdd #sCerts {
        height: auto;
    }

    #sAdd .entitySelectionGrid#selectZert,
    #sAdd .entitySelectionGrid#selectZert div,
    #sAdd .entitySelectionGrid#selectZert select {
        float: none;
        width: 100%;
    }
}

@media screen and (max-width: 900px) {
    .entityHeader,
    .entityDetailHeader,
    .entityProductsHeader,
    .entityFooterMeta {
        flex-direction: column;
        align-items: stretch;
    }

    .entitySection,
    .entityChoiceGrid,
    .entityDetailGrid,
    .entitySplit,
    .entityModalGrid,
    .entitySelectionGrid#selectZert,
    .entitySelectionGrid {
        grid-template-columns: 1fr;
    }

    .entityButtonBar {
        justify-content: stretch;
        flex-wrap: wrap;
    }

    .entityButtonBar .entityButton,
    .entityButtonBar #inputSubmit,
    .entityButtonBar #myBtn,
    .entityButtonBar #addSupplierProductSubmit {
        width: 100%;
        text-align: center;
    }

    .productVariantInputRow,
    .entityInlineFields,
    .entityInlineGrid {
        grid-template-columns: 1fr;
    }

    .entityDetailItem {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .userRegistryPanel {
        width: 94%;
        margin: 0 auto 18px auto;
        float: none;
    }

    .quickNavPanel {
        width: 94%;
        margin: 0 auto 18px auto;
        float: none;
    }

    #tableDiv {
        width: 94%;
        margin: 0 auto;
        float: none;
    }
}
