.dark_mode #theme_toggle {background-color: rgba(51, 51, 51, .85) !important;}
.dark_mode #theme_toggle:checked {background-color: rgba(204, 204, 204, .5) !important;}
.dark_mode .request_panel {border-color: #404040 !important;}

header {display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; height: auto; min-height: 158px; padding: 0 120px 0 calc(50% - 480px); box-shadow: 0 0 10px rgba(0, 0, 0, .1);}
header a[title="Zur Startseite"] {margin-right: 1rem;}
header .logo {display: inline-block; width: 260px; height: auto;}
#theme_toggle {width: 55px; height: 58px; top: 100px; right: 20px; background-color: rgba(51, 51, 51, .85); cursor: pointer;}
#theme_toggle:checked {background-color: rgba(204, 204, 204, .85);}
.navigation_toggle, .navigation_toggle_label {display: none;}
.navigation {display: inline-flex; position: relative; flex-direction: row; flex-wrap: wrap; justify-content: flex-end;}
.navigation a {display: inline-block; position: relative; width: auto; padding: 27px 25px 24px; font-size: .9rem; line-height: 1.5; text-transform: uppercase; letter-spacing: -0.24px; margin-top: 7px; transition: background-color .3s ease-in;}
.sub_navigation {display: block; position: absolute; width: 210px; visibility: hidden; background-color: inherit; transition: transform .15s ease-in, visibility .15s ease-in; transform: perspective(200px) rotate3d(1, 0, 0, -90deg) scaleY(0); transform-origin: 0 0; transform-style: preserve-3d;}
.sub_navigation_toggle {display: none;}
.sub_navigation_container:hover > .sub_navigation {z-index: 650001; visibility: visible; transform: perspective(200px) rotate3d(0, 0, 0, 0) scaleY(1);}
.navigation .sub_navigation a {width: 100%; padding: 17px 25px 14px; margin-top: 0;}
article, footer {width: 100%; max-width: 960px; margin: 0 auto; padding: 23px 50px;}
article {margin-top: 110px;}
.article_cover {float: left; margin: .3rem 1.5rem 2.3rem .3rem;}
article h3 {font-size: .75rem;}
article h3 + hr {margin: .75rem 0;}
article h4 {font-size: 2.4rem; margin: 1.95rem 0; letter-spacing: -0.2px;}
article h5 {font-size: 1.75rem; margin: 1.75rem 0 .4rem; letter-spacing: -0.2px;}
article h4 + h5 {font-size: 1.5rem; margin-top: 3.5rem;}
article p + hr {margin: 2.1rem auto 2.5rem;}
article img + strong {display: inline-block; margin: .4rem 0 1.5rem;}
.to_top {width: 2rem; height: 2rem; right: 80px; bottom: 60px; border-radius: 4px; border: 1px solid rgba(255, 255, 255, .5); background-color: rgba(0, 0, 0, .5); background-image: url("../gfx/to_top_semi.svg"); cursor: pointer; z-index: 100;}
.to_top:hover {background-image: url("../gfx/to_top.svg"); background-position-y: -60px; transition: background-position-y 1s cubic-bezier(.35, .75, .59, .93);}
.image_slider {width: 478px; height: 356px; margin: .5rem .81rem;}
.image_slider + p {float: right; max-width: calc(100% - 504px); padding: .5rem 1.45rem;}
.image_slider button {margin-top: calc(159px - 1rem); width: 2rem; height: 2rem; border-radius: 1rem; background-size: 1.4rem;}
.image_slider .image_slider_play_button {width: 2.4rem; height: 2.4rem; margin-top: calc(159px - 1.2rem); border-radius: 1.2rem;}
.image_slider_prev_button {margin-left: 2px;}
.image_slider_next_button {margin-left: 444px;}
.image_slider_play_button {margin-left: calc(239px - 1.2rem);}
.image_slide {width: 478px; height: 318px; margin-left: -478px;}
.image_tile_selection_panel {display: inline-block; width: calc(25% - 1rem); margin-right: 1rem;}
.image_tile_selection_panel:nth-of-type(4n) {margin-right: 0;}
.image_slider_toggle_labels {height: 38px; margin-top: 318px;}
.image_slider_toggle_labels label {width: 25px; height: 25px; margin: 0 2px;}
.text_tile_panel {display: inline-block; width: 32.33%; margin-right: 1%; vertical-align: top;}
.text_tile_panel:nth-of-type(3n) {margin-right: 0;}
.text_tile_panel:last-of-type {margin-bottom: 2rem;}
.text_tile_panel h5 {font-size: 1.5rem; margin-top: 1.6rem;}
.half {width: calc(50% - 1rem); margin-right: 1rem;}
.half:nth-of-type(2n) {margin-right: 0;}
.contact_grid {display: grid; width: 100%; grid-template-columns: repeat(2, 1fr); gap: 1rem;}
.contact_grid input:not([type="submit"]), form textarea {width: 307px;}
.contact_grid > .text_tile_panel {width: 100%;}
.contact_grid > div.text_tile_panel:nth-of-type(1) {grid-column-start: 1; grid-column-end: 1; grid-row-start: 1; grid-row-end: 1;}
.contact_grid > div.text_tile_panel:nth-of-type(2) {grid-column-start: 1; grid-column-end: 1; grid-row-start: 2; grid-row-end: 2;}
.contact_grid > form.text_tile_panel {grid-column-start: 2; grid-column-end: 2; grid-row-start: 1; grid-row-end: 3;}
.request_panel {padding: 2rem calc(50% - 330px); border: 1px solid #999999;}
.request_panel select[name="title"], .request_panel input[name="predial"] {width: 20%;}
.request_panel input[name="predial"] {margin-right: 2%;}
.request_panel input[name="firstname"] {width: 33%;}
.request_panel input[name="lastname"] {width: 43%;}
form.half {float: right;}
.database_article h5 {font-size: 1.25rem; margin: 2.4rem 0;}
.admin_panel .new_entry_checkbox, .admin_panel .new_entry_checkbox + label::after {margin-left: 828px;}
footer {display: flex; flex-direction: row; flex-wrap: wrap; background-color: #333333; color: #FFFFFF;}
footer hr {width: calc(100% - .6rem); margin: 2.65rem .3rem .85rem .3rem;}
footer a {color: #FFFFFF;}
footer a:hover {text-decoration: none;}
footer .footer_col {display: inline-block; width: 33.33%; padding-right: 2%; flex-shrink: 0;}
footer .footer_col h5 {font-size: 1.5rem; line-height: 1.25; padding: .8rem .3rem .4rem;}
footer .footer_col p {padding: .3rem; line-height: 1.5;}
footer .footer_foot {display: block; width: 100%; flex-shrink: 0; font-size: .8em; line-height: 1.5;}