/*
	Theme Name: HTML5 Blank
	Theme URI: http://html5blank.com
	Description: HTML5 Blank WordPress Theme
	Version: 1.4.3
	Author: Todd Motto (@toddmotto)
	Author URI: http://toddmotto.com
	Tags: Blank, HTML5, CSS3

	License: MIT
	License URI: http://opensource.org/licenses/mit-license.php
*/

/*------------------------------------*\
    MAIN
\*------------------------------------*/

/* global box-sizing */
*,
*:after,
*:before {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
/* html element 62.5% font-size for REM use */
html {
	font-size:62.5%;
}
body {
	font:300 11px/1.4 'Helvetica Neue', Helvetica, Arial, sans-serif;
	color: #000;
	font-family: "Fira Sans", sans-serif;
  font-weight: 200;
  font-style: normal;
}
/* clear */
.clear:before,
.clear:after {
    content:' ';
    display:table;
}

.clear:after {
    clear:both;
}
.clear {
    *zoom:1;
}
img {
	max-width:100%;
	vertical-align:bottom;
}
a {
	color:#444;
	text-decoration:none;
}
a:hover {
	color:#444;
}
a:focus {
	outline:0;
}
a:hover,
a:active {
	outline:0;
}
input:focus {
	outline:0;
	border:1px solid #04A4CC;
}

strong, b {
	font-weight: 500;
}

/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/

/* wrapper */
.wrapper {
	font-size: 2.8rem;
	line-height: 1.5;
}

main section article, .header_inner, .footer_inner {
	max-width:1140px;
	width:90%;
	margin:0 auto;
	position:relative;
}


/* header */
.header {
	position: relative;
	width: 100%;
	height: 66vh;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.header::after {
	content: '';
	position: absolute;
	width: 100%;
	height: 30vh;
	/*background-color: rgba(0,0,0,0.3);
	bottom: 0;
	backdrop-filter: blur(20px);
	mask: linear-gradient(transparent, black 100%);*/
	display: none;
}

.header > a {
	z-index: 2;
}


/* logo */
.logo {
	text-align: center;
}
.logo h1 span:first-of-type {
	display: inline-block;
	margin-right: -0.05em;
	transition: all 2s;
	transition-delay: 1s;
	transform: translateY(50%);
	opacity: 0;
}
.page_loaded .logo h1 span:first-of-type {
	transform: translateY(0);
	opacity: 1;
}
.logo h1 span:last-of-type {
	display: inline-block;
	margin-right: -0.05em;
	transition: all 2s;
	transition-delay: 1s;
	transform: translateY(-50%);
	opacity: 0;
}
.page_loaded .logo h1 span:last-of-type {
	transform: translateY(0);
	opacity: 1;
}
/* nav */
.nav {

}
/* sidebar */
.sidebar {

}
/* footer */
.footer {
	background-color: #4A6D69;
	color: #fff;
}

.footer_inner {
	display: flex;
	justify-content: space-between;
	font-size: 0.7em;
}

.footer a {
	color: #fff;
	border-bottom: none;
}

.footer a:hover {
	text-decoration: none;
	border-bottom: 1px dotted;
}


/*------------------------------------*\
    PAGES
\*------------------------------------*/

/* Home */

.home .header {
	height: 100vh;
}

.intro_wrapper {
	position: absolute;
	top: 50vh;
}

.intro_wrapper > div {
	display: inline-block;
}

.header_arrow_wrapper {
	position: absolute;
	bottom: 1vw;
	left: calc(50% - 2vw);
	width: 4vw;
	height: 4vw;
	/*background-color: rgba(255,0,0,0.3);*/
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	z-index: 3;
}

.header_arrow_inner {
	position: relative;	
	width: 2vw;
	height: 2vw;
	pointer-events: none;
	transform: translateY(-60%);
	transition: all 0.5s;
}

.header_arrow_wrapper:hover .header_arrow_inner {
	transform: translateY(0%);
}

.header_arrow_inner span {
	display: inline-block;
	width: 100%;
	height: 100%;
	border-right: 3px solid #fff;
	border-bottom: 3px solid #fff;
	transform: rotate(45deg);
	transform-origin: center center;
}


/* Header */

.amini_wrapper {
	position: absolute;
	bottom: 2vw;
	right: 8vw;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	color: #fff;
	z-index: 3;
}

.amini_wrapper span {
	font-size: 0.6vw;
	font-weight: 400;
	display: inline-block;
	padding-bottom: 0.6em;
}

.amini_wrapper img {
	width: 6vw;
	height: auto;
	filter: brightness(0) invert(1);
}

/* Stoerer */

.stoerer_wrapper {
	font-size: 1.2vw;
	width: 10em;
	height: 10em;
	background-color: HSL(5.5, 25.6%, 8.4%);
	color: #fff;
	border-radius: 100%;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	font-weight: 400;
	line-height: 1.4;
	transform: translateY(-50%) rotate(-10deg);
	margin-left: 5vw;
	transition: all 0.5s;
	position: relative;
	overflow: hidden;
}

.stoerer_wrapper::before {
	content: '';
	position: absolute;
	height: 18em;
	width: 8em;
	 background: rgb(255,255,255);
background: -moz-linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.3) 50%, rgba(255,255,255,0) 100%);
background: -webkit-linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.3) 50%, rgba(255,255,255,0) 100%);
background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.3) 50%, rgba(255,255,255,0) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#ffffff",GradientType=1); 
	top: -4em;
	left: -9em;		
	transform: rotate(-30deg);
	animation: stoerershine 8s ease infinite;
}

