@media screen and (max-width: 1440px) {
	footer .wrapper.slider .wrap {		
		padding: 60px 40px 60px 40px;	
		width: 100%;
		max-width: 1276px;		
	}
		
}
@media screen and (max-width: 1280px) {
	header {
		height: auto;
	}

	header .wrap {
		justify-content: center;
		padding: 30px 20px;
	}
	header .wrap.infobar {
		padding: 0 20px;
	}
	header ul.nav-meta {
		margin: 12px 0;
		height: auto;
	}
	header ul.nav-actions {
		margin: 0 0 12px 0;
	}

	header ul.nav-meta > li.opening-hours,
	header ul.nav-meta > li.address,
	header ul.nav-meta > li.phone{
		height: auto;
		background-position: left 0;
	}
	header ul.nav-menu > li {
		margin-right: 5px;
		padding-right: 10px;
	}
	
	
	.willkommen-module .wrap {
		width: 100%;
		padding: 30px 20px;
	}

	.willkommen-module .wrap .col.right .slimmer {
		width: 70%;
		padding: 75px 0 0;
	}
	.willkommen-module .wrap .col .slimmer {
		width: 70%;
		padding: 50px 0;
	}
	
	.banner-module .wrapper {		
		padding: 0 32px;
	}
	.quicklinks-module {		
		padding: 30px 20px;		
	}
	.accordion-module .wrapper {		
		padding: 0 32px;
	}
	.quotes-module {		
		padding: 30px 20px;	
	}
	
	
	footer .wrap {
		max-width: 1384px;
		width: 100%;
		padding: 60px 20px;		
	}
	
	footer .wrapper.slider .wrap {		
		padding: 60px 20px;	
	}
	
	footer .slider ul.carousel li img {
		width: 175px;
		height: auto;
	}

	
	footer .wrapper.meta .wrap {
		padding: 40px 32px;
	}
	
	main div.container > .wrapper > .content {
		padding: 30px 0;
	}
	
	.text-image-module .wrap .col.left {
		padding: 150px 30px 50px 32px;
	}
	.text-image-module .wrap .col.right {
		padding: 0 32px 0 50px;
	}
	
	.text-half-module .wrap {
		padding: 30px 20px;
	}
	
}

