/*
 * KamaJob - style dodane poza motywem (style.css):
 *  - baner i panel zgody na pliki cookies,
 *  - strona Polityki prywatnosci i plikow cookies,
 *  - karty ofert pracy,
 *  - zastepnik zablokowanej mapy Google.
 */

/* ============================ baner cookies ============================ */

.cookie-banner {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9998;
    background: #ffffff;
    border-top: 4px solid #FF8000;
    box-shadow: 0 -2px 14px rgba(0, 0, 0, 0.22);
    padding: 1.25em 0;
    font-family: 'Open Sans', sans-serif;
}

.cookie-banner-inner {
    display: block;
}

.cookie-banner-text h4 {
    margin: 0 0 0.5em;
    font-size: 1.15em;
    font-weight: 700;
    color: #333333;
    font-family: 'Roboto Condensed', sans-serif;
}

.cookie-banner-text p {
    margin: 0 0 0.6em;
    font-size: 0.8125em;
    line-height: 1.7em;
    color: #555555;
}

.cookie-banner-text a {
    color: #FF8000;
    text-decoration: underline;
}

.cookie-banner-actions {
    margin-top: 0.75em;
}

/* Przyciski. Akceptacja i odrzucenie maja identyczny rozmiar, kolor i wage
   czcionki - rezygnacja nie moze byc trudniejsza od zgody. */
.cookie-btn {
    display: inline-block;
    min-width: 190px;
    margin: 0 0.5em 0.5em 0;
    padding: 0.75em 1.25em;
    border: 2px solid #FF8000;
    border-radius: 2px;
    font-family: 'Open Sans', sans-serif;
    font-size: 0.875em;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.cookie-btn-primary {
    background: #FF8000;
    color: #ffffff;
}

.cookie-btn-primary:hover,
.cookie-btn-primary:focus {
    background: #e67300;
    border-color: #e67300;
    color: #ffffff;
}

.cookie-btn-secondary {
    background: #ffffff;
    color: #cc6600;
}

.cookie-btn-secondary:hover,
.cookie-btn-secondary:focus {
    background: #fff3e6;
    color: #cc6600;
}

.cookie-btn:focus {
    outline: 3px solid #333333;
    outline-offset: 2px;
}

/* ========================= panel ustawien cookies ======================= */

.cookie-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
}

.cookie-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.55);
}

.cookie-modal-dialog {
    position: relative;
    max-width: 720px;
    margin: 3vh auto;
    max-height: 94vh;
    overflow-y: auto;
    background: #ffffff;
    border-top: 4px solid #FF8000;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);
    font-family: 'Open Sans', sans-serif;
}

.cookie-modal-head {
    position: relative;
    padding: 1.1em 3em 1.1em 1.5em;
    border-bottom: 1px solid #e6e6e6;
}

.cookie-modal-head h4 {
    margin: 0;
    font-size: 1.25em;
    font-weight: 700;
    color: #333333;
    font-family: 'Roboto Condensed', sans-serif;
}

.cookie-modal-close {
    position: absolute;
    top: 0.6em;
    right: 0.6em;
    width: 2em;
    height: 2em;
    padding: 0;
    background: none;
    border: 0;
    font-size: 1.5em;
    line-height: 1;
    color: #777777;
    cursor: pointer;
}

.cookie-modal-close:hover,
.cookie-modal-close:focus {
    color: #333333;
}

.cookie-modal-body {
    padding: 1.25em 1.5em;
}

.cookie-modal-body > p {
    margin: 0 0 1.25em;
    font-size: 0.8125em;
    line-height: 1.7em;
    color: #555555;
}

.cookie-modal-body a {
    color: #FF8000;
    text-decoration: underline;
}

.cookie-cat {
    padding: 1em 0;
    border-top: 1px solid #eeeeee;
}

.cookie-cat-head {
    display: block;
    margin: 0 0 0.5em;
    font-weight: 600;
    cursor: pointer;
}

.cookie-cat-head input {
    margin-right: 0.6em;
    vertical-align: middle;
}

.cookie-cat-name {
    font-size: 1em;
    color: #333333;
    vertical-align: middle;
}

