/*==================================================
 * GRID
 * -------------------------------------------------
 * What to adapt:

	.container {
		max-width : 1140px;
	}
	.row {
		margin-left: -15px;
		margin-right: -15px;
	}
	.column {
		padding: 0 15px;
	}
 * ================================================*/

.container {
  max-width : 1024px;
  padding: 0 21px;
}
.row {
  margin-left: -21px;
  margin-right: -21px;
}
.column {
  padding: 0 21px;
}
.gutter-10 {
  margin-left: -5px;
  margin-right: -5px;
}
.gutter-10 .column,
.gutter-10 .split {
  padding-left: 5px;
  padding-right: 5px;
}
.gutter-20 {
  margin-left: -10px;
  margin-right: -10px;
}
.gutter-20 .column,
.gutter-20 .split {
  padding-left: 10px;
  padding-right: 10px;
}

.gutter-42 {
  margin-left: -21px;
  margin-right: -21px;
}
.gutter-42 .column,
.gutter-42 .split {
  padding-left: 21px;
  padding-right: 21px;
}



/*==================================================
 * LAYOUT
 * ================================================*/
html,
body {
  background-color: #fff;
  /* background-color: green; */
  margin: 0px;
  padding: 0px;
  width: 100%;
}
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
	height: 100%;
  overflow-x: hidden;
}

#global {
	margin: 0 auto;
  width: 100%;
  display: table;
  table-layout: fixed;
}
.no-js #header,
#content,
#contentWrap,
#footer{
  display: table-row;
}

#header {
  top: 0px;
  z-index: 9999;
  width: 100%;
}
#header-inside {
  position: relative;
}
#header-inside > .inner {
  background-color: #FFFFFF;
  background-color: rgba(255,255,255,0.9);
}
#header-inside:after {
  content: "";
  display: block;
  width: 100%;
  height: 10px;
  background: #FFFFFF;
  opacity: 0;
  position: relative;
}
#content {
  height: 100%;
  z-index: 500;
}
#topContent {
	position: relative;
  z-index: 0;
}
/* 1024px */
@media screen and (min-width: 64.000em) {
  #header-inside:after {
    height: 21px;
  }
}



/*==================================================
 * LAYOUT: HEADER
 * ================================================*/
.header-main {
  overflow: hidden;
  display: table;
  table-layout: fixed;
  width: 100%;
  position: relative;
}
.header-main-left {
  max-width: 70%;
}
.header-main-right {
  display: table-header-group;
}
/* 1024px */
@media screen and (min-width: 64.000em) {
  .header-main {
    height: 143px;
    overflow: auto;
    padding-bottom: 0px;
  }
  .header-main-left,
  .header-main-right {
    display: table-cell;
    vertical-align: bottom;
  }
  .header-main-left {
    width: 30%;
  }
}
@media only screen
and (min-device-width : 768px)
and (max-device-width : 1024px) {
  .header-main {
    height: auto;
    overflow: hidden;
  }
  .header-main-left {
    display: block;
  }
  .header-main-right {
    display: table-header-group;
  }
}
/* 1244px */
@media screen and (min-width: 77.750em) {
  #header .container-fluid {
    padding: 0px 60px;
  }
}


/*==================================================
 * LOGO
 * ================================================*/
.logo {
  position: relative;
  padding: 20px 60px 9px 0px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.logo a {
  display: block;
  margin: 0px;
  position: relative;
}
#logo-item {
  width: 100%;
  max-width: 200px;
}
/* 768 px */
@media screen and (min-width: 48.000em) {
  #logo-item {
    max-width: 250px;
  }
}

/* 1024px */
@media screen and (min-width: 64.000em) {
  .logo {
    padding-right: 20px;
  }
  .logo a {
    max-width: 350px;
  }
  #logo-item {
    max-width: 100%;
  }
}


/*==================================================
 * BANNER
 * ================================================*/
.banner {
  text-transform: uppercase;
  font-size: 22px;
  font-size: 1.375rem;
  float: left;
  margin-right: 15px;
  display: none;
  letter-spacing: 0.02em;
  line-height: 33px;
}
/* 768 px */
@media screen and (min-width: 48.000em) {
  .banner {
    display: block;
  }
}
/* 1024px */
@media screen and (min-width: 64.000em) {
  .banner {
    margin-right: 35px;
  }
}



