/*
 Theme Name: Schepers-Child-Theme
 Theme URI: https://bausachverstaendiger-schepers.de/
 Description: Dies ist ein Theme f&uuml;r Matthias Schepers.
 Author: Hozjan Artwork - Benny Hozjan 
 Author URI: https://www.hozjan.net/
 Template: Divi
 Version: 1.0.0
 Tag: child-theme, hozjan artwork, webdesign 
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/*
color-dark 	= #000326
color-blue 	= #000080
color-green = #54febd	
*/


/*  ==================================================================
	STANDARD CSS =====================================================
	==================================================================  */
* {
    margin:0;
    padding:0;
    box-sizing: border-box;
}
 html {
    font-size: 62.5%;
}

body {
	background: repeating-linear-gradient(
	to right,
	#e9e9e9,
	#e9e9e9 1px,
	#fff 1px,
	#fff 20vw
	)
}

.vertical-align { 
    display: flex; 
    flex-direction: column; 
    justify-content: center;
} 

@media only screen and ( max-width: 980px ) {
.bh_flip { 
   display: -webkit-flex;
   -webkit-flex-direction: column-reverse;
   display: flex;
   flex-direction: column-reverse !important;}
}

::selection {
    background: #54febd;
    color: #fff
}

::-moz-selection {
    background: #54febd;
    color: #fff
}

/* ==========================================================================
   Menu CSS
   ========================================================================== */
body:not(.et-fb) .et_pb_section.clearHeader {
	background:none!important;
	position: fixed;
	width:100%;
	top:0;
	transition: background-color .3s linear;
}
body:not(.et-fb) .et_pb_section.clearHeader .et_pb_row {
  padding-top:1.5rem!important;
  padding-bottom:1.5rem!important;
  transition: 0.3s all ease-in-out;
}

body:not(.et-fb) .et_pb_section.lightHeader {
	background:#fff!important;
	transition: background-color .3s linear;
	box-shadow: -10px 2px 40px 0px rgba(0,3,38,0.15);
}
body:not(.et-fb) .et_pb_section.lightHeader .et_pb_row {
  padding-top:.6rem!important;
  padding-bottom:.6rem!important;
  transition: 0.3s all ease-in-out;
}
body.admin-bar:not(.et-fb) .et_pb_section.clearHeader {top:32px;}
	@media (max-width:782px) {
		body.admin-bar:not(.et-fb) .et_pb_section.clearHeader {top:46px;}
	}
	
	@media (max-width:600px) {
		body.admin-bar:not(.et-fb) .et_pb_section.clearHeader {top:0;}
	}

.et_pb_section.lightHeader .et_pb_menu ul li a,
.et_pb_section.lightHeader .et_pb_text h1 {
	color:#000080!important
}

