/* @override 
	https://2025.fam-3d.at/templates/fam-3d/css/user.css?* */


/* lato-300 - latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/lato-v23-latin-300.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/lato-v23-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/lato-v23-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/lato-v23-latin-300.woff') format('woff'), /* Modern Browsers */
       url('../fonts/lato-v23-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/lato-v23-latin-300.svg#Lato') format('svg'); /* Legacy iOS */
}
/* lato-regular - latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/lato-v23-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/lato-v23-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/lato-v23-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/lato-v23-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/lato-v23-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/lato-v23-latin-regular.svg#Lato') format('svg'); /* Legacy iOS */
}
/* lato-700 - latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/lato-v23-latin-700.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/lato-v23-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/lato-v23-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/lato-v23-latin-700.woff') format('woff'), /* Modern Browsers */
       url('../fonts/lato-v23-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/lato-v23-latin-700.svg#Lato') format('svg'); /* Legacy iOS */
}
/* lato-900 - latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 900;
  src: url('../fonts/lato-v23-latin-900.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/lato-v23-latin-900.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/lato-v23-latin-900.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/lato-v23-latin-900.woff') format('woff'), /* Modern Browsers */
       url('../fonts/lato-v23-latin-900.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/lato-v23-latin-900.svg#Lato') format('svg'); /* Legacy iOS */
}


@font-face {
  font-family: 'FontAwesome';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("../fonts/fa-solid-900.eot");
  src: url("../fonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../fonts/fa-solid-900.woff2") format("woff2"), url("../fonts/fa-solid-900.woff") format("woff"), url("../fonts/fa-solid-900.ttf") format("truetype"), url("../fonts/fa-solid-900.svg#fontawesome") format("svg"); }
 
*,
:after,
:before {
 box-sizing:border-box
}
@media (prefers-reduced-motion:no-preference) {
 :root {
  scroll-behavior:smooth
 }
}

html, body {
	font: 0.96em/1.5em "Lato", Helvetica, Geneva, sans-serif;
	color: #000000;
	font-weight: 400;
}

body {
	display: block;
	position: relative;
	overflow: h;
}
/* set image max width to 100% */
img {
	max-width: 100%;
	height: auto;
	width: auto\9; /* ie8 */
}

table>tbody>tr>td, table>tbody>tr>th, table>tfoot>tr>td, table>tfoot>tr>th, table>thead>tr>td, table>thead>tr>th {
	border-top: 2px solid rgb(210, 210, 210);
	padding: 6px 10px 6px 0;
	vertical-align: top; 
}
table>tbody {
	border-bottom: 2px solid rgba(144, 168, 69, 0.50);
}

h1, h2, h3, h4, h5, h6 {
	line-height: 1.2em;
	font-weight: 700;
	margin-top: 0;
	margin-bottom: 0;
	padding-top: 0px;
	padding-bottom: 15px;
}
h1 {
	font-size: 3em;}
	
h2 {
	font-size: 2.6em;
}
h3 {
	font-size: 2.4em;
}

h4 {
	font-size: 1.7em;
}

a {
	color: #9e7212;
}
a:focus, a:hover {
	color: #000;
	text-decoration: underline;
}
p {
	margin: 0;
	padding: 0 0 15px;
}
ol, ul, p {
	padding-bottom: 15px;
}
ul li {
	list-style: disc;
}
.btn {
	border: 0px solid #e6a823;
	border-radius: 0px;
	padding: 3px 25px;
	margin: 0;
	font-weight: normal;
	color: #000000;
	background-color: #fff;
	font-style: normal;
}
.btn:hover {
	background-color: #1d6479;
	text-decoration: none;
	color: #fefefe;
}
.btn .icon-chevron-right {
	display: none; visibility: hidden;
}
body.wrapper-fluid .site-grid {
	grid-gap: 0;
}

.content-grid {
	padding-top: 20px;
	padding-bottom: 40px;
}

.container-content main {
	width: 100%;
}

