*
{
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
}

*, *:focus, *:active
{
		outline:0;
}

html, body
{
		margin:0;
		padding:0;
		font-size:16px;
}

@media all and (max-width: 767px)
{
		html, body
		{
			font-size:14px;
		}
}


body
{
		font-family: 'Source Sans Pro', sans-serif;
		padding-top:15px;
		color:#000;
		
		
}

.textlink_nu
{
	color:inherit;
	text-decoration:none;
}

.textlink_nu:hover
{
	text-decoration:underline;
}

.payment_icons
{
	margin-left:-3px;
}

.payment_icons img
{
	height:34px;
	width:auto;
}

.paymenttable 
{
	max-width:350px;
}

.paymenttable td:nth-child(2)
{
	white-space:nowrap;
}

@media screen and (min-width: 890px) {
	
	
	.nogrid
	{
			padding-left:30px;
			padding-right:30px;
	}
	
	.grid-item
{
	padding-left:30px;
	padding-right:30px;
	-webkit-box-flex: 1;
	-webkit-flex-grow: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
	-webkit-flex-shrink: 1;
	    -ms-flex-negative: 1;
	        flex-shrink: 1;
}


.grid-item.grid-max
{
	-webkit-flex-grow: 0;
	    -ms-flex-positive: 0;
	        -webkit-box-flex: 0;
	        flex-grow: 0;
}

footer .grid-item
{
	padding-left:10px;
	padding-right:10px;
}
	
	.grid
{
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
}


.wrapper.s-gap
{
	max-width: 1120px;
}

.grid3
{
	-webkit-flex-basis: 25%;
	    -ms-flex-preferred-size: 25%;
	        flex-basis: 25%;
}

.grid4
{
	-webkit-flex-basis: 33.3333%;
	    -ms-flex-preferred-size: 33.3333%;
	        flex-basis: 33.3333%;
}

.grid5
{
	-webkit-flex-basis: 41.6667%;
	    -ms-flex-preferred-size: 41.6667%;
	        flex-basis: 41.6667%;
}

.grid6
{
	-webkit-flex-basis: 50%;
	    -ms-flex-preferred-size: 50%;
	        flex-basis: 50%;
			width:50%;
			
}

.grid7
{
	-webkit-flex-basis: 58.3333%;
	    -ms-flex-preferred-size: 58.3333%;
	        flex-basis: 58.3333%;
}

.grid8
{
	-webkit-flex-basis: 77.777%;
	    -ms-flex-preferred-size: 77.777%;
	        flex-basis: 77.777%;
}

.grid40
{
	-webkit-flex-basis: 40%;
	    -ms-flex-preferred-size: 40%;
	        flex-basis: 40%;
}


.grid60
{
	-webkit-flex-basis: 60%;
	    -ms-flex-preferred-size: 60%;
	        flex-basis: 60%;
}



.floatgrid6
{
	width:50%;
	float:left;
	padding-left:30px;
	padding-right:30px;
}

}


.clear
{
		clear:both;
}

.wrapper
{
		max-width:1160px;
		margin:0 auto;
}


nav
{
		height:55px;
}


ul.topnav, ul.topnav li
{
		display:block;
		margin:0;
		padding:0;
		list-style-type:none;
}

ul.topnav
{
		font-size:24px;
		font-size:1.5rem;
}

ul.topnav li.nav-fill
{
		min-width: 0;
		overflow: hidden;
		width: 0;
}

@media screen and (max-width: 1255px)
{
		ul.topnav li.nav-fill
{
		min-width:30px;
		overflow:hidden;
		width:auto;
}		
}


ul.topnav li
{
		float:left;
		margin-left:30px;
}

ul.topnav li:nth-child(1),
ul.topnav li:nth-child(2)
{
		margin-left:0;
}

ul.topnav li a
{
		line-height:39px;
		text-decoration:none;
		color:#444;
}

ul.topnav li.brand
{
		 float: right;
    margin-top: -10px;
    position: relative;
    z-index: 2;
}

ul.topnav li.brand img
{
		height:105px;
		width:auto;
		border:20px solid #fff;
		background-color:#fff;
		
}

ul.topnav li.active a
{
		color:#0061a1;
}


@media screen and (max-width: 890px)
{
		ul.topnav li.no-phone
		{
			display:none;	
		}
		
		.grid{
			padding-left:20px !important;
			padding-right:20px !important;
		}
}

header
{
		position:relative;
}

