/*
 Theme Name:   dirkwichartz-schimmelpeter-wordpress-theme
 Description:  dirkwichartz-schimmelpeter WordPress Child Theme
 Author:       Kevin Grünwald
 Author URI:   http://21medien.de
 Template:     twentyeleven
 Version:      1.0.0
 Text Domain:  dirkwichartz-schimmelpeter-wordpress-theme
*/

@import url(../twentyeleven/style.css);

body {
    padding-top: 110px;
	font-weight: 400;
}

textarea {
	width: 100%;
	resize: none;
}

.mainMenu {
    float: left;
    width: 100%;
    max-width: 100vw;
    background-color: #f0f0f0;
}

.mainMenu ul#menu-hauptmenue {
    margin: 0px;
    list-style: none;
	float: left;
    width: 100%;
}

.mainMenu ul#menu-hauptmenue li {
	float: left;
}

.mainMenu ul#menu-hauptmenue li a {
	float: left;
	border-right: 2px solid #dfdfdf;
	padding: 5px 10px;
	text-decoration: none;
	color: #666;
}

.mainMenu ul#menu-hauptmenue li a:hover {
	background-color: #dfdfdf;
}

.entry-content {
    padding-top: 0px;
}

.entry-content h1 {
	font-size: 26px;
    margin-top: -15px;
    margin-bottom: 15px;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4 {
	letter-spacing: inherit;
}

.entry-content h3 {
	font-size: 15px;
    line-height: 25px;
    margin-top: -10px;
    margin-bottom: 0px;
}

a {
	color: #000 !important;
}

hr {
    float: left;
    width: 100%;
    height: 1px;
    background-color: #ddd;
    margin-top: 30px;
    margin-bottom: 30px;
}

.jumbotron.rating {
    float: left;
    width: 29%;
    padding: 1%;
    margin: 1% 1% 30px;
    min-height: 110px;
    background-color: #f0f0f0;
    border: 1px solid #ddd;
    border-radius: 3px;
    box-shadow: 0px 1px 3px #888;
    font-style: italic;
}

.jumbotron.rating span.right {
    float: left;
    font-style: normal;
}

img.img-center {
    margin: auto;
    display: block;
}

.singular.page .hentry {
    padding-top: 0px;
}

.container,
.one-column #page {
    max-width: 1200px;
    margin: auto;
}

.one-column #page {
    margin-bottom: 50px;
}

#main {
    margin: 0px;
    padding-top: 0px;
}

.one-column #content {
    margin: 0px;
    padding: 40px 10px 30px;
}

#branding {
    border-top-width: 0px;
}

#branding hgroup {
	position: fixed;
    left: 0px;
    margin: 0px;
    top: 0px;
    background-color: #7dbd3f;
    width: 100%;
    height: 83px;
    border-bottom: 3px solid #fff;
}

#branding hgroup img {
	float: left;
	margin-top: -3px;
	margin-bottom: -2px;
}

@media screen and (max-width: 768px) {

	#branding hgroup {
		height: 90px;
	}
}

#branding hgroup #site-title,
#branding hgroup #site-description,
#site-title a {
	float: left;
    font-weight: 300;
	color: #fff !important;
}

#branding hgroup #site-title {
	padding-top: 10px;
    margin-bottom: -15px;
}

#site-title a {
    font-size: 23px;
    line-height: 32px;
    margin-top: 5px;
	margin-left: 15px;
    float: left;
}

@media screen and (max-width: 768px) {
	
	#branding img.logo {
		padding: 10px !important;
		margin-right: -15px !important;
	}

	#site-title a {
		font-size: 16px !important;
        line-height: 17px !important;
	}
	
}

#branding hgroup #site-description {
    font-size: 16px;
    margin-left: 15px;
    margin-top: 12px;
	margin-bottom: 0px;
	margin-right: 0px;
	float: left;
    color: #777;
	line-height: 30px;
}

@media screen and (max-width: 768px) {
	#branding hgroup #site-description {
		line-height: 50px;	
	}
}