.cookie-cat-always {
    margin-left: 0.6em;
    padding: 0.15em 0.6em;
    background: #f0f0f0;
    border-radius: 2px;
    font-size: 0.75em;
    font-weight: 600;
    color: #777777;
    text-transform: uppercase;
    vertical-align: middle;
}

.cookie-cat-desc {
    margin: 0 0 0.5em;
    font-size: 0.8125em;
    line-height: 1.7em;
    color: #555555;
}

.cookie-cat-list {
    margin: 0;
    font-size: 0.75em;
    line-height: 1.8em;
    color: #777777;
}

.cookie-cat-list code,
.legal-table code {
    padding: 0.1em 0.35em;
    background: #f6f6f6;
    border: 1px solid #e6e6e6;
    border-radius: 2px;
    font-size: 0.95em;
    color: #444444;
}

.cookie-modal-actions {
    padding: 1em 1.5em 1.25em;
    border-top: 1px solid #e6e6e6;
    background: #fafafa;
}

body.cookie-modal-open {
    overflow: hidden;
}

/* =============== zastepnik tresci zablokowanej do zgody ================ */

.cookie-placeholder {
    padding: 2em 1.5em;
    background: #f6f6f6;
    border: 1px dashed #cccccc;
    text-align: center;
    font-family: 'Open Sans', sans-serif;
}

.cookie-placeholder h5 {
    margin: 0 0 0.6em;
    font-size: 1.05em;
    font-weight: 700;
    color: #333333;
}

.cookie-placeholder p {
    max-width: 560px;
    margin: 0 auto 1em;
    font-size: 0.8125em;
    line-height: 1.7em;
    color: #555555;
}

.cookie-placeholder a {
    color: #FF8000;
    text-decoration: underline;
}

.cookie-placeholder-fallback {
    margin-top: 1em;
    font-size: 0.8125em;
    color: #777777;
}

/* ============================= oferty pracy ============================ */

.offer {
    margin: 1.5em 0;
    padding: 1.5em;
    background: #fbfbfb;
    border: 1px solid #e6e6e6;
    border-left: 4px solid #FF8000;
    text-align: left;
}

.offer-title {
    margin: 0 0 0.25em;
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 1.3em;
    font-weight: 700;
    color: #333333;
    text-transform: uppercase;
}

.offer-type {
    margin: 0 0 1.2em !important;
    font-size: 0.8125em;
    font-weight: 600;
    color: #FF8000;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.offer h5 {
    margin: 1.2em 0 0.4em;
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 1.05em;
    font-weight: 700;
    color: #333333;
}

.offer p {
    margin: 0.4em 0;
    font-size: 0.875em;
    line-height: 1.8em;
    color: #777777;
}

.offer-list {
    margin: 0 0 0.4em;
    padding: 0;
    list-style: none;
}

.offer-list li {
    position: relative;
    padding-left: 1.5em;
    font-size: 0.875em;
    line-height: 1.9em;
    color: #777777;
}

.offer-list li:before {
    content: "\2713";
    position: absolute;
    left: 0;
    color: #FF8000;
    font-weight: 700;
}

.offer-file {
    margin-top: 1.5em !important;
}

.offer-file a {
    color: #FF8000;
    font-weight: 600;
    text-decoration: underline;
}

.offer-apply {
    margin-top: 2em;
    padding-top: 1.5em;
    border-top: 1px solid #e6e6e6;
    text-align: left;
}

.offer-apply p {
    font-size: 0.875em;
    line-height: 1.8em;
    color: #777777;
}

.offer-apply a {
    color: #FF8000;
    text-decoration: underline;
}

.offer-clause {
    padding: 1em 1.25em;
    background: #f6f6f6;
    border-left: 3px solid #cccccc;
    font-style: italic;
}

/* ====================== strona dokumentow prawnych ===================== */

.legal {
    text-align: left;
}

.legal h3 {
    margin: 0 0 1em;
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 1.7em;
    font-weight: 700;
    color: #333333;
}

.legal h4 {
    margin: 1.8em 0 0.6em;
    padding-bottom: 0.35em;
    border-bottom: 2px solid #FF8000;
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 1.2em;
    font-weight: 700;
    color: #333333;
}

.legal h5 {
    margin: 1.3em 0 0.4em;
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 1.02em;
    font-weight: 700;
    color: #444444;
}

