/* CSS DOCUMENT */

/*--------------------------------------------------------------------------------------------*/
/* FONTS IMPORT */
/*--------------------------------------------------------------------------------------------*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat');
		
/*--------------------------------------------------------------------------------------------*/
/* CSS RESET */
/*--------------------------------------------------------------------------------------------*/

*{
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

/*--------------------------------------------------------------------------------------------*/
/* BODY SETTINGS */
/*--------------------------------------------------------------------------------------------*/

body {
	color: darkslategray;
	display: flex;
	flex-direction: column;
	font-family: 'Montserrat', sans-serif;
	font-size: 18px;
	min-height: 100vh;
}

.e-with-fixed-bg {
  width: 100%;
  /* Important */
  position: relative;
}

.bg-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.bg {
  position: fixed;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-attachment: fixed;
}

body .bg, .background1 .bg {
	background-image: url("images/backgrounds/home.jpg");
}

.background2 .bg {
	background-image: url("images/backgrounds/praxis.jpg");
}

.background3 .bg {
	background-image: url("images/backgrounds/team.jpg");
}

.background4 .bg {
	background-image: url("images/backgrounds/cv.jpg");
}

.background5 .bg {
	background-image: url("images/backgrounds/galerie.jpg");
}

.background6 .bg {
	background-image: url("images/backgrounds/kontakt.jpg");
}

.background7 .bg {
	background-image: url("images/backgrounds/impressum.jpg");
}

/*--------------------------------------------------------------------------------------------*/
/* NAVIGATION SETTINGS */
/*--------------------------------------------------------------------------------------------*/

a:link {
	color: #1c3661;
	text-decoration: none;
	transition: all 0.1s ease-in-out;
}

a:visited {
	color: #1c3661;
}

a:hover {
	color: black;
	transition: all 0.1s ease-in-out;
}

.menu_button {
	transition: all 0.5s ease-in-out;
}		

.menu_button div {
	background: rgba(255,255,255,0.5);
	margin-left: 6rem;
	margin-right: 6rem;
}

.menu_button:hover {
	transform: scale(1.08);
	transition: all 0.5s ease-in-out;
}		

.menu_button div:hover {
	background: rgba(255,255,255,0.3);
	margin-left: 6rem;
	margin-right: 6rem;
}

a:active {
	color: black;
}

.logo:hover {
	transform: scale(1.08);
	transition: all 0.4s ease-in-out;
}
		
.logo {
	transition: all 0.4s ease-in-out;
}

.hamburg {
	display: none;
}

input#hamburg {display:none}

/* Totop-Button */
#totop {
	background:rgba(255,255,255,0.5);
	color: #1c3661;
	position: fixed;
	right: 1rem;
	bottom: 1rem;
	padding: 0.5rem;
	z-index: 10;
	cursor: pointer;
}

/*--------------------------------------------------------------------------------------------*/
/* LAYOUT SETTINGS */
/*--------------------------------------------------------------------------------------------*/

/* CONTAINER */
#container {
	display: flex;
	width: 100%;
}

/* LOGO AND MENU */
header {
	padding: 2rem;
    width: 420px;
	position: fixed;
}

.logo_container {
	text-align: center;
	margin-bottom: 3rem;
}
 
nav {
	display: flex;
	font-size: 1.4rem;
    flex-direction: column;
    line-height: 2.2rem;
	text-align: center;
}

/* TITLE */
main {
	height: 7.22rem;
	margin-bottom: 2rem;
	margin-left: 420px;
	margin-top: 2rem;
	padding-right: 0.1rem;
	padding-top: 0.7rem;
    width: 50%;
}

h1 {
	background-color: rgba(255,255,255,0.5);
	text-align: center;
}
        
/* CONTENT */
#content {
	background-color: rgba(255,255,255,0.5);
	font-size: 1rem;
	line-height: 1.3rem;
	margin-bottom: 2rem;
	margin-top: 2rem;
	padding: 1rem 1rem;
}

.tabellenzeile {
	display: flex;
}

.tabellenzeile:nth-child(even) {
	background: rgba(255, 255, 255, 0.2);
}

.tabellenzeile_links {
	margin-right: 1rem;
	padding: 0.5rem;
	width: 120px;
}

.tabellenzeile_links img {
	border-radius: 50%;
	width: 100%;
}

.profilepic:hover {
	transform: scale(1.08);
	transition: all 0.4s ease-in-out;
}
		
.profilepic {
	transition: all 0.4s ease-in-out;
}

.spoken_languages {
	font-size: 0.75rem;
}

.tabellenzeile_rechts {
	padding: 0.5rem;
	width: 80%;
}