#branding hgroup .phoneNumber {
    float: right;
        margin: -67px 10px 0px;
    font-size: 16px;
	color: #fff !important;
}

#branding hgroup .phoneNumber.mobile {
	margin: -67px 155px 0px;
}

#branding hgroup #phoneNumber,
#branding hgroup #phoneNumber a {
	color: #fff !important;
}

#branding a {

}

#branding img {
    height: auto;
    display: block;
	width: auto !important;
}

#branding img.logo {
	float: left !important;
	height: 75px;
    padding: 5px;
}

#branding a.partner-logo {
	float: right;
	margin-top: -37px;
	margin-bottom: -20px;
}

#branding a.partner-logo small {
	margin: 10px;	
}

#branding a.partner-logo img {
    margin: 0px;
    float: right;
    margin-right: 10px;
	max-height: 50px;
}

h1#site-title {
	clear: none;
}

.one-column #branding #searchform {
    position: relative;
    top: -25px;
    right: 35px;
    float: right;
}

div#supplementary {
    background-color: #ccc;
}
.textwidget img {
    width: 375px;
}

.widget ul {
    font-size: 15px;
    margin: 0;
    list-style: none;
}

.widget-title {
    color: #666;
    font-size: 15px;
    font-weight: 500;
    line-height: 2.6em;
}

.widget a {
    font-weight: bold;
    text-decoration: none;
    font-size: 15px;
    color: #fff;
}

#site-generator {
    padding: 2px 0px;
}

#supplementary {
    border-top: 1px solid #ddd;
    padding: 20px 50px;
    overflow: hidden;
}

.header-startseite {
    font-size: 25px;
    color: #7dbd3f;
    padding-bottom: 10px; 
}

.header-startseite2 {
    font-size: 18px;
    color: #7dbd3f;
    padding-bottom: 5px;
}

.content-allgemein {
    float: left;
    max-width: 31.3%;
    padding-right: 2%;
}

.content-allgemein img {
    margin: auto;
    display: block;
}

.content-beratung {
    float: left;
    width: 45%;
    padding-right: 5%;
}

.content-quote {
    float: left;
    max-width: 21%;
    padding-right: 2%;
    border-left: solid 1px;
    border-color: #ccc;
    font-style: italic;
    color: #999;
    padding-left: 1%;
}

div.wpcf7-response-output.wpcf7-display-none.wpcf7-validation-errors { 
    border: 2px solid #7dbd3f;
}

h2#landingHeadline {
    font-size: 30px;
    font-weight: 400;
    text-transform: uppercase;
}

blockquote {
    margin: 0px;
}

p {
	font-size: 16px;
}

.freeBox .inner {
	margin-top: 30px;
	padding-top: 30px;
	padding-bottom: 30px;
	position: fixed;
	bottom: -55px;
    width: calc(100vw + 50px);
    left: -25px;
    background-color: #7dbd3f;
    transform: rotate(-3deg);
	z-index: 3;
	border-top: 3px solid #fff;
}

.freeBox .inner a {
	padding: 0px;
	margin: 0px;
	float: left;
	width: 100%;
}

.freeBox .inner p {
	display: none;
}

.freeBox .inner h2 {
	text-align: center;
	transform: rotate(3deg);
	color: #fff;
	margin-top: 5px;
	margin-bottom: 50px;
	font-size: 22px;
}

@media screen and (max-width: 1440px) {
    .container, .one-column #page {
        max-width: 900px;
    }
}

@media screen and (max-width: 1366px) {

		#site-title a {
      font-size: 18px;
   }
    .container, .one-column #page {
        max-width: 860px;
    }
}

@media screen and (max-width: 1280px) {
    .container, .one-column #page {
        max-width: 760px;
    }
	    #branding hgroup #site-title {
        width: 50%;
    }

    .header-startseite {
        font-size: 20px;
    }
}

@media screen and (max-width: 1200px) {
    .container, .one-column #page {
        max-width: 720px;
    }

    .header-startseite {
        font-size: 18px;
    }
}

