@font-face {
    font-family: 'Lato';
    src: url('fonts/Lato/Lato-Light.eot');
    src: url('fonts/Lato/Lato-Light.eot?#iefix') format('embedded-opentype'),
        url('fonts/Lato/Lato-Light.woff2') format('woff2'),
        url('fonts/Lato/Lato-Light.woff') format('woff'),
        url('fonts/Lato/Lato-Light.tff') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

html,
body,
table {
    font-family: Lato, Arial;
    color: #25328a;
}

.ce .tx-swa-calculators {
    border-left: 0;
}

a {
    color: #002d5a;
}

a:hover {
    color: #0a58ca;
    text-decoration: underline;
}

.ablesetag {
    width: 64px !important;
    padding-right: 0 !important;
    margin-right: 5px;
}

.ablesemonat {
    width: 125px !important;
    padding-right: 0 !important;
    margin-right: 5px;
}

.ablesejahr {
    width: 80px !important;
    padding-right: 0 !important;
}

.bg_grau {
    background-color: #f5f7fa;
    border-radius: 5px;
}

.bold {
    font-weight: bold;
}

.but_submit {
    background-color: #00aeef;
    width: 200px;
    height: 50px;
    font-size: 20px;
    color: white;
    border: 0;
    font-weight: bold;
    border-radius: 4px;
    cursor: pointer;
}

.hr {
    padding-bottom: 15px !important;
    margin-bottom: 15px !important;
    border-bottom: 1px solid #eceaea;
}

.line {
    margin: 15px 0 15px 0;
    /*border-top: 20px solid #f7f7f7; */
}

.err_msg {
    font-weight: bold;
    color: #c90404;
}

.warn_msg {
    font-weight: bold;
    color: #d95a05;
}

.field120 {
    width: 120px !important;
    margin-bottom: 10px;
}

.field200 {
    width: 200px !important;
}

.form_bottom {
    border-bottom: 2px solid #eceaea;
}

.infopic {
    display: inline-block;
    border: 2px solid #25328a;
    border-radius: 50%;
    width: 28px;
    height: 28px;
    line-height: 25px;
    text-align: center;
    margin-right: 10px;
    font-size: 16pt;
}


input[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: inline-block;
    position: relative;
    color: white;
    height: 30px;
    width: 30px;
    border: 1px solid #b6b6b6;
    border-radius: 3px;
    cursor: pointer;
    margin-right: 7px;
    outline: none;
    background-color: white;
}

input[type="checkbox"]:checked::before {
    position: absolute;
    font: 13px/1 'Open Sans', sans-serif;
    left: 6px;
    top: -2px;
    content: '\02143';
    transform: rotate(40deg);
    font-size: 28px;
}

input[type="checkbox"]:hover {}

input[type="checkbox"]:checked {
    background-color: #002d5a;
}


/*
input[type=text],
select,
textarea {
    border: 1px solid #b6b6b6;
    border-radius: 3px;
    color: #25328a;
}
*/
#netze_input select {
    appearance: none !important;
    background: #f7f7f9 !important;
    background-image: url('data:image/svg+xml;utf8,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.5668 4.90002L10.0002 11.4667L3.4335 4.90002L1.66683 6.66669L10.0002 15L18.3335 6.66669L16.5668 4.90002Z" fill="%2325328a"/></svg>') !important;
    background-repeat: no-repeat !important;
    background-position-x: 90% !important;
    background-position-y: 50% !important;
    padding: 10px 30px 10px 10px !important;
}

#netze_input select:has(:only-child) {
    appearance: none !important;
    background-image: none !important;
}


.logout {
    background-image: url('data:image/svg+xml;utf8,<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="22px" height="24px" viewBox="0 0 91.839 122.88" enable-background="new 0 0 91.839 122.88" xml:space="preserve"><g><path d="M81.75,64.617H41.365c-1.738,0-3.147-1.423-3.147-3.178c0-1.756,1.409-3.179,3.147-3.179h40.383L68.559,43.155 c-1.146-1.31-1.025-3.311,0.271-4.469c1.297-1.159,3.278-1.037,4.425,0.273l17.798,20.383c1.065,1.216,1.037,3.029-0.011,4.21 L73.254,83.92c-1.146,1.311-3.128,1.433-4.425,0.273c-1.296-1.158-1.417-3.16-0.271-4.47L81.75,64.617L81.75,64.617z M70.841,99.629c0-1.756,1.423-3.179,3.178-3.179c1.756,0,3.179,1.423,3.179,3.179v14.242c0,2.475-1.017,4.729-2.648,6.36 c-1.633,1.632-3.887,2.648-6.36,2.648H9.009c-2.475,0-4.73-1.014-6.363-2.646C1.016,118.603,0,116.352,0,113.871V9.009 c0-2.48,1.013-4.733,2.644-6.365C4.275,1.013,6.528,0,9.009,0h59.18c2.479,0,4.731,1.016,6.362,2.646 c1.633,1.633,2.646,3.889,2.646,6.363V23.25c0,1.755-1.423,3.178-3.179,3.178c-1.755,0-3.178-1.423-3.178-3.178V9.009 c0-0.722-0.301-1.385-0.785-1.869c-0.482-0.482-1.144-0.783-1.867-0.783H9.009c-0.726,0-1.389,0.3-1.87,0.782 C6.656,7.62,6.357,8.283,6.357,9.009v104.862c0,0.724,0.301,1.385,0.783,1.867c0.484,0.484,1.147,0.785,1.869,0.785h59.18 c0.72,0,1.381-0.302,1.865-0.786c0.485-0.484,0.787-1.146,0.787-1.866V99.629L70.841,99.629z" fill="%23002d5a"/></g></svg>');        
    background-repeat: no-repeat;
    background-position: right center;
    padding: 30px;
}

strong {
    letter-spacing: 1px;
    color: #25328a;
}

.table_details {
    table-layout: fixed;
}

.table_details tr {
    height: 28px;
}

.text_blau {
    color: #25328a;
    font-size: 12pt;
}

.td1 {
    width: 50px;
    min-width: 50px;
}

.td2 {
    width: 140px;
    min-width: 140px;
}

.td3 {
    width: 263px;
}

.topline {
    background-color: #00aeef;
    height: 60px;
    line-height: 60px;
    padding-left: 20px;
    font-size: 16pt;
    font-weight: bold;
    color: white;
    letter-spacing: 1px;
}


.warn_msg {
    font-weight: bold;
    color: #d95a05;
}

.n_w33_dyn {
    display: inline-block;
    width:33.33%;
    margin: 0 20px 20px 0;
}

.n_w33_dyn label {
    display: block;
}

@media (max-width: 670px) {
.n_w33_dyn {
    display: block;
    width:100%;
}

}

/***** Breite kleiner 575px *****/
@media (max-width: 641px) {
    .td2 {
        width: 160px;
        min-width: 160px;
    }

    .sm_line {

        margin-top: 15px !important;
        padding-top: 15px !important;
        border-top: 2px solid #eceaea;

    }
/*
    input[type=text],
    select,
    textarea {
        padding: 1px;
    }
*/
}



/***** Breite kleiner 380px *****/
@media (max-width: 380px) {

    form * table {
        font-size: 13px !important;
    }

    .topline {

        height: 40px;
        line-height: 40px;
        padding-left: 20px;
        font-size: 12pt;

    }

    .td2 {
        width: 125px;
        min-width: 125px;
    }

    input[type=text],
    select,
    textarea {
        /*padding: 1px;*/
        font-size: 9pt;
    }

    .ablesemonat {
        width: 105px !important;
    }
}