/*
 Theme Name:   GeneratePress Child M�bel Rixen
 Description:  GeneratePress child theme
 Template:     generatepress
 Version:      0.1
*/
/* Import Fonts */
/*@import 'fonts.css';*/
/* .... LAYOUT .... */
body {
  font-size: 18px;
  background: none;
}
figure {
  position: relative;
}
.entry-content {
	margin-bottom: 1em;
}
.entry-content > [class*="wp-block-"]:not(:last-child),
.entry-content > [class*="wp-block-"]:not(:last-child):not(.wp-block-heading) {
  margin-bottom: 2rem;
}
.entry-content > [class*="wp-block-"]:last-child {
  margin-bottom: 2em;
}
.grid-container {
  box-sizing: border-box;
}
.wp-block-columns {
  padding: 0 10px;
}
img {
	display: block;
}
/* .... COMMON STYLES .... */
h1 {
  font-size: 2.5rem;
  color: #CE0011;
  text-align: center;
  font-weight: 600;
}
.entry-header + .entry-content > h1:first-child {
  margin-top: -2rem;
}
h2 {
  font-size: 1.333rem;
  margin-top: 2rem !important;
}
h3 {
  color: #3A3A3A;
  font-size: 20px;
}
h1, h2, h3 {
	font-family: 'Noto Sans JP', sans-serif;
	/*font-family: 'Montserrat', sans-serif;*/
}
main p {
  font-size: 1.2rem;
}
.entry-content > p {
  margin-bottom: 1.5rem !important;
}
.has-large-font-size {
	font-size: 30px;
}
.has-text-align-center {
	margin: 0 auto;
	margin-bottom: 1rem;
}
/* Button */
.btn {
  background: #035A77;
  width: 50%;
  padding: .25em 0;
}
.btn a {
	font-size: .75em;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
    background: linear-gradient(0deg, #000000bf, #0000002e);
    font-size: 16px;
}


/* .... NAVIGATION .... */
.menu .menu-item .dropdown-menu-toggle {
	display: none;
}
.main-navigation {
  background: none;
	margin-top: 2em;
}
.main-nav ul li a {
  color: #000 !important;
  border-bottom: solid 0.278rem #FFFFFF;
}
.main-navigation .main-nav ul li:hover > a {
  background-color: #FFFFFF !important;
  border-bottom: solid 0.278rem #CE0011;
}
.main-navigation .main-nav ul li:focus > a {
  background-color: #FFFFFF !important;
}
.main-navigation .main-nav .sub-menu {
  background-color: #FFFFFF;
}
.main-navigation ul ul {
  width: inherit;
  min-width: 150px;
}
.main-navigation .main-nav ul li[class*="current-menu-"] > a {
  background-color: #FFFFFF !important;
  border-bottom: solid 0.278rem #CE0011;
}
.main-navigation .main-nav ul ul li[class*="current-menu-"] > a {
  background-color: #FFFFFF !important;
  border-bottom: none;
}
#mobile-header .menu-toggle {
  color: #444;
}
@media (min-width: 950px) {
  .main-navigation {
    margin-right: -20px;
  }
  .main-navigation .main-nav ul li a {
    padding-left: 0;
	padding-right: 0;
    line-height: 30px;
    font-size: 18px;
  }
	
  .main-navigation .main-nav > ul > li:not(:first-child) {
	margin-left: 1.5em;	
  }
}
.sub-menu > .menu-item:hover {
  background: #BbBbBb;
}
.sub-menu > .menu-item:hover > a {
  border-bottom: none !important;
}
.main-navigation .main-nav ul ul li a {
  font-size: 16px;
  padding-left: 15px;
}
#sticky-navigation {
  background-color: #fff;
  padding-top: 25px;
}
#menu-nav {
	padding-right: 20px;
}
#menu-nav-1 {
	background-color: #fff;
}
.menu-toggle {
	font-size: 1.5rem;
}
/* top bar */
.top-bar {
  color: #666;
  background: transparent;
  font-size: 0.95rem;
}
.top-bar .fas {
  margin-left: 10px;
  font-size: 1.1rem;
  color: #666;
}
.top-bar .fa-facebook {
  font-size: 23px;
  margin-left: 5px;
  float: right;
  padding-top: 4px;
  color: #666;
}
.top-bar a {
  color: #666;
}
.top-bar a:hover, .top-bar .fa-facebook:hover {
    color: #222222;
}
#text-6 {
  width: 47%;
}
.top-bar p {
	line-height: 1.3em;
    margin-bottom: 10px;
}
@media (max-width: 768px) {
	.page .top-bar.top-bar-align-right {
		text-align: right;
	}
	#text-6 {
	    width: 80%;
}
}
/* .... LOGO .... */
.site-logo {
  margin-top: -3rem;
}
.navigation-branding > .sticky-navigation-logo img {
  height: 80px;
  width: auto;
  margin-left: 1rem;
}
.navigation-branding img, .inside-navigation.grid-container .site-logo.mobile-header-logo img {
	height: 100px;
}
/* .... KEYVISUAL .... */
#keyvisual {
  max-width: 100vw;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
