@media only screen and (max-width: 1450px) {
	body {
		font-size: 18px;
		line-height: 26px;;
	}
	h1
	{
		font-size: 55px;
		line-height: 60px;
		padding-top: 50px;
	}
}

@media only screen and (max-width: 1010px) {
	
	#logo_big a {
		width: 400px;
		height: 120px;
		margin-top: -10px;
		background: url(../assets/Logo-Judith-Eisert-Luginger.png);
		background-size: 100%;
		background-repeat: no-repeat;
		z-index: 300;
		float: left;
		margin-top: -5px;
		margin-left: -20px;
	}
	
	h1
	{
		font-size: 50px;
		line-height: 60px;
		padding-top: 50px;
	}
	.small_h1 {
		font-size: 20px !important;
		line-height: 10px !important;
	}
	#footer .inside .footer {
		justify-content: center
	}
}

@media only screen and (max-width: 890px) {
	
	
	.rubrik_header h1 {
		font-size: 40px;
		line-height: 45px
	}
	
	h1,.ohne_headerbild .fliesstext h1, .ohne_headerbild h1.fliesstext
	{
		font-size: 40px;
		line-height: 50px;
		padding-top: 50px;
		padding-bottom: 10px;
	}
	h2
	{
		font-size: 35px;
		line-height: 50px;
		padding-top: 20px;
	}
	.small_h1 {
		padding-top: 25px;
		display: block;
		font-size: 17px !important;
		line-height: 10px !important;
	}
	.rubrik_header .textcontainer p, .rubrik_header .textcontainer div {
		padding-left: 40px;
	}
	
	.float_left img,
	.float_right img {
		max-width: 35vw
	}
}


@media only screen and (max-width: 767px) {
	
	
	.rs-columns figcaption {
		margin-left: 20px;
	}
	
	.content_desktop {
		display: none;
	}
	.content_mobile {
		display: block;
	}	
	
	figcaption {
		margin-left: 20px
	}
	.rs-columns {
		padding-left: 20px;
		width: auto;
	}
	
	.rubrik_header .textcontainer h1, .rubrik_header .textcontainer h2 {
		padding-top: 20px;
	}
	
	h1,.ohne_headerbild .fliesstext h1, .ohne_headerbild h1.fliesstext
	{
		font-size: 35px;
		padding-top: 20px;
		padding-bottom: 10px;
		line-height: 40px;
	}
	span.small_h1 {
		padding-top: 10px;
		display: block;
		font-size: 18px !important;
		line-height: 23px !important;
	}
	h2
	{
		font-size: 35px;
		line-height: 40px;
		padding-top: 20px;
	}
	
	.buttons {
		display: block;
	}
	
	
	.image_container.float_right,
	.image_container.float_left	{
		padding-left: 0px;
		padding-right: 0px;
		float: none;
		clear: both;
	}
	
	.float_left img,
	.float_right img {
		max-width: 50vw !important;
	}
	
	img {
		margin-left: 20px;
	}
	
	
	h3, h4 {
		font-size: 18px;
		line-height: 25px;
		padding-bottom: 5px;
		padding-top: 5px;
	}
	
	.layout_full h1 {
		margin-left: 20px;
		font-size: 30px;
		line-height: 40px;
	}
	



	
	.ce_text.fliesstext .fliesstext {
		padding-left: 0px;
		padding-right: 0px;
		width: 100%;
	}
	.rs-columns .ce_text {
		padding-right: 50px;
	}

	
	#container {
		margin-top: 60px;
	}
	.rubrik_header .responsive-background-image,
	.responsive-background-image {
		width: 100%;
		height: auto;
	}
	
	.responsive-background-image img {
		display: block;
	}
	.rubrik_header .textcontainer {
		position: relative;
		border-bottom: none;
		
	}
	
	
	.rubrik_header .textcontainer .inside, .ce_text.fliesstext, .ce_image.fliesstext, .fliesstext {
		padding-left: 20px !important;
		padding-right: 40px !important;
	}	
	
	
	ul {
		padding-left: 40px;
	}

	.rubrik_header .textcontainer h1, .rubrik_header .textcontainer h2 {
		margin-bottom: 30px;
		margin-top: -130px;
	}
	.rubrik_header .arrow {
		display: none !important;
	}
	#header {
		height: 80px;
		-webkit-box-shadow: -1px 3px 9px 0px rgba(0,0,0,0.4);
		-moz-box-shadow: -1px 3px 9px 0px rgba(0,0,0,0.4);
		box-shadow: -1px 3px 9px 0px rgba(0,0,0,0.4);
		background: #635D4D!important;
	}
	
	#header .inside {
		padding-left: 20px;
		padding-right: 20px;
		padding-top: 20px;
		}
	.mmenu-icon {
		top: 15px !important;
		right: 30px;
	}
	
	#logo_big a,
	.ohne_headerbild #logo_big a	{
		width: 300px !important;
		height: 70px !important;
		margin-top: -10px !important;
		background: url(../assets/Logo-Judith-Eisert-Luginger.png);
		background-size: 100%;
		background-repeat: no-repeat;
		z-index: 300;
		float: left;
		margin-top: -5px;
		margin-left: -20px;
		}
	
		
	.fliesstext h1 {
		margin-top: -140px;
		margin-bottom: 30px;
	}
	#footer .inside {
		padding-left: 20px;
		padding-right: 20px;
	}
	#footer .inside .footer {
		display: block;
		text-transform: center;
	}
	#footer .mod_customnav {
		*display: none;
	}
	
	#footer {
		text-align: center;
	}
	
	#footer li, #footer ul {
		display: block;
		padding: 0;
	}
	
	#footer li {
		text-decoration: underline ;
	}
	#footer .mod_customnav {
		display: none;
	}
	#footer,
	#footer .inside,
	#footer .ce_text,
	#footer p {
		padding-left: 0px !important;
		padding-right: 0px !important
	}

}