@media screen and (max-width: 960px) {
	.desktop {
		display: none;
	}
	.mobile {
		display: block;
	}	
	
	header div.logo {
		width: 240px;		
	}
	
	header ul.nav-actions {
		display: none;
	}
	header ul.nav-menu > li {
		display: none;
	}

	header ul.nav-menu > li.language-active {
		display: block;
	}
	
	header ul.nav-menu li.language-active > a {
		font-size: 16px;
		line-height: 19.2px;
	}
	
	.menu-mobile {
		display: block;
	}

	main h1 {	
		font-size: 40px;
		line-height: 40px;		
		
		margin-bottom: 10px;
	}
	main h1 > span {	
		font-size: 45px;
		line-height: 45px;
		
	}
	main h2 {
		margin-bottom: 20px;
	}
	.banner-module {
		height: 466px;
		margin: 40px auto 65px;
	}
	

	.quotes-module .heading > * {
		max-width: 50%;
	}
	.quotes-module .quotes-area {
		margin: 20px -12px 25px;
	}

	.quotes-module .quotes-area .item {
		width: calc(100% / 2 - 24px);
	}
	
	footer .wrap {		
		padding: 30px 20px;
		flex-direction: column;	
	}
	
	
	.col-1-3 {
		order: 1;
		width: 100%;
		margin-bottom: 30px;
	}
	
	
	.col-1-3 + .col-1-3 {
		order: 3;
		
		
	}
	.col-1-3  + .col-1-3 + .col-1-3  {
		order: 2;
		
	}
	
	
	.col-1-4 {		
		margin: 0 0 30px;
		width: 100%;
		padding: 0 12px;
	}	
	.col-1-4 h4 {
		margin-bottom: 5px;
	}
	
	footer .wrapper.navigation details summary {
		pointer-events: all;
	}
	
	footer .wrapper.navigation details summary:after {
		content:'';
		position: absolute;
		right: 0;
		top: 0;
		width: 24px;
		height: 24px;
		display: block;
		
		background-image: url('../images/icons/select.svg');
		background-position: center;
		background-size: auto;
		background-repeat: no-repeat;

	}
	body.negative footer .wrapper.navigation details summary:after {
		background-image: url('../images/icons/select-white.svg');
	}
	

	footer .wrapper.navigation details[open] summary:after {
		transform: rotate(180deg);
	}
	
	footer .wrapper.meta .wrap {
		flex-direction: column-reverse;
		padding: 20px 32px;
	}
	
	footer .wrapper.meta .wrap .links a {
		display: block;
		width: 100%;
		margin: 20px 0;
	}
	
	
	main div.container > .wrapper {
		flex-direction: column;
		padding: 0 20px;
	}
	.content-navigation {
		width: 100%;
		padding: 20px 0;
	}
	.content-navigation .item-active {
		margin-bottom: 16px;
	}
	.content-wrapper {
		width: 100%;
		height: auto;
		padding: 20px 0;
		border-left: none;
	}
	.content-wrapper .wrap {
		width: 100%;
		max-width: 100%;
	}
	
	.content-navigation details {
		border: 1px solid rgba(64, 68, 70, 0.18);
		border-radius: 4px;
		background-color: white;
		padding: 10px;
		margin-bottom: 16px;
		color: #141718;
	}
	
	body.negative .content-navigation ul.level2 > li > a,
	body.negative .content-navigation ul.level3 > li > a {
		color: #141718;			
	}
	body.negative .content-navigation ul.level2 > li.active > a,
	body.negative .content-navigation ul.level3 > li.active > a {	
		color: #6C7275;			
	}
	
	

}
@media screen and (max-width: 768px) {
	.address {
		position: relative;
	}
	
	.address .full-link {
		position: relative;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		display: block;
		text-decoration: none;
		color: inherit;
	}
	
	.button-transparent,
	.button-black {
		width: 100%;
	}
	
	
	header ul.nav-meta {
		width: 100%;
		align-items: flex-start;
	}	
	
	header ul.nav-meta > li {
		border: none;
		margin: 0;
		padding: 0;
	}
	
	header ul.nav-meta > li.opening-hours {
		width: 80%;
	}
	
	header ul.nav-meta > li.address, 
	header ul.nav-meta > li.phone {
		width: 10%;
		text-indent: -99999px;		
		
		background-position: right;
		padding: 0;
	}
	
	
	header div.logo {
		width: 160px;
		margin: 0;
	}
	header div.logo a {
		width: 100%;
		display: block;
	}
	header div.logo a img {
		width: 100%;
		height: auto;
	}
	
	header div.nav-left, header div.nav-right {
		width: calc((100% - 160px) / 2);
		display: flex;
	}
	
	.willkommen-module .wrap {
		width: 100%;
		padding: 30px 20px;
		flex-direction: column;
	}
	.willkommen-module .wrap .col	{
		padding: 0 12px;
		width: 100%;
	}
	
	.willkommen-module .wrap .col.left	{
		padding: 100px 12px 0 12px;
		width: 100%;
	}
	
	.willkommen-module .wrap .col .slimmer	{
		width: 100%;		
	}
	.willkommen-module .wrap .col.right .slimmer 	{
		width: 100%;
		padding: 0;
	}
	
	.banner-module {
		height: 100vh;
		margin: 0;
		background-size: auto 100%;
		justify-content: flex-end;
		
		

	}
	.banner-module .wrapper {
		padding: 30% 32px 20px;
		background: linear-gradient(180.04deg, rgba(243, 245, 247, 0) 0.04%, rgba(243, 245, 247, 0.75) 49.5%);
		
	}
	.banner-module .button-black, 
	.banner-module .button-transparent {
		margin: 10px 0;
		align-self: flex-start;
		padding: 0;
		width: 100%;
	}
	.quicklinks-module {
		padding: 30px 12px;
		margin: 0 auto;
	}
	.quicklinks-module .wrapper .item {
		width: 100%;
	}
	
	.accordion-module {
		margin: 20px auto 40px;
	}
	.accordion-module .wrapper {
		padding: 0 20px;
	}
	.accordion-module details > summary {
		padding-right: 30px;
	}
	.accordion-module details summary::after {
		top: calc(50% - 12px);
	}
	
	
	
	
	.quotes-module .heading > * {
		max-width: 100%;
	}
	
	.quotes-module .rating {
		position: relative;
		right: auto;
		bottom: auto;
		width: 100%;		
		margin: 40px 0 0;
	}
	
	.quotes-module .quotes-area .item {
		width: calc(100% - 24px);
	}
	
	footer .slider ul.carousel li img {
		width: 144px;
		height: auto;
	}
	.col-1-3,
	.col-1-4 {
		padding: 0;
	}
	
	.col-1-3 .button-black, 
	.col-1-3 .button-transparent {		
		width: 100%;		
	}
	
	footer .wrapper.meta .wrap {
		padding: 20px;
	}
	
	.text-image-module .wrap {
		padding: 30px 0;
	}
	
	.heading {
		padding: 30px 20px;
	}
	
	.text-image-module .wrap .col.left,
	.text-image-module .wrap .col.right	{
		width: 100%;	
		padding: 30px 20px;
	}
	
	.text-half-module .wrap {
		padding: 30px 12px;
	}
	
	.gallery-grid-wrapper  {
		margin: 0 0 60px;
		grid-template-columns: calc(100% / 2) calc(100% / 2);
	}
	.bottom-link .wrapper {		
		margin: 20px auto 60px;
	}
	.image-full-module {		
		margin: 0 auto;
	}
	
	.team-module h3 {
		/* font-weight: 600; */
		font-size: 28px !important;
	}
	
	
	article .wrapper {
		padding: 0;
	}
	article .wrapper .heading {
		padding: 30px 0 0;
	}
}