#keyvisual img {
  width: 100%;
}
/* .... CONTENT .... */
.entry-content > p {
  max-width: 900px;
  margin-bottom: 3.5rem;
}
/* Banner */
.banner {
  background: #ECF0F2;
  width: 100%;
}
/* Teaser */
.teaser {
  position: relative;
}
.teasertext {
  padding: 10px 15px 20px;
  text-align: center;
}
.teasertext p {
  font-size: 1rem;
  color: #3A3A3A;
  margin: 0;
}
.teaser .caption {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.75);
  padding: 15px 0;
  text-align: center;
  margin-bottom: 0;
}
/* Kachel */
.wp-block-lazyblock-kacheln {
    margin: 60px 0;
}
.kachel-container {
  display: flex;
  justify-content: center;
}
.kachel .hover {
  background: rgba(255, 255, 255, 0.75);
  margin-top: 10px;
}
.kachelheadline {
  background: rgba(255, 255, 255, 0.75);
}
.kachel {
  height: 100%;
  position: relative;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}
.kachel .image {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  overflow: hidden;
  height: 100%;
  width: 100%;
}
.kachel .image img {
  width: 100%;
  max-width: 100%;
  height: 100%;
}
.kachel .kacheltext {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 30px;
  text-align: center;
  overflow: hidden;
}
.kachel .kachelheadline {
  -webkit-transition: all .6s ease-in-out;
  -moz-transition: all .6s ease-in-out;
  -ms-transition: all .6s ease-in-out;
  -o-transition: all .6s ease-in-out;
  transition: all .6s ease-in-out;
}
.kachel .kacheltext p {
  text-align: center;
}
.kachel .kachelheadline {
  padding: 15px 30px 15px;
}
.kachel h3 {
  margin: 0;
  font-size: 1.3rem;
  font-weight: 600;
}
.kachel .hover {
  position: relative;
  height: 0;
  margin-top: 0;
  margin-bottom: -65%;
  padding: 30px;
  overflow: hidden;
  -webkit-transition: all .6s ease-in-out;
  -moz-transition: all .6s ease-in-out;
  -ms-transition: all .6s ease-in-out;
  -o-transition: all .6s ease-in-out;
  transition: all .6s ease-in-out;
}
.kachel .hover > div {
  margin-bottom: -65%;
}
.kachel .hover p {
  font-size: 1rem;
}
.kachel .hover a.button {
  margin-top: 0;
  font-size: .9rem;
}
.kachel .kacheltext {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 0;
}
.kachel:hover .hover, .kachel:focus .hover {
  padding-top: 10px;
}
.kachel:hover .hover, .kachel:hover .hover .hover > div, .kachel:focus .hover, .kachel:focus .hover .hover > div {
  height: 100%;
  margin-bottom: 0;
}
.wp-block-lazyblock-kacheln .kachel {
  height: 220px;
  position: relative;
}
.wp-block-lazyblock-kacheln .kachel .image img {
  object-fit: cover;
}
.btn-kacheln > a {
  color: #fff;
}
.hover-flex {
	display: flex;
	flex-direction: column;
	align-items: center;
}
@media (max-width: 767px) {
  .grid-container {
    display: block;
  }
  .kachel-container .mobile-grid-100:nth-child(-n+2) {
    margin-bottom: 20px;
  }
}
@media (max-width: 1024px) and (min-width: 950px) {
  .kachel .hover p {
    font-size: .75rem;
    margin-top: -5px;
    margin-bottom: 3px;
  }
  .btn-kacheln a {
    font-size: .75rem;
  }
  .kachel h3 {
    font-size: .9rem;
  }
  .kachel .kachelheadline {
    padding-bottom: 5px;
  }
}
@media (max-width: 949px) and (min-width: 768px) {
  .kachel .hover p {
    font-size: .75rem;
    margin-top: -14px;
    margin-bottom: 0px;
  }
  .btn-kacheln a {
    font-size: .75rem;
  }
  .kachel h3 {
    font-size: .9rem;
  }
  .kachel .kachelheadline {
    padding-bottom: 5px;
  }
}
@media (max-width: 504px) {
  .kachel .hover {
    margin-bottom: -60%;
  }
  .hovertext {
    margin-bottom: 5px;
  }
  .btn-kacheln a {
    font-size: .75rem;
  }
  .kachel h3 {
    font-size: .9rem;
  }
  .kachel .kachelheadline {
    padding-bottom: 5px;
  }
}
@media (max-width: 819px) and (min-width: 768px) {
  .kachel .hover {
    margin-bottom: -122%;
  }
}
@media (max-width: 950px) and (min-width: 820px) {
  .kachel .hover {
    margin-bottom: -105%;
  }
}
@media (max-width: 1024px) and (min-width: 950px) {
  .kachel .hover {
    margin-bottom: -100%;
  }
}
@media (max-width: 767px) and (min-width: 505px) {
  .kachel .hover {
    margin-bottom: -39%;
  }
}
@media (max-width: 400px) {
  .kachel .hover {
    margin-bottom: -75%;
  }
}
/* fullsize Background Bild und Text*/
.fullsize-blue {
  background: #ECF0F2;
}
.fullsize-red {
  background: #CE0011;
}
.fullsize {
  max-width: 100vw;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-top: 55px;
  padding-bottom: 30px;
}
.fullsize .is-vertically-alligned-top {
  align-self: none;
}
.fullsize figure {
  position: relative;
  height: 100%;
  overflow: hidden;
}
.fullsize img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  object-fit: cover;
  width: 100%;
}
@media (max-width: 599px) {
  .fullsize img {
    display: none;
  }
}
/* FULLWIDTH BACKGROUND */
.fullwidth {
  background: #ECF0F2;
  width: 100VW;
  margin: 0 calc(50% - 50vw);
  margin-top: 2.5em;
}
.fullwidth .blocks-gallery-item {
  margin-bottom: 0;
}
.fullwidth .wp-block-columns {
  margin-bottom: 0;
}
.fullwidth .wp-block-image {
  margin-bottom: 0;
}
/* FULLWIDTH IMG */
.fullwidthimg {
  overflow: hidden;
  width: 100vw;
  height: 25vw;
  margin-top: 2.5em;
  margin: 0 calc(50% - 50vw);
}
.fullwidthimg figure {
  position: relative;
  top: -50%;
}
.fullwidthimg img {
  width: 100%;
}
/* Marken Slider */
.wpls-logo-showcase-slider-wrp {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  text-align: center;
  background: #ECF0F2;
  padding: 30px 0;
}
.wpls-logo-showcase {
  max-width: 1200px;
  margin: 0 auto !important;
}
.wpls-fix-box > a > img {
  width: 65%;
}