@media only screen and (max-width: 414px) {
	
	.layout_full h1 {
		margin-left: 20px;
		font-size: 30px;
		line-height: 40px;
	}
	figcaption {
		margin-left: 0px
	}
	.ce_text {
		padding-right: 20px !important
	}
	
	.ce_text.no_padding {
		padding-right: 0px !important
	}
	.ce_text img {
		margin-left: 0px !important;
	}
	.float_left img,
	.float_right img {
		max-width: 100% !important;
		margin-left: 0px;
		padding-top: 0px !important;
	}
	
	p, img {
		margin-left: 0px;
	}
	
	.rubrik_header h1 {
		font-size: 26px;
		line-height: 35px
	}
	
	.rubrik_header .textcontainer .inside {
		padding-left: 20px !important
	}
	.rubrik_header .textcontainer p,
	.rubrik_header .textcontainer div	{
		padding-left: 20px;
	}
	.formbody {
		margin-right: 40px;
	}
	.mobile_menu .logo {
		display: none;
	}
	
	.more,
	.back,
	.buttonlink a,
	a.buttonlink {
		font-size: 17px;
		line-height: 24px;
	}
	
	
	
	}

/* Responsive layout consolidation */
/* One-column layout for phones and portrait tablets. */
@media screen and (max-width: 1024px) {
  body { font-size: 17px; line-height: 1.6; font-weight: 400; }
  #header, .ohne_headerbild #header {
    position: fixed; top: 0; height: 72px !important; padding: 0 !important;
    width: 100%; background: #635D4D !important;
  }
  #header .inside { padding: 16px 20px !important; }
  #logo_big a, .ohne_headerbild #logo_big a {
    display: block; float: none; width: min(300px, calc(100vw - 96px)) !important;
    height: 40px !important; margin: 0 !important;
    background-size: contain; background-position: left center;
  }
  .mmenu-icon {
    top: 20px !important; right: 20px; width: 32px; height: 32px;
    background-position: center;
  }
  .mobile_menu > .inner {
    height: 100vh !important;
    height: 100dvh !important;
    overflow-x: hidden;
    overflow-y: auto !important;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
  }
  .mobile_menu .ce_text.center {
    height: auto;
  }
  #container { margin-top: 72px; }
  #main { margin: 0 !important; }
  #main > .inside > .mod_article {
    box-sizing: border-box; width: 100%; max-width: 720px;
    margin: 0 auto; padding: 28px 22px 36px !important;
  }
  #main > .inside > .mod_article:has(.iconpicture),
  #main > .inside > .mod_article:has(.rubrik_header) {
    padding: 0 !important;
  }
  #main .ce_text, #main .ce_text.no_padding {
    padding: 0 !important;
  }
  #main .fliesstext .fliesstext { width: auto; padding: 0 !important; }
  #main p { margin: 0 0 18px; }
  #main p:empty, #main .mobile-empty-paragraph { display: none; }
  #main .mobile-trailing-break { display: none; }
  #main h1, .ohne_headerbild #main .fliesstext h1,
  .ohne_headerbild #main h1.fliesstext {
    font-size: clamp(28px, 6.7vw, 36px); line-height: 1.2;
    margin: 0 0 24px !important; padding: 0 !important;
    width: auto; overflow-wrap: break-word;
  }
  #main h2, .ohne_headerbild #main .fliesstext h2 {
    display: block; font-size: 24px; line-height: 1.3;
    margin: 32px 0 14px; padding: 0; width: auto;
  }
  #main h3 { font-size: 21px; line-height: 1.35; margin: 28px 0 12px; padding: 0; }
  #main h4 { font-size: 18px; line-height: 1.4; margin: 24px 0 10px; padding: 0; }
  #main h1 + .ce_text h2:first-child { margin-top: 0; }
  #main sup { line-height: 0; }
  #main ul, #main ol { padding-left: 22px; margin: 0 0 20px; }
  #main li { margin-bottom: 8px; }
  #main a { overflow-wrap: anywhere; }
  .iconpicture {
    position: relative; top: auto !important; left: auto !important; right: auto !important;
    width: min(100%, 420px); height: auto; margin: 0 auto; border-radius: 0 0 24px 24px;
  }
  .iconpicture figure, .iconpicture picture { display: block; margin: 0; padding: 0; }
  .iconpicture img {
    display: block; width: 100%; max-width: 100%; height: min(100vw, 420px);
    margin: 0; padding: 0 !important; object-fit: cover; object-position: center top;
  }
  .rubrik_header .responsive-background-image {
    width: 100%; height: auto; background-image: none !important;
  }
  .rubrik_header figure, .rubrik_header picture { display: block; margin: 0; }
  .rubrik_header .responsive-background-image img {
    display: block; width: 100%; height: auto; margin: 0;
  }
  .rubrik_header .textcontainer {
    position: static; width: 100%; padding: 0; color: #635D4D;
  }
  .rubrik_header .textcontainer .inside { box-sizing: border-box; width: 100%; padding: 20px 22px 0 !important; }
  .rubrik_header .textcontainer div, .rubrik_header .textcontainer p { padding-left: 0; }
  .rubrik_header .buttons { display: grid; gap: 8px; width: 100%; margin: 0; }
  .rubrik_header .buttonlink, .rubrik_header a.buttonlink {
    box-sizing: border-box; width: 100%; height: auto !important;
    min-height: 48px; margin: 0 !important; padding: 11px 16px;
    font-size: 18px !important; line-height: 26px; text-align: left;
  }
  .rubrik_header .arrow { display: none !important; }
  #main .buttons:not(.rubrik_header .buttons) { flex-wrap: wrap; }
  #main .buttonlink a, #main a.buttonlink {
    max-width: 100%; box-sizing: border-box; white-space: normal;
    min-height: 44px; padding: 10px 14px; font-size: 17px; line-height: 24px;
  }
  #footer { position: relative; width: 100%; }
  #footer .inside { padding: 18px 22px !important; }
  #footer .inside .footer { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
  #footer p { margin: 0; }
  #footer .mod_customnav { display: block; }
  #footer ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; margin: 0; padding: 0; }
  #footer li { display: block; padding: 0; font-size: 14px; }
}