@keyframes stoerershine {
  0% { left: -9em;}
  25% { left: 19em; }
  100% { left: 19em; }	
}


.stoerer_wrapper:hover {
	background-color: HSL(5.5, 25.6%, 22%);
}

.stoerer_wrapper .tx1 {
	color:#B2A497;
	font-family: "VelinoCondensedLight";
	font-weight: normal;
	font-style: normal;
	display: inline-block;
	padding-bottom: 0.2em;
	font-size: 1.5em;
}



/* Formulare */

.contact_form_wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 0.5em;
	padding-top: 1.5em;
}

.contact_form_wrapper br, .contact_form_wrapper p {
	display: contents;
}

.contact_form_wrapper .form_checkbox_wrapper, .contact_form_wrapper [data-name='Mitteilung'], .contact_form_wrapper [data-name='Datenschutz_akzeptiert'], .submit_btn_wrapper {
	grid-column: span 2;
}

.contact_form_wrapper .form_checkbox_wrapper {
	text-align: center;
	padding-right: 1.4em;
}

.contact_form_wrapper [data-name='Datenschutz_akzeptiert'] .wpcf7-list-item, .contact_form_wrapper [data-name='Interessentenliste_Eigentum'] .wpcf7-list-item, .contact_form_wrapper [data-name='Interessentenliste_Miete'] .wpcf7-list-item {
	margin-left: 0;
}

.contact_form_wrapper input[type="checkbox"] {
	display: none;
}

.contact_form_wrapper input[type="checkbox"] + span::before {
	content: '';
	display: inline-block;
	width: 1em;
	height: 1em;
	border: 3px solid #000;
	background-color: #fff;
	margin-right: 0.25em;
	margin-bottom: -0.15em;
}

