body, button, input, optgroup, select, textarea, label {  font-size: 20px;  line-height: 1.5; }
.corp-container {  max-width: 1580px; }

.site-header.stuck { box-shadow: none; }
.site-header .site-branding { max-width: 280px; }

h1, h1.entry-title, h1 label { font-size: 40px; text-transform: uppercase; }
h2 { font-size: 36px; }
h3, h3.entry-title { font-size: 32px; }
h4 { font-size: 28px; }
h5 { font-size: 24px; }
h6 { font-size: 22px; }
p { text-align: justify; }
.noshow { display: none; }

.main-navigation ul li {  font-size: 1.2rem;  margin: 0 10px;  padding: 10px; }
.main-navigation ul li:hover, .main-navigation ul li.current-menu-item, .main-navigation ul li.current_page_ancestor { background: #018dc8; border-radius: 3px; }
.main-navigation ul li.featured { padding: 20px; border: 2px solid #018dc8; border-radius: 3px;}
.main-navigation ul li.featured a { color: #018dc8; }
.main-navigation ul li:hover a, .main-navigation:not(.link-underline) div > ul:not(.cart_list) > li.current-menu-item > a { color: #fff; }
#masthead #mobile-menu-button { display: none !important; }
.main-navigation ul .children, .main-navigation ul .sub-menu { top: 75px; left: 0; }
.main-navigation ul .sub-menu a:hover, .main-navigation ul .sub-menu li.current-menu-item a { font-weight: 700; }


.rmp-menu-title-image { margin: 0 0 20px 0 !important; }
.rmp-menu-item-link { font-family: Oswald !important; text-transform: uppercase; font-weight: 700 !important; }
.featured .rmp-menu-item-link {  border: 2px solid #018dc8 !important;		margin: 2% 0 !important; height: auto !important; padding-top: 2% !important; padding-bottom: 2% !important; }
.featured .rmp-menu-sub-level-item .rmp-menu-item-link  { border: none !important; }

.site-footer {  font-size: 16px; }
.footer-menu .menu li {  font-size: 16px;  margin: 0 10px; }

.entry-meta span.featured-post::before, .sow-entry-meta span.sow-featured-post::before { 		content: "\f08d"; 		font: var(--fa-font-solid); }
.entry-meta span.featured-post::after, .sow-blog article .sow-entry-meta span:not(:last-child)::after { 		content: ""; 		padding: 0 5px 0 0; 		font: normal; }

#scroll-to-top img, #scroll-to-top svg {  height: 25px; opacity: .8;  width: 25px; }
#scroll-to-top {  background: rgba(0,0,0,.65);  height: 55px;  padding-top: 14px;  position: fixed;  right: 20px;    width: 55px;  border-radius: 30px; box-shadow: 0px 3px 5px -1px rgba(0,0,0,0.2),0px 6px 10px rgba(0,0,0,0.14),0px 1px 18px rgba(0,0,0,0.12);}

.padding3 { padding: 3%; }
.padding5 { padding: 5%; }
.borderblue { border: 3px solid #018dc8; border-radius: 3px; }
.centerbox { margin: 0 auto; max-width: 500px; }
.bluebox { background: #018dc8; color: #fff; border-radius: 3px; }
.bluebox h2, .bluebox h3 { color: #fff; }
.bluebox a { color: #fff; text-decoration: underline; }
.bluebox a:hover { color: #eaeaea; }
.bluebox button { background: #fff; border-radius: 3px; }
.bluebox button, .bluebox button a { color: #018dc8; }
.bluebox button:hover, .bluebox button:hover a { color: #acacac; }

.freieplatze { text-align: center;  rotate: 1 1 2 0.03turn;  max-width: 200px;  position: relative;  left: 75%; }
.pushup { background: #123456;  padding: 10px; position: relative; bottom: 20px; }

.kursuebersicht td { width: 50%; }
.gallery { margin-bottom: 0; }

.kurse { display: flex; flex-wrap: wrap; margin-top: 30px; }
.kurs, .kurse-kindertagespfl { width: 48%; margin: 1%; background: #D6ECF6; padding: 10px; display: flex; flex-flow: column; }
.kursbeschreibung { flex-grow: 1; }

.wp-block-columns {  align-items: flex-start; }
.flexbox { display: flex;  align-items: stretch; flex-wrap: wrap; gap: 5em;}
.flexbox-innen { display: flex;  align-items: stretch; flex-wrap: wrap; gap: 1em; margin-bottom: 20px;}
.box1, .box2 { width: 48%; }
.box { width: 45%; display: flex; flex-flow: column; }
.box button, .box .wp-block-buttons { margin-top: auto; }

.archive .site-main { display: flex; align-items: flex-start;  gap: 2em; }
.archive .site-main .page-header, .archive .site-main .blog-layout-standard { flex-basis: 50%; }
.archive .site-main .blog-layout-standard article .corp-content-wrapper { background: #018dc8; color: #fff; border-radius: 3px; }
.archive .site-main .blog-layout-standard article .corp-content-wrapper a { color: #fff; }

.archive .page-title {  display: none;}
.archive .taxonomy-description {  font-size: 20px;  text-align: left; }

.wp-singular .is-layout-flex { gap: 5em; }

.wps-form {    width: 100%;    margin: 0 auto; }
.wps-form label {		color: #626262; } 
.wps-form p {		margin-bottom: 0; }
.wps-form-row {    display: flex;    flex-direction: column;    width: 100%; }
.wps-form-row .wpcf7-form-control {     width: 100%; }
.wps-form-column {    flex: 1;    padding: 0.5rem 0;    width: 100%;		text-align: left; }
.wps-form-column .kurs { width: 100%; margin: 0; padding: 0; }
.wps-form input[type="text"], .wps-form input[type="email"], .wps-form input[type="tel"], .wps-form input[type="date"], .wps-form input[type="url"], .wps-form textarea {			border: none;		border: solid #018dc8 2px;		background: #ffffff; }

.captcha-image svg { width: 50px; height: 50px; }

/* Notebook / Desktop */
@media only screen and ( min-width: 48em ) { 
    .wps-form-row {        flex-direction: row;    }
    .wps-form-column {        padding: 0.5rem 1rem 0.5rem 0;    }
}

@media (min-width: 782px) {
  .wp-block-columns, .archive .site-main {    flex-wrap: nowrap !important;  }
}

@media (max-width: 1200px) {
		.box1, .box2 { width: 100%; }
		.flexbox-innen { flex-direction: column-reverse; }
		.freieplatze { left: 50%; }
}

@media (max-width: 780px) {
		.box { width: 100%; }
		.kurs { width: 98%; }
		.freieplatze { left: 65%; }
		.wp-singular .is-layout-flex { gap: 2em; }
}

@media (max-width: 480px) {
		body, button, input, optgroup, select, textarea, label {  font-size: 16px;  }
		h1, h1.entry-title, h1 label { font-size: 32px; text-transform: uppercase; }
h2 { font-size: 28px; }
h3, h3.entry-title { font-size: 26px; }
h4 { font-size: 24px; }
h5 { font-size: 22px; }
h6 { font-size: 20px; }
		.sow-blog h2, .sow-blog p { font-size: 0.8em; }
		.freieplatze { left: 50%; max-width: 150px; }
}