.hero
{
		height:540px;
		background-image:url(../../images/header/Huefner_Milaneo_02.jpg);
		background-repeat:no-repeat;
		background-size:cover;
		background-position:center bottom;
		
	
}


@media screen and (min-width: 1025px)
{
		.hero
		{
			background-attachment:fixed;
		}
}

.hero h1
{
		margin:0;
		padding:0;
		font-size:80px;
		font-size:5rem;
		font-weight:600;
		line-height:1;
		letter-spacing:1px;
		bottom:50px;
		position:absolute;
		color:#0061a1;
		
}

.hero h1 span
{
		display:inline-block;
		padding:10px;
		margin-top:10px;
		background-color:#fff;
		padding-top:5px;
		text-transform:uppercase;
}



@media screen and (max-width: 768px)
{
	
		.hero
		{
			height:40vh;
		}
		
		
		.hero h1
		{
			font-size:2rem;	
		}
		
		.hero h1 span
		{
			margin-top:5px;
			padding-bottom:5px;
		}
		
		ul.topnav li.brand img
		{
				height:90px;
				width:auto;
				border:15px solid #fff;
				background-color:#fff;
				
		}
		
	
	
	}


.hero.parken
{
		background-image:url(../../images/header/Huefner_Milaneo_70.jpg);
		background-attachment:scroll;
		height:380px;
		background-position:center center;
}

.hero.service
{
		background-image:url(../../images/header/HuefnerVS_003.jpg);
		background-attachment:scroll;
		height:380px;
		background-position:center center;
}

.hero.esslingen
{
		background-image:url(../../images/header/esslingen-town-square-view.jpg);
		background-attachment:scroll;
		height:380px;
		background-position:center center;
}

.hero.unternehmen
{
		background-image:url(../../images/header/Huefner_Milaneo_93.jpg);
		
		background-attachment:scroll;
		height:380px;
		background-position:center center;
}

.hero.chronik
{
		background-image:url(../../images/header/HuefnerVS_036.jpg);
		background-attachment:scroll;
		height:380px;
		background-position:center center;
}

.hero.kultur
{
		background-image:url(../../images/header/Huefner_Zueblin_12.jpg);
		background-attachment:scroll;
		height:380px;
		background-position:center center;
}

.hero.dauerparken
{
	background-image:url(../../images/header/HuefnerVS_050.jpg);
		background-attachment:scroll;
		height:380px;
		background-position:top center;
}

.hero.partner
{
	background-image:url(../../images/header/HuefnerVS_014.jpg);
		background-attachment:scroll;
		height:380px;
		background-position:center center;
}

.hero.allgemein
{
	background-image:url(../../images/header/Huefner_Milaneo_12.jpg);
		background-attachment:scroll;
		height:380px;
		background-position:bottom center;
}

.hero.small h1
{
		margin:0;
		padding:0;
		font-size:64px;
		font-size:4rem;
}



.hero .badge
{
		 background-color: #ffffff;
		border: 6px solid #ffffff;
		height: 40px;
		width:auto;		
		float:right;
		margin-top:-51px;
		margin-right:10px;
		
	
}

main
{
		padding-top:60px;
}

main h1, main h2
{
		
		font-weight:600;
		font-size:32px;
		font-size:2rem;
		margin:0;
		padding:0;
		text-align:right;
}

main h1 span, main h2 span
{
		font-weight:300;
}

main:not(.detailview) p
{
		font-size:17px;
		font-size:1.1rem;
		line-height:1.5;		
		margin:0;
		margin-bottom:20px;
}


@media all and (max-width: 768px)
{
		main h1, main h2
		{
				
				
				font-size:1.3rem;
				text-align:left;
				padding-bottom:30px;
		}
}


section.followup
{
		margin-top:80px;
}

section.follow
{
		margin-top:30px;
}


img.fullwidth
{
		width:100%;
		height:auto;
}

.wrapper.grid.teaser,
.wrapper.grid.fullgrid
{
		max-width:1180px;
		padding-left:30px;
		padding-right:30px;
		
		
}

.wrapper.grid.wrapgrid
{
		-webkit-flex-wrap:wrap;
		    -ms-flex-wrap:wrap;
		        flex-wrap:wrap;
}

.news-item
{
		background-color:#ededed;
		-webkit-flex-basis: 33.3333%;
	    -ms-flex-preferred-size: 33.3333%;
	        flex-basis: 33.3333%;
			
			-webkit-box-flex: 1;
	-webkit-flex-grow: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
	-webkit-flex-shrink: 1;
	    -ms-flex-negative: 1;
	        flex-shrink: 1;
			
			margin-left:10px;
			margin-right:10px;
		
}