.grid-child {
	flex-direction: column;
} 
#main {
	overflow: hidden;
	padding-top: 93px;
	padding-bottom: 0px;
	background-color: #fff;
	margin-top: ;
}
.container-component>*+* {
	margin-top: 0!important;
}
.container {
	max-width: 1400px!important;
	margin-right: auto;
	margin-left: auto;
}
@media (max-width: 990px) { 
	#main {
		padding-top: 60px;
	}
	.container {
		padding-right: 10px;
		padding-left: 10px;
	}
}



/* Header - Navigation */
header.header {
	background: url(../images/hg.jpg) center bottom no-repeat #fff;
	height: 93px;
}
.header ul li {
	list-style: none;
	padding: 0;
	margin: 0;
}
header .grid-child {
	padding: 0;
}
.container-header {
	margin-bottom: 0;
	box-shadow: none;
	background-color: #fff;
}
header .grid-child {
	flex-direction: row;
} 
header .container {background-color: #fff;}
.container-topbar  .container {
	display: flex;
	padding-right: 0px;
	padding-left: 0px;
	flex-direction: row;
	align-items: center;
}

header .weiss {
	max-width: 1700px!important;
	margin-right: auto;
	margin-left: auto;
	background-color: #fff;
}

.container-topbar p {
	padding: 0;
	margin: 0;
}


.navgrid, .dj-megamenu-sticky {
}

.grid-child.brand {
	padding-top: 0;
	padding-right: 0;
	padding-left: 0;
	text-align: left;
	display: block;
	margin-right: 0px;
}
.brand-logo {
	display: block;
	padding: 0px 0px 0px 30px;
}
.navbar-brand {
	padding: 0;
}
.grid-child.brand img {
	height: 80px;
}

.grid-child.container-nav {
	margin: 0;
	padding-bottom: 0;
	padding-top: 0;
	align-items: center;
	flex-shrink: 1;
	justify-content: flex-end;
	color: #1d6479;
}
.grid-child.container-nav .custom {
	padding-left: 36px;
	padding-right: 8px;
	padding-top: 8px;
	font-size: 20px;
}
.container-topbar {
	font-size: 14px;
	line-height: 1.4em;
}

#site-header {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 100;
	transition: all .5s ease;
}
#site-header.hide {
	top: -100px;
}

@media (max-width: 990px) { 
	
	.container-header {
		position: fixed!important;
	}
	
	header.header {
		height: 60px;
	}
	.brand-logo {
		padding-left: 10px;
	}
	.container-topbar > .container {
		flex-direction: row-reverse;
		align-items: center;
	}
	.container-header .navbar-brand {
		text-align: left;
		display: block;
		width: auto;
		padding-top: 0;
		padding-right: 0;
		padding-bottom: 0;
	}
	.grid-child.brand img {
		height: 45px;
	}
	.grid-child.container-nav {
		align-items: flex-start;
		padding-top: 5px;
		margin-top: 0;
		height: 60px;

	}
	.grid-child.brand {
		text-align: center;
		padding-right: 10px;
		padding-bottom: 0;
		padding-left: 10px;
	}


}

/* Banner */

.banner {
	background-image: url(../images/hg.jpg);
	padding-bottom: 100px;
}

.banner .container {
	padding-top: 10px;
	padding-bottom: 10px;
}
.banner p {
	margin: 0;
	padding: 0;
}
.banner-content {
	padding-top: 20px;
}
.banner img.prev-button, .banner img.next-button {
	width: 40px!important;
}
@media (max-width: 990px) { 
	.banner-content {
		padding-top: 0px;
		margin-left: -10px;
		margin-right: -10px;
	}
}

/* Content */
.page-header {
	margin-bottom: 50px;
	margin-top: 40px;
}

.page-header h1 {
	font-size: 3.5em;
	font-weight: bold;
	padding-top: 0;
	padding-bottom: 0;
	color: #000;
	text-align: center;
}
.com-content-article__body {

}
.blog-featured {
	padding: 20px;
}
.blog-items {
	grid-template-columns: 1fr 1fr;
	grid-gap: 2em;
	row-gap: 3em;
}
.blog-items .page-header {
	padding: 0;
	margin: 0;
	border: none;
}
.blog-item {
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: 0em;
	align-self: start;
}
.blog-item h2, .blog-item .item-title {
	grid-row: 2 / 3;
	padding-bottom: 10px;
	line-height: 1.2em;
}
.blog-item .item-image {
	grid-row: 1 / 2;
	padding-bottom: 10px;
	margin-bottom: 0;
	padding-top: 0;
	margin-top: 0;
}


