/* latin */
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 200;
	font-display: swap;
	src: url(fonts/Poppins_200_normal.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url(fonts/Poppins_400_normal.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url(fonts/Poppins_500_normal.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url(fonts/Poppins_600_normal.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Poppins Fallback";
	src: local('Arial');
	ascent-override: 92.326%;
	descent-override: 30.7753%;
	line-gap-override: 8.793%;
	size-adjust: 113.7274%;
}

body {
	margin:0;
	padding: 0;
	font-family:Poppins, 'Poppins Fallback';
}

a, a:hover {
	color: #000;
	text-decoration: underline;
}

.main {
	margin: 0;
	padding: 0;
}

.inner {
	margin: 0 auto;
	max-width: 1200px;
}

header {
	position: fixed;
	z-index: 101;
	width: 100%;
	text-align: center;
	background: #fff;
	border-bottom: 1px solid #ccc;
}

header .logo img{
	width: 130px;
	height: auto;
}

header .row1 {
	margin-top:0;
	font-size: 26px;
	text-transform:uppercase;
	color:#000;
	font-weight:300;
}

header .row2 {
	font-size: 18px;
	text-transform:uppercase;
	color:#000;
	font-weight:300;
}

header .iconcontainer {
	position: absolute;
	top: 10px;
	right: 50px;
	
}

header .icon {
	width: 40px;
	height: 40px;
	margin: 10px 0 10px 20px;
	padding: 8px 5px 5px;
	min-width: 0;
	text-align: center;
	float: left;
}

.icon.tel {
	width: 32px;
	height: 32px;
	margin-top: 12px;
}

header .icon svg {
	color: rgba(128,128,128,1);
	fill: rgba(128,128,128,1);
	
}

@media only screen and (max-width: 450px) {
	
	header .iconcontainer {
		width: 50px;
		right: 30px;
		top: -5px;
	}
	
	header .icon {
		margin: 0 0 0 20px;
	}
	
	header .logo img {
	  width: 100px;
	  height: auto;
	}
	
	header .row1 {
		font-size: 20px;
	}
	
	header .row2 {
		font-size: 15px;
	}
}


.row {
	margin:0;
	padding: 10px 20px;
}

.flex {
	display: flex;
}

.flex-middle {
	justify-content: center; 
	align-items: center;
}

.col-20 {
	flex-basis: 20%;
}


.col-30 {
	flex-basis: 30%;
}

.col-33 {
	flex-basis: 33%;
}

.col-40 {
	flex-basis: 40%;
}

.col-50 {
	flex-basis: 50%;
}

.col-70 {
	flex-basis: 70%;
}
.white {
	background: #fff;
	border: 1px solid #fff;
}

.lightgrey {
	background: rgba(242,242,242,1);
	border: 1px solid rgba(242,242,242,1);
}


.darkgrey {
	background: rgba(51,51,51,1);
	border: 1px solid rgba(51,51,51,1);
}

.first {
	padding: 248px 0 0
}

@media only screen and (max-height: 860px) {
	
	header {
		position: relative;
	}
	
	.first {
		padding: 0;
	}
}


		
.bild {
	background-position: 50% 50% !important;
	margin: 0;
}

.haus {
	display: block;
	background-image: url("img/2130x472px_website.jpg"); 
	background-size: cover; 
	background-position: 50% 50%; 
	background-repeat: no-repeat; 
	background-attachment: scroll; 
	animation: 0s ease 0s 1 normal none running none; 
	transform: translateX(0px); 
	transition: transform 0.75s ease-in-out 0s;
	height: 500px;
}


@media only screen and (max-width: 800px) {
	.haus {
		height: 300px;
	}
}

span.tel a {
	border: 1px solid rgba(51,51,51,1);
	padding: 10px;
	text-decoration: none;
	color: rgba(51,51,51,1);
}

span.tel a:hover {
	border: 1px solid rgba(255,255,255,1);
	background: rgba(51,51,51,1);;
	color: #fff;
	padding: 10px;
}

span.tel a svg {
	width: 20px;
	height: 20px;
	margin: 0 0 -4px 0;
	color: rgba(51,51,51,1);
	fill: rgba(51,51,51,1);
}

span.tel a:hover svg {
	color: #fff;
	fill: #fff;
}

@media only screen and (max-width: 550px) {
	
	.firstcall .col-30 {
		flex-basis: 40%;
	}
	.firstcall .col-70 {
		flex-basis: 60%;
	}
}

@media only screen and (max-width: 450px) {
	
	.firstcall {
		flex-wrap: wrap;
	}
	
	.firstcall .col-30, .firstcall .col-70 {
		flex-basis: 100%;
	}
}

.was-gilt {
	text-align: center;
}

.was-gilt svg {
	width: 60px;
	height: 60px;
	color: #fff;
	fill: #fff;
}

.was-gilt .flex div {
	padding: 0 20px;
}

.was-gilt h3 {
	font-size: 23px;
	font-weight: 300;
}

@media only screen and (max-width: 600px) {
	
	.was-gilt .flex {
		flex-wrap: wrap;
	}
	
	.was-gilt .col-33 {
		flex-basis: 100%;
	}
}


.handeln ul {
	padding: 0 0 0 20px;
}

.handeln li {
	list-style-type: '➞';
	padding-inline-start: 1ch;
}


.handeln {
	padding: 70px 0;
	font-weight: 300;
}

@media only screen and (max-width: 900px) {
	.handeln .col-50:first-child {
		display: none;
	}
	
	.handeln .col-50 {
		flex-basis: 100%;
	}
}


.handeln div {
	padding: 0 20px;
}

.portrait {
	padding: 60px 0;
}

.portraitimage {
	width: 33%;
}

@media only screen and (min-width: 1600px) {
	.portraitimage {
		width: 20%;
	}
}

@media only screen and (min-width: 1400px) {
	.portraitimage {
		width: 25%;
	}
}

@media only screen and (max-width: 1050px) {
	.portraitimage {
		width: 50%;
	}
}


@media only screen and (max-width: 600px) {
	.portraitimage {
		width: 100%;
	}
}

.portraitimage .box {
	margin: 15px;
	position: relative;
	text-align: center;
	
}

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

.description {
	position: absolute;
	top: 0;
	bottom: 5px;
	left: 0;
	right: 0;
	background: rgba(254,254,254,0.72);
	visibility: hidden;
	opacity: 0;
	padding: 10px;
	
	/* transition effect. not necessary */
	transition: opacity .2s, visibility .2s;
	
	display: flex; 
	flex-direction: column; 
	justify-content:flex-end;
	
}

.portraitimage:hover .description {
	visibility: visible;
	opacity: 1;
}

.description .name {
	font-size: 24px;
	margin-bottom: 0;
}

.description .beruf {
	font-size: 18px;
	font-weight: 500;
}

.description a {
	border: 1px solid #000;
	text-decoration: 0;
	padding: 5px;
	display: block;
}

.description a:hover {
	border: 1px solid #fff;
	text-decoration: 0;
	background: #000;
	color: #fff;
}

@media only screen and (max-width: 349px) {
	
	.description {
		font-size: 14px;
	}
	.description .name {
		font-size: 16px;
		margin-bottom: 0;
	}
	
	.description .beruf {
		font-size: 15px;
		font-weight: 500;
	}
}



.hamburg {
	padding: 0 20px;
	background-image: url(img/shutterstock-hamburg-1920w.jpg);
	background-position: 50% 70%;
	/*background-size: cover;*/
}

.hamburg .tel a {
	background: #fff;
}

form {
	margin: 80px 0px;
	padding: 0 25px;
}

.forminput {
	margin: 10px 0;
}

label {
	display: block;
	font-weight: 400;
}

input, textarea {
	background-color: #fff;
	border: 1px solid #e8e8e8;
	width: 100%;
	margin: 3px 0;
	height: 40px;
	font-family: Poppins, 'Poppins Fallback';
	font-size: 15px;
}

textarea {
	min-height: 150px;
}

#email {
	width: 90%;
}

input[type=submit] {
	width: 140px;
	border: 1px solid #000;
}

var, #error {
	color: red;
}

#success {
	color: green;
}

