@font-face {
   font-family:'Nexa';
   font-style: normal;
   src: local('Nexa'), local('Nexa-Book'),
   url(/assets/fonts/Nexa-Book.otf) format('otf'),
}

@font-face {
   font-family:'Nexa-Bold';
   font-style: bold;
   src: local('Nexa'), local('Nexa-Bold'),
   url(/assets/fonts/Nexa-XBold.otf) format('otf'),
}

        body {
            margin-top: 100px;
            margin-bottom: 100px;
            font-family: Nexa, sans-serif;
            font-weight: normal;
            
            background-color: #d8dae6;
            color: #004563;
        }

        h1 {
            font-family: Nexa-Bold, sans-serif;
            font-weight: bold;
            text-align: center;
            color: #0000ff;
            text-transform: uppercase;
        }

        h2 {
            font-weight: normal;
            text-align: center;
            color: #0000ff;
            text-transform: uppercase;
        }
        
        .form-container {
            max-width: 800px;
            margin: 0 auto;
            background: #eeeffc;
            padding: 20px;
            border-radius: 8px;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
        }
        .form-group {
            margin-bottom: 20px;
        }
        label {
            white-space: nowrap;
            display: block;
            margin-bottom: 5px;
            font-size: 1.1em;
        }
        input[type="number"], input[readonly] {
            font-family: nexa, sans-serif;
/*            text-align: right;*/
            width: 100%;
            min-width: 10em;
            padding-left: 12px;
            padding-right: 12px;
            padding-top: 15px;
            padding-bottom: 12px;
            font-size: 1.1em;
            border: 1px solid #ddd;
            border-radius: 5px;
            background-color: #fdfdfd;
            box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
        }

        input[readonly] {
            background-color: #f3f3f3;
        }
        .table-container {
            max-width: 800px;
            margin: 30px auto;
            background: #eeeffc;
            padding: 20px;
            border-radius: 8px;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
        }
        .cost-row {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
        }
        .cost-item {
            flex: 1 1 calc(33.33% - 10px);
            margin: 5px;
            background: #fdfdfd;
            border: 1px solid #ddd;
            border-radius: 5px;
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
            text-align: center;
            padding: 15px;
            font-size: 1.2em;
        }
        .cost-item span {
            font-size: 0.8em;
        }

        .cost-item strong {
            display: block;
            margin-bottom: 5px;
            font-size: 1.4em;
            color: #0000ff;
        }

        #flogo {
            display: block;
            margin-left: auto;
            margin-right: auto;
            width: 70px;
        }

.tabs {
    display: flex;
    justify-content: center;
    
}
.tab {
    padding: 10px 20px;
    cursor: pointer;
    background: #e1e2ef;
    border-bottom: 2px solid #d8dae6;
    border-radius: 5px 5px 0 0;
    margin: 0 5px;
}
.tab.active {
    background: #eeeffc;
    border-bottom: none;
    font-weight: bold;
}
.tab-content {
    display: none;
    background: #d8dae6;
    padding-top: 0px;
    padding-bottom: 20px;
    padding-left: 20px;
    padding-right: 20px;

    border-radius: 0 0 5px 5px;
}
.tab-content.active {
    display: block;
}

tbody {
    background-color: #fff;
}

thead {
    height: 60px;
}

tr {
    height: 40px;
}

.modulkosten, .montagekosten {
    display: none;
}
.modulkosten + br, .montagekosten + br {
    display: none;
}

.flex-container {
    display: flex;
    gap: 1em;
    flex-wrap: wrap;    
}

.flex-container > div {
    flex: 1;
}

input {
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .tabs {
        flex-wrap: wrap; /* Tabs umbrechen lassen */
        justify-content: center; /* Tabs zentrieren */
        width: 90%; /* Tabs auf 80% Breite setzen */
        margin: 0 auto; /* Zentriert Tabs durch automatischen Rand */
    }
    .tab {
        flex: 1 1 calc(50% - 10px); /* Tabs nehmen 50% der Breite ein */
        margin: 3px; /* Abstand zwischen Tabs */
        text-align: center; /* Zentrierter Text */
        font-size: 0.9em; /* Kleinere Schriftgröße */
    }

    .form-container {
        margin-top: 5px;
    }
}