.address_title, .opening_hours {
	line-height: 1.6rem;
}

.cv {
	line-height: 1.6rem;
}

.float_left {
	float: left;
}

.float_right {
	float: right;
	margin-right: 12rem;	
}

.home {
	line-height: 1.5rem;
	margin-left: 1.5rem;
}

.list_title {
	line-height: 1.5rem;
}

.location {
	line-height: 1.8rem;
}

.note {
	line-height: 0.7rem;
	font-size: 0.7rem;
}

.comment {
	font-size: 0.8rem;
}

.praxis {
	line-height: 1.5rem;
	margin-left: 1.5rem;
}

.team {
	float: left;
}

.fancybox-caption__body {
	background-color: rgba(255, 255, 255, 0.4);
}

.equam img {
	float: right;
	margin-right: 15%;
	border-radius: 50%;
	margin-top: 2rem;
}

.address {
	float: left;
}

.clearfix {
	clear: both;
}

.newsline {
    border-bottom: 1px solid darkslategray;
	width: 100%;
}

.services {
	line-height: 2rem;
}

/* GALLERY */
.gallery_pics:hover {
   	filter: grayscale(1) contrast(1);
	transition: all 0.4s ease-in-out;
	transform: scale(1.1);
}

.gallery_pics {
	transition: all 0.4s ease-in-out;
	margin: 0.3rem;
	width: 105px;
}

/* FORMS */
input {
	background-color: rgba(255,255,255,0.0);
	border-bottom:2px solid darkslategray;
	border-left: 0px;
	border-right: 0px;
	border-top: 0px;
	font-family: Verdana, Helvetica, sans-serif;
	font-size: 0.9rem;
	padding: 0.2rem;
	padding-right: 6rem;
}

textarea {
	background-color: rgba(255,255,255,0.0);
	border-bottom:2px solid darkslategray;
	border-left: 0px;
	border-right: 0px;
	border-top: 0px;
	font-family: Verdana, Helvetica, sans-serif;
	font-size: 0.9rem;
	padding: 0.2rem;
	height: 5rem;
}

textarea, input[type=text] {
	width: 60%;
}

input[type=submit] {
	background-color: rgba(255,255,255,0.5);
	border:2px solid darkslategray;
    border-radius: 5px;
	cursor: pointer;
    font-family: Verdana, Helvetica, sans-serif;
	font-size: 0.9rem;
    padding: 0.5rem;
    width:auto;
}

button {
	background-color: rgba(255,255,255,0.5);
	border:2px solid darkslategray;
    border-radius: 5px;
	cursor: pointer;
    font-family: Verdana, Helvetica, sans-serif;
	font-size: 0.9rem;
	margin-left: 5.75rem;
    padding: 0.5rem;
    width:auto;
}

.back {
	margin-left: 0rem;
}

.request {
	font-size: 1.2rem;
	margin: 4rem;
	background: rgba(255, 255, 255, 0.5);
	width: 70%;
	padding: 0.5rem;
}

.logo_request {
	margin-left: 4rem;
	margin-bottom: 4rem;
}

/*--------------------------------------------------------------------------------------------*/
/* RESPONSIVE SETTINGS */
/*--------------------------------------------------------------------------------------------*/

/* Large devices (desktops, less than 1200px) */
@media (max-width: 1199.98px) {

}

@media screen and (min-width:992px) and (max-aspect-ratio: 16/9){

	body .bg {
	  background-size: contain;
	  background-position: bottom;
	}

	.bg-u {
	  position: fixed;
	  display: block;
	  top: 0;
	  left: 0;
	  width: 100%;
	  height: 100vh;
	  background-size: contain;
	  background-image: url("images/backgrounds/oben_blur2.jpg");
	  background-repeat: repeat;
	}

}

/* Medium devices (tablets, less than 992px) */
@media (max-width: 991.98px) {
	#container {
		flex-direction: column;
		padding: 3rem;
	}

	header {
		width: 100%;
		position: relative;
	}

	nav, main {
		flex-direction: column;
		justify-content: space-between;
		width: 100%;
	}

	main {
		margin-left: 0px;
	}


	.menu_button div{
		margin-left: -2rem;
		margin-right: -2rem;
	}

	.menu_button div:hover {
		margin-left: -2rem;
		margin-right: -2rem;
	}
	