.content-link
{
		color:#555;
}

.content-link:hover
{
		text-decoration:underline;
}

.news-image
{
		
}

.news-teaser
{
		padding:15px;
		display:-webkit-box;
		display:-webkit-flex;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-orient:vertical;
		-webkit-box-direction:normal;
		-webkit-flex-direction:column;
		    -ms-flex-direction:column;
		        flex-direction:column;
}

h3, strong
{
	font-weight:600;
}

.news-teaser h3, .news-teaser p
{
		margin:0;
		padding:0;
}

.news-teaser h3 span
{
		color:#0061a1;
		display:inline-block;
		padding-bottom:5px;
}

.news-teaser h3
{
		text-transform:uppercase;
}

.news-teaser p
{
		padding-top:15px;
}

.news-teaser a
{
		color:#444;
}

/*
.news-copy-footer
{
		padding-bottom:25px;
}
*/


ul.standorte, ul.standorte li
{
		display:block;
		margin:0;
		padding:0;
		list-style-type:none;
}

 ul.standorte li
{
		padding:15px;
		background-color:#e5eff5;
		margin-top:10px;
		position:relative;
}

 ul.standorte li:hover
 {
		color:#fff;
		background-color:#0061a1; 
		cursor:pointer;
}

ul.standorte li a
{
		color:inherit;
		text-decoration:none;
		display:block;
}

 ul.standorte li.isopen
 {
		color:#fff;
		background-color:#0061a1; 
		cursor:default;
}

 ul.standorte li.isopen small
 {
		color:rgba(255,255,255,0.8);
		
	}
	
	

 ul.standorte li:hover small
 {
		color:rgba(255,255,255,0.8);
		
	}

 ul.standorte li i
 {
		position:absolute;
		right:15px; 
		top:50%;
		-webkit-transform:translateY(-50%);
		    -ms-transform:translateY(-50%);
		        transform:translateY(-50%);
}

 ul.standorte li:first-child
 {
	margin-top:0;
}

 ul.standorte li small
 {
		display:block; 
		color:rgba(0,0,0,0.6);
		padding-right:20px;
	}
	
	
	footer
	{
		margin-top:100px;
		padding-top:40px;
		padding-bottom:40px;
		background-color:#bbb;	
			line-height:1.6;	
		
	}
	
	
	
	
	footer .wrapper.grid
	{
		
			-webkit-box-pack:justify;
		
			-webkit-justify-content:space-between;
		
			    -ms-flex-pack:justify;
		
			        justify-content:space-between;	
	}
	
	footer a
	{
		color:inherit;
		text-decoration:none;
		color:#353535;
	
	}
	
	.servicegrid 
	{
			
	}
	
	.grid.nopadding .grid-item
	{
			padding:0;		
	}
	
.servicegrid .grid-item{
		background-color: #ededed;
		margin:10px;
		padding-bottom:25px;
}

.servicegrid h4
{
		font-size:20px;
		font-size:1.3rem;
		color:#0061a1;
		text-transform:uppercase;
		font-weight:600;
		margin:0;
		padding:0;
		padding-bottom:15px;
		padding-top:25px;

}

#map
{
		height:500px;
		background-color:#eee;
}

.status
{
	
		background-color:rgba(255,255,255,0.5);
		margin-left:-30px;
		margin-right:-30px;
		padding:30px;
		font-size:19px;
		font-size:1.2rem;
		color:#555;
		font-weight:300;
		margin-bottom:30px;
		
}

td.price
{
		padding-left:30px;
		text-align:right;
}

table
{
		margin:0;
		padding:0;
		border:0;
		border-spacing:0;
}

a.btn
{
		display:inline-block;
		padding:10px;
		background-color:rgba(0,0,0,0.5);
		color:#fff;
		margin-right:10px;
		text-decoration:none;
		margin-bottom:30px;
}


.nearby
{
		border:1px solid rgba(0,0,0,0.1);
		padding:10px;
		margin-top:10px;
		position:relative;
		background-color:rgba(0,0,0,0.01);
}

.nearby > div
{
		padding-right:40px;
}

.nearby:first-child
{
		margin-top:0;
}

