:root {
  --jmb-blue: #000073;
  --jmb-blue-darker: #010061;
  --jmb-red: #FF2346;
  --jmb-berry: #AA005F;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; font-weight: normal; font-style: normal; word-wrap: break-word; }
.element-invisible { position: absolute !important; clip: rect(1px,1px,1px,1px); overflow: hidden; width: 1px; height: 1px; }
.clearfix::before, .clearfix::after { content: " "; display: table; }
.clearfix::after { clear: both; }

/* Overwrite Drupal Base CSS */
ul.menu li { margin: 0; padding: 0; }
li a.active { color: inherit; }
.clearfix::after { content: none; } /* stört sonst Flexbox */
tbody { border-top: 0px solid #ccc; }

/* Bugfixing for iOS */
input { border-radius: 0; }
input[type="search"] { -webkit-appearance: none; }

/* Basics */

html { font-family: JMBProM, sans-serif; font-size: 62.5%; scrollbar-color: #FF2346 #000073; scroll-behavior: smooth; overflow-x: hidden; }
::-webkit-scrollbar { background: #000073; }
::-webkit-scrollbar-thumb { background: #FF2346; border: 2px solid #000073; -webkit-border-radius: 2px; }
body { min-height: 100vh; font-size: 2.2rem; line-height: 3rem; overflow-x: hidden; scroll-behavior: smooth; }
html[lang="es"] main, html[lang="fr"] main, html[lang="it"] main { margin-top: 80px; }
header, footer { position: relative; display: block; width: 100%; clear: both; }
main { width: 100%; margin: 0 auto; }
body.menu-fixed main { margin-top: 155px; }
body.node-type-manual main { margin-bottom: 160px; }
/*
@media only screen and (max-width: 960px) {
	main { margin-top: 80px; }
}
*/

#main-content { scroll-margin-top: 155px; }

.front #block-system-main, .page-node-6577 #block-system-main { width: 100%; margin: 0; }

h1, h2, h3, h4, h5, h6, p, li, ul, ol { margin-top: 0; }
h1 { font-family: Headline, sans-serif; font-size: 9rem; line-height: 8rem; -moz-font-feature-settings: "ss01"; -webkit-font-feature-settings: "ss01"; font-feature-settings: "ss01"; }
h1.medium { font-size: 7.2rem; line-height: 6.4rem; }
h2, p.subtitle { font-family: JMBProBo, sans-serif; font-size: 3.5rem; line-height: 4rem; margin-bottom: 20px; }
h2.subhead { font-family: JMBProBo, sans-serif; font-size: 2.5rem; line-height: 3rem; }
h3 { font-family: JMBProBo, sans-serif; font-size: 2.5rem; line-height: 3rem; margin-bottom: 20px; }
h4 { font-family: JMBProBo, sans-serif; font-size: 2.2rem; line-height: 3rem; margin-bottom: 20px; }
h5 { font-family: JMBProM, sans-serif; font-size: 2.2rem; line-height: 3rem; margin-bottom: 0; }
h6 { font-family: JMBProM, sans-serif; font-size: 2.2rem; line-height: 3rem; margin-bottom: 0; }

h1 em, h1 i, h1 cite,
h2 em, h2 i, h2 cite,
h3 em, h3 i, h3 cite,
h4 em, h4 i, h4 cite,
p.subtitle em, p.subtitle i, p.subtitle cite
{ font-family: JMBProBoI, sans-serif; }

p { font-family: JMBProM, sans-serif; font-size: 2.2rem; line-height: 3rem; margin-bottom: 3rem; }
p.medium { font-size: 1.9rem; line-height: 2.6rem; }
p.small { font-size: 1.6rem; line-height: 2.2rem; margin-bottom: 12px; }
p:last-child { margin-bottom: 0; }
p.editor { color: #979797; }

address { margin-bottom: 3rem; }

.nowrap { white-space: nowrap; }

:lang(he) { font-family: Arial, sans-serif; font-weight: bold; }
h1 :lang(he), h2 :lang(he), h3 :lang(he), h4 :lang(he) { font-family: Arial, sans-serif; font-weight: bold; }

p:lang(he) { text-align: right; }
blockquote:lang(he) { text-align: right; padding-left: 0; border-left: 0px solid #FF2346; padding-right: 20px; border-right: 2px solid #FF2346; }

.inline { display: inline; }

strong, b { font-family: JMBProBo, sans-serif; font-weight: normal; font-style: normal; }
em, i, cite { font-family: JMBProMI, sans-serif; font-weight: normal; font-style: normal; }
strong em, em strong, b i, i b, strong cite, cite strong, b cite, cite b { font-family: JMBProBoI, sans-serif; font-weight: normal; font-style: normal; }

h2 em, h2 i, h2 cite, h3 em, h3 i, h3 cite, h4 em, h4 i, h4 cite { font-family: JMBProBoI, sans-serif; font-weight: normal; font-style: normal; }

blockquote { font-family: JMBProMI, sans-serif; font-style: none; font-size: 1.9rem; line-height: 2.6rem; padding-left: 20px; border-left: 2px solid #FF2346; margin-bottom: 40px; }
blockquote:last-child { margin-bottom: 0; }
blockquote * { font-family: JMBProMI, sans-serif; }
blockquote cite { font-family: JMBProM,sans-serif; }

q::before, q::after { content: ""; }

main ul, main ol { margin: 0 0 3rem 0; }
main ol { list-style-position: inside; }
main ul { list-style: none; }
main ul li { position: relative; padding-left: 20px; }
main ul li::before { position: absolute; top: 0; left: 0; content: "•"; }
main ul.no-bullets { list-style: none; margin-left: 0; padding: left: 0; }
main ul.no-bullets li { padding: 0; margin-bottom: 20px; }
main ul.no-bullets li::before { content: ""; margin-right: 0; }
main ul.no-bullets li:last-child { margin-bottom: 0; }

table { width: 100%; margin-bottom: 40px; border-collapse: collapse; }
tr { border-top: 1px solid #C4C4C4; }
th, td { font-size: 1.9rem; line-height: 3rem; padding: 15px 20px 15px 0; vertical-align: top; }
td:last-child { padding-right: 0; }
th { padding: 15px 0; border-top: 4px solid #C4C4C4; border-bottom: 4px solid #C4C4C4; text-align: left; }
.table__vertical th { border-top: 1px solid #C4C4C4; border-bottom: 1px solid #C4C4C4; padding: 15px 20px 15px 0; }
.table__vertical tr:last-child th { border-bottom: 0px solid #C4C4C4; }

.date-large { font-family: JMBProBo, sans-serif; font-size: 3.5rem; line-height: 3.7rem; }
.date-medium { font-family: JMBProBo, sans-serif; font-size: 2.2rem; line-height: 2.4rem; }
.date-small { font-family: JMBProM, sans-serif; font-size: 1.6rem; line-height: 1.8rem; }

img { display: block; max-width: 100%; height: auto; }
video, audio { max-width: 100%; }
video { width: 100%; height: auto; }
figure { position: relative; }
figure img, figure audio, figure video, .video-js { margin-bottom: 20px; }
figcaption, figcaption p { font-size: 1.6rem; line-height: 2.2rem; }

a { color: inherit; text-decoration: none; border-bottom: 1px solid black; }
a:hover, a:focus { border: none; }

button { background: transparent; border: none; }
button:hover, button:focus { cursor: pointer; }

.notransition {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -o-transition: none !important;
  transition: none !important;
}

/* Sprungmarken */
main [id] {
  scroll-snap-margin-top: 80px;
  scroll-margin-top: 80px;
}

/* Verhältnisse */
.display_16_9 { border: 0; width: 100%; height: auto; aspect-ratio: 16 / 9; }
.display_1_1 { border: 0; width: 100%; height: auto; aspect-ratio: 1 / 1; }

@media only screen and (max-width: 590px) {
	h1 { font-size: 5.4rem; line-height: 4.8rem; }
	h1.medium { font-size: 4.3rem; line-height: 3.8rem; }
	.date-large { font-size: 2.2rem; line-height: 2.4rem; }
	.span3p img, .span4 img { width: 100%; height: auto; }
}