@media screen and (max-width: 1155px) {
    .container, .one-column #page {
        max-width: 640px;
    }

    .header-startseite {
        font-size: 16px;
    }
}

.ratingBox {
    float: left;
    width: calc(100% + 20px);
    background-color: #f0f0f0;
    padding: 15px;
    border-radius: 3px;
    margin-left: -10px;
    margin-bottom: 15px;
}

.ratingBox div.rating-form form,
.ratingBox .rating-form,
.ratingBox .rating-form .rating-item {
    margin-top: 0px;
    margin-bottom: 0px;
}

.ratingBox h4 {
    font-weight: 600;
}

.ratingBox .btn {
    margin-top: 5px;
    background-color: #fff;
    border: 1px solid #ddd;
}

img[class*="align"], img[class*="wp-image-"], #content .gallery .gallery-icon img {
	border-width: 0px;
}

@media screen and (max-width: 1100px) {
    .container, .one-column #page {
        max-width: 600px;
    }
}

@media screen and (max-width: 900px) {

    body {
        padding-top: 42px;
    }

    #branding hgroup {
        position: relative;
    }

    #branding hgroup #site-description {
        position: absolute;
        background-color: #777;
        top: -39px;
        margin-left: -15px;
        padding: 5px 15px;
        color: #fff;
    }

    #branding hgroup #phoneNumber {
        margin: 0px;
        top: 25px;
        right: 15px;
        position: absolute;
    }

    #branding img.partner {
        margin: 0px;
        margin-top: 70px;
	margin-right: 15px;
    }

    .content-allgemein {
        max-width: 100%;
        padding: 0px;
    }

    .content-beratung {
        width: 100%;
        padding: 0px;
    }

    .one-column #branding #searchform {
        position: fixed;
        top: 10px !important;
        right: 10px;
    }

    #branding hgroup #site-title {
        padding-top: 5px;
        margin-bottom: 5px;
    }

    body,
    .one-column #content {
        padding-left: 15px;
        padding-right: 15px;
    }

    #main #content {
        margin: 0px;
    }

}

@media screen and (max-width: 1155px) {

	#branding hgroup #site-title {
		margin-right: 0px;
	}

	#branding img.partner {
		display: none;
	}
	
}

@media screen and (min-width: 901px) {
	
	#branding hgroup #site-description {
		margin-left: 87px;
    		margin-top: -23px;
	}

	#branding img.partner {
		margin-top: -40px;
	}

}

@media screen and (max-width: 768px) {
	
	p {
		font-size: 15px;
	}

	#main #content {
		margin-top: 15px;
		padding-left: 0px;
		padding-right: 0px;
	}

	#branding hgroup .phoneNumber {
		float: right;
		width: 100%;
		text-align: right;
		font-size: 15px;
		color: #fff;
		margin: -25px 0px 0px;
	}

	#branding hgroup .phoneNumber.mobile {
		    margin: -25px 0px 25px;
	}

	#branding hgroup .phoneNumber a {
		text-align: right;
		float: right;
		color: #fff !important;	
	}

	#branding hgroup .phoneNumber i {
		float: right;
		margin: 3px;
	}

	.freeBox .inner h2 {
		font-size: 14px;
		width: 100vw;
		position: relative;
		max-width: 100vw;
		left: 25px;
		right: 0vw;
	}

    .ratingBox .description {
        width: 100%;
    }

	#branding hgroup #site-description {
		line-height: 17px !important;
		font-size: 13px;
	}

	#branding img.logo {
		    float: left !important;
    		height: 75px;
    		padding: 5px;
    		margin-top: 0px;
    		margin-left: 0px;
    		padding-left: 0px !important;
    		margin-bottom: -10px;
	}
	
	#branding a.partner-logo {
		display: none;
	}

	.mainMenu .container {
		padding-left: 0px;
		padding-right: 0px;
	}
    
}

@media screen and (max-width: 1280px) {
	.container, .one-column #page {
		max-width: 900px;
	}
}

@media screen and (max-width: 1155px) {
.container, .one-column #page {
    max-width: 860px;
}	
}