/* --- pisave (prevzete iz obstoječega MOL projekta) --- */
@font-face {
    font-family: CalibriRegular;
    src: url(/fonts/Calibri-Regular.woff) format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: CalibriItalic;
    src: url(/fonts/Calibri-Italic.woff) format('woff');
    font-weight: 400;
    font-style: italic;
    font-display: swap
}

@font-face {
    font-family: CalibriBold;
    src: url(/fonts/Calibri-Bold.woff) format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: CalibriBoldItalic;
    src: url(/fonts/Calibri-BoldItalic.woff) format('woff');
    font-weight: 700;
    font-style: italic;
    font-display: swap
}

/* --- barve dogodka (odčitane iz vabila) --- */
:root {
    --mol-green: #006B4F;
    --mol-green-dark: #004F3B;
    --mol-gold: #D4A94B;
    --mol-text: #2b2b2b;
}

@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1000px;
    }
}

/* noga naj sede na dno tudi pri kratkih straneh (zahvala) */
html, body {
    height: 100%;
}

body {
    color: var(--mol-text);
    font-family: CalibriRegular, Calibri, Candara, Segoe, "Segoe UI", Optima, Arial, sans-serif;
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

main {
    flex: 1 0 auto;
}

a {
    text-decoration: none;
}

/* --- glava --- */
header {
    background-color: #fff;
    box-shadow: 0 .125rem .3125rem rgba(0,0,0,.13);
}

.logo {
    display: block;
    margin: 10px 0;
}

.logo img {
    display: block;
    height: 50px;
}

.lang-switch {
    color: var(--mol-green);
    font-family: CalibriBold;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: .875rem;
    padding: 6px 14px;
    border: 1px solid var(--mol-green);
    border-radius: 999px;
    transition: all .1s ease-in-out;
}

.lang-switch:hover, .lang-switch:focus-visible {
    background-color: var(--mol-green);
    color: #fff;
}

/* --- vsebina --- */
main {
    background-color: var(--mol-green);
    background-image: url(/img/bg-mol30.jpg);
    background-position: top center;
    background-size: cover;
    padding: 20px 0 40px;
}

/* fixed background je na iOS Safariju problematičen - samo na večjih zaslonih */
@media (min-width: 768px) {
    main {
        background-attachment: fixed;
    }
}

.banner {
    margin-bottom: 20px;
}

.banner img {
    display: block;
    width: 100%;
    border-radius: 10px;
}

.box-content {
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 .125rem .625rem rgba(0,0,0,.18);
    padding: 24px;
}

.box-content a {
    color: var(--mol-green);
    text-decoration: underline;
}

h1 {
    font-family: CalibriBold;
    font-size: 22px;
    font-weight: 700;
    color: var(--mol-green);
    margin-bottom: 6px;
}

.event-when {
    font-family: CalibriBold;
    color: var(--mol-gold);
    margin-bottom: 24px;
}

h2 {
    font-family: CalibriBold;
    font-size: 20px;
    color: var(--mol-green);
    margin: 24px 0 12px;
}

/* --- obrazec --- */
.form-control:focus, .form-check-input:focus {
    border-color: var(--mol-green);
    box-shadow: 0 0 0 .2rem rgba(0,107,79,.2);
}

.form-check-input:checked {
    background-color: var(--mol-green);
    border-color: var(--mol-green);
}

.form-check .form-check-label {
    font-family: CalibriBold;
}

/* Bootstrapov .invalid-feedback pod .form-check se sicer ne prikaže brez :invalid na inputu */
.was-validated .form-check-input:invalid ~ .invalid-feedback {
    display: block;
}

.field-error {
    display: block;
    color: #dc3545;
    font-size: .875rem;
    margin-top: .25rem;
}

.field-error:empty {
    display: none;
}

.gdpr-notice {
    color: #5a5a5a;
    margin: 16px 0 24px;
}

.btn-primary {
    background-color: var(--mol-green);
    border-color: var(--mol-green);
    font-family: CalibriBold;
    letter-spacing: .03em;
    padding: 12px 28px;
    /* dolga slovenska oznaka odjave se mora na ozkih zaslonih preliti v dve vrstici */
    white-space: normal;
    max-width: 100%;
}

.btn-primary:hover, .btn-primary:active, .btn-primary:focus-visible, :not(.btn-check) + .btn:active {
    background-color: var(--mol-gold);
    border-color: var(--mol-gold);
    color: var(--mol-green-dark);
}

.decline-link {
    margin-top: 24px;
    margin-bottom: 0;
    font-size: .9375rem;
}

/* prazen validation summary ne sme puščati praznega rdečega okvirja */
.validation-summary-valid {
    display: none;
}

/* --- noga --- */
footer {
    background-color: var(--mol-green-dark);
    color: #fff;
    font-size: .875rem;
}

footer img {
    height: 34px;
    margin-right: 12px;
}

@media (min-width: 992px) {
    .box-content {
        padding: 40px;
    }

    h1 {
        font-size: 30px;
    }

    h2 {
        font-size: 24px;
    }
}