.blog-item .item-title a, .blog-item h2 a {
	text-decoration: none!important;
}


.introtext p, .introtext h1, .introtext h2, .introtext h3 {
	padding-bottom: 10px;
}



@media (max-width: 767px) { 
	.blog-items {
		grid-template-columns: 1fr ;
		grid-gap: 2em;
	}
	.blog-item {
		display: block;
	}
	.blog-item .item-title {
		padding-bottom: 20px;
		padding-top: 5px;
	}
	.blog-item .item-title h2 {
	}
	.jobs .blog-item {
		display: grid;
		grid-template-columns: 1fr;
	}

}

/* Bereiche Startseite */

.bereiche .custom {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	column-gap: 20px;
	padding: 20px;
}
.bereiche .element a {
	text-decoration: none;
	font-weight: bold;
	 transition: all .5s ease;
}
.bereiche a span {
	display: block;
	padding: 15px 10px;
	font-size: 1.4em;
}
.bereiche a span span {
	padding: 0;
	font-size: 0.85em;
	font-weight: normal;
	font-style: normal;
}
.bereiche a span.bild {
	padding: 0;
	overflow: hidden;
}
.bereiche a *, .bereiche a span.bild img {
  transition: transform .5s ease;
}
.bereiche a:hover span.bild img {
  transform: scale(1.2);
}

.bereiche .element2 a {
	color: #000000;
} 
.bereiche .element3 a {
	color: #1d6479;
} 
.bereiche .element a:hover {
	color: #696969!important;
} 
.bereiche .element {
	background-color: #F2F2F2;
	text-align: center;
}
@media (max-width: 767px) { 
	.bereiche .custom {
		display: grid;
		grid-template-columns: 1fr;
		column-gap: 20px;
		row-gap: 10px;
		padding: 10px;
	}
}



/* Inhaltselemente */

.bild-links, .bild-rechts {
	font-size: 11px;
	line-height: 120%;
	width: auto;
	width: 45%;
}
.bild-links {
	clear: both;
	float: left;
	margin-right: 25px;
	margin-bottom: 25px;
}
.bild-rechts {
	clear: both;
	float: right;
	margin-left: 25px;
	margin-bottom: 25px;
}
.elemente {
	display: grid;
	padding-bottom: 20px;
	padding-top: 20px;
	width: 100%;
	grid-template-columns: 1fr 1fr;
	column-gap: 4em;
	align-items: center;
}
.elemente.klein {
	grid-template-columns: 1fr 300px;	
}
.elemente.klein .text {
	padding-right: 10%;
}
.elemente.single {
	grid-template-columns: 1fr;
}
.elemente.reverse .bild {
	grid-column: 1 / 2;
	grid-row: 1 / 2;
}
.bild.schatten img{
	box-shadow: -20px 20px 1px #e6a823;

}
.doppelbilder, .doppelspaltig {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-row: auto;
	column-gap: 30px;
	row-gap: 30px;
}

.doppelspaltig {
	align-items: start;
}