/*==================================================
 * TOP BAR
 * ================================================*/
.top-bar {
  float: right;
  margin-bottom: 2px;
}
#search-form {
  position: relative;
  display: inline-block;
  margin-right: 5px;
}
#search-form:after {
  content: "";
  display: block;
  background: url('../Icons/magnifier.png');
  background-repeat: repeat;
  background-size: auto auto;
  background-repeat: no-repeat;
  background-size: 25px;
  background-position: center;
  position: absolute;
  z-index: 20px;
  right: 0px;
  top: 0px;
  width: 33px;
  height: 30px;
}
#search-form .searchterm {
  width: 95px;
  height: 32px;
  border: 1px solid #39444c;
  line-height: 16px;
  padding: 14px 40px 14px 10px;
  text-align: left;
  color: #39444c;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 14px;
}
#search-form .submit {
  font-size: 0px;
  color: transparent;
  display: block;
  width: 35px;
  height: 32px;
  border: 0px;
  outline: none;
  position: absolute;
  right: 0px;
  top: 0px;
  background-color: #39444c;
}

#header .btn-bookmark {
  float: right;
}
#header .btn-bookmark,
#header .btn-bookmark:hover {
  background: #b50919;
  border-right: 5px solid #b50919;
  padding: 6px 27px 5px 10px;
  background-image: url('../Icons/pin-w.png');
  background-position: right center;
  background-repeat: no-repeat;
  margin: 0px;
  font-size: 14px;
}
#header .btn-bookmark:hover {
  background-color: #39444c;
  border-right-color: #39444c;
}

/*==================================================
 * TEMPLATE SIDEBAR
 * ================================================*/
#content {
  position: relative;
  z-index: 500;
}
#topContent:before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #000;
}
.template-home #topContent:before {
  display: none;
}
.template-sidebar #content .sidebar .container {
  padding-left: 15px;
}
.template-sidebar #content .sidebar {
  display: none;
  height: 0px;
  overflow: visible;
}
.template-sidebar #content .sidebar .navi {
  width: 160px;
  margin-top: 37px;
}

/* 1024px */
@media screen and (min-width: 64.000em) {
  .template-sidebar #content .sidebar {
    display: block;
  }
  .template-sidebar #content .container {
    padding-left: 200px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
}


/*==================================================
 * STICKY FOOTER
 * ================================================*/
/* 1024px */
@media screen and (min-width: 64.000em) {
  html, body {
    height: 100%;
    position: static;
  }
	.mm-page {
		height: 100%;
	}
	.global {
		margin: 0 auto;
		width: 100%;
		height: 100%;
		display: table;
		table-layout: fixed;
	}
	#content,
	#footer{
		display: table-row !important;
		height: 1px;
	}
	#content {
		height: 100%;
	}
}




/*==================================================
 * OVERWRITE LIBRARIES
 * ================================================*/

/* JQUERY UI
 * ================================================*/
.ui-widget-overlay {
  z-index: 8888;
}
.ui-widget.ui-widget-content {
  z-index: 9999;
}
.ui-width .ui-dialog-titlebar {
  padding: 10px;
}
.ui-widget .ui-widget-content {
  padding: 10px;
}
.ui-widget .btn {
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center;
}


/* SELECTRIC
 * ================================================*/
.selectric .label {
  font-size: 16px;
}
.selectric .button {
  width: 25px;
}
.selectric-items li:before {
  display: none;
}
.selectric-multiple .selectric-items li {
  padding-right: 30px;
}
.selectric-multiple .selectric-items li:after {
  content: "";
  width: 18px;
  height: 18px;
  background-image: url('../Images/selectric/minimal.png');
  background-position: left top;
  position: absolute;
  right: 21px;
}
.selectric-multiple .selectric-items li:hover:after {
  background-position: -19px top;
}
.selectric-multiple .selectric-items li:first-child:after {
  display: none !important;
}
.selectric-multiple .selectric-items li.selected {
  color: #000000;
  background: #FFFFFF;
  text-align: left;
}
.selectric-multiple .selectric-items li.selected:after {
  background-position: -40px top;
}



/* SLICK SLIDER
 * ================================================*/