/* .... LOGO SLIDER .... */
.wp-block-lazyblock-logos {
    width: 99.5vw;
    margin:7rem calc(50% - 50vw) 0;
    text-align: center;
    background: #ECF0F2;
    padding: 30px 0;
    margin-bottom: 0 !important;
}
.logos {
    max-width: 1200px;
    margin: 0 auto !important;
}
.logos .slick-track {
  display: flex;
  align-items: center;
}
.logobox:not(.slick-slide) {    
    display: none;
}
.logos .inner {
    padding: 0 10px 20px;
}
.logos img {
  max-height: 250px;
  width: 65%;
  margin: auto;
}

/*.... MAPS ... */
.maps {
  width: 100vw;
  position: relative;
  margin-bottom: -1em !important;
	margin: 0 calc(50% - 50vw);
}
.maps iframe {
	width: 100%;
	margin-bottom: -1em;
}
.BorlabsCookie ._brlbs-content-blocker ._brlbs-embed img._brlbs-thumbnail {
	max-width: 100vw;
	width: 100vw;
	object-fit: cover;
	max-height: 300px;
}
.maps .BorlabsCookie ._brlbs-content-blocker ._brlbs-embed {
	margin-bottom: -1em;
}
/* .... KONTAKTFORMULAR .... */
.acceptance-data-privacy {
  margin-left: -18px;
}
.dsgvo-check {
  margin-bottom: 1em;	
}
.wpcf7 {
	background: rgba(200,200,200,.38);
	padding: 20px;
}
span.wpcf7-not-valid-tip {
	color: #c00;
}
.wpcf7 .wpcf7-form .wpcf7-not-valid {
	border: 2px solid #c00 !important;
}
div.wpcf7-validation-errors, div.wpcf7-acceptance-missing {
	border: 2px solid #c00;
}
.wpcf7 form.invalid .wpcf7-response-output, 
.wpcf7 form.unaccepted .wpcf7-response-output {
    border-color: #c00;
    margin: 2em 0 1em;
}
.invalid p:first-of-type > br:last-of-type {
	display: none;
}
.wpcf7 .wpcf7-form .wpcf7-form-control-wrap .wpcf7-form-control {
	border: 2px solid #fff;
	background-color: #fff;
}
.wpcf7 .wpcf7-form .wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-acceptance {
	border: 2px solid #EAEAEA;
	background-color: #EAEAEA;
}
/* .... FOOTER .... */
.footer-widgets {
  background-color: #182B31;
  color: rgba(255, 255, 255, 0.8);
  font-size: 1rem;
  line-height: 1.8rem;
}
.footer-widgets strong {
  font-size: 1.1rem;
  color: #fff;
}
.footer-widgets a:link, .footer-widgets a:visited {
  color: rgba(255, 255, 255, 0.8);
}
.footer-widgets a:hover, .footer-widgets a:focus {
  opacity: 0.8;
  text-decoration: underline;
}
.site-info {
  background-color: #182B31;
}
@media (max-width:1020px) {
  	.footer-widgets-container .inside-footer-widgets .footer-widget-1 {
		width: 40%	
	}
}
/* .... PRINT .... */
@media print {
	#keyvisual {
		display: none;
	}
	#mobile-header {
		display: none;
	}
	#site-navigation {
		display: none;
	}
	#footer-widgets {
		display: none;
	}
	#slider {
		display: none;
	}
	.footer-bar {
		display: none;
	}
	.menu-toggle {
		display: none !important;
	}
}