@media only screen and (max-width: 800px) {
	
	.hamburg {
		background: rgba(51,51,51,1);
	}
	
	.hamburg .flex {
		flex-wrap: wrap;
	}
	
	.hamburg .col-50 {
		flex-basis: 100%;
			}
	
	.hamburg .col-50:nth-child(2)
	{
		background:none !important;
	}
	
	.hamburg .col-50:nth-child(2) form {
		margin: 40px 0px;
		padding: 0;
	}
	
	#email {
		width: 100%;
	}
	
	.hamburg h3, .hamburg label {
		color: #fff;
	}
	
}


@media only screen and (min-width: 1921px) {
	.hamburg {
		background-size: cover;
	}
}


.adresse {
	position: relative;
	font-weight: 300;
	margin: 50px 0;
}

.adresse:before {
	content: ' ';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	opacity: 0.1;
	
	background-color: rgba(255,255,255,1);
	border-top-width: 1px;
	background-image: url(img/Anwaltskanzlei_Logo_160x160.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 0 100%;
}

.adresse .inner {
	position: relative;
	z-index: 2;
	
}

.social img {
	width: 30px;
	height: 30px;
}

@media only screen and (max-width: 600px) {
	.adresse .flex {
		flex-wrap: wrap;
	}
	
	.adresse .col-40 {
		flex-basis: 50%;
	}
	
	.adresse .col-20 {
		flex-basis: 100%;
	}
}

@media only screen and (max-width: 450px) {
	
	.adresse .col-40 {
		flex-basis: 100%;
	}
}

footer {
	padding: 25px !important;
	background: rgba(242,242,242,1);
	text-align: center;
}