html{
    /* This image will be displayed fullscreen */
    /* Ensure the html element always takes up the full height of the browser window */
    min-height:100%;

    /* The Magic */
    background-size:contain;

}


/* Utility Classes */
.pr0 {padding-right: 0em;}
.pr3 {padding-right: 3em;}
.mb3 {margin-bottom: 3em;}
.mb5 {margin-bottom: 5em;}
.mb8 {margin-bottom: 8em;}
.mt1 {margin-top: 1em;}
.mt2 {margin-top: 2em;}
.mt8 {margin-top: 8em;}
.va {vertical-align: top;}
.h2-grey {border-bottom: 2px solid #24353f;}



body{
    /* Workaround for some mobile browsers */
    background:url('image/background-color-white.jpg') top center;
    min-height:100%;
    font-family: 'Titillium Web', sans-serif;
    text-align: center;
    margin: auto;
    padding: auto;
}

img {
	width: 100%;
}

h2 {
	line-height: 1.4em;
	text-transform: uppercase;
	font-size: 2.5em;
	margin-bottom: 1em;
	letter-spacing: .5px;
	border-bottom: 2px solid #97cb04;
	color: #000;
}

h3 {
	text-transform: uppercase;
	color: #000;
	margin-bottom: 1em;
	font-weight: bold;
}

h4 {
	line-height: 1.6em;
}

.h4 {
	font-weight: bold;
	color: #000;
}


p {
	font-size: 1.1em;
	line-height: 2em;
	color: #000;
	white-space: pre-wrap;
	word-wrap: break-word;
}

li {
    font-family: 'Titillium Web', sans-serif;
	font-size: 1.1em;
	margin-right: 2em;
	list-style-type: none;
	color: #000;
}

a {
    font-family: 'Titillium Web', sans-serif;
	font-size: 1.1em;
}

a:hover {
    font-family: 'Titillium Web', sans-serif;
	text-decoration: none;
	font-weight: bold;
	cursor: pointer;
	color: inherit;
}

.hover {
-webkit-user-select: none;
-webkit-touch-callout: none;        
}

.links {
	font-size: 1.1em;
	color: #97cb04;
	font-weight: 600;
}

.links:hover {
	color: #4ca22f;
}

.col_justify {
	column-count: 2; 
	column-gap: 3em;
	margin-bottom: 1em;	
	text-align: justify;
	column-width: 300px;
}

.active {
	font-weight: bold;
}

.active:hover {
	font-weight: bold;
}

.container {
	padding: 2em 0;
	max-width: 1000px;
}

.hideme {
	opacity: 0;
}

/***************************
	HEADER
***************************/
.image_text {
	position: relative;
	width: 100%;
}

h1 {
	position: absolute;
	top: 15%;
	left: 0;
	width: 100%;
	font-size: 80px;

}

h1 span {
	color: #97cb04; 
	background: #fff;
	padding: 10px 50px;
}

/***************************
	NAVIGATION
***************************/
.navbar-default {
	border: 0;
	width: 100%;
	background: #24353f;
	text-transform: uppercase;
	vertical-align: center;
	height: 80px;
}

.navbar {
	margin-bottom: 0em;
}


.dex-logo-nav {
	width: 30%;
}

.navbar-header button {
	margin: 0;
	float: left;
}

.navbar-toggle {
	float: none;
}

.navbar-nav {
    display: inline-block;
    float: none;
}

.navbar-nav>li {
    font-size: 1.2em;
    margin-right: 1em;
}

.navbar-default .navbar-nav>li>a {
	color: #fff;
	padding: 0em;
}

.navbar-default .navbar-nav>li>a:hover {
	color: #fff;
	font-weight: 400;
}

.cool-link {
    display: inline-block;
    color: #fff;
    text-decoration: none;
    padding: 0em;
    margin-right: 1em;
}

.cool-link::after {
    content: '';
    display: block;
    width: 0;
    height: 2px;
    background: #97cb04;
    transition: width .5s;
}

.cool-link:hover::after {
    width: 100%;
    /*//transition: width .3s;*/
}

.navbar-default .navbar-nav>li>.active:hover {
	font-weight: bold;
}

#myBtn {
    display: none; /* Hidden by default */
    position: fixed; /* Fixed/sticky position */
    bottom: 20px; /* Place the button at the bottom of the page */
    right: 30px; /* Place the button 30px from the right */
    z-index: 99; /* Make sure it does not overlap */
    border: none; /* Remove borders */
    outline: none; /* Remove outline */
    color: #97cb04; /* Text color */
    background: none;
    font-size: 2em;
    cursor: pointer; /* Add a mouse pointer on hover */
    padding: 15px; /* Some padding */
    border-radius: 10px; /* Rounded corners */
}


