@font-face {
    font-family: 'PetalaPro_Regular';
    src: url('../Fonts/PetalaPro_Regular-webfont.woff2') format('woff2'),
         url('../Fonts/PetalaPro_Regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'PetalaPro_Italic';
    src: url('../Fonts/PetalaPro_Italic-webfont.woff2') format('woff2'),
         url('../Fonts/PetalaPro_Italic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'PetalaPro_Bold';
    src: url('../Fonts/PetalaPro_Bold-webfont.woff2') format('woff2'),
         url('../Fonts/PetalaPro_Bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

body {
    font-family: 'PetalaPro_Regular', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
}

strong, b {
    font-family: 'PetalaPro_Bold', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
}

/* BDSupper headings */
@font-face {
    font-family: 'BDSupper';
    src: url('../Fonts/BDSupper-Regular.woff2') format('woff2'),
         url('../Fonts/BDSupper-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'BDSupper';
    src: url('../Fonts/BDSupper-Bold.woff2') format('woff2'),
         url('../Fonts/BDSupper-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}

html {
    font-size: 17px;
}

:root {
    --ff-beige: #f1ecea;
    --ff-lilac: #bdabd0; /* Flieder */
    --ff-orange: #ff7034; /* RGB Variante */
    --ff-blue: #6363a5;
    --ff-lilac-darker: #786190;

    --bs-primary: var(--ff-orange);
    --bs-secondary: var(--ff-blue);
    --bs-light: var(--ff-beige);
    --bs-border-radius: 0;
}

h1, h2, h3, h4, h5, h6, .display-1, .display-2, .display-3, .display-4, .display-5, .display-6 {
    font-family: 'BDSupper', 'PetalaPro_Bold', 'PetalaPro_Regular', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
}

/* Global text color beige */
body {
    color: var(--ff-beige);
    background-color: var(--ff-lilac);
    padding-top: 4.5rem;
}

section p:last-child {
    margin-bottom: 0;
}

a {
    color: inherit;
}

a {
    text-decoration-thickness: 1px;
    text-underline-offset: 0.2em;
}

.navbar {
    background-color: var(--ff-blue) !important;
    color: var(--ff-beige);
    border-bottom: 1px solid var(--ff-lilac);
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
}
.navbar .navbar-brand, .navbar .nav-link {
    color: var(--ff-beige);
}
.navbar .nav-link.active, .navbar .nav-link:focus, .navbar .nav-link:hover {
    color: var(--ff-beige);
}

/* Mobile navbar toggler in white */
.navbar .navbar-toggler {
    border-color: #fff;
}
.navbar .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255,255,255,1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-toggler:focus {
    box-shadow: none;
}

.btn-primary {
    --bs-btn-bg: var(--ff-orange);
    --bs-btn-border-color: var(--ff-orange);
    --bs-btn-hover-bg: #e9642d;
    --bs-btn-hover-border-color: #e9642d;
    --bs-btn-color: #fff;
    --bs-btn-active-bg: #e9642d;
    --bs-btn-active-border-color: #e9642d;
}

.bg-secondary {
    background-color: var(--ff-lilac-darker) !important;
}

.btn-outline-primary {
    --bs-btn-color: var(--ff-orange);
    --bs-btn-border-color: var(--ff-orange);
    --bs-btn-hover-bg: var(--ff-orange);
    --bs-btn-hover-border-color: var(--ff-orange);
    --bs-btn-hover-color: #fff;
}


.btn-outline-secondary {
    --bs-btn-color: var(--ff-beige);
    --bs-btn-border-color: var(--ff-beige);
    --bs-btn-hover-color: var(--ff-orange);
    --bs-btn-hover-bg: var(--ff-beige);
    --bs-btn-hover-border-color: var(--ff-beige);
    --bs-btn-active-color: var(--ff-orange);
    --bs-btn-active-bg: var(--ff-beige);
    --bs-btn-active-border-color: var(--ff-beige);
}

/* Remove blue tap highlight on mobile for filter buttons */
/*
#movie-filter-bar .btn {
    -webkit-tap-highlight-color: transparent;
}
#movie-filter-bar .btn:focus,
#movie-filter-bar .btn:active {
    box-shadow: none;
}
*/

.bg-light-subtle { background-color: color-mix(in srgb, var(--ff-lilac) 80%, white) !important; }

.card { background-color:  var(--ff-blue); border: none; box-shadow: none; }
.card-title { color: var(--ff-orange); }
.card-text { color: var(--ff-beige); }

/* Alternating section backgrounds */
section:nth-of-type(odd) { background-color: var(--ff-lilac); }
section:nth-of-type(even) { background-color: var(--ff-blue); }
section { color: var(--ff-beige); }

/* Headings orange */
h1, h2, h3, h4, h5, h6 { color: var(--ff-orange); }

/* Footer */
.site-footer {
    background-color: var(--ff-lilac-darker);
    color: var(--ff-beige);
    border-top: 1px solid var(--ff-lilac);
}
.site-footer .partner-logo {
    height: 120px;
    width: auto;
    opacity: .9;
    filter: none;
    margin: 0 3rem;
}

/* Ensure in-page anchors are not hidden behind the sticky navbar */
section .container[id], #home {
    scroll-margin-top: 80px; /* approx navbar height incl. spacing */
}

.embed-responsive {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
}
.embed-responsive iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.table>:not(caption)>*>* {
    color: inherit;
    background-color: transparent;
}

.social-gdpr-youtube-video, .social-gdpr-vimeo-video, .social-gdpr-google-maps, .social-gdpr-osm-map {
    min-width: 200px;
    min-height: 20vh;
}

.timeslot-multiple:not(:last-child) td {
    border-bottom: none;
}

tr:first-child td {
    border-top-width: var(--bs-border-width);
}

/* Ensure a divider appears before the next non-group row after a timeslot group */
.timeslot-multiple + tr:not(.timeslot-multiple) td {
    border-top: var(--bs-border-width) solid var(--bs-border-color);
}

.timeslot-multiple td {
    background-color: rgba(255, 255, 255, 0.08);
}

.movie-schedule .small {
    padding: 0 0.75rem;
}

.table>:not(caption)>*>* {
    padding: 1rem;
}

.shortfilm {
    padding: 0.5rem 1rem !important;
    background-color: rgba(255, 255, 255, 0.08);
}

.social-gdpr-youtube-video, .social-gdpr-vimeo-video, .social-gdpr-google-maps, .social-gdpr-osm-map {
    position: absolute;
    width: 100%;
    height: 100%;
    min-height: 100%;
    min-width: 100%;
}