.nb-icon
{
		position:absolute;
		right:10px;
		width:25px;
		height:auto;
		top:50%;
		-webkit-transform:translateY(-50%);
		    -ms-transform:translateY(-50%);
		        transform:translateY(-50%);
}

.nearby:hover
{
		background-color:#fefefe;
		cursor:pointer;
}

.xlist, .xlist li
{
		display:block;
		margin:0;
		padding:0;
		list-style-type:none;
}

.xlist li
{
		position:relative;
		padding-left:30px;
		margin-bottom:5px;
}

.xlist li i
{
		position:absolute;
		left:0;
		color:#0061a1;
}


.faq
{
		border-bottom:1px solid #ddd;
		padding-bottom:5px;
		margin-bottom:20px;
}

.faq p:nth-child(1)
{
		cursor:pointer;
}

.faq p:nth-child(1):hover
{
		color:#0061a1;
}

.faq p:nth-child(2)
{
		display:none;
}

.faq.show p:nth-child(2)
{
		display:block;
}

p.q{
		position:relative;
}

p.q i
{
		position:absolute;
		right:0;
		top:50%;
		-webkit-transform:translateY(-50%);
		-ms-transform:translateY(-50%);
		    transform:translateY(-50%);
		color:#cdcdcd;	
}

.faq:last-child
{
		border-bottom:0;
}

.formrow
{
		margin-bottom:10px;
}

form
{
		display:block;
		margin:0;
		padding:0;
}

form label
{
		display:block;
		font-weight:300;
		font-size:80%;
		color:#999;
}

form input, form textarea, form select, form button
{
		
		padding:8px;
		font-family: 'Source Sans Pro', sans-serif;
		font-size:1rem;
		border:1px solid #ccc;
		border-radius:0;
}


form input:focus, form textarea:focus, form select:focus, form button:focus
{
	border-color:#999;
}

form input:focus + label, form textarea:focus  + label, form select:focus + label, form button:focus + label
{
	color:#333;
}

form input, form textarea
{
		width:100%;
}

.formgrid
{
		display:-webkit-box;
		display:-webkit-flex;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-pack:justify;
		-webkit-justify-content:space-between;
		    -ms-flex-pack:justify;
		        justify-content:space-between;
}

.formgrid .row6
{
		width:49%;
}

.formgrid .row2{
		width:20%;
}

.formgrid .row8
{
		width:78%;
}

button
{
		background-color:#0061a1;
		color:#fff;
		font-weight:600;
		border:0;
		cursor:pointer;
}

span.tooltips {
  position: relative;
  display: inline-block;
  font-size:.9rem;
  cursor:default;
}
span.tooltips em {
  position: absolute;
  padding-left:15px;
  padding-right:15px;
  white-space:nowrap;
  color: #FFFFFF;
  background: #0061a1;
  height: 30px;
  line-height: 30px;
  text-align: center;
  visibility: hidden;
  border-radius: 6px;
  left:50%;
  -webkit-transform:translateX(-50%);
      -ms-transform:translateX(-50%);
          transform:translateX(-50%);
  font-style:normal;
    bottom: 40px;
	opacity:0;
	-webkit-transition:all 200ms;
	transition:all 200ms;
}
span.tooltips em:after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -8px;
  width: 0; height: 0;
  border-top: 8px solid #0061a1;
  border-right: 8px solid transparent;
  border-left: 8px solid transparent;
  
}
span.tooltips:hover em {
  visibility: visible;
  opacity: 0.9;
	bottom:50px;
 
  z-index: 999;
}

.oeztab td:nth-child(1)
{
	width:80px;
}


.errorMessage
{
	color:rgba(179,39,42,1.00);
	font-size:.8rem;
	padding-bottom:4px;
}

.teaser-padding
{
	margin-left:-30px;
	margin-right:-30px;
}

