/*
 * General
 */

body {
    color: #575757;
}

.header_cookies {
    margin-top: 15px;
    font-weight: bolder;
}
.content_cookies{
    margin-top: 7px;
}

#page-container.main-content-boxed>#main-container .content, #page-container.main-content-boxed>#page-footer .content, #page-container.main-content-boxed>#page-header .content, #page-container.main-content-boxed>#page-header .content-header {
    max-width: 1690px;
}

.hero-static {
    display: flex;
}

.content-heading {
    padding-bottom: 10px;
}

.scannel-text-color {
    color: #3E9DE8 !important;
}

/*
 * Button Colors
 */

.btn-alt-primary {
    background-color: #3E9DE8;
    color: #fff !important;
}

.btn-alt-primary-outline {
    background-color: transparent;
    border-color: #3E9DE8;
    color: #3E9DE8 !important;
}

.btn-alt-primary-outline:hover {
    border-color: #9acbf3;
    color: #9acbf3 !important;
}

/*
 * Custom Icons
 */

@font-face {
    font-family: 'scannel-icons';
    src:  url('/fonts/scannel-icons/scannel-icons.eot?55nd94');
    src:  url('/fonts/scannel-icons/scannel-icons.eot?55nd94#iefix') format('embedded-opentype'),
    url('/fonts/scannel-icons/scannel-icons.ttf?55nd94') format('truetype'),
    url('/fonts/scannel-icons/scannel-icons.woff?55nd94') format('woff'),
    url('/fonts/scannel-icons/scannel-icons.svg?55nd94#icomoon') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'scannel-icons' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;

    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-user:before {
    content: "\e907";
}
.icon-businessman:before {
    content: "\e908";
}
.icon-image:before {
    content: "\e909";
}
.icon-arrow-right:before {
    content: "\e90a";
}
.icon-arrow-left:before {
    content: "\e90b";
}
.icon-edit:before {
    content: "\e90c";
}
.icon-group:before {
    content: "\e90d";
}
.icon-employee:before {
    content: "\e90e";
}
.icon-sort:before {
    content: "\e90f";
}
.icon-sorted:before {
    content: "\e910";
}
.icon-user-circle:before {
    content: "\e906";
}
.icon-barcode:before {
    content: "\e900";
}
.icon-image-2:before {
    content: "\e901";
}
.icon-product:before {
    content: "\e902";
}
.icon-users:before {
    content: "\e903";
}
.icon-partner:before {
    content: "\e904";
    font-size: 11px;
}
.icon-speedometer:before {
    content: "\e905";
    font-size: 14px;
}

/*
 * Sidebar
 */

.content-side-user .avatar-icon {
    color: #125A96;
    font-size: 80px;
}

.content-side-user .name {
    color: #125A96;
    font-weight: bold;
}

.sidebar-header {
    padding: 60px;
    height: 200px;
}

.sidebar-header a {
    box-sizing: content-box;
}

.sidebar-header img {
    height: 90px;
}

/*
 * Menu
 */

.nav-main a>span {
    margin-left: 15px;
}

.nav-main a>i.scannel-icons {
    position: absolute;
    top: 49%;
    right: auto;
    left: 18px;
    transform: translateX(0) translateY(-50%);
    font-size: 14px;
    color: rgba(52,58,64,.75);
}

.nav-main a.active>i.scannel-icons, .nav-main a:hover>i.scannel-icons {
    color: rgb(62,157,232);
}

/*
 * Auth
 */


.auth {
}

.auth .block {
    padding: 30px 0 0 0;
}

.auth h2 {

    font-size: 30px;
    text-align: center;

}

.auth p.info-text {
    font-size: 16px;
    text-align: center;
}

.auth .row {
    padding-left: 47px;
    padding-right: 47px;
}

.auth .footer {
    height: 60px;
    padding: 17px 36px;
}

.auth .footer a {
    text-decoration: none;
    font-size: 14px;
    opacity: 0.5;
}

.auth button {
    padding: 16px 32px;
    margin-top: 50px;
    margin-bottom: 10px;
}

.auth a.reset-password {
    margin-top: 10px;
    margin-bottom: 40px;
}

/*
 * Dashboard
 */

.stats-blocks .font-size-h3 {
    font-size: 60px;
}

.stats-blocks .scannel-icons {
    font-size: 18px;
    margin-right: 10px;
}

/* Datatables */

.block.table .block-content {
    padding: 0;
}

table.dataTable thead th {
    position: relative;
    background-color: #F6F7F9;
}

.scannel-datatable {
    width: 100%;
}

.dataTables_info {
    padding: 15px;
    font-size: 11px;
}

.dataTables_info span {
    color: #3E9DE8;
}

.page-item.active .page-link {
    border: solid thin #3E9DE8;
    background-color: transparent;
    color: #000000;
    font-size: 11px;
    padding: 3px 5px;
    margin-top: 3px;
    border-radius: 2px;

}

.page-item .page-link {
    background-color: transparent;
    color: #3E9DE8;
    font-size: 11px;
    padding: 3px 5px;
    margin-top: 3px;
    border-radius: 2px;
    border: none;
}

.page-item.disabled .page-link {
    font-size: 10px;
    color: #3E9DE8;
}


table.dataTable thead th.sorting:after,
table.dataTable thead th.sorting_asc:after,
table.dataTable thead th.sorting_desc:after {
    position: absolute !important;
    top: 12px !important;
    right: 8px !important;
    display: block !important;
    font-family: 'scannel-icons' !important;
    color: #3E9DE8;
}
table.dataTable thead th.sorting:after {
    content: "\e90f" !important;
    font-size: 0.8em !important;
    padding-top: 0.12em !important;
}
table.dataTable thead th.sorting_asc:after {
    content: "\e910" !important;
    margin-left: 10px;

}
table.dataTable thead th.sorting_desc:after {
    content: "\e910" !important;
    transform: rotate(180deg);
}

table.dataTable.last-action thead th:last-child.sorting:after,
table.dataTable.last-action thead th:last-child.sorting_asc:after,
table.dataTable.last-action thead th:last-child.sorting_desc:after{
    content: '' !important;
}


.dataTables_wrapper .row:first-child {
    margin: 0;
    padding: 0;
    border-bottom: thin solid rgba(108,117,125, 0.1);
    margin-bottom: 15px;
}

.dataTables_wrapper .row:first-child col {
    padding-left: 0;
    padding-right: 0;
}

.dataTables_wrapper .row:first-child label {
    margin-bottom: 0;
}


.dataTables_wrapper .row:first-child input {
    border: none;
    margin-top: 2px;
    border-left: thin solid rgba(108,117,125, 0.1);
}

.dataTables_wrapper .row:first-child select {
    border: none;
    border-right: thin solid #ddd;
    border-radius: 0;
    margin-top: 2px;
}

.scannel-datatable .edit-link {
    color: #575757;
    margin-right: 15px;
}

.scannel-datatable .edit-link .scannel-icons, .scannel-datatable .edit-link .fa {
    color: #3E9DE8;
}

/* Form Blocks */

.block-header {
    border-bottom: thin solid rgba(108, 117, 125, 0.1);
}

.block-header h3 {
    text-transform: uppercase;
}

.block-form .col.border-right {
    border-right: thin solid rgba(108, 117, 125, 0.1);
}

.block-form .col.border-left {
    border-left: thin solid rgba(108, 117, 125, 0.1);
}

.block-footer {
    padding: 20px 36px;
    border-top: thin solid rgba(108, 117, 125, 0.1);
    text-align: right;
}

/* Table Style */

/* Pagination */

/* Side Length Select */

.tables__side-length-select {
    border-bottom:thin solid rgba(108,117,125, 0.1);
}

/* Addidional Page Select */

.tables__additional-page-select {
    width: 100%;
    float: right;
    text-align: right;
    border-bottom: thin solid rgba(108,117,125, 0.1);
}

.tables__additional-page-select p {
    line-height: 28px;
    display: inline;
    margin-right: 5px
}

.rotate {
    animation: rotation 3s infinite linear;
}

@keyframes rotation {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(359deg);
    }
}

