@charset 'UTF-8';

@font-face {
font-family:"ff-dax-compact-pro";
src:url("https://use.typekit.net/af/34af7c/00000000000000007735999b/31/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff2"),url("https://use.typekit.net/af/34af7c/00000000000000007735999b/31/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff"),url("https://use.typekit.net/af/34af7c/00000000000000007735999b/31/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:400;font-stretch:normal;
}


/* RESET */

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family: "ff-dax-pro-wide", sans-serif;
}

/* HEADER */

header{
display:flex;
justify-content:space-between;
align-items:center;
padding:25px 25px 25px 85px;
background:#fff;
position:fixed;
width:100%;
top:0;
z-index:1000;
box-shadow:0 2px 5px rgba(0,0,0,0.1);
}

.logo{
font-size:1.5em;
font-weight:100;
color: #6e5938;
}

nav ul{
list-style:none;
display:flex;
gap:25px;
}

nav a{
text-decoration:none;
color:#263760;
font-weight:100;
text-transform: uppercase;	
}


/* hamburger menu */

#menu__toggle {
  opacity: 0;
}

#menu__toggle:checked ~ .menu__btn > span {
  transform: rotate(45deg);
}
#menu__toggle:checked ~ .menu__btn > span::before {
  top: 0;
  transform: rotate(0);
}
#menu__toggle:checked ~ .menu__btn > span::after {
  top: 0;
  transform: rotate(90deg);
}
#menu__toggle:checked ~ .menu__box {
  visibility: visible;
  left: 0;
}

.menu__btn {
  display: flex;
  align-items: center;
  position: fixed;
  top: 25px;
  left: 25px;
  width: 26px;
  height: 26px;
  cursor: pointer;
  z-index: 1;
}

.menu__btn > span,
.menu__btn > span::before,
.menu__btn > span::after {
  display: block;
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: #6e5938;
  transition-duration: .25s;
}
.menu__btn > span::before {
  content: '';
  top: -8px;
}
.menu__btn > span::after {
  content: '';
  top: 8px;
}

.menu__box {
  display: block;
  position: fixed;
  visibility: hidden;
  top: 0;
  left: -100%;
  max-width: 40%;
  height: 100%;
  margin: 0;
  padding: 80px 0;
  list-style: none;
  background-color: #ECEFF1;
  box-shadow: 1px 0px 6px rgba(0, 0, 0, .2);
  transition-duration: .25s;
}

.menu__item {
  display: block;
  padding: 20px 24px;
  color: #6e5938;
  font-family: "ff-dax-pro-wide", sans-serif;
  font-size: 1.5em;
  font-weight: 300;
  text-decoration: none;
  transition-duration: .25s;
}
.menu__item:hover {
  background-color:rgba(38, 55, 96, .2);
  color:#263760;
}


/* HERO VIDEO */

.hero{
position:relative;
height:90vh;
overflow:hidden;
margin-top:1%;
}

.hero video{
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
min-width:80%;
min-height:80%;
object-fit:cover;
} 

.hero img{
position:absolute;
width: 100%;
height: auto;
object-fit:cover;
margin-top:5%;	
}

.hero-text{
position: fixed;
top:50vh;
left:-10em;
transform:rotate(-90deg);
}

.hero-text h1{
font-weight: 100;
font-size: 1.5em;
color:#263760;
}

/* INTRO TEXT */

.intro{
padding:5% 20%;
width: 90%;	
font-size:1.5em;
line-height:1.75;
color: #6e5938;
}	
	
.intro h1{
font-size:4.25em;
line-height: 0.95;
color:#263760;
font-weight: 100;	
}

.intro h2{
font-size:1.5em;
padding-bottom: 2%;
padding-top: 2%;	
font-weight: 100;	
text-transform: uppercase;
}
.intro a{
text-decoration:none;
color:#263760;
font-weight:400;
}	

/* HOLIDU/BUCHUNGEN */

.holidu{
padding:5% 0% 5% 20%;
}	

.holidu h1{
font-size:4.0em;
line-height: 1.0;
color:#263760;
font-weight: 100;	
}

.holidu h2{
font-size:1.5em;
padding-bottom: 2%;
padding-top: 2%;	
font-weight: 100;	
text-transform: uppercase;
}

.holidu p{
font-size:1.5em;
width:65%;	
line-height:1.55;
color: #6e5938;
}	