/* Portrait stays in place while the page content rises over it. */
@media screen and (max-width: 1024px) {
  #main > .inside > .mod_article:has(.iconpicture) {
    height: calc(75svh - 72px);
    min-height: 0;
    width: 100%;
    max-width: none;
    margin: 0;
  }
  #main > .inside > .mod_article:has(.iconpicture) .iconpicture {
    position: fixed !important;
    inset: calc(72px - var(--mobile-image-shift, 0px)) 0 auto !important;
    z-index: 0;
    width: 100%;
    height: calc(100svh - 72px + var(--mobile-image-shift, 0px));
    margin: 0;
    border-radius: 0;
  }
  #main > .inside > .mod_article:has(.iconpicture) .iconpicture figure,
  #main > .inside > .mod_article:has(.iconpicture) .iconpicture picture,
  #main > .inside > .mod_article:has(.iconpicture) .iconpicture img {
    display: block;
    width: 100%;
    height: 100%;
  }
  #main > .inside > .mod_article:has(.iconpicture) .iconpicture img {
    max-width: none;
    object-fit: cover;
    object-position: center top;
  }
  #main > .inside > .mod_article:has(.iconpicture) ~ .mod_article {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 28px max(22px, calc((100% - 720px) / 2)) 36px !important;
    background: #fff;
  }
  #footer { z-index: 1; background: #810017; }
}

/* Start page: use the dedicated portrait content element on compact screens. */
.mobile_content { display: none; }
@media screen and (max-width: 1024px) {
  #main > .inside > .mod_article:has(.mobile_content) {
    width: 100%;
    max-width: none;
    padding: 0 !important;
  }
  #main .desktop_content { display: none !important; }
  #main .mobile_content { display: block !important; }
  #main .mobile_content .rubrik_header {
    position: relative;
    height: calc(100svh - 72px);
    overflow: hidden;
    width: 100%;
  }
  @supports (height: 100dvh) {
    #main .mobile_content .rubrik_header { height: calc(100dvh - 72px); }
  }
  #main .mobile_content .rubrik_header figure,
  #main .mobile_content .responsive-background-image {
    position: absolute;
    inset: calc(0px - var(--mobile-image-shift, 0px)) 0 0;
    width: 100%;
    height: calc(100% + var(--mobile-image-shift, 0px));
    max-width: none;
    margin: 0;
  }
  #main .mobile_content .rubrik_header figure > picture {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
  }
  #main .mobile_content .rubrik_header figure > img,
  #main .mobile_content .rubrik_header picture > img,
  #main .mobile_content .responsive-background-image img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0;
    object-fit: cover;
    object-position: center 24%;
  }
  #main .mobile_content .textcontainer {
    position: absolute;
    inset: auto 0 0;
    z-index: 1;
    width: 100%;
    padding: 0 !important;
    background: none;
  }
  #main .mobile_content .textcontainer .inside {
    box-sizing: border-box;
    width: 100%;
    padding: 0 20px 24px !important;
  }
  #main .mobile_content .buttons {
    display: block;
    gap: 0 !important;
    margin: 0;
  }
  #main .mobile_content .buttons > .buttonlink {
    display: block;
    margin: 0 !important;
  }
  #main .mobile_content .buttons > .buttonlink + .buttonlink {
    margin-top: 5px !important;
  }
}
