/* =====================================================
   EMET - LOCAL CSS
   Zastępuje Bootstrap CDN 5.3.3
   ===================================================== */


/* ==========================
   RESET / PODSTAWA
   ========================== */

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: #fafbfc;
    padding-top: 85px;

    font-family:
        system-ui,
        -apple-system,
        "Segoe UI",
        Roboto,
        "Helvetica Neue",
        Arial,
        "Noto Sans",
        sans-serif;

    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
}


img {
    max-width: 100%;
}

a {
    text-decoration:none;
}


a:hover,
a:focus {
    text-decoration:underline;
}


h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top:0;
    margin-bottom:.5rem;
    font-weight:500;
    line-height:1.2;
}


h1,
.display-4 {
    font-size:3rem;
    font-weight:300;
}


h3 {
    font-size:1.75rem;
}


h5 {
    font-size:1.25rem;
}


/* ==========================
   UKŁAD
   ========================== */

.container {
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
    padding-left: 15px;
    padding-right: 15px;
}


.row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
}


.row > * {
    padding-left: 15px;
    padding-right: 15px;
}


.col-lg-8 {
    width: 66.666%;
}


.col-lg-4 {
    width: 33.333%;
}


/* ==========================
   FLEX
   ========================== */

.d-flex {
    display: flex;
}


.flex-column {
    flex-direction: column;
}


.justify-content-between {
    justify-content: space-between;
}


.justify-content-center {
    justify-content: center;
}


.align-items-center {
    align-items: center;
}


.align-items-end {
    align-items: flex-end;
}


/* ==========================
   TEKST
   ========================== */

.text-center {
    text-align: center;
}


.text-lg-start {
    text-align: left;
}


.text-lg-end {
    text-align: right;
}


.text-primary {
    color: #0052a5;
}


.text-dark {
    color: #212529;
}


.text-muted {
    color: #6c757d;
}


.text-success {
    color: #198754;
}


.text-info {
    color: #0dcaf0;
}


.fw-bold {
    font-weight: 700;
}


.small {
    font-size: .875rem;
}


.lead {
    font-size: 1.25rem;
}


.display-4 {
    font-size: 3rem;
    font-weight: 300;
}


/* ==========================
   ODSTĘPY
   ========================== */

.my-5 {
    margin-top: 3rem;
    margin-bottom: 3rem;
}


.mb-4 {
    margin-bottom: 1.5rem;
}


.mb-2 {
    margin-bottom: .5rem;
}


.mt-1 {
    margin-top: .25rem;
}


.mt-2 {
    margin-top: .5rem;
}


.py-3 {
    padding-top: 1rem;
    padding-bottom: 1rem;
}


/* ==========================
   HERO
   ========================== */

.hero-emet {

    background: #f0f4f8;
    padding: 60px 0;
    border-bottom: 1px solid #dee2e6;

}


.hero-divider {

    max-width: 100px;
    margin: 25px auto;
    border-top: 3px solid #0052a5;
    opacity: 1;

}
.hero-partners {
    display:flex;
    flex-direction:column;
    align-items:flex-end;
}


.hero-partners a {
    text-decoration:none;
}


.hero-partners a:hover,
.hero-partners a:focus {
    text-decoration:underline;
}




/* ==========================
   HEADER
   ========================== */

.nawa-banner {

    position: fixed;
    top:0;
    left:0;
    width:100%;
    z-index:9999;

    background:#fff;
    box-shadow:
        0 2px 10px rgba(0,0,0,.15);

}


.header-left {

    display:flex;
    align-items:center;
    gap:16px;
    flex-wrap:nowrap;

}


.header-left img {

    width:auto;
    object-fit:contain;

}


#logo-wtie {

    max-height:90px;

}


#header-img {

    max-height:55px;
    max-width:260px;

}


#logo-nawa {

    max-height:35px;

}


/* języki */

.lang-switcher {

    font-weight:600;

}


.lang-switcher a {

    text-decoration:none;

}


/* ==========================
   DOSTĘPNOŚĆ
   ========================== */

.header-tools {

    display:flex;
    flex-direction:column;
    align-items:flex-end;

}


.accessibility-tools {

    display:flex;
    gap:5px;

}


.access-btn {

    border:1px solid #555;
    background:#fff;
    color:#222;

    border-radius:4px;

    padding:4px 8px;

    font-size:.85rem;

    cursor:pointer;

}


.access-btn:hover,
.access-btn:focus {

    background:#0052a5;
    color:#fff;

}


/* ==========================
   KONTRAST WCAG
   ========================== */

body.high-contrast {

    background:#000 !important;
    color:#fff !important;

}


body.high-contrast * {

    background:#000 !important;
    color:#fff !important;
    border-color:#fff !important;

}


body.high-contrast a {

    color:#ffff00 !important;

}


/* ==========================
   ZMIANA CZCIONKI
   ========================== */

body.font-large {
    font-size:110%;
}


body.font-xlarge {
    font-size:125%;
}


/* ==========================
   KARTY
   ========================== */

.card {

    background:#fff;
    border:1px solid #dee2e6;
    border-radius:.375rem;

}


.card-body {

    padding:1rem;

}


.shadow-soft,
.shadow-sm {

    box-shadow:
        0 .25rem 1rem rgba(0,0,0,.08);

}


.task-card {

    border-left:5px solid #0052a5;

}


.recruitment-card {

    border-left:5px solid #198754;

}


.moodle-card {

    background:#212529;
    color:#fff;

}


/* ==========================
   LISTY
   ========================== */

.list-group {

    display:flex;
    flex-direction:column;

}


.list-group-item {

    position:relative;

    display:block;

    padding:1rem;

    background:#fff;

    border:1px solid #dee2e6;

}


.task-active {

    background:#e9f7ef;

    border-left:
        5px solid #28a745;

    border-radius:6px;

}


.task-active:hover {

    background:#dff3e6;

}


/* ==========================
   BUTTONY
   ========================== */

.btn {

    display:inline-block;

    padding:.375rem .75rem;

    border-radius:.375rem;

    text-decoration:none;

    cursor:pointer;

    border:1px solid transparent;

}


.btn-primary {

    background:#0052a5;
    color:white;

}


.btn-secondary {

    background:#6c757d;
    color:white;

}


.btn-outline-light {

    color:white;
    border-color:white;

}


.btn-sm {

    padding:.25rem .5rem;

}


/* ==========================
   BADGE
   ========================== */

.badge {

    display:inline-block;

    padding:.35em .65em;

    border-radius:.375rem;

    font-size:.75rem;

}


.bg-success {

    background:#198754;
    color:white;

}


.bg-secondary {

    background:#6c757d;
    color:white;

}


.bg-info {

    background:#0dcaf0;
    color:#000;

}


.bg-warning {

    background:#ffc107;
    color:#000;

}


/* ==========================
   RESPONSYWNOŚĆ
   ========================== */

@media(max-width:768px){

    .col-lg-8,
    .col-lg-4 {

        width:100%;

    }


    .header-left {

        flex-wrap:wrap;
        justify-content:center;

    }


    .nawa-banner .container {

        flex-direction:column;

    }


    .header-tools {

        align-items:center;

    }


    .display-4 {

        font-size:2rem;

    }

}