/***  Mobile Navigation ***/
#mobileNav .language {
	position: absolute;
	left: 24px;
	top: 24px;
	width: 40px;
}
#mobileNav .language {
	padding-right: 20px !important;

	background-image: url('../images/icons/select.svg');
	background-repeat: no-repeat;
	background-position: right center;
	
}
#mobileNav .language > a {
	text-transform: uppercase;
	cursor: pointer;
	font-size: 16px;
	line-height: 19.2px;
	text-decoration: none;
}
#mobileNav .language ul {
	display: none;
	position: absolute;
	left: -5px;
	width: 120px;
	padding: 10px;

	background-color:#ffffff;
	text-align: left;
	z-index:5;	
	
	box-shadow: 0px 0px 15px 0px rgba(26, 25, 25, 0.25);
} 
#mobileNav .language:hover ul {
    display: block; 
}

#mobileNav .language ul li a {
	text-transform: none;
	padding: 4px 24px;
	font-size: 14px;
	font-weight: 400;
	line-height: 16.8px;
	letter-spacing: 1px;
}

#mobileNav details ul ul { margin-left:24px; }

/*** Daniel: Just to preview the mobile menu. Get rid of this below and implement it through the js lib you want ***/

 /* The Overlay (background) */
.overlay {
  /* Height & width depends on how you want to reveal the overlay (see JS below) */   
  height: 100%;
  width: 0;
  position: fixed; /* Stay in place */
  z-index: 1; /* Sit on top */
  left: 0;
  top: 0;
  background-color: rgb(255,255,255); 
  color: #141718;
 /*  background-color: rgba(255,255,255, 0.9);  */
  overflow-x: hidden; /* Disable horizontal scroll */
  transition: 0.5s; /* 0.5 second transition effect to slide in or slide down the overlay (height or width, depending on reveal) */
  

}

/* Position the content inside the overlay */
.overlay-content {
  position: relative;
  top: 50px; 
  width: 100%; /* 100% width */
  /*text-align: center;  Centered text/links */
  margin-top: 30px; /* 30px top margin to avoid conflict with the close button on smaller screens */
  padding: 24px;
}

/* The navigation links inside the overlay */
.overlay-content a {
	margin: 10px 0;
}

.overlay-content a.nav,
.overlay-content ul li a {
  padding: 8px 0;
  text-decoration: none; 
  color: #141718;
  display: block; /* Display block instead of inline */
  
  letter-spacing: 1px;

}
.overlay-content ul {
	width: 80%;
}

.overlay-content ul li a { 
	font-size: 16px;
	line-height: 19.2px;
}

.overlay-content details {
	width: 100%;
	margin: 30px 0 0;
}
.overlay-content details[open] {
	border-bottom: solid 1px #E8ECEF;
	padding-bottom: 20px;
}


.overlay-content details[disabled] summary:after{
	background: none;
}



.overlay-content details[open] summary a.nav {
	color: #6C7275;
}

/* When you mouse over the navigation links, change their color */
.overlay a:hover, .overlay a:focus {
  
}

/* Position the close button (top right corner) */
.overlay .closebtn {
  position: absolute;
  top: 20px;
  right: 24px;
  font-size: 30px;
  text-decoration: none;
}

/* When the height of the screen is less than 450 pixels, change the font-size of the links and position the close button again, so they don't overlap */
@media screen and (max-height: 450px) {
  .overlay a {}
  .overlay .closebtn {
    font-size: 40px;
    top: 15px;
    right: 35px;
  }
} 

.content-navigation details.mobile[open] summary { display:none; }
.content-navigation details.mobile[open] ul.level3 { margin-top:0; }