.slick-dots li {
  margin: 0px 4px;
}
.slick-dots li:before {
  display: none;
}
.slick-dots li button:before {
  display: none;
}
.slick-dots li button {
  width: 10px;
  height: 10px;
  border-radius: 10px;
  background: transparent;
  border: 2px solid #fff;
}
.slick-dots li:hover button,
.slick-dots li.slick-active button {
  background: #fff;
}



/*==================================================
 * SLIDER
 * ================================================*/
#slider {
	margin: 0 auto;
  position: relative;
  z-index: 500;
}
#slider-items {
  margin: 0px;
}
/* #slider .slick-list { */
  /* margin-bottom: -17.5%; */
/* } */
#slider .slick-slide {
	background-position: center;
	background-size: cover;
}
#slider .slider-item {
  background-size: cover;
  background-position: center;
}
#slider .slider-item-inside {
  display: table;
  width: 100%;
  height: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
#slider .caption {
  display: table-cell;
  vertical-align: top;
  padding-top: 100px;
  padding-bottom: 40px;
}
#slider .headline {
  display: block;
  text-transform: uppercase;
  font-weight: 300;
  font-size: 25px;
  line-height: 30px;
  margin-bottom: 6px;
}
#slider .subheader {
  font-size: 24px;
  letter-spacing: -0.01em;
}
#slider .slick-dots {
  margin-bottom: 19%;
}
#slider .slick-dots li:before {
  display: none;
}
/* 768 px */
@media screen and (min-width: 48.000em) {
  #slider .headline {
    font-size: 40px;
    line-height: 50px;
  }
}


/*==================================================
 * CE INFOBOX
 * ================================================*/
.ce-infobox {
  padding: 30px 15px;
  margin: 0 -15px;
}
.ce-infobox .headline {
  font-size: 20px;
  text-transform: uppercase;
  font-weight: 300;
  display: inline-block;
  position: relative;
  margin-bottom: 9px;
}
.ce-infobox .headline.has-icon {
  padding-right: 30px;
}
.ce-infobox .headline.has-icon:after {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  width: 20px;
  height: 20px;
  right: 0px;
  top: 0px;
}
.ce-infobox .form-control,
.ce-infobox .selectric,
.ce-infobox .selectric .label,
.ce-infobox .selectric .button {
  height: 40px;
  line-height: 40px;
  font-size: 16px;
  font-size: 1.rem;
}
.ce-infobox .form-control {
  font-size: 16px;
  font-size: 1rem;
}
.ce-infobox .selectric {
  background: #FFFFFF;
}
.ce-infobox .selectric .label {
  text-transform: none;
  color: #9c9d9f;
  font-size: 14px;
}
.ce-infobox .btn {
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 12px 20px;
  text-align: center;
}


/* 380 px */
@media screen and (min-width: 23.750em) {
  .ce-infobox {
    padding: 38px 30px;
    margin-left: 0px;
    margin-right: 0px;
    margin-bottom: 20px;
  }
  .ce-infobox .headline {
    font-size: 26px;
  }
}
/* 768 px */
@media screen and (min-width: 48.000em) {
  .ce-infobox {
    padding: 30px 51px;
  }
  .ce-infobox .headline {
    font-size: 33px;
  }
  .ce-infobox .headline.has-icon {
    padding-right: 50px;
  }
  .ce-infobox .headline.has-icon:after {
    width: 40px;
    height: 40px;
    right: -6px;
    top: 5px;
  }
  .ce-infobox .form-control,
  .ce-infobox .selectric,
  .ce-infobox .selectric .label,
  .ce-infobox .selectric .button {
    font-size: 18px;
    font-size: 1.125rem;
    height: 53px;
    line-height: 53px;
  }
}


/*==================================================
 * FOOTER
 * ================================================*/
#footer {
  position: relative;
  z-index: 300;
}
#footer .container {
  max-width: 1200px;
}
#footer > .inner {
	padding: 24px 0px;
}
#footer * {
	color: #fff;
  font-size: 14px;
}
#footer-inside .footer-col {
	margin-bottom: 30px;
}

/* 768 px */
@media screen and (min-width: 48.000em) {
	#footer-inside {
		display: table;
		width: 100%;
		margin: 0 -30px;
	}
	#footer-inside .footer-col {
		display: table-cell;
		padding: 0 30px;
	}
}