.holidu img{
width: 80%;
padding-bottom: 10%;	
}

.buttonholidu {
	display: inline-block;
	margin-top: 1em;
	margin-left: 0%;
	padding: 0.5em 1em;
	transition: all .3s;
	text-decoration: none;
	letter-spacing: .05em;
	background: #263760;
	color: #fff;
	font-size: 1.2em;
	border-radius: 3em;
}

.buttonholidu:hover {
	outline: none;
	background: #6e5938;
	color: #fff;
}


/* FERIENHAUS/FERIENWOHNUNGEN */

.ferienhaus{
background:#f5f5f5;
padding:0.5em 0;
text-align:left;
color: #6e5938;
}

.ferienhaus h2{
margin-bottom:5%;
color: #6e5938;
text-transform: uppercase;
font-size:2.5em;
font-weight: 100;		
}

.ferienhaus p{
width: 90%;	
margin:1% 0;
padding-left: 20%;	
font-size:1.2em;
line-height:2.6;	
}
	
.ferienhaus a{
text-decoration:none;
color:#263760;
font-weight:100;
}	


/* IMAGE GRID */

.gallery{
padding:60px 10%;
display:grid;
grid-template-columns:repeat(3, 1fr);
gap:20px;
}

.gallery img{
width:100%;
height:100%;
object-fit:cover;
}


/* CONTACT */

.contact{
background:#f5f5f5;
padding:60px 10%;
text-align:center;
color: #6e5938;

}

.contact h2{
margin-bottom:5%;
color: #6e5938;
text-transform: uppercase;
font-size:2.5em;
font-weight: 100;		

}

.contact p{
margin:1% 0;
font-weight: 100;
font-size:1.4em;
line-height:1.6;	
}
	
.contact a{
text-decoration:none;
color:#263760;
font-weight:100;
}	

.contact img{
	width: 40%;
	height: auto;
	margin-top: 10%;
}

/* FOOTER */

footer{
background:#999;
color:lightgray;
text-align:center;
padding:2%;
font-size:0.8em;
}

footer a{
text-decoration:none;
color:lightgray;
}	

.impressum {
width: 90%;
margin: 15% 5% 5% 5%;
color: gray;	
font-weight: 100;	
}

.impressum p{
font-size:1.0em;
line-height:1.4;	
}

.impressum a{
text-decoration:none;
color:#263760;	
}	

/* RESPONSIVE */

@media (max-width:900px){

	
header{
align-items:center;
padding:25px 25px 15px 75px;
}
	
.gallery{
grid-template-columns:repeat(2,1fr);
}

.hero{
height:90vh;
}
	
.hero video{
width: 100%;
height: auto;
margin-top:1%;	
}
	
.hero-text h1{
font-size:1.5em;
}

.logo{
font-size:1.2em;	
}

.intro{
padding:5% 10%;
font-size:1.2em;		
}	
	
.intro h1{
font-size:3.00em;
}

.holidu{
padding:5% 0% 5% 10%;
}	

.holidu h1{
font-size:3.0em;
}

.holidu p{
width: 60%;	
font-size:1.1em;
}	

.buttonholidu {
font-size: 1.1em;
}
	
.ferienhaus p{
width: 80%;
padding-left: 10%;
font-size:1.0em;
line-height:2.6;	
}	
	
.contact p{
font-size:1.2em;
}		
	
.contact img{
width: 75%;
}

.menu__box {
 max-width: 60%;	
}	


	
@media (max-width:600px){

header{
flex-direction:column;
}

nav ul{
flex-direction:column;
align-items:center;
}

.hero{
height:60vh;
}

.hero video{
width: 100%;
height: auto;
}
		
.gallery{
grid-template-columns:1fr;
}

.hero-text h1{
font-size:1.0em;
}

.logo{
font-size:1.2em;	
}

.intro{
padding:5% 10%;
font-size:1.2em;		
}	
	
.intro h1{
font-size:2.00em;
}

.holidu{
padding:5% 0% 5% 10%;
}	

.holidu h1{
font-size:2.0em;
}	
	
	
.contact h2{
font-size:2.0em;
}

.contact p{
font-size:1.2em;
}	

.menu__box {
 max-width: 80%;
}	

.hero-text{
top:40vh;
left:-8.5em;
}	