.box {
	padding-bottom: 30px;
	margin-top: 30px;
	display: grid;
	grid-template-columns: 1fr 1fr;
}
.box.weit {
	position: relative;
	margin: 40px -9999rem 0 !important;
	padding: 50px 9999rem !important;
	clear: both;
	width: auto;
}
.box.weit.grau {
	border-image: conic-gradient(#f7f7f7 0 0) fill 0/0 100vw;
	align-items: center;
}
.box.weit.gelb {
	border-image: conic-gradient(#e6a823 0 0) fill 0/0 100vw;
	border-image: linear-gradient(0deg, #f2c76e, #e6a723) fill 0/0 100vw;
	align-items: center;
}
.home .box.weit {

	margin: 0px -9999rem 0 !important;
	padding: 50px 9999rem !important;

}

.karte h3 {
	padding-bottom: 40px;
}
.karte img {
	max-width: 700px;
}
.elemente.infobox {
	grid-template-columns: 1fr 1fr 1fr;
	column-gap: 2em;
	align-items: stretch!important;
}
.elemente.infobox .icon {
	display: flex;
	width: 90px;
	height: 90px;
	margin: -50px auto 10px;
	text-align: center;
	background-color: #e9e9e9;
	border-radius: 50%;
	justify-content: center;
	align-items: center;
	color: #c7c7c7;
}
.elemente.infobox .icon img {
	width: 50px;
}
.elemente.infobox > div {
	background-color: #fff;
	align-items: stretch;
	padding: 15px 15px 5px;
	column-gap: 2em;
}
.elemente.infobox h4 {
	text-align: center;
}
.elemente.infobox p {
	padding-bottom: 10px;
}
.elemente.infobox ul {
	padding-bottom: 10px;
}
.elemente.infobox ul li ul li {
	list-style: circle;
}
.vergleich h3 {
	grid-column: 1 / 3;
	grid-row: 1 / 2;
	text-align: center;
}
.vergleich img {
	border-radius: 50%;
	border: 10px solid #e6a721;
}

.elemente.contact {
	grid-template-columns: 1fr 1fr ;
	column-gap: 2em;
	align-items: stretch!important;
}
.elemente.contact .formular {
	grid-row: span 2;
}
.elemente.contact .lage {
	min-height: 330px;
}

ul.contactlist {
	padding: 0 0 0 7px;
}
ul.contactlist i {
	font-size: 22px;
	padding-top: 2px;
}
ul.contactlist > li {
	list-style: none;
	display: grid;
	grid-template-columns: 30px 1fr ;
	column-gap: 1em;
	padding-bottom: 5px;
}
ul.contactlist li ul.nav img {
	width: 25px;
}
ul.contactlist li ul.nav {
	display: flex;
	width: 100%;
	flex-direction: row;
}
ul.contactlist li ul.nav li {
	display: flex;
	width: auto;
	padding-right: 10px;
}
.rsform-block-submit {
	margin-bottom: 0!important;
}
@media (max-width: 900px) { 
	.weit.elemente.infobox {
		grid-template-columns: 1fr;
		row-gap: 4em;
		padding-top: 50px!important;
	}
	.vergleich h3 {
		grid-column: 1 / 2;
		grid-row: 1 / 2; }
	.elemente.vergleich {
		grid-template-columns: 1fr;
	}
	#factlist > div {
		padding: 20px;
	}
	ul.itsbox {
		display: grid;
		grid-template-columns: 1fr  ;
	}
}

@media (max-width: 767px) { 
	.box {
		padding-bottom: 0px;
		margin-top: 10px;
		display: grid;
		grid-template-columns: 1fr 1fr;
	}
	.box.weit {
		position: relative;
		margin: 30px -9999rem 0 !important;
		padding: 30px 9999rem !important;
		clear: both;
		width: auto;
	}

	.bild-links, .bild-rechts {
		float: none;
		display: block;
		padding: 0;
		margin: 0;
		text-align: center;
		padding-bottom: 15px;
		width: 100%;
	}
	.doppelbilder, .doppelspaltig {
		display: grid;
		grid-template-columns: 1fr;
	}
	.elemente, .elemente.klein {
		grid-template-columns: 1fr;
	}
	.elemente.klein .text {
		padding-right: 0%;
	}
	.elemente.klein .bild {
		padding-right: 15%;
		padding-left: 15%;
	}
	.elemente.reverse .bild {
		grid-column: 1 / 2;
		grid-row: 2 / 2;
	}
	.karte img {
		max-width: 100%;
	}
	#factlist {
		display: grid;
		grid-template-columns: 1fr 1fr ;
	}
	#factlist > div.gross {
		grid-column: span 2;
	}
	#factlist > div.gross2 {
		grid-column: span 2;
	}
	#factlist > div.klein {
		grid-row: span 1;
		grid-column: span 1;
	}
	#factlist > div.bild, #factlist > div.bild1, #factlist > div.bild2 {

		grid-row: 5;
		grid-column: span 1;
	}
	.elemente.contact {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto;
		row-gap: 2em;
	}
	.elemente.contact .lage {
		min-height: 300px;
	}

}