.contact_form_wrapper input[type="checkbox"]:checked + span::before {
	background-color: #fff;
	background-image: url(/wp-content/uploads/2024/10/cs_ico_check3.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.contact_form_wrapper input[type='text'], .contact_form_wrapper input[type='email'], .contact_form_wrapper textarea  {
	background-color: #F2F2F1;
	width: 100%;
	padding: 0.6em 0.75em 0.4em 0.75em;
	border: none;
	outline: none;
	font-weight: 300;
	/*border-bottom: 3px solid #F2F2F1;*/
	font-family: "Fira Sans", sans-serif;
}

.contact_form_wrapper input[type='text']:focus, .contact_form_wrapper input[type='email']:focus, .contact_form_wrapper textarea:focus  {
	background-color: HSL(28, 11.9%, 91%);
	/*border-bottom: 2px solid #8D7D6F;*/
}



.contact_form_wrapper textarea  {
	height: 8em;
}

.contact_form_wrapper input[type='submit'] {
	background-color: #8D7D6F;
	color: #fff;
	border: none;
	outline: none;
	border-radius: 0;
	padding: 0.5em 1em 0.35em 1em;
	font-family: "Fira Sans", sans-serif;
	font-size: 0.9em;
	font-weight: 400;
	letter-spacing: 0.1em;
}

.contact_form_wrapper input[type='submit']:hover {
	background-color: #4A6D69;
}

.wpcf7-spinner {
	position: absolute;
	right: 8em;
}



.wpcf7-not-valid-tip {
	font-size: 0.6em;
	position: absolute;
	z-index: 2;
	right: 0.3em;
	bottom: 0;
}

.form_row_anrede {
	padding-top: 1em;
}

.form_row_anrede .wpcf7-checkbox span.first {
	margin-left: 0;
}


.wpcf7 form.sent .wpcf7-response-output {
	border: none !important;
	background-color: #4A6D69;
	margin: 1em 0;
	color: #fff;
	font-weight: 500;
	font-size: 0.9em;
	grid-column: span 2;
	padding: 1em 0.6em;
}

.wpcf7 form.invalid .wpcf7-response-output {
	border: none !important;
	background-color: #E48600;
	margin: 1em 0;
	color: #fff;
	font-weight: 500;
	font-size: 0.9em;
	grid-column: span 2;
	padding: 1em 0.6em;
}




/*------------------------------------*\
    IMAGES
\*------------------------------------*/

.image_row_fw {
	column-gap: 0.3em !important;
	margin-bottom: 0;
}

.image_row_fw img {
	object-fit: cover;
	object-position: center top;
	width: 100%;
	height: 33vw;
}

.image_row_fw .img2 img {
	object-position: center center;
}

/*------------------------------------*\
	TYPOGRAPHY
\*------------------------------------*/

@font-face {
  font-family: "VelinoCondensedLight";
  src: url('fonts/VelinoCondensedDisplayCondensedLight/font.woff2') format('woff2'), url('fonts/VelinoCondensedDisplayCondensedLight/font.woff') format('woff');
}

h1 {
	font-size: 9vw;
	font-family: "VelinoCondensedLight";
	font-weight: normal;
	font-style: normal;
	color: #fff;
	letter-spacing: 0.05em;
	margin: 0;
	padding: 0.05em 0;
	line-height: 1;
	display: inline-block;
}

h2 {
	font-size: 3.6em;
	font-family: "VelinoCondensedLight";
	font-weight: normal;
	font-style: normal;
	color: #8D7D6F;
	letter-spacing: 0.04em;
	line-height: normal;
}

h3 {
	font-size: 2.4em;
	font-family: "VelinoCondensedLight";
	font-weight: normal;
	font-style: normal;
	color: #8D7D6F;
	letter-spacing: 0.02em;
	line-height: normal;
	margin: 0.1em 0;
}

h4 {
	font-size: 1.6em;
	font-family: "VelinoCondensedLight";
	font-weight: normal;
	font-style: normal;
	color: #8D7D6F;
	letter-spacing: 0.02em;
	line-height: normal;
	margin: 0.1em 0;
}

h5 {
	font-weight: 400;
	font-size: 1em;
}


/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/


@media only screen and (max-width : 1600px)  {


	.wrapper {
		font-size: 2.4rem;
	}
	
	main section article, .header_inner, .footer_inner {
		max-width: 1000px;
	}
	
}

@media only screen and (max-width : 1300px)  {
	
	.wrapper {
		font-size: 2.1rem;
	}
	
	h1 {
		font-size: 12vw;
	}
	
	.stoerer_wrapper {
		font-size: 1.6vw;
	}
	
	.amini_wrapper img {
		width: 8vw;
	}
	
	.amini_wrapper span {
		font-size: 0.8vw;
	}
	
	.header_arrow_wrapper {
		bottom: 1em;
		left: calc(50% - 1.5em);
		width: 3em;
		height: 3em;
	}
	
	.header_arrow_inner {
		width: 1.5em;
		height: 1.5em;
	}
	
}


@media only screen and (max-width : 1100px)  {
	
	
	
	
	.stoerer_wrapper {
		font-size: 0.9em;
	}
	
	
}

@media only screen and (max-width : 760px)  {
	
	h1 {
		font-size: 18vmin;
	}
	
	h2 {
		font-size: 3.2em;
	}
	
	h3 {
		font-size: 2.1em;
	}
	
	.header {
		height: 75vmin;
	}
	
	.home .header {
		height: 100vmin;
	}
	
	.stoerer_wrapper {
		font-size: 0.8em;
	}
	
	.intro_wrapper {
		top: 50vmin;
	}
	
	.image_row_fw img {
		height: 60vmin;
	}
	
}


@media only screen and (max-width : 600px)  {
	
	h2 {
		font-size: 2.1em;
	}
	
	h3 {
		font-size: 1.8em;
	}
	
	h4 {
		font-size: 1.3em;
	}
	
	.contact_form_wrapper {
		grid-template-columns: 1fr;
	}
	
	.contact_form_wrapper .form_checkbox_wrapper, .contact_form_wrapper [data-name="Mitteilung"], .contact_form_wrapper [data-name="Datenschutz_akzeptiert"], .submit_btn_wrapper {
		grid-column: span 1;
	}

	.contact_form_wrapper .form_checkbox_wrapper {
		text-align: center;
		padding-right: 0em;
	}
	
	.amini_wrapper img {
		width: 16vmin;
	}
	
	.amini_wrapper span {
		font-size: 1.6vw;
	}
	
	
	
	.footer_inner {
		flex-direction: column-reverse;
		text-align: center;
		font-size: 0.9em;
		padding: 1.5em 0;
	}
	
	
}



/*------------------------------------*\
    MISC
\*------------------------------------*/

::selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-webkit-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-moz-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.alignnone {
	margin:5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
	display:block;
	margin:5px auto 5px auto;
}
.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
a img.alignnone {
	margin:5px 20px 20px 0;
}
a img.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.aligncenter {
	display:block;
	margin-left:auto;
	margin-right:auto;
}
.wp-caption {
	background:#FFF;
	border:1px solid #F0F0F0;
	max-width:96%;
	padding:5px 3px 10px;
	text-align:center;
}
.wp-caption.alignnone {
	margin:5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin:5px 20px 20px 0;
}
.wp-caption.alignright {
	margin:5px 0 20px 20px;
}
.wp-caption img {
	border:0 none;
	height:auto;
	margin:0;
	max-width:98.5%;
	padding:0;
	width:auto;
}
.wp-caption .wp-caption-text,
.gallery-caption {
	font-size:11px;
	line-height:17px;
	margin:0;
	padding:0 4px 5px;
}
.sticky {

}
.bypostauthor {

}

/*------------------------------------*\
    PRINT
\*------------------------------------*/

@media print {
	* {
		background:transparent !important;
		color:#000 !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}
	a,
	a:visited {
		text-decoration:underline;
	}
	a[href]:after {
		content:" (" attr(href) ")";
	}
	abbr[title]:after {
		content:" (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content:"";
	}
	pre,blockquote {
		border:1px solid #999;
		page-break-inside:avoid;
	}
	thead {
		display:table-header-group;
	}
	tr,img {
		page-break-inside:avoid;
	}
	img {
		max-width:100% !important;
	}
	@page {
		margin:0.5cm;
	}
	p,
	h2,
	h3 {
		orphans:3;
		widows:3;
	}
	h2,
	h3 {
		page-break-after:avoid;
	}
}