/*==================================================
 * FOOTER NAVI
 * ================================================*/
#navi-footer a {
	display: block;
	text-decoration: none;
}
/* 768 px */
@media screen and (min-width: 48.000em) {
	#navi-footer li a {
		text-align: right;
	}
}

/*==================================================
 * FOOTER CONTACT
 * ================================================*/
#contact a {
  text-decoration: none;
}
#contact .contact-item.first .title.text-hidden {
  display: block;
  margin-bottom: 20px;
  font-size: 20px;
  font-size: 1.250rem;
  font-weight: 300;
  text-indent: 0px;
  height: auto;
  overflow: visible;
}
#contact .contact-item {
  line-height: 1.188rem;
}
#contact .name {
  color: #b50919;
  background-color: #FFFFFF;
  padding: 3px 17px;
  text-align: center;
  display: inline-block;
  margin-bottom: 5px;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 15px;
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
#contact .address {
  margin-bottom: 15px;
}
#contact .openingHours {
  margin-bottom: 15px;
}
#contact .openingHours .headline {
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: 0.02em;
  position: static;
  margin: 0px;
}
#contact .openingtime-item {
  display: table;
  width: 100%;
  font-size: 14px;
}
#contact .openingtime-item .label,
#contact .openingtime-item .times {
  display: table-cell;
  padding: 0px;
}
#contact .openingtime-item .label {
  padding-right: 10px;
  white-space: nowrap;
}
#contact .openingtime-item .times {
  width: 100%;
}
#contact .openingtime-item .times .value {
  display: block;
}
#contact .reachability {
  margin-bottom: 15px;
  font-size: 14px;
}

/* 768 px */
@media screen and (min-width: 48.000em) {

  #contact {
    width: 100%;
    padding-top: 93px;
  }

  #contact .contact-item.first .title.text-hidden {
    display: block;
    position: absolute;
    margin-top: -50px;
  }

}


/*==================================================
 * STRUCTUR ELEMENT: ACCORDIONS
 * ================================================*/
.accordion-item .header {
	background-color: #efebe4;
	padding: 17px 130px 19px 20px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
	font-weight: 300;
  font-size: 18px;
  text-transform: uppercase;
	position: relative;
	cursor: pointer;
  margin: 0px;
}
.accordion-item {
	margin-bottom: 10px;
}
.accordion-item .header:hover,
.accordion-item.open .header {
	background-color: #e6e6e6;
}
.accordion-item .header:after {
  content: "";
  position: absolute;
  right: 15px;
  top: 50%;
  margin-top: -7px;
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;

  border-top: 15px solid #FFFFFF;
}
.accordion-item.open .header:after {
  border-top: 0px;
  border-bottom: 15px solid #FFFFFF;
}
.accordion-item .body {
	height: 0px;
	overflow: hidden;
	background-color: #ffffff;
}
.accordion-item .body-inside {
	padding: 39px 26px;
}
.accordion-item.open .body {
	height: auto;
}
/* 768 px */
@media screen and (min-width: 48.000em) {
  .accordion-item .header {
    padding-left: 30px;
    padding-right: 130px;
    font-size: 21px;
  }
  .accordion-item .header:after {
    right: 58px;
    border-left-width: 26px;
    border-right-width: 24px;
    border-top-width: 15px;
  }
  .accordion-item.open .header:after {
    border-bottom-width: 15px solid #FFFFFF;
  }
}


/*==================================================
 * CONTENT ELEMENTS
 * ================================================*/

/* DOWNLOADS
 * ================================================*/