@media only screen and ( min-width: 981px ) {
	.clearHeader .current-menu-item a::before,
	.lightHeader .current-menu-item a::before {
	  content:"";
	  height:20px;
	  width:30px;
	  display:block;
	  position:absolute;
	  left:50%;
	  transform:translateX(-50%);
	  
	}
	
	.clearHeader .current-menu-item a::before {
	  top:-15px;
	  background-image: -webkit-repeating-radial-gradient(center center, #54febd, #54febd 1px, transparent 1px, transparent 100%);
	  background-image: -moz-repeating-radial-gradient(center center, #54febd, #54febd 1px, transparent 1px, transparent 100%);
	  background-image: -ms-repeating-radial-gradient(center center, #54febd, #54febd 1px, transparent 1px, transparent 100%);
	  background-image: repeating-radial-gradient(center center, #54febd, #54febd 1px, transparent 1px, transparent 100%);	  
	  -webkit-background-size: 10px 10px;
	  -moz-background-size: 10px 10px;
	  background-size: 10px 10px;
	}
	.lightHeader .current-menu-item a::before {
	  top:-6px;
	  background-image: -webkit-repeating-radial-gradient(center center, #000080, #000080 1px, transparent 1px, transparent 100%);
	  background-image: -moz-repeating-radial-gradient(center center, #000080, #000080 1px, transparent 1px, transparent 100%);
	  background-image: -ms-repeating-radial-gradient(center center, #000080, #000080 1px, transparent 1px, transparent 100%);
	  background-image: repeating-radial-gradient(center center, #000080, #000080 1px, transparent 1px, transparent 100%);	  
	  -webkit-background-size: 10px 10px;
	  -moz-background-size: 10px 10px;
	  background-size: 10px 10px;
	}
}


/* ==========================================================================
   Mobile Menu 
   ========================================================================== */
.et_pb_section.clearHeader .mobile_nav .mobile_menu_bar:before { color:#fff; font-size: 40px; }
.et_pb_section.lightHeader .mobile_nav .mobile_menu_bar:before { color:#000080; font-size: 40px; }

.et_pb_module .et_mobile_menu {
	width: calc(100% + 5rem);
	left: -2.5rem;
	margin-top:2rem;
	box-shadow: 0px 20px 30px -6px rgba(112,111,111,0.15);
}

/* ==========================================================================
   Blurb Leistungen CSS
   ========================================================================== */
.et_pb_section.bh_leistungen .et_pb_blurb h4 {
	font-size:1.6rem;
	font-weight:700;
	}
.et_pb_section.bh_leistungen .et_pb_blurb a {
	background:#54febd;
	color:white;
	position:absolute;
	right:0;
	bottom:-2.5rem;
	bottom: -15rem;
	padding:1rem 1.5rem;
  	transition: all .3s ease-in-out;
  	border-radius:3rem
	}
	
	.et_pb_section.bh_leistungen .et_pb_blurb a:hover{
		animation: wobble .82s cubic-bezier(.36,.07,.19,.97) both;
		background:#000326
	}

.et_pb_section.bh_leistungen .et_pb_blurb:hover { cursor:pointer;	}
.et_pb_section.bh_leistungen .et_pb_blurb:hover a { bottom:-2.5rem; }



/* ==========================================================================
   Buttons CSS
   ========================================================================== */
.et_pb_module .et_pb_button:hover, 
.et_pb_button.bh_button:hover {
	padding: 1.6rem 2.6rem;
	background:#54febd;
	color:#fff;
	box-shadow: 0px 5px 10px 0px rgba(0,3,38,0.15);
	border:none;
	animation: wobble .82s cubic-bezier(.36,.07,.19,.97) both
	}

.et_pb_button::after { display:none; }

.et_pb_button.bh_button {
	padding: 1.6rem 2.6rem;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	display: inline-block;
	font-size: 1.3rem;
	margin: 0 auto;
	cursor: pointer;
	-webkit-transition-duration: 0.4s; 
	   -moz-transition-duration: 0.4s; 
	     -o-transition-duration: 0.4s;
			transition-duration: 0.4s;
	font-weight:600;
	border-radius:10rem;
	background:#000080;
	color:#fff;
	box-shadow: 0px 20px 20px 0px rgba(0,3,38,0.15);
	border:none;
	}

.et_pb_button.bh_button.dark {
	background:#000326;
}

.et_pb_button.bh_button.white {
	background:#fff!important;
	color:#000080
}

.et_pb_button.bh_button.dark:hover {
	background:#000080;
	animation: wobble .82s cubic-bezier(.36,.07,.19,.97) both
	}


@keyframes wobble {
    16.65% {
        transform: translateX(5px)
    }

    33.3% {
        transform: translateX(-4px)
    }

    49.95% {
        transform: translateX(3px)
    }

    66.6% {
        transform: translateX(-2px)
    }

    83.25% {
        transform: translateX(1px)
    }

    100% {
        transform: translateX(0)
    }
}


/* ==========================================================================
   Social Media Share CSS Styling
   ========================================================================== */
.social-box {
    display: block;
    padding: 0 6rem 0;
    text-align:center;
    background:#fff
	}

	@media only screen and (max-width: 981px) {
		.social-box {
	    padding: 0 1rem 0;
	   }
	}

.social-box:last-of-type {
    margin: 0 0 0;
}

span.share-title  {
  display:block;
  font-weight:600;
  font-size:1.3rem;
}

.social-btn {
    display: block;
    width: 100%;
    margin-top:30px;
    padding:1rem;
}

a.col-2.sbtn span {
    display: none;
}

a.col-2.sbtn {
    width: 6%;
    display: inline-block;
    text-align: center;
    border-radius: 10rem;
    padding: 10px;
    color: #fff;
    margin: 2% 1% 2% 0;
    line-height: 1.825 !important;
    max-width: 50px;
    min-width: 50px;
}

.s-twitter, 
.s-facebook,
.s-email,
.s-whatsapp,
.s-linkedin,
.s-pinterest {
	background: #ccc;
	-webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
.s-twitter::before {
	font-family: 'Font Awesome\ 5 Brands';
    font-weight: 600;
    content: '\f099';
}
.s-twitter:hover {
    background: #03A9F4;
}

.s-facebook::before {
    font-family: 'Font Awesome\ 5 Brands';
    font-weight: 600;
    content: '\f39e';
}
a.col-2.sbtn.s-facebook:hover {
    background: #3F51B5;
}

.s-email::before {
    font-family: 'Font Awesome\ 5 Free';
    font-weight: 600;
    content: '\f0e0';
}
.s-email:hover {
    background: #df7b0c;
}

.s-whatsapp::before {
    font-family: 'Font Awesome\ 5 Brands';
    font-weight: 600;
    content: '\f232';
}
a.col-2.sbtn.s-whatsapp:hover {
    background: #4CAF50;
}

.s-linkedin::before {
    font-family: 'Font Awesome\ 5 Brands';
    font-weight: 600;
    content: '\f0e1';
}
a.col-2.sbtn.s-linkedin:hover {
    background: #1a7baa;
}

.s-pinterest::before {
    font-family: 'Font Awesome\ 5 Brands';
    font-weight: 600;
    content: '\f231';
}
a.col-2.sbtn.s-pinterest:hover {
    background: #bd081c;
}

.social-btn a:last-of-type {
    margin: 0!important;
}


/* ==========================================================================
   Blog Styles CSS
   ========================================================================== */ 
@media only screen and (min-width: 981px) {
	.bh_blog.et_pb_posts .et_pb_post img,
	.bh_blog.et_pb_posts .et_overlay {
		height: 280px !important;
		width: 400px;
		float: left;
		display: block;
		left: 0;
		margin-right: 4rem;
		object-fit: cover;
		object-position: 50% 100%; 
		overflow: hidden;
	}
}
@media only screen and ( max-width: 980px) {
	.bh_blog .et_pb_post .post-content {
		display: block;
		margin-bottom: 90px;
	}
	.bh_blog.et_pb_posts a.more-link {
		display: block;
		position: absolute;
		left:0;
		bottom:0!important;
		text-align:center;
		justify-content: center;
		width: 100%;
		border-radius:0!important;
	}
}

.bh_blog.et_pb_posts .entry-title {
	padding-left: 2rem;
	padding-right: 5rem;
	}

	@media only screen and ( min-width: 1441px) {
	  	.bh_blog.et_pb_posts .entry-title {
	    	padding-top:5rem
	  	}
	}
.bh_blog .et_pb_post .post-meta {
	display: block;
	position: relative;
	padding-left: 2rem;
	padding-right: 5rem;
	}
.bh_blog .et_pb_post .post-content {
	padding-left: 2rem;
	padding-right: 5rem;
	}
.bh_blog.et_pb_posts .et_pb_post {
	background: #fff;
	transition: 0.3s ease all;
	box-shadow: 0px 25px 30px -10px rgba(112, 111, 111, 0.2);
	border-radius:2rem;
	overflow: hidden;
	}
.bh_blog.et_pb_posts .et_pb_post:hover {
	box-shadow: 0px 5px 20px -10px rgba(112, 111, 111, 0.2);
	cursor:pointer
	}
.bh_blog.et_pb_posts .et_pb_post a.more-link {
	display: flex;
	position: absolute;
	bottom: 20px;
	background: rgba(0, 0, 128, 0.1);
	color: #000080;
	padding: 1.5rem 2rem;
	right: 20px;
	border-radius:20rem;
	transition: 0.7s ease all;
	}
.bh_blog.et_pb_posts .et_pb_post:hover a.more-link {
	background: #000080;
	color: #fff;
	}
.bh_blog.et_overlay {
	border: none;
	}
.bh_featured_grid .et_pb_post:last-child {
	margin-bottom: 0!important;
	}


/********************/
.bh_blog .et_pb_post .post-meta {
	display:block;
	position:absolute;
	top:20px;
	left:0;
	z-index:10;
	}

.bh_blog .et_pb_post .post-meta span.published {
	background:blue;
	color:#D6EAF8;
	padding:1rem 2rem;
	font-size:1.1rem;
	border-radius:30px;
	margin-right:5px;
	}

.bh_blog .et_pb_post a[rel="tag"],
.bh_blog .et_pb_post.category-allgemein a[rel="tag"],
.bh_blog .et_pb_post.category-pro-kontra a[rel="tag"],
.bh_blog .et_pb_post.category-fall-des-monats a[rel="tag"],
.bh_blog .et_pb_post.category-tipps-tricks a[rel="tag"]{
	padding:1rem 2rem;
	border-radius:30px;
	font-size:1.1rem;
	} 


.bh_blog .et_pb_post.category-allgemein .post-meta a[rel="tag"] {
  background:#222;
  color:#fff;
}
.bh_blog .et_pb_post.category-tipps-tricks .post-meta a[rel="tag"] {
  background:#54febd;
  color:#222;
}
.bh_blog .et_pb_post.category-fall-des-monats .post-meta a[rel="tag"] {
  background:#ff0056;
  color:#fff;
}
.bh_blog .et_pb_post.category-pro-kontra .post-meta a[rel="tag"] {
  background:#22daff;
  color:#222;
}


.bh_blog .et_pb_post:hover .post-meta span.published,
.bh_blog .et_pb_post:hover .post-meta a[rel="tag"] {
	background:white!important;
	color:#000080!important
	}

/* ==========================================================================
   Font Styles CSS
   ========================================================================== */   
.et_pb_module p {
	font-size:1.6rem;
	color:#161a47
}

.et_pb_column .et_pb_module.bh_title_top p {
	font-size: 2.2rem;
	text-transform: uppercase;
	letter-spacing: 1px;
	line-height:2.4rem;
	font-weight:300;
	color:#54febd;
	padding:1.5rem 0 0 5rem;
}
	
	.et_pb_column .et_pb_module.bh_title_top p:before,
	.et_pb_column .et_pb_module.bh_title_top p::after {
	  content:"";
	  display:inline-block;
	  position:absolute;
	  width:4rem;
	  height:6rem;
	  bottom:0;
	  left:0;
	  z-index:-1;
	  background-image: -webkit-repeating-radial-gradient(center center, #54febd, #54febd 1px, transparent 1px, transparent 100%);
	  background-image: -moz-repeating-radial-gradient(center center, #54febd, #54febd 1px, transparent 1px, transparent 100%);
	  background-image: -ms-repeating-radial-gradient(center center, #54febd, #54febd 1px, transparent 1px, transparent 100%);
	  background-image: repeating-radial-gradient(center center, #54febd, #54febd 1px, transparent 1px, transparent 100%);
	  -webkit-background-size: 10px 10px;
	  -moz-background-size: 10px 10px;
	  background-size: 10px 10px;
	}

	.et_pb_column .et_pb_module.bh_title_top_dark p {
		font-size: 2rem;
		text-transform: uppercase;
		letter-spacing: 1px;
		line-height:2.4rem;
		font-weight:300;
		color:#000080;
		display:inline-block
	}
	.et_pb_column .et_pb_module.bh_title_top_dark p::after {
	  content:"";
	  display:inline-block;
	  position:absolute;
	  width:8rem;
	  height:16rem;
	  bottom:-1rem;
	  left:50%;
	  transform:translateX(-50%);
	  z-index:-1;
	  background-image: -webkit-repeating-radial-gradient(center center, #54febd, #54febd 1px, transparent 1px, transparent 100%);
	  background-image: -moz-repeating-radial-gradient(center center, #54febd, #54febd 1px, transparent 1px, transparent 100%);
	  background-image: -ms-repeating-radial-gradient(center center, #54febd, #54febd 1px, transparent 1px, transparent 100%);
	  background-image: repeating-radial-gradient(center center, #54febd, #54febd 1px, transparent 1px, transparent 100%);
	  -webkit-background-size: 10px 10px;
	  -moz-background-size: 10px 10px;
	  background-size: 10px 10px;
	}
	 
	
.et_pb_column .et_pb_module.bh_subtitle p {
	font-size: 2rem;
	line-height:2.2rem;
	font-weight:300;
	color:#fff
}

.et_pb_column .et_pb_module h1 {
    font-size: 4.5rem;
    line-height:5rem;
    font-weight:800;
    hyphens: auto;
}

.et_pb_column .et_pb_module h2 {
    font-size: 3.6rem;
    line-height:4rem;
    font-weight: 800;
    color:#000326
}

.et_pb_column .et_pb_module h3 {
    font-size: 3rem;
    color:#000326;
    font-weight:700
}

.et_pb_column .et_pb_module h4 {
    font-size: 2.2rem;
    line-height:2.4rem;
    color:#000326
}

.et_pb_column .et_pb_module h5 {
    font-size: 1.8rem;
    font-weight: 500;
    color:#000326
}

.et_pb_column .et_pb_module h6 {
    font-size: 1.8rem;
    font-weight: 500;
    color: #c1c1c1;
}
 .et_pb_column .et_pb_module.et_pb_blurb h4 span {
	font-weight:600;
	letter-spacing: 0!important;
	color:#000326
}
	
	@media only screen and ( max-width: 479px ) {
	    .et_pb_column .et_pb_module h1 {
		    font-size: 2.9rem;
		    line-height:3.5rem;
		}
		
		.et_pb_column .et_pb_module h2 {
    		font-size: 2.6rem;
    		line-height:2.9rem;	
    	}
    	.et_pb_column .et_pb_module h3 {
			font-size: 2.4rem;
		}
		
	}


/* ==========================================================================
   Footer CSS
   ========================================================================== */
.et_pb_row_0_tb_footer::before{
	content:"";
	display:block;
	position:absolute;
	width:10%;
	height:2rem;
	top:0;
	left:0;
	background-image: -webkit-repeating-radial-gradient(center center, #54febd, #54febd 1px, transparent 1px, transparent 100%);
	background-image: -moz-repeating-radial-gradient(center center, #54febd, #54febd 1px, transparent 1px, transparent 100%);
	background-image: -ms-repeating-radial-gradient(center center, #54febd, #54febd 1px, transparent 1px, transparent 100%);
	background-image: repeating-radial-gradient(center center, #54febd, #54febd 1px, transparent 1px, transparent 100%);
	-webkit-background-size: 10px 10px;
	-moz-background-size: 10px 10px;
	background-size: 10px 10px;
}

/* ==========================================================================
   Form General Settings
   ========================================================================== */
.bh_form .gform_wrapper ul li.gfield {
  margin-top:0
}

.bh_form::before {
	content:"";
	display:inline-block;
	position:absolute;
	width:100%;
	height:8rem;
	bottom:0;
	left:0;
	background-image: -webkit-repeating-radial-gradient(center center, #000080, #000080 1px, transparent 1px, transparent 100%);
	background-image: -moz-repeating-radial-gradient(center center, #000080, #000080 1px, transparent 1px, transparent 100%);
	background-image: -ms-repeating-radial-gradient(center center, #000080, #000080 1px, transparent 1px, transparent 100%);
	background-image: repeating-radial-gradient(center center, #000080, #000080 1px, transparent 1px, transparent 100%);
	-webkit-background-size: 10px 10px;
	-moz-background-size: 10px 10px;
	background-size: 10px 10px;
}

/* --- INPUT FIELD --- */
.bh_form .bh_name input[type=text],
.bh_form .bh_email input[type=text],
.bh_form .bh_telefon input[type=text],
.bh_form .bh_nachricht textarea {
border: 1px solid #eee;
border-radius: 1rem;
line-height:5rem;
font-size:1.7rem;
padding-left:2rem!important;
background:white;
}
.bh_form .bh_nachricht textarea {margin-top:2.5rem}

.bh_form .gform_fields .gfield input::-webkit-input-placeholder,
.bh_form .gform_fields .gfield textarea::-webkit-input-placeholder {
	/* Chrome/Opera/Safari */
  color: #999;
  font-size:1.6rem;
}
.bh_form .gform_fields .gfield input::-moz-placeholder,
.bh_form .gform_fields .gfield textarea::-moz-placeholder { 
	/* Firefox 19+ */
 color: #999;
 font-size:1.6rem;
}
.bh_form .gform_fields .gfield input:-ms-input-placeholder,
.bh_form .gform_fields .gfield textarea:-ms-input-placeholder {
	/* IE 10+ */
  color: #999;
  font-size:1.6rem;
}
.bh_form .gform_fields .gfield input:-moz-placeholder,
.bh_form .gform_fields .gfield textarea:-moz-placeholder {
	/* Firefox 18- */
  color: #999;
  font-size:1.6rem;
}

.bh_form .bh_name input[type=text]:focus,
.bh_form .bh_email input[type=text]:focus,
.bh_form .bh_telefon input[type=text]:focus,
.bh_form .bh_nachricht textarea:focus {
border:1px solid #4c3939;
transition:.3s ease-in-out;
}

.bh_form .field_sublabel_below {
  font-weight:800;
}

.bh_form .gfield_required {
  color:black!important
}


/* --- BUTTON --- */
.bh_form .gform_button {
padding: 1.6rem 2.6rem;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	display: inline-block;
	font-size: 1.3rem;
	margin: 0 auto;
	cursor: pointer;
	-webkit-transition-duration: 0.4s; 
	   -moz-transition-duration: 0.4s; 
	     -o-transition-duration: 0.4s;
			transition-duration: 0.4s;
	font-weight:600;
	border-radius:10rem;
	background:#000080;
	color:#fff;
	box-shadow: 0px 20px 20px 0px rgba(0,3,38,0.15);
	border:none;
}

.bh_form .gform_button:hover {
 	animation:none;
	padding: 1.6rem 2.6rem;
	background:#00e293;
	color:#fff;
	box-shadow: 0px 5px 10px 0px rgba(0,3,38,0.15);
	border:none
	}


/* --- ERROR MESSAGE --- */
.bh_form .gform_wrapper div.validation_error {
  background:#F91D45;
  border:none;
  color:#fff
}

.bh_form .gform_wrapper li.gfield.gfield_error {
  border:none;
}

.bh_form .gform_wrapper li.gfield.gfield_error,
.bh_form .gform_wrapper li.gfield_error div.ginput_complex.ginput_container label{
  color:#F91D45;
  background:#FCF0F3;
}
.bh_form .gform_wrapper .validation_message {
  color:#F91D45;
  padding: 0 1rem!important
}

.bh_form .gform_wrapper li.gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
.bh_form .gform_wrapper li.gfield_error textarea{
  border: 1px solid #F91D45;
}