@media (max-width: 400px) { 
	.team {
		display: grid;
		grid-template-columns: 1fr;
	}
}


/* Footer */

footer.footer {
	padding-top: 0px;
	padding-bottom: 30px;
	margin: 0;
	color: #000;
	font-size: 1.2em;
	line-height: 1.4em;
	text-align: center;
}
.footer p {
	padding: 0;
} 
.footer ul, .footer ul li {
	padding: 0;
	margin: 0;
	list-style: none;
}
.footer .container {
	display: grid;
	grid-template-columns: 1fr 1fr ;
	column-gap: 0em;
	row-gap: 0em;
	align-content: stretch;
	align-items: stretch;

}
.footer .container .servicenav {
	text-align: center;
}
.footer .container.adresse {
	padding-right: 0;
	padding-left: 0;
	
}
.footer .container  {
	padding: 0px 40px;
}

#footer1 {
	padding: 30px;
}
#footer2  {
	background-color: #1E6479;
	color: #fff;
	padding: 40px;
}
#footer2 h3 {color: #93CFE1;
}
#footer2 ul {
	display: grid;
	grid-template-columns: 1fr 1fr ;
	column-gap: 2em;
	row-gap: 0.5em;
	align-content: center;
	align-items: center;
}
#footer3 {
	background-color: #1d6479;
	padding-bottom: 60px;
	margin-top: px;
	color: #fff;
	font-size: 22px;
	font-weight: bold;
}
#footer3 strong {display: inline-block;
padding-right: 0;
	padding-left: 10px;
}
#footer3 img {
	display: inline-block;
	padding-left: 6px;
	height: 14px;
	margin-bottom: 6px;
}
#footer3 .container .custom {background-color: #044e63;
	text-align: center;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	position: relative;
	top: -6px;
}
#footer3 .container .custom a { color: #fff; text-decoration: none;}
#footer3 p {
	padding: 0;
	margin: 0;
}
.servicenav ul.nav, .socialmedia ul.nav  {
	display: block;
	padding-top: 0;
	padding-bottom: 0px;
	margin-top: 5px;
}
.servicenav ul.nav li, .socialmedia ul.nav li  {
	display: inline-block;
	padding-left: 10px;
	padding-right: 10px;
	text-transform: uppercase;
}
.servicenav ul.nav li a {
	text-decoration: underline;
	font-size: 1.2em;
}
.servicenav ul.nav li a:hover {
	color: #717171;
}
.socialmedia ul.nav li img {
	width: 30px;
}
.socialmedia ul.nav {
	padding: 0;
	margin-top: 0;
}
.socialmedia ul.nav li {
	padding-left: 5px;
	padding-right: 5px;
}
.socialmedia h3 {
	font-size: 2em;
}
@media (max-width: 990px) {
	.doppelbilder, .doppelspaltig {

		column-gap: 20px;
		row-gap: 20px;
	}
}

@media (max-width: 767px) {


	.footer .container {
		display: grid;
		grid-template-columns: 1fr;
		column-gap: 40px;
	
	}


}

.back-to-top-link {
	position: fixed;
	bottom: 20px;
	width: 40px;
	height: 40px;
	border-radius: 20px;
	right: 20px;
	border-color: #757575;
	color: #757575;
	font-size: 18px;
	line-height: 0.8em;
	display: flex;
	text-decoration: none!important;
	justify-content: center;
	align-items: center;
	z-index: 1000;
	background-color: #fff;
}
.back-to-top-link:focus, .back-to-top-link:hover {
	background-color: #1d6479;
}


.reveal {
  position: relative;
  transform: translateY(150px);
  opacity: 0;
  transition: all 1s ease;
}

.reveal.active{
  transform: translateY(0px);
  opacity: 1;
}
.wf-mediabox-nav {
	padding: 1.5em!important;
}

@media (max-width: 767px) { 
	.hidemobile {display: none; visibility: hidden;}
}