.legal p {
    margin: 0.7em 0;
    font-size: 0.875em;
    line-height: 1.85em;
    color: #666666;
}

.legal a {
    color: #FF8000;
    text-decoration: underline;
}

.legal-list {
    margin: 0.5em 0 1em;
    padding-left: 1.4em;
}

.legal-list li {
    margin-bottom: 0.5em;
    font-size: 0.875em;
    line-height: 1.85em;
    color: #666666;
}

.legal-toc {
    margin: 0 0 1.5em;
    padding: 1.2em 1.5em;
    background: #fafafa;
    border: 1px solid #e6e6e6;
}

.legal-toc strong {
    display: block;
    margin-bottom: 0.5em;
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 1.05em;
    color: #333333;
}

.legal-toc ul {
    margin: 0;
    padding-left: 1.3em;
}

.legal-toc li {
    font-size: 0.875em;
    line-height: 1.9em;
}

.legal-sep {
    margin: 3em 0 2em;
    border: 0;
    border-top: 3px solid #FF8000;
}

.legal-table-wrap {
    margin: 1em 0 1.5em;
    overflow-x: auto;
}

.legal-table {
    width: 100%;
    min-width: 640px;
    border-collapse: collapse;
    font-size: 0.8125em;
}

.legal-table th,
.legal-table td {
    padding: 0.7em 0.8em;
    border: 1px solid #e0e0e0;
    line-height: 1.65em;
    text-align: left;
    vertical-align: top;
}

.legal-table thead th {
    background: #FF8000;
    border-color: #FF8000;
    color: #ffffff;
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: 700;
}

.legal-table tbody tr:nth-child(even) {
    background: #fafafa;
}

.legal-table td {
    color: #666666;
}

.cookie-settings-btn {
    display: inline-block;
    padding: 0.7em 1.4em;
    background: #FF8000;
    border: 2px solid #FF8000;
    color: #ffffff !important;
    font-weight: 600;
    text-decoration: none !important;
}

.cookie-settings-btn:hover,
.cookie-settings-btn:focus {
    background: #e67300;
    border-color: #e67300;
}

/* =============================== stopka ================================ */

.footer-legal {
    margin-top: 1em;
}

/* nowrap na linkach + spacje w markupie: wiersz lami sie miedzy pozycjami,
   nigdy w srodku nazwy dokumentu */
.footer-legal a {
    display: inline-block;
    color: #cccccc;
    font-size: 0.8125em;
    text-decoration: underline;
    white-space: nowrap;
}

.footer-legal a:hover,
.footer-legal a:focus {
    color: #FF8000;
}

.footer-legal .sep {
    display: inline-block;
    margin: 0 0.25em;
    color: #666666;
    font-size: 0.8125em;
}

/* Na waskich ekranach separatory tylko zasmiecaja - kazdy link w swoim wierszu. */
@media (max-width: 991px) {
    .footer-legal a {
        display: block;
        margin-bottom: 0.35em;
    }

    .footer-legal .sep {
        display: none;
    }
}

/* ============================== responsive ============================= */

@media (min-width: 992px) {
    .cookie-banner-inner {
        display: table;
        width: 100%;
    }

    .cookie-banner-text {
        display: table-cell;
        width: 62%;
        padding-right: 2em;
        vertical-align: middle;
    }

    .cookie-banner-actions {
        display: table-cell;
        margin-top: 0;
        text-align: right;
        vertical-align: middle;
        white-space: nowrap;
    }

    .cookie-banner-actions .cookie-btn {
        display: block;
        width: 100%;
        margin: 0 0 0.6em 0;
    }

    .cookie-banner-actions .cookie-btn:last-child {
        margin-bottom: 0;
    }
}

@media (max-width: 767px) {
    .cookie-banner {
        max-height: 85vh;
        overflow-y: auto;
        padding: 1em 0;
    }

    .cookie-btn {
        display: block;
        width: 100%;
        min-width: 0;
        margin: 0 0 0.6em 0;
    }

    .cookie-modal-dialog {
        margin: 0;
        max-height: 100vh;
        min-height: 100vh;
    }

    .offer,
    .legal-toc {
        padding: 1.1em;
    }
}