/* ===========================================
   Start-Page Layout (Login, Register, etc.)
   =========================================== */
.start-page {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: #f5f7fa;
}

.start-header {
    background: #fff;
    border-bottom: 4px solid #3E9DE8;
    padding: 30px 20px;
    text-align: center;
}

.start-logo {
    font-size: 2.8rem;
    font-weight: 700;
    white-space: nowrap;
}

.start-logo .logo-blue {
    background-color: #008cff;
    color: #fff;
    padding: 4px 14px;
    border-radius: 6px;
}

.start-logo .logo-dark {
    color: #001eba;
    margin-left: -4px;
}

.start-subtitle {
    color: #555;
    font-size: 1.3rem;
    margin-top: 8px;
}

.start-main {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 50px 20px;
}

.start-card {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.08);
    width: 100%;
    max-width: 500px;
    padding: 40px 44px;
}

.start-card h2 {
    text-align: center;
    font-size: 1.7rem;
    color: #247195;
    margin-bottom: 8px;
}

.start-card .info-text {
    text-align: center;
    font-size: 1.05rem;
    color: #666;
    margin-bottom: 24px;
}

.start-card .form-group {
    margin-bottom: 20px;
}

.start-card label {
    font-weight: 500;
    font-size: 1rem;
    color: #555;
    margin-bottom: 6px;
    display: block;
}

.start-card .form-control {
    border-radius: 8px;
    padding: 14px;
    font-size: 1.05rem;
    border: 1px solid #d1d5db;
    width: 100%;
    box-sizing: border-box;
}

.start-card .form-control:focus {
    border-color: #3E9DE8;
    outline: none;
    box-shadow: 0 0 0 3px rgba(62,157,232,0.15);
}

.start-card .btn-login {
    width: 100%;
    padding: 16px;
    font-size: 1.15rem;
    border-radius: 8px;
    margin-top: 10px;
    border: none;
    cursor: pointer;
}