.downloads .download-item {
  border-bottom: 2px solid #b50919;
  position: relative;
}
.downloads .download-item:before {
  display: block;
  content: "";
  position: absolute;
  left: 0px;
  top: 0px;
  width: 40px;
  height: 100%;
  background-color: #e6e1e1;
  background-image: url('/_assets/db250ce2dd3ed72d6ea87d7dcb5ba5eb/Icons/download.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px auto;
}
.downloads .download-item:last-child {
  border-bottom: 0px;
}
.downloads .download-item {
  padding: 10px 21px 10px 50px;
}
.downloads .download-item a {
  color: #b50919;
  text-decoration: none;
  margin-right: 10px;
}
.downloads .download-item .description {
  font-size: 14px;
}



/* SLOGAN
 * ================================================*/
.ce-slogan {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding: 50px 0px;
}
.ce-slogan * {
  color: white;
}
.ce-slogan.dark * {
  color: #39444c;
}
.ce-slogan.center * {
  text-align: center !important;
}
.ce-slogan .headline {
  display: block;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 25px;
  font-size: 1.563rem;
  line-height: 1.086;
  margin-bottom: 4px;
}
.ce-slogan .subheader {
  display: block;
  font-size: 20px;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.ce-slogan .introduction {
  font-style: italic;
  margin-bottom: 10px;
}
/* 380 px */
@media screen and (min-width: 23.750em) {
  .ce-slogan .headline {
    font-size: 30px;
    font-size: 1.875rem;
  }
}
/* 768 px */
@media screen and (min-width: 48.000em) {
  .ce-slogan .headline {
    font-size: 35px;
    font-size: 2.188rem;
  }
}


/* HEADER IMAGE
 * ================================================*/
.ce-headerimage .image-item {
  height: 200px;
  width: 100%;
  background-position: center;
  background-size: cover;
}


/* TEAM ITEM
 * ================================================*/
.team-item {
  margin-bottom: 40px;
}
.team-item .image {
  margin-bottom: 30px;
}
.team-item .full_name {
  font-weight: bold;
}
.team-item .data,
.team-item .data a {
  color: #6f7072;
  font-size: 15px;
  display: block;
}
.team-item .data a {
  text-decoration: none;
}
/* 768 px */
@media screen and (min-width: 48.000em) {
  .team-item-list {

  }
}


/* GOOGLE MAPS
 * ================================================*/
#map_canvas {
  height: 400px;
}


/* LINKBOX
 * ================================================*/
.linkbox.split {
  margin-bottom: 37px;
}
.linkbox a {
  text-decoration: none;
}
.linkbox .image {
  position: relative;
  margin-bottom: 17px;
  display: block;
  overflow: hidden;
}
.linkbox .image img {
  width: 100%;
}
.linkbox .region {
  position: absolute;
  top: 0px;
  left: 0px;
  background: #b50919;
  background: #b50919;
  color: #fff;
  padding: 13px 15px;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 0.09em;
}
.linkbox .text {
  color: #707173;
  text-decoration: none;
  font-size: 17px;
  font-size: 1.063rem;
}
.linkbox .text .title {
  font-size: 20px;
  font-size: 1.250rem;
  text-transform: uppercase;
}
/* 380 px */
@media screen and (min-width: 23.750em) {
  .linkbox .region {
    display: none;
  }
}
/* 500 px */
@media screen and (min-width: 31.250em) {
  .linkbox .region {
    display: block;
    padding: 9px 14px;
    font-size: 17px;
  }
}



/* COUNTER
 * ================================================*/
.ce-counter {
  padding: 24px 0px 0px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom right;
}
.ce-counter-inside {
  position: relative;
}
/* .ce-counter-inside:before { */
  /* display: block; */
  /* content: ""; */
  /* width: 10px; */
  /* height: 100%; */
  /* background: #efeae4; */
  /* position: absolute; */
  /* left: -1px; */
  /* top: 0px; */
  /* z-index: 10; */
/* } */
.ce-counter .column {
  margin-bottom: 43px;
   /* border-left: 1px solid black; */
}
/* .ce-counter .column ~ .column { */
  /* border-left: 1px solid black; */
/* } */
.ce-counter .counter-item {
  display: table;
  max-width: 200px;
  margin: 0 auto;
  /* background-color: rgba(0, 0, 0, 0.1); */
  /* padding: 20px; */
  width: 100%;
}
.ce-counter .headline {
  display: table-header-group;
  text-align: center;
  text-transform: uppercase;
  font-weight: 500;
  margin: 0 auto 12px;
  font-size: 17px;
  line-height: 20px;
}
.ce-counter .text {
  display: block;
  text-align: center;
  padding: 0px 20px;
  margin: 0 auto 12px;
}
.ce-counter .number {
  display: table-footer-group;
  font-family: 'Average', serif;
  color: #b50919;
  text-align: center;
  font-size: 30px;
  line-height: 38px;
}
.ce-counter .number > .inner {
  display: table-cell;
  vertical-align: bottom;
}
/* 768 px */
@media screen and (min-width: 48.000em) {
  .ce-counter .headline {
    font-size: 21px;
    line-height: 25px;
  }
  .ce-counter .number {
    font-size: 46px;
    line-height: 50px;
  }
}



/* TEXT
 * ================================================*/
.text-inside.width-limited {
  text-align: center;
  margin: 0 auto;
}


/* TEXT WITH IMAGE
 * ================================================*/
.text-with-image .image-right img {
  margin-top: 30px;
}
.text-with-image .image-left img {
  margin-bottom: 10px;
}
.text-with-image img {
  width: 100%;
}
/* 768 px */
@media screen and (min-width: 48.000em) {
  .text-with-image-inside {
    margin: 0 -21px;
  }
  .text-with-image .row {
    display: table;
    width: 100%;
    margin: 0px;
  }
  .text-with-image .row  > .column {
    display: table-cell;
    vertical-align: middle;
    float: none;
    clear: both;
  }
  .text-with-image .image-left img,
  .text-with-image .image-right img  {
    margin-top: 0px;
    margin-bottom: 0px;
  }
}


/*==================================================
 * INDEXED SEARCH
 * ================================================*/
.tx-indexedsearch-search-submit .btn {
  margin-top: 0px;
}
#tx-indexedsearch-results {
  margin-top: 30px;
  margin-bottom: 50px;
}
.tx-indexedsearch-res {
  margin: 20px 0px;
}
#tx-indexedsearch-results .searchterm {
  background-color: #b50919;
  color: #FFFFFF;
  font-style: italic;
  padding: 4px 10px;
  width: auto;
  display: inline-block;
  margin-bottom: 20px;
}
#tx-indexedsearch-results h3 {
  margin-bottom: 0px;
}
#tx-indexedsearch-results .tx-indexedsearch-icon {
  display: none;
}
#tx-indexedsearch-results .tx-indexedsearch-title,
#tx-indexedsearch-results .tx-indexedsearch-title a,
#tx-indexedsearch-results .tx-indexedsearch-percent {
  color: #b50919;
  font-size: 18px;
}
.tx-indexedsearch-browsebox li {
  display: inline-block;
  padding: 0px 10px 0px 0px;
}
.tx-indexedsearch-browsebox li:before {
  display: none;
}