@media all and (max-width: 767px)
{
		.news-item 
		{
			margin:0;
			margin-top:20px;
		}
		
		.news-item:first-child
		{
			margin-top:0;
		}
		
		footer .grid-item:nth-child(4)
		{
			margin-top:20px;
		}
		
		.hero.small
		{
			height:200px !important;
		}
		
		.hero.small h1 {
			font-size:1.8rem;	
			margin: 0;
			padding: 0;
		}
		
		
		.hero.small h1 span
		{
			margin-top:5px;
			padding-bottom:5px;
		}
		
		.teaser-padding
		{
			margin-left:0;
			margin-right:0;
			margin-top:20px;
		}
		
		
		
		.servicegrid .grid-item {
			
			margin: 0;
			margin-top:20px;
		}
		
		.servicegrid .grid-item:first-child
		{
			margin-top:0;
		}
		
		.servicegrid .grid-item h4,
		.servicegrid .grid-item p
		{
			padding-left:15px;
			padding-right:15px;
		}
		
		#cd-timeline
		{
			max-width:90% !important;	
		}
		
		.floatgrid6
		{
			padding-left:20px;
			padding-right:20px;
		}
		
		#map
		{
			height:200px;
		}
}









	
#modalCookie
{
	position: fixed;
	top:0;
	bottom:0;
	left:0;
	right:0;
	width:100vw;
	height:100vh;
	background-color:rgba(0,0,0,0.5);
	z-index: 10;
}

#cookieManagment
{
	position: fixed;
	
	max-width: 350px;
	bottom: 20px;
	left: 20px;
	top: auto;
	padding: 20px;
	padding-right: 0;
	
	z-index:2000;
	background-color:#fff;
	font-size: .87rem;
	
}

#cookieManagment:not(.extend) .advanced
{
	display:none;
}

#cookieManagment.extend .default
{
	display:none;
}

#cookieManagment p:first-child
{
	margin-top:0;
}

.cookie-buttons
{
	display:grid;
	grid-row-gap: 15px;
}

#cookieManagment  .collapse-list a,
#cookieManagment  .extend-list a,
.flex-head
{
	display:flex;
	align-items: center;
}

.flex-head h3
{
	transform:translate(8px, -1px);
}

.flex-head + p
{
	margin-top:0;
}

.cookie-section:not(.info) .collapse-list,
.cookie-section:not(.info) table
{
	display:none;
}

.cookie-section.info .extend-list
{
	display:none;
}


.cookie-buttons
{
	margin-top:20px;
}

.cookie-buttons .btn
{
	height:40px;
	display:flex;
	justify-content: center;
	align-items: center;
	
	background-color:#0061a1;
	color:#fff;
}

.cookie-buttons .btn:hover
{
	cursor: pointer;
	background-color: #005288;
}

.cookie-buttons .btn.light
{
	color:#000;
	background-color:#ddd;
}
.cookie-buttons .btn.light:hover
{
	background-color:#ccc;
}

.cookie-buttons .btn.dark
{
	color:#000;
	background-color:#ccc;
}
.cookie-buttons .btn.dark:hover
{
	background-color:#777;
	color:#fff;
}

.cookie-buttons
{
	margin-bottom:20px;
}

#cookieManagment .arrow {
    border: .5rem solid #333;
    font-size: 0;
    line-height: 0;
    height: 0;
    padding: 0;
    margin: 0px 10px;
    display: inline-block;
	transform: translateY(2px);
}

#cookieManagment .arrow.down {
    border-right-color: transparent;
    border-bottom-color: transparent;
    border-left-color: transparent;
    margin-bottom: -5px;
}

#cookieManagment .arrow.up {
    border-top-color: transparent;
    border-right-color: transparent;
    border-left-color: transparent;
   margin-top: -11px;
}

.cookie-section {
	
	border-bottom: 1px solid #ccc;
	padding-bottom: 20px;
}



#cookieManagment .deactivated,
#cookieManagment .activated {
    width: 40px;
    height: 20px;
    border-radius: 10px;
    background: #ccc;
    display: inline-block;
}

#cookieManagment .activated {
    background: #8dc63f;
}

#cookieManagment .off,
#cookieManagment .on {
    cursor: pointer;
    display: block;
    float: left;
    background: #fff;
    width: 16px;
    margin: 2px;
    height: 16px;
    border-radius: 8px;
}

#cookieManagment .on {
    float:right;
}

#cookieManagment .body
{
	max-height: 75vh;
	overflow-y: auto;
	padding-right: 20px;
}

#cookieManagment table {
	border: 0;
	border-spacing: 0;
	margin-top:15px;
}

#cookieManagment table tr:nth-child(2) td {
	padding-top: 5px;
}

.cookie-toggle
{
	cursor: pointer;
}

.cookie-toggle *
{
	pointer-events:none;
	
}

#cookieManagment .links a, .extend-list a {
	color:inherit;
}

#xmap {
	height: 500px;
	background-color: #eee;
		background-image:url("/images/map.jpg");
		background-size:cover;
		display:flex;
		justify-content: center;
		align-items: center;
}

.hidden
{
	display:none !important;
}