.start-card .btn-register {
    display: block;
    width: 100%;
    padding: 14px;
    font-size: 1.1rem;
    border-radius: 8px;
    margin-top: 12px;
    text-align: center;
    text-decoration: none;
}

.start-card .links {
    text-align: center;
    margin-top: 20px;
    font-size: 1rem;
}

.start-card .links a {
    color: #3E9DE8;
    text-decoration: none;
}

.start-footer {
    text-align: center;
    padding: 20px;
    font-size: 0.95rem;
    color: #999;
}

.start-footer a {
    color: #666;
    text-decoration: none;
    margin: 0 10px;
}

/* ===========================================
   MOBILE OPTIMIERUNG - App-artiges Layout
   =========================================== */
@media (max-width: 768px) {

    /* --- Sidebar Menu Icons --- */
    #sidebar .nav-main li a i,
    #sidebar .nav-main li a i.scannel-icons {
        position: static !important;
        display: inline-block !important;
        width: 24px !important;
        min-width: 24px !important;
        margin-right: 10px !important;
        text-align: center !important;
        transform: none !important;
        vertical-align: middle !important;
    }

    #sidebar .nav-main a {
        padding-left: 18px !important;
        display: flex !important;
        align-items: center !important;
    }

    #sidebar .nav-main a > span {
        margin-left: 0 !important;
    }

    /* --- Menu-Top (Header Navigation) --- */
    .menu-top-wrapper {
        padding: 6px 8px !important;
    }

    .menu-top-inner {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 6px;
    }

    .menu-top-logo {
        text-align: center;
    }

    .menu-top-logo span[style*="font-size"] {
        font-size: x-large !important;
    }

    .menu-top-btns {
        justify-content: center;
        gap: 4px !important;
    }

    .menu-top-btns .btn {
        flex: 1;
        text-align: center;
        padding: 10px 6px !important;
        font-size: 1rem !important;
        min-height: 44px;
    }

    /* --- Login / Passwort-Reset --- */
    .login-wrapper {
        padding: 20px 16px !important;
        min-height: auto !important;
    }

    .auth .block {
        padding: 10px 0 0 0 !important;
    }

    .auth h2 {
        font-size: 22px !important;
    }

    .auth .row {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .auth button {
        width: 100% !important;
        padding: 14px !important;
        margin-top: 20px !important;
        font-size: 1.05rem;
    }

    /* --- Start-Page (Login, Register, etc.) --- */
    .start-header {
        padding: 14px 12px !important;
    }

    .start-logo {
        font-size: 1.8rem !important;
    }

    .start-subtitle {
        font-size: 1rem !important;
    }

    .start-main {
        padding: 16px 8px !important;
    }

    .start-card {
        padding: 20px 16px !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        max-width: 100% !important;
    }

    .start-card h2 {
        font-size: 1.3rem !important;
    }

    .start-footer {
        padding: 12px !important;
    }

    /* --- Footer (Werbung + Links) --- */
    .futter-wrapper {
        padding: 8px 12px !important;
    }

    .futter-ads {
        flex-direction: column !important;
    }

    .futter-ad-col {
        min-height: 50px !important;
    }

    .futter-links {
        justify-content: center !important;
    }

    /* --- Cookie/Privatsphäre-Modal --- */
    .cookies-modal-dialog {
        width: 95% !important;
        max-width: 95% !important;
        height: auto !important;
        max-height: 90vh !important;
        margin: 16px auto !important;
    }

    .cookies-modal-content {
        height: auto !important;
        max-height: 85vh !important;
        border-radius: 12px !important;
        display: flex !important;
        flex-direction: column !important;
    }

    .cookies-modal-content .modal-body {
        flex: 1 !important;
        max-height: 60vh !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    .cookies-modal-content .modal-footer {
        padding: 12px !important;
    }

    .cookies-modal-content .modal-footer .btn {
        width: 100%;
        padding: 14px !important;
        font-size: 1.05rem;
    }

    /* --- Dashboard (startsaal) --- */
    .dash-wrap {
        padding: 0 8px !important;
    }

    .dash-card {
        padding: 12px !important;
    }

    .dash-btn {
        padding: 14px 12px !important;
        font-size: 0.95em !important;
    }

    /* --- Allgemein: volle Breite nutzen --- */
    .block-form {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    .content, .content-full {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    /* Berechtigung-Modal */
    .modal .modal-dialog {
        width: 95% !important;
        max-width: 95% !important;
        margin: 16px auto !important;
    }

    /* Datenschutz-Modal (Register) */
    .datenschutz-modal {
        padding: 8px !important;
    }

    .datenschutz-modal-content {
        margin: 8px auto !important;
        max-height: 92vh !important;
        border-radius: 10px !important;
    }

    /* Tabellen horizontal scrollbar */
    .block.table .block-content,
    .dataTables_wrapper {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    /* Inputs größer für Touch */
    .form-control {
        min-height: 44px !important;
        font-size: 16px !important; /* verhindert iOS-Zoom */
    }

    select.form-control {
        min-height: 44px !important;
    }
}