.leistung_blume_text {
	width: auto; 
	height: auto; 
	padding: .8em 1.8em 1em 1.8em;
	border-radius: 10px; 
}

.stoerer {
	padding: 1em 2em;
	text-align: center;
	font-size: 1.4em;
	background: #97cb04;
	width: 100%;
	text-transform: uppercase;
}

.btn {
	padding: 1em 1em;
	background: #97cb04;
	width: 100%;
	color: #fff;
	font-size: 1.1em;
	text-transform: uppercase;
}

.btn:hover {
	font-weight: bold;
}

.btn-popup {
	border: none;
	color: #000;
}

#my_image,
#my_image_orange,
#my_image_rot,
#my_image_gelb,
#my_image_violet,
#my_image_rosa,
#my_image_blau {
	width: 60%;
}

.blume_leistung {
	width: 0%;
	opacity: 0;
}

.hidden {
	display: none;
}

.row-center {text-align: center;}
.row-left {text-align: left;}
.row-right {text-align: right;}

.col-center {
  display:inline-block;
  float:none;
  vertical-align: middle;
}

.white {
	color: #fff;
}


/***************************
	KONTAKT
***************************/
.input-group {
	font-size: 1em;
	background: #eee;
	padding: .5em;
	border-radius: .5em;
	margin-bottom: 1em;
}

.form-textarea {
	font-size: 1.1em;
	width: 100%;
	border-radius: .5em;
	height: 150px;
	border: none;
	padding: .8em;
	margin-bottom: 2em;
	float: left;
	background: #eee;
}

.input-group-addon {
	color: #97cb04;
	font-size: 1.1em;
	background: #eee;
	border: none;
}

.kontakt_input {
	border: none;
	width: 100%;
	font-size: 1.1em;
	float: left;
	margin-top: .2em;
	font-weight: normal;
	background: #eee;
}

input:focus,
textarea:focus {
	outline:2px !important;
    -webkit-appearance: blue;
}

::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #878787;
}
::-moz-placeholder { /* Firefox 19+ */
  color: #878787;
}
:-ms-input-placeholder { /* IE 10+ */
  color: #878787;
}
:-moz-placeholder { /* Firefox 18- */
  color: #878787;
}

.error_messages {
	background: #d9534f;
	padding: .5em;
	margin: 0em 0em 1em 0em;
	/*border-radius: 1.5em;*/
	font-size: 1em;
	color: #fff;
}

.success_messages {
	background: #97cb04;
	font-size: 1em;
	/*border-radius: 1.5em;*/
	padding: .5em;
	color: #24353f;
	margin: 0em 0em 1em 0em;
}

.submit {
	width: 100%;
	background: #97cb04;
	color: #24353f;
	border: none;
	padding: 1em;
	text-transform: uppercase;
	font-size: 1.1em;
	transition: background .3s;
	font-weight: bold;
}

.submit:hover {
	background: #4ca22f;
}

.error_border {
	border: 2px solid #d9534f;
}

.error_glyphicon {
	color: #d9534f;
}

/*************************** 
	Mein DEX
***************************/
.show_password_symbol {
	color: #24353f;
}
.show_password_symbol:hover {
	color: #000;
}

.mein_dex_label {
	width: 100%;
	border-radius: 5px;
}

.mein_dex_kontakt_input {
	padding: .7em;
	border: none;
	border-radius: .5em;
	width: 100%;
	font-size: 1.1em;
	float: left;
	margin-top: .2em;
	font-weight: normal;
	background: #eee;
}
}


/*************************** 
	REFERENZEN
***************************/
.view_first {
	position: relative;
	padding: 0em;
	margin: 0em;
}

.image {
	display: block;
	width: 100%;
	object-fit: contain;
	/*border-top-right-radius: 20px;*/
	/*border-top-left-radius: 20px;*/
}