/*==================================================
 * CONTENT ELEMENT: MASK
 * for background colors, images and parrallax images
 * ================================================*/
.ce-mask {
  width: 100%;
  display: block;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  background-color: #fafafa;
}
.ce-grid .ce-mask {
  padding: 33px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.ce-mask:before,
.ce-mask:after {
	content: ".";
	clear: both;
	display: block;
	visibility: hidden;
	height: 0px;
}
.ce-mask.parallax {
  display: flex;
  flex: 1 0 auto;
  position: relative;
  height: 100vh;
  transform: translateZ(-1px) scale(2);
  z-index: -1;
}
.ce-mask.parallax-window {
  background-color: transparent;
}


/*==================================================
 * EXTENSIONS
 * ================================================*/

/* PF GALLERY
 * ================================================*/
.gallery {
  font-size: 15px;
}
.gallery .splits {
  margin: 0 -4px;
}
.gallery .split {
	margin: 0px;
  padding: 4px;
}
.gallery .split img {
	width: 100%;
}
.gallery a {
  position: relative;
  display: block;
  text-decoration: none;
}
.gallery .overlay {
  -webkit-transition: all 0.1s linear;
  -moz-transition: all 0.1s linear;
  -o-transition: all 0.1s linear;
  transition: all 0.1s linear;
  position: absolute;
  opacity: 0;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  display: table-cell;
  z-index: 10;
}
.gallery .overlay i {
  width: 100%;
  height: 100%;
  display: table;
  color: #fff;
}
.gallery .overlay i:before {
  display: table-cell;
  width: 100%;
  height: 100%;
  text-align: center;
  vertical-align: middle;
}
.gallery .overlay:hover {
  opacity: 1;
  background-color: rgba(20,20,20,0.85);
}
.gallery .overlay:before {
  margin: 0px;
  display: inline-block;
}
.gallery .image {
  position: relative;
}
.gallery .description {
  position: absolute;
  width: 100%;
  height: 100%;
  padding: 20px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  top: 0px;
  left: 0px;
}
.gallery .description .inner {
  position: relative;
  width: 100%;
  height: 100%;
  display: table;
}
.gallery .description .description-inside {
  -webkit-transition: all 1s linear;
  -moz-transition: all 1s linear;
  -o-transition: all 1s linear;
  transition: all 1s linear;
  background-color: rgba(0,69,136,0.5);
  width: 100%;
  height: 100%;
  padding: 5px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: table-cell;
  vertical-align: bottom;
  color: #fff;
  opacity: 0;
}
.gallery a {
  overflow: hidden;
}
.gallery a img {
	-webkit-filter: grayscale(0) blur(0);
	filter: grayscale(0) blur(0);
	-webkit-transition: .2s linear;
	transition: .2s linear;
}
.gallery a:hover .description .description-inside {
  opacity: 1;
}
.gallery a:hover img {
	-webkit-filter: grayscale(100%) blur(2px);
	filter: grayscale(100%) blur(2px);
}



/* PF GALLERY - SINGLE IMAGE
 * ================================================*/
.single-image {
  display: block;
  overflow: hidden;
}


/* CE TEXTBOXES
 * ================================================*/
.ce-textboxes .textbox-item .title {
  background-color: #b50919;
  font-size: 17px;
  line-height: 24px;
  color: #FFFFFF;
  padding: 10px 20px;
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: table;
  font-weight: 600;
}
.ce-textboxes .textbox-item .title > .inner {
  display: table-cell;
  vertical-align: middle;
}
.ce-textboxes .textbox-item .link {
  margin-top: 10px;
  font-size: 16px;
  text-decoration: none;
  line-height: 24px;
  display: inline-block;
  position: relative;
  color: #b50919;
  border: 1px solid #b50919;
  padding: 5px 10px;
  padding-left: 50px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: auto;
}
.ce-textboxes .splits-t-3 .textbox-item .link {
  width: 100%;
}
.ce-textboxes .textbox-item .link:before {
  display: block;
  content: "";
  position: absolute;
  left: 0px;
  top: 0px;
  width: 40px;
  height: 100%;
  background-color: #e6e1e1;
  background-image: url('/_assets/db250ce2dd3ed72d6ea87d7dcb5ba5eb/Icons/download.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px auto;
}
.ce-textboxes .textbox-item .type-link:before {
  background-image: url('/_assets/db250ce2dd3ed72d6ea87d7dcb5ba5eb/Icons/icon-link.png');
}



/* PF IMMO
 * ================================================*/
.immo-service-boxes .headline {
  font-size: 17px !important;
  line-height: 24px !important;
  display: inline-block;
  position: relative;
}
.immo-service-boxes .headline.has-icon:after {
  top: 50% !important;
  margin-top: -12px !important;
}
.immo-searchbox .headline:after {
  background-image: url('../Icons/silhouettes-w.png');
}
.immo-customerservice .headline:after {
  background-image: url('/_assets/db250ce2dd3ed72d6ea87d7dcb5ba5eb/Icons/magnifier.png');
}
.immo-registerbox .headline:after {
  background-image: url('../Icons/download-w.png');
  height: 44px;
  position: absolute;
  right: 0px;
}

.immo-searchbox label {
  text-transform: none;
  font-size: 17px;
  font-size: 1.063rem;
}
.js .immo-service-boxes .immo-customerservice .btn {
  display: none;
}
.immo-customerservice .form-control {
  margin-top: 4px;
}
.immo-registerbox .btn {
  margin-top: 12px;
  text-transform: uppercase;
  padding: 14px 40px;
  width: 100%;
  box-sizing: border-box;
  text-align: center;
  letter-spacing: 0.05em;
  font-size: 19px;
}

/* 768 px */
@media screen and (min-width: 48.000em) {
  .immo-service-boxes .headline {
    font-size: 28px !important;
    line-height: 32px !important;
  }
  .immo-service-boxes .headline.has-icon:after {
    top: 50% !important;
    margin-top: -20px !important;
  }
}