/* HAMBURGER NAVIGATION */
	label.hamburg {
		display: block;
		background: darkslategray; width: 75px; height: 50px; 
		position: relative; 
		margin: 0.5rem;
		border-radius: 4px;
		cursor: pointer;
	}

	nav.topmenu { 
		background: rgba(255,255,255,0.6);
		height: auto; 
		max-height:0;
		overflow: hidden; 
		transition: all 0.5s;
	}
	
	#hamburg:checked + .hamburg  + nav.topmenu { 
		max-height: 600px;
	}
	
	.line { 
		position: absolute; 
		left:10px;
		height: 4px; width: 55px; 
		background: rgba(255,255,255,0.8); border-radius: 2px;
		display: block;
		transition: 0.5s; 
		transform-origin: center; 
	}

	.line:nth-child(1) { top: 12px; }
	.line:nth-child(2) { top: 24px; }
	.line:nth-child(3) { top: 36px; }

	#hamburg:checked + .hamburg .line:nth-child(1){
		transform: translateY(12px) rotate(-45deg);
	}

	#hamburg:checked + .hamburg .line:nth-child(2){
		opacity:0;
	}

	#hamburg:checked + .hamburg .line:nth-child(3){
		transform: translateY(-12px) rotate(45deg);
	}
	
	.nav_container {
		position: fixed;
		top: 0;
		left: 0;
		width: 50%;
		min-width: 300px;
	}
	
/* STICKY HEADER */
	.logo_container {
		margin-bottom: 0;
	}
	
	main {
		margin-top: 0;
	}
	
	.header_spacer {
		height: 2rem;
	}
	
	header {
		transition: .5s all ease-in-out;
		padding: 0;
		position: sticky;
		top: 0;
		z-index: 10;
	}
	
	html.no-js header {
		position: static;
	}
	
	.logo {
		padding-top: 0.25rem;
		padding-bottom: 0.25rem;
	}
	
	.logo:hover {
		transform: none;
	}
	
	.logo a {
		transition: .5s all ease-in-out;
		margin-left: auto;
		width: 105px;
		display: block;
		margin-right: calc( 50% - 52.5px );
	}
	
	a:hover {
		transform: scale(1.08);
	}
	
	.logo a img {
		width: 100%;
	}
	
	header.sticky_logo {
		background-color: rgba(255,255,255,0.8);
		position: fixed;
	}
	
	header.sticky_logo .logo:hover {
		transform: none;
	}
	
	header.sticky_logo .logo a {
		margin-right: 0.5rem;
		width: 38px;
	}
	
	.header_spacer {
		transition: .5s all ease-in-out;
	}
	
	.header_spacer.sticky_logo {
		background-color: rgba(255,255,255,0.8);
	}
}

@media screen and (max-width:991.98px) and (max-aspect-ratio: 16/9){
	.background1 .bg {
		background-size: cover;
  		background-position: clamp(100%, calc(100% + 16vh - 50vw), 0%) center;
	}

	.background2 .bg {
  		background-size: cover;
 		background-position: clamp(100%, calc(100% + 46vh - 50vw), 0%) center;
	}

	.background3 .bg {
  		background-size: cover;
  		background-position: clamp(100%, calc(100% + 77vh - 50vw), 0%) center;
	}

	.background4 .bg {
  		background-size: cover;
  		background-position: clamp(100%, calc(100% + 104vh - 50vw), 0%) center;
	}

	.background5 .bg {
  		background-size: cover;
  		background-position: clamp(100%, calc(100% + 130vh - 50vw), 0%) center;
	}

	.background6 .bg {
  		background-size: cover;
  		background-position: clamp(100%, calc(100% + 165vh - 50vw), 0%) center;
	}
	
	.background7 .bg {
  		background-size: cover;
  		background-position: clamp(100%, calc(100% + 16vh - 50vw), 0%) center;
	}
}

/* Small devices (landscape phones, less than 768px) */
@media (max-width: 767.98px) {
	#container {
		padding: 1.5rem;
	}

}

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) {
	#container {
		padding: 0;
	}
	
	.equam {
		text-align: center;
	}
	
	.equam img{
		float: none;
		margin-right: 0;
	}
	
	.address {
		float: none;
	}
	
	.tabellenzeile {
		flex-direction: column;
	}
	
	.tabellenzeile_rechts {
		width: 100%;
	}
	
	.bildcontainer .tabellenzeile_links {
		width: auto;
		margin-right: 0;
	}
	
	.bildcontainer .tabellenzeile_rechts {
		text-align: center;
	}
	
	textarea, input[type="text"] {
    	width: 100%;
		padding-right: 0.2rem;
	}
}

/* End of mediascreen */

/*--------------------------------------------------------------------------------------------*/
/* FOOTER SETTINGS */
/*--------------------------------------------------------------------------------------------*/

footer {
    border-top: 1px solid darkslategray;
    font-size: 0.8rem;
	padding-bottom: 0.5rem;
	padding-top: 0.5rem;
	width: 100%;
}