@charset "utf-8";

@font-face { font-display: swap; font-family: 'Euclid Circular A'; font-style: normal; font-weight: 400; src: url('../webfonts/EuclidCircularA-Regular-WebXL.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Euclid Circular A'; font-style: normal; font-weight: 500; src: url('../webfonts/EuclidCircularA-Medium-WebXL.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Euclid Circular A'; font-style: normal; font-weight: 700; src: url('../webfonts/EuclidCircularA-SemiBold-WebXL.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: 'Abramo Serif'; font-style: normal; font-weight: 400; src: url('../webfonts/abramoserif-webfont.woff2') format('woff2'); }

html { 
	margin: 0px;
	min-height: 100%;
}
 
:focus {
	 outline:0; 
	 -moz-outline:0; 
} 

img {
	vertical-align: baseline;
}

span,div {
	zoom: 1;
}			   

input::-webkit-outer-spin-button, 
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type=number] {
  -moz-appearance: textfield;
}

img {
	display: block;
}

a {
	zoom: 1;
	color: inherit;
}
	
a img {
	border-width: 0px;
}	   

a:hover  {
	color: inherit;
}

form {
	margin: 0px;
	padding: 0px;
}
	
sup { 
	vertical-align: baseline;
	position: relative;
	top: -0.5em;
	font-size: 70%;
}

ul {
	padding-left: 1.5em;
}

body {	 
	position: relative;
	margin: 0;
	padding: 0px;
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-family: "Euclid Circular A", sans-serif;
	font-size: 1.05vw;
	line-height: 1.5;
	background-color: #e0e7ce;
	color: black;
	height: 100%;
	overflow-x: hidden;
}	 

.show-on-mobile { display: none !important; }

/**** CONTENT ****/

.content {
	position: relative;
	box-sizing: border-box;
	margin: auto;
	width: 80vw;
	border-left: 0.12vw solid black;	
	border-right: 0.12vw solid black;	
}

.main h2 {
	font-size: 1.5em;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	line-height: 1.2;
	margin-top: 1em;
	margin-bottom: 1.2em;
	text-align: center;
}

.main strong { font-weight: 500; }

.dots {
	margin-top: 1em;
	user-select: none;
}
	
.dots .dot {
	display: inline-block;
	width: 0.5em;
	margin: 0.2em;
}	
		
.dots .dot circle { fill: rgba(255,255,255,0.3); }
.dots .dot.sel circle { fill: white; }

/**** HEADER ****/

.header {
	position: relative;
	border-bottom: 0.12vw solid black;	
	text-align: center;
}

.header .content { padding-top: 1em; padding-bottom: 0.9em; }

.header h1 {
	margin: 0;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 1.5vw;
}

.header h1 .big {
	font-family: "Abramo Serif", serif;
	font-size: 5.2em;
	line-height: 0.85;
	letter-spacing: 0;
}

/**** IMAGEBAR ****/

.imagebar {
	position: relative;
	border-bottom: 0.12vw solid black;	
	text-align: center;
}

.imagebar .content {
	padding: 0;
	height: 100%;
}

.imagebar .slide {
	position: absolute;
	left: 0;
	top: 0;
	display: none;
}

.imagebar .slide:first-of-type { display: block; }

.imagebar .headline {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	text-align: center;
}

.imagebar .headline h2 {
	font-family: "Abramo Serif", serif;
	font-weight: normal;
	font-size: 6.8vw;
	line-height: 0.9;
	letter-spacing: 0;
	color: white;
	max-width: 60vw;
	margin: auto;
	padding-bottom: 0.45em;
}

.imagebar .dots {
	position: absolute;
	left: 0;
	bottom: 1em;
	width: 100%;
}

.imagebar .pfeil {
	position: absolute;
	top: 0;
	width: 30%;
	height: 100%;
	cursor: pointer;
}

.imagebar .pfeil.prevslide { left: 0; }
.imagebar .pfeil.nextslide { right: 0; }

.imagebar .pfeil svg {
	position: absolute;
	top: calc(50% - 1.4em);
	height: 2.83em;
	display: none;
}

.imagebar .pfeil:hover svg { display: block; }

.imagebar .pfeil.prevslide svg { left: 1.5em; }
.imagebar .pfeil.nextslide svg { right: 1.5em; }

.imagebar .pfeil svg polygon { fill: white; }

/**** INTROTEXT ****/

.introtext {
	font-size: 1.35vw;
	padding: 0.8em 12em;
	border-bottom: 0.12vw solid black;	
}

/**** SUBMENÜ ****/

.submenu {
	position: relative;
	font-size: 0;
	border-bottom: 0.12vw solid black;	
}

.submenu .entry {
	box-sizing: border-box;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	vertical-align: middle;
	width: 33.33%;
	height: 8.5vw;
	font-size: 1.9vw;
	line-height: 1.2;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	text-align: center;
	padding: 1em;
	border-right: 0.12vw solid black;
	cursor: pointer;	
}

.submenu .entry:last-child { border: none !important; }

.submenu .entry:hover, .submenu .entry.sel { background-color: #99ae89; }

/**** TEXTBLOCK ****/

.textblock {
	position: relative;
	display: none;
	padding: 2em 15.1em;
	border-bottom: 0.12vw solid black;	
	min-height: 19vw;
}

.textblock.sel { display: block; }

.textblock .image {
	position: absolute;
	left: 7%;
	width: 28%;
	top: 3.5em;
}

/**** BILDERGALERIE ****/

.bildergalerie {
	position: relative;
	text-align: center;
	background-color: #99ae89;
	border-bottom: 0.12vw solid black;	
	padding-top: 1em;
	padding-bottom: 2em;
}

.bildergalerie .slide {
	font-size: 0;
	display: none;
}

.bildergalerie .slide:first-of-type { display: block; }


.bildergalerie .slide img {
	display: inline-block;
	max-width: 35vw !important;
	max-height: 35vw !important;
	width: auto !important;
	height: auto !important;
}

.bildergalerie .pfeil {
	position: absolute;
	top: 17em;
	width: 1.5em;
	cursor: pointer;
}

.bildergalerie .pfeil.prevslide { left: 18vw; }
.bildergalerie .pfeil.nextslide { right: 18vw; }

.bildergalerie .pfeil:hover polygon { fill: white; }

	
/**** ÜBER MICH ****/

.uebermich {
	border-bottom: 0.12vw solid black;	
	padding-top: 2em;
}

.uebermich .inner {
	position: relative;
	padding: 0em 5em 2em 5em;
	padding-left: 40%;
}

.uebermich .image {
	position: absolute;
	left: 12%;
	width: 23%;
	top: 0.5em;
}

.uebermich h2 { margin-top: 0.5em; }

/**** FOOTERMENÜ ****/

.footermenu {
	position: relative;
	font-size: 0;
	border-bottom: 0.12vw solid black;	
}

.footermenu .entry {
	box-sizing: border-box;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	vertical-align: middle;
	width: 10.6vw;
	height: 2vw;
	font-size: 0.7vw;
	line-height: 1.2;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	text-align: center;
	padding: 1em;
	border-right: 0.12vw solid black;
	cursor: pointer;	
}

.footermenu .entry:hover, .footermenu .entry.sel { background-color: #99ae89; }

/**** FOOTER ****/

.footerblock {
	position: relative;
	display: none;
	padding: 1.5em 3em 3em 3em;
	min-height: 19vw;
}

.footerblock.sel { display: block; }

/**** BIG SCREENS ****/

@media only screen and (min-width: 2000px) {	
	body { font-size: 21px; }
	.content { width: 1600px; border-left-width: 2.4px; border-right-width: 2.4px; }
	.header h1 { font-size: 30px; }
	.imagebar .headline h2 { font-size: 136px; max-width: 1200px; }
	.introtext { font-size: 27px; }
	.submenu .entry { height: 170px; font-size: 38px; }
	.textblock { min-height: 380px; }
	.bildergalerie .slide img { max-width: 700px !important; max-height: 700px !important; }
	.bildergalerie .pfeil.prevslide { left: 360px; }
	.bildergalerie .pfeil.nextslide { right: 360px; }
	.footermenu .entry { width: 212px; font-size: 14px; }
	.footerblock { min-height: 380x; }
	.header, .imagebar, .introtext, .submenu, .textblock, .bildergalerie, .uebermich, .footermenu { border-bottom-width: 2.4px; }
	.submenu .entry, .footermenu .entry { border-right-width: 2.4px; }
}

/**** SMALL SCREENS ****/

@media only screen and (max-width: 900px) {	
	body { font-size: 12px; }
	.hide-on-mobile { display: none !important; }
	.show-on-mobile { display: block !important; }
	.main h2 { margin-top: 0.5em; }
	.content { width: 90vw; border-left-width: 1px; border-right-width: 1px; }
	.header h1 { font-size: 13px; }
	.imagebar { height: 340px; }
	.imagebar .slide { height: 340px; }
	.imagebar .slide img { width: auto !important; height: 100% !important; object-fit: cover; }
	.imagebar .headline h2 { font-size: 67px; max-width: 500px; padding-bottom: 35px; }
	.introtext { font-size: 15px; padding: 10px 20px; }
	.submenu .entry { font-size: 2.8vw; height: 10vw; }
	.textblock { padding: 10px 20px; }
	.textblock .image { position: relative; left: auto; top: auto; width: 100%; max-width: 300px; margin: auto; margin-top: 1.5em; margin-bottom: 1.5em; }
	.bildergalerie .slide img { max-width: calc(100% - 105px) !important; max-height: 300px !important; }
	.bildergalerie .pfeil { top: calc(50% - 10px); width: 1em; }
	.bildergalerie .pfeil.prevslide { left: 20px; }
	.bildergalerie .pfeil.nextslide { right: 20px; }
	.uebermich { padding-top: 1.2em; }
	.uebermich .inner {  padding: 10px 20px; }
	.uebermich .image { position: relative; left: auto; top: auto; width: 100%; max-width: 240px; margin: auto; margin-bottom: 1.5em; }
	.uebermich h2 { margin-bottom: 0.7em; }
	.footermenu .entry { font-size: 9px; width: 95px; height: 20px; padding: 0; line-height: 1; }
	.footerblock { padding: 10px 20px; }
	.header, .imagebar, .introtext, .submenu, .textblock, .bildergalerie, .uebermich, .footermenu { border-bottom-width: 1px; }
	.submenu .entry, .footermenu .entry { border-right-width: 1px; }
}

@media only screen and (max-width: 500px) {	
	.imagebar .headline h2 { font-size: 14vw; }
}