.border-rosa { border: 2px solid #f0869d; }
.border-gelb { border: 2px solid #ffed00; }
.border-orange { border: 2px solid #f39200; }
.border-violet { border: 2px solid #c0087f; }
.border-blau { border: 2px solid #59358c; }
.border-rot { border: 2px solid #d51317; }

.background-rosa { background: #f0869d; }
.background-gelb { background: #ffed00; }
.background-orange { background: #f39200; }
.background-violet { background: #c0087f; }
.background-blau { background: #59358c; }
.background-rot { background: #d51317; }

.overlay {
	position: absolute;
	bottom: 0;
	height: 50%;
	width: 100%;
	opacity: 0;
	transition: 2s ease;
	text-align: left;
}

.view_first:hover .overlay {
	opacity: 1;
}

.referenzen_text {
	font-size: 1.1em;
	padding: .5em;
	text-align: left;
}

.btn-white {
	color: #fff;
	background: #24353f;
}

.btn-white:hover {
	color: #fff;
}

.carousel-control {
	width: 0;
}



/*************************** 
	FOOTER
***************************/
footer {
	color: white;
	background-color: #24353f;
	width: 100%;
	margin: 0;
}

.footer_caption {
	text-transform: uppercase;
	line-height: 2em;
	border-bottom: 1px solid #97cb04;
	margin-bottom: 1em;
}

footer p {
	color: #fff;
	font-size: .9em;
}

.container_bottom {
	background-color: #97cb04;
	color: #24353f;
	padding: 1em;
}


.container_bottom span {
	margin-right: .3em;
	margin-left: .3em;
}

.container_bottom span a {
	color: #24353f;
	font-size: 1em;
}

.cool-link_footer {
    display: inline-block;
    text-decoration: none;
    padding: 0em;
}

.cool-link_footer::after {
    content: '';
    display: block;
    width: 0;
    height: 2px;
    background: #24353f;
    transition: width 1s;
}

.cool-link_footer:hover::after {
    width: 100%;
    color: #fff;
    /*//transition: width .3s;*/
}

.rezension_text {
	margin: 0em; 
	padding: 0em; 
	font-style: italic
}

.rezension_wer {
	color: #97cb04; 
	text-align: right; 
	margin-bottom: 2em
}

.footer_link{
	color: #fff;
	text-decoration: none;
	display: inline-block;
	margin-right: 10px;
	margin-left: 10px;
	font-size: 1em;
}

span a:hover {
	font-weight: 400;
}

.footer_link::after {
    content: '';
    display: block;
    width: 0;
    height: 2px;
    background: #fff;
    transition: width 1s;
}

.footer_link:hover::after {
	width: 100%;
	color: #fff;
}


/***********************
	DATEIUPLOAD
***********************/
.file-upload__label {
    display: block;
    padding: 1em 2em;
    color: #24353f;
    background: #eee;
    border-radius: .4em;
    transition: background .3s;
    text-align: center;
}

.file-upload__label:hover {
    cursor: pointer;
    background: #ccc;
}

.file-upload__input {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    font-size: 1;
    width:0;
    height: 100%;
    opacity: 0;
}

.error { 
    color: red;
}

input[type="submit"]:disabled {
    background: #dddddd;
}


/*********************** 
	Ekko
***********************/
.modal-title {
	text-align: left;
	color: #24353f;
}
.ekko-lightbox-nav-overlay a span{
	display: none;
}




/************************
	MEDIA SCREEN
************************/
@media screen and (max-width: 992px) {
	.navbar-container{
		padding: 2em 0em 0em 2em;
	}
	.dex-logo-nav {
		text-align: left;
		width: 60%;
	}
	.navbar-default {
		height: auto;
	}
    .navbar-header {
        float: none;
        margin-bottom: 1em;
    }
    .navbar-toggle {
        display: block;
    }
    .navbar-collapse {
        padding: 0em;
        border: 0;
        box-shadow: 0 0px 0 rgba(255, 255, 255, 0);
        -webkit-box-shadow: 0;
    }
    .navbar-collapse.collapse {
        display: none!important;
    }
    .navbar-nav {
        float: none!important;
        margin-top: 7.5px;
    }
    .navbar-default .navbar-nav>li {
        float: none;
    }
    .navbar-default .navbar-nav>li>a {
        height: 25px;
        margin-bottom: 1em;
    }
    .collapse.in{
        display:block !important;
    }
	.blume {
		display: none;
	}
	.blume_leistung {
		display: none;
	}
	h1 {
		font-size: 48px;
	}
}

@media screen and (max-width: 768px) {
	.container {
		padding: 2em;
	}
	.navbar-container>.navbar-header {
		margin-bottom: 1em;
	}
	.navbar-default {
		padding-left: 1em;
		margin: 0em;
	}
	.navbar-collapse {
		padding: 0em 1em;
	}

	.container_navbar {
		display: none;
	}

	.container {
		width: 100%;
	}

	.container_first {
		margin-top: 1em;
		padding: 0em;
		position: absolute;
	}

	h2 {
		font-size: 1.8em;
	}

	.dex-logo {
		width: 100%;
		padding: 1em;
	}


	.btn {
		font-size: 1.5em;
	}

	iframe {
		height: 400px;
	}

	.row-right {
		text-align: left;
	}

	h1 {
		font-size: 36px;
	}
}

@media screen and (max-width: 576px) {
	iframe {
		height: 250px;
	}

	.btn {
		padding: 0.5em 0.8em;
		font-size: 1em;
	}
	h1 {
		font-size: 25px;
		top: 10%;
	}
	h1 span {
		padding: 5px 